@wireio/stake 0.0.1

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.
Files changed (48) hide show
  1. package/LICENSE.md +114 -0
  2. package/README.md +28 -0
  3. package/lib/stake.browser.js +6875 -0
  4. package/lib/stake.browser.js.map +1 -0
  5. package/lib/stake.d.ts +6759 -0
  6. package/lib/stake.js +7178 -0
  7. package/lib/stake.js.map +1 -0
  8. package/lib/stake.m.js +6875 -0
  9. package/lib/stake.m.js.map +1 -0
  10. package/package.json +102 -0
  11. package/src/assets/ethereum/ABI/token/ERC1155Token.sol/ERC1155Token.dbg.json +4 -0
  12. package/src/assets/ethereum/ABI/token/ERC1155Token.sol/ERC1155Token.json +472 -0
  13. package/src/assets/ethereum/ABI/token/ERC20Token.sol/ERC20Token.dbg.json +4 -0
  14. package/src/assets/ethereum/ABI/token/ERC20Token.sol/ERC20Token.json +330 -0
  15. package/src/assets/ethereum/ABI/token/ERC721Token.sol/ERC721Token.dbg.json +4 -0
  16. package/src/assets/ethereum/ABI/token/ERC721Token.sol/ERC721Token.json +449 -0
  17. package/src/assets/solana/idl/deposit.json +260 -0
  18. package/src/assets/solana/idl/distribution.json +736 -0
  19. package/src/assets/solana/idl/liq_sol_token.json +275 -0
  20. package/src/assets/solana/idl/stake_controller.json +1788 -0
  21. package/src/assets/solana/idl/stake_registry.json +435 -0
  22. package/src/assets/solana/idl/treasury.json +336 -0
  23. package/src/assets/solana/idl/validator_leaderboard.json +528 -0
  24. package/src/assets/solana/idl/validator_registry.json +418 -0
  25. package/src/assets/solana/idl/yield_oracle.json +32 -0
  26. package/src/assets/solana/types/deposit.ts +266 -0
  27. package/src/assets/solana/types/distribution.ts +742 -0
  28. package/src/assets/solana/types/liq_sol_token.ts +281 -0
  29. package/src/assets/solana/types/stake_controller.ts +1794 -0
  30. package/src/assets/solana/types/stake_registry.ts +441 -0
  31. package/src/assets/solana/types/treasury.ts +342 -0
  32. package/src/assets/solana/types/validator_leaderboard.ts +534 -0
  33. package/src/assets/solana/types/validator_registry.ts +424 -0
  34. package/src/assets/solana/types/yield_oracle.ts +38 -0
  35. package/src/index.ts +21 -0
  36. package/src/networks/ethereum/contract.ts +167 -0
  37. package/src/networks/ethereum/ethereum.ts +64 -0
  38. package/src/networks/ethereum/types.ts +6 -0
  39. package/src/networks/solana/clients/deposit.client.ts +178 -0
  40. package/src/networks/solana/clients/distribution.client.ts +230 -0
  41. package/src/networks/solana/clients/leaderboard.client.ts +179 -0
  42. package/src/networks/solana/constants.ts +73 -0
  43. package/src/networks/solana/program.ts +113 -0
  44. package/src/networks/solana/solana.ts +84 -0
  45. package/src/networks/solana/utils.ts +122 -0
  46. package/src/staker/staker.ts +38 -0
  47. package/src/staker/types.ts +26 -0
  48. package/src/utils.ts +9 -0
