Skip to content

Latest commit

 

History

History
76 lines (59 loc) · 4.07 KB

File metadata and controls

76 lines (59 loc) · 4.07 KB

Use Native & Cross-chain Tokens

Smart Contract Dapps deployed in Acala EVM can directly use native and cross-chain assets such as DOT, ACA, aUSD, renBTC, etc. ERC-20 tokens deployed in EVM can also be made available at runtime level, to be listed in the DeX, or (by governance approval) to be used as fee tokens. Read more here.

ERC20 Contract Addresses

Token Ticker ER20 Address
ACA 0x0000000000000000000000000000000001000000
AUSD 0x0000000000000000000000000000000001000001
DOT 0x0000000000000000000000000000000001000002
LDOT 0x0000000000000000000000000000000001000003
XBTC 0x0000000000000000000000000000000001000004
RENBTC 0x0000000000000000000000000000000001000005
POLKABTC 0x0000000000000000000000000000000001000006
PLM 0x0000000000000000000000000000000001000007
PHA 0x0000000000000000000000000000000001000008
HDT 0x0000000000000000000000000000000001000009
KAR 0x0000000000000000000000000000000001000080
KUSD 0x0000000000000000000000000000000001000081
KSM 0x0000000000000000000000000000000001000082
LKSM 0x0000000000000000000000000000000001000083
SDN 0x0000000000000000000000000000000001000087
Oracle 0x0000000000000000000000000000000000000801
Schedule 0x0000000000000000000000000000000000000802

Contract Methods

// Returns the currencyId of the token.
function currencyId() public view returns (uint256);

// Returns the name of the token.
function name() public view returns (string memory);

// Returns the symbol of the token, usually a shorter version of the name.
function symbol() public view returns (string memory);

// Returns the number of decimals used to get its user representation.
function decimals() public view returns (uint8);

// Returns the amount of tokens in existence.
function totalSupply() public view returns (uint256);

// Returns the amount of tokens owned by `account`.
function balanceOf(address account) public view returns (uint256);

// Moves `amount` tokens from the caller's account to `recipient`.
// Returns a boolean value indicating whether the operation succeeded.
// Emits a {Transfer} event.
function transfer(address recipient, uint256 amount) public returns (bool);

// Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. 
// This is zero by default.
function allowance(address owner, address spender) public view returns (uint256);

// Sets `amount` as the allowance of `spender` over the caller's tokens.
// Returns a boolean value indicating whether the operation succeeded.
function approve(address spender, uint256 amount) public returns (bool);

// Moves `amount` tokens from `sender` to `recipient` using the allowance mechanism. `amount` is then deducted from the caller's allowance.
// Returns a boolean value indicating whether the operation succeeded.
function transferFrom(address sender, address recipient, uint256 amount) public returns (bool);

// Atomically increases the allowance granted to `spender` by the caller.
// This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}.
// Emits an {Approval} event indicating the updated allowance.
function increaseAllowance(address spender, uint256 addedValue) public returns (bool);

// Atomically decreases the allowance granted to `spender` by the caller.
// This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}.
// Emits an {Approval} event indicating the updated allowance.
function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool);

More details and source code here.