https://github.com/acalanetwork/asset-router
https://github.com/acalanetwork/asset-router
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/acalanetwork/asset-router
- Owner: AcalaNetwork
- Created: 2023-02-21T21:57:10.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2024-11-07T08:30:50.000Z (7 months ago)
- Last Synced: 2025-04-10T21:09:51.823Z (about 1 month ago)
- Language: Solidity
- Size: 3.67 MB
- Stars: 0
- Watchers: 4
- Forks: 2
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Audit: audit reports/SlowMist Audit Report - asset-router.pdf
Awesome Lists containing this project
README
# asset-router
## Develop with Foundry
- install [foundry](https://book.getfoundry.sh/getting-started/installation#installation) if you haven't.- install deps
```
foundryup
```- build
```
forge build
```- test
```
forge test
```## Run with Hardhat
- install deps
```
yarn
```- build
```
yarn build
```### wormhole router
- deploy fee and factory
this is optional, since there already exist [deployed instances](./scripts/utils.ts)
```
$ yarn hardhat run scripts/deploy-fee.ts --network karuraTestnet
feeRegistry address: 0x109FdB5a8f3EC051C21B3482ac89599e7D76561C$ yarn hardhat run scripts/deploy-factory.ts --network karuraTestnet
factory address: 0x6e29385677E28eE3Df7d0E87e285291F197A6FF3
remember to publish it!
// then manually publish factory contract
```- run the wormhole routing flow on karura testnet
```
$ yarn hardhat run scripts/route-wormhole.ts --network karuraTestnetsetup finished
{
deployerAddr: '0x75E480dB528101a381Ce68544611C169Ad7EB342',
userAddr: '0x0085560b24769dAC4ed057F1B2ae40746AA9aAb6',
relayerAddr: '0x0294350d7cF2C145446358B6461C1610927B3A87',
factoryAddr: '0x6e29385677E28eE3Df7d0E87e285291F197A6FF3',
usdtAddr: '0x478dEFc2Fc2be13a505dafBDF1e5400847E2efF6',
feeRegistryAddr: '0x109FdB5a8f3EC051C21B3482ac89599e7D76561C',
routerFee: '0.0002'
}{ predictedRouterAddr: '0x694BaB061e5eBa2ad91F870f0304E471f7a237EC' }
init state { deployer: '0.7327', user: '0.096', relayer: '0.0', router: '0.0' }
user xcming token to router ...
after user xcm to router { deployer: '0.7327', user: '0.095', relayer: '0.0', router: '0.001' }
deploying router and route ...
after router deposit to wormhole { deployer: '0.7327', user: '0.095', relayer: '0.0002', router: '0.0' }
token bridged to wormhole!
Redeem at https://wormhole-foundation.github.io/example-token-bridge-ui/#/redeem with txHash 0xc3a811f9d6302f0e9a3ccd0f432acb2de84d6ab9d687ff984881493b6bae23cd
```### xcm router
- run the xcm routing flow on karura testnet
```
$ yarn hardhat test test/xcm-route.test.ts --network karuraTestnetXcmRouter
usdc address: 0xE5BA1e8E6BBbdC8BbC72A58d68E74B13FcD6e4c7
feeRegistry address: 0x8dA2DebebFE5cCe133a80e7114621192780765BB
factory address: 0xfa62f1874aec14f7ba37723a65ca89a710c80f6c
xTokens address: 0x0000000000000000000000000000000000000809
token decimals: 6
router fee: 0.0002
{ predictedRouterAddr: '0x8cE61c252eCC083751f29FB13E452879307022d2' }
✔ predict router address (113ms)-------------------- init state --------------------
{ deployerBal: 1.837, relayerBal: 0.0014, routerBal: 0, userBal: 0 }
✔ init state (338ms)-------------------- after wormhole withdraw to router --------------------
{ deployerBal: 1.827, relayerBal: 0.0014, routerBal: 0.01, userBal: 0 }
✔ after wormhole withdraw to router (12927ms)-------------------- after router xcm to user --------------------
{ deployerBal: 1.827, relayerBal: 0.0016, routerBal: 0, userBal: 0 }
✔ after router xcm to user (49972ms)
```## homa router
- start a local acala fork
```
npx @acala-network/chopsticks@latest -c chopsticks/configs/acala.yml
```- start a local rpc adapter
```
npx @acala-network/eth-rpc-adapter@latest -e ws://localhost:8000
```- upgrade predeployed contracts with sudo (temp)
- run tests
```
yarn hardhat test test/homa-router.test.ts --network acalaFork
```