@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,254 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "ProvidersOffers",
4
+ "sourceName": "contracts/ProvidersOffers.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "providerAuth",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "uint256",
15
+ "name": "offerId",
16
+ "type": "uint256"
17
+ },
18
+ {
19
+ "internalType": "enum OfferType",
20
+ "name": "offerType",
21
+ "type": "uint8"
22
+ }
23
+ ],
24
+ "name": "addProviderOffer",
25
+ "outputs": [],
26
+ "stateMutability": "nonpayable",
27
+ "type": "function"
28
+ },
29
+ {
30
+ "inputs": [
31
+ {
32
+ "internalType": "address",
33
+ "name": "providerAuth",
34
+ "type": "address"
35
+ }
36
+ ],
37
+ "name": "gcProviderOffers",
38
+ "outputs": [],
39
+ "stateMutability": "nonpayable",
40
+ "type": "function"
41
+ },
42
+ {
43
+ "inputs": [
44
+ {
45
+ "internalType": "address",
46
+ "name": "providerAuth",
47
+ "type": "address"
48
+ }
49
+ ],
50
+ "name": "getProviderOffersState",
51
+ "outputs": [
52
+ {
53
+ "components": [
54
+ {
55
+ "internalType": "uint256",
56
+ "name": "teeEnabled",
57
+ "type": "uint256"
58
+ },
59
+ {
60
+ "internalType": "uint256",
61
+ "name": "valueEnabled",
62
+ "type": "uint256"
63
+ },
64
+ {
65
+ "internalType": "uint256",
66
+ "name": "lastDisabledAfter",
67
+ "type": "uint256"
68
+ }
69
+ ],
70
+ "internalType": "struct ProviderOffersState",
71
+ "name": "",
72
+ "type": "tuple"
73
+ }
74
+ ],
75
+ "stateMutability": "view",
76
+ "type": "function"
77
+ },
78
+ {
79
+ "inputs": [
80
+ {
81
+ "internalType": "address",
82
+ "name": "providerAuth",
83
+ "type": "address"
84
+ }
85
+ ],
86
+ "name": "getProviderRecentlyEnabledTeeOffersCount",
87
+ "outputs": [
88
+ {
89
+ "internalType": "uint256",
90
+ "name": "",
91
+ "type": "uint256"
92
+ }
93
+ ],
94
+ "stateMutability": "view",
95
+ "type": "function"
96
+ },
97
+ {
98
+ "inputs": [
99
+ {
100
+ "internalType": "address",
101
+ "name": "providerAuth",
102
+ "type": "address"
103
+ }
104
+ ],
105
+ "name": "getProviderRecentlyEnabledValueOffersCount",
106
+ "outputs": [
107
+ {
108
+ "internalType": "uint256",
109
+ "name": "",
110
+ "type": "uint256"
111
+ }
112
+ ],
113
+ "stateMutability": "view",
114
+ "type": "function"
115
+ },
116
+ {
117
+ "inputs": [
118
+ {
119
+ "internalType": "address",
120
+ "name": "providerAuth",
121
+ "type": "address"
122
+ },
123
+ {
124
+ "internalType": "uint256",
125
+ "name": "additional",
126
+ "type": "uint256"
127
+ }
128
+ ],
129
+ "name": "getProviderRequiredSecDepo",
130
+ "outputs": [
131
+ {
132
+ "internalType": "uint256",
133
+ "name": "",
134
+ "type": "uint256"
135
+ }
136
+ ],
137
+ "stateMutability": "view",
138
+ "type": "function"
139
+ },
140
+ {
141
+ "inputs": [
142
+ {
143
+ "internalType": "address",
144
+ "name": "providerAuth",
145
+ "type": "address"
146
+ }
147
+ ],
148
+ "name": "getProviderTeeOffers",
149
+ "outputs": [
150
+ {
151
+ "internalType": "uint256[]",
152
+ "name": "",
153
+ "type": "uint256[]"
154
+ }
155
+ ],
156
+ "stateMutability": "view",
157
+ "type": "function"
158
+ },
159
+ {
160
+ "inputs": [
161
+ {
162
+ "internalType": "address",
163
+ "name": "providerAuth",
164
+ "type": "address"
165
+ }
166
+ ],
167
+ "name": "getProviderValueOffers",
168
+ "outputs": [
169
+ {
170
+ "internalType": "uint256[]",
171
+ "name": "",
172
+ "type": "uint256[]"
173
+ }
174
+ ],
175
+ "stateMutability": "view",
176
+ "type": "function"
177
+ },
178
+ {
179
+ "inputs": [
180
+ {
181
+ "internalType": "address",
182
+ "name": "providerAuth",
183
+ "type": "address"
184
+ }
185
+ ],
186
+ "name": "isProviderHasEnabledOffers",
187
+ "outputs": [
188
+ {
189
+ "internalType": "bool",
190
+ "name": "",
191
+ "type": "bool"
192
+ }
193
+ ],
194
+ "stateMutability": "view",
195
+ "type": "function"
196
+ },
197
+ {
198
+ "inputs": [
199
+ {
200
+ "internalType": "address",
201
+ "name": "providerAuth",
202
+ "type": "address"
203
+ }
204
+ ],
205
+ "name": "isProviderHasEnoughSecurityDeposit",
206
+ "outputs": [
207
+ {
208
+ "internalType": "bool",
209
+ "name": "",
210
+ "type": "bool"
211
+ }
212
+ ],
213
+ "stateMutability": "view",
214
+ "type": "function"
215
+ },
216
+ {
217
+ "inputs": [
218
+ {
219
+ "internalType": "address",
220
+ "name": "providerAuth",
221
+ "type": "address"
222
+ },
223
+ {
224
+ "internalType": "uint256",
225
+ "name": "offerId",
226
+ "type": "uint256"
227
+ },
228
+ {
229
+ "internalType": "enum OfferType",
230
+ "name": "offerType",
231
+ "type": "uint8"
232
+ },
233
+ {
234
+ "internalType": "bool",
235
+ "name": "enabled",
236
+ "type": "bool"
237
+ },
238
+ {
239
+ "internalType": "uint256",
240
+ "name": "disabledAfter",
241
+ "type": "uint256"
242
+ }
243
+ ],
244
+ "name": "setProviderOfferState",
245
+ "outputs": [],
246
+ "stateMutability": "nonpayable",
247
+ "type": "function"
248
+ }
249
+ ],
250
+ "bytecode": "0x608060405234801561001057600080fd5b50611486806100206000396000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80639189644b11610081578063dc7f1bde1161005b578063dc7f1bde14610198578063ded11669146101cd578063fa8e245e146101e057600080fd5b80639189644b1461015d578063a4f48e3d14610170578063b6dd45ff1461018557600080fd5b80632f06cde8116100b25780632f06cde8146101175780635ee5ad281461012a5780638360fd051461014a57600080fd5b80630115b2c6146100ce578063024ed19e146100f4575b600080fd5b6100e16100dc3660046111f5565b6101f3565b6040519081526020015b60405180910390f35b6101076101023660046111f5565b610296565b60405190151581526020016100eb565b6100e1610125366004611210565b6102fc565b61013d6101383660046111f5565b610515565b6040516100eb919061123a565b6100e16101583660046111f5565b6105ae565b61013d61016b3660046111f5565b610643565b61018361017e36600461129e565b6106da565b005b6101836101933660046111f5565b610a6f565b6101ab6101a63660046111f5565b610b13565b60408051825181526020808401519082015291810151908201526060016100eb565b6101076101db3660046111f5565b610b97565b6101836101ee3660046112f5565b610c30565b6001600160a01b03811660009081527f50542d7ac6a2c0ac82903312cbfb15baf9b1f21f258b8bbffd589111401c33e96020526040812061028f8160070160010180548060200260200160405190810160405280929190818152602001828054801561027e57602002820191906000526020600020905b81548152602001906001019080831161026a575b505050505061028a3090565b610ce4565b9392505050565b6001600160a01b03811660009081527f50542d7ac6a2c0ac82903312cbfb15baf9b1f21f258b8bbffd589111401c33e9602052604081206001810154815483916102df91611347565b905060008111806102f4575060028201544211155b949350505050565b6001600160a01b03821660009081527f50542d7ac6a2c0ac82903312cbfb15baf9b1f21f258b8bbffd589111401c33e96020526040808220905163897ce7cf60e01b81528290309063897ce7cf9061035990600290600401611375565b60206040518083038186803b15801561037157600080fd5b505afa158015610385573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103a9919061139d565b905060006103b6866101f3565b60018401546103c59190611347565b60405163897ce7cf60e01b8152309063897ce7cf906103e990600690600401611375565b60206040518083038186803b15801561040157600080fd5b505afa158015610415573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610439919061139d565b61044391906113b6565b90506000610450876105ae565b845461045c9190611347565b60405163897ce7cf60e01b8152309063897ce7cf9061048090600590600401611375565b60206040518083038186803b15801561049857600080fd5b505afa1580156104ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d0919061139d565b6104da91906113b6565b90506000866104e98484611347565b6104f39190611347565b905060008185116105045781610506565b845b96505050505050505b92915050565b60606000610556836001600160a01b031660009081527f50542d7ac6a2c0ac82903312cbfb15baf9b1f21f258b8bbffd589111401c33e96020526040902090565b600381018054604080516020808402820181019092528281529394508301828280156105a157602002820191906000526020600020905b81548152602001906001019080831161058d575b5050505050915050919050565b6001600160a01b03811660009081527f50542d7ac6a2c0ac82903312cbfb15baf9b1f21f258b8bbffd589111401c33e96020526040812061028f8160050160010180548060200260200160405190810160405280929190818152602001828054801561027e576020028201919060005260206000209081548152602001906001019080831161026a57505050505061028a3090565b60606000610684836001600160a01b031660009081527f50542d7ac6a2c0ac82903312cbfb15baf9b1f21f258b8bbffd589111401c33e96020526040902090565b600481018054604080516020808402820181019092528281529394508301828280156105a1576020028201919060005260206000209081548152602001906001019080831161058d575050505050915050919050565b33301461072e5760405162461bcd60e51b815260206004820152601660248201527f45787465726e616c206163636573732064656e6965640000000000000000000060448201526064015b60405180910390fd5b6000808460038111156107435761074361135f565b1490506000816107c65760405163897ce7cf60e01b8152309063897ce7cf9061077190600690600401611375565b60206040518083038186803b15801561078957600080fd5b505afa15801561079d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c1919061139d565b61083a565b60405163897ce7cf60e01b8152309063897ce7cf906107ea90600590600401611375565b60206040518083038186803b15801561080257600080fd5b505afa158015610816573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083a919061139d565b9050600061087b886001600160a01b031660009081527f50542d7ac6a2c0ac82903312cbfb15baf9b1f21f258b8bbffd589111401c33e96020526040902090565b90508415610a2f576000306040517f2f06cde80000000000000000000000000000000000000000000000000000000081526001600160a01b038b81166004830152602482018690529190911690632f06cde89060440160206040518083038186803b1580156108e957600080fd5b505afa1580156108fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610921919061139d565b905060003060405163d8a2d2c560e01b81526001600160a01b038c81166004830152919091169063d8a2d2c59060240160206040518083038186803b15801561096957600080fd5b505afa15801561097d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a1919061139d565b905081811015610a195760405162461bcd60e51b815260206004820152602760248201527f43616e277420656e61626c652064756520736d616c6c2073656375726974792060448201527f6465706f736974000000000000000000000000000000000000000000000000006064820152608401610725565b610a2583866001610dd0565b5050505050610a68565b610a3b81846000610dd0565b610a46818489610e4c565b8054158015610a5757506001810154155b15610a6457600281018490555b5050505b5050505050565b333014610abe5760405162461bcd60e51b815260206004820152601660248201527f45787465726e616c206163636573732064656e696564000000000000000000006044820152606401610725565b6001600160a01b03811660009081527f50542d7ac6a2c0ac82903312cbfb15baf9b1f21f258b8bbffd589111401c33e960205260409020610b026005820130610e6c565b610b0f6007820130610e6c565b5050565b610b3760405180606001604052806000815260200160008152602001600081525090565b6001600160a01b03821660009081527f50542d7ac6a2c0ac82903312cbfb15baf9b1f21f258b8bbffd589111401c33e960205260408120604080516060810182528254815260018301546020820152600290920154908201529392505050565b600080610ba58360006102fc565b905060003060405163d8a2d2c560e01b81526001600160a01b038681166004830152919091169063d8a2d2c59060240160206040518083038186803b158015610bed57600080fd5b505afa158015610c01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c25919061139d565b909111159392505050565b333014610c7f5760405162461bcd60e51b815260206004820152601660248201527f45787465726e616c206163636573732064656e696564000000000000000000006044820152606401610725565b6001600160a01b03831660009081527f50542d7ac6a2c0ac82903312cbfb15baf9b1f21f258b8bbffd589111401c33e9602052604081209080836003811115610cca57610cca61135f565b149050610cd982826001610dd0565b610a68828286610f62565b600080805b8451811015610dc8576000858281518110610d0657610d066113d5565b602002602001015190506000856001600160a01b0316631e7adb9d836040518263ffffffff1660e01b8152600401610d4091815260200190565b60206040518083038186803b158015610d5857600080fd5b505afa158015610d6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d90919061139d565b90508015801590610da057504281115b15610db357610db0600185611347565b93505b50508080610dc0906113eb565b915050610ce9565b509392505050565b8115610e11578015610dfc5782546001908490600090610df1908490611347565b90915550610e479050565b82546001908490600090610df1908490611406565b8015610e2c5760018381018054600090610df1908490611347565b60018381018054600090610e41908490611406565b90915550505b505050565b8115610e5f57610e476005840182610fa6565b610e476007840182610fa6565b60005a905060005b600184015481108015610e9457506233e1405a610e919084611406565b11155b15610f5c576000846001018281548110610eb057610eb06113d5565b90600052602060002001549050836001600160a01b031663e51334fb826040518263ffffffff1660e01b8152600401610eeb91815260200190565b60206040518083038186803b158015610f0357600080fd5b505afa158015610f17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3b919061141d565b610f4957610f498582611027565b610f54600183611347565b915050610e74565b50505050565b8115610f87576004830180546001810182556000918252602090912001819055505050565b6003830180546001810182556000918252602090912001819055505050565b60018201546000901580610ff15750600082815260208490526040902054158015610ff157508183600101600081548110610fe357610fe36113d5565b906000526020600020015414155b905080610ffd57505050565b50600180830180546000848152602095865260408120829055928101825590825292902090910155565b6110318282611184565b15610b0f576001820154611043575050565b6000818152602083905260409020546001830180548391908390811061106b5761106b6113d5565b9060005260206000200154146110e95760405162461bcd60e51b815260206004820152602160248201527f3530302e20556e65787065637465642055696e7448617368536574207374617460448201527f65000000000000000000000000000000000000000000000000000000000000006064820152608401610725565b600180840180546000926110fc91611406565b8154811061110c5761110c6113d5565b906000526020600020015490508084600101838154811061112f5761112f6113d5565b6000918252602080832090910192909255828152908590526040808220849055848252812055600184018054806111685761116861143a565b6001900381819060005260206000200160009055905550505050565b60018201546000906111985750600061050f565b60008281526020849052604090205415158061028f575081836001016000815481106111c6576111c66113d5565b9060005260206000200154149392505050565b80356001600160a01b03811681146111f057600080fd5b919050565b60006020828403121561120757600080fd5b61028f826111d9565b6000806040838503121561122357600080fd5b61122c836111d9565b946020939093013593505050565b6020808252825182820181905260009190848201906040850190845b8181101561127257835183529284019291840191600101611256565b50909695505050505050565b8035600481106111f057600080fd5b801515811461129b57600080fd5b50565b600080600080600060a086880312156112b657600080fd5b6112bf866111d9565b9450602086013593506112d46040870161127e565b925060608601356112e48161128d565b949793965091946080013592915050565b60008060006060848603121561130a57600080fd5b611313846111d9565b9250602084013591506113286040850161127e565b90509250925092565b634e487b7160e01b600052601160045260246000fd5b6000821982111561135a5761135a611331565b500190565b634e487b7160e01b600052602160045260246000fd5b602081016008831061139757634e487b7160e01b600052602160045260246000fd5b91905290565b6000602082840312156113af57600080fd5b5051919050565b60008160001904831182151516156113d0576113d0611331565b500290565b634e487b7160e01b600052603260045260246000fd5b60006000198214156113ff576113ff611331565b5060010190565b60008282101561141857611418611331565b500390565b60006020828403121561142f57600080fd5b815161028f8161128d565b634e487b7160e01b600052603160045260246000fdfea26469706673582212200b3b2d53ad4c74160a354d198370bb8d7a0bda11b916c7054080db2ab775676164736f6c63430008090033",
251
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100c95760003560e01c80639189644b11610081578063dc7f1bde1161005b578063dc7f1bde14610198578063ded11669146101cd578063fa8e245e146101e057600080fd5b80639189644b1461015d578063a4f48e3d14610170578063b6dd45ff1461018557600080fd5b80632f06cde8116100b25780632f06cde8146101175780635ee5ad281461012a5780638360fd051461014a57600080fd5b80630115b2c6146100ce578063024ed19e146100f4575b600080fd5b6100e16100dc3660046111f5565b6101f3565b6040519081526020015b60405180910390f35b6101076101023660046111f5565b610296565b60405190151581526020016100eb565b6100e1610125366004611210565b6102fc565b61013d6101383660046111f5565b610515565b6040516100eb919061123a565b6100e16101583660046111f5565b6105ae565b61013d61016b3660046111f5565b610643565b61018361017e36600461129e565b6106da565b005b6101836101933660046111f5565b610a6f565b6101ab6101a63660046111f5565b610b13565b60408051825181526020808401519082015291810151908201526060016100eb565b6101076101db3660046111f5565b610b97565b6101836101ee3660046112f5565b610c30565b6001600160a01b03811660009081527f50542d7ac6a2c0ac82903312cbfb15baf9b1f21f258b8bbffd589111401c33e96020526040812061028f8160070160010180548060200260200160405190810160405280929190818152602001828054801561027e57602002820191906000526020600020905b81548152602001906001019080831161026a575b505050505061028a3090565b610ce4565b9392505050565b6001600160a01b03811660009081527f50542d7ac6a2c0ac82903312cbfb15baf9b1f21f258b8bbffd589111401c33e9602052604081206001810154815483916102df91611347565b905060008111806102f4575060028201544211155b949350505050565b6001600160a01b03821660009081527f50542d7ac6a2c0ac82903312cbfb15baf9b1f21f258b8bbffd589111401c33e96020526040808220905163897ce7cf60e01b81528290309063897ce7cf9061035990600290600401611375565b60206040518083038186803b15801561037157600080fd5b505afa158015610385573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103a9919061139d565b905060006103b6866101f3565b60018401546103c59190611347565b60405163897ce7cf60e01b8152309063897ce7cf906103e990600690600401611375565b60206040518083038186803b15801561040157600080fd5b505afa158015610415573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610439919061139d565b61044391906113b6565b90506000610450876105ae565b845461045c9190611347565b60405163897ce7cf60e01b8152309063897ce7cf9061048090600590600401611375565b60206040518083038186803b15801561049857600080fd5b505afa1580156104ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d0919061139d565b6104da91906113b6565b90506000866104e98484611347565b6104f39190611347565b905060008185116105045781610506565b845b96505050505050505b92915050565b60606000610556836001600160a01b031660009081527f50542d7ac6a2c0ac82903312cbfb15baf9b1f21f258b8bbffd589111401c33e96020526040902090565b600381018054604080516020808402820181019092528281529394508301828280156105a157602002820191906000526020600020905b81548152602001906001019080831161058d575b5050505050915050919050565b6001600160a01b03811660009081527f50542d7ac6a2c0ac82903312cbfb15baf9b1f21f258b8bbffd589111401c33e96020526040812061028f8160050160010180548060200260200160405190810160405280929190818152602001828054801561027e576020028201919060005260206000209081548152602001906001019080831161026a57505050505061028a3090565b60606000610684836001600160a01b031660009081527f50542d7ac6a2c0ac82903312cbfb15baf9b1f21f258b8bbffd589111401c33e96020526040902090565b600481018054604080516020808402820181019092528281529394508301828280156105a1576020028201919060005260206000209081548152602001906001019080831161058d575050505050915050919050565b33301461072e5760405162461bcd60e51b815260206004820152601660248201527f45787465726e616c206163636573732064656e6965640000000000000000000060448201526064015b60405180910390fd5b6000808460038111156107435761074361135f565b1490506000816107c65760405163897ce7cf60e01b8152309063897ce7cf9061077190600690600401611375565b60206040518083038186803b15801561078957600080fd5b505afa15801561079d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c1919061139d565b61083a565b60405163897ce7cf60e01b8152309063897ce7cf906107ea90600590600401611375565b60206040518083038186803b15801561080257600080fd5b505afa158015610816573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083a919061139d565b9050600061087b886001600160a01b031660009081527f50542d7ac6a2c0ac82903312cbfb15baf9b1f21f258b8bbffd589111401c33e96020526040902090565b90508415610a2f576000306040517f2f06cde80000000000000000000000000000000000000000000000000000000081526001600160a01b038b81166004830152602482018690529190911690632f06cde89060440160206040518083038186803b1580156108e957600080fd5b505afa1580156108fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610921919061139d565b905060003060405163d8a2d2c560e01b81526001600160a01b038c81166004830152919091169063d8a2d2c59060240160206040518083038186803b15801561096957600080fd5b505afa15801561097d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a1919061139d565b905081811015610a195760405162461bcd60e51b815260206004820152602760248201527f43616e277420656e61626c652064756520736d616c6c2073656375726974792060448201527f6465706f736974000000000000000000000000000000000000000000000000006064820152608401610725565b610a2583866001610dd0565b5050505050610a68565b610a3b81846000610dd0565b610a46818489610e4c565b8054158015610a5757506001810154155b15610a6457600281018490555b5050505b5050505050565b333014610abe5760405162461bcd60e51b815260206004820152601660248201527f45787465726e616c206163636573732064656e696564000000000000000000006044820152606401610725565b6001600160a01b03811660009081527f50542d7ac6a2c0ac82903312cbfb15baf9b1f21f258b8bbffd589111401c33e960205260409020610b026005820130610e6c565b610b0f6007820130610e6c565b5050565b610b3760405180606001604052806000815260200160008152602001600081525090565b6001600160a01b03821660009081527f50542d7ac6a2c0ac82903312cbfb15baf9b1f21f258b8bbffd589111401c33e960205260408120604080516060810182528254815260018301546020820152600290920154908201529392505050565b600080610ba58360006102fc565b905060003060405163d8a2d2c560e01b81526001600160a01b038681166004830152919091169063d8a2d2c59060240160206040518083038186803b158015610bed57600080fd5b505afa158015610c01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c25919061139d565b909111159392505050565b333014610c7f5760405162461bcd60e51b815260206004820152601660248201527f45787465726e616c206163636573732064656e696564000000000000000000006044820152606401610725565b6001600160a01b03831660009081527f50542d7ac6a2c0ac82903312cbfb15baf9b1f21f258b8bbffd589111401c33e9602052604081209080836003811115610cca57610cca61135f565b149050610cd982826001610dd0565b610a68828286610f62565b600080805b8451811015610dc8576000858281518110610d0657610d066113d5565b602002602001015190506000856001600160a01b0316631e7adb9d836040518263ffffffff1660e01b8152600401610d4091815260200190565b60206040518083038186803b158015610d5857600080fd5b505afa158015610d6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d90919061139d565b90508015801590610da057504281115b15610db357610db0600185611347565b93505b50508080610dc0906113eb565b915050610ce9565b509392505050565b8115610e11578015610dfc5782546001908490600090610df1908490611347565b90915550610e479050565b82546001908490600090610df1908490611406565b8015610e2c5760018381018054600090610df1908490611347565b60018381018054600090610e41908490611406565b90915550505b505050565b8115610e5f57610e476005840182610fa6565b610e476007840182610fa6565b60005a905060005b600184015481108015610e9457506233e1405a610e919084611406565b11155b15610f5c576000846001018281548110610eb057610eb06113d5565b90600052602060002001549050836001600160a01b031663e51334fb826040518263ffffffff1660e01b8152600401610eeb91815260200190565b60206040518083038186803b158015610f0357600080fd5b505afa158015610f17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3b919061141d565b610f4957610f498582611027565b610f54600183611347565b915050610e74565b50505050565b8115610f87576004830180546001810182556000918252602090912001819055505050565b6003830180546001810182556000918252602090912001819055505050565b60018201546000901580610ff15750600082815260208490526040902054158015610ff157508183600101600081548110610fe357610fe36113d5565b906000526020600020015414155b905080610ffd57505050565b50600180830180546000848152602095865260408120829055928101825590825292902090910155565b6110318282611184565b15610b0f576001820154611043575050565b6000818152602083905260409020546001830180548391908390811061106b5761106b6113d5565b9060005260206000200154146110e95760405162461bcd60e51b815260206004820152602160248201527f3530302e20556e65787065637465642055696e7448617368536574207374617460448201527f65000000000000000000000000000000000000000000000000000000000000006064820152608401610725565b600180840180546000926110fc91611406565b8154811061110c5761110c6113d5565b906000526020600020015490508084600101838154811061112f5761112f6113d5565b6000918252602080832090910192909255828152908590526040808220849055848252812055600184018054806111685761116861143a565b6001900381819060005260206000200160009055905550505050565b60018201546000906111985750600061050f565b60008281526020849052604090205415158061028f575081836001016000815481106111c6576111c66113d5565b9060005260206000200154149392505050565b80356001600160a01b03811681146111f057600080fd5b919050565b60006020828403121561120757600080fd5b61028f826111d9565b6000806040838503121561122357600080fd5b61122c836111d9565b946020939093013593505050565b6020808252825182820181905260009190848201906040850190845b8181101561127257835183529284019291840191600101611256565b50909695505050505050565b8035600481106111f057600080fd5b801515811461129b57600080fd5b50565b600080600080600060a086880312156112b657600080fd5b6112bf866111d9565b9450602086013593506112d46040870161127e565b925060608601356112e48161128d565b949793965091946080013592915050565b60008060006060848603121561130a57600080fd5b611313846111d9565b9250602084013591506113286040850161127e565b90509250925092565b634e487b7160e01b600052601160045260246000fd5b6000821982111561135a5761135a611331565b500190565b634e487b7160e01b600052602160045260246000fd5b602081016008831061139757634e487b7160e01b600052602160045260246000fd5b91905290565b6000602082840312156113af57600080fd5b5051919050565b60008160001904831182151516156113d0576113d0611331565b500290565b634e487b7160e01b600052603260045260246000fd5b60006000198214156113ff576113ff611331565b5060010190565b60008282101561141857611418611331565b500390565b60006020828403121561142f57600080fd5b815161028f8161128d565b634e487b7160e01b600052603160045260246000fdfea26469706673582212200b3b2d53ad4c74160a354d198370bb8d7a0bda11b916c7054080db2ab775676164736f6c63430008090033",
252
+ "linkReferences": {},
253
+ "deployedLinkReferences": {}
254
+ }
@@ -0,0 +1,323 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "Staking",
4
+ "sourceName": "contracts/Staking.sol",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": false,
11
+ "internalType": "enum Purpose",
12
+ "name": "executor",
13
+ "type": "uint8"
14
+ },
15
+ {
16
+ "indexed": true,
17
+ "internalType": "address",
18
+ "name": "owner",
19
+ "type": "address"
20
+ },
21
+ {
22
+ "indexed": false,
23
+ "internalType": "uint256",
24
+ "name": "amount",
25
+ "type": "uint256"
26
+ },
27
+ {
28
+ "indexed": false,
29
+ "internalType": "uint256",
30
+ "name": "totalLocked",
31
+ "type": "uint256"
32
+ }
33
+ ],
34
+ "name": "TokensLocked",
35
+ "type": "event"
36
+ },
37
+ {
38
+ "anonymous": false,
39
+ "inputs": [
40
+ {
41
+ "indexed": true,
42
+ "internalType": "address",
43
+ "name": "owner",
44
+ "type": "address"
45
+ },
46
+ {
47
+ "indexed": false,
48
+ "internalType": "uint256",
49
+ "name": "amount",
50
+ "type": "uint256"
51
+ },
52
+ {
53
+ "indexed": false,
54
+ "internalType": "uint256",
55
+ "name": "totalAmount",
56
+ "type": "uint256"
57
+ }
58
+ ],
59
+ "name": "TokensStaked",
60
+ "type": "event"
61
+ },
62
+ {
63
+ "anonymous": false,
64
+ "inputs": [
65
+ {
66
+ "indexed": false,
67
+ "internalType": "enum Purpose",
68
+ "name": "executor",
69
+ "type": "uint8"
70
+ },
71
+ {
72
+ "indexed": true,
73
+ "internalType": "address",
74
+ "name": "owner",
75
+ "type": "address"
76
+ },
77
+ {
78
+ "indexed": false,
79
+ "internalType": "uint256",
80
+ "name": "amount",
81
+ "type": "uint256"
82
+ },
83
+ {
84
+ "indexed": false,
85
+ "internalType": "uint256",
86
+ "name": "totalLocked",
87
+ "type": "uint256"
88
+ }
89
+ ],
90
+ "name": "TokensUnlocked",
91
+ "type": "event"
92
+ },
93
+ {
94
+ "anonymous": false,
95
+ "inputs": [
96
+ {
97
+ "indexed": true,
98
+ "internalType": "address",
99
+ "name": "owner",
100
+ "type": "address"
101
+ },
102
+ {
103
+ "indexed": false,
104
+ "internalType": "uint256",
105
+ "name": "amount",
106
+ "type": "uint256"
107
+ },
108
+ {
109
+ "indexed": false,
110
+ "internalType": "uint256",
111
+ "name": "totalAmount",
112
+ "type": "uint256"
113
+ }
114
+ ],
115
+ "name": "TokensUnstaked",
116
+ "type": "event"
117
+ },
118
+ {
119
+ "inputs": [
120
+ {
121
+ "internalType": "enum Purpose",
122
+ "name": "executor",
123
+ "type": "uint8"
124
+ },
125
+ {
126
+ "internalType": "address",
127
+ "name": "stakeOwner",
128
+ "type": "address"
129
+ },
130
+ {
131
+ "internalType": "uint256",
132
+ "name": "amount",
133
+ "type": "uint256"
134
+ }
135
+ ],
136
+ "name": "confiscateTokensFrom",
137
+ "outputs": [],
138
+ "stateMutability": "nonpayable",
139
+ "type": "function"
140
+ },
141
+ {
142
+ "inputs": [
143
+ {
144
+ "internalType": "enum Purpose",
145
+ "name": "executor",
146
+ "type": "uint8"
147
+ },
148
+ {
149
+ "internalType": "address",
150
+ "name": "stakeOwner",
151
+ "type": "address"
152
+ }
153
+ ],
154
+ "name": "getLockedTokensInfo",
155
+ "outputs": [
156
+ {
157
+ "components": [
158
+ {
159
+ "internalType": "uint256",
160
+ "name": "fromDate",
161
+ "type": "uint256"
162
+ },
163
+ {
164
+ "internalType": "uint256",
165
+ "name": "toDate",
166
+ "type": "uint256"
167
+ },
168
+ {
169
+ "internalType": "uint256",
170
+ "name": "amount",
171
+ "type": "uint256"
172
+ }
173
+ ],
174
+ "internalType": "struct LockedTokens",
175
+ "name": "ret",
176
+ "type": "tuple"
177
+ }
178
+ ],
179
+ "stateMutability": "view",
180
+ "type": "function"
181
+ },
182
+ {
183
+ "inputs": [
184
+ {
185
+ "internalType": "address",
186
+ "name": "stakeOwner",
187
+ "type": "address"
188
+ }
189
+ ],
190
+ "name": "getStakeInfo",
191
+ "outputs": [
192
+ {
193
+ "components": [
194
+ {
195
+ "internalType": "uint256",
196
+ "name": "startDate",
197
+ "type": "uint256"
198
+ },
199
+ {
200
+ "internalType": "uint256",
201
+ "name": "amount",
202
+ "type": "uint256"
203
+ },
204
+ {
205
+ "internalType": "uint256",
206
+ "name": "profit",
207
+ "type": "uint256"
208
+ },
209
+ {
210
+ "internalType": "uint256",
211
+ "name": "totalLocked",
212
+ "type": "uint256"
213
+ }
214
+ ],
215
+ "internalType": "struct StakeInfo",
216
+ "name": "ret",
217
+ "type": "tuple"
218
+ }
219
+ ],
220
+ "stateMutability": "view",
221
+ "type": "function"
222
+ },
223
+ {
224
+ "inputs": [
225
+ {
226
+ "internalType": "enum Purpose",
227
+ "name": "executor",
228
+ "type": "uint8"
229
+ },
230
+ {
231
+ "internalType": "address",
232
+ "name": "stakeOwner",
233
+ "type": "address"
234
+ },
235
+ {
236
+ "internalType": "uint256",
237
+ "name": "amount",
238
+ "type": "uint256"
239
+ },
240
+ {
241
+ "internalType": "uint256",
242
+ "name": "secondsCount",
243
+ "type": "uint256"
244
+ }
245
+ ],
246
+ "name": "lockTokens",
247
+ "outputs": [],
248
+ "stateMutability": "nonpayable",
249
+ "type": "function"
250
+ },
251
+ {
252
+ "inputs": [
253
+ {
254
+ "internalType": "uint256",
255
+ "name": "amount",
256
+ "type": "uint256"
257
+ }
258
+ ],
259
+ "name": "stake",
260
+ "outputs": [],
261
+ "stateMutability": "nonpayable",
262
+ "type": "function"
263
+ },
264
+ {
265
+ "inputs": [
266
+ {
267
+ "internalType": "address",
268
+ "name": "beneficiary",
269
+ "type": "address"
270
+ },
271
+ {
272
+ "internalType": "uint256",
273
+ "name": "amount",
274
+ "type": "uint256"
275
+ }
276
+ ],
277
+ "name": "stakeFor",
278
+ "outputs": [],
279
+ "stateMutability": "nonpayable",
280
+ "type": "function"
281
+ },
282
+ {
283
+ "inputs": [
284
+ {
285
+ "internalType": "enum Purpose",
286
+ "name": "executor",
287
+ "type": "uint8"
288
+ },
289
+ {
290
+ "internalType": "address",
291
+ "name": "stakeOwner",
292
+ "type": "address"
293
+ },
294
+ {
295
+ "internalType": "uint256",
296
+ "name": "amount",
297
+ "type": "uint256"
298
+ }
299
+ ],
300
+ "name": "unlockTokens",
301
+ "outputs": [],
302
+ "stateMutability": "nonpayable",
303
+ "type": "function"
304
+ },
305
+ {
306
+ "inputs": [
307
+ {
308
+ "internalType": "uint256",
309
+ "name": "amount",
310
+ "type": "uint256"
311
+ }
312
+ ],
313
+ "name": "unstake",
314
+ "outputs": [],
315
+ "stateMutability": "nonpayable",
316
+ "type": "function"
317
+ }
318
+ ],
319
+ "bytecode": "0x608060405234801561001057600080fd5b506111f2806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063a694fc3a1161005b578063a694fc3a14610102578063c15d649014610115578063c345315314610128578063d719a90d1461016e57600080fd5b80631dd96db81461008d5780632e17de78146100c75780632ee40908146100dc578063896d087f146100ef575b600080fd5b6100a061009b366004610f63565b610181565b60408051825181526020808401519082015291810151908201526060015b60405180910390f35b6100da6100d5366004610f9a565b610261565b005b6100da6100ea366004610fb3565b610458565b6100da6100fd366004610fdf565b610569565b6100da610110366004610f9a565b61070f565b6100da610123366004610fdf565b610812565b61013b61013636600461101e565b610a35565b6040516100be91908151815260208083015190820152604080830151908201526060918201519181019190915260800190565b6100da61017c366004611042565b610af0565b6101a560405180606001604052806000815260200160008152602001600081525090565b6001600160a01b03821660009081527f32f2c33fc1245a73547aac59828c90d9a68522baf8965a3292f47e9f8ed78fb7602052604081207f32f2c33fc1245a73547aac59828c90d9a68522baf8965a3292f47e9f8ed78fb69185600281111561021057610210611086565b600281111561022157610221611086565b8152602001908152602001600020604051806060016040529081600082015481526020016001820154815260200160028201548152505091505092915050565b33600061026d82610cd5565b90508060020154816001015461028391906110b2565b600382015461029290856110b2565b11156102e55760405162461bcd60e51b815260206004820152601260248201527f5374616b6520697320746f6f20736d616c6c000000000000000000000000000060448201526064015b60405180910390fd5b8281600201541061030f578281600201600082825461030491906110ca565b9091555061034f9050565b806002015481600101600082825461032791906110b2565b90915550506000600282018190556001820180548592906103499084906110ca565b90915550505b600181015461035d57600081555b610365610dd1565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b03848116600483015260248201869052919091169063a9059cbb90604401602060405180830381600087803b1580156103ca57600080fd5b505af11580156103de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040291906110e1565b50816001600160a01b03167f6f2d3e000c89d37446b7c0374c0125068ff316d1e3ee302336478a8cd03c233684836001015460405161044b929190918252602082015260400190565b60405180910390a2505050565b33600061046484610cd5565b90508281600101600082825461047a91906110b2565b909155506104889050610dd1565b6040516323b872dd60e01b81526001600160a01b0384811660048301523060248301526044820186905291909116906323b872dd90606401602060405180830381600087803b1580156104da57600080fd5b505af11580156104ee573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051291906110e1565b50836001600160a01b03167fdd2a19c3bdd089cbe77c04f5655f83de0504d6140d12c8667646f55d0557c4dc84836001015460405161055b929190918252602082015260400190565b60405180910390a250505050565b3330146105b85760405162461bcd60e51b815260206004820152601660248201527f45787465726e616c206163636573732064656e6965640000000000000000000060448201526064016102dc565b7f32f2c33fc1245a73547aac59828c90d9a68522baf8965a3292f47e9f8ed78fb660006105e484610cd5565b6001600160a01b03851660009081526001840160205260408120919250908187600281111561061557610615611086565b600281111561062657610626611086565b81526020019081526020016000209050806002015484111561068a5760405162461bcd60e51b815260206004820152601860248201527f4e6f7420656e6f756768206c6f636b656420746f6b656e73000000000000000060448201526064016102dc565b600061069a826000015486610e49565b9050848260020160008282546106b091906110ca565b92505081905550848360010160008282546106cb91906110ca565b92505081905550848360030160008282546106e691906110ca565b925050819055508083600201600082825461070191906110ca565b909155505050505050505050565b33600061071b82610cd5565b90508281600101600082825461073191906110b2565b9091555061073f9050610dd1565b6040516323b872dd60e01b81526001600160a01b0384811660048301523060248301526044820186905291909116906323b872dd90606401602060405180830381600087803b15801561079157600080fd5b505af11580156107a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c991906110e1565b50816001600160a01b03167fdd2a19c3bdd089cbe77c04f5655f83de0504d6140d12c8667646f55d0557c4dc84836001015460405161044b929190918252602082015260400190565b6001600160a01b03821660009081527f32f2c33fc1245a73547aac59828c90d9a68522baf8965a3292f47e9f8ed78fb6602081815260408084207f32f2c33fc1245a73547aac59828c90d9a68522baf8965a3292f47e9f8ed78fb79092528320919290918187600281111561088957610889611086565b600281111561089a5761089a611086565b81526020019081526020016000209050806001015460001415610906573330146109065760405162461bcd60e51b815260206004820152601660248201527f45787465726e616c206163636573732064656e6965640000000000000000000060448201526064016102dc565b806002015484111561095a5760405162461bcd60e51b815260206004820152601860248201527f4e6f7420656e6f756768206c6f636b656420746f6b656e73000000000000000060448201526064016102dc565b42816001015411156109ae5760405162461bcd60e51b815260206004820152601460248201527f546f6f206561726c7920666f7220756e6c6f636b00000000000000000000000060448201526064016102dc565b838160020160008282546109c291906110ca565b92505081905550838260030160008282546109dd91906110ca565b92505081905550846001600160a01b03167f9425718d055217c5cbd3e54a422eea52441bbad0e5051ffa557cbeaf0bf8c8ef87868560030154604051610a2593929190611103565b60405180910390a2505050505050565b610a606040518060800160405280600081526020016000815260200160008152602001600081525090565b506001600160a01b03811660009081527f32f2c33fc1245a73547aac59828c90d9a68522baf8965a3292f47e9f8ed78fb66020818152604092839020835160808101855281548082526001830154938201849052600283015495820195909552600390910154606082015292610ad591610e49565b82604001818151610ae691906110b2565b9052509092915050565b333014610b3f5760405162461bcd60e51b815260206004820152601660248201527f45787465726e616c206163636573732064656e6965640000000000000000000060448201526064016102dc565b7f32f2c33fc1245a73547aac59828c90d9a68522baf8965a3292f47e9f8ed78fb64260008315610b7857610b7384426110b2565b610b7b565b60005b6001600160a01b0387166000908152602085905260409020600181015491925090861115610beb5760405162461bcd60e51b815260206004820152601260248201527f5374616b6520697320746f6f20736d616c6c000000000000000000000000000060448201526064016102dc565b6001600160a01b03871660009081526001850160205260408120818a6002811115610c1857610c18611086565b6002811115610c2957610c29611086565b8152602001908152602001600020905083816000018190555082816001018190555086816002016000828254610c5f91906110b2565b9250508190555086826003016000828254610c7a91906110b2565b92505081905550876001600160a01b03167fff6f40e87abea799284278135b3ad56a0a09cdf5959365cd983b94ba6dc17b0f8a898560030154604051610cc293929190611103565b60405180910390a2505050505050505050565b6001600160a01b03811660009081527f32f2c33fc1245a73547aac59828c90d9a68522baf8965a3292f47e9f8ed78fb660208190526040822080546001820154919391610d229190610e49565b905080836002016000828254610d3891906110b2565b90915550504283558015610dca57610d4e610dd1565b6040517f40c10f19000000000000000000000000000000000000000000000000000000008152306004820152602481018390526001600160a01b0391909116906340c10f1990604401600060405180830381600087803b158015610db157600080fd5b505af1158015610dc5573d6000803e3d6000fd5b505050505b5050919050565b6000306001600160a01b03166321df0da76040518163ffffffff1660e01b815260040160206040518083038186803b158015610e0c57600080fd5b505afa158015610e20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e44919061112b565b905090565b600082610e5857506000610f31565b6000610e6484426110ca565b90506000610e756201518083611148565b6040517f897ce7cf000000000000000000000000000000000000000000000000000000008152909150600090309063897ce7cf90610eb89060039060040161116a565b60206040518083038186803b158015610ed057600080fd5b505afa158015610ee4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f089190611184565b9050606481610f17848861119d565b610f21919061119d565b610f2b9190611148565b93505050505b92915050565b803560038110610f4657600080fd5b919050565b6001600160a01b0381168114610f6057600080fd5b50565b60008060408385031215610f7657600080fd5b610f7f83610f37565b91506020830135610f8f81610f4b565b809150509250929050565b600060208284031215610fac57600080fd5b5035919050565b60008060408385031215610fc657600080fd5b8235610fd181610f4b565b946020939093013593505050565b600080600060608486031215610ff457600080fd5b610ffd84610f37565b9250602084013561100d81610f4b565b929592945050506040919091013590565b60006020828403121561103057600080fd5b813561103b81610f4b565b9392505050565b6000806000806080858703121561105857600080fd5b61106185610f37565b9350602085013561107181610f4b565b93969395505050506040820135916060013590565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600082198211156110c5576110c561109c565b500190565b6000828210156110dc576110dc61109c565b500390565b6000602082840312156110f357600080fd5b8151801515811461103b57600080fd5b606081016003851061111757611117611086565b938152602081019290925260409091015290565b60006020828403121561113d57600080fd5b815161103b81610f4b565b60008261116557634e487b7160e01b600052601260045260246000fd5b500490565b602081016008831061117e5761117e611086565b91905290565b60006020828403121561119657600080fd5b5051919050565b60008160001904831182151516156111b7576111b761109c565b50029056fea2646970667358221220a3fcf52b1c21133671df5d6a5df74acbd6a3a83cee63bf17ef53d32ef13684cf64736f6c63430008090033",
320
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c8063a694fc3a1161005b578063a694fc3a14610102578063c15d649014610115578063c345315314610128578063d719a90d1461016e57600080fd5b80631dd96db81461008d5780632e17de78146100c75780632ee40908146100dc578063896d087f146100ef575b600080fd5b6100a061009b366004610f63565b610181565b60408051825181526020808401519082015291810151908201526060015b60405180910390f35b6100da6100d5366004610f9a565b610261565b005b6100da6100ea366004610fb3565b610458565b6100da6100fd366004610fdf565b610569565b6100da610110366004610f9a565b61070f565b6100da610123366004610fdf565b610812565b61013b61013636600461101e565b610a35565b6040516100be91908151815260208083015190820152604080830151908201526060918201519181019190915260800190565b6100da61017c366004611042565b610af0565b6101a560405180606001604052806000815260200160008152602001600081525090565b6001600160a01b03821660009081527f32f2c33fc1245a73547aac59828c90d9a68522baf8965a3292f47e9f8ed78fb7602052604081207f32f2c33fc1245a73547aac59828c90d9a68522baf8965a3292f47e9f8ed78fb69185600281111561021057610210611086565b600281111561022157610221611086565b8152602001908152602001600020604051806060016040529081600082015481526020016001820154815260200160028201548152505091505092915050565b33600061026d82610cd5565b90508060020154816001015461028391906110b2565b600382015461029290856110b2565b11156102e55760405162461bcd60e51b815260206004820152601260248201527f5374616b6520697320746f6f20736d616c6c000000000000000000000000000060448201526064015b60405180910390fd5b8281600201541061030f578281600201600082825461030491906110ca565b9091555061034f9050565b806002015481600101600082825461032791906110b2565b90915550506000600282018190556001820180548592906103499084906110ca565b90915550505b600181015461035d57600081555b610365610dd1565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b03848116600483015260248201869052919091169063a9059cbb90604401602060405180830381600087803b1580156103ca57600080fd5b505af11580156103de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040291906110e1565b50816001600160a01b03167f6f2d3e000c89d37446b7c0374c0125068ff316d1e3ee302336478a8cd03c233684836001015460405161044b929190918252602082015260400190565b60405180910390a2505050565b33600061046484610cd5565b90508281600101600082825461047a91906110b2565b909155506104889050610dd1565b6040516323b872dd60e01b81526001600160a01b0384811660048301523060248301526044820186905291909116906323b872dd90606401602060405180830381600087803b1580156104da57600080fd5b505af11580156104ee573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051291906110e1565b50836001600160a01b03167fdd2a19c3bdd089cbe77c04f5655f83de0504d6140d12c8667646f55d0557c4dc84836001015460405161055b929190918252602082015260400190565b60405180910390a250505050565b3330146105b85760405162461bcd60e51b815260206004820152601660248201527f45787465726e616c206163636573732064656e6965640000000000000000000060448201526064016102dc565b7f32f2c33fc1245a73547aac59828c90d9a68522baf8965a3292f47e9f8ed78fb660006105e484610cd5565b6001600160a01b03851660009081526001840160205260408120919250908187600281111561061557610615611086565b600281111561062657610626611086565b81526020019081526020016000209050806002015484111561068a5760405162461bcd60e51b815260206004820152601860248201527f4e6f7420656e6f756768206c6f636b656420746f6b656e73000000000000000060448201526064016102dc565b600061069a826000015486610e49565b9050848260020160008282546106b091906110ca565b92505081905550848360010160008282546106cb91906110ca565b92505081905550848360030160008282546106e691906110ca565b925050819055508083600201600082825461070191906110ca565b909155505050505050505050565b33600061071b82610cd5565b90508281600101600082825461073191906110b2565b9091555061073f9050610dd1565b6040516323b872dd60e01b81526001600160a01b0384811660048301523060248301526044820186905291909116906323b872dd90606401602060405180830381600087803b15801561079157600080fd5b505af11580156107a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c991906110e1565b50816001600160a01b03167fdd2a19c3bdd089cbe77c04f5655f83de0504d6140d12c8667646f55d0557c4dc84836001015460405161044b929190918252602082015260400190565b6001600160a01b03821660009081527f32f2c33fc1245a73547aac59828c90d9a68522baf8965a3292f47e9f8ed78fb6602081815260408084207f32f2c33fc1245a73547aac59828c90d9a68522baf8965a3292f47e9f8ed78fb79092528320919290918187600281111561088957610889611086565b600281111561089a5761089a611086565b81526020019081526020016000209050806001015460001415610906573330146109065760405162461bcd60e51b815260206004820152601660248201527f45787465726e616c206163636573732064656e6965640000000000000000000060448201526064016102dc565b806002015484111561095a5760405162461bcd60e51b815260206004820152601860248201527f4e6f7420656e6f756768206c6f636b656420746f6b656e73000000000000000060448201526064016102dc565b42816001015411156109ae5760405162461bcd60e51b815260206004820152601460248201527f546f6f206561726c7920666f7220756e6c6f636b00000000000000000000000060448201526064016102dc565b838160020160008282546109c291906110ca565b92505081905550838260030160008282546109dd91906110ca565b92505081905550846001600160a01b03167f9425718d055217c5cbd3e54a422eea52441bbad0e5051ffa557cbeaf0bf8c8ef87868560030154604051610a2593929190611103565b60405180910390a2505050505050565b610a606040518060800160405280600081526020016000815260200160008152602001600081525090565b506001600160a01b03811660009081527f32f2c33fc1245a73547aac59828c90d9a68522baf8965a3292f47e9f8ed78fb66020818152604092839020835160808101855281548082526001830154938201849052600283015495820195909552600390910154606082015292610ad591610e49565b82604001818151610ae691906110b2565b9052509092915050565b333014610b3f5760405162461bcd60e51b815260206004820152601660248201527f45787465726e616c206163636573732064656e6965640000000000000000000060448201526064016102dc565b7f32f2c33fc1245a73547aac59828c90d9a68522baf8965a3292f47e9f8ed78fb64260008315610b7857610b7384426110b2565b610b7b565b60005b6001600160a01b0387166000908152602085905260409020600181015491925090861115610beb5760405162461bcd60e51b815260206004820152601260248201527f5374616b6520697320746f6f20736d616c6c000000000000000000000000000060448201526064016102dc565b6001600160a01b03871660009081526001850160205260408120818a6002811115610c1857610c18611086565b6002811115610c2957610c29611086565b8152602001908152602001600020905083816000018190555082816001018190555086816002016000828254610c5f91906110b2565b9250508190555086826003016000828254610c7a91906110b2565b92505081905550876001600160a01b03167fff6f40e87abea799284278135b3ad56a0a09cdf5959365cd983b94ba6dc17b0f8a898560030154604051610cc293929190611103565b60405180910390a2505050505050505050565b6001600160a01b03811660009081527f32f2c33fc1245a73547aac59828c90d9a68522baf8965a3292f47e9f8ed78fb660208190526040822080546001820154919391610d229190610e49565b905080836002016000828254610d3891906110b2565b90915550504283558015610dca57610d4e610dd1565b6040517f40c10f19000000000000000000000000000000000000000000000000000000008152306004820152602481018390526001600160a01b0391909116906340c10f1990604401600060405180830381600087803b158015610db157600080fd5b505af1158015610dc5573d6000803e3d6000fd5b505050505b5050919050565b6000306001600160a01b03166321df0da76040518163ffffffff1660e01b815260040160206040518083038186803b158015610e0c57600080fd5b505afa158015610e20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e44919061112b565b905090565b600082610e5857506000610f31565b6000610e6484426110ca565b90506000610e756201518083611148565b6040517f897ce7cf000000000000000000000000000000000000000000000000000000008152909150600090309063897ce7cf90610eb89060039060040161116a565b60206040518083038186803b158015610ed057600080fd5b505afa158015610ee4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f089190611184565b9050606481610f17848861119d565b610f21919061119d565b610f2b9190611148565b93505050505b92915050565b803560038110610f4657600080fd5b919050565b6001600160a01b0381168114610f6057600080fd5b50565b60008060408385031215610f7657600080fd5b610f7f83610f37565b91506020830135610f8f81610f4b565b809150509250929050565b600060208284031215610fac57600080fd5b5035919050565b60008060408385031215610fc657600080fd5b8235610fd181610f4b565b946020939093013593505050565b600080600060608486031215610ff457600080fd5b610ffd84610f37565b9250602084013561100d81610f4b565b929592945050506040919091013590565b60006020828403121561103057600080fd5b813561103b81610f4b565b9392505050565b6000806000806080858703121561105857600080fd5b61106185610f37565b9350602085013561107181610f4b565b93969395505050506040820135916060013590565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600082198211156110c5576110c561109c565b500190565b6000828210156110dc576110dc61109c565b500390565b6000602082840312156110f357600080fd5b8151801515811461103b57600080fd5b606081016003851061111757611117611086565b938152602081019290925260409091015290565b60006020828403121561113d57600080fd5b815161103b81610f4b565b60008261116557634e487b7160e01b600052601260045260246000fd5b500490565b602081016008831061117e5761117e611086565b91905290565b60006020828403121561119657600080fd5b5051919050565b60008160001904831182151516156111b7576111b761109c565b50029056fea2646970667358221220a3fcf52b1c21133671df5d6a5df74acbd6a3a83cee63bf17ef53d32ef13684cf64736f6c63430008090033",
321
+ "linkReferences": {},
322
+ "deployedLinkReferences": {}
323
+ }