# @acala-network/contracts

> AcalaNetwork Smart Contract library for Solidity

Latest version **4.5.0** (published 2023-11-06) · MIT license · 0 weekly downloads

## Install

```sh
npm install @acala-network/contracts
pnpm add @acala-network/contracts
yarn add @acala-network/contracts
bun add @acala-network/contracts
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 4.5.0 |
| Published | 2023-11-06 |
| First published | 2021-03-02 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 1.7 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 19 |
| Maintainers | shunjizhan, xlc, aniiantt, ermal.kaleci, qwer951123 |
| Keywords | smart, solidity, contracts, AcalaNetwork |

## Links

- npm: https://www.npmjs.com/package/@acala-network/contracts
- Repository: https://github.com/AcalaNetwork/predeploy-contracts
- Issues: https://github.com/AcalaNetwork/predeploy-contracts/issues
- npm.io page: https://npm.io/package/@acala-network/contracts

## Alternatives

- [@sindresorhus/slugify](https://npm.io/package/@sindresorhus/slugify.md) — 3.7M weekly downloads
- [solid-js](https://npm.io/package/solid-js.md) — 2.7M weekly downloads
- [expo-glass-effect](https://npm.io/package/expo-glass-effect.md) — 2.5M weekly downloads
- [nanoassert](https://npm.io/package/nanoassert.md) — 780.8K weekly downloads
- [@ffmpeg/ffmpeg](https://npm.io/package/@ffmpeg/ffmpeg.md) — 529.5K weekly downloads

## Recent versions

- 4.5.0 (latest) — 2023-11-06
- 4.4.1 — 2023-08-01
- 4.4.0 — 2023-07-13
- 4.3.9 — 2023-06-17
- 4.3.8 — 2023-06-14
- 4.3.7 — 2023-04-04
- 4.3.6 — 2023-03-24
- 4.3.5 — 2023-03-24
- 2.3.4 — 2022-08-11
- 3.3.4 — 2022-08-11
- 4.3.4 — 2022-08-11
- 2.3.3 — 2022-07-27
- 3.3.3 — 2022-07-27
- 4.3.3 — 2022-07-27
- 3.3.2 — 2022-07-06
- … 48 more at https://npm.io/package/@acala-network/contracts/versions

## README

# 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](./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](./contracts/docs/evm/EVM.md)

### Oracle Price Feed
- Oracle contract address: `ADDRESS.ORACLE`
- Docs [contracts/docs/oracle/Oracle.md](./contracts/docs/oracle/Oracle.md)

### On-chain Automatic Scheduler
- ScheduleCall contract address: `ADDRESS.SCHEDULE`
- Docs [contracts/docs/schdule/Schdule.md](./contracts/docs/schdule/Schdule.md)

### DEX
- DEX contract address: `ADDRESS.DEX`
- Docs [contracts/docs/dex/DEX.md](./contracts/docs/dex/DEX.md)

### Homa Liquid Staking Protocol
- Homa contract address: `ADDRESS.HOMA`
- Docs [contracts/docs/homa/Homa.md](./contracts/docs/homa/Homa.md)

### EVM Accounts
- EVMAccounts contract address: `ADDRESS.EVM_ACCOUNTS`
- Docs [contracts/docs/evm-accounts/EVMAccounts.md](./contracts/docs/evm-accounts/EVMAccounts.md)

### Honzon Protocol
- Honzon contract address: `ADDRESS.HONZON`
- Docs [contracts/docs/honzon/Honzon.md](./contracts/docs/honzon/Honzon.md)

### Incentives
- Incentives contract address: `ADDRESS.INCENTIVES`
- Docs [contracts/docs/incentives/Incentives.md](./contracts/docs/incentives/Incentives.md)

### StableAsset
- StableAsset contract address: `ADDRESS.STABLE_ASSET`
- Docs [contracts/docs/stable-asset/StableAsset.md](./contracts/docs/stable-asset/StableAsset.md)

### Xtokens
- Xtokens contract address: `ADDRESS.XTOKENS`
- Docs [contracts/docs/xtokens/Xtokens.md](./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
```

---
_Source: https://npm.io/package/@acala-network/contracts · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
