@super-protocol/sdk-js 0.6.0

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 (132) hide show
  1. package/build/BlockchainConnector.d.ts +48 -0
  2. package/build/BlockchainConnector.js +259 -0
  3. package/build/TIIGenerator.d.ts +21 -0
  4. package/build/TIIGenerator.js +251 -0
  5. package/build/constants.d.ts +7 -0
  6. package/build/constants.js +10 -0
  7. package/build/contracts/ActiveOffersList.json +131 -0
  8. package/build/contracts/ActiveOrdersList.json +74 -0
  9. package/build/contracts/Marks.json +79 -0
  10. package/build/contracts/Offers.json +999 -0
  11. package/build/contracts/Orders.json +984 -0
  12. package/build/contracts/Providers.json +440 -0
  13. package/build/contracts/ProvidersOffers.json +254 -0
  14. package/build/contracts/Staking.json +323 -0
  15. package/build/contracts/Superpro.json +197 -0
  16. package/build/contracts/SuperproToken.json +356 -0
  17. package/build/crypto/Crypto.d.ts +37 -0
  18. package/build/crypto/Crypto.js +181 -0
  19. package/build/crypto/index.d.ts +2 -0
  20. package/build/crypto/index.js +7 -0
  21. package/build/crypto/nodejs/AES.d.ts +24 -0
  22. package/build/crypto/nodejs/AES.js +152 -0
  23. package/build/crypto/nodejs/ARIA.d.ts +24 -0
  24. package/build/crypto/nodejs/ARIA.js +151 -0
  25. package/build/crypto/nodejs/ECIES.d.ts +6 -0
  26. package/build/crypto/nodejs/ECIES.js +94 -0
  27. package/build/crypto/nodejs/NativeCrypto.d.ts +54 -0
  28. package/build/crypto/nodejs/NativeCrypto.js +214 -0
  29. package/build/crypto/nodejs/RSA-Hybrid.d.ts +15 -0
  30. package/build/crypto/nodejs/RSA-Hybrid.js +153 -0
  31. package/build/index.d.ts +65 -0
  32. package/build/index.js +117 -0
  33. package/build/logger.d.ts +4 -0
  34. package/build/logger.js +8 -0
  35. package/build/models/Ballot.d.ts +13 -0
  36. package/build/models/Ballot.js +76 -0
  37. package/build/models/Offer.d.ts +70 -0
  38. package/build/models/Offer.js +273 -0
  39. package/build/models/Order.d.ts +125 -0
  40. package/build/models/Order.js +540 -0
  41. package/build/models/Provider.d.ts +40 -0
  42. package/build/models/Provider.js +167 -0
  43. package/build/models/TCB.d.ts +80 -0
  44. package/build/models/TCB.js +315 -0
  45. package/build/models/TeeOffer.d.ts +118 -0
  46. package/build/models/TeeOffer.js +436 -0
  47. package/build/proto/Compression.d.ts +33 -0
  48. package/build/proto/Compression.js +146 -0
  49. package/build/proto/TRI.d.ts +122 -0
  50. package/build/proto/TRI.js +316 -0
  51. package/build/providers/storage/ChunksDownloadDecorator.d.ts +38 -0
  52. package/build/providers/storage/ChunksDownloadDecorator.js +284 -0
  53. package/build/providers/storage/IStorageProvider.d.ts +17 -0
  54. package/build/providers/storage/IStorageProvider.js +2 -0
  55. package/build/providers/storage/StorjStorageProvider.d.ts +26 -0
  56. package/build/providers/storage/StorjStorageProvider.js +389 -0
  57. package/build/providers/storage/getStorageProvider.d.ts +4 -0
  58. package/build/providers/storage/getStorageProvider.js +16 -0
  59. package/build/staticModels/ActiveOffers.d.ts +29 -0
  60. package/build/staticModels/ActiveOffers.js +144 -0
  61. package/build/staticModels/ActiveOrders.d.ts +21 -0
  62. package/build/staticModels/ActiveOrders.js +120 -0
  63. package/build/staticModels/Consensus.d.ts +63 -0
  64. package/build/staticModels/Consensus.js +373 -0
  65. package/build/staticModels/Epochs.d.ts +23 -0
  66. package/build/staticModels/Epochs.js +97 -0
  67. package/build/staticModels/LastBlocks.d.ts +25 -0
  68. package/build/staticModels/LastBlocks.js +96 -0
  69. package/build/staticModels/Marks.d.ts +13 -0
  70. package/build/staticModels/Marks.js +113 -0
  71. package/build/staticModels/OffersFactory.d.ts +37 -0
  72. package/build/staticModels/OffersFactory.js +227 -0
  73. package/build/staticModels/OrdersFactory.d.ts +137 -0
  74. package/build/staticModels/OrdersFactory.js +539 -0
  75. package/build/staticModels/ProviderRegistry.d.ts +81 -0
  76. package/build/staticModels/ProviderRegistry.js +311 -0
  77. package/build/staticModels/Staking.d.ts +26 -0
  78. package/build/staticModels/Staking.js +132 -0
  79. package/build/staticModels/Superpro.d.ts +20 -0
  80. package/build/staticModels/Superpro.js +99 -0
  81. package/build/staticModels/SuperproToken.d.ts +30 -0
  82. package/build/staticModels/SuperproToken.js +125 -0
  83. package/build/staticModels/Suspicious.d.ts +26 -0
  84. package/build/staticModels/Suspicious.js +99 -0
  85. package/build/staticModels/TeeOffersFactory.d.ts +36 -0
  86. package/build/staticModels/TeeOffersFactory.js +206 -0
  87. package/build/staticModels/Voting.d.ts +35 -0
  88. package/build/staticModels/Voting.js +111 -0
  89. package/build/store.d.ts +12 -0
  90. package/build/store.js +13 -0
  91. package/build/types/Ballot.d.ts +75 -0
  92. package/build/types/Ballot.js +49 -0
  93. package/build/types/Epoch.d.ts +21 -0
  94. package/build/types/Epoch.js +18 -0
  95. package/build/types/Events.d.ts +18 -0
  96. package/build/types/Events.js +2 -0
  97. package/build/types/Marks.d.ts +5 -0
  98. package/build/types/Marks.js +9 -0
  99. package/build/types/Offer.d.ts +63 -0
  100. package/build/types/Offer.js +41 -0
  101. package/build/types/Order.d.ts +61 -0
  102. package/build/types/Order.js +36 -0
  103. package/build/types/Origins.d.ts +12 -0
  104. package/build/types/Origins.js +10 -0
  105. package/build/types/Provider.d.ts +25 -0
  106. package/build/types/Provider.js +19 -0
  107. package/build/types/Staking.d.ts +27 -0
  108. package/build/types/Staking.js +22 -0
  109. package/build/types/Superpro.d.ts +24 -0
  110. package/build/types/Superpro.js +29 -0
  111. package/build/types/TcbData.d.ts +26 -0
  112. package/build/types/TcbData.js +21 -0
  113. package/build/types/TeeOffer.d.ts +22 -0
  114. package/build/types/TeeOffer.js +15 -0
  115. package/build/types/Web3.d.ts +26 -0
  116. package/build/types/Web3.js +2 -0
  117. package/build/types/blockchainConnector/StorageAccess.d.ts +8 -0
  118. package/build/types/blockchainConnector/StorageAccess.js +2 -0
  119. package/build/types/storage/StorageAccess.d.ts +6 -0
  120. package/build/types/storage/StorageAccess.js +2 -0
  121. package/build/types/storage/StorageFileAccess.d.ts +5 -0
  122. package/build/types/storage/StorageFileAccess.js +2 -0
  123. package/build/types/storage/StorageObject.d.ts +8 -0
  124. package/build/types/storage/StorageObject.js +2 -0
  125. package/build/utils/NonceTracker.d.ts +12 -0
  126. package/build/utils/NonceTracker.js +84 -0
  127. package/build/utils/TxManager.d.ts +21 -0
  128. package/build/utils/TxManager.js +159 -0
  129. package/build/utils.d.ts +38 -0
  130. package/build/utils.js +195 -0
  131. package/package.json +68 -0
  132. package/readme.md +40 -0
