predeploy-contracts
                                
                                
                                
                                    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.solor./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