Skip to content

Latest commit

 

History

History
187 lines (119 loc) · 7.12 KB

File metadata and controls

187 lines (119 loc) · 7.12 KB

Xtokens

Acala Developers

Xtokens Predeploy Contract

You can use this predeploy contract to call xtokens pallet

This contracts will interact with xtokens pallet

Methods

transfer

function transfer(address currencyId, uint256 amount, bytes dest, bytes weight) external nonpayable returns (bool)

Transfer local assets with given currencyId and Amount.

It'll emit an {TransferredMultiAssets} event.

Parameters

Name Type Description
currencyId address The ERC20 address of the currency we want to transfer, it cannot be the zero address.
amount uint256 The amount of tokens we want to transfer, it cannot be the zero.
dest bytes The dest to which we want to send the tokens. SCALE Encode of VersionedMultiLocation. It cannot be empty. The supported versions depend on the xcm version of node. https://github.com/paritytech/polkadot/blob/3fd99050/xcm/src/lib.rs#L405-L408
weight bytes The dest weight limit. SCALE Encode of WeightLimit, it cannot be empty. https://github.com/paritytech/polkadot/blob/3fd99050/xcm/src/v3/mod.rs#L302-L308

Returns

Name Type Description
_0 bool Returns a boolean value indicating whether the operation succeeded.

transferMultiAsset

function transferMultiAsset(bytes asset, bytes dest, bytes weight) external nonpayable returns (bool)

Transfer MultiAsset assets.

It'll emit an {TransferredMultiAssets} event.

Parameters

Name Type Description
asset bytes The asset we want to transfer. SCALE Encode of VersionedMultiAsset. It cannot be empty. The supported versions depend on the xcm version of node. https://github.com/paritytech/polkadot/blob/3fd99050/xcm/src/lib.rs#L421-L424
dest bytes The dest to which we want to send the tokens. SCALE Encode of VersionedMultiLocation. It cannot be empty. The supported versions depend on the xcm version of node. https://github.com/paritytech/polkadot/blob/3fd99050/xcm/src/lib.rs#L405-L408
weight bytes The dest weight limit. SCALE Encode of WeightLimit. It cannot be empty. https://github.com/paritytech/polkadot/blob/3fd99050/xcm/src/v3/mod.rs#L302-L308

Returns

Name Type Description
_0 bool Returns a boolean value indicating whether the operation succeeded.

transferMultiAssetWithFee

function transferMultiAssetWithFee(bytes asset, bytes fee, bytes dest, bytes weight) external nonpayable returns (bool)

Transfer MultiAsset specifying the fee and amount as separate.

It'll emit an {TransferredMultiAssets} event.

Parameters

Name Type Description
asset bytes The asset we want to transfer. SCALE Encode of VersionedMultiAsset. It cannot be empty. The supported versions depend on the xcm version of node. https://github.com/paritytech/polkadot/blob/3fd99050/xcm/src/lib.rs#L421-L424
fee bytes The fee we want to pay. SCALE Encode of VersionedMultiAsset. It cannot be empty. The supported versions depend on the xcm version of node. https://github.com/paritytech/polkadot/blob/3fd99050/xcm/src/lib.rs#L421-L424
dest bytes The dest to which we want to send the tokens. SCALE Encode of VersionedMultiLocation. It cannot be empty. The supported versions depend on the xcm version of node. https://github.com/paritytech/polkadot/blob/3fd99050/xcm/src/lib.rs#L405-L408
weight bytes The dest weight limit. SCALE Encode of WeightLimit, it cannot be empty. https://github.com/paritytech/polkadot/blob/3fd99050/xcm/src/v3/mod.rs#L302-L308

Returns

Name Type Description
_0 bool Returns a boolean value indicating whether the operation succeeded.

transferMultiAssets

function transferMultiAssets(bytes assets, uint32 feeItem, bytes dest, bytes weight) external nonpayable returns (bool)

Transfer several MultiAsset specifying the item to be used as fee.

It'll emit an {TransferredMultiAssets} event.

Parameters

Name Type Description
assets bytes The assets we want to transfer. SCALE Encode of VersionedMultiAssets It cannot be empty. The supported versions depend on the xcm version of node. https://github.com/paritytech/polkadot/blob/3fd99050/xcm/src/lib.rs#L429-L432
feeItem uint32 The index of the assets that we want to use for payment.
dest bytes The dest to which we want to send the tokens. SCALE Encode of VersionedMultiLocation. It cannot be empty. The supported versions depend on the xcm version of node. https://github.com/paritytech/polkadot/blob/3fd99050/xcm/src/lib.rs#L405-L408
weight bytes The dest weight limit. SCALE Encode of WeightLimit, it cannot be empty. https://github.com/paritytech/polkadot/blob/3fd99050/xcm/src/v3/mod.rs#L302-L308

Returns

Name Type Description
_0 bool Returns a boolean value indicating whether the operation succeeded.

transferMultiCurrencies

function transferMultiCurrencies(IXtokens.Currency[] currencies, uint32 feeItem, bytes dest, bytes weight) external nonpayable returns (bool)

Parameters

Name Type Description
currencies IXtokens.Currency[] undefined
feeItem uint32 undefined
dest bytes undefined
weight bytes undefined

Returns

Name Type Description
_0 bool undefined

transferWithFee

function transferWithFee(address currencyId, uint256 amount, uint256 fee, bytes dest, bytes weight) external nonpayable returns (bool)

Transfer native currencies specifying the fee and amount as separate.

It'll emit an {TransferredMultiAssets} event.

Parameters

Name Type Description
currencyId address The ERC20 address of the currency we want to transfer, it cannot be the zero address.
amount uint256 The amount of tokens we want to transfer, it cannot be the zero.
fee uint256 The fee of tokens we want to pay, it cannot be the zero.
dest bytes The dest to which we want to send the tokens. SCALE Encode of VersionedMultiLocation. It cannot be empty. The supported versions depend on the xcm version of node. https://github.com/paritytech/polkadot/blob/3fd99050/xcm/src/lib.rs#L405-L408
weight bytes The dest weight limit. SCALE Encode of WeightLimit, it cannot be empty. https://github.com/paritytech/polkadot/blob/3fd99050/xcm/src/v3/mod.rs#L302-L308

Returns

Name Type Description
_0 bool Returns a boolean value indicating whether the operation succeeded.

Events

TransferredMultiAssets

event TransferredMultiAssets(address indexed sender, bytes assets, bytes fee, bytes dest)

Transferred MultiAssets event.

Parameters

Name Type Description
sender indexed address The sender who transferred the assets.
assets bytes The transferred assets. SCALE Encode of MultiAssets.
fee bytes The transfer fee. SCALE Encode of MultiAsset.
dest bytes The dest of transferred assets. SCALE Encode of MultiLocation.