@keep-network/tbtc-v2 0.1.1-dev.1 → 0.1.1-dev.10

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.
@@ -0,0 +1,335 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "Bridge",
4
+ "sourceName": "contracts/bridge/Bridge.sol",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": false,
11
+ "internalType": "bytes32",
12
+ "name": "fundingTxHash",
13
+ "type": "bytes32"
14
+ },
15
+ {
16
+ "indexed": false,
17
+ "internalType": "uint8",
18
+ "name": "fundingOutputIndex",
19
+ "type": "uint8"
20
+ },
21
+ {
22
+ "indexed": false,
23
+ "internalType": "address",
24
+ "name": "depositor",
25
+ "type": "address"
26
+ },
27
+ {
28
+ "indexed": false,
29
+ "internalType": "bytes8",
30
+ "name": "blindingFactor",
31
+ "type": "bytes8"
32
+ },
33
+ {
34
+ "indexed": false,
35
+ "internalType": "bytes20",
36
+ "name": "walletPubKeyHash",
37
+ "type": "bytes20"
38
+ },
39
+ {
40
+ "indexed": false,
41
+ "internalType": "bytes20",
42
+ "name": "refundPubKeyHash",
43
+ "type": "bytes20"
44
+ },
45
+ {
46
+ "indexed": false,
47
+ "internalType": "bytes4",
48
+ "name": "refundLocktime",
49
+ "type": "bytes4"
50
+ },
51
+ {
52
+ "indexed": false,
53
+ "internalType": "address",
54
+ "name": "vault",
55
+ "type": "address"
56
+ }
57
+ ],
58
+ "name": "DepositRevealed",
59
+ "type": "event"
60
+ },
61
+ {
62
+ "anonymous": false,
63
+ "inputs": [
64
+ {
65
+ "indexed": true,
66
+ "internalType": "address",
67
+ "name": "previousOwner",
68
+ "type": "address"
69
+ },
70
+ {
71
+ "indexed": true,
72
+ "internalType": "address",
73
+ "name": "newOwner",
74
+ "type": "address"
75
+ }
76
+ ],
77
+ "name": "OwnershipTransferred",
78
+ "type": "event"
79
+ },
80
+ {
81
+ "anonymous": false,
82
+ "inputs": [
83
+ {
84
+ "indexed": true,
85
+ "internalType": "address",
86
+ "name": "vault",
87
+ "type": "address"
88
+ },
89
+ {
90
+ "indexed": false,
91
+ "internalType": "bool",
92
+ "name": "isTrusted",
93
+ "type": "bool"
94
+ }
95
+ ],
96
+ "name": "VaultStatusUpdated",
97
+ "type": "event"
98
+ },
99
+ {
100
+ "inputs": [
101
+ {
102
+ "internalType": "address",
103
+ "name": "",
104
+ "type": "address"
105
+ }
106
+ ],
107
+ "name": "isVaultTrusted",
108
+ "outputs": [
109
+ {
110
+ "internalType": "bool",
111
+ "name": "",
112
+ "type": "bool"
113
+ }
114
+ ],
115
+ "stateMutability": "view",
116
+ "type": "function"
117
+ },
118
+ {
119
+ "inputs": [],
120
+ "name": "owner",
121
+ "outputs": [
122
+ {
123
+ "internalType": "address",
124
+ "name": "",
125
+ "type": "address"
126
+ }
127
+ ],
128
+ "stateMutability": "view",
129
+ "type": "function"
130
+ },
131
+ {
132
+ "inputs": [],
133
+ "name": "renounceOwnership",
134
+ "outputs": [],
135
+ "stateMutability": "nonpayable",
136
+ "type": "function"
137
+ },
138
+ {
139
+ "inputs": [
140
+ {
141
+ "components": [
142
+ {
143
+ "internalType": "bytes4",
144
+ "name": "version",
145
+ "type": "bytes4"
146
+ },
147
+ {
148
+ "internalType": "bytes",
149
+ "name": "inputVector",
150
+ "type": "bytes"
151
+ },
152
+ {
153
+ "internalType": "bytes",
154
+ "name": "outputVector",
155
+ "type": "bytes"
156
+ },
157
+ {
158
+ "internalType": "bytes4",
159
+ "name": "locktime",
160
+ "type": "bytes4"
161
+ }
162
+ ],
163
+ "internalType": "struct BitcoinTx.Info",
164
+ "name": "fundingTx",
165
+ "type": "tuple"
166
+ },
167
+ {
168
+ "components": [
169
+ {
170
+ "internalType": "uint8",
171
+ "name": "fundingOutputIndex",
172
+ "type": "uint8"
173
+ },
174
+ {
175
+ "internalType": "address",
176
+ "name": "depositor",
177
+ "type": "address"
178
+ },
179
+ {
180
+ "internalType": "bytes8",
181
+ "name": "blindingFactor",
182
+ "type": "bytes8"
183
+ },
184
+ {
185
+ "internalType": "bytes20",
186
+ "name": "walletPubKeyHash",
187
+ "type": "bytes20"
188
+ },
189
+ {
190
+ "internalType": "bytes20",
191
+ "name": "refundPubKeyHash",
192
+ "type": "bytes20"
193
+ },
194
+ {
195
+ "internalType": "bytes4",
196
+ "name": "refundLocktime",
197
+ "type": "bytes4"
198
+ },
199
+ {
200
+ "internalType": "address",
201
+ "name": "vault",
202
+ "type": "address"
203
+ }
204
+ ],
205
+ "internalType": "struct Bridge.RevealInfo",
206
+ "name": "reveal",
207
+ "type": "tuple"
208
+ }
209
+ ],
210
+ "name": "revealDeposit",
211
+ "outputs": [],
212
+ "stateMutability": "nonpayable",
213
+ "type": "function"
214
+ },
215
+ {
216
+ "inputs": [
217
+ {
218
+ "internalType": "address",
219
+ "name": "vault",
220
+ "type": "address"
221
+ },
222
+ {
223
+ "internalType": "bool",
224
+ "name": "isTrusted",
225
+ "type": "bool"
226
+ }
227
+ ],
228
+ "name": "setVaultStatus",
229
+ "outputs": [],
230
+ "stateMutability": "nonpayable",
231
+ "type": "function"
232
+ },
233
+ {
234
+ "inputs": [
235
+ {
236
+ "components": [
237
+ {
238
+ "internalType": "bytes4",
239
+ "name": "version",
240
+ "type": "bytes4"
241
+ },
242
+ {
243
+ "internalType": "bytes",
244
+ "name": "inputVector",
245
+ "type": "bytes"
246
+ },
247
+ {
248
+ "internalType": "bytes",
249
+ "name": "outputVector",
250
+ "type": "bytes"
251
+ },
252
+ {
253
+ "internalType": "bytes4",
254
+ "name": "locktime",
255
+ "type": "bytes4"
256
+ }
257
+ ],
258
+ "internalType": "struct BitcoinTx.Info",
259
+ "name": "sweepTx",
260
+ "type": "tuple"
261
+ },
262
+ {
263
+ "internalType": "bytes",
264
+ "name": "merkleProof",
265
+ "type": "bytes"
266
+ },
267
+ {
268
+ "internalType": "uint256",
269
+ "name": "txIndexInBlock",
270
+ "type": "uint256"
271
+ },
272
+ {
273
+ "internalType": "bytes",
274
+ "name": "bitcoinHeaders",
275
+ "type": "bytes"
276
+ }
277
+ ],
278
+ "name": "sweep",
279
+ "outputs": [],
280
+ "stateMutability": "nonpayable",
281
+ "type": "function"
282
+ },
283
+ {
284
+ "inputs": [
285
+ {
286
+ "internalType": "address",
287
+ "name": "newOwner",
288
+ "type": "address"
289
+ }
290
+ ],
291
+ "name": "transferOwnership",
292
+ "outputs": [],
293
+ "stateMutability": "nonpayable",
294
+ "type": "function"
295
+ },
296
+ {
297
+ "inputs": [
298
+ {
299
+ "internalType": "uint256",
300
+ "name": "",
301
+ "type": "uint256"
302
+ }
303
+ ],
304
+ "name": "unswept",
305
+ "outputs": [
306
+ {
307
+ "internalType": "address",
308
+ "name": "depositor",
309
+ "type": "address"
310
+ },
311
+ {
312
+ "internalType": "bytes8",
313
+ "name": "amount",
314
+ "type": "bytes8"
315
+ },
316
+ {
317
+ "internalType": "uint32",
318
+ "name": "revealedAt",
319
+ "type": "uint32"
320
+ },
321
+ {
322
+ "internalType": "address",
323
+ "name": "vault",
324
+ "type": "address"
325
+ }
326
+ ],
327
+ "stateMutability": "view",
328
+ "type": "function"
329
+ }
330
+ ],
331
+ "bytecode": "0x60806040523480156200001157600080fd5b5062000032620000266200003860201b60201c565b6200004060201b60201c565b62000104565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6131e780620001146000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80638d658d4e1161005b5780638d658d4e146101025780638da5cb5b1461011e578063e53c0b551461013c578063f2fde38b1461016c57610088565b806325750db71461008d57806343c6de29146100a957806360d712fc146100dc578063715018a6146100f8575b600080fd5b6100a760048036038101906100a29190611cf5565b610188565b005b6100c360048036038101906100be9190611d4a565b6107b9565b6040516100d39493929190612455565b60405180910390f35b6100f660048036038101906100f19190611b6a565b610846565b005b61010061096b565b005b61011c60048036038101906101179190611c4a565b6109f3565b005b6101266109f9565b604051610133919061243a565b60405180910390f35b61015660048036038101906101519190611b41565b610a22565b604051610163919061249a565b60405180910390f35b61018660048036038101906101819190611b41565b610a42565b005b600073ffffffffffffffffffffffffffffffffffffffff168160c00160208101906101b39190611b41565b73ffffffffffffffffffffffffffffffffffffffff1614806102305750600160008260c00160208101906101e79190611b41565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61026f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026690612593565b60405180910390fd5b60008160200160208101906102849190611b41565b8260400160208101906102979190611c21565b8360600160208101906102aa9190611ba6565b8460800160208101906102bd9190611ba6565b8560a00160208101906102d09190611bf8565b6040516020016102e49594939291906122ff565b6040516020818303038152906040529050600061037183600001602081019061030d9190611d73565b60ff168580604001906103209190612693565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610b3a90919063ffffffff16565b9050600061037e82610d7a565b90506014815114156103e7576103938361111c565b805190602001208180519060200120146103e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d990612633565b60405180910390fd5b6104cb565b60208151141561048f5760028360405161040191906122e8565b602060405180830381855afa15801561041e573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906104419190611bcf565b61044a826111e9565b1461048a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610481906125b3565b60405180910390fd5b6104ca565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104c1906125d3565b60405180910390fd5b5b600061053f8660000160208101906104e39190611bf8565b8780602001906104f39190612693565b8980604001906105039190612693565b8b60600160208101906105169190611bf8565b60405160200161052b9695949392919061229e565b60405160208183030381529060405261120c565b90506000600260008388600001602081019061055b9190611d73565b60405160200161056c929190612272565b6040516020818303038152906040528051906020012060001c81526020019081526020016000209050600081600001601c9054906101000a900463ffffffff1663ffffffff16146105f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e990612613565b60405180910390fd5b600060208501519050808260000160146101000a81548167ffffffffffffffff021916908360c01c02179055508660200160208101906106329190611b41565b8260000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055504282600001601c6101000a81548163ffffffff021916908363ffffffff1602179055508660c00160208101906106aa9190611b41565b8260010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f293519c6fe266b8b9ca154d153e408c6ef03135a5abeb42e9a91781d620ca47b838860000160208101906107219190611d73565b8960200160208101906107349190611b41565b8a60400160208101906107479190611c21565b8b606001602081019061075a9190611ba6565b8c608001602081019061076d9190611ba6565b8d60a00160208101906107809190611bf8565b8e60c00160208101906107939190611b41565b6040516107a79897969594939291906124b5565b60405180910390a15050505050505050565b60026020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060000160149054906101000a900460c01b9080600001601c9054906101000a900463ffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905084565b61084e6112d2565b73ffffffffffffffffffffffffffffffffffffffff1661086c6109f9565b73ffffffffffffffffffffffffffffffffffffffff16146108c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b9906125f3565b60405180910390fd5b80600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9065599c12c4294d9e2201638226d0d0beb95c228f468c4e7c2bdb8322b6066f8260405161095f919061249a565b60405180910390a25050565b6109736112d2565b73ffffffffffffffffffffffffffffffffffffffff166109916109f9565b73ffffffffffffffffffffffffffffffffffffffff16146109e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109de906125f3565b60405180910390fd5b6109f160006112da565b565b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60016020528060005260406000206000915054906101000a900460ff1681565b610a4a6112d2565b73ffffffffffffffffffffffffffffffffffffffff16610a686109f9565b73ffffffffffffffffffffffffffffffffffffffff1614610abe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab5906125f3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2590612533565b60405180910390fd5b610b37816112da565b50565b6060600080610b488561139e565b80925081935050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610bb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610baa90612553565b60405180910390fd5b808410610bf5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bec90612653565b60405180910390fd5b6060600080846001610c079190612772565b905060005b87811015610cc657610c3582838b51610c2591906129ca565b8b61149a9092919063ffffffff16565b9350610c4084611560565b92507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831415610ca5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9c90612573565b60405180910390fd5b8282610cb19190612772565b91508080610cbe90612b98565b915050610c0c565b50610ce881828a51610cd891906129ca565b8a61149a9092919063ffffffff16565b9250610cf383611560565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610d58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4f90612573565b60405180910390fd5b610d6d81838a61149a9092919063ffffffff16565b9550505050505092915050565b6060600082600881518110610db8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602001015160f81c60f81b60f81c90508251600982610dd791906127c8565b60ff1614610df75760405180602001604052806000815250915050611117565b600083600981518110610e33577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602001015160f81c60f81b60f81c60ff161415610f265760028160ff161015610e6e5760405180602001604052806000815250915050611117565b600083600a81518110610eaa577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602001015160f81c60f81b60f81c60ff169050600282610eca91906129fe565b60ff1681141580610ee9575060208114158015610ee8575060148114155b5b15610f07576040518060200160405280600081525092505050611117565b610f1d600b828661149a9092919063ffffffff16565b92505050611117565b6000610f3f60086003866116449092919063ffffffff16565b90507fe1683aec1a10d43657f3f2c82e683d8e19e8a3f320ce9d3bf22c6ca6ab4cbce681141561104357601484600b81518110610fa5577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602001015160f81c60f81b60f81c60ff1614158061100557507f3b50b2715f5a28d2a7eeb517f17ec797e8536bd425bf31fc4f6bf7ce1e34b77d61100260028651610ff091906129ca565b6002876116449092919063ffffffff16565b14155b15611023576040518060200160405280600081525092505050611117565b61103a600c60148661149a9092919063ffffffff16565b92505050611117565b7fa0916ee0b243ee20fb4ce56170744d86b54d7ae03a418a7a12156f40dedcf7d7811415611102576087846001865161107c91906129ca565b815181106110b3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602001015160f81c60f81b60f81c60ff16146110e2576040518060200160405280600081525092505050611117565b6110f9600b60148661149a9092919063ffffffff16565b92505050611117565b50604051806020016040528060008152509150505b919050565b6060600360028360405161113091906122e8565b602060405180830381855afa15801561114d573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906111709190611bcf565b6040516020016111809190612257565b60405160208183030381529060405260405161119c91906122e8565b602060405180830381855afa1580156111b9573d6000803e3d6000fd5b5050506040515160601b6040516020016111d3919061223c565b6040516020818303038152906040529050919050565b600080825114156111ff576000801b9050611207565b602082015190505b919050565b60006002808360405161121f91906122e8565b602060405180830381855afa15801561123c573d6000803e3d6000fd5b5050506040513d601f19601f8201168201806040525081019061125f9190611bcf565b60405160200161126f9190612257565b60405160208183030381529060405260405161128b91906122e8565b602060405180830381855afa1580156112a8573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906112cb9190611bcf565b9050919050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008060006113ac846116b6565b905060008160ff161415611414576000846000815181106113f6577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602001015160f81c60f81b60f81c8060ff1690509250925050611495565b80600161142191906127c8565b60ff1684511015611459577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60009250925050611495565b600061148461147f61147a60018560ff168961149a9092919063ffffffff16565b6117d6565b61193d565b905081818160ff1691509350935050505b915091565b606060008214156114bc57604051806020016040528060008152509050611559565b600082846114ca9190612772565b905083811180156114dc575080855110155b61151b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151290612673565b60405180910390fd5b604051915082604083010160405282825283850182038460208701018481015b808210156115545781518383015260208201915061153b565b505050505b9392505050565b6000600982511015611594577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff905061163f565b60006115b860088085516115a891906129ca565b8561149a9092919063ffffffff16565b90506000806115c68361139e565b80925081935050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611621577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff935050505061163f565b8082600961162f9190612772565b6116399190612772565b93505050505b919050565b60008082846116539190612772565b90508381118015611665575080855110155b6116a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169b90612673565b60405180910390fd5b82846020870101209150509392505050565b600060ff826000815181106116f4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602001015160f81c60f81b60f81c60ff16141561171457600890506117d1565b60fe82600081518110611750577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602001015160f81c60f81b60f81c60ff16141561177057600490506117d1565b60fd826000815181106117ac577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602001015160f81c60f81b60f81c60ff1614156117cc57600290506117d1565b600090505b919050565b60606000825167ffffffffffffffff81111561181b577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f19166020018201604052801561184d5781602001600182028036833780820191505090505b50905060005b835181101561193357838181518110611895577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602001015160f81c60f81b8260018387516118b091906129ca565b6118ba91906129ca565b815181106118f1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350808061192b90612b98565b915050611853565b5080915050919050565b60008060005b83518110156119f1576001816119599190612772565b845161196591906129ca565b60086119719190612970565b600261197d9190612852565b8482815181106119b6577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602001015160f81c60f81b60f81c60ff166119d19190612970565b826119dc9190612772565b915080806119e990612b98565b915050611943565b5080915050919050565b6000611a0e611a098461270f565b6126ea565b905082815260208101848484011115611a2657600080fd5b611a31848285612b25565b509392505050565b600081359050611a48816130f9565b92915050565b600081359050611a5d81613110565b92915050565b600081359050611a7281613127565b92915050565b600081519050611a878161313e565b92915050565b600081359050611a9c81613155565b92915050565b600081359050611ab18161316c565b92915050565b600082601f830112611ac857600080fd5b8135611ad88482602086016119fb565b91505092915050565b600060808284031215611af357600080fd5b81905092915050565b600060e08284031215611b0e57600080fd5b81905092915050565b600081359050611b2681613183565b92915050565b600081359050611b3b8161319a565b92915050565b600060208284031215611b5357600080fd5b6000611b6184828501611a39565b91505092915050565b60008060408385031215611b7d57600080fd5b6000611b8b85828601611a39565b9250506020611b9c85828601611a4e565b9150509250929050565b600060208284031215611bb857600080fd5b6000611bc684828501611a63565b91505092915050565b600060208284031215611be157600080fd5b6000611bef84828501611a78565b91505092915050565b600060208284031215611c0a57600080fd5b6000611c1884828501611a8d565b91505092915050565b600060208284031215611c3357600080fd5b6000611c4184828501611aa2565b91505092915050565b60008060008060808587031215611c6057600080fd5b600085013567ffffffffffffffff811115611c7a57600080fd5b611c8687828801611ae1565b945050602085013567ffffffffffffffff811115611ca357600080fd5b611caf87828801611ab7565b9350506040611cc087828801611b17565b925050606085013567ffffffffffffffff811115611cdd57600080fd5b611ce987828801611ab7565b91505092959194509250565b6000806101008385031215611d0957600080fd5b600083013567ffffffffffffffff811115611d2357600080fd5b611d2f85828601611ae1565b9250506020611d4085828601611afc565b9150509250929050565b600060208284031215611d5c57600080fd5b6000611d6a84828501611b17565b91505092915050565b600060208284031215611d8557600080fd5b6000611d9384828501611b2c565b91505092915050565b611da581612a32565b82525050565b611dbc611db782612a32565b612be1565b82525050565b611dcb81612a44565b82525050565b611dda81612a50565b82525050565b611df1611dec82612a50565b612bf3565b82525050565b611e0081612a7c565b82525050565b611e17611e1282612a7c565b612bfd565b82525050565b611e2681612a86565b82525050565b611e3d611e3882612a86565b612c07565b82525050565b611e4c81612ab2565b82525050565b611e63611e5e82612ab2565b612c11565b82525050565b6000611e75838561274b565b9350611e82838584612b25565b82840190509392505050565b6000611e9982612740565b611ea3818561274b565b9350611eb3818560208601612b34565b80840191505092915050565b6000611ecc600183612767565b9150611ed782612cd5565b600182019050919050565b6000611eef600183612767565b9150611efa82612cfe565b600182019050919050565b6000611f12602683612756565b9150611f1d82612d27565b604082019050919050565b6000611f35600183612767565b9150611f4082612d76565b600182019050919050565b6000611f58600183612767565b9150611f6382612d9f565b600182019050919050565b6000611f7b602283612756565b9150611f8682612dc8565b604082019050919050565b6000611f9e601a83612756565b9150611fa982612e17565b602082019050919050565b6000611fc1600183612767565b9150611fcc82612e40565b600182019050919050565b6000611fe4601483612756565b9150611fef82612e69565b602082019050919050565b6000612007600183612767565b915061201282612e92565b600182019050919050565b600061202a600183612767565b915061203582612ebb565b600182019050919050565b600061204d601983612756565b915061205882612ee4565b602082019050919050565b6000612070601883612756565b915061207b82612f0d565b602082019050919050565b6000612093600183612767565b915061209e82612f36565b600182019050919050565b60006120b6602083612756565b91506120c182612f5f565b602082019050919050565b60006120d9600183612767565b91506120e482612f88565b600182019050919050565b60006120fc600183612767565b915061210782612fb1565b600182019050919050565b600061211f601883612756565b915061212a82612fda565b602082019050919050565b6000612142601983612756565b915061214d82613003565b602082019050919050565b6000612165600183612767565b91506121708261302c565b600182019050919050565b6000612188601183612756565b915061219382613055565b602082019050919050565b60006121ab601383612756565b91506121b68261307e565b602082019050919050565b60006121ce600183612767565b91506121d9826130a7565b600182019050919050565b60006121f1600183612767565b91506121fc826130d0565b600182019050919050565b61221081612b08565b82525050565b61221f81612b18565b82525050565b61223661223182612b18565b612c2d565b82525050565b60006122488284611de0565b60148201915081905092915050565b60006122638284611e06565b60208201915081905092915050565b600061227e8285611e06565b60208201915061228e8284612225565b6001820191508190509392505050565b60006122aa8289611e2c565b6004820191506122bb828789611e69565b91506122c8828587611e69565b91506122d48284611e2c565b600482019150819050979650505050505050565b60006122f48284611e8e565b915081905092915050565b600061230a82611fb4565b91506123168288611dab565b60148201915061232582611f4b565b915061233082612158565b915061233c8287611e52565b60088201915061234b82611f4b565b9150612356826120cc565b915061236182611ffa565b915061236c82611fb4565b91506123788286611de0565b60148201915061238782612086565b915061239282611ebf565b915061239d826121e4565b91506123a882611ee2565b91506123b3826120cc565b91506123be82611ffa565b91506123c982611fb4565b91506123d58285611de0565b6014820191506123e482611f28565b91506123ef826121c1565b91506123fb8284611e2c565b60048201915061240a8261201d565b915061241582611f4b565b9150612420826121e4565b915061242b826120ef565b91508190509695505050505050565b600060208201905061244f6000830184611d9c565b92915050565b600060808201905061246a6000830187611d9c565b6124776020830186611e43565b6124846040830185612207565b6124916060830184611d9c565b95945050505050565b60006020820190506124af6000830184611dc2565b92915050565b6000610100820190506124cb600083018b611df7565b6124d8602083018a612216565b6124e56040830189611d9c565b6124f26060830188611e43565b6124ff6080830187611dd1565b61250c60a0830186611dd1565b61251960c0830185611e1d565b61252660e0830184611d9c565b9998505050505050505050565b6000602082019050818103600083015261254c81611f05565b9050919050565b6000602082019050818103600083015261256c81611f6e565b9050919050565b6000602082019050818103600083015261258c81611f91565b9050919050565b600060208201905081810360008301526125ac81611fd7565b9050919050565b600060208201905081810360008301526125cc81612040565b9050919050565b600060208201905081810360008301526125ec81612063565b9050919050565b6000602082019050818103600083015261260c816120a9565b9050919050565b6000602082019050818103600083015261262c81612112565b9050919050565b6000602082019050818103600083015261264c81612135565b9050919050565b6000602082019050818103600083015261266c8161217b565b9050919050565b6000602082019050818103600083015261268c8161219e565b9050919050565b600080833560016020038436030381126126ac57600080fd5b80840192508235915067ffffffffffffffff8211156126ca57600080fd5b6020830192506001820236038313156126e257600080fd5b509250929050565b60006126f4612705565b90506127008282612b67565b919050565b6000604051905090565b600067ffffffffffffffff82111561272a57612729612c6e565b5b61273382612c9d565b9050602081019050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b600061277d82612afe565b915061278883612afe565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156127bd576127bc612c3f565b5b828201905092915050565b60006127d382612b18565b91506127de83612b18565b92508260ff038211156127f4576127f3612c3f565b5b828201905092915050565b6000808291508390505b60018511156128495780860481111561282557612824612c3f565b5b60018516156128345780820291505b808102905061284285612cc8565b9450612809565b94509492505050565b600061285d82612afe565b915061286883612afe565b92506128957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461289d565b905092915050565b6000826128ad5760019050612969565b816128bb5760009050612969565b81600181146128d157600281146128db5761290a565b6001915050612969565b60ff8411156128ed576128ec612c3f565b5b8360020a91508482111561290457612903612c3f565b5b50612969565b5060208310610133831016604e8410600b841016171561293f5782820a90508381111561293a57612939612c3f565b5b612969565b61294c84848460016127ff565b9250905081840481111561296357612962612c3f565b5b81810290505b9392505050565b600061297b82612afe565b915061298683612afe565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156129bf576129be612c3f565b5b828202905092915050565b60006129d582612afe565b91506129e083612afe565b9250828210156129f3576129f2612c3f565b5b828203905092915050565b6000612a0982612b18565b9150612a1483612b18565b925082821015612a2757612a26612c3f565b5b828203905092915050565b6000612a3d82612ade565b9050919050565b60008115159050919050565b60007fffffffffffffffffffffffffffffffffffffffff00000000000000000000000082169050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b83811015612b52578082015181840152602081019050612b37565b83811115612b61576000848401525b50505050565b612b7082612c9d565b810181811067ffffffffffffffff82111715612b8f57612b8e612c6e565b5b80604052505050565b6000612ba382612afe565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612bd657612bd5612c3f565b5b600182019050919050565b6000612bec82612c1b565b9050919050565b6000819050919050565b6000819050919050565b6000819050919050565b6000819050919050565b6000612c2682612cbb565b9050919050565b6000612c3882612cae565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160f81b9050919050565b60008160601b9050919050565b60008160011c9050919050565b7f6300000000000000000000000000000000000000000000000000000000000000600082015250565b7f6700000000000000000000000000000000000000000000000000000000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f8800000000000000000000000000000000000000000000000000000000000000600082015250565b7f7500000000000000000000000000000000000000000000000000000000000000600082015250565b7f52656164206f76657272756e20647572696e6720566172496e7420706172736960008201527f6e67000000000000000000000000000000000000000000000000000000000000602082015250565b7f42616420566172496e7420696e207363726970745075626b6579000000000000600082015250565b7f1400000000000000000000000000000000000000000000000000000000000000600082015250565b7f5661756c74206973206e6f742074727573746564000000000000000000000000600082015250565b7fa900000000000000000000000000000000000000000000000000000000000000600082015250565b7fb100000000000000000000000000000000000000000000000000000000000000600082015250565b7f57726f6e672033322d6279746520736372697074206861736800000000000000600082015250565b7f57726f6e67207363726970742068617368206c656e6774680000000000000000600082015250565b7f8700000000000000000000000000000000000000000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f7600000000000000000000000000000000000000000000000000000000000000600082015250565b7f6800000000000000000000000000000000000000000000000000000000000000600082015250565b7f4465706f73697420616c72656164792072657665616c65640000000000000000600082015250565b7f57726f6e672032302d6279746520736372697074206861736800000000000000600082015250565b7f0800000000000000000000000000000000000000000000000000000000000000600082015250565b7f566f75742072656164206f76657272756e000000000000000000000000000000600082015250565b7f536c696365206f7574206f6620626f756e647300000000000000000000000000600082015250565b7f0400000000000000000000000000000000000000000000000000000000000000600082015250565b7fac00000000000000000000000000000000000000000000000000000000000000600082015250565b61310281612a32565b811461310d57600080fd5b50565b61311981612a44565b811461312457600080fd5b50565b61313081612a50565b811461313b57600080fd5b50565b61314781612a7c565b811461315257600080fd5b50565b61315e81612a86565b811461316957600080fd5b50565b61317581612ab2565b811461318057600080fd5b50565b61318c81612afe565b811461319757600080fd5b50565b6131a381612b18565b81146131ae57600080fd5b5056fea264697066735822122011405fe12fb810e109fb08735817d8c263c975211dc2e4e3801e0e6fcba9937164736f6c63430008040033",
332
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c80638d658d4e1161005b5780638d658d4e146101025780638da5cb5b1461011e578063e53c0b551461013c578063f2fde38b1461016c57610088565b806325750db71461008d57806343c6de29146100a957806360d712fc146100dc578063715018a6146100f8575b600080fd5b6100a760048036038101906100a29190611cf5565b610188565b005b6100c360048036038101906100be9190611d4a565b6107b9565b6040516100d39493929190612455565b60405180910390f35b6100f660048036038101906100f19190611b6a565b610846565b005b61010061096b565b005b61011c60048036038101906101179190611c4a565b6109f3565b005b6101266109f9565b604051610133919061243a565b60405180910390f35b61015660048036038101906101519190611b41565b610a22565b604051610163919061249a565b60405180910390f35b61018660048036038101906101819190611b41565b610a42565b005b600073ffffffffffffffffffffffffffffffffffffffff168160c00160208101906101b39190611b41565b73ffffffffffffffffffffffffffffffffffffffff1614806102305750600160008260c00160208101906101e79190611b41565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61026f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026690612593565b60405180910390fd5b60008160200160208101906102849190611b41565b8260400160208101906102979190611c21565b8360600160208101906102aa9190611ba6565b8460800160208101906102bd9190611ba6565b8560a00160208101906102d09190611bf8565b6040516020016102e49594939291906122ff565b6040516020818303038152906040529050600061037183600001602081019061030d9190611d73565b60ff168580604001906103209190612693565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610b3a90919063ffffffff16565b9050600061037e82610d7a565b90506014815114156103e7576103938361111c565b805190602001208180519060200120146103e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d990612633565b60405180910390fd5b6104cb565b60208151141561048f5760028360405161040191906122e8565b602060405180830381855afa15801561041e573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906104419190611bcf565b61044a826111e9565b1461048a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610481906125b3565b60405180910390fd5b6104ca565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104c1906125d3565b60405180910390fd5b5b600061053f8660000160208101906104e39190611bf8565b8780602001906104f39190612693565b8980604001906105039190612693565b8b60600160208101906105169190611bf8565b60405160200161052b9695949392919061229e565b60405160208183030381529060405261120c565b90506000600260008388600001602081019061055b9190611d73565b60405160200161056c929190612272565b6040516020818303038152906040528051906020012060001c81526020019081526020016000209050600081600001601c9054906101000a900463ffffffff1663ffffffff16146105f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e990612613565b60405180910390fd5b600060208501519050808260000160146101000a81548167ffffffffffffffff021916908360c01c02179055508660200160208101906106329190611b41565b8260000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055504282600001601c6101000a81548163ffffffff021916908363ffffffff1602179055508660c00160208101906106aa9190611b41565b8260010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f293519c6fe266b8b9ca154d153e408c6ef03135a5abeb42e9a91781d620ca47b838860000160208101906107219190611d73565b8960200160208101906107349190611b41565b8a60400160208101906107479190611c21565b8b606001602081019061075a9190611ba6565b8c608001602081019061076d9190611ba6565b8d60a00160208101906107809190611bf8565b8e60c00160208101906107939190611b41565b6040516107a79897969594939291906124b5565b60405180910390a15050505050505050565b60026020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060000160149054906101000a900460c01b9080600001601c9054906101000a900463ffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905084565b61084e6112d2565b73ffffffffffffffffffffffffffffffffffffffff1661086c6109f9565b73ffffffffffffffffffffffffffffffffffffffff16146108c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b9906125f3565b60405180910390fd5b80600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9065599c12c4294d9e2201638226d0d0beb95c228f468c4e7c2bdb8322b6066f8260405161095f919061249a565b60405180910390a25050565b6109736112d2565b73ffffffffffffffffffffffffffffffffffffffff166109916109f9565b73ffffffffffffffffffffffffffffffffffffffff16146109e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109de906125f3565b60405180910390fd5b6109f160006112da565b565b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60016020528060005260406000206000915054906101000a900460ff1681565b610a4a6112d2565b73ffffffffffffffffffffffffffffffffffffffff16610a686109f9565b73ffffffffffffffffffffffffffffffffffffffff1614610abe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab5906125f3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2590612533565b60405180910390fd5b610b37816112da565b50565b6060600080610b488561139e565b80925081935050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610bb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610baa90612553565b60405180910390fd5b808410610bf5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bec90612653565b60405180910390fd5b6060600080846001610c079190612772565b905060005b87811015610cc657610c3582838b51610c2591906129ca565b8b61149a9092919063ffffffff16565b9350610c4084611560565b92507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831415610ca5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9c90612573565b60405180910390fd5b8282610cb19190612772565b91508080610cbe90612b98565b915050610c0c565b50610ce881828a51610cd891906129ca565b8a61149a9092919063ffffffff16565b9250610cf383611560565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610d58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4f90612573565b60405180910390fd5b610d6d81838a61149a9092919063ffffffff16565b9550505050505092915050565b6060600082600881518110610db8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602001015160f81c60f81b60f81c90508251600982610dd791906127c8565b60ff1614610df75760405180602001604052806000815250915050611117565b600083600981518110610e33577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602001015160f81c60f81b60f81c60ff161415610f265760028160ff161015610e6e5760405180602001604052806000815250915050611117565b600083600a81518110610eaa577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602001015160f81c60f81b60f81c60ff169050600282610eca91906129fe565b60ff1681141580610ee9575060208114158015610ee8575060148114155b5b15610f07576040518060200160405280600081525092505050611117565b610f1d600b828661149a9092919063ffffffff16565b92505050611117565b6000610f3f60086003866116449092919063ffffffff16565b90507fe1683aec1a10d43657f3f2c82e683d8e19e8a3f320ce9d3bf22c6ca6ab4cbce681141561104357601484600b81518110610fa5577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602001015160f81c60f81b60f81c60ff1614158061100557507f3b50b2715f5a28d2a7eeb517f17ec797e8536bd425bf31fc4f6bf7ce1e34b77d61100260028651610ff091906129ca565b6002876116449092919063ffffffff16565b14155b15611023576040518060200160405280600081525092505050611117565b61103a600c60148661149a9092919063ffffffff16565b92505050611117565b7fa0916ee0b243ee20fb4ce56170744d86b54d7ae03a418a7a12156f40dedcf7d7811415611102576087846001865161107c91906129ca565b815181106110b3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602001015160f81c60f81b60f81c60ff16146110e2576040518060200160405280600081525092505050611117565b6110f9600b60148661149a9092919063ffffffff16565b92505050611117565b50604051806020016040528060008152509150505b919050565b6060600360028360405161113091906122e8565b602060405180830381855afa15801561114d573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906111709190611bcf565b6040516020016111809190612257565b60405160208183030381529060405260405161119c91906122e8565b602060405180830381855afa1580156111b9573d6000803e3d6000fd5b5050506040515160601b6040516020016111d3919061223c565b6040516020818303038152906040529050919050565b600080825114156111ff576000801b9050611207565b602082015190505b919050565b60006002808360405161121f91906122e8565b602060405180830381855afa15801561123c573d6000803e3d6000fd5b5050506040513d601f19601f8201168201806040525081019061125f9190611bcf565b60405160200161126f9190612257565b60405160208183030381529060405260405161128b91906122e8565b602060405180830381855afa1580156112a8573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906112cb9190611bcf565b9050919050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008060006113ac846116b6565b905060008160ff161415611414576000846000815181106113f6577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602001015160f81c60f81b60f81c8060ff1690509250925050611495565b80600161142191906127c8565b60ff1684511015611459577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60009250925050611495565b600061148461147f61147a60018560ff168961149a9092919063ffffffff16565b6117d6565b61193d565b905081818160ff1691509350935050505b915091565b606060008214156114bc57604051806020016040528060008152509050611559565b600082846114ca9190612772565b905083811180156114dc575080855110155b61151b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151290612673565b60405180910390fd5b604051915082604083010160405282825283850182038460208701018481015b808210156115545781518383015260208201915061153b565b505050505b9392505050565b6000600982511015611594577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff905061163f565b60006115b860088085516115a891906129ca565b8561149a9092919063ffffffff16565b90506000806115c68361139e565b80925081935050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611621577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff935050505061163f565b8082600961162f9190612772565b6116399190612772565b93505050505b919050565b60008082846116539190612772565b90508381118015611665575080855110155b6116a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169b90612673565b60405180910390fd5b82846020870101209150509392505050565b600060ff826000815181106116f4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602001015160f81c60f81b60f81c60ff16141561171457600890506117d1565b60fe82600081518110611750577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602001015160f81c60f81b60f81c60ff16141561177057600490506117d1565b60fd826000815181106117ac577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602001015160f81c60f81b60f81c60ff1614156117cc57600290506117d1565b600090505b919050565b60606000825167ffffffffffffffff81111561181b577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f19166020018201604052801561184d5781602001600182028036833780820191505090505b50905060005b835181101561193357838181518110611895577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602001015160f81c60f81b8260018387516118b091906129ca565b6118ba91906129ca565b815181106118f1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350808061192b90612b98565b915050611853565b5080915050919050565b60008060005b83518110156119f1576001816119599190612772565b845161196591906129ca565b60086119719190612970565b600261197d9190612852565b8482815181106119b6577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602001015160f81c60f81b60f81c60ff166119d19190612970565b826119dc9190612772565b915080806119e990612b98565b915050611943565b5080915050919050565b6000611a0e611a098461270f565b6126ea565b905082815260208101848484011115611a2657600080fd5b611a31848285612b25565b509392505050565b600081359050611a48816130f9565b92915050565b600081359050611a5d81613110565b92915050565b600081359050611a7281613127565b92915050565b600081519050611a878161313e565b92915050565b600081359050611a9c81613155565b92915050565b600081359050611ab18161316c565b92915050565b600082601f830112611ac857600080fd5b8135611ad88482602086016119fb565b91505092915050565b600060808284031215611af357600080fd5b81905092915050565b600060e08284031215611b0e57600080fd5b81905092915050565b600081359050611b2681613183565b92915050565b600081359050611b3b8161319a565b92915050565b600060208284031215611b5357600080fd5b6000611b6184828501611a39565b91505092915050565b60008060408385031215611b7d57600080fd5b6000611b8b85828601611a39565b9250506020611b9c85828601611a4e565b9150509250929050565b600060208284031215611bb857600080fd5b6000611bc684828501611a63565b91505092915050565b600060208284031215611be157600080fd5b6000611bef84828501611a78565b91505092915050565b600060208284031215611c0a57600080fd5b6000611c1884828501611a8d565b91505092915050565b600060208284031215611c3357600080fd5b6000611c4184828501611aa2565b91505092915050565b60008060008060808587031215611c6057600080fd5b600085013567ffffffffffffffff811115611c7a57600080fd5b611c8687828801611ae1565b945050602085013567ffffffffffffffff811115611ca357600080fd5b611caf87828801611ab7565b9350506040611cc087828801611b17565b925050606085013567ffffffffffffffff811115611cdd57600080fd5b611ce987828801611ab7565b91505092959194509250565b6000806101008385031215611d0957600080fd5b600083013567ffffffffffffffff811115611d2357600080fd5b611d2f85828601611ae1565b9250506020611d4085828601611afc565b9150509250929050565b600060208284031215611d5c57600080fd5b6000611d6a84828501611b17565b91505092915050565b600060208284031215611d8557600080fd5b6000611d9384828501611b2c565b91505092915050565b611da581612a32565b82525050565b611dbc611db782612a32565b612be1565b82525050565b611dcb81612a44565b82525050565b611dda81612a50565b82525050565b611df1611dec82612a50565b612bf3565b82525050565b611e0081612a7c565b82525050565b611e17611e1282612a7c565b612bfd565b82525050565b611e2681612a86565b82525050565b611e3d611e3882612a86565b612c07565b82525050565b611e4c81612ab2565b82525050565b611e63611e5e82612ab2565b612c11565b82525050565b6000611e75838561274b565b9350611e82838584612b25565b82840190509392505050565b6000611e9982612740565b611ea3818561274b565b9350611eb3818560208601612b34565b80840191505092915050565b6000611ecc600183612767565b9150611ed782612cd5565b600182019050919050565b6000611eef600183612767565b9150611efa82612cfe565b600182019050919050565b6000611f12602683612756565b9150611f1d82612d27565b604082019050919050565b6000611f35600183612767565b9150611f4082612d76565b600182019050919050565b6000611f58600183612767565b9150611f6382612d9f565b600182019050919050565b6000611f7b602283612756565b9150611f8682612dc8565b604082019050919050565b6000611f9e601a83612756565b9150611fa982612e17565b602082019050919050565b6000611fc1600183612767565b9150611fcc82612e40565b600182019050919050565b6000611fe4601483612756565b9150611fef82612e69565b602082019050919050565b6000612007600183612767565b915061201282612e92565b600182019050919050565b600061202a600183612767565b915061203582612ebb565b600182019050919050565b600061204d601983612756565b915061205882612ee4565b602082019050919050565b6000612070601883612756565b915061207b82612f0d565b602082019050919050565b6000612093600183612767565b915061209e82612f36565b600182019050919050565b60006120b6602083612756565b91506120c182612f5f565b602082019050919050565b60006120d9600183612767565b91506120e482612f88565b600182019050919050565b60006120fc600183612767565b915061210782612fb1565b600182019050919050565b600061211f601883612756565b915061212a82612fda565b602082019050919050565b6000612142601983612756565b915061214d82613003565b602082019050919050565b6000612165600183612767565b91506121708261302c565b600182019050919050565b6000612188601183612756565b915061219382613055565b602082019050919050565b60006121ab601383612756565b91506121b68261307e565b602082019050919050565b60006121ce600183612767565b91506121d9826130a7565b600182019050919050565b60006121f1600183612767565b91506121fc826130d0565b600182019050919050565b61221081612b08565b82525050565b61221f81612b18565b82525050565b61223661223182612b18565b612c2d565b82525050565b60006122488284611de0565b60148201915081905092915050565b60006122638284611e06565b60208201915081905092915050565b600061227e8285611e06565b60208201915061228e8284612225565b6001820191508190509392505050565b60006122aa8289611e2c565b6004820191506122bb828789611e69565b91506122c8828587611e69565b91506122d48284611e2c565b600482019150819050979650505050505050565b60006122f48284611e8e565b915081905092915050565b600061230a82611fb4565b91506123168288611dab565b60148201915061232582611f4b565b915061233082612158565b915061233c8287611e52565b60088201915061234b82611f4b565b9150612356826120cc565b915061236182611ffa565b915061236c82611fb4565b91506123788286611de0565b60148201915061238782612086565b915061239282611ebf565b915061239d826121e4565b91506123a882611ee2565b91506123b3826120cc565b91506123be82611ffa565b91506123c982611fb4565b91506123d58285611de0565b6014820191506123e482611f28565b91506123ef826121c1565b91506123fb8284611e2c565b60048201915061240a8261201d565b915061241582611f4b565b9150612420826121e4565b915061242b826120ef565b91508190509695505050505050565b600060208201905061244f6000830184611d9c565b92915050565b600060808201905061246a6000830187611d9c565b6124776020830186611e43565b6124846040830185612207565b6124916060830184611d9c565b95945050505050565b60006020820190506124af6000830184611dc2565b92915050565b6000610100820190506124cb600083018b611df7565b6124d8602083018a612216565b6124e56040830189611d9c565b6124f26060830188611e43565b6124ff6080830187611dd1565b61250c60a0830186611dd1565b61251960c0830185611e1d565b61252660e0830184611d9c565b9998505050505050505050565b6000602082019050818103600083015261254c81611f05565b9050919050565b6000602082019050818103600083015261256c81611f6e565b9050919050565b6000602082019050818103600083015261258c81611f91565b9050919050565b600060208201905081810360008301526125ac81611fd7565b9050919050565b600060208201905081810360008301526125cc81612040565b9050919050565b600060208201905081810360008301526125ec81612063565b9050919050565b6000602082019050818103600083015261260c816120a9565b9050919050565b6000602082019050818103600083015261262c81612112565b9050919050565b6000602082019050818103600083015261264c81612135565b9050919050565b6000602082019050818103600083015261266c8161217b565b9050919050565b6000602082019050818103600083015261268c8161219e565b9050919050565b600080833560016020038436030381126126ac57600080fd5b80840192508235915067ffffffffffffffff8211156126ca57600080fd5b6020830192506001820236038313156126e257600080fd5b509250929050565b60006126f4612705565b90506127008282612b67565b919050565b6000604051905090565b600067ffffffffffffffff82111561272a57612729612c6e565b5b61273382612c9d565b9050602081019050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b600061277d82612afe565b915061278883612afe565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156127bd576127bc612c3f565b5b828201905092915050565b60006127d382612b18565b91506127de83612b18565b92508260ff038211156127f4576127f3612c3f565b5b828201905092915050565b6000808291508390505b60018511156128495780860481111561282557612824612c3f565b5b60018516156128345780820291505b808102905061284285612cc8565b9450612809565b94509492505050565b600061285d82612afe565b915061286883612afe565b92506128957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461289d565b905092915050565b6000826128ad5760019050612969565b816128bb5760009050612969565b81600181146128d157600281146128db5761290a565b6001915050612969565b60ff8411156128ed576128ec612c3f565b5b8360020a91508482111561290457612903612c3f565b5b50612969565b5060208310610133831016604e8410600b841016171561293f5782820a90508381111561293a57612939612c3f565b5b612969565b61294c84848460016127ff565b9250905081840481111561296357612962612c3f565b5b81810290505b9392505050565b600061297b82612afe565b915061298683612afe565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156129bf576129be612c3f565b5b828202905092915050565b60006129d582612afe565b91506129e083612afe565b9250828210156129f3576129f2612c3f565b5b828203905092915050565b6000612a0982612b18565b9150612a1483612b18565b925082821015612a2757612a26612c3f565b5b828203905092915050565b6000612a3d82612ade565b9050919050565b60008115159050919050565b60007fffffffffffffffffffffffffffffffffffffffff00000000000000000000000082169050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b83811015612b52578082015181840152602081019050612b37565b83811115612b61576000848401525b50505050565b612b7082612c9d565b810181811067ffffffffffffffff82111715612b8f57612b8e612c6e565b5b80604052505050565b6000612ba382612afe565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612bd657612bd5612c3f565b5b600182019050919050565b6000612bec82612c1b565b9050919050565b6000819050919050565b6000819050919050565b6000819050919050565b6000819050919050565b6000612c2682612cbb565b9050919050565b6000612c3882612cae565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160f81b9050919050565b60008160601b9050919050565b60008160011c9050919050565b7f6300000000000000000000000000000000000000000000000000000000000000600082015250565b7f6700000000000000000000000000000000000000000000000000000000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f8800000000000000000000000000000000000000000000000000000000000000600082015250565b7f7500000000000000000000000000000000000000000000000000000000000000600082015250565b7f52656164206f76657272756e20647572696e6720566172496e7420706172736960008201527f6e67000000000000000000000000000000000000000000000000000000000000602082015250565b7f42616420566172496e7420696e207363726970745075626b6579000000000000600082015250565b7f1400000000000000000000000000000000000000000000000000000000000000600082015250565b7f5661756c74206973206e6f742074727573746564000000000000000000000000600082015250565b7fa900000000000000000000000000000000000000000000000000000000000000600082015250565b7fb100000000000000000000000000000000000000000000000000000000000000600082015250565b7f57726f6e672033322d6279746520736372697074206861736800000000000000600082015250565b7f57726f6e67207363726970742068617368206c656e6774680000000000000000600082015250565b7f8700000000000000000000000000000000000000000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f7600000000000000000000000000000000000000000000000000000000000000600082015250565b7f6800000000000000000000000000000000000000000000000000000000000000600082015250565b7f4465706f73697420616c72656164792072657665616c65640000000000000000600082015250565b7f57726f6e672032302d6279746520736372697074206861736800000000000000600082015250565b7f0800000000000000000000000000000000000000000000000000000000000000600082015250565b7f566f75742072656164206f76657272756e000000000000000000000000000000600082015250565b7f536c696365206f7574206f6620626f756e647300000000000000000000000000600082015250565b7f0400000000000000000000000000000000000000000000000000000000000000600082015250565b7fac00000000000000000000000000000000000000000000000000000000000000600082015250565b61310281612a32565b811461310d57600080fd5b50565b61311981612a44565b811461312457600080fd5b50565b61313081612a50565b811461313b57600080fd5b50565b61314781612a7c565b811461315257600080fd5b50565b61315e81612a86565b811461316957600080fd5b50565b61317581612ab2565b811461318057600080fd5b50565b61318c81612afe565b811461319757600080fd5b50565b6131a381612b18565b81146131ae57600080fd5b5056fea264697066735822122011405fe12fb810e109fb08735817d8c263c975211dc2e4e3801e0e6fcba9937164736f6c63430008040033",
333
+ "linkReferences": {},
334
+ "deployedLinkReferences": {}
335
+ }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/2f8e64c05fa8c4f2f2c708eabb3c81a3.json"
3
+ "buildInfo": "../../../build-info/f858e31993d81cc64384b34812cb47e9.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/2f8e64c05fa8c4f2f2c708eabb3c81a3.json"
3
+ "buildInfo": "../../../build-info/f858e31993d81cc64384b34812cb47e9.json"
4
4
  }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/f858e31993d81cc64384b34812cb47e9.json"
4
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "IVault",
4
+ "sourceName": "contracts/vault/IVault.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "owner",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "uint256",
15
+ "name": "amount",
16
+ "type": "uint256"
17
+ }
18
+ ],
19
+ "name": "receiveBalanceApproval",
20
+ "outputs": [],
21
+ "stateMutability": "nonpayable",
22
+ "type": "function"
23
+ },
24
+ {
25
+ "inputs": [
26
+ {
27
+ "internalType": "address[]",
28
+ "name": "depositors",
29
+ "type": "address[]"
30
+ },
31
+ {
32
+ "internalType": "uint256[]",
33
+ "name": "depositedAmounts",
34
+ "type": "uint256[]"
35
+ }
36
+ ],
37
+ "name": "receiveBalanceIncrease",
38
+ "outputs": [],
39
+ "stateMutability": "nonpayable",
40
+ "type": "function"
41
+ }
42
+ ],
43
+ "bytecode": "0x",
44
+ "deployedBytecode": "0x",
45
+ "linkReferences": {},
46
+ "deployedLinkReferences": {}
47
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/f858e31993d81cc64384b34812cb47e9.json"
4
+ }