@@ -0,0 +1,440 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "Providers",
4
+ "sourceName": "contracts/Providers.sol",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": true,
11
+ "internalType": "address",
12
+ "name": "auth",
13
+ "type": "address"
14
+ }
15
+ ],
16
+ "name": "ProviderModified",
17
+ "type": "event"
18
+ },
19
+ {
20
+ "anonymous": false,
21
+ "inputs": [
22
+ {
23
+ "indexed": true,
24
+ "internalType": "address",
25
+ "name": "auth",
26
+ "type": "address"
27
+ },
28
+ {
29
+ "indexed": true,
30
+ "internalType": "uint256",
31
+ "name": "charge",
32
+ "type": "uint256"
33
+ }
34
+ ],
35
+ "name": "ProviderPenalty",
36
+ "type": "event"
37
+ },
38
+ {
39
+ "anonymous": false,
40
+ "inputs": [
41
+ {
42
+ "indexed": true,
43
+ "internalType": "address",
44
+ "name": "auth",
45
+ "type": "address"
46
+ }
47
+ ],
48
+ "name": "ProviderRegistered",
49
+ "type": "event"
50
+ },
51
+ {
52
+ "anonymous": false,
53
+ "inputs": [
54
+ {
55
+ "indexed": true,
56
+ "internalType": "address",
57
+ "name": "auth",
58
+ "type": "address"
59
+ },
60
+ {
61
+ "indexed": false,
62
+ "internalType": "uint256",
63
+ "name": "amount",
64
+ "type": "uint256"
65
+ }
66
+ ],
67
+ "name": "ProviderSecurityDepoRefilled",
68
+ "type": "event"
69
+ },
70
+ {
71
+ "anonymous": false,
72
+ "inputs": [
73
+ {
74
+ "indexed": true,
75
+ "internalType": "address",
76
+ "name": "auth",
77
+ "type": "address"
78
+ },
79
+ {
80
+ "indexed": false,
81
+ "internalType": "uint256",
82
+ "name": "amount",
83
+ "type": "uint256"
84
+ }
85
+ ],
86
+ "name": "ProviderSecurityDepoUnlocked",
87
+ "type": "event"
88
+ },
89
+ {
90
+ "anonymous": false,
91
+ "inputs": [
92
+ {
93
+ "indexed": true,
94
+ "internalType": "address",
95
+ "name": "auth",
96
+ "type": "address"
97
+ },
98
+ {
99
+ "indexed": false,
100
+ "internalType": "uint256",
101
+ "name": "newViolationRate",
102
+ "type": "uint256"
103
+ }
104
+ ],
105
+ "name": "ProviderViolationRateIncremented",
106
+ "type": "event"
107
+ },
108
+ {
109
+ "inputs": [
110
+ {
111
+ "internalType": "address",
112
+ "name": "providerAuth",
113
+ "type": "address"
114
+ }
115
+ ],
116
+ "name": "getProviderActionAccount",
117
+ "outputs": [
118
+ {
119
+ "internalType": "address",
120
+ "name": "",
121
+ "type": "address"
122
+ }
123
+ ],
124
+ "stateMutability": "view",
125
+ "type": "function"
126
+ },
127
+ {
128
+ "inputs": [
129
+ {
130
+ "internalType": "address",
131
+ "name": "providerAuth",
132
+ "type": "address"
133
+ }
134
+ ],
135
+ "name": "getProviderInfo",
136
+ "outputs": [
137
+ {
138
+ "components": [
139
+ {
140
+ "internalType": "address",
141
+ "name": "tokenReceiver",
142
+ "type": "address"
143
+ },
144
+ {
145
+ "internalType": "address",
146
+ "name": "actionAccount",
147
+ "type": "address"
148
+ },
149
+ {
150
+ "internalType": "string",
151
+ "name": "name",
152
+ "type": "string"
153
+ },
154
+ {
155
+ "internalType": "string",
156
+ "name": "description",
157
+ "type": "string"
158
+ },
159
+ {
160
+ "internalType": "string",
161
+ "name": "metadata",
162
+ "type": "string"
163
+ }
164
+ ],
165
+ "internalType": "struct ProviderInfo",
166
+ "name": "",
167
+ "type": "tuple"
168
+ }
169
+ ],
170
+ "stateMutability": "view",
171
+ "type": "function"
172
+ },
173
+ {
174
+ "inputs": [
175
+ {
176
+ "internalType": "address",
177
+ "name": "providerAuth",
178
+ "type": "address"
179
+ }
180
+ ],
181
+ "name": "getProviderOrigins",
182
+ "outputs": [
183
+ {
184
+ "components": [
185
+ {
186
+ "internalType": "uint256",
187
+ "name": "createdDate",
188
+ "type": "uint256"
189
+ },
190
+ {
191
+ "internalType": "address",
192
+ "name": "createdBy",
193
+ "type": "address"
194
+ },
195
+ {
196
+ "internalType": "uint256",
197
+ "name": "modifiedDate",
198
+ "type": "uint256"
199
+ },
200
+ {
201
+ "internalType": "address",
202
+ "name": "modifiedBy",
203
+ "type": "address"
204
+ }
205
+ ],
206
+ "internalType": "struct Origins",
207
+ "name": "",
208
+ "type": "tuple"
209
+ }
210
+ ],
211
+ "stateMutability": "view",
212
+ "type": "function"
213
+ },
214
+ {
215
+ "inputs": [
216
+ {
217
+ "internalType": "address",
218
+ "name": "providerAuth",
219
+ "type": "address"
220
+ }
221
+ ],
222
+ "name": "getProviderSecurityDeposit",
223
+ "outputs": [
224
+ {
225
+ "internalType": "uint256",
226
+ "name": "",
227
+ "type": "uint256"
228
+ }
229
+ ],
230
+ "stateMutability": "view",
231
+ "type": "function"
232
+ },
233
+ {
234
+ "inputs": [
235
+ {
236
+ "internalType": "address",
237
+ "name": "providerAuth",
238
+ "type": "address"
239
+ }
240
+ ],
241
+ "name": "getProviderTokenReceiver",
242
+ "outputs": [
243
+ {
244
+ "internalType": "address",
245
+ "name": "",
246
+ "type": "address"
247
+ }
248
+ ],
249
+ "stateMutability": "view",
250
+ "type": "function"
251
+ },
252
+ {
253
+ "inputs": [
254
+ {
255
+ "internalType": "address",
256
+ "name": "providerAuth",
257
+ "type": "address"
258
+ }
259
+ ],
260
+ "name": "getProviderViolationRate",
261
+ "outputs": [
262
+ {
263
+ "internalType": "uint256",
264
+ "name": "",
265
+ "type": "uint256"
266
+ }
267
+ ],
268
+ "stateMutability": "view",
269
+ "type": "function"
270
+ },
271
+ {
272
+ "inputs": [],
273
+ "name": "getProvidersAuths",
274
+ "outputs": [
275
+ {
276
+ "internalType": "address[]",
277
+ "name": "",
278
+ "type": "address[]"
279
+ }
280
+ ],
281
+ "stateMutability": "view",
282
+ "type": "function"
283
+ },
284
+ {
285
+ "inputs": [],
286
+ "name": "getProvidersCount",
287
+ "outputs": [
288
+ {
289
+ "internalType": "uint256",
290
+ "name": "",
291
+ "type": "uint256"
292
+ }
293
+ ],
294
+ "stateMutability": "view",
295
+ "type": "function"
296
+ },
297
+ {
298
+ "inputs": [
299
+ {
300
+ "internalType": "address",
301
+ "name": "providerAuth",
302
+ "type": "address"
303
+ }
304
+ ],
305
+ "name": "incrProviderViolationRate",
306
+ "outputs": [],
307
+ "stateMutability": "nonpayable",
308
+ "type": "function"
309
+ },
310
+ {
311
+ "inputs": [
312
+ {
313
+ "internalType": "address",
314
+ "name": "providerAuth",
315
+ "type": "address"
316
+ }
317
+ ],
318
+ "name": "isProviderRegistered",
319
+ "outputs": [
320
+ {
321
+ "internalType": "bool",
322
+ "name": "",
323
+ "type": "bool"
324
+ }
325
+ ],
326
+ "stateMutability": "view",
327
+ "type": "function"
328
+ },
329
+ {
330
+ "inputs": [
331
+ {
332
+ "components": [
333
+ {
334
+ "internalType": "address",
335
+ "name": "tokenReceiver",
336
+ "type": "address"
337
+ },
338
+ {
339
+ "internalType": "address",
340
+ "name": "actionAccount",
341
+ "type": "address"
342
+ },
343
+ {
344
+ "internalType": "string",
345
+ "name": "name",
346
+ "type": "string"
347
+ },
348
+ {
349
+ "internalType": "string",
350
+ "name": "description",
351
+ "type": "string"
352
+ },
353
+ {
354
+ "internalType": "string",
355
+ "name": "metadata",
356
+ "type": "string"
357
+ }
358
+ ],
359
+ "internalType": "struct ProviderInfo",
360
+ "name": "info",
361
+ "type": "tuple"
362
+ }
363
+ ],
364
+ "name": "modifyProvider",
365
+ "outputs": [],
366
+ "stateMutability": "nonpayable",
367
+ "type": "function"
368
+ },
369
+ {
370
+ "inputs": [
371
+ {
372
+ "internalType": "uint256",
373
+ "name": "amount",
374
+ "type": "uint256"
375
+ }
376
+ ],
377
+ "name": "refillProviderSecurityDepo",
378
+ "outputs": [],
379
+ "stateMutability": "nonpayable",
380
+ "type": "function"
381
+ },
382
+ {
383
+ "inputs": [
384
+ {
385
+ "components": [
386
+ {
387
+ "internalType": "address",
388
+ "name": "tokenReceiver",
389
+ "type": "address"
390
+ },
391
+ {
392
+ "internalType": "address",
393
+ "name": "actionAccount",
394
+ "type": "address"
395
+ },
396
+ {
397
+ "internalType": "string",
398
+ "name": "name",
399
+ "type": "string"
400
+ },
401
+ {
402
+ "internalType": "string",
403
+ "name": "description",
404
+ "type": "string"
405
+ },
406
+ {
407
+ "internalType": "string",
408
+ "name": "metadata",
409
+ "type": "string"
410
+ }
411
+ ],
412
+ "internalType": "struct ProviderInfo",
413
+ "name": "info",
414
+ "type": "tuple"
415
+ }
416
+ ],
417
+ "name": "registerProvider",
418
+ "outputs": [],
419
+ "stateMutability": "nonpayable",
420
+ "type": "function"
421
+ },
422
+ {
423
+ "inputs": [
424
+ {
425
+ "internalType": "uint256",
426
+ "name": "amount",
427
+ "type": "uint256"
428
+ }
429
+ ],
430
+ "name": "returnProviderSecurityDepo",
431
+ "outputs": [],
432
+ "stateMutability": "nonpayable",
433
+ "type": "function"
434
+ }
435
+ ],
436
+ "bytecode": "0x608060405234801561001057600080fd5b50611a11806100206000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80637583902f1161008c578063bfafedef11610066578063bfafedef146102e6578063d8a2d2c51461030d578063e50e576f14610320578063efd6be961461033357600080fd5b80637583902f1461025c5780637a0c9fd71461027c57806389ffbb661461029157600080fd5b806324a45aa4116100c857806324a45aa4146101c85780632cf9452d1461022157806337e3340a14610236578063743c7f3c1461024957600080fd5b80630cc079f3146100ef5780630e3bbace146101575780631ead914e146101a5575b600080fd5b61013a6100fd366004611490565b6001600160a01b0390811660009081527f52588381cd4d8d3547de3f83e02afc2a959800daf5acde67c4c75b8795a617ca60205260409020541690565b6040516001600160a01b0390911681526020015b60405180910390f35b61013a610165366004611490565b6001600160a01b0390811660009081527f52588381cd4d8d3547de3f83e02afc2a959800daf5acde67c4c75b8795a617ca60205260409020600101541690565b6101b86101b3366004611490565b610346565b604051901515815260200161014e565b6102136101d6366004611490565b6001600160a01b031660009081527f52588381cd4d8d3547de3f83e02afc2a959800daf5acde67c4c75b8795a617ca602052604090206009015490565b60405190815260200161014e565b61023461022f3660046114ab565b6103fb565b005b610234610244366004611590565b610758565b6102346102573660046114ab565b6108ce565b61026f61026a366004611490565b610ad1565b60405161014e91906116b4565b610284610d10565b60405161014e9190611736565b6102a461029f366004611490565b610d95565b60405161014e9190815181526020808301516001600160a01b039081169183019190915260408084015190830152606092830151169181019190915260800190565b7f52588381cd4d8d3547de3f83e02afc2a959800daf5acde67c4c75b8795a617cc54610213565b61021361031b366004611490565b610e3b565b61023461032e366004611490565b610f2b565b610234610341366004611590565b61100f565b7f52588381cd4d8d3547de3f83e02afc2a959800daf5acde67c4c75b8795a617cc546000907f52588381cd4d8d3547de3f83e02afc2a959800daf5acde67c4c75b8795a617ca9061039a5750600092915050565b6001600160a01b03831660009081526001820160205260409020541515806103f45750826001600160a01b0316816002016000815481106103dd576103dd611783565b6000918252602090912001546001600160a01b0316145b9392505050565b336000306040517f2f06cde80000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152600060248301529190911690632f06cde89060440160206040518083038186803b15801561046257600080fd5b505afa158015610476573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061049a9190611799565b905060006104a783610e3b565b9050600084116104fe5760405162461bcd60e51b815260206004820152600e60248201527f496e76616c696420616d6f756e7400000000000000000000000000000000000060448201526064015b60405180910390fd5b808411156105745760405162461bcd60e51b815260206004820152602260248201527f4465706f736974206c657373207468616e2072657175657374656420616d6f7560448201527f6e7400000000000000000000000000000000000000000000000000000000000060648201526084016104f5565b6000306040517f024ed19e0000000000000000000000000000000000000000000000000000000081526001600160a01b038681166004830152919091169063024ed19e9060240160206040518083038186803b1580156105d357600080fd5b505afa1580156105e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060b91906117b2565b9050600061061986846117ea565b90508115806106285750808411155b61069a5760405162461bcd60e51b815260206004820152603160248201527f436f756e74206f6620656e61626c6564206f666665727320726571756972656460448201527f2061206c6172676572206465706f73697400000000000000000000000000000060648201526084016104f5565b6040517fc15d6490000000000000000000000000000000000000000000000000000000008152309063c15d6490906106db9060009089908b9060040161182b565b600060405180830381600087803b1580156106f557600080fd5b505af1158015610709573d6000803e3d6000fd5b50505050846001600160a01b03167f491959aeb49cbc7254b9a38e2aa5c7c4eda0618abf03212c038f70b7ffc78ab18760405161074891815260200190565b60405180910390a2505050505050565b61076133610346565b6107ad5760405162461bcd60e51b815260206004820152601a60248201527f50726f7669646572206973206e6f74207265676973746572656400000000000060448201526064016104f5565b3360008181527f52588381cd4d8d3547de3f83e02afc2a959800daf5acde67c4c75b8795a617ca6020526040902042600782015560088101805473ffffffffffffffffffffffffffffffffffffffff19169092179091558151815473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b039283161783556020808501516001850180549093169316929092179055604083015180518492849261086492600285019291909101906113db565b50606082015180516108809160038401916020909101906113db565b506080820151805161089c9160048401916020909101906113db565b50506040513391507f68383e0998ad9071523447c34fc42e5f2ceb5edc3d9c8c61c80de104b371cc5c90600090a25050565b6108d733610346565b6109235760405162461bcd60e51b815260206004820152601a60248201527f50726f7669646572206973206e6f74207265676973746572656400000000000060448201526064016104f5565b3360003060405163c345315360e01b81526001600160a01b038481166004830152919091169063c34531539060240160806040518083038186803b15801561096a57600080fd5b505afa15801561097e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a29190611853565b905082816060015182602001516109b991906117ea565b1015610a2d5760405162461bcd60e51b815260206004820152602260248201527f4e6f7420656e6f756768207374616b656420746f6b656e7320746f207265666960448201527f6c6c00000000000000000000000000000000000000000000000000000000000060648201526084016104f5565b60405163d719a90d60e01b8152309063d719a90d90610a57906000908690889083906004016118b9565b600060405180830381600087803b158015610a7157600080fd5b505af1158015610a85573d6000803e3d6000fd5b50505050816001600160a01b03167fa00a5a8400fb99170695f28ed505fc8b19ae0a08f8205a0d264dbb4f8850757184604051610ac491815260200190565b60405180910390a2505050565b6040805160a0808201835260008083526020808401829052606084860181905280850181905260808501526001600160a01b0386811683527f52588381cd4d8d3547de3f83e02afc2a959800daf5acde67c4c75b8795a617ca8252918590208551938401865280548316845260018101549092169083015260028101805493949193849284019190610b62906118eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610b8e906118eb565b8015610bdb5780601f10610bb057610100808354040283529160200191610bdb565b820191906000526020600020905b815481529060010190602001808311610bbe57829003601f168201915b50505050508152602001600382018054610bf4906118eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610c20906118eb565b8015610c6d5780601f10610c4257610100808354040283529160200191610c6d565b820191906000526020600020905b815481529060010190602001808311610c5057829003601f168201915b50505050508152602001600482018054610c86906118eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610cb2906118eb565b8015610cff5780601f10610cd457610100808354040283529160200191610cff565b820191906000526020600020905b815481529060010190602001808311610ce257829003601f168201915b505050505081525050915050919050565b606060007f52588381cd4d8d3547de3f83e02afc2a959800daf5acde67c4c75b8795a617ca60028101805460408051602080840282018101909252828152939450830182828015610d8a57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610d6c575b505050505091505090565b604080516080810182526000808252602082018190529181018290526060810182905290610df6836001600160a01b031660009081527f52588381cd4d8d3547de3f83e02afc2a959800daf5acde67c4c75b8795a617ca6020526040902090565b604080516080810182526005830154815260068301546001600160a01b0390811660208301526007840154928201929092526008909201541660608201529392505050565b6000610e4682610346565b610e925760405162461bcd60e51b815260206004820152600e60248201527f4e6f7420612070726f766964657200000000000000000000000000000000000060448201526064016104f5565b6040517f1dd96db80000000000000000000000000000000000000000000000000000000081523090631dd96db890610ed1906000908690600401611926565b60606040518083038186803b158015610ee957600080fd5b505afa158015610efd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f21919061194a565b6040015192915050565b333014610f7a5760405162461bcd60e51b815260206004820152601660248201527f45787465726e616c206163636573732064656e6965640000000000000000000060448201526064016104f5565b6001600160a01b03811660009081527f52588381cd4d8d3547de3f83e02afc2a959800daf5acde67c4c75b8795a617ca6020526040812090508060090160008154610fc4906119a6565b9091555060098101546040519081526001600160a01b038316907febb939c0d7d2fffc5d2993e54117e806d70e1b12ee7e77336a891de176fa48bc9060200160405180910390a25050565b61101833610346565b156110655760405162461bcd60e51b815260206004820152601b60248201527f50726f766964657220616c72656164792072656769737465726564000000000060448201526064016104f5565b3360003060405163c345315360e01b81526001600160a01b038481166004830152919091169063c34531539060240160806040518083038186803b1580156110ac57600080fd5b505afa1580156110c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e49190611853565b90506000816060015182602001516110fc91906117ea565b6040517f897ce7cf000000000000000000000000000000000000000000000000000000008152909150600090309063897ce7cf9061113f906002906004016119c1565b60206040518083038186803b15801561115757600080fd5b505afa15801561116b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118f9190611799565b9050808210156112075760405162461bcd60e51b815260206004820152602960248201527f4e6f7420656e6f756768207374616b656420746f6b656e7320666f722072656760448201527f697374726174696f6e000000000000000000000000000000000000000000000060648201526084016104f5565b60405163d719a90d60e01b8152309063d719a90d90611231906000908890869083906004016118b9565b600060405180830381600087803b15801561124b57600080fd5b505af115801561125f573d6000803e3d6000fd5b50505050600061128c7f52588381cd4d8d3547de3f83e02afc2a959800daf5acde67c4c75b8795a617ca90565b600281810180546001600160a01b0389811660008181526001808801602090815260408084208790558287018855968352808320909501805473ffffffffffffffffffffffffffffffffffffffff199081168517909155928252878552908590208d51815484169085161781558d850151918101805490931691909316179055918a0151805194955091938a93859361132b93918501929101906113db565b50606082015180516113479160038401916020909101906113db565b50608082015180516113639160048401916020909101906113db565b505042600583018190556006830180543373ffffffffffffffffffffffffffffffffffffffff19918216811790925560078501929092556008840180549092161790555060405133907f70abce74777b3838ae60a33a6b9a87d9d25532668fe4fea548554c55868579c090600090a250505050505050565b8280546113e7906118eb565b90600052602060002090601f016020900481019282611409576000855561144f565b82601f1061142257805160ff191683800117855561144f565b8280016001018555821561144f579182015b8281111561144f578251825591602001919060010190611434565b5061145b92915061145f565b5090565b5b8082111561145b5760008155600101611460565b80356001600160a01b038116811461148b57600080fd5b919050565b6000602082840312156114a257600080fd5b6103f482611474565b6000602082840312156114bd57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b60405160a0810167ffffffffffffffff811182821017156114fd576114fd6114c4565b60405290565b600082601f83011261151457600080fd5b813567ffffffffffffffff8082111561152f5761152f6114c4565b604051601f8301601f19908116603f01168101908282118183101715611557576115576114c4565b8160405283815286602085880101111561157057600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000602082840312156115a257600080fd5b813567ffffffffffffffff808211156115ba57600080fd5b9083019060a082860312156115ce57600080fd5b6115d66114da565b6115df83611474565b81526115ed60208401611474565b602082015260408301358281111561160457600080fd5b61161087828601611503565b60408301525060608301358281111561162857600080fd5b61163487828601611503565b60608301525060808301358281111561164c57600080fd5b61165887828601611503565b60808301525095945050505050565b6000815180845260005b8181101561168d57602081850181015186830182015201611671565b8181111561169f576000602083870101525b50601f01601f19169290920160200192915050565b6020815260006001600160a01b0380845116602084015280602085015116604084015250604083015160a060608401526116f160c0840182611667565b90506060840151601f198085840301608086015261170f8383611667565b925060808601519150808584030160a08601525061172d8282611667565b95945050505050565b6020808252825182820181905260009190848201906040850190845b818110156117775783516001600160a01b031683529284019291840191600101611752565b50909695505050505050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156117ab57600080fd5b5051919050565b6000602082840312156117c457600080fd5b815180151581146103f457600080fd5b634e487b7160e01b600052601160045260246000fd5b6000828210156117fc576117fc6117d4565b500390565b634e487b7160e01b600052602160045260246000fd5b6003811061182757611827611801565b9052565b606081016118398286611817565b6001600160a01b0393909316602082015260400152919050565b60006080828403121561186557600080fd5b6040516080810181811067ffffffffffffffff82111715611888576118886114c4565b8060405250825181526020830151602082015260408301516040820152606083015160608201528091505092915050565b608081016118c78287611817565b6001600160a01b038516602083015283604083015282606083015295945050505050565b600181811c908216806118ff57607f821691505b6020821081141561192057634e487b7160e01b600052602260045260246000fd5b50919050565b604081016119348285611817565b6001600160a01b03831660208301529392505050565b60006060828403121561195c57600080fd5b6040516060810181811067ffffffffffffffff8211171561197f5761197f6114c4565b80604052508251815260208301516020820152604083015160408201528091505092915050565b60006000198214156119ba576119ba6117d4565b5060010190565b60208101600883106119d5576119d5611801565b9190529056fea26469706673582212209045767f14b3903d775d128519bf086337fbd11db906917c62bf5ef26b5b199564736f6c63430008090033",
437
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c80637583902f1161008c578063bfafedef11610066578063bfafedef146102e6578063d8a2d2c51461030d578063e50e576f14610320578063efd6be961461033357600080fd5b80637583902f1461025c5780637a0c9fd71461027c57806389ffbb661461029157600080fd5b806324a45aa4116100c857806324a45aa4146101c85780632cf9452d1461022157806337e3340a14610236578063743c7f3c1461024957600080fd5b80630cc079f3146100ef5780630e3bbace146101575780631ead914e146101a5575b600080fd5b61013a6100fd366004611490565b6001600160a01b0390811660009081527f52588381cd4d8d3547de3f83e02afc2a959800daf5acde67c4c75b8795a617ca60205260409020541690565b6040516001600160a01b0390911681526020015b60405180910390f35b61013a610165366004611490565b6001600160a01b0390811660009081527f52588381cd4d8d3547de3f83e02afc2a959800daf5acde67c4c75b8795a617ca60205260409020600101541690565b6101b86101b3366004611490565b610346565b604051901515815260200161014e565b6102136101d6366004611490565b6001600160a01b031660009081527f52588381cd4d8d3547de3f83e02afc2a959800daf5acde67c4c75b8795a617ca602052604090206009015490565b60405190815260200161014e565b61023461022f3660046114ab565b6103fb565b005b610234610244366004611590565b610758565b6102346102573660046114ab565b6108ce565b61026f61026a366004611490565b610ad1565b60405161014e91906116b4565b610284610d10565b60405161014e9190611736565b6102a461029f366004611490565b610d95565b60405161014e9190815181526020808301516001600160a01b039081169183019190915260408084015190830152606092830151169181019190915260800190565b7f52588381cd4d8d3547de3f83e02afc2a959800daf5acde67c4c75b8795a617cc54610213565b61021361031b366004611490565b610e3b565b61023461032e366004611490565b610f2b565b610234610341366004611590565b61100f565b7f52588381cd4d8d3547de3f83e02afc2a959800daf5acde67c4c75b8795a617cc546000907f52588381cd4d8d3547de3f83e02afc2a959800daf5acde67c4c75b8795a617ca9061039a5750600092915050565b6001600160a01b03831660009081526001820160205260409020541515806103f45750826001600160a01b0316816002016000815481106103dd576103dd611783565b6000918252602090912001546001600160a01b0316145b9392505050565b336000306040517f2f06cde80000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152600060248301529190911690632f06cde89060440160206040518083038186803b15801561046257600080fd5b505afa158015610476573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061049a9190611799565b905060006104a783610e3b565b9050600084116104fe5760405162461bcd60e51b815260206004820152600e60248201527f496e76616c696420616d6f756e7400000000000000000000000000000000000060448201526064015b60405180910390fd5b808411156105745760405162461bcd60e51b815260206004820152602260248201527f4465706f736974206c657373207468616e2072657175657374656420616d6f7560448201527f6e7400000000000000000000000000000000000000000000000000000000000060648201526084016104f5565b6000306040517f024ed19e0000000000000000000000000000000000000000000000000000000081526001600160a01b038681166004830152919091169063024ed19e9060240160206040518083038186803b1580156105d357600080fd5b505afa1580156105e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060b91906117b2565b9050600061061986846117ea565b90508115806106285750808411155b61069a5760405162461bcd60e51b815260206004820152603160248201527f436f756e74206f6620656e61626c6564206f666665727320726571756972656460448201527f2061206c6172676572206465706f73697400000000000000000000000000000060648201526084016104f5565b6040517fc15d6490000000000000000000000000000000000000000000000000000000008152309063c15d6490906106db9060009089908b9060040161182b565b600060405180830381600087803b1580156106f557600080fd5b505af1158015610709573d6000803e3d6000fd5b50505050846001600160a01b03167f491959aeb49cbc7254b9a38e2aa5c7c4eda0618abf03212c038f70b7ffc78ab18760405161074891815260200190565b60405180910390a2505050505050565b61076133610346565b6107ad5760405162461bcd60e51b815260206004820152601a60248201527f50726f7669646572206973206e6f74207265676973746572656400000000000060448201526064016104f5565b3360008181527f52588381cd4d8d3547de3f83e02afc2a959800daf5acde67c4c75b8795a617ca6020526040902042600782015560088101805473ffffffffffffffffffffffffffffffffffffffff19169092179091558151815473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b039283161783556020808501516001850180549093169316929092179055604083015180518492849261086492600285019291909101906113db565b50606082015180516108809160038401916020909101906113db565b506080820151805161089c9160048401916020909101906113db565b50506040513391507f68383e0998ad9071523447c34fc42e5f2ceb5edc3d9c8c61c80de104b371cc5c90600090a25050565b6108d733610346565b6109235760405162461bcd60e51b815260206004820152601a60248201527f50726f7669646572206973206e6f74207265676973746572656400000000000060448201526064016104f5565b3360003060405163c345315360e01b81526001600160a01b038481166004830152919091169063c34531539060240160806040518083038186803b15801561096a57600080fd5b505afa15801561097e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a29190611853565b905082816060015182602001516109b991906117ea565b1015610a2d5760405162461bcd60e51b815260206004820152602260248201527f4e6f7420656e6f756768207374616b656420746f6b656e7320746f207265666960448201527f6c6c00000000000000000000000000000000000000000000000000000000000060648201526084016104f5565b60405163d719a90d60e01b8152309063d719a90d90610a57906000908690889083906004016118b9565b600060405180830381600087803b158015610a7157600080fd5b505af1158015610a85573d6000803e3d6000fd5b50505050816001600160a01b03167fa00a5a8400fb99170695f28ed505fc8b19ae0a08f8205a0d264dbb4f8850757184604051610ac491815260200190565b60405180910390a2505050565b6040805160a0808201835260008083526020808401829052606084860181905280850181905260808501526001600160a01b0386811683527f52588381cd4d8d3547de3f83e02afc2a959800daf5acde67c4c75b8795a617ca8252918590208551938401865280548316845260018101549092169083015260028101805493949193849284019190610b62906118eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610b8e906118eb565b8015610bdb5780601f10610bb057610100808354040283529160200191610bdb565b820191906000526020600020905b815481529060010190602001808311610bbe57829003601f168201915b50505050508152602001600382018054610bf4906118eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610c20906118eb565b8015610c6d5780601f10610c4257610100808354040283529160200191610c6d565b820191906000526020600020905b815481529060010190602001808311610c5057829003601f168201915b50505050508152602001600482018054610c86906118eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610cb2906118eb565b8015610cff5780601f10610cd457610100808354040283529160200191610cff565b820191906000526020600020905b815481529060010190602001808311610ce257829003601f168201915b505050505081525050915050919050565b606060007f52588381cd4d8d3547de3f83e02afc2a959800daf5acde67c4c75b8795a617ca60028101805460408051602080840282018101909252828152939450830182828015610d8a57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610d6c575b505050505091505090565b604080516080810182526000808252602082018190529181018290526060810182905290610df6836001600160a01b031660009081527f52588381cd4d8d3547de3f83e02afc2a959800daf5acde67c4c75b8795a617ca6020526040902090565b604080516080810182526005830154815260068301546001600160a01b0390811660208301526007840154928201929092526008909201541660608201529392505050565b6000610e4682610346565b610e925760405162461bcd60e51b815260206004820152600e60248201527f4e6f7420612070726f766964657200000000000000000000000000000000000060448201526064016104f5565b6040517f1dd96db80000000000000000000000000000000000000000000000000000000081523090631dd96db890610ed1906000908690600401611926565b60606040518083038186803b158015610ee957600080fd5b505afa158015610efd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f21919061194a565b6040015192915050565b333014610f7a5760405162461bcd60e51b815260206004820152601660248201527f45787465726e616c206163636573732064656e6965640000000000000000000060448201526064016104f5565b6001600160a01b03811660009081527f52588381cd4d8d3547de3f83e02afc2a959800daf5acde67c4c75b8795a617ca6020526040812090508060090160008154610fc4906119a6565b9091555060098101546040519081526001600160a01b038316907febb939c0d7d2fffc5d2993e54117e806d70e1b12ee7e77336a891de176fa48bc9060200160405180910390a25050565b61101833610346565b156110655760405162461bcd60e51b815260206004820152601b60248201527f50726f766964657220616c72656164792072656769737465726564000000000060448201526064016104f5565b3360003060405163c345315360e01b81526001600160a01b038481166004830152919091169063c34531539060240160806040518083038186803b1580156110ac57600080fd5b505afa1580156110c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e49190611853565b90506000816060015182602001516110fc91906117ea565b6040517f897ce7cf000000000000000000000000000000000000000000000000000000008152909150600090309063897ce7cf9061113f906002906004016119c1565b60206040518083038186803b15801561115757600080fd5b505afa15801561116b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118f9190611799565b9050808210156112075760405162461bcd60e51b815260206004820152602960248201527f4e6f7420656e6f756768207374616b656420746f6b656e7320666f722072656760448201527f697374726174696f6e000000000000000000000000000000000000000000000060648201526084016104f5565b60405163d719a90d60e01b8152309063d719a90d90611231906000908890869083906004016118b9565b600060405180830381600087803b15801561124b57600080fd5b505af115801561125f573d6000803e3d6000fd5b50505050600061128c7f52588381cd4d8d3547de3f83e02afc2a959800daf5acde67c4c75b8795a617ca90565b600281810180546001600160a01b0389811660008181526001808801602090815260408084208790558287018855968352808320909501805473ffffffffffffffffffffffffffffffffffffffff199081168517909155928252878552908590208d51815484169085161781558d850151918101805490931691909316179055918a0151805194955091938a93859361132b93918501929101906113db565b50606082015180516113479160038401916020909101906113db565b50608082015180516113639160048401916020909101906113db565b505042600583018190556006830180543373ffffffffffffffffffffffffffffffffffffffff19918216811790925560078501929092556008840180549092161790555060405133907f70abce74777b3838ae60a33a6b9a87d9d25532668fe4fea548554c55868579c090600090a250505050505050565b8280546113e7906118eb565b90600052602060002090601f016020900481019282611409576000855561144f565b82601f1061142257805160ff191683800117855561144f565b8280016001018555821561144f579182015b8281111561144f578251825591602001919060010190611434565b5061145b92915061145f565b5090565b5b8082111561145b5760008155600101611460565b80356001600160a01b038116811461148b57600080fd5b919050565b6000602082840312156114a257600080fd5b6103f482611474565b6000602082840312156114bd57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b60405160a0810167ffffffffffffffff811182821017156114fd576114fd6114c4565b60405290565b600082601f83011261151457600080fd5b813567ffffffffffffffff8082111561152f5761152f6114c4565b604051601f8301601f19908116603f01168101908282118183101715611557576115576114c4565b8160405283815286602085880101111561157057600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000602082840312156115a257600080fd5b813567ffffffffffffffff808211156115ba57600080fd5b9083019060a082860312156115ce57600080fd5b6115d66114da565b6115df83611474565b81526115ed60208401611474565b602082015260408301358281111561160457600080fd5b61161087828601611503565b60408301525060608301358281111561162857600080fd5b61163487828601611503565b60608301525060808301358281111561164c57600080fd5b61165887828601611503565b60808301525095945050505050565b6000815180845260005b8181101561168d57602081850181015186830182015201611671565b8181111561169f576000602083870101525b50601f01601f19169290920160200192915050565b6020815260006001600160a01b0380845116602084015280602085015116604084015250604083015160a060608401526116f160c0840182611667565b90506060840151601f198085840301608086015261170f8383611667565b925060808601519150808584030160a08601525061172d8282611667565b95945050505050565b6020808252825182820181905260009190848201906040850190845b818110156117775783516001600160a01b031683529284019291840191600101611752565b50909695505050505050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156117ab57600080fd5b5051919050565b6000602082840312156117c457600080fd5b815180151581146103f457600080fd5b634e487b7160e01b600052601160045260246000fd5b6000828210156117fc576117fc6117d4565b500390565b634e487b7160e01b600052602160045260246000fd5b6003811061182757611827611801565b9052565b606081016118398286611817565b6001600160a01b0393909316602082015260400152919050565b60006080828403121561186557600080fd5b6040516080810181811067ffffffffffffffff82111715611888576118886114c4565b8060405250825181526020830151602082015260408301516040820152606083015160608201528091505092915050565b608081016118c78287611817565b6001600160a01b038516602083015283604083015282606083015295945050505050565b600181811c908216806118ff57607f821691505b6020821081141561192057634e487b7160e01b600052602260045260246000fd5b50919050565b604081016119348285611817565b6001600160a01b03831660208301529392505050565b60006060828403121561195c57600080fd5b6040516060810181811067ffffffffffffffff8211171561197f5761197f6114c4565b80604052508251815260208301516020820152604083015160408201528091505092915050565b60006000198214156119ba576119ba6117d4565b5060010190565b60208101600883106119d5576119d5611801565b9190529056fea26469706673582212209045767f14b3903d775d128519bf086337fbd11db906917c62bf5ef26b5b199564736f6c63430008090033",
438
+ "linkReferences": {},
439
+ "deployedLinkReferences": {}
440
+ }