Calls

activateDeposits

Activate/deactivate deposits (root only) Namespace
api.tx.erc20Peg.activateDeposits
Type
function activateDeposits(
  activate: bool
)

activateWithdrawals

Activate/deactivate withdrawals (root only) Namespace
api.tx.erc20Peg.activateWithdrawals
Type
function activateWithdrawals(
  activate: bool
)

setErc20AssetMap

Namespace
api.tx.erc20Peg.setErc20AssetMap
Type
function setErc20AssetMap(
  asset_id: u32,
  eth_address: H160
)

setErc20Meta

Namespace
api.tx.erc20Peg.setErc20Meta
Type
function setErc20Meta(
  details: Vec<(H160,Bytes,u8)>
)

setErc20PegAddress

Namespace
api.tx.erc20Peg.setErc20PegAddress
Type
function setErc20PegAddress(
  eth_address: H160
)

setPaymentDelay

Namespace
api.tx.erc20Peg.setPaymentDelay
Type
function setPaymentDelay(
  asset_id: u32,
  min_balance: u128,
  delay: u32
)

setRootPegAddress

Namespace
api.tx.erc20Peg.setRootPegAddress
Type
function setRootPegAddress(
  eth_address: H160
)

withdraw

Namespace
api.tx.erc20Peg.withdraw
Type
function withdraw(
  asset_id: u32,
  amount: u128,
  beneficiary: H160
)

Storage

assetIdToErc20

Map GA asset Id to ERC20 address Namespace
api.query.erc20Peg.assetIdToErc20
Type
function assetIdToErc20(
  u32
): Option<H160>

contractAddress

The peg contract address on Ethereum Namespace
api.query.erc20Peg.contractAddress
Type
function contractAddress(

): H160

delayedPayments

Map from DelayedPaymentId to PendingPayment Namespace
api.query.erc20Peg.delayedPayments
Type
function delayedPayments(
  u64
): Option<PalletErc20PegPendingPayment>

delayedPaymentSchedule

Map from block number to DelayedPaymentIds scheduled for that block Namespace
api.query.erc20Peg.delayedPaymentSchedule
Type
function delayedPaymentSchedule(
  u32
): Vec<u64>

depositsActive

Whether deposit are active Namespace
api.query.erc20Peg.depositsActive
Type
function depositsActive(

): bool

erc20Meta

Metadata for well-known erc20 tokens (symbol, decimals) Namespace
api.query.erc20Peg.erc20Meta
Type
function erc20Meta(
  H160
): Option<(Bytes,u8)>

erc20ToAssetId

Map ERC20 address to GA asset Id Namespace
api.query.erc20Peg.erc20ToAssetId
Type
function erc20ToAssetId(
  H160
): Option<u32>

nextDelayedPaymentId

The next available payment id for withdrawals and deposits Namespace
api.query.erc20Peg.nextDelayedPaymentId
Type
function nextDelayedPaymentId(

): u64

paymentDelay

Map from asset_id to minimum amount and delay Namespace
api.query.erc20Peg.paymentDelay
Type
function paymentDelay(
  u32
): Option<(u128,u32)>

readyBlocks

The blocks with payments that are ready to be processed Namespace
api.query.erc20Peg.readyBlocks
Type
function readyBlocks(

): Vec<u32>

rootPegContractAddress

The ROOT peg contract address on Ethereum Namespace
api.query.erc20Peg.rootPegContractAddress
Type
function rootPegContractAddress(

): H160

withdrawalsActive

Whether withdrawals are active Namespace
api.query.erc20Peg.withdrawalsActive
Type
function withdrawalsActive(

): bool

Events

DelayedErc20DepositFailed

A delayed erc20 deposit has failed (payment_id, beneficiary) Namespace
api.events.erc20Peg.DelayedErc20DepositFailed
Type
type DelayedErc20DepositFailed = {
  param0: u64,
  param1: SeedPrimitivesSignatureAccountId20
}

DelayedErc20WithdrawalFailed

A delayed erc20 withdrawal has failed (asset_id, beneficiary) Namespace
api.events.erc20Peg.DelayedErc20WithdrawalFailed
Type
type DelayedErc20WithdrawalFailed = {
  param0: u32,
  param1: H160
}

Erc20Deposit

A bridged erc20 deposit succeeded. (asset, amount, beneficiary) Namespace
api.events.erc20Peg.Erc20Deposit
Type
type Erc20Deposit = {
  param0: u32,
  param1: u128,
  param2: SeedPrimitivesSignatureAccountId20
}

Erc20DepositDelayed

An erc20 deposit has been delayed.(payment_id, scheduled block, amount, beneficiary) Namespace
api.events.erc20Peg.Erc20DepositDelayed
Type
type Erc20DepositDelayed = {
  param0: u64,
  param1: u32,
  param2: u128,
  param3: SeedPrimitivesSignatureAccountId20
}

Erc20DepositFail

A bridged erc20 deposit failed. (source address, abi data) Namespace
api.events.erc20Peg.Erc20DepositFail
Type
type Erc20DepositFail = {
  param0: H160,
  param1: Bytes
}

Erc20Withdraw

Tokens were burnt for withdrawal on Ethereum as ERC20s (asset, amount, beneficiary) Namespace
api.events.erc20Peg.Erc20Withdraw
Type
type Erc20Withdraw = {
  param0: u32,
  param1: u128,
  param2: H160
}

Erc20WithdrawalDelayed

A withdrawal has been delayed.(payment_id, scheduled block, amount, beneficiary) Namespace
api.events.erc20Peg.Erc20WithdrawalDelayed
Type
type Erc20WithdrawalDelayed = {
  param0: u64,
  param1: u32,
  param2: u128,
  param3: H160
}

NoAvailableDelayedPaymentIds

There are no more payment ids available, they’ve been exhausted Namespace
api.events.erc20Peg.NoAvailableDelayedPaymentIds
Type
type NoAvailableDelayedPaymentIds = {

}

PaymentDelaySet

A delay was added for an asset_id (asset_id, min_balance, delay) Namespace
api.events.erc20Peg.PaymentDelaySet
Type
type PaymentDelaySet = {
  param0: u32,
  param1: u128,
  param2: u32
}

SetContractAddress

The peg contract address has been set Namespace
api.events.erc20Peg.SetContractAddress
Type
type SetContractAddress = {
  param0: H160
}

SetRootPegContract

The ROOT peg contract address has been set Namespace
api.events.erc20Peg.SetRootPegContract
Type
type SetRootPegContract = {
  param0: H160
}

Errors

CreateAssetFailed

Could not create the bridged asset Namespace
api.errors.erc20Peg.CreateAssetFailed

DepositsPaused

Deposits are inactive Namespace
api.errors.erc20Peg.DepositsPaused

EvmWithdrawalFailed

Withdrawals over the set payment delay for EVM calls are disabled Namespace
api.errors.erc20Peg.EvmWithdrawalFailed

InvalidAbiEncoding

The abi received does not match the encoding scheme Namespace
api.errors.erc20Peg.InvalidAbiEncoding

InvalidAmount

Deposit has bad amount Namespace
api.errors.erc20Peg.InvalidAmount

InvalidPalletId

Could not convert pallet id to account Namespace
api.errors.erc20Peg.InvalidPalletId

InvalidSourceAddress

The peg source address is incorrect for the token being bridged Namespace
api.errors.erc20Peg.InvalidSourceAddress

UnsupportedAsset

Withdrawals of this asset are not supported Namespace
api.errors.erc20Peg.UnsupportedAsset

WithdrawalsPaused

Withdrawals are inactive Namespace
api.errors.erc20Peg.WithdrawalsPaused
undefined