@arcblock/contracts 0.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +98 -0
- package/lib/abi/ERC20Rollup.json +569 -0
- package/lib/abi/ERC20RollupFactory.json +141 -0
- package/lib/abi/ERC20Token.json +286 -0
- package/lib/abi/MultiSigVault.json +358 -0
- package/lib/abi/MultiSigVaultFactory.json +126 -0
- package/lib/abi/SignerManager.json +362 -0
- package/lib/abi/SignerManagerFactory.json +136 -0
- package/lib/error.js +77 -0
- package/lib/index.js +35 -0
- package/package.json +53 -0
package/README.md
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
## ArcBridge Contracts
|
|
2
|
+
|
|
3
|
+
Solidity contracts that powers ArcBridge.
|
|
4
|
+
|
|
5
|
+
### How to Deploy
|
|
6
|
+
|
|
7
|
+
0. create dotenv file
|
|
8
|
+
1. (optional) deploy token
|
|
9
|
+
2. deploy multisig library
|
|
10
|
+
3. deploy rollup contract
|
|
11
|
+
|
|
12
|
+
### FAQ
|
|
13
|
+
|
|
14
|
+
- How to Deploy? https://github.com/wighawag/hardhat-deploy
|
|
15
|
+
|
|
16
|
+
### Getting Started
|
|
17
|
+
|
|
18
|
+
如果是本地开发环境,需要修改 src/library/ERC20Token.sol,替换其中的 TokenSymbol 为 DEV,然后再部署
|
|
19
|
+
|
|
20
|
+
All following steps with read and write to `.env.dev.tba`.
|
|
21
|
+
|
|
22
|
+
#### 1. Cleanup
|
|
23
|
+
|
|
24
|
+
> Only required if you want a clean setup
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
rm -rf deployments
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
#### 2. Deploy ERC20Token
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
NODE_ENV=dev.tba npm run deploy -- --network goerli --tags token
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
#### 3. Deploy SignerManager Parent
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
NODE_ENV=dev.tba npm run deploy -- --network goerli --tags "signer-parent"
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
#### 4. Deploy SignerManager Factory
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
NODE_ENV=dev.tba npm run deploy -- --network goerli --tags "signer-factory"
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
#### 5. Deploy MultiSigVault Parent
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
NODE_ENV=dev.tba npm run deploy -- --network goerli --tags "vault-parent"
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
#### 6. Deploy MultiSigVault Factory
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
NODE_ENV=dev.tba npm run deploy -- --network goerli --tags "vault-factory"
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
#### 7. Deploy ERC20Rollup Parent
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
NODE_ENV=dev.tba npm run deploy -- --network goerli --tags "rollup-parent"
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
#### 8. Deploy ERC20Rollup Factory
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
NODE_ENV=dev.tba npm run deploy -- --network goerli --tags "rollup-factory"
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
#### 9. Create SignerManager for Vault
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
NODE_ENV=dev.tba ENV_KEY=MULTISIG_VAULT_SIGNER_MANAGER npm run deploy -- --network goerli --tags "signer"
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
#### 10. Create SignerManager for Rollup
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
NODE_ENV=dev.tba ENV_KEY=ERC20_ROLLUP_SIGNER_MANAGER npm run deploy -- --network goerli --tags "signer"
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
#### 11. Create MultiSigVault
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
NODE_ENV=dev.tba npm run deploy -- --network goerli --tags "vault"
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
#### 12. Create ERC20Rollup
|
|
91
|
+
|
|
92
|
+
> Please remember to set `MIGRATED_FROM` and `MIN_SIGNER_COUNT` before deploy.
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
NODE_ENV=dev.tba npm run deploy -- --network goerli --tags "rollup"
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Then you are all set on ethereum test chain.
|