- [x] Deploy Hoodi Tokens
- [x] Deploy Europa Tokens
- [x] Deploy Europa Wrappers
- [x] Deploy Nebula Tokens
- [x] Deploy Calypso Tokens
- [ ] Prepare Token Mappings
- [ ] Submit Token Mappings
- [ ] Run Tests
## Hoodi Addresses
USDC: 0x0449f4Bf31f64f7C8A35332aFB091d0c51a22c8b
USDT: 0x88b4DA9D5044c33Ec8919D6E16395e0a50B79aA3
SKL: 0x461145f2888B1b56a1ef5Ff6eE00d75a65fCc6F6
## Europa Addresses
USDC: 0x9eAb55199f4481eCD7659540A17Af618766b07C4
USDT: 0xc841fbaF982cf4546a9f552EF37b134F2D87F6DB
SKL: 0xB9AcaEe79C46FFc102BA7E3fB057880A9301ac44
wUSDC: 0x3748FB339ab9B53ba1a380DB1CE0221C62DA3c6f
wUSDT: 0xba03F5a1C216D7dC93624D5Ad82C92E2000b4787
wSKL: 0x9034bD74Dc574d4b68bA4a971463397cf6C404e0
## Nebula Addresses
USDC: 0x6ab391237A6A207BBFa3648743260B02622303D2
USDT: 0x5A5fbF6e386C0c0Dbd962e7FA28C64f702f3F085
SKL: 0xb7d990b996E1c639E16e459dDACCe64236C7796B
## Calypso Addresses
USDC: 0xbA9E8905F3c3C576f048eEbB3431ede0d5D27682
USDT: 0x4a4957e463439df0f9a32231884bd31b9C016C41
SKL: 0x54C6c4bE7f1d1520C1bdDC07445601a5899EDD78
### Mapping Data
#### SKL on Europa to Hoodi SKL
**Command**
```shell
npx msig encodeData juicy-low-small-testnet TokenManagerERC20 addERC20TokenByOwner Mainnet 0x461145f2888B1b56a1ef5Ff6eE00d75a65fCc6F6 0xB9AcaEe79C46FFc102BA7E3fB057880A9301ac44
```
**Output**
```
0x9448920200000561bf78bd39c8e04acfad7995005495094c7d395d405c3288f009efc402000000000000000000000000d2c0deface00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000d2aaa005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4eafd15c80000000000000000000000000000000000000000000000000000000000000060000000000000000000000000461145f2888b1b56a1ef5ff6ee00d75a65fcc6f6000000000000000000000000b9acaee79c46ffc102ba7e3fb057880a9301ac4400000000000000000000000000000000000000000000000000000000000000074d61696e6e65740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
```
#### USDT on Europa to Hoodi USDT
**Command**
```shell
npx msig encodeData juicy-low-small-testnet TokenManagerERC20 addERC20TokenByOwner Mainnet 0x88b4DA9D5044c33Ec8919D6E16395e0a50B79aA3 0xc841fbaF982cf4546a9f552EF37b134F2D87F6DB
```
**Output**
```
0x9448920200000561bf78bd39c8e04acfad7995005495094c7d395d405c3288f009efc402000000000000000000000000d2c0deface00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000d2aaa005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4eafd15c8000000000000000000000000000000000000000000000000000000000000006000000000000000000000000088b4da9d5044c33ec8919d6e16395e0a50b79aa3000000000000000000000000c841fbaf982cf4546a9f552ef37b134f2d87f6db00000000000000000000000000000000000000000000000000000000000000074d61696e6e65740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
```
#### USDC on Europa to Hoodi USDC
**Command**
```shell
npx msig encodeData juicy-low-small-testnet TokenManagerERC20 addERC20TokenByOwner Mainnet 0x0449f4Bf31f64f7C8A35332aFB091d0c51a22c8b 0x9eAb55199f4481eCD7659540A17Af618766b07C4
```
**Output**
```
0x9448920200000561bf78bd39c8e04acfad7995005495094c7d395d405c3288f009efc402000000000000000000000000d2c0deface00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000d2aaa005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4eafd15c800000000000000000000000000000000000000000000000000000000000000600000000000000000000000000449f4bf31f64f7c8a35332afb091d0c51a22c8b0000000000000000000000009eab55199f4481ecd7659540a17af618766b07c400000000000000000000000000000000000000000000000000000000000000074d61696e6e65740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
```
#### SKL on Nebula to Europa wSKL
**Command**
```shell
npx msig encodeData lanky-ill-funny-testnet TokenManagerERC20 addERC20TokenByOwner juicy-low-small-testnet 0x9034bD74Dc574d4b68bA4a971463397cf6C404e0 0xb7d990b996E1c639E16e459dDACCe64236C7796B
```
**Output**
```
0x94489202000000235ddd06f50cf4b3d38abfe92d8bd31cdbcfe7c2facac6529ec8b40aa4000000000000000000000000d2c0deface00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000d2aaa005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4eafd15c800000000000000000000000000000000000000000000000000000000000000600000000000000000000000009034bd74dc574d4b68ba4a971463397cf6c404e0000000000000000000000000b7d990b996e1c639e16e459ddacce64236c7796b00000000000000000000000000000000000000000000000000000000000000176a756963792d6c6f772d736d616c6c2d746573746e657400000000000000000000000000000000000000000000000000000000000000000000000000
```
#### USDT on Nebula to Europa wUSDT
**Command**
```shell
npx msig encodeData lanky-ill-funny-testnet TokenManagerERC20 addERC20TokenByOwner juicy-low-small-testnet 0xba03F5a1C216D7dC93624D5Ad82C92E2000b4787 0x5A5fbF6e386C0c0Dbd962e7FA28C64f702f3F085
```
**Output**
```
0x94489202000000235ddd06f50cf4b3d38abfe92d8bd31cdbcfe7c2facac6529ec8b40aa4000000000000000000000000d2c0deface00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000d2aaa005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4eafd15c80000000000000000000000000000000000000000000000000000000000000060000000000000000000000000ba03f5a1c216d7dc93624d5ad82c92e2000b47870000000000000000000000005a5fbf6e386c0c0dbd962e7fa28c64f702f3f08500000000000000000000000000000000000000000000000000000000000000176a756963792d6c6f772d736d616c6c2d746573746e657400000000000000000000000000000000000000000000000000000000000000000000000000
```
#### USDC on Nebula to Europa wUSDC
**Command**
```shell
npx msig encodeData lanky-ill-funny-testnet TokenManagerERC20 addERC20TokenByOwner juicy-low-small-testnet 0x3748FB339ab9B53ba1a380DB1CE0221C62DA3c6f 0x6ab391237A6A207BBFa3648743260B02622303D2
```
**Output**
```
0x94489202000000235ddd06f50cf4b3d38abfe92d8bd31cdbcfe7c2facac6529ec8b40aa4000000000000000000000000d2c0deface00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000d2aaa005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4eafd15c800000000000000000000000000000000000000000000000000000000000000600000000000000000000000003748fb339ab9b53ba1a380db1ce0221c62da3c6f0000000000000000000000006ab391237a6a207bbfa3648743260b02622303d200000000000000000000000000000000000000000000000000000000000000176a756963792d6c6f772d736d616c6c2d746573746e657400000000000000000000000000000000000000000000000000000000000000000000000000
```
#### SKL on Calypso to Europa wSKL
**Command**
```shell
npx msig encodeData giant-half-dual-testnet TokenManagerERC20 addERC20TokenByOwner juicy-low-small-testnet 0x9034bD74Dc574d4b68bA4a971463397cf6C404e0 0x54C6c4bE7f1d1520C1bdDC07445601a5899EDD78
```
**Output**
```
0x94489202000003a14269b5397ec105bb61686794d2f28b732327aca5ede1834df80763d5000000000000000000000000d2c0deface00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000d2aaa005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4eafd15c800000000000000000000000000000000000000000000000000000000000000600000000000000000000000009034bd74dc574d4b68ba4a971463397cf6c404e000000000000000000000000054c6c4be7f1d1520c1bddc07445601a5899edd7800000000000000000000000000000000000000000000000000000000000000176a756963792d6c6f772d736d616c6c2d746573746e657400000000000000000000000000000000000000000000000000000000000000000000000000
```
#### USDT on Calypso to Europa wUSDT
**Command**
```shell
npx msig encodeData giant-half-dual-testnet TokenManagerERC20 addERC20TokenByOwner juicy-low-small-testnet 0xba03F5a1C216D7dC93624D5Ad82C92E2000b4787 0x4a4957e463439df0f9a32231884bd31b9C016C41
```
**Output**
```
0x94489202000003a14269b5397ec105bb61686794d2f28b732327aca5ede1834df80763d5000000000000000000000000d2c0deface00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000d2aaa005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4eafd15c80000000000000000000000000000000000000000000000000000000000000060000000000000000000000000ba03f5a1c216d7dc93624d5ad82c92e2000b47870000000000000000000000004a4957e463439df0f9a32231884bd31b9c016c4100000000000000000000000000000000000000000000000000000000000000176a756963792d6c6f772d736d616c6c2d746573746e657400000000000000000000000000000000000000000000000000000000000000000000000000
```
#### USDC on Calypso to Europa wUSDC
**Command**
```shell
npx msig encodeData giant-half-dual-testnet TokenManagerERC20 addERC20TokenByOwner juicy-low-small-testnet 0x3748FB339ab9B53ba1a380DB1CE0221C62DA3c6f 0xbA9E8905F3c3C576f048eEbB3431ede0d5D27682
```
**Output**
```
0x94489202000003a14269b5397ec105bb61686794d2f28b732327aca5ede1834df80763d5000000000000000000000000d2c0deface00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000d2aaa005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4eafd15c800000000000000000000000000000000000000000000000000000000000000600000000000000000000000003748fb339ab9b53ba1a380db1ce0221c62da3c6f000000000000000000000000ba9e8905f3c3c576f048eebb3431ede0d5d2768200000000000000000000000000000000000000000000000000000000000000176a756963792d6c6f772d736d616c6c2d746573746e657400000000000000000000000000000000000000000000000000000000000000000000000000
```
## Submitting the Transactions
1. Input depositBoxERC20 address into the `to field`: 0xf4991d74A0d7d0793c51Df2324aF7393CB262f2c
2. Use implementation ABI: https://github.com/skalenetwork/skale-network/blob/ae74347c4ad2153966cac97db12e58985e80dccd/releases/hoodi/ima-contracts/1.5.0/mainnet/ima.json#L3466
3. Call addERC20TokenByOwner for each of the above Hoodi tokens with the following inputs:
1. juicy-low-small-testnet
2. <token-address-on-hoodi>
4. Set `to address` to messageProxyForMainnetAddress: 0x6c0d044a2C5Bcaff75C8ad7894d8b454b005F4D2
5. For each of the above outputs -> set value to 0, and add the custom data
6. Submit 1 batch at the end