1
1
package config
2
2
3
3
import (
4
- "fmt"
5
4
"os"
6
5
"os/user"
7
6
"path/filepath"
8
- "slices"
9
- "sort"
10
7
"strings"
11
8
12
9
computer "github.com/MixinNetwork/computer/solana"
13
- "github.com/MixinNetwork/safe/keeper"
14
- "github.com/MixinNetwork/safe/observer"
15
- "github.com/MixinNetwork/safe/signer"
16
10
"github.com/pelletier/go-toml"
17
11
)
18
12
19
13
type Configuration struct {
20
- Signer * signer.Configuration `toml:"signer"`
21
- Keeper * keeper.Configuration `toml:"keeper"`
22
- Observer * observer.Configuration `toml:"observer"`
23
14
Computer * computer.Configuration `toml:"computer"`
24
15
Dev * DevConfig `toml:"dev"`
25
16
}
@@ -39,183 +30,5 @@ func ReadConfiguration(path, role string) (*Configuration, error) {
39
30
return nil , err
40
31
}
41
32
handleDevConfig (conf .Dev )
42
- conf .checkMainnet (role )
43
- conf .checkTestnet (role )
44
33
return & conf , nil
45
34
}
46
-
47
- func (c * Configuration ) checkMainnet (role string ) {
48
- switch role {
49
- case "signer" :
50
- case "keeper" :
51
- case "observer" :
52
- case "computer" :
53
- default :
54
- panic (role )
55
- }
56
- if c .Dev != nil && c .Dev .Network != MainNetworkName {
57
- return
58
- }
59
-
60
- const (
61
- SignerAppId = "bdee2414-045b-31b7-b8a7-7998b36f5c93"
62
- KeeperAppId = "ac495e24-72a5-3c53-aa33-8f90cf007b9d"
63
- SignerToken = "a946936b-1b52-3e02-aec6-4fbccf284d5f"
64
- KeeperToken = "8205ed7b-d108-30c6-9121-e4b83eecef09"
65
- ObserverToken = "90f4351b-29b6-3b47-8b41-7efcec3c6672"
66
- )
67
-
68
- signers := []string {
69
- "a4930d3e-4783-4ccd-ae3e-f6651b5583c7" ,
70
- "2cf5645b-5c52-42e4-8c67-ed5164cfe8eb" ,
71
- "335654a7-986d-4600-ab89-b624e9998f36" ,
72
- "3d963e3c-2dd3-4902-b340-e8394d62ad0f" ,
73
- "ed3d5824-87e4-4060-b347-90b3a3aa16fb" ,
74
- "a8327607-724d-45d4-afca-339d33219d1a" ,
75
- "9ad6076e-c79d-4571-b29a-4671262c2538" ,
76
- "b1081493-d702-43e1-8051-cec283e9898f" ,
77
- "f5a9bf39-2e3d-49d9-bbfc-144aaf209157" ,
78
- "bfe8c7b9-58a3-4d2d-92b4-ba5b67eb1a42" ,
79
- "da9bdc94-a446-422c-ab90-8ab9c5bb8bc7" ,
80
- "9fcdea14-03d1-49f1-af97-4079c9551777" ,
81
- "8cf9b500-0bc8-408e-890b-41873e162345" ,
82
- "72b336e4-1e05-477a-8254-2f02a6249ffd" ,
83
- "5ae7f5cf-26b8-4ea6-b031-2bf3af09da57" ,
84
- "18f2c8ad-ac9b-4a6f-a074-240bfacbe58b" ,
85
- "21da6e56-f335-45c4-a838-9a0139fe7269" ,
86
- "83170828-5bd8-491d-9bb0-f1af072c305b" ,
87
- "40032eda-126b-44f2-bfb9-76da965cf0c2" ,
88
- "fb264547-198d-4877-9ef9-66f6b3f4e3d7" ,
89
- "a3a68c12-2407-4c3b-ad5d-5c37a3d29b1a" ,
90
- "77a3a6fe-fc4c-4035-8409-0f4b5daba51d" ,
91
- "1e3c4323-207d-4d7b-bcd6-21b35d02bdb7" ,
92
- "fca01bd7-3e87-4d9e-bf88-cbd8f642cc16" ,
93
- "7552beb9-4a7b-4cbb-a026-f4db1d86cbf9" ,
94
- "575ede5a-4802-42e8-81b1-6b2e2ef187d8" ,
95
- "07775ff6-bb41-4fbd-9f81-8e600898ee6e" ,
96
- }
97
- keepers := append (signers , "c91eb626-eb89-4fbd-ae21-76f0bd763da5" )
98
-
99
- if role == "signer" {
100
- s := c .Signer
101
- assert (s .AppId , SignerAppId , "signer.app-id" )
102
- assert (s .KeeperAppId , KeeperAppId , "signer.keeper-app-id" )
103
- assert (s .AssetId , SignerToken , "signer.asset-id" )
104
- assert (s .KeeperAssetId , KeeperToken , "signer.keeper-asset-id" )
105
-
106
- assert (s .MTG .Genesis .Epoch , uint64 (15903300 ), "signer.genesis.epoch" )
107
- assert (s .MTG .Genesis .Threshold , int (19 ), "signer.genesis.threshold" )
108
- if ! slices .Equal (s .MTG .Genesis .Members , signers ) {
109
- panic ("signers" )
110
- }
111
-
112
- sort .Strings (c .Signer .MTG .Genesis .Members )
113
- }
114
-
115
- if role == "keeper" {
116
- k := c .Keeper
117
- assert (k .AppId , KeeperAppId , "keeper.app-id" )
118
- assert (k .SignerAppId , SignerAppId , "keeper.signer-app-id" )
119
- assert (k .AssetId , KeeperToken , "keeper.asset-id" )
120
- assert (k .ObserverAssetId , ObserverToken , "keeper.observer-asset-id" )
121
- assert (k .PolygonFactoryAddress , "0x4D17777E0AC12C6a0d4DEF1204278cFEAe142a1E" , "keeper.polygon-factory-address" )
122
- assert (k .PolygonObserverDepositEntry , "0x4A2eea63775F0407E1f0d147571a46959479dE12" , "keeper.polygon-observer-deposit-entry" )
123
- assert (k .PolygonKeeperDepositEntry , "0x5A3A6E35038f33458c13F3b5349ee5Ae1e94a8d9" , "keeper.polygon-keeper-deposity-entry" )
124
-
125
- assert (k .MTG .Genesis .Epoch , uint64 (15903300 ), "keeper.genesis.epoch" )
126
- assert (k .MTG .Genesis .Threshold , int (19 ), "keeper.genesis.threshold" )
127
- if ! slices .Equal (k .MTG .Genesis .Members , keepers ) {
128
- panic ("keepers" )
129
- }
130
-
131
- sort .Strings (c .Keeper .MTG .Genesis .Members )
132
- }
133
-
134
- if role == "observer" {
135
- o := c .Observer
136
- assert (o .KeeperAppId , KeeperAppId , "observer.keeper-app-id" )
137
- assert (o .Timestamp , int64 (1721930640000000000 ), "observer.timestamp" )
138
- assert (o .AssetId , ObserverToken , "observer.asset-id" )
139
- assert (o .PolygonFactoryAddress , "0x4D17777E0AC12C6a0d4DEF1204278cFEAe142a1E" , "observer.polygon-factory-address" )
140
- assert (o .PolygonObserverDepositEntry , "0x4A2eea63775F0407E1f0d147571a46959479dE12" , "observer.polygon-observer-deposit-entry" )
141
- assert (o .PolygonKeeperDepositEntry , "0x5A3A6E35038f33458c13F3b5349ee5Ae1e94a8d9" , "observer.polygon-keeper-deposity-entry" )
142
- }
143
- }
144
-
145
- func (c * Configuration ) checkTestnet (role string ) {
146
- switch role {
147
- case "signer" :
148
- case "keeper" :
149
- case "observer" :
150
- case "computer" :
151
- default :
152
- panic (role )
153
- }
154
- if c .Dev == nil || c .Dev .Network != TestNetworkName {
155
- return
156
- }
157
-
158
- SignerAppId := "01fff6be-5ace-30d1-89b1-00af0a20fe6b"
159
- KeeperAppId := "7a1a7f4b-4ff3-3e2a-ae10-e6b81c066ba1"
160
- SignerToken := "153a900b-ed21-376a-8419-7582840a308c"
161
- KeeperToken := "edcf2f60-c256-3693-a1cc-9e75e87e23c5"
162
- ObserverToken := "5ee8ddb6-de43-33b8-a758-e32f908a3096"
163
- signers := []string {
164
- "71b72e67-3636-473a-9ee4-db7ba3094057" ,
165
- "148e696f-f1db-4472-a907-ceea50c5cfde" ,
166
- "c9a9a719-4679-4057-bcf0-98945ed95a81" ,
167
- "b45dcee0-23d7-4ad1-b51e-c681a257c13e" ,
168
- }
169
- keepers := append (signers , "fcb87491-4fa0-4c2f-b387-262b63cbc112" )
170
-
171
- if role == "signer" {
172
- s := c .Signer
173
- assert (s .AppId , SignerAppId , "signer.app-id" )
174
- assert (s .KeeperAppId , KeeperAppId , "signer.keeper-app-id" )
175
- assert (s .AssetId , SignerToken , "signer.asset-id" )
176
- assert (s .KeeperAssetId , KeeperToken , "signer.keeper-asset-id" )
177
-
178
- assert (s .MTG .Genesis .Epoch , uint64 (9877485 ), "signer.genesis.epoch" )
179
- assert (s .MTG .Genesis .Threshold , int (4 ), "signer.genesis.threshold" )
180
- if ! slices .Equal (s .MTG .Genesis .Members , signers ) {
181
- panic ("signers" )
182
- }
183
-
184
- sort .Strings (c .Signer .MTG .Genesis .Members )
185
- }
186
-
187
- if role == "keeper" {
188
- k := c .Keeper
189
- assert (k .AppId , KeeperAppId , "keeper.app-id" )
190
- assert (k .SignerAppId , SignerAppId , "keeper.signer-app-id" )
191
- assert (k .AssetId , KeeperToken , "keeper.asset-id" )
192
- assert (k .ObserverAssetId , ObserverToken , "keeper.observer-asset-id" )
193
- assert (k .PolygonFactoryAddress , "0x4D17777E0AC12C6a0d4DEF1204278cFEAe142a1E" , "keeper.polygon-factory-address" )
194
- assert (k .PolygonObserverDepositEntry , "0x9d04735aaEB73535672200950fA77C2dFC86eB21" , "keeper.polygon-observer-deposit-entry" )
195
- assert (k .PolygonKeeperDepositEntry , "0x11EC02748116A983deeD59235302C3139D6e8cdD" , "keeper.polygon-keeper-deposity-entry" )
196
-
197
- assert (k .MTG .Genesis .Epoch , uint64 (9877485 ), "keeper.genesis.epoch" )
198
- assert (k .MTG .Genesis .Threshold , int (4 ), "keeper.genesis.threshold" )
199
- if ! slices .Equal (k .MTG .Genesis .Members , keepers ) {
200
- panic ("keepers" )
201
- }
202
-
203
- sort .Strings (c .Keeper .MTG .Genesis .Members )
204
- }
205
-
206
- if role == "observer" {
207
- o := c .Observer
208
- assert (o .KeeperAppId , KeeperAppId , "observer.keeper-app-id" )
209
- assert (o .Timestamp , int64 (1721930640000000000 ), "observer.timestamp" )
210
- assert (o .AssetId , ObserverToken , "observer.asset-id" )
211
- assert (o .PolygonFactoryAddress , "0x4D17777E0AC12C6a0d4DEF1204278cFEAe142a1E" , "observer.polygon-factory-address" )
212
- assert (o .PolygonObserverDepositEntry , "0x9d04735aaEB73535672200950fA77C2dFC86eB21" , "observer.polygon-observer-deposit-entry" )
213
- assert (o .PolygonKeeperDepositEntry , "0x11EC02748116A983deeD59235302C3139D6e8cdD" , "observer.polygon-keeper-deposity-entry" )
214
- }
215
- }
216
-
217
- func assert (a , b any , name string ) {
218
- if a != b {
219
- panic (fmt .Sprintf ("%s %v != %v" , name , a , b ))
220
- }
221
- }
0 commit comments