@@ -0,0 +1,472 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "ERC1155Token",
4
+ "sourceName": "contracts/token/ERC1155Token.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "string",
10
+ "name": "uri",
11
+ "type": "string"
12
+ }
13
+ ],
14
+ "stateMutability": "nonpayable",
15
+ "type": "constructor"
16
+ },
17
+ {
18
+ "inputs": [
19
+ {
20
+ "internalType": "address",
21
+ "name": "sender",
22
+ "type": "address"
23
+ },
24
+ {
25
+ "internalType": "uint256",
26
+ "name": "balance",
27
+ "type": "uint256"
28
+ },
29
+ {
30
+ "internalType": "uint256",
31
+ "name": "needed",
32
+ "type": "uint256"
33
+ },
34
+ {
35
+ "internalType": "uint256",
36
+ "name": "tokenId",
37
+ "type": "uint256"
38
+ }
39
+ ],
40
+ "name": "ERC1155InsufficientBalance",
41
+ "type": "error"
42
+ },
43
+ {
44
+ "inputs": [
45
+ {
46
+ "internalType": "address",
47
+ "name": "approver",
48
+ "type": "address"
49
+ }
50
+ ],
51
+ "name": "ERC1155InvalidApprover",
52
+ "type": "error"
53
+ },
54
+ {
55
+ "inputs": [
56
+ {
57
+ "internalType": "uint256",
58
+ "name": "idsLength",
59
+ "type": "uint256"
60
+ },
61
+ {
62
+ "internalType": "uint256",
63
+ "name": "valuesLength",
64
+ "type": "uint256"
65
+ }
66
+ ],
67
+ "name": "ERC1155InvalidArrayLength",
68
+ "type": "error"
69
+ },
70
+ {
71
+ "inputs": [
72
+ {
73
+ "internalType": "address",
74
+ "name": "operator",
75
+ "type": "address"
76
+ }
77
+ ],
78
+ "name": "ERC1155InvalidOperator",
79
+ "type": "error"
80
+ },
81
+ {
82
+ "inputs": [
83
+ {
84
+ "internalType": "address",
85
+ "name": "receiver",
86
+ "type": "address"
87
+ }
88
+ ],
89
+ "name": "ERC1155InvalidReceiver",
90
+ "type": "error"
91
+ },
92
+ {
93
+ "inputs": [
94
+ {
95
+ "internalType": "address",
96
+ "name": "sender",
97
+ "type": "address"
98
+ }
99
+ ],
100
+ "name": "ERC1155InvalidSender",
101
+ "type": "error"
102
+ },
103
+ {
104
+ "inputs": [
105
+ {
106
+ "internalType": "address",
107
+ "name": "operator",
108
+ "type": "address"
109
+ },
110
+ {
111
+ "internalType": "address",
112
+ "name": "owner",
113
+ "type": "address"
114
+ }
115
+ ],
116
+ "name": "ERC1155MissingApprovalForAll",
117
+ "type": "error"
118
+ },
119
+ {
120
+ "anonymous": false,
121
+ "inputs": [
122
+ {
123
+ "indexed": true,
124
+ "internalType": "address",
125
+ "name": "account",
126
+ "type": "address"
127
+ },
128
+ {
129
+ "indexed": true,
130
+ "internalType": "address",
131
+ "name": "operator",
132
+ "type": "address"
133
+ },
134
+ {
135
+ "indexed": false,
136
+ "internalType": "bool",
137
+ "name": "approved",
138
+ "type": "bool"
139
+ }
140
+ ],
141
+ "name": "ApprovalForAll",
142
+ "type": "event"
143
+ },
144
+ {
145
+ "anonymous": false,
146
+ "inputs": [
147
+ {
148
+ "indexed": true,
149
+ "internalType": "address",
150
+ "name": "operator",
151
+ "type": "address"
152
+ },
153
+ {
154
+ "indexed": true,
155
+ "internalType": "address",
156
+ "name": "from",
157
+ "type": "address"
158
+ },
159
+ {
160
+ "indexed": true,
161
+ "internalType": "address",
162
+ "name": "to",
163
+ "type": "address"
164
+ },
165
+ {
166
+ "indexed": false,
167
+ "internalType": "uint256[]",
168
+ "name": "ids",
169
+ "type": "uint256[]"
170
+ },
171
+ {
172
+ "indexed": false,
173
+ "internalType": "uint256[]",
174
+ "name": "values",
175
+ "type": "uint256[]"
176
+ }
177
+ ],
178
+ "name": "TransferBatch",
179
+ "type": "event"
180
+ },
181
+ {
182
+ "anonymous": false,
183
+ "inputs": [
184
+ {
185
+ "indexed": true,
186
+ "internalType": "address",
187
+ "name": "operator",
188
+ "type": "address"
189
+ },
190
+ {
191
+ "indexed": true,
192
+ "internalType": "address",
193
+ "name": "from",
194
+ "type": "address"
195
+ },
196
+ {
197
+ "indexed": true,
198
+ "internalType": "address",
199
+ "name": "to",
200
+ "type": "address"
201
+ },
202
+ {
203
+ "indexed": false,
204
+ "internalType": "uint256",
205
+ "name": "id",
206
+ "type": "uint256"
207
+ },
208
+ {
209
+ "indexed": false,
210
+ "internalType": "uint256",
211
+ "name": "value",
212
+ "type": "uint256"
213
+ }
214
+ ],
215
+ "name": "TransferSingle",
216
+ "type": "event"
217
+ },
218
+ {
219
+ "anonymous": false,
220
+ "inputs": [
221
+ {
222
+ "indexed": false,
223
+ "internalType": "string",
224
+ "name": "value",
225
+ "type": "string"
226
+ },
227
+ {
228
+ "indexed": true,
229
+ "internalType": "uint256",
230
+ "name": "id",
231
+ "type": "uint256"
232
+ }
233
+ ],
234
+ "name": "URI",
235
+ "type": "event"
236
+ },
237
+ {
238
+ "inputs": [
239
+ {
240
+ "internalType": "address",
241
+ "name": "account",
242
+ "type": "address"
243
+ },
244
+ {
245
+ "internalType": "uint256",
246
+ "name": "id",
247
+ "type": "uint256"
248
+ }
249
+ ],
250
+ "name": "balanceOf",
251
+ "outputs": [
252
+ {
253
+ "internalType": "uint256",
254
+ "name": "",
255
+ "type": "uint256"
256
+ }
257
+ ],
258
+ "stateMutability": "view",
259
+ "type": "function"
260
+ },
261
+ {
262
+ "inputs": [
263
+ {
264
+ "internalType": "address[]",
265
+ "name": "accounts",
266
+ "type": "address[]"
267
+ },
268
+ {
269
+ "internalType": "uint256[]",
270
+ "name": "ids",
271
+ "type": "uint256[]"
272
+ }
273
+ ],
274
+ "name": "balanceOfBatch",
275
+ "outputs": [
276
+ {
277
+ "internalType": "uint256[]",
278
+ "name": "",
279
+ "type": "uint256[]"
280
+ }
281
+ ],
282
+ "stateMutability": "view",
283
+ "type": "function"
284
+ },
285
+ {
286
+ "inputs": [
287
+ {
288
+ "internalType": "address",
289
+ "name": "account",
290
+ "type": "address"
291
+ },
292
+ {
293
+ "internalType": "address",
294
+ "name": "operator",
295
+ "type": "address"
296
+ }
297
+ ],
298
+ "name": "isApprovedForAll",
299
+ "outputs": [
300
+ {
301
+ "internalType": "bool",
302
+ "name": "",
303
+ "type": "bool"
304
+ }
305
+ ],
306
+ "stateMutability": "view",
307
+ "type": "function"
308
+ },
309
+ {
310
+ "inputs": [
311
+ {
312
+ "internalType": "address",
313
+ "name": "from",
314
+ "type": "address"
315
+ },
316
+ {
317
+ "internalType": "address",
318
+ "name": "to",
319
+ "type": "address"
320
+ },
321
+ {
322
+ "internalType": "uint256[]",
323
+ "name": "ids",
324
+ "type": "uint256[]"
325
+ },
326
+ {
327
+ "internalType": "uint256[]",
328
+ "name": "values",
329
+ "type": "uint256[]"
330
+ },
331
+ {
332
+ "internalType": "bytes",
333
+ "name": "data",
334
+ "type": "bytes"
335
+ }
336
+ ],
337
+ "name": "safeBatchTransferFrom",
338
+ "outputs": [],
339
+ "stateMutability": "nonpayable",
340
+ "type": "function"
341
+ },
342
+ {
343
+ "inputs": [
344
+ {
345
+ "internalType": "address",
346
+ "name": "from",
347
+ "type": "address"
348
+ },
349
+ {
350
+ "internalType": "address",
351
+ "name": "to",
352
+ "type": "address"
353
+ },
354
+ {
355
+ "internalType": "uint256",
356
+ "name": "id",
357
+ "type": "uint256"
358
+ },
359
+ {
360
+ "internalType": "uint256",
361
+ "name": "value",
362
+ "type": "uint256"
363
+ },
364
+ {
365
+ "internalType": "bytes",
366
+ "name": "data",
367
+ "type": "bytes"
368
+ }
369
+ ],
370
+ "name": "safeTransferFrom",
371
+ "outputs": [],
372
+ "stateMutability": "nonpayable",
373
+ "type": "function"
374
+ },
375
+ {
376
+ "inputs": [
377
+ {
378
+ "internalType": "address",
379
+ "name": "operator",
380
+ "type": "address"
381
+ },
382
+ {
383
+ "internalType": "bool",
384
+ "name": "approved",
385
+ "type": "bool"
386
+ }
387
+ ],
388
+ "name": "setApprovalForAll",
389
+ "outputs": [],
390
+ "stateMutability": "nonpayable",
391
+ "type": "function"
392
+ },
393
+ {
394
+ "inputs": [
395
+ {
396
+ "internalType": "bytes4",
397
+ "name": "interfaceId",
398
+ "type": "bytes4"
399
+ }
400
+ ],
401
+ "name": "supportsInterface",
402
+ "outputs": [
403
+ {
404
+ "internalType": "bool",
405
+ "name": "",
406
+ "type": "bool"
407
+ }
408
+ ],
409
+ "stateMutability": "view",
410
+ "type": "function"
411
+ },
412
+ {
413
+ "inputs": [
414
+ {
415
+ "internalType": "uint256",
416
+ "name": "",
417
+ "type": "uint256"
418
+ }
419
+ ],
420
+ "name": "uri",
421
+ "outputs": [
422
+ {
423
+ "internalType": "string",
424
+ "name": "",
425
+ "type": "string"
426
+ }
427
+ ],
428
+ "stateMutability": "view",
429
+ "type": "function"
430
+ },
431
+ {
432
+ "inputs": [
433
+ {
434
+ "internalType": "uint256",
435
+ "name": "id",
436
+ "type": "uint256"
437
+ },
438
+ {
439
+ "internalType": "uint256",
440
+ "name": "value",
441
+ "type": "uint256"
442
+ }
443
+ ],
444
+ "name": "userMint",
445
+ "outputs": [],
446
+ "stateMutability": "nonpayable",
447
+ "type": "function"
448
+ },
449
+ {
450
+ "inputs": [
451
+ {
452
+ "internalType": "uint256[]",
453
+ "name": "ids",
454
+ "type": "uint256[]"
455
+ },
456
+ {
457
+ "internalType": "uint256[]",
458
+ "name": "values",
459
+ "type": "uint256[]"
460
+ }
461
+ ],
462
+ "name": "userMintBatch",
463
+ "outputs": [],
464
+ "stateMutability": "nonpayable",
465
+ "type": "function"
466
+ }
467
+ ],
468
+ "bytecode": "0x60806040523480156200001157600080fd5b506040516200189938038062001899833981016040819052620000349162000070565b80620000408162000048565b5050620002a0565b6002620000568282620001d4565b5050565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156200008457600080fd5b82516001600160401b03808211156200009c57600080fd5b818501915085601f830112620000b157600080fd5b815181811115620000c657620000c66200005a565b604051601f8201601f19908116603f01168101908382118183101715620000f157620000f16200005a565b8160405282815288868487010111156200010a57600080fd5b600093505b828410156200012e57848401860151818501870152928501926200010f565b600086848301015280965050505050505092915050565b600181811c908216806200015a57607f821691505b6020821081036200017b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620001cf57600081815260208120601f850160051c81016020861015620001aa5750805b601f850160051c820191505b81811015620001cb57828155600101620001b6565b5050505b505050565b81516001600160401b03811115620001f057620001f06200005a565b620002088162000201845462000145565b8462000181565b602080601f831160018114620002405760008415620002275750858301515b600019600386901b1c1916600185901b178555620001cb565b600085815260208120601f198616915b82811015620002715788860151825594840194600190910190840162000250565b5085821015620002905787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6115e980620002b06000396000f3fe608060405234801561001057600080fd5b50600436106100bd5760003560e01c80639dd4742611610076578063b0eb48e11161005b578063b0eb48e114610186578063e985e9c514610199578063f242432a146101d557600080fd5b80639dd4742614610160578063a22cb4651461017357600080fd5b80630e89341c116100a75780630e89341c1461010b5780632eb2c2d61461012b5780634e1273f41461014057600080fd5b8062fdd58e146100c257806301ffc9a7146100e8575b600080fd5b6100d56100d0366004610e80565b6101e8565b6040519081526020015b60405180910390f35b6100fb6100f6366004610edb565b610210565b60405190151581526020016100df565b61011e610119366004610eff565b6102f3565b6040516100df9190610f5e565b61013e6101393660046110d0565b610387565b005b61015361014e36600461117a565b61042b565b6040516100df9190611275565b61013e61016e366004611288565b610519565b61013e6101813660046112d5565b61052c565b61013e610194366004611311565b61053b565b6100fb6101a7366004611333565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205460ff1690565b61013e6101e3366004611366565b610549565b6000818152602081815260408083206001600160a01b03861684529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a260000000000000000000000000000000000000000000000000000000014806102a357507fffffffff0000000000000000000000000000000000000000000000000000000082167f0e89341c00000000000000000000000000000000000000000000000000000000145b8061020a57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161461020a565b606060028054610302906113cb565b80601f016020809104026020016040519081016040528092919081815260200182805461032e906113cb565b801561037b5780601f106103505761010080835404028352916020019161037b565b820191906000526020600020905b81548152906001019060200180831161035e57829003601f168201915b50505050509050919050565b336001600160a01b03861681148015906103c757506001600160a01b0380871660009081526001602090815260408083209385168352929052205460ff16155b15610416576040517fe237d9220000000000000000000000000000000000000000000000000000000081526001600160a01b038083166004830152871660248201526044015b60405180910390fd5b61042386868686866105e0565b505050505050565b6060815183511461047557815183516040517f5b0599910000000000000000000000000000000000000000000000000000000081526004810192909252602482015260440161040d565b6000835167ffffffffffffffff81111561049157610491610f71565b6040519080825280602002602001820160405280156104ba578160200160208202803683370190505b50905060005b8451811015610511576020808202860101516104e4906020808402870101516101e8565b8282815181106104f6576104f661141e565b602090810291909101015261050a8161147c565b90506104c0565b509392505050565b60606105273384848461067a565b505050565b6105373383836106d1565b5050565b60606105273384848461079f565b336001600160a01b038616811480159061058957506001600160a01b0380871660009081526001602090815260408083209385168352929052205460ff16155b156105d3576040517fe237d9220000000000000000000000000000000000000000000000000000000081526001600160a01b0380831660048301528716602482015260440161040d565b6104238686868686610815565b6001600160a01b038416610623576040517f57f447ce0000000000000000000000000000000000000000000000000000000081526000600482015260240161040d565b6001600160a01b038516610666576040517f01a835140000000000000000000000000000000000000000000000000000000081526000600482015260240161040d565b61067385858585856108d6565b5050505050565b6001600160a01b0384166106bd576040517f57f447ce0000000000000000000000000000000000000000000000000000000081526000600482015260240161040d565b6106cb6000858585856108d6565b50505050565b6001600160a01b038216610714576040517fced3e1000000000000000000000000000000000000000000000000000000000081526000600482015260240161040d565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0384166107e2576040517f57f447ce0000000000000000000000000000000000000000000000000000000081526000600482015260240161040d565b604080516001808252602082018690528183019081526060820185905260808201909252906104236000878484876108d6565b6001600160a01b038416610858576040517f57f447ce0000000000000000000000000000000000000000000000000000000081526000600482015260240161040d565b6001600160a01b03851661089b576040517f01a835140000000000000000000000000000000000000000000000000000000081526000600482015260240161040d565b604080516001808252602082018690528183019081526060820185905260808201909252906108cd87878484876108d6565b50505050505050565b6108e285858585610929565b6001600160a01b03841615610673578251339060010361091b5760208481015190840151610914838989858589610b78565b5050610423565b610423818787878787610d18565b805182511461097157815181516040517f5b0599910000000000000000000000000000000000000000000000000000000081526004810192909252602482015260440161040d565b3360005b8351811015610a99576020818102858101820151908501909101516001600160a01b03881615610a41576000828152602081815260408083206001600160a01b038c16845290915290205481811015610a1a576040517f03dee4c50000000000000000000000000000000000000000000000000000000081526001600160a01b038a16600482015260248101829052604481018390526064810184905260840161040d565b6000838152602081815260408083206001600160a01b038d16845290915290209082900390555b6001600160a01b03871615610a86576000828152602081815260408083206001600160a01b038b16845290915281208054839290610a809084906114b4565b90915550505b505080610a929061147c565b9050610975565b508251600103610b1a5760208301516000906020840151909150856001600160a01b0316876001600160a01b0316846001600160a01b03167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628585604051610b0b929190918252602082015260400190565b60405180910390a45050610673565b836001600160a01b0316856001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051610b699291906114c7565b60405180910390a45050505050565b6001600160a01b0384163b15610423576040517ff23a6e610000000000000000000000000000000000000000000000000000000081526001600160a01b0385169063f23a6e6190610bd590899089908890889088906004016114f5565b6020604051808303816000875af1925050508015610c10575060408051601f3d908101601f19168201909252610c0d91810190611538565b60015b610c92573d808015610c3e576040519150601f19603f3d011682016040523d82523d6000602084013e610c43565b606091505b508051600003610c8a576040517f57f447ce0000000000000000000000000000000000000000000000000000000081526001600160a01b038616600482015260240161040d565b805181602001fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e6100000000000000000000000000000000000000000000000000000000146108cd576040517f57f447ce0000000000000000000000000000000000000000000000000000000081526001600160a01b038616600482015260240161040d565b6001600160a01b0384163b15610423576040517fbc197c810000000000000000000000000000000000000000000000000000000081526001600160a01b0385169063bc197c8190610d759089908990889088908890600401611555565b6020604051808303816000875af1925050508015610db0575060408051601f3d908101601f19168201909252610dad91810190611538565b60015b610dde573d808015610c3e576040519150601f19603f3d011682016040523d82523d6000602084013e610c43565b7fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c8100000000000000000000000000000000000000000000000000000000146108cd576040517f57f447ce0000000000000000000000000000000000000000000000000000000081526001600160a01b038616600482015260240161040d565b80356001600160a01b0381168114610e7b57600080fd5b919050565b60008060408385031215610e9357600080fd5b610e9c83610e64565b946020939093013593505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610ed857600080fd5b50565b600060208284031215610eed57600080fd5b8135610ef881610eaa565b9392505050565b600060208284031215610f1157600080fd5b5035919050565b6000815180845260005b81811015610f3e57602081850181015186830182015201610f22565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610ef86020830184610f18565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610fc957610fc9610f71565b604052919050565b600067ffffffffffffffff821115610feb57610feb610f71565b5060051b60200190565b600082601f83011261100657600080fd5b8135602061101b61101683610fd1565b610fa0565b82815260059290921b8401810191818101908684111561103a57600080fd5b8286015b84811015611055578035835291830191830161103e565b509695505050505050565b600082601f83011261107157600080fd5b813567ffffffffffffffff81111561108b5761108b610f71565b61109e6020601f19601f84011601610fa0565b8181528460208386010111156110b357600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a086880312156110e857600080fd5b6110f186610e64565b94506110ff60208701610e64565b9350604086013567ffffffffffffffff8082111561111c57600080fd5b61112889838a01610ff5565b9450606088013591508082111561113e57600080fd5b61114a89838a01610ff5565b9350608088013591508082111561116057600080fd5b5061116d88828901611060565b9150509295509295909350565b6000806040838503121561118d57600080fd5b823567ffffffffffffffff808211156111a557600080fd5b818501915085601f8301126111b957600080fd5b813560206111c961101683610fd1565b82815260059290921b840181019181810190898411156111e857600080fd5b948201945b8386101561120d576111fe86610e64565b825294820194908201906111ed565b9650508601359250508082111561122357600080fd5b5061123085828601610ff5565b9150509250929050565b600081518084526020808501945080840160005b8381101561126a5781518752958201959082019060010161124e565b509495945050505050565b602081526000610ef8602083018461123a565b6000806040838503121561129b57600080fd5b823567ffffffffffffffff808211156112b357600080fd5b6112bf86838701610ff5565b9350602085013591508082111561122357600080fd5b600080604083850312156112e857600080fd5b6112f183610e64565b91506020830135801515811461130657600080fd5b809150509250929050565b6000806040838503121561132457600080fd5b50508035926020909101359150565b6000806040838503121561134657600080fd5b61134f83610e64565b915061135d60208401610e64565b90509250929050565b600080600080600060a0868803121561137e57600080fd5b61138786610e64565b945061139560208701610e64565b93506040860135925060608601359150608086013567ffffffffffffffff8111156113bf57600080fd5b61116d88828901611060565b600181811c908216806113df57607f821691505b602082108103611418577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036114ad576114ad61144d565b5060010190565b8082018082111561020a5761020a61144d565b6040815260006114da604083018561123a565b82810360208401526114ec818561123a565b95945050505050565b60006001600160a01b03808816835280871660208401525084604083015283606083015260a0608083015261152d60a0830184610f18565b979650505050505050565b60006020828403121561154a57600080fd5b8151610ef881610eaa565b60006001600160a01b03808816835280871660208401525060a0604083015261158160a083018661123a565b8281036060840152611593818661123a565b905082810360808401526115a78185610f18565b9897505050505050505056fea26469706673582212207e29809e48a2fd24db36f468cbbde4821fffb20e7736eff133d0ac5105a4b97064736f6c63430008140033",
469
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100bd5760003560e01c80639dd4742611610076578063b0eb48e11161005b578063b0eb48e114610186578063e985e9c514610199578063f242432a146101d557600080fd5b80639dd4742614610160578063a22cb4651461017357600080fd5b80630e89341c116100a75780630e89341c1461010b5780632eb2c2d61461012b5780634e1273f41461014057600080fd5b8062fdd58e146100c257806301ffc9a7146100e8575b600080fd5b6100d56100d0366004610e80565b6101e8565b6040519081526020015b60405180910390f35b6100fb6100f6366004610edb565b610210565b60405190151581526020016100df565b61011e610119366004610eff565b6102f3565b6040516100df9190610f5e565b61013e6101393660046110d0565b610387565b005b61015361014e36600461117a565b61042b565b6040516100df9190611275565b61013e61016e366004611288565b610519565b61013e6101813660046112d5565b61052c565b61013e610194366004611311565b61053b565b6100fb6101a7366004611333565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205460ff1690565b61013e6101e3366004611366565b610549565b6000818152602081815260408083206001600160a01b03861684529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a260000000000000000000000000000000000000000000000000000000014806102a357507fffffffff0000000000000000000000000000000000000000000000000000000082167f0e89341c00000000000000000000000000000000000000000000000000000000145b8061020a57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161461020a565b606060028054610302906113cb565b80601f016020809104026020016040519081016040528092919081815260200182805461032e906113cb565b801561037b5780601f106103505761010080835404028352916020019161037b565b820191906000526020600020905b81548152906001019060200180831161035e57829003601f168201915b50505050509050919050565b336001600160a01b03861681148015906103c757506001600160a01b0380871660009081526001602090815260408083209385168352929052205460ff16155b15610416576040517fe237d9220000000000000000000000000000000000000000000000000000000081526001600160a01b038083166004830152871660248201526044015b60405180910390fd5b61042386868686866105e0565b505050505050565b6060815183511461047557815183516040517f5b0599910000000000000000000000000000000000000000000000000000000081526004810192909252602482015260440161040d565b6000835167ffffffffffffffff81111561049157610491610f71565b6040519080825280602002602001820160405280156104ba578160200160208202803683370190505b50905060005b8451811015610511576020808202860101516104e4906020808402870101516101e8565b8282815181106104f6576104f661141e565b602090810291909101015261050a8161147c565b90506104c0565b509392505050565b60606105273384848461067a565b505050565b6105373383836106d1565b5050565b60606105273384848461079f565b336001600160a01b038616811480159061058957506001600160a01b0380871660009081526001602090815260408083209385168352929052205460ff16155b156105d3576040517fe237d9220000000000000000000000000000000000000000000000000000000081526001600160a01b0380831660048301528716602482015260440161040d565b6104238686868686610815565b6001600160a01b038416610623576040517f57f447ce0000000000000000000000000000000000000000000000000000000081526000600482015260240161040d565b6001600160a01b038516610666576040517f01a835140000000000000000000000000000000000000000000000000000000081526000600482015260240161040d565b61067385858585856108d6565b5050505050565b6001600160a01b0384166106bd576040517f57f447ce0000000000000000000000000000000000000000000000000000000081526000600482015260240161040d565b6106cb6000858585856108d6565b50505050565b6001600160a01b038216610714576040517fced3e1000000000000000000000000000000000000000000000000000000000081526000600482015260240161040d565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0384166107e2576040517f57f447ce0000000000000000000000000000000000000000000000000000000081526000600482015260240161040d565b604080516001808252602082018690528183019081526060820185905260808201909252906104236000878484876108d6565b6001600160a01b038416610858576040517f57f447ce0000000000000000000000000000000000000000000000000000000081526000600482015260240161040d565b6001600160a01b03851661089b576040517f01a835140000000000000000000000000000000000000000000000000000000081526000600482015260240161040d565b604080516001808252602082018690528183019081526060820185905260808201909252906108cd87878484876108d6565b50505050505050565b6108e285858585610929565b6001600160a01b03841615610673578251339060010361091b5760208481015190840151610914838989858589610b78565b5050610423565b610423818787878787610d18565b805182511461097157815181516040517f5b0599910000000000000000000000000000000000000000000000000000000081526004810192909252602482015260440161040d565b3360005b8351811015610a99576020818102858101820151908501909101516001600160a01b03881615610a41576000828152602081815260408083206001600160a01b038c16845290915290205481811015610a1a576040517f03dee4c50000000000000000000000000000000000000000000000000000000081526001600160a01b038a16600482015260248101829052604481018390526064810184905260840161040d565b6000838152602081815260408083206001600160a01b038d16845290915290209082900390555b6001600160a01b03871615610a86576000828152602081815260408083206001600160a01b038b16845290915281208054839290610a809084906114b4565b90915550505b505080610a929061147c565b9050610975565b508251600103610b1a5760208301516000906020840151909150856001600160a01b0316876001600160a01b0316846001600160a01b03167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628585604051610b0b929190918252602082015260400190565b60405180910390a45050610673565b836001600160a01b0316856001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051610b699291906114c7565b60405180910390a45050505050565b6001600160a01b0384163b15610423576040517ff23a6e610000000000000000000000000000000000000000000000000000000081526001600160a01b0385169063f23a6e6190610bd590899089908890889088906004016114f5565b6020604051808303816000875af1925050508015610c10575060408051601f3d908101601f19168201909252610c0d91810190611538565b60015b610c92573d808015610c3e576040519150601f19603f3d011682016040523d82523d6000602084013e610c43565b606091505b508051600003610c8a576040517f57f447ce0000000000000000000000000000000000000000000000000000000081526001600160a01b038616600482015260240161040d565b805181602001fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e6100000000000000000000000000000000000000000000000000000000146108cd576040517f57f447ce0000000000000000000000000000000000000000000000000000000081526001600160a01b038616600482015260240161040d565b6001600160a01b0384163b15610423576040517fbc197c810000000000000000000000000000000000000000000000000000000081526001600160a01b0385169063bc197c8190610d759089908990889088908890600401611555565b6020604051808303816000875af1925050508015610db0575060408051601f3d908101601f19168201909252610dad91810190611538565b60015b610dde573d808015610c3e576040519150601f19603f3d011682016040523d82523d6000602084013e610c43565b7fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c8100000000000000000000000000000000000000000000000000000000146108cd576040517f57f447ce0000000000000000000000000000000000000000000000000000000081526001600160a01b038616600482015260240161040d565b80356001600160a01b0381168114610e7b57600080fd5b919050565b60008060408385031215610e9357600080fd5b610e9c83610e64565b946020939093013593505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610ed857600080fd5b50565b600060208284031215610eed57600080fd5b8135610ef881610eaa565b9392505050565b600060208284031215610f1157600080fd5b5035919050565b6000815180845260005b81811015610f3e57602081850181015186830182015201610f22565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610ef86020830184610f18565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610fc957610fc9610f71565b604052919050565b600067ffffffffffffffff821115610feb57610feb610f71565b5060051b60200190565b600082601f83011261100657600080fd5b8135602061101b61101683610fd1565b610fa0565b82815260059290921b8401810191818101908684111561103a57600080fd5b8286015b84811015611055578035835291830191830161103e565b509695505050505050565b600082601f83011261107157600080fd5b813567ffffffffffffffff81111561108b5761108b610f71565b61109e6020601f19601f84011601610fa0565b8181528460208386010111156110b357600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a086880312156110e857600080fd5b6110f186610e64565b94506110ff60208701610e64565b9350604086013567ffffffffffffffff8082111561111c57600080fd5b61112889838a01610ff5565b9450606088013591508082111561113e57600080fd5b61114a89838a01610ff5565b9350608088013591508082111561116057600080fd5b5061116d88828901611060565b9150509295509295909350565b6000806040838503121561118d57600080fd5b823567ffffffffffffffff808211156111a557600080fd5b818501915085601f8301126111b957600080fd5b813560206111c961101683610fd1565b82815260059290921b840181019181810190898411156111e857600080fd5b948201945b8386101561120d576111fe86610e64565b825294820194908201906111ed565b9650508601359250508082111561122357600080fd5b5061123085828601610ff5565b9150509250929050565b600081518084526020808501945080840160005b8381101561126a5781518752958201959082019060010161124e565b509495945050505050565b602081526000610ef8602083018461123a565b6000806040838503121561129b57600080fd5b823567ffffffffffffffff808211156112b357600080fd5b6112bf86838701610ff5565b9350602085013591508082111561122357600080fd5b600080604083850312156112e857600080fd5b6112f183610e64565b91506020830135801515811461130657600080fd5b809150509250929050565b6000806040838503121561132457600080fd5b50508035926020909101359150565b6000806040838503121561134657600080fd5b61134f83610e64565b915061135d60208401610e64565b90509250929050565b600080600080600060a0868803121561137e57600080fd5b61138786610e64565b945061139560208701610e64565b93506040860135925060608601359150608086013567ffffffffffffffff8111156113bf57600080fd5b61116d88828901611060565b600181811c908216806113df57607f821691505b602082108103611418577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036114ad576114ad61144d565b5060010190565b8082018082111561020a5761020a61144d565b6040815260006114da604083018561123a565b82810360208401526114ec818561123a565b95945050505050565b60006001600160a01b03808816835280871660208401525084604083015283606083015260a0608083015261152d60a0830184610f18565b979650505050505050565b60006020828403121561154a57600080fd5b8151610ef881610eaa565b60006001600160a01b03808816835280871660208401525060a0604083015261158160a083018661123a565b8281036060840152611593818661123a565b905082810360808401526115a78185610f18565b9897505050505050505056fea26469706673582212207e29809e48a2fd24db36f468cbbde4821fffb20e7736eff133d0ac5105a4b97064736f6c63430008140033",
470
+ "linkReferences": {},
471
+ "deployedLinkReferences": {}
472
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/f4bbdf7ade71940a6a481c69a2c51cfb.json"
4
+ }