# 启动honzon bridge
## 参数
1. 从 Karura 累计可跨 1.1M KUSD 到 Acala (Acala需增发110w AUSD用作backup)
2. 从 Acala 累计可跨 450K AUSD 到 Karura (Karura需增发45w KUSD用作backup)
## 准备工作
1. 确认 karura 的waUSD erc20 地址
> 0xe20683ad1ed8bbeed7e1ae74be10f19d8045b530 waUSD on karura-mainnet.
2. 确认 karura 的honzon-bridge系统账户HonzonBridgeAccount 地址
> qmmNufxeWaAUy6KGcxwC3u3EagHc9G9mbhHuxEaefbfXg3V
3. 确认 karura 的honzon-bridge系统账户HonzonBridgeAccount 对应的 evm 地址
> 0x5b828c28C334EcB918A8b5405D630349940F347B
4. 确认 karura 上 wormholeBridge 合约地址 及 调用接口
> karura-mainnet contractAddress: `0xae9d7fe007b3327AA64A32824Aaac52C42a6E624`
> function: `transferTokens(address token,uint256 amount,uint16 recipientChain,bytes32 recipient,uint256 arbiterFee,uint32 nonce) `
> function: `completeTransfer(bytes memory encodedVm)`
5. 确认 acala 上 wormholeBridge 合约地址 及 调用接口
> acala-mainnet contractAddress: `0xae9d7fe007b3327AA64A32824Aaac52C42a6E624`
> function: `transferTokens(address token,uint256 amount,uint16 recipientChain,bytes32 recipient,uint256 arbiterFee,uint32 nonce) `
> function: `completeTransfer(bytes memory encodedVm)`
6. 确认 acala 的 honzon treasury 地址 23M5ttkmR6Kco5uGj64jEZbG6PYyZSwvjeoeUVTMqQEG71yu(暂时存放mint出来的aUSD)
7. 确认 acala 上 aUSD 的ERC20合约地址 及 调用接口
> 0x0000000000000000000100000000000000000001
8. In wormhole, Karura chain id:11, Acala chain id:12
### Karura/Acala wormhole 测试网:
1. `0x8dbaeafafc5f899ea9f3126018439aa99f359883` waUSD on karura-dev.
2. `qmmNufxeWaAUy6KGcxwC3u3EagHc9G9mbhHuxEaefbfXg3V`
3. `0x5b828c28C334EcB918A8b5405D630349940F347B`
4.
> karura-dev contractAddress: `0xd11De1f930eA1F7Dd0290Fe3a2e35b9C91AEFb37`
> function: `transferTokens(address token,uint256 amount,uint16 recipientChain,bytes32 recipient,uint256 arbiterFee,uint32 nonce) `
> function: `completeTransfer(bytes memory encodedVm)`
5.
> acala-dev contractAddress: `0xebA00cbe08992EdD08ed7793E07ad6063c807004`
> function: `transferTokens(address token,uint256 amount,uint16 recipientChain,bytes32 recipient,uint256 arbiterFee,uint32 nonce) `
> function: `completeTransfer(bytes memory encodedVm)`
6.
7. `0x0000000000000000000100000000000000000001`
### 参考链接
#### Karura
approve:
https://blockscout.karura.network/tx/0x9868c50ea60338faff7dbf6d7df825cfeb576f1c05450f37cf00344f4a31ada2/internal-transactions
transferTokens:
https://blockscout.karura.network/tx/0x7b63d794308c1f9c51c2421e15b73e78ece52049f198dce78d7b7737897a83b5/token-transfers
completeTransfer:
https://blockscout.karura.network/tx/0xffdee3cc54532290f2b1dd3a96db5a4d444e0f89d5daa860d047020fe7d7ac39/token-transfers
#### Acala
approve:
https://blockscout.acala.network/tx/0x364aeee6c80491742abda9242cbc48abc3f77e7aab1fca8ef0322c466846d736/internal-transactions
transferTokens:
https://blockscout.acala.network/tx/0x8f734d61abf9f84143471501da13d395bba31858faebd9e4a83b878c72512ee6/token-transfers
completeTransfer:
https://blockscout.acala.network/tx/0x4f6377610504bc6f61d39a8e6fc744ee58d93a48c31e77a9379cb772593b7db9/token-transfers
## 流程
### 1. Acala 公投, proposal batch call
1. mint `110w AUSD` 给 【国库地址】
2. dispatch as 【国库地址】,调用evm call: `aUSD.approve(wormholeBridge合约地址, 110w)`
3. dispatch as 【国库地址】,调用 evm call:`wormholeBridge.tokenTransfer(karura-chain, 110w, honzon-bridge系统账户HonzonBridgeAccount 对应的 evm 地址)`
batch call:
`0x03020c0c02006d6f646c6163612f687a7472000000000000000000000000000000000000000000010000ee042cfc430f0000000000000000030300016d6f646c6163612f687a74720000000000000000000000000000000000000000820100000000000000000001000000000000000000011101095ea7b3000000000000000000000000ae9d7fe007b3327aa64a32824aaac52c42a6e6240000000000000000000000000000000000000000000000000f43fc2c04ee0000009eda0200010100030300016d6f646c6163612f687a747200000000000000000000000000000000000000008201ae9d7fe007b3327aa64a32824aaac52c42a6e62411030f5287b000000000000000000000000000000000000000000001000000000000000000010000000000000000000000000000000000000000000000000f43fc2c04ee0000000000000000000000000000000000000000000000000000000000000000000b0000000000000000000000005b828c28c334ecb918a8b5405d630349940f347b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ae52010000aefc08000000`
### 2. Karura 公投
1. mint `45w KUSD` 给 `honzon-bridge系统账户HonzonBridgeAccount`
call:
`0x0c02006d6f646c6163612f687a6267000000000000000000000000000000000000000000810000eda49db83e060000000000000000`
### 3. 执行 karura 上wormholeBridge合约的completeTransfer
Redeem: dispatch as ??? , 调用karura 上 wormholeBridge合约的completeTransfer(可以用wormhole-relayer完成redeem)
### 4. council 开启开关
设置wormhole的`waUSD erc20 地址`(honzonBridge.setBridgedStableCoinAddress) // 启用开关,确保这一步是最后执行的
## 结果
`honzon-bridge系统账户HonzonBridgeAccount` 持有 45w KUSD 和 110w waUSD