predeploy-contracts icon indicating copy to clipboard operation
predeploy-contracts copied to clipboard

Predeploy-contracts

Generate bytecode for predeployment of ERC20 smart contracts in Acala.

Build

Run yarn to install dependencies.

Generate bytecode

To generate bytecode, run yarn run generate-bytecode.

The generated bytecode JSON file would be ./resources/bytecodes.json.

Development

The token list for ERC20 smart contracts is in ./resources/acala_tokens.json and ./resources/karura_tokens.json. symbol and address are needed for each token, for instance:

{
  "symbol": "ACA",
  "address": "0x0000000000000000000100000000000000000000"
}

All of the tokens and predeployed system contracts have generated code in ./contracts/utils/AcalaAddress.sol and ./contracts/utils/AcalaAddress.js for Acala, ./contracts/utils/KaruraAddress.sol and ./contracts/utils/KaruraAddress.js for Karura, we can use it directly.

Predeployed System Contracts

ERC20 Contracts

These ERC20 contracts make native and cross-chain tokens available inside Acala EVM.

  • Mirrored Token contract address: ADDRESS.ACA, ADDRESS.AUSD...(./contracts/utils/AcalaAddress.sol or ./contracts/utils/KaruraAddress.sol)
  • Docs contracts/docs/token/Token.md

Other System Contracts:

These contracts make other chain-native functionalities available in Acala EVM.

EVM

  • EVM contract address: ADDRESS.EVM
  • Docs contracts/docs/evm/EVM.md

Oracle Price Feed

  • Oracle contract address: ADDRESS.ORACLE
  • Docs contracts/docs/oracle/Oracle.md

On-chain Automatic Scheduler

  • ScheduleCall contract address: ADDRESS.SCHEDULE
  • Docs contracts/docs/schdule/Schdule.md

DEX

  • DEX contract address: ADDRESS.DEX
  • Docs contracts/docs/dex/DEX.md

Homa Liquid Staking Protocol

  • Homa contract address: ADDRESS.HOMA
  • Docs contracts/docs/homa/Homa.md

EVM Accounts

  • EVMAccounts contract address: ADDRESS.EVM_ACCOUNTS
  • Docs contracts/docs/evm-accounts/EVMAccounts.md

Honzon Protocol

  • Honzon contract address: ADDRESS.HONZON
  • Docs contracts/docs/honzon/Honzon.md

Incentives

  • Incentives contract address: ADDRESS.INCENTIVES
  • Docs contracts/docs/incentives/Incentives.md

StableAsset

  • StableAsset contract address: ADDRESS.STABLE_ASSET
  • Docs contracts/docs/stable-asset/StableAsset.md

Xtokens

  • Xtokens contract address: ADDRESS.XTOKENS
  • Docs contracts/docs/xtokens/Xtokens.md

DeFi Contracts (Coming Soon)

These contracts will make Acala's DeFi primitives (stablecoin, staking derivative, and DeX) available in Acala EVM.

Verify

npx hardhat run scripts/deploy.ts --network karuraTestnet
npx hardhat verify --network karuraTestnet 0xc5d131D410B15890dAF6F517475C6FB9D0c758DA