Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions chain-extensions/src/mock.rs
Original file line number Diff line number Diff line change
Expand Up @@ -311,6 +311,7 @@ parameter_types! {
pub const InitialTxChildKeyTakeRateLimit: u64 = 1; // 1 block take rate limit for testing
pub const InitialBurn: u64 = 0;
pub const InitialMinBurn: u64 = 500_000;
pub const InitialMinStake: u64 = 2_000_000;
pub const InitialMaxBurn: u64 = 1_000_000_000;
pub const MinBurnUpperBound: TaoBalance = TaoBalance::new(1_000_000_000); // 1 TAO
pub const MaxBurnLowerBound: TaoBalance = TaoBalance::new(100_000_000); // 0.1 TAO
Expand Down Expand Up @@ -398,6 +399,7 @@ impl pallet_subtensor::Config for Test {
type InitialBurn = InitialBurn;
type InitialMaxBurn = InitialMaxBurn;
type InitialMinBurn = InitialMinBurn;
type InitialMinStake = InitialMinStake;
type MinBurnUpperBound = MinBurnUpperBound;
type MaxBurnLowerBound = MaxBurnLowerBound;
type InitialRAORecycledForRegistration = InitialRAORecycledForRegistration;
Expand Down
2 changes: 1 addition & 1 deletion contract-tests/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

21 changes: 11 additions & 10 deletions contract-tests/test/alphaPool.test.ts
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
import * as assert from "assert";
import * as chai from "chai";
import { devnet } from "@polkadot-api/descriptors";
import { u8aToHex } from "@polkadot/util";
import { getDevnetApi, getRandomSubstrateKeypair } from "../src/substrate"
import { generateRandomEthersWallet, getPublicClient } from "../src/utils";
import { ETH_LOCAL_URL } from "../src/config";
import { devnet } from "@polkadot-api/descriptors"
import { PublicClient } from "viem";
import * as assert from "assert";
import { ethers } from "ethers";
import { TypedApi } from "polkadot-api";
import { ALPHA_POOL_CONTRACT_ABI, ALPHA_POOL_CONTRACT_BYTECODE } from "../src/contracts/alphaPool";
import { PublicClient } from "viem";
import { convertH160ToPublicKey, convertH160ToSS58, convertPublicKeyToSs58, toViemAddress } from "../src/address-utils";
import { forceSetBalanceToEthAddress, disableWhiteListCheck, addNewSubnetwork, forceSetBalanceToSs58Address, startCall, burnedRegister, getStake } from "../src/subtensor";
import { ethers } from "ethers"
import { tao } from "../src/balance-math";
import { ETH_LOCAL_URL } from "../src/config";
import { ALPHA_POOL_CONTRACT_ABI, ALPHA_POOL_CONTRACT_BYTECODE } from "../src/contracts/alphaPool";
import { ISTAKING_V2_ADDRESS, IStakingV2ABI } from "../src/contracts/staking";
import { getDevnetApi, getRandomSubstrateKeypair } from "../src/substrate";
import { addNewSubnetwork, burnedRegister, disableWhiteListCheck, forceSetBalanceToEthAddress, forceSetBalanceToSs58Address, getStake, startCall } from "../src/subtensor";
import { generateRandomEthersWallet, getPublicClient } from "../src/utils";
// import { KeyPair } from "@polkadot-labs/hdkd-helpers";
describe("bridge token contract deployment", () => {
// init eth part
Expand All @@ -29,6 +28,8 @@ describe("bridge token contract deployment", () => {
publicClient = await getPublicClient(ETH_LOCAL_URL)
api = await getDevnetApi()

let value = await api.constants.SubtensorModule.InitialMinStake;

await forceSetBalanceToSs58Address(api, convertPublicKeyToSs58(hotkey.publicKey))
await forceSetBalanceToSs58Address(api, convertPublicKeyToSs58(coldkey.publicKey))
await addNewSubnetwork(api, hotkey, coldkey)
Expand Down
24 changes: 12 additions & 12 deletions contract-tests/yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,10 @@
dependencies:
"@jridgewell/trace-mapping" "0.3.9"

"@esbuild/darwin-arm64@0.25.12":
"@esbuild/linux-x64@0.25.12":
version "0.25.12"
resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz"
integrity sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==
resolved "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz"
integrity sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==

"@ethereumjs/rlp@^10.0.0":
version "10.1.0"
Expand Down Expand Up @@ -255,7 +255,7 @@
integrity sha512-cgA9fh8dfBai9b46XaaQmj9vwzyHStQjc/xrAvQksgF6SqvZ0yAfxVqLvGrsz/Xi3dsAdKLg09PybC7MUAMv9w==

"@polkadot-api/descriptors@file:.papi/descriptors":
version "0.1.0-autogenerated.5063582544821983772"
version "0.1.0-autogenerated.9947536328969970535"
resolved "file:.papi/descriptors"

"@polkadot-api/ink-contracts@^0.4.1", "@polkadot-api/ink-contracts@>=0.4.0", "@polkadot-api/ink-contracts@0.4.3":
Expand Down Expand Up @@ -950,10 +950,15 @@
tslib "^2.8.0"
ws "^8.18.0"

"@rollup/rollup-darwin-arm64@4.53.3":
"@rollup/rollup-linux-x64-gnu@4.53.3":
version "4.53.3"
resolved "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.53.3.tgz"
integrity sha512-Nr7SlQeqIBpOV6BHHGZgYBuSdanCXuw09hon14MGOLGmXAFYjx1wNvquVPmpZnl0tLjg25dEdr4IQ6GgyToCUA==
resolved "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.53.3.tgz"
integrity sha512-3EhFi1FU6YL8HTUJZ51imGJWEX//ajQPfqWLI3BQq4TlvHy4X0MOr5q3D2Zof/ka0d5FNdPwZXm3Yyib/UEd+w==

"@rollup/rollup-linux-x64-musl@4.53.3":
version "4.53.3"
resolved "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.53.3.tgz"
integrity sha512-eoROhjcc6HbZCJr+tvVT8X4fW3/5g/WkGvvmwz/88sDtSJzO7r/blvoBDgISDiCjDRZmHpwud7h+6Q9JxFwq1Q==

"@rx-state/core@^0.1.4":
version "0.1.4"
Expand Down Expand Up @@ -1655,11 +1660,6 @@ fs.promises.exists@^1.1.4:
resolved "https://registry.npmjs.org/fs.promises.exists/-/fs.promises.exists-1.1.4.tgz"
integrity sha512-lJzUGWbZn8vhGWBedA+RYjB/BeJ+3458ljUfmplqhIeb6ewzTFWNPCR1HCiYCkXV9zxcHz9zXkJzMsEgDLzh3Q==

fsevents@~2.3.2:
version "2.3.3"
resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz"
integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==

function-bind@^1.1.2:
version "1.1.2"
resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz"
Expand Down
2 changes: 2 additions & 0 deletions eco-tests/src/mock.rs
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,7 @@ parameter_types! {
pub const InitialTxChildKeyTakeRateLimit: u64 = 1; // 1 block take rate limit for testing
pub const InitialBurn: u64 = 0;
pub const InitialMinBurn: u64 = 500_000;
pub const InitialMinStake: u64 = 2_000_000;
pub const InitialMaxBurn: u64 = 1_000_000_000;
pub const MinBurnUpperBound: TaoBalance = TaoBalance::new(1_000_000_000); // 1 TAO
pub const MaxBurnLowerBound: TaoBalance = TaoBalance::new(100_000_000); // 0.1 TAO
Expand Down Expand Up @@ -281,6 +282,7 @@ impl pallet_subtensor::Config for Test {
type InitialBurn = InitialBurn;
type InitialMaxBurn = InitialMaxBurn;
type InitialMinBurn = InitialMinBurn;
type InitialMinStake = InitialMinStake;
type MinBurnUpperBound = MinBurnUpperBound;
type MaxBurnLowerBound = MaxBurnLowerBound;
type InitialRAORecycledForRegistration = InitialRAORecycledForRegistration;
Expand Down
2 changes: 2 additions & 0 deletions pallets/admin-utils/src/tests/mock.rs
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,7 @@ parameter_types! {
pub const InitialTxChildKeyTakeRateLimit: u64 = 0; // Disable rate limit for testing
pub const InitialBurn: TaoBalance = TaoBalance::new(0);
pub const InitialMinBurn: TaoBalance = TaoBalance::new(500_000);
pub const InitialMinStake: TaoBalance = TaoBalance::new(2_000_000);
pub const InitialMaxBurn: TaoBalance = TaoBalance::new(1_000_000_000);
pub const MinBurnUpperBound: TaoBalance = TaoBalance::new(1_000_000_000); // 1 TAO
pub const MaxBurnLowerBound: TaoBalance = TaoBalance::new(100_000_000); // 0.1 TAO
Expand Down Expand Up @@ -205,6 +206,7 @@ impl pallet_subtensor::Config for Test {
type InitialBurn = InitialBurn;
type InitialMaxBurn = InitialMaxBurn;
type InitialMinBurn = InitialMinBurn;
type InitialMinStake = InitialMinStake;
type MinBurnUpperBound = MinBurnUpperBound;
type MaxBurnLowerBound = MaxBurnLowerBound;
type InitialRAORecycledForRegistration = InitialRAORecycledForRegistration;
Expand Down
2 changes: 1 addition & 1 deletion pallets/subtensor/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -998,7 +998,7 @@ pub mod pallet {
/// Default minimum stake.
#[pallet::type_value]
pub fn DefaultMinStake<T: Config>() -> TaoBalance {
2_000_000.into()
T::InitialMinStake::get().into()
}

/// Default unicode vector for tau symbol.
Expand Down
3 changes: 3 additions & 0 deletions pallets/subtensor/src/macros/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,9 @@ mod config {
/// Initial Min Burn.
#[pallet::constant]
type InitialMinBurn: Get<TaoBalance>;
/// Initial minimum stake.
#[pallet::constant]
type InitialMinStake: Get<TaoBalance>;
/// Min burn upper bound.
#[pallet::constant]
type MinBurnUpperBound: Get<TaoBalance>;
Expand Down
2 changes: 2 additions & 0 deletions pallets/subtensor/src/tests/mock.rs
Original file line number Diff line number Diff line change
Expand Up @@ -210,6 +210,7 @@ parameter_types! {
pub const InitialTxChildKeyTakeRateLimit: u64 = 1; // 1 block take rate limit for testing
pub const InitialBurn: u64 = 0;
pub const InitialMinBurn: u64 = 500_000;
pub const InitialMinStake: u64 = 2_000_000;
pub const InitialMaxBurn: u64 = 1_000_000_000;
pub const MinBurnUpperBound: TaoBalance = TaoBalance::new(1_000_000_000); // 1 TAO
pub const MaxBurnLowerBound: TaoBalance = TaoBalance::new(100_000_000); // 0.1 TAO
Expand Down Expand Up @@ -297,6 +298,7 @@ impl crate::Config for Test {
type InitialBurn = InitialBurn;
type InitialMaxBurn = InitialMaxBurn;
type InitialMinBurn = InitialMinBurn;
type InitialMinStake = InitialMinStake;
type MinBurnUpperBound = MinBurnUpperBound;
type MaxBurnLowerBound = MaxBurnLowerBound;
type InitialRAORecycledForRegistration = InitialRAORecycledForRegistration;
Expand Down
2 changes: 2 additions & 0 deletions pallets/subtensor/src/tests/mock_high_ed.rs
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,7 @@ parameter_types! {
pub const InitialTxChildKeyTakeRateLimit: u64 = 1; // 1 block take rate limit for testing
pub const InitialBurn: u64 = 0;
pub const InitialMinBurn: u64 = 500_000;
pub const InitialMinStake: u64 = 2_000_000;
pub const InitialMaxBurn: u64 = 1_000_000_000;
pub const MinBurnUpperBound: TaoBalance = TaoBalance::new(1_000_000_000); // 1 TAO
pub const MaxBurnLowerBound: TaoBalance = TaoBalance::new(100_000_000); // 0.1 TAO
Expand Down Expand Up @@ -257,6 +258,7 @@ impl crate::Config for Test {
type InitialBurn = InitialBurn;
type InitialMaxBurn = InitialMaxBurn;
type InitialMinBurn = InitialMinBurn;
type InitialMinStake = InitialMinStake;
type MinBurnUpperBound = MinBurnUpperBound;
type MaxBurnLowerBound = MaxBurnLowerBound;
type InitialRAORecycledForRegistration = InitialRAORecycledForRegistration;
Expand Down
2 changes: 2 additions & 0 deletions pallets/transaction-fee/src/tests/mock.rs
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,7 @@ parameter_types! {
pub const InitialTxChildKeyTakeRateLimit: u64 = 0; // Disable rate limit for testing
pub const InitialBurn: TaoBalance = TaoBalance::new(0);
pub const InitialMinBurn: TaoBalance = TaoBalance::new(500_000);
pub const InitialMinStake: TaoBalance = TaoBalance::new(2_000_000);
pub const InitialMaxBurn: TaoBalance = TaoBalance::new(1_000_000_000);
pub const MinBurnUpperBound: TaoBalance = TaoBalance::new(1_000_000_000); // 1 TAO
pub const MaxBurnLowerBound: TaoBalance = TaoBalance::new(100_000_000); // 0.1 TAO
Expand Down Expand Up @@ -277,6 +278,7 @@ impl pallet_subtensor::Config for Test {
type InitialBurn = InitialBurn;
type InitialMaxBurn = InitialMaxBurn;
type InitialMinBurn = InitialMinBurn;
type InitialMinStake = InitialMinStake;
type MinBurnUpperBound = MinBurnUpperBound;
type MaxBurnLowerBound = MaxBurnLowerBound;
type InitialRAORecycledForRegistration = InitialRAORecycledForRegistration;
Expand Down
2 changes: 2 additions & 0 deletions precompiles/src/mock.rs
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,7 @@ parameter_types! {
pub const InitialTxChildKeyTakeRateLimit: u64 = 0;
pub const InitialBurn: TaoBalance = TaoBalance::new(0);
pub const InitialMinBurn: TaoBalance = TaoBalance::new(500_000);
pub const InitialMinStake: TaoBalance = TaoBalance::new(2_000_000);
pub const InitialMaxBurn: TaoBalance = TaoBalance::new(1_000_000_000);
pub const MinBurnUpperBound: TaoBalance = TaoBalance::new(1_000_000_000);
pub const MaxBurnLowerBound: TaoBalance = TaoBalance::new(100_000_000);
Expand Down Expand Up @@ -457,6 +458,7 @@ impl pallet_subtensor::Config for Runtime {
type InitialBurn = InitialBurn;
type InitialMaxBurn = InitialMaxBurn;
type InitialMinBurn = InitialMinBurn;
type InitialMinStake = InitialMinStake;
type MinBurnUpperBound = MinBurnUpperBound;
type MaxBurnLowerBound = MaxBurnLowerBound;
type InitialRAORecycledForRegistration = InitialRAORecycledForRegistration;
Expand Down
2 changes: 2 additions & 0 deletions runtime/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1105,6 +1105,7 @@ parameter_types! {
pub const SubtensorInitialServingRateLimit: u64 = 50;
pub const SubtensorInitialBurn: TaoBalance = TaoBalance::new(100_000_000); // 0.1 tao
pub const SubtensorInitialMinBurn: TaoBalance = TaoBalance::new(500_000); // 500k RAO
pub const SubtensorInitialMinStake: TaoBalance = TaoBalance::new(2_000_000); // 0.002 tao
pub const SubtensorInitialMaxBurn: TaoBalance = TaoBalance::new(100_000_000_000); // 100 tao
pub const MinBurnUpperBound: TaoBalance = TaoBalance::new(1_000_000_000); // 1 TAO
pub const MaxBurnLowerBound: TaoBalance = TaoBalance::new(100_000_000); // 0.1 TAO
Expand Down Expand Up @@ -1179,6 +1180,7 @@ impl pallet_subtensor::Config for Runtime {
type InitialBurn = SubtensorInitialBurn;
type InitialMaxBurn = SubtensorInitialMaxBurn;
type InitialMinBurn = SubtensorInitialMinBurn;
type InitialMinStake = SubtensorInitialMinStake;
type MinBurnUpperBound = MinBurnUpperBound;
type MaxBurnLowerBound = MaxBurnLowerBound;
type InitialTxRateLimit = SubtensorInitialTxRateLimit;
Expand Down
Loading