ZenlinkProtocol¶
Calls¶
add_liquidity¶
See [Pallet::add_liquidity
].
Attributes¶
Name | Type |
---|---|
asset_0 | T::AssetId |
asset_1 | T::AssetId |
amount_0_desired | AssetBalance |
amount_1_desired | AssetBalance |
amount_0_min | AssetBalance |
amount_1_min | AssetBalance |
deadline | BlockNumberFor<T> |
Python¶
call = substrate.compose_call(
'ZenlinkProtocol', 'add_liquidity', {
'amount_0_desired': 'u128',
'amount_0_min': 'u128',
'amount_1_desired': 'u128',
'amount_1_min': 'u128',
'asset_0': {
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
'asset_1': {
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
'deadline': 'u32',
}
)
bootstrap_charge_reward¶
See [Pallet::bootstrap_charge_reward
].
Attributes¶
Name | Type |
---|---|
asset_0 | T::AssetId |
asset_1 | T::AssetId |
charge_rewards | Vec<(T::AssetId, AssetBalance)> |
Python¶
call = substrate.compose_call(
'ZenlinkProtocol', 'bootstrap_charge_reward', {
'asset_0': {
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
'asset_1': {
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
'charge_rewards': [
(
{
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
'u128',
),
],
}
)
bootstrap_claim¶
See [Pallet::bootstrap_claim
].
Attributes¶
Name | Type |
---|---|
recipient | <T::Lookup as StaticLookup>::Source |
asset_0 | T::AssetId |
asset_1 | T::AssetId |
deadline | BlockNumberFor<T> |
Python¶
call = substrate.compose_call(
'ZenlinkProtocol', 'bootstrap_claim', {
'asset_0': {
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
'asset_1': {
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
'deadline': 'u32',
'recipient': {
'Address20': '[u8; 20]',
'Address32': '[u8; 32]',
'Id': 'AccountId',
'Index': 'u32',
'Raw': 'Bytes',
},
}
)
bootstrap_contribute¶
See [Pallet::bootstrap_contribute
].
Attributes¶
Name | Type |
---|---|
asset_0 | T::AssetId |
asset_1 | T::AssetId |
amount_0_contribute | AssetBalance |
amount_1_contribute | AssetBalance |
deadline | BlockNumberFor<T> |
Python¶
call = substrate.compose_call(
'ZenlinkProtocol', 'bootstrap_contribute', {
'amount_0_contribute': 'u128',
'amount_1_contribute': 'u128',
'asset_0': {
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
'asset_1': {
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
'deadline': 'u32',
}
)
bootstrap_create¶
See [Pallet::bootstrap_create
].
Attributes¶
Name | Type |
---|---|
asset_0 | T::AssetId |
asset_1 | T::AssetId |
target_supply_0 | AssetBalance |
target_supply_1 | AssetBalance |
capacity_supply_0 | AssetBalance |
capacity_supply_1 | AssetBalance |
end | BlockNumberFor<T> |
rewards | Vec<T::AssetId> |
limits | Vec<(T::AssetId, AssetBalance)> |
Python¶
call = substrate.compose_call(
'ZenlinkProtocol', 'bootstrap_create', {
'asset_0': {
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
'asset_1': {
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
'capacity_supply_0': 'u128',
'capacity_supply_1': 'u128',
'end': 'u32',
'limits': [
(
{
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
'u128',
),
],
'rewards': [
{
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
],
'target_supply_0': 'u128',
'target_supply_1': 'u128',
}
)
bootstrap_end¶
See [Pallet::bootstrap_end
].
Attributes¶
Name | Type |
---|---|
asset_0 | T::AssetId |
asset_1 | T::AssetId |
Python¶
call = substrate.compose_call(
'ZenlinkProtocol', 'bootstrap_end', {
'asset_0': {
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
'asset_1': {
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
}
)
bootstrap_refund¶
See [Pallet::bootstrap_refund
].
Attributes¶
Name | Type |
---|---|
asset_0 | T::AssetId |
asset_1 | T::AssetId |
Python¶
call = substrate.compose_call(
'ZenlinkProtocol', 'bootstrap_refund', {
'asset_0': {
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
'asset_1': {
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
}
)
bootstrap_update¶
See [Pallet::bootstrap_update
].
Attributes¶
Name | Type |
---|---|
asset_0 | T::AssetId |
asset_1 | T::AssetId |
target_supply_0 | AssetBalance |
target_supply_1 | AssetBalance |
capacity_supply_0 | AssetBalance |
capacity_supply_1 | AssetBalance |
end | BlockNumberFor<T> |
rewards | Vec<T::AssetId> |
limits | Vec<(T::AssetId, AssetBalance)> |
Python¶
call = substrate.compose_call(
'ZenlinkProtocol', 'bootstrap_update', {
'asset_0': {
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
'asset_1': {
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
'capacity_supply_0': 'u128',
'capacity_supply_1': 'u128',
'end': 'u32',
'limits': [
(
{
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
'u128',
),
],
'rewards': [
{
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
],
'target_supply_0': 'u128',
'target_supply_1': 'u128',
}
)
bootstrap_withdraw_reward¶
See [Pallet::bootstrap_withdraw_reward
].
Attributes¶
Name | Type |
---|---|
asset_0 | T::AssetId |
asset_1 | T::AssetId |
recipient | <T::Lookup as StaticLookup>::Source |
Python¶
call = substrate.compose_call(
'ZenlinkProtocol', 'bootstrap_withdraw_reward', {
'asset_0': {
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
'asset_1': {
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
'recipient': {
'Address20': '[u8; 20]',
'Address32': '[u8; 32]',
'Id': 'AccountId',
'Index': 'u32',
'Raw': 'Bytes',
},
}
)
create_pair¶
See [Pallet::create_pair
].
Attributes¶
Name | Type |
---|---|
asset_0 | T::AssetId |
asset_1 | T::AssetId |
Python¶
call = substrate.compose_call(
'ZenlinkProtocol', 'create_pair', {
'asset_0': {
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
'asset_1': {
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
}
)
remove_liquidity¶
See [Pallet::remove_liquidity
].
Attributes¶
Name | Type |
---|---|
asset_0 | T::AssetId |
asset_1 | T::AssetId |
liquidity | AssetBalance |
amount_0_min | AssetBalance |
amount_1_min | AssetBalance |
recipient | <T::Lookup as StaticLookup>::Source |
deadline | BlockNumberFor<T> |
Python¶
call = substrate.compose_call(
'ZenlinkProtocol', 'remove_liquidity', {
'amount_0_min': 'u128',
'amount_1_min': 'u128',
'asset_0': {
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
'asset_1': {
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
'deadline': 'u32',
'liquidity': 'u128',
'recipient': {
'Address20': '[u8; 20]',
'Address32': '[u8; 32]',
'Id': 'AccountId',
'Index': 'u32',
'Raw': 'Bytes',
},
}
)
set_fee_point¶
See [Pallet::set_fee_point
].
Attributes¶
Name | Type |
---|---|
fee_point | u8 |
Python¶
call = substrate.compose_call(
'ZenlinkProtocol', 'set_fee_point', {'fee_point': 'u8'}
)
set_fee_receiver¶
See [Pallet::set_fee_receiver
].
Attributes¶
Name | Type |
---|---|
send_to | Option<<T::Lookup as StaticLookup>::Source> |
Python¶
call = substrate.compose_call(
'ZenlinkProtocol', 'set_fee_receiver', {
'send_to': (
None,
{
'Address20': '[u8; 20]',
'Address32': '[u8; 32]',
'Id': 'AccountId',
'Index': 'u32',
'Raw': 'Bytes',
},
),
}
)
swap_assets_for_exact_assets¶
See [Pallet::swap_assets_for_exact_assets
].
Attributes¶
Name | Type |
---|---|
amount_out | AssetBalance |
amount_in_max | AssetBalance |
path | Vec<T::AssetId> |
recipient | <T::Lookup as StaticLookup>::Source |
deadline | BlockNumberFor<T> |
Python¶
call = substrate.compose_call(
'ZenlinkProtocol', 'swap_assets_for_exact_assets', {
'amount_in_max': 'u128',
'amount_out': 'u128',
'deadline': 'u32',
'path': [
{
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
],
'recipient': {
'Address20': '[u8; 20]',
'Address32': '[u8; 32]',
'Id': 'AccountId',
'Index': 'u32',
'Raw': 'Bytes',
},
}
)
swap_exact_assets_for_assets¶
See [Pallet::swap_exact_assets_for_assets
].
Attributes¶
Name | Type |
---|---|
amount_in | AssetBalance |
amount_out_min | AssetBalance |
path | Vec<T::AssetId> |
recipient | <T::Lookup as StaticLookup>::Source |
deadline | BlockNumberFor<T> |
Python¶
call = substrate.compose_call(
'ZenlinkProtocol', 'swap_exact_assets_for_assets', {
'amount_in': 'u128',
'amount_out_min': 'u128',
'deadline': 'u32',
'path': [
{
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
],
'recipient': {
'Address20': '[u8; 20]',
'Address32': '[u8; 32]',
'Id': 'AccountId',
'Index': 'u32',
'Raw': 'Bytes',
},
}
)
transfer¶
See [Pallet::transfer
].
Attributes¶
Name | Type |
---|---|
asset_id | T::AssetId |
recipient | <T::Lookup as StaticLookup>::Source |
amount | AssetBalance |
Python¶
call = substrate.compose_call(
'ZenlinkProtocol', 'transfer', {
'amount': 'u128',
'asset_id': {
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
'recipient': {
'Address20': '[u8; 20]',
'Address32': '[u8; 32]',
'Id': 'AccountId',
'Index': 'u32',
'Raw': 'Bytes',
},
}
)
Events¶
AssetSwap¶
Transact in trading [owner, recipient, swap_path, balances]
Attributes¶
Name | Type | Composition |
---|---|---|
None | T::AccountId |
AccountId |
None | T::AccountId |
AccountId |
None | Vec<T::AssetId> |
[{'chain_id': 'u32', 'asset_type': 'u8', 'asset_index': 'u64'}] |
None | Vec<AssetBalance> |
['u128'] |
BootstrapClaim¶
Claim a bootstrap pair. [bootstrap_pair_account, claimer, receiver, asset_0, asset_1, asset_0_refund, asset_1_refund, lp_amount]
Attributes¶
Name | Type | Composition |
---|---|---|
None | T::AccountId |
AccountId |
None | T::AccountId |
AccountId |
None | T::AccountId |
AccountId |
None | T::AssetId |
{'chain_id': 'u32', 'asset_type': 'u8', 'asset_index': 'u64'} |
None | T::AssetId |
{'chain_id': 'u32', 'asset_type': 'u8', 'asset_index': 'u64'} |
None | AssetBalance |
u128 |
None | AssetBalance |
u128 |
None | AssetBalance |
u128 |
BootstrapContribute¶
Contribute to bootstrap pair. [who, asset_0, asset_0_contribute, asset_1_contribute]
Attributes¶
Name | Type | Composition |
---|---|---|
None | T::AccountId |
AccountId |
None | T::AssetId |
{'chain_id': 'u32', 'asset_type': 'u8', 'asset_index': 'u64'} |
None | AssetBalance |
u128 |
None | T::AssetId |
{'chain_id': 'u32', 'asset_type': 'u8', 'asset_index': 'u64'} |
None | AssetBalance |
u128 |
BootstrapCreated¶
Create a bootstrap pair. [bootstrap_pair_account, asset_0, asset_1, total_supply_0,total_supply_1, capacity_supply_0,capacity_supply_1, end]
Attributes¶
Name | Type | Composition |
---|---|---|
None | T::AccountId |
AccountId |
None | T::AssetId |
{'chain_id': 'u32', 'asset_type': 'u8', 'asset_index': 'u64'} |
None | T::AssetId |
{'chain_id': 'u32', 'asset_type': 'u8', 'asset_index': 'u64'} |
None | AssetBalance |
u128 |
None | AssetBalance |
u128 |
None | AssetBalance |
u128 |
None | AssetBalance |
u128 |
None | BlockNumberFor<T> |
u32 |
BootstrapEnd¶
A bootstrap pair end. [asset_0, asset_1, asset_0_amount, asset_1_amount, total_lp_supply]
Attributes¶
Name | Type | Composition |
---|---|---|
None | T::AssetId |
{'chain_id': 'u32', 'asset_type': 'u8', 'asset_index': 'u64'} |
None | T::AssetId |
{'chain_id': 'u32', 'asset_type': 'u8', 'asset_index': 'u64'} |
None | AssetBalance |
u128 |
None | AssetBalance |
u128 |
None | AssetBalance |
u128 |
BootstrapRefund¶
Refund from disable bootstrap pair. [bootstrap_pair_account, caller, asset_0, asset_1, asset_0_refund, asset_1_refund]
Attributes¶
Name | Type | Composition |
---|---|---|
None | T::AccountId |
AccountId |
None | T::AccountId |
AccountId |
None | T::AssetId |
{'chain_id': 'u32', 'asset_type': 'u8', 'asset_index': 'u64'} |
None | T::AssetId |
{'chain_id': 'u32', 'asset_type': 'u8', 'asset_index': 'u64'} |
None | AssetBalance |
u128 |
None | AssetBalance |
u128 |
BootstrapUpdate¶
Update a bootstrap pair. [caller, asset_0, asset_1, total_supply_0,total_supply_1, capacity_supply_0,capacity_supply_1]
Attributes¶
Name | Type | Composition |
---|---|---|
None | T::AccountId |
AccountId |
None | T::AssetId |
{'chain_id': 'u32', 'asset_type': 'u8', 'asset_index': 'u64'} |
None | T::AssetId |
{'chain_id': 'u32', 'asset_type': 'u8', 'asset_index': 'u64'} |
None | AssetBalance |
u128 |
None | AssetBalance |
u128 |
None | AssetBalance |
u128 |
None | AssetBalance |
u128 |
None | BlockNumberFor<T> |
u32 |
Burned¶
Some assets were burned. [asset_id, owner, amount]
Attributes¶
Name | Type | Composition |
---|---|---|
None | T::AssetId |
{'chain_id': 'u32', 'asset_type': 'u8', 'asset_index': 'u64'} |
None | T::AccountId |
AccountId |
None | AssetBalance |
u128 |
ChargeReward¶
Charge reward into a bootstrap.
Attributes¶
Name | Type | Composition |
---|---|---|
None | T::AssetId |
{'chain_id': 'u32', 'asset_type': 'u8', 'asset_index': 'u64'} |
None | T::AssetId |
{'chain_id': 'u32', 'asset_type': 'u8', 'asset_index': 'u64'} |
None | T::AccountId |
AccountId |
None | Vec<(T::AssetId, AssetBalance)> |
[({'chain_id': 'u32', 'asset_type': 'u8', 'asset_index': 'u64'}, 'u128')] |
DistributeReward¶
Bootstrap distribute some rewards to contributors.
Attributes¶
Name | Type | Composition |
---|---|---|
None | T::AssetId |
{'chain_id': 'u32', 'asset_type': 'u8', 'asset_index': 'u64'} |
None | T::AssetId |
{'chain_id': 'u32', 'asset_type': 'u8', 'asset_index': 'u64'} |
None | T::AccountId |
AccountId |
None | Vec<(T::AssetId, AssetBalance)> |
[({'chain_id': 'u32', 'asset_type': 'u8', 'asset_index': 'u64'}, 'u128')] |
LiquidityAdded¶
Add liquidity. [owner, asset_0, asset_1, add_balance_0, add_balance_1, mint_balance_lp]
Attributes¶
Name | Type | Composition |
---|---|---|
None | T::AccountId |
AccountId |
None | T::AssetId |
{'chain_id': 'u32', 'asset_type': 'u8', 'asset_index': 'u64'} |
None | T::AssetId |
{'chain_id': 'u32', 'asset_type': 'u8', 'asset_index': 'u64'} |
None | AssetBalance |
u128 |
None | AssetBalance |
u128 |
None | AssetBalance |
u128 |
LiquidityRemoved¶
Remove liquidity. [owner, recipient, asset_0, asset_1, rm_balance_0, rm_balance_1, burn_balance_lp]
Attributes¶
Name | Type | Composition |
---|---|---|
None | T::AccountId |
AccountId |
None | T::AccountId |
AccountId |
None | T::AssetId |
{'chain_id': 'u32', 'asset_type': 'u8', 'asset_index': 'u64'} |
None | T::AssetId |
{'chain_id': 'u32', 'asset_type': 'u8', 'asset_index': 'u64'} |
None | AssetBalance |
u128 |
None | AssetBalance |
u128 |
None | AssetBalance |
u128 |
Minted¶
Some assets were minted. [asset_id, owner, amount]
Attributes¶
Name | Type | Composition |
---|---|---|
None | T::AssetId |
{'chain_id': 'u32', 'asset_type': 'u8', 'asset_index': 'u64'} |
None | T::AccountId |
AccountId |
None | AssetBalance |
u128 |
PairCreated¶
Swap Create a trading pair. [asset_0, asset_1]
Attributes¶
Name | Type | Composition |
---|---|---|
None | T::AssetId |
{'chain_id': 'u32', 'asset_type': 'u8', 'asset_index': 'u64'} |
None | T::AssetId |
{'chain_id': 'u32', 'asset_type': 'u8', 'asset_index': 'u64'} |
Transferred¶
Foreign Asset Some assets were transferred. [asset_id, owner, target, amount]
Attributes¶
Name | Type | Composition |
---|---|---|
None | T::AssetId |
{'chain_id': 'u32', 'asset_type': 'u8', 'asset_index': 'u64'} |
None | T::AccountId |
AccountId |
None | T::AccountId |
AccountId |
None | AssetBalance |
u128 |
TransferredToParachain¶
Transfer by xcm Transferred to parachain. [asset_id, src, para_id, dest, amount, used_weight]
Attributes¶
Name | Type | Composition |
---|---|---|
None | T::AssetId |
{'chain_id': 'u32', 'asset_type': 'u8', 'asset_index': 'u64'} |
None | T::AccountId |
AccountId |
None | ParaId |
u32 |
None | T::AccountId |
AccountId |
None | AssetBalance |
u128 |
None | u64 |
u64 |
WithdrawReward¶
Withdraw all reward from a bootstrap.
Attributes¶
Name | Type | Composition |
---|---|---|
None | T::AssetId |
{'chain_id': 'u32', 'asset_type': 'u8', 'asset_index': 'u64'} |
None | T::AssetId |
{'chain_id': 'u32', 'asset_type': 'u8', 'asset_index': 'u64'} |
None | T::AccountId |
AccountId |
Storage functions¶
BootstrapEndStatus¶
End status of bootstrap
BootstrapEndStatus: map bootstrap pair => pairStatus
Python¶
result = substrate.query(
'ZenlinkProtocol', 'BootstrapEndStatus', [
(
{
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
{
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
),
]
)
Return value¶
{
'Bootstrap': {
'accumulated_supply': ('u128', 'u128'),
'capacity_supply': ('u128', 'u128'),
'end_block_number': 'u32',
'pair_account': 'AccountId',
'target_supply': ('u128', 'u128'),
},
'Disable': None,
'Trading': {'pair_account': 'AccountId', 'total_supply': 'u128'},
}
BootstrapLimits¶
Python¶
result = substrate.query(
'ZenlinkProtocol', 'BootstrapLimits', [
(
{
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
{
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
),
]
)
Return value¶
'scale_info::747'
BootstrapPersonalSupply¶
Python¶
result = substrate.query(
'ZenlinkProtocol', 'BootstrapPersonalSupply', [
(
(
{
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
{
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
),
'AccountId',
),
]
)
Return value¶
('u128', 'u128')
BootstrapRewards¶
Python¶
result = substrate.query(
'ZenlinkProtocol', 'BootstrapRewards', [
(
{
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
{
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
),
]
)
Return value¶
'scale_info::747'
FeeMeta¶
(Option<fee_receiver>, fee_point)
Python¶
result = substrate.query(
'ZenlinkProtocol', 'FeeMeta', []
)
Return value¶
((None, 'AccountId'), 'u8')
ForeignLedger¶
Foreign foreign storage The number of units of assets held by any given account.
Python¶
result = substrate.query(
'ZenlinkProtocol', 'ForeignLedger', [
(
{
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
'AccountId',
),
]
)
Return value¶
'u128'
ForeignList¶
Python¶
result = substrate.query(
'ZenlinkProtocol', 'ForeignList', []
)
Return value¶
[{'asset_index': 'u64', 'asset_type': 'u8', 'chain_id': 'u32'}]
ForeignMeta¶
TWOX-NOTE: AssetId
is trusted, so this is safe.
Python¶
result = substrate.query(
'ZenlinkProtocol', 'ForeignMeta', [
{
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
]
)
Return value¶
'u128'
KLast¶
Refer: https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2Pair.sol#L88 Last unliquidated protocol fee;
Python¶
result = substrate.query(
'ZenlinkProtocol', 'KLast', [
(
{
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
{
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
),
]
)
Return value¶
'scale_info::739'
LiquidityPairs¶
Python¶
result = substrate.query(
'ZenlinkProtocol', 'LiquidityPairs', [
(
{
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
{
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
),
]
)
Return value¶
(None, {'asset_index': 'u64', 'asset_type': 'u8', 'chain_id': 'u32'})
PairStatuses¶
(T::AssetId, T::AssetId) -> PairStatus
Python¶
result = substrate.query(
'ZenlinkProtocol', 'PairStatuses', [
(
{
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
{
'asset_index': 'u64',
'asset_type': 'u8',
'chain_id': 'u32',
},
),
]
)
Return value¶
{
'Bootstrap': {
'accumulated_supply': ('u128', 'u128'),
'capacity_supply': ('u128', 'u128'),
'end_block_number': 'u32',
'pair_account': 'AccountId',
'target_supply': ('u128', 'u128'),
},
'Disable': None,
'Trading': {'pair_account': 'AccountId', 'total_supply': 'u128'},
}
Constants¶
PalletId¶
This pallet id.
Value¶
'0x2f7a656e6c696e6b'
Python¶
constant = substrate.get_constant('ZenlinkProtocol', 'PalletId')
Errors¶
AccountIdBadLocation¶
Location given was invalid or unsupported.
AssetNotExists¶
Asset does not exist.
ChargeRewardParamsError¶
Charge bootstrap extrinsic args has error,
Deadline¶
Transaction block number is larger than the end block number.
DeniedCreatePair¶
Trading pair can't be created.
DeniedTransferToSelf¶
Transfer to self by XCM message.
DenyRefund¶
Bootstrap deny refund
DisableBootstrap¶
Bootstrap is disable
ExcessiveSoldAmount¶
Sold amount is more than exception.
ExecutionFailed¶
XCM execution failed.
ExistRewardsInBootstrap¶
Exist some reward in bootstrap,
IncorrectAssetAmountRange¶
Incorrect foreign amount range.
InsufficientAssetBalance¶
Account balance must be greater than or equal to the transfer amount.
InsufficientLiquidity¶
Liquidity is not enough.
InsufficientPairReserve¶
Trading pair does have enough foreign.
InsufficientTargetAmount¶
Get target amount is less than exception.
InvalidContributionAmount¶
Amount of contribution is invalid.
InvalidFeePoint¶
Invalid fee_point
InvalidPath¶
Can't find pair though trading path.
InvariantCheckFailed¶
Can't pass the K value check
NativeBalanceTooLow¶
Account native currency balance must be greater than ExistentialDeposit.
NoRewardTokens¶
Reward of bootstrap is not set.
NotInBootstrap¶
Pair is not in bootstrap
NotQualifiedAccount¶
Not eligible to contribute
Overflow¶
Overflow.
PairAlreadyExists¶
Trading pair already exists.
PairCreateForbidden¶
Created pair can't create now
PairNotExists¶
Trading pair does not exist.
RequireProtocolAdmin¶
Require the admin who can reset the admin and receiver of the protocol fee.
RequireProtocolAdminCandidate¶
Require the admin candidate who can become new admin after confirm.
TargetChainNotRegistered¶
Not in ZenlinkRegistedParaChains.
UnqualifiedBootstrap¶
Amount of contribution is invalid.
UnsupportedAssetType¶
Unsupported AssetId by this ZenlinkProtocol Version.
ZeroContribute¶
Zero contribute in bootstrap