Skip to main content

Erc20Peg

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