@layerzerolabs/lz-evm-sdk-v2 2.1.10 → 2.1.11

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 (174) hide show
  1. package/artifacts/contracts/EndpointV2View.sol/EndpointV2View.json +2 -2
  2. package/artifacts/contracts/EndpointV2ViewUpgradeable.sol/EndpointV2ViewUpgradeable.json +2 -2
  3. package/artifacts/contracts/uln/LzExecutor.sol/LzExecutor.json +2 -2
  4. package/artifacts/contracts/uln/uln301/ReceiveUln301View.sol/ReceiveUln301View.json +2 -2
  5. package/artifacts/contracts/uln/uln302/ReceiveUln302View.sol/ReceiveUln302View.json +2 -2
  6. package/deployments/arbitrum-sandbox-local/DVN.json +1864 -0
  7. package/deployments/arbitrum-sandbox-local/DVNDecompressor.json +500 -0
  8. package/deployments/arbitrum-sandbox-local/DVNFeeLib.json +398 -0
  9. package/deployments/arbitrum-sandbox-local/PriceFeed.json +890 -0
  10. package/deployments/arbitrum-sandbox-local/PriceFeedProxyAdmin.json +283 -0
  11. package/deployments/arbitrum-sandbox-local/PriceFeed_Implementation.json +912 -0
  12. package/deployments/arbitrum-sandbox-local/PriceFeed_Proxy.json +244 -0
  13. package/deployments/avalanche-sandbox-local/DVN.json +1896 -0
  14. package/deployments/avalanche-sandbox-local/DVNDecompressor.json +508 -0
  15. package/deployments/avalanche-sandbox-local/DVNFeeLib.json +398 -0
  16. package/deployments/avalanche-sandbox-local/DefaultProxyAdmin.json +258 -0
  17. package/deployments/avalanche-sandbox-local/EndpointV2.json +2946 -0
  18. package/deployments/avalanche-sandbox-local/EndpointV2View.json +435 -0
  19. package/deployments/avalanche-sandbox-local/EndpointV2View_Implementation.json +313 -0
  20. package/deployments/avalanche-sandbox-local/EndpointV2View_Proxy.json +230 -0
  21. package/deployments/avalanche-sandbox-local/Executor.json +1549 -0
  22. package/deployments/avalanche-sandbox-local/ExecutorDecompressor.json +339 -0
  23. package/deployments/avalanche-sandbox-local/ExecutorFeeLib.json +423 -0
  24. package/deployments/avalanche-sandbox-local/ExecutorProxyAdmin.json +283 -0
  25. package/deployments/avalanche-sandbox-local/Executor_Implementation.json +1591 -0
  26. package/deployments/avalanche-sandbox-local/Executor_Proxy.json +380 -0
  27. package/deployments/avalanche-sandbox-local/LzExecutor.json +757 -0
  28. package/deployments/avalanche-sandbox-local/LzExecutor_Implementation.json +703 -0
  29. package/deployments/avalanche-sandbox-local/LzExecutor_Proxy.json +244 -0
  30. package/deployments/avalanche-sandbox-local/NonceContractMock.json +163 -0
  31. package/deployments/avalanche-sandbox-local/PriceFeed.json +890 -0
  32. package/deployments/avalanche-sandbox-local/PriceFeedProxyAdmin.json +283 -0
  33. package/deployments/avalanche-sandbox-local/PriceFeed_Implementation.json +912 -0
  34. package/deployments/avalanche-sandbox-local/PriceFeed_Proxy.json +244 -0
  35. package/deployments/avalanche-sandbox-local/ReceiveUln301.json +1292 -0
  36. package/deployments/avalanche-sandbox-local/ReceiveUln301View.json +354 -0
  37. package/deployments/avalanche-sandbox-local/ReceiveUln301View_Implementation.json +231 -0
  38. package/deployments/avalanche-sandbox-local/ReceiveUln301View_Proxy.json +230 -0
  39. package/deployments/avalanche-sandbox-local/ReceiveUln302.json +1006 -0
  40. package/deployments/avalanche-sandbox-local/ReceiveUln302View.json +478 -0
  41. package/deployments/avalanche-sandbox-local/ReceiveUln302View_Implementation.json +384 -0
  42. package/deployments/avalanche-sandbox-local/ReceiveUln302View_Proxy.json +230 -0
  43. package/deployments/avalanche-sandbox-local/SendUln301.json +1569 -0
  44. package/deployments/avalanche-sandbox-local/SendUln302.json +1527 -0
  45. package/deployments/avalanche-sandbox-local/SimpleMessageLib.json +708 -0
  46. package/deployments/avalanche-sandbox-local/Treasury.json +412 -0
  47. package/deployments/avalanche-sandbox-local/TreasuryFeeHandler.json +125 -0
  48. package/deployments/bsc-sandbox-local/DVN.json +1896 -0
  49. package/deployments/bsc-sandbox-local/DVNDecompressor.json +508 -0
  50. package/deployments/bsc-sandbox-local/DVNFeeLib.json +398 -0
  51. package/deployments/bsc-sandbox-local/DefaultProxyAdmin.json +258 -0
  52. package/deployments/bsc-sandbox-local/EndpointV2.json +2946 -0
  53. package/deployments/bsc-sandbox-local/EndpointV2View.json +435 -0
  54. package/deployments/bsc-sandbox-local/EndpointV2View_Implementation.json +313 -0
  55. package/deployments/bsc-sandbox-local/EndpointV2View_Proxy.json +230 -0
  56. package/deployments/bsc-sandbox-local/Executor.json +1549 -0
  57. package/deployments/bsc-sandbox-local/ExecutorDecompressor.json +339 -0
  58. package/deployments/bsc-sandbox-local/ExecutorFeeLib.json +423 -0
  59. package/deployments/bsc-sandbox-local/ExecutorProxyAdmin.json +283 -0
  60. package/deployments/bsc-sandbox-local/Executor_Implementation.json +1591 -0
  61. package/deployments/bsc-sandbox-local/Executor_Proxy.json +380 -0
  62. package/deployments/bsc-sandbox-local/LzExecutor.json +757 -0
  63. package/deployments/bsc-sandbox-local/LzExecutor_Implementation.json +703 -0
  64. package/deployments/bsc-sandbox-local/LzExecutor_Proxy.json +244 -0
  65. package/deployments/bsc-sandbox-local/NonceContractMock.json +163 -0
  66. package/deployments/bsc-sandbox-local/PriceFeed.json +890 -0
  67. package/deployments/bsc-sandbox-local/PriceFeedProxyAdmin.json +283 -0
  68. package/deployments/bsc-sandbox-local/PriceFeed_Implementation.json +912 -0
  69. package/deployments/bsc-sandbox-local/PriceFeed_Proxy.json +244 -0
  70. package/deployments/bsc-sandbox-local/ReceiveUln301.json +1292 -0
  71. package/deployments/bsc-sandbox-local/ReceiveUln301View.json +354 -0
  72. package/deployments/bsc-sandbox-local/ReceiveUln301View_Implementation.json +231 -0
  73. package/deployments/bsc-sandbox-local/ReceiveUln301View_Proxy.json +230 -0
  74. package/deployments/bsc-sandbox-local/ReceiveUln302.json +1006 -0
  75. package/deployments/bsc-sandbox-local/ReceiveUln302View.json +478 -0
  76. package/deployments/bsc-sandbox-local/ReceiveUln302View_Implementation.json +384 -0
  77. package/deployments/bsc-sandbox-local/ReceiveUln302View_Proxy.json +230 -0
  78. package/deployments/bsc-sandbox-local/SendUln301.json +1569 -0
  79. package/deployments/bsc-sandbox-local/SendUln302.json +1527 -0
  80. package/deployments/bsc-sandbox-local/SimpleMessageLib.json +708 -0
  81. package/deployments/bsc-sandbox-local/Treasury.json +412 -0
  82. package/deployments/bsc-sandbox-local/TreasuryFeeHandler.json +125 -0
  83. package/deployments/ethereum-sandbox-local/DVN.json +50 -50
  84. package/deployments/ethereum-sandbox-local/DVNDecompressor.json +15 -15
  85. package/deployments/ethereum-sandbox-local/DVNFeeLib.json +9 -9
  86. package/deployments/ethereum-sandbox-local/DefaultProxyAdmin.json +11 -11
  87. package/deployments/ethereum-sandbox-local/EndpointV2.json +43 -43
  88. package/deployments/ethereum-sandbox-local/EndpointV2View.json +26 -26
  89. package/deployments/ethereum-sandbox-local/EndpointV2View_Implementation.json +14 -14
  90. package/deployments/ethereum-sandbox-local/EndpointV2View_Proxy.json +24 -24
  91. package/deployments/ethereum-sandbox-local/Executor.json +74 -74
  92. package/deployments/ethereum-sandbox-local/ExecutorDecompressor.json +15 -15
  93. package/deployments/ethereum-sandbox-local/ExecutorFeeLib.json +13 -13
  94. package/deployments/ethereum-sandbox-local/ExecutorProxyAdmin.json +17 -17
  95. package/deployments/ethereum-sandbox-local/Executor_Implementation.json +41 -41
  96. package/deployments/ethereum-sandbox-local/Executor_Proxy.json +67 -67
  97. package/deployments/ethereum-sandbox-local/LzExecutor.json +34 -34
  98. package/deployments/ethereum-sandbox-local/LzExecutor_Implementation.json +22 -22
  99. package/deployments/ethereum-sandbox-local/LzExecutor_Proxy.json +30 -30
  100. package/deployments/ethereum-sandbox-local/NonceContractMock.json +9 -9
  101. package/deployments/ethereum-sandbox-local/PriceFeed.json +28 -28
  102. package/deployments/ethereum-sandbox-local/PriceFeedProxyAdmin.json +17 -17
  103. package/deployments/ethereum-sandbox-local/PriceFeed_Implementation.json +32 -32
  104. package/deployments/ethereum-sandbox-local/PriceFeed_Proxy.json +27 -27
  105. package/deployments/ethereum-sandbox-local/ReceiveUln301.json +41 -41
  106. package/deployments/ethereum-sandbox-local/ReceiveUln301View.json +27 -27
  107. package/deployments/ethereum-sandbox-local/ReceiveUln301View_Implementation.json +18 -18
  108. package/deployments/ethereum-sandbox-local/ReceiveUln301View_Proxy.json +24 -24
  109. package/deployments/ethereum-sandbox-local/ReceiveUln302.json +38 -38
  110. package/deployments/ethereum-sandbox-local/ReceiveUln302View.json +29 -29
  111. package/deployments/ethereum-sandbox-local/ReceiveUln302View_Implementation.json +20 -20
  112. package/deployments/ethereum-sandbox-local/ReceiveUln302View_Proxy.json +26 -26
  113. package/deployments/ethereum-sandbox-local/SendUln301.json +45 -45
  114. package/deployments/ethereum-sandbox-local/SendUln302.json +39 -39
  115. package/deployments/ethereum-sandbox-local/SimpleMessageLib.json +17 -17
  116. package/deployments/ethereum-sandbox-local/Treasury.json +16 -16
  117. package/deployments/ethereum-sandbox-local/TreasuryFeeHandler.json +8 -8
  118. package/deployments/polygon-sandbox-local/DVN.json +50 -50
  119. package/deployments/polygon-sandbox-local/DVNDecompressor.json +15 -15
  120. package/deployments/polygon-sandbox-local/DVNFeeLib.json +9 -9
  121. package/deployments/polygon-sandbox-local/DefaultProxyAdmin.json +11 -11
  122. package/deployments/polygon-sandbox-local/EndpointV2.json +43 -43
  123. package/deployments/polygon-sandbox-local/EndpointV2View.json +26 -26
  124. package/deployments/polygon-sandbox-local/EndpointV2View_Implementation.json +14 -14
  125. package/deployments/polygon-sandbox-local/EndpointV2View_Proxy.json +24 -24
  126. package/deployments/polygon-sandbox-local/Executor.json +74 -74
  127. package/deployments/polygon-sandbox-local/ExecutorDecompressor.json +15 -15
  128. package/deployments/polygon-sandbox-local/ExecutorFeeLib.json +13 -13
  129. package/deployments/polygon-sandbox-local/ExecutorProxyAdmin.json +17 -17
  130. package/deployments/polygon-sandbox-local/Executor_Implementation.json +41 -41
  131. package/deployments/polygon-sandbox-local/Executor_Proxy.json +67 -67
  132. package/deployments/polygon-sandbox-local/LzExecutor.json +34 -34
  133. package/deployments/polygon-sandbox-local/LzExecutor_Implementation.json +22 -22
  134. package/deployments/polygon-sandbox-local/LzExecutor_Proxy.json +30 -30
  135. package/deployments/polygon-sandbox-local/NonceContractMock.json +9 -9
  136. package/deployments/polygon-sandbox-local/PriceFeed.json +28 -28
  137. package/deployments/polygon-sandbox-local/PriceFeedProxyAdmin.json +17 -17
  138. package/deployments/polygon-sandbox-local/PriceFeed_Implementation.json +32 -32
  139. package/deployments/polygon-sandbox-local/PriceFeed_Proxy.json +27 -27
  140. package/deployments/polygon-sandbox-local/ReceiveUln301.json +41 -41
  141. package/deployments/polygon-sandbox-local/ReceiveUln301View.json +27 -27
  142. package/deployments/polygon-sandbox-local/ReceiveUln301View_Implementation.json +18 -18
  143. package/deployments/polygon-sandbox-local/ReceiveUln301View_Proxy.json +24 -24
  144. package/deployments/polygon-sandbox-local/ReceiveUln302.json +38 -38
  145. package/deployments/polygon-sandbox-local/ReceiveUln302View.json +29 -29
  146. package/deployments/polygon-sandbox-local/ReceiveUln302View_Implementation.json +20 -20
  147. package/deployments/polygon-sandbox-local/ReceiveUln302View_Proxy.json +26 -26
  148. package/deployments/polygon-sandbox-local/SendUln301.json +45 -45
  149. package/deployments/polygon-sandbox-local/SendUln302.json +39 -39
  150. package/deployments/polygon-sandbox-local/SimpleMessageLib.json +17 -17
  151. package/deployments/polygon-sandbox-local/Treasury.json +16 -16
  152. package/deployments/polygon-sandbox-local/TreasuryFeeHandler.json +8 -8
  153. package/deployments/tron-sandbox-local/DVN.json +1864 -0
  154. package/deployments/tron-sandbox-local/DVNDecompressor.json +500 -0
  155. package/deployments/tron-sandbox-local/DVNFeeLib.json +398 -0
  156. package/deployments/tron-sandbox-local/PriceFeed.json +890 -0
  157. package/deployments/tron-sandbox-local/PriceFeedProxyAdmin.json +283 -0
  158. package/deployments/tron-sandbox-local/PriceFeed_Implementation.json +912 -0
  159. package/deployments/tron-sandbox-local/PriceFeed_Proxy.json +244 -0
  160. package/dist/{index-RhNRGtbi.d.mts → index-JB_kbnX5.d.mts} +5 -5
  161. package/dist/{index-RhNRGtbi.d.ts → index-JB_kbnX5.d.ts} +5 -5
  162. package/dist/index.browser.cjs +5 -5
  163. package/dist/index.browser.cjs.map +1 -1
  164. package/dist/index.browser.d.mts +1 -1
  165. package/dist/index.browser.d.ts +1 -1
  166. package/dist/index.browser.mjs +5 -5
  167. package/dist/index.browser.mjs.map +1 -1
  168. package/dist/index.cjs +5 -5
  169. package/dist/index.cjs.map +1 -1
  170. package/dist/index.d.mts +1 -1
  171. package/dist/index.d.ts +1 -1
  172. package/dist/index.mjs +5 -5
  173. package/dist/index.mjs.map +1 -1
  174. package/package.json +9 -9
@@ -0,0 +1,1864 @@
1
+ {
2
+ "address": "0xF83E9bE72ac2A355381bCBc86451Bc27482f2712",
3
+ "abi": [
4
+ {
5
+ "inputs": [
6
+ {
7
+ "internalType": "uint32",
8
+ "name": "_vid",
9
+ "type": "uint32"
10
+ },
11
+ {
12
+ "internalType": "address[]",
13
+ "name": "_messageLibs",
14
+ "type": "address[]"
15
+ },
16
+ {
17
+ "internalType": "address",
18
+ "name": "_priceFeed",
19
+ "type": "address"
20
+ },
21
+ {
22
+ "internalType": "address[]",
23
+ "name": "_signers",
24
+ "type": "address[]"
25
+ },
26
+ {
27
+ "internalType": "uint64",
28
+ "name": "_quorum",
29
+ "type": "uint64"
30
+ },
31
+ {
32
+ "internalType": "address[]",
33
+ "name": "_admins",
34
+ "type": "address[]"
35
+ }
36
+ ],
37
+ "stateMutability": "nonpayable",
38
+ "type": "constructor"
39
+ },
40
+ {
41
+ "inputs": [
42
+ {
43
+ "internalType": "bytes32",
44
+ "name": "executableHash",
45
+ "type": "bytes32"
46
+ }
47
+ ],
48
+ "name": "DVN_DuplicatedHash",
49
+ "type": "error"
50
+ },
51
+ {
52
+ "inputs": [],
53
+ "name": "DVN_InstructionExpired",
54
+ "type": "error"
55
+ },
56
+ {
57
+ "inputs": [
58
+ {
59
+ "internalType": "bytes32",
60
+ "name": "role",
61
+ "type": "bytes32"
62
+ }
63
+ ],
64
+ "name": "DVN_InvalidRole",
65
+ "type": "error"
66
+ },
67
+ {
68
+ "inputs": [],
69
+ "name": "DVN_InvalidSignatures",
70
+ "type": "error"
71
+ },
72
+ {
73
+ "inputs": [
74
+ {
75
+ "internalType": "address",
76
+ "name": "target",
77
+ "type": "address"
78
+ }
79
+ ],
80
+ "name": "DVN_InvalidTarget",
81
+ "type": "error"
82
+ },
83
+ {
84
+ "inputs": [
85
+ {
86
+ "internalType": "uint32",
87
+ "name": "vid",
88
+ "type": "uint32"
89
+ }
90
+ ],
91
+ "name": "DVN_InvalidVid",
92
+ "type": "error"
93
+ },
94
+ {
95
+ "inputs": [],
96
+ "name": "DVN_OnlySelf",
97
+ "type": "error"
98
+ },
99
+ {
100
+ "inputs": [],
101
+ "name": "MultiSig_OnlySigner",
102
+ "type": "error"
103
+ },
104
+ {
105
+ "inputs": [],
106
+ "name": "MultiSig_QuorumIsZero",
107
+ "type": "error"
108
+ },
109
+ {
110
+ "inputs": [
111
+ {
112
+ "internalType": "uint64",
113
+ "name": "signersSize",
114
+ "type": "uint64"
115
+ },
116
+ {
117
+ "internalType": "uint64",
118
+ "name": "quorum",
119
+ "type": "uint64"
120
+ }
121
+ ],
122
+ "name": "MultiSig_SignersSizeIsLessThanQuorum",
123
+ "type": "error"
124
+ },
125
+ {
126
+ "inputs": [
127
+ {
128
+ "internalType": "address",
129
+ "name": "signer",
130
+ "type": "address"
131
+ },
132
+ {
133
+ "internalType": "bool",
134
+ "name": "active",
135
+ "type": "bool"
136
+ }
137
+ ],
138
+ "name": "MultiSig_StateAlreadySet",
139
+ "type": "error"
140
+ },
141
+ {
142
+ "inputs": [],
143
+ "name": "MultiSig_UnorderedSigners",
144
+ "type": "error"
145
+ },
146
+ {
147
+ "inputs": [
148
+ {
149
+ "internalType": "address",
150
+ "name": "_to",
151
+ "type": "address"
152
+ },
153
+ {
154
+ "internalType": "uint256",
155
+ "name": "_value",
156
+ "type": "uint256"
157
+ }
158
+ ],
159
+ "name": "Transfer_NativeFailed",
160
+ "type": "error"
161
+ },
162
+ {
163
+ "inputs": [],
164
+ "name": "Transfer_ToAddressIsZero",
165
+ "type": "error"
166
+ },
167
+ {
168
+ "inputs": [],
169
+ "name": "Worker_NotAllowed",
170
+ "type": "error"
171
+ },
172
+ {
173
+ "inputs": [],
174
+ "name": "Worker_OnlyMessageLib",
175
+ "type": "error"
176
+ },
177
+ {
178
+ "inputs": [],
179
+ "name": "Worker_RoleRenouncingDisabled",
180
+ "type": "error"
181
+ },
182
+ {
183
+ "anonymous": false,
184
+ "inputs": [
185
+ {
186
+ "indexed": false,
187
+ "internalType": "uint256",
188
+ "name": "_index",
189
+ "type": "uint256"
190
+ },
191
+ {
192
+ "indexed": false,
193
+ "internalType": "bytes",
194
+ "name": "_data",
195
+ "type": "bytes"
196
+ }
197
+ ],
198
+ "name": "ExecuteFailed",
199
+ "type": "event"
200
+ },
201
+ {
202
+ "anonymous": false,
203
+ "inputs": [
204
+ {
205
+ "components": [
206
+ {
207
+ "internalType": "uint32",
208
+ "name": "vid",
209
+ "type": "uint32"
210
+ },
211
+ {
212
+ "internalType": "address",
213
+ "name": "target",
214
+ "type": "address"
215
+ },
216
+ {
217
+ "internalType": "bytes",
218
+ "name": "callData",
219
+ "type": "bytes"
220
+ },
221
+ {
222
+ "internalType": "uint256",
223
+ "name": "expiration",
224
+ "type": "uint256"
225
+ },
226
+ {
227
+ "internalType": "bytes",
228
+ "name": "signatures",
229
+ "type": "bytes"
230
+ }
231
+ ],
232
+ "indexed": false,
233
+ "internalType": "struct ExecuteParam",
234
+ "name": "param",
235
+ "type": "tuple"
236
+ },
237
+ {
238
+ "indexed": false,
239
+ "internalType": "bytes32",
240
+ "name": "_hash",
241
+ "type": "bytes32"
242
+ }
243
+ ],
244
+ "name": "HashAlreadyUsed",
245
+ "type": "event"
246
+ },
247
+ {
248
+ "anonymous": false,
249
+ "inputs": [
250
+ {
251
+ "indexed": false,
252
+ "internalType": "address",
253
+ "name": "account",
254
+ "type": "address"
255
+ }
256
+ ],
257
+ "name": "Paused",
258
+ "type": "event"
259
+ },
260
+ {
261
+ "anonymous": false,
262
+ "inputs": [
263
+ {
264
+ "indexed": true,
265
+ "internalType": "bytes32",
266
+ "name": "role",
267
+ "type": "bytes32"
268
+ },
269
+ {
270
+ "indexed": true,
271
+ "internalType": "bytes32",
272
+ "name": "previousAdminRole",
273
+ "type": "bytes32"
274
+ },
275
+ {
276
+ "indexed": true,
277
+ "internalType": "bytes32",
278
+ "name": "newAdminRole",
279
+ "type": "bytes32"
280
+ }
281
+ ],
282
+ "name": "RoleAdminChanged",
283
+ "type": "event"
284
+ },
285
+ {
286
+ "anonymous": false,
287
+ "inputs": [
288
+ {
289
+ "indexed": true,
290
+ "internalType": "bytes32",
291
+ "name": "role",
292
+ "type": "bytes32"
293
+ },
294
+ {
295
+ "indexed": true,
296
+ "internalType": "address",
297
+ "name": "account",
298
+ "type": "address"
299
+ },
300
+ {
301
+ "indexed": true,
302
+ "internalType": "address",
303
+ "name": "sender",
304
+ "type": "address"
305
+ }
306
+ ],
307
+ "name": "RoleGranted",
308
+ "type": "event"
309
+ },
310
+ {
311
+ "anonymous": false,
312
+ "inputs": [
313
+ {
314
+ "indexed": true,
315
+ "internalType": "bytes32",
316
+ "name": "role",
317
+ "type": "bytes32"
318
+ },
319
+ {
320
+ "indexed": true,
321
+ "internalType": "address",
322
+ "name": "account",
323
+ "type": "address"
324
+ },
325
+ {
326
+ "indexed": true,
327
+ "internalType": "address",
328
+ "name": "sender",
329
+ "type": "address"
330
+ }
331
+ ],
332
+ "name": "RoleRevoked",
333
+ "type": "event"
334
+ },
335
+ {
336
+ "anonymous": false,
337
+ "inputs": [
338
+ {
339
+ "indexed": false,
340
+ "internalType": "uint16",
341
+ "name": "multiplierBps",
342
+ "type": "uint16"
343
+ }
344
+ ],
345
+ "name": "SetDefaultMultiplierBps",
346
+ "type": "event"
347
+ },
348
+ {
349
+ "anonymous": false,
350
+ "inputs": [
351
+ {
352
+ "components": [
353
+ {
354
+ "internalType": "uint32",
355
+ "name": "dstEid",
356
+ "type": "uint32"
357
+ },
358
+ {
359
+ "internalType": "uint64",
360
+ "name": "gas",
361
+ "type": "uint64"
362
+ },
363
+ {
364
+ "internalType": "uint16",
365
+ "name": "multiplierBps",
366
+ "type": "uint16"
367
+ },
368
+ {
369
+ "internalType": "uint128",
370
+ "name": "floorMarginUSD",
371
+ "type": "uint128"
372
+ }
373
+ ],
374
+ "indexed": false,
375
+ "internalType": "struct IDVN.DstConfigParam[]",
376
+ "name": "params",
377
+ "type": "tuple[]"
378
+ }
379
+ ],
380
+ "name": "SetDstConfig",
381
+ "type": "event"
382
+ },
383
+ {
384
+ "anonymous": false,
385
+ "inputs": [
386
+ {
387
+ "indexed": false,
388
+ "internalType": "address",
389
+ "name": "priceFeed",
390
+ "type": "address"
391
+ }
392
+ ],
393
+ "name": "SetPriceFeed",
394
+ "type": "event"
395
+ },
396
+ {
397
+ "anonymous": false,
398
+ "inputs": [
399
+ {
400
+ "indexed": false,
401
+ "internalType": "uint32",
402
+ "name": "dstEid",
403
+ "type": "uint32"
404
+ },
405
+ {
406
+ "indexed": false,
407
+ "internalType": "uint8[]",
408
+ "name": "optionTypes",
409
+ "type": "uint8[]"
410
+ }
411
+ ],
412
+ "name": "SetSupportedOptionTypes",
413
+ "type": "event"
414
+ },
415
+ {
416
+ "anonymous": false,
417
+ "inputs": [
418
+ {
419
+ "indexed": false,
420
+ "internalType": "address",
421
+ "name": "workerLib",
422
+ "type": "address"
423
+ }
424
+ ],
425
+ "name": "SetWorkerLib",
426
+ "type": "event"
427
+ },
428
+ {
429
+ "anonymous": false,
430
+ "inputs": [
431
+ {
432
+ "indexed": false,
433
+ "internalType": "address",
434
+ "name": "account",
435
+ "type": "address"
436
+ }
437
+ ],
438
+ "name": "Unpaused",
439
+ "type": "event"
440
+ },
441
+ {
442
+ "anonymous": false,
443
+ "inputs": [
444
+ {
445
+ "indexed": false,
446
+ "internalType": "uint64",
447
+ "name": "_quorum",
448
+ "type": "uint64"
449
+ }
450
+ ],
451
+ "name": "UpdateQuorum",
452
+ "type": "event"
453
+ },
454
+ {
455
+ "anonymous": false,
456
+ "inputs": [
457
+ {
458
+ "indexed": false,
459
+ "internalType": "address",
460
+ "name": "_signer",
461
+ "type": "address"
462
+ },
463
+ {
464
+ "indexed": false,
465
+ "internalType": "bool",
466
+ "name": "_active",
467
+ "type": "bool"
468
+ }
469
+ ],
470
+ "name": "UpdateSigner",
471
+ "type": "event"
472
+ },
473
+ {
474
+ "anonymous": false,
475
+ "inputs": [
476
+ {
477
+ "indexed": false,
478
+ "internalType": "uint256",
479
+ "name": "fee",
480
+ "type": "uint256"
481
+ }
482
+ ],
483
+ "name": "VerifierFeePaid",
484
+ "type": "event"
485
+ },
486
+ {
487
+ "anonymous": false,
488
+ "inputs": [
489
+ {
490
+ "indexed": false,
491
+ "internalType": "uint256",
492
+ "name": "idx",
493
+ "type": "uint256"
494
+ }
495
+ ],
496
+ "name": "VerifySignaturesFailed",
497
+ "type": "event"
498
+ },
499
+ {
500
+ "anonymous": false,
501
+ "inputs": [
502
+ {
503
+ "indexed": false,
504
+ "internalType": "address",
505
+ "name": "lib",
506
+ "type": "address"
507
+ },
508
+ {
509
+ "indexed": false,
510
+ "internalType": "address",
511
+ "name": "to",
512
+ "type": "address"
513
+ },
514
+ {
515
+ "indexed": false,
516
+ "internalType": "uint256",
517
+ "name": "amount",
518
+ "type": "uint256"
519
+ }
520
+ ],
521
+ "name": "Withdraw",
522
+ "type": "event"
523
+ },
524
+ {
525
+ "inputs": [],
526
+ "name": "DEFAULT_ADMIN_ROLE",
527
+ "outputs": [
528
+ {
529
+ "internalType": "bytes32",
530
+ "name": "",
531
+ "type": "bytes32"
532
+ }
533
+ ],
534
+ "stateMutability": "view",
535
+ "type": "function"
536
+ },
537
+ {
538
+ "inputs": [],
539
+ "name": "allowlistSize",
540
+ "outputs": [
541
+ {
542
+ "internalType": "uint64",
543
+ "name": "",
544
+ "type": "uint64"
545
+ }
546
+ ],
547
+ "stateMutability": "view",
548
+ "type": "function"
549
+ },
550
+ {
551
+ "inputs": [
552
+ {
553
+ "components": [
554
+ {
555
+ "internalType": "uint32",
556
+ "name": "dstEid",
557
+ "type": "uint32"
558
+ },
559
+ {
560
+ "internalType": "bytes",
561
+ "name": "packetHeader",
562
+ "type": "bytes"
563
+ },
564
+ {
565
+ "internalType": "bytes32",
566
+ "name": "payloadHash",
567
+ "type": "bytes32"
568
+ },
569
+ {
570
+ "internalType": "uint64",
571
+ "name": "confirmations",
572
+ "type": "uint64"
573
+ },
574
+ {
575
+ "internalType": "address",
576
+ "name": "sender",
577
+ "type": "address"
578
+ }
579
+ ],
580
+ "internalType": "struct ILayerZeroDVN.AssignJobParam",
581
+ "name": "_param",
582
+ "type": "tuple"
583
+ },
584
+ {
585
+ "internalType": "bytes",
586
+ "name": "_options",
587
+ "type": "bytes"
588
+ }
589
+ ],
590
+ "name": "assignJob",
591
+ "outputs": [
592
+ {
593
+ "internalType": "uint256",
594
+ "name": "totalFee",
595
+ "type": "uint256"
596
+ }
597
+ ],
598
+ "stateMutability": "payable",
599
+ "type": "function"
600
+ },
601
+ {
602
+ "inputs": [
603
+ {
604
+ "internalType": "uint16",
605
+ "name": "_dstEid",
606
+ "type": "uint16"
607
+ },
608
+ {
609
+ "internalType": "uint16",
610
+ "name": "",
611
+ "type": "uint16"
612
+ },
613
+ {
614
+ "internalType": "uint64",
615
+ "name": "_confirmations",
616
+ "type": "uint64"
617
+ },
618
+ {
619
+ "internalType": "address",
620
+ "name": "_sender",
621
+ "type": "address"
622
+ }
623
+ ],
624
+ "name": "assignJob",
625
+ "outputs": [
626
+ {
627
+ "internalType": "uint256",
628
+ "name": "totalFee",
629
+ "type": "uint256"
630
+ }
631
+ ],
632
+ "stateMutability": "nonpayable",
633
+ "type": "function"
634
+ },
635
+ {
636
+ "inputs": [],
637
+ "name": "defaultMultiplierBps",
638
+ "outputs": [
639
+ {
640
+ "internalType": "uint16",
641
+ "name": "",
642
+ "type": "uint16"
643
+ }
644
+ ],
645
+ "stateMutability": "view",
646
+ "type": "function"
647
+ },
648
+ {
649
+ "inputs": [
650
+ {
651
+ "internalType": "uint32",
652
+ "name": "dstEid",
653
+ "type": "uint32"
654
+ }
655
+ ],
656
+ "name": "dstConfig",
657
+ "outputs": [
658
+ {
659
+ "internalType": "uint64",
660
+ "name": "gas",
661
+ "type": "uint64"
662
+ },
663
+ {
664
+ "internalType": "uint16",
665
+ "name": "multiplierBps",
666
+ "type": "uint16"
667
+ },
668
+ {
669
+ "internalType": "uint128",
670
+ "name": "floorMarginUSD",
671
+ "type": "uint128"
672
+ }
673
+ ],
674
+ "stateMutability": "view",
675
+ "type": "function"
676
+ },
677
+ {
678
+ "inputs": [
679
+ {
680
+ "components": [
681
+ {
682
+ "internalType": "uint32",
683
+ "name": "vid",
684
+ "type": "uint32"
685
+ },
686
+ {
687
+ "internalType": "address",
688
+ "name": "target",
689
+ "type": "address"
690
+ },
691
+ {
692
+ "internalType": "bytes",
693
+ "name": "callData",
694
+ "type": "bytes"
695
+ },
696
+ {
697
+ "internalType": "uint256",
698
+ "name": "expiration",
699
+ "type": "uint256"
700
+ },
701
+ {
702
+ "internalType": "bytes",
703
+ "name": "signatures",
704
+ "type": "bytes"
705
+ }
706
+ ],
707
+ "internalType": "struct ExecuteParam[]",
708
+ "name": "_params",
709
+ "type": "tuple[]"
710
+ }
711
+ ],
712
+ "name": "execute",
713
+ "outputs": [],
714
+ "stateMutability": "nonpayable",
715
+ "type": "function"
716
+ },
717
+ {
718
+ "inputs": [
719
+ {
720
+ "internalType": "uint32",
721
+ "name": "_dstEid",
722
+ "type": "uint32"
723
+ },
724
+ {
725
+ "internalType": "uint64",
726
+ "name": "_confirmations",
727
+ "type": "uint64"
728
+ },
729
+ {
730
+ "internalType": "address",
731
+ "name": "_sender",
732
+ "type": "address"
733
+ },
734
+ {
735
+ "internalType": "bytes",
736
+ "name": "_options",
737
+ "type": "bytes"
738
+ }
739
+ ],
740
+ "name": "getFee",
741
+ "outputs": [
742
+ {
743
+ "internalType": "uint256",
744
+ "name": "fee",
745
+ "type": "uint256"
746
+ }
747
+ ],
748
+ "stateMutability": "view",
749
+ "type": "function"
750
+ },
751
+ {
752
+ "inputs": [
753
+ {
754
+ "internalType": "uint16",
755
+ "name": "_dstEid",
756
+ "type": "uint16"
757
+ },
758
+ {
759
+ "internalType": "uint16",
760
+ "name": "",
761
+ "type": "uint16"
762
+ },
763
+ {
764
+ "internalType": "uint64",
765
+ "name": "_confirmations",
766
+ "type": "uint64"
767
+ },
768
+ {
769
+ "internalType": "address",
770
+ "name": "_sender",
771
+ "type": "address"
772
+ }
773
+ ],
774
+ "name": "getFee",
775
+ "outputs": [
776
+ {
777
+ "internalType": "uint256",
778
+ "name": "fee",
779
+ "type": "uint256"
780
+ }
781
+ ],
782
+ "stateMutability": "view",
783
+ "type": "function"
784
+ },
785
+ {
786
+ "inputs": [
787
+ {
788
+ "internalType": "bytes32",
789
+ "name": "role",
790
+ "type": "bytes32"
791
+ }
792
+ ],
793
+ "name": "getRoleAdmin",
794
+ "outputs": [
795
+ {
796
+ "internalType": "bytes32",
797
+ "name": "",
798
+ "type": "bytes32"
799
+ }
800
+ ],
801
+ "stateMutability": "view",
802
+ "type": "function"
803
+ },
804
+ {
805
+ "inputs": [
806
+ {
807
+ "internalType": "uint32",
808
+ "name": "_eid",
809
+ "type": "uint32"
810
+ }
811
+ ],
812
+ "name": "getSupportedOptionTypes",
813
+ "outputs": [
814
+ {
815
+ "internalType": "uint8[]",
816
+ "name": "",
817
+ "type": "uint8[]"
818
+ }
819
+ ],
820
+ "stateMutability": "view",
821
+ "type": "function"
822
+ },
823
+ {
824
+ "inputs": [
825
+ {
826
+ "internalType": "bytes32",
827
+ "name": "_role",
828
+ "type": "bytes32"
829
+ },
830
+ {
831
+ "internalType": "address",
832
+ "name": "_account",
833
+ "type": "address"
834
+ }
835
+ ],
836
+ "name": "grantRole",
837
+ "outputs": [],
838
+ "stateMutability": "nonpayable",
839
+ "type": "function"
840
+ },
841
+ {
842
+ "inputs": [
843
+ {
844
+ "internalType": "address",
845
+ "name": "_sender",
846
+ "type": "address"
847
+ }
848
+ ],
849
+ "name": "hasAcl",
850
+ "outputs": [
851
+ {
852
+ "internalType": "bool",
853
+ "name": "",
854
+ "type": "bool"
855
+ }
856
+ ],
857
+ "stateMutability": "view",
858
+ "type": "function"
859
+ },
860
+ {
861
+ "inputs": [
862
+ {
863
+ "internalType": "bytes32",
864
+ "name": "role",
865
+ "type": "bytes32"
866
+ },
867
+ {
868
+ "internalType": "address",
869
+ "name": "account",
870
+ "type": "address"
871
+ }
872
+ ],
873
+ "name": "hasRole",
874
+ "outputs": [
875
+ {
876
+ "internalType": "bool",
877
+ "name": "",
878
+ "type": "bool"
879
+ }
880
+ ],
881
+ "stateMutability": "view",
882
+ "type": "function"
883
+ },
884
+ {
885
+ "inputs": [
886
+ {
887
+ "internalType": "uint32",
888
+ "name": "_vid",
889
+ "type": "uint32"
890
+ },
891
+ {
892
+ "internalType": "address",
893
+ "name": "_target",
894
+ "type": "address"
895
+ },
896
+ {
897
+ "internalType": "bytes",
898
+ "name": "_callData",
899
+ "type": "bytes"
900
+ },
901
+ {
902
+ "internalType": "uint256",
903
+ "name": "_expiration",
904
+ "type": "uint256"
905
+ }
906
+ ],
907
+ "name": "hashCallData",
908
+ "outputs": [
909
+ {
910
+ "internalType": "bytes32",
911
+ "name": "",
912
+ "type": "bytes32"
913
+ }
914
+ ],
915
+ "stateMutability": "pure",
916
+ "type": "function"
917
+ },
918
+ {
919
+ "inputs": [],
920
+ "name": "paused",
921
+ "outputs": [
922
+ {
923
+ "internalType": "bool",
924
+ "name": "",
925
+ "type": "bool"
926
+ }
927
+ ],
928
+ "stateMutability": "view",
929
+ "type": "function"
930
+ },
931
+ {
932
+ "inputs": [],
933
+ "name": "priceFeed",
934
+ "outputs": [
935
+ {
936
+ "internalType": "address",
937
+ "name": "",
938
+ "type": "address"
939
+ }
940
+ ],
941
+ "stateMutability": "view",
942
+ "type": "function"
943
+ },
944
+ {
945
+ "inputs": [],
946
+ "name": "quorum",
947
+ "outputs": [
948
+ {
949
+ "internalType": "uint64",
950
+ "name": "",
951
+ "type": "uint64"
952
+ }
953
+ ],
954
+ "stateMutability": "view",
955
+ "type": "function"
956
+ },
957
+ {
958
+ "inputs": [
959
+ {
960
+ "components": [
961
+ {
962
+ "internalType": "uint32",
963
+ "name": "vid",
964
+ "type": "uint32"
965
+ },
966
+ {
967
+ "internalType": "address",
968
+ "name": "target",
969
+ "type": "address"
970
+ },
971
+ {
972
+ "internalType": "bytes",
973
+ "name": "callData",
974
+ "type": "bytes"
975
+ },
976
+ {
977
+ "internalType": "uint256",
978
+ "name": "expiration",
979
+ "type": "uint256"
980
+ },
981
+ {
982
+ "internalType": "bytes",
983
+ "name": "signatures",
984
+ "type": "bytes"
985
+ }
986
+ ],
987
+ "internalType": "struct ExecuteParam",
988
+ "name": "_param",
989
+ "type": "tuple"
990
+ }
991
+ ],
992
+ "name": "quorumChangeAdmin",
993
+ "outputs": [],
994
+ "stateMutability": "nonpayable",
995
+ "type": "function"
996
+ },
997
+ {
998
+ "inputs": [
999
+ {
1000
+ "internalType": "bytes32",
1001
+ "name": "",
1002
+ "type": "bytes32"
1003
+ },
1004
+ {
1005
+ "internalType": "address",
1006
+ "name": "",
1007
+ "type": "address"
1008
+ }
1009
+ ],
1010
+ "name": "renounceRole",
1011
+ "outputs": [],
1012
+ "stateMutability": "pure",
1013
+ "type": "function"
1014
+ },
1015
+ {
1016
+ "inputs": [
1017
+ {
1018
+ "internalType": "bytes32",
1019
+ "name": "_role",
1020
+ "type": "bytes32"
1021
+ },
1022
+ {
1023
+ "internalType": "address",
1024
+ "name": "_account",
1025
+ "type": "address"
1026
+ }
1027
+ ],
1028
+ "name": "revokeRole",
1029
+ "outputs": [],
1030
+ "stateMutability": "nonpayable",
1031
+ "type": "function"
1032
+ },
1033
+ {
1034
+ "inputs": [
1035
+ {
1036
+ "internalType": "uint16",
1037
+ "name": "_multiplierBps",
1038
+ "type": "uint16"
1039
+ }
1040
+ ],
1041
+ "name": "setDefaultMultiplierBps",
1042
+ "outputs": [],
1043
+ "stateMutability": "nonpayable",
1044
+ "type": "function"
1045
+ },
1046
+ {
1047
+ "inputs": [
1048
+ {
1049
+ "components": [
1050
+ {
1051
+ "internalType": "uint32",
1052
+ "name": "dstEid",
1053
+ "type": "uint32"
1054
+ },
1055
+ {
1056
+ "internalType": "uint64",
1057
+ "name": "gas",
1058
+ "type": "uint64"
1059
+ },
1060
+ {
1061
+ "internalType": "uint16",
1062
+ "name": "multiplierBps",
1063
+ "type": "uint16"
1064
+ },
1065
+ {
1066
+ "internalType": "uint128",
1067
+ "name": "floorMarginUSD",
1068
+ "type": "uint128"
1069
+ }
1070
+ ],
1071
+ "internalType": "struct IDVN.DstConfigParam[]",
1072
+ "name": "_params",
1073
+ "type": "tuple[]"
1074
+ }
1075
+ ],
1076
+ "name": "setDstConfig",
1077
+ "outputs": [],
1078
+ "stateMutability": "nonpayable",
1079
+ "type": "function"
1080
+ },
1081
+ {
1082
+ "inputs": [
1083
+ {
1084
+ "internalType": "bool",
1085
+ "name": "_paused",
1086
+ "type": "bool"
1087
+ }
1088
+ ],
1089
+ "name": "setPaused",
1090
+ "outputs": [],
1091
+ "stateMutability": "nonpayable",
1092
+ "type": "function"
1093
+ },
1094
+ {
1095
+ "inputs": [
1096
+ {
1097
+ "internalType": "address",
1098
+ "name": "_priceFeed",
1099
+ "type": "address"
1100
+ }
1101
+ ],
1102
+ "name": "setPriceFeed",
1103
+ "outputs": [],
1104
+ "stateMutability": "nonpayable",
1105
+ "type": "function"
1106
+ },
1107
+ {
1108
+ "inputs": [
1109
+ {
1110
+ "internalType": "uint64",
1111
+ "name": "_quorum",
1112
+ "type": "uint64"
1113
+ }
1114
+ ],
1115
+ "name": "setQuorum",
1116
+ "outputs": [],
1117
+ "stateMutability": "nonpayable",
1118
+ "type": "function"
1119
+ },
1120
+ {
1121
+ "inputs": [
1122
+ {
1123
+ "internalType": "address",
1124
+ "name": "_signer",
1125
+ "type": "address"
1126
+ },
1127
+ {
1128
+ "internalType": "bool",
1129
+ "name": "_active",
1130
+ "type": "bool"
1131
+ }
1132
+ ],
1133
+ "name": "setSigner",
1134
+ "outputs": [],
1135
+ "stateMutability": "nonpayable",
1136
+ "type": "function"
1137
+ },
1138
+ {
1139
+ "inputs": [
1140
+ {
1141
+ "internalType": "uint32",
1142
+ "name": "_eid",
1143
+ "type": "uint32"
1144
+ },
1145
+ {
1146
+ "internalType": "uint8[]",
1147
+ "name": "_optionTypes",
1148
+ "type": "uint8[]"
1149
+ }
1150
+ ],
1151
+ "name": "setSupportedOptionTypes",
1152
+ "outputs": [],
1153
+ "stateMutability": "nonpayable",
1154
+ "type": "function"
1155
+ },
1156
+ {
1157
+ "inputs": [
1158
+ {
1159
+ "internalType": "address",
1160
+ "name": "_workerFeeLib",
1161
+ "type": "address"
1162
+ }
1163
+ ],
1164
+ "name": "setWorkerFeeLib",
1165
+ "outputs": [],
1166
+ "stateMutability": "nonpayable",
1167
+ "type": "function"
1168
+ },
1169
+ {
1170
+ "inputs": [],
1171
+ "name": "signerSize",
1172
+ "outputs": [
1173
+ {
1174
+ "internalType": "uint64",
1175
+ "name": "",
1176
+ "type": "uint64"
1177
+ }
1178
+ ],
1179
+ "stateMutability": "view",
1180
+ "type": "function"
1181
+ },
1182
+ {
1183
+ "inputs": [
1184
+ {
1185
+ "internalType": "address",
1186
+ "name": "signer",
1187
+ "type": "address"
1188
+ }
1189
+ ],
1190
+ "name": "signers",
1191
+ "outputs": [
1192
+ {
1193
+ "internalType": "bool",
1194
+ "name": "active",
1195
+ "type": "bool"
1196
+ }
1197
+ ],
1198
+ "stateMutability": "view",
1199
+ "type": "function"
1200
+ },
1201
+ {
1202
+ "inputs": [
1203
+ {
1204
+ "internalType": "bytes4",
1205
+ "name": "interfaceId",
1206
+ "type": "bytes4"
1207
+ }
1208
+ ],
1209
+ "name": "supportsInterface",
1210
+ "outputs": [
1211
+ {
1212
+ "internalType": "bool",
1213
+ "name": "",
1214
+ "type": "bool"
1215
+ }
1216
+ ],
1217
+ "stateMutability": "view",
1218
+ "type": "function"
1219
+ },
1220
+ {
1221
+ "inputs": [
1222
+ {
1223
+ "internalType": "bytes32",
1224
+ "name": "executableHash",
1225
+ "type": "bytes32"
1226
+ }
1227
+ ],
1228
+ "name": "usedHashes",
1229
+ "outputs": [
1230
+ {
1231
+ "internalType": "bool",
1232
+ "name": "used",
1233
+ "type": "bool"
1234
+ }
1235
+ ],
1236
+ "stateMutability": "view",
1237
+ "type": "function"
1238
+ },
1239
+ {
1240
+ "inputs": [
1241
+ {
1242
+ "internalType": "bytes32",
1243
+ "name": "_hash",
1244
+ "type": "bytes32"
1245
+ },
1246
+ {
1247
+ "internalType": "bytes",
1248
+ "name": "_signatures",
1249
+ "type": "bytes"
1250
+ }
1251
+ ],
1252
+ "name": "verifySignatures",
1253
+ "outputs": [
1254
+ {
1255
+ "internalType": "bool",
1256
+ "name": "",
1257
+ "type": "bool"
1258
+ },
1259
+ {
1260
+ "internalType": "enum MultiSig.Errors",
1261
+ "name": "",
1262
+ "type": "uint8"
1263
+ }
1264
+ ],
1265
+ "stateMutability": "view",
1266
+ "type": "function"
1267
+ },
1268
+ {
1269
+ "inputs": [],
1270
+ "name": "vid",
1271
+ "outputs": [
1272
+ {
1273
+ "internalType": "uint32",
1274
+ "name": "",
1275
+ "type": "uint32"
1276
+ }
1277
+ ],
1278
+ "stateMutability": "view",
1279
+ "type": "function"
1280
+ },
1281
+ {
1282
+ "inputs": [
1283
+ {
1284
+ "internalType": "address",
1285
+ "name": "_lib",
1286
+ "type": "address"
1287
+ },
1288
+ {
1289
+ "internalType": "address",
1290
+ "name": "_to",
1291
+ "type": "address"
1292
+ },
1293
+ {
1294
+ "internalType": "uint256",
1295
+ "name": "_amount",
1296
+ "type": "uint256"
1297
+ }
1298
+ ],
1299
+ "name": "withdrawFee",
1300
+ "outputs": [],
1301
+ "stateMutability": "nonpayable",
1302
+ "type": "function"
1303
+ },
1304
+ {
1305
+ "inputs": [
1306
+ {
1307
+ "internalType": "address",
1308
+ "name": "_lib",
1309
+ "type": "address"
1310
+ },
1311
+ {
1312
+ "internalType": "address payable",
1313
+ "name": "_to",
1314
+ "type": "address"
1315
+ },
1316
+ {
1317
+ "internalType": "uint256",
1318
+ "name": "_amount",
1319
+ "type": "uint256"
1320
+ }
1321
+ ],
1322
+ "name": "withdrawFeeFromUlnV2",
1323
+ "outputs": [],
1324
+ "stateMutability": "nonpayable",
1325
+ "type": "function"
1326
+ },
1327
+ {
1328
+ "inputs": [
1329
+ {
1330
+ "internalType": "address",
1331
+ "name": "_token",
1332
+ "type": "address"
1333
+ },
1334
+ {
1335
+ "internalType": "address",
1336
+ "name": "_to",
1337
+ "type": "address"
1338
+ },
1339
+ {
1340
+ "internalType": "uint256",
1341
+ "name": "_amount",
1342
+ "type": "uint256"
1343
+ }
1344
+ ],
1345
+ "name": "withdrawToken",
1346
+ "outputs": [],
1347
+ "stateMutability": "nonpayable",
1348
+ "type": "function"
1349
+ },
1350
+ {
1351
+ "inputs": [],
1352
+ "name": "workerFeeLib",
1353
+ "outputs": [
1354
+ {
1355
+ "internalType": "address",
1356
+ "name": "",
1357
+ "type": "address"
1358
+ }
1359
+ ],
1360
+ "stateMutability": "view",
1361
+ "type": "function"
1362
+ }
1363
+ ],
1364
+ "transactionHash": "0x6cf9005d2e4d2f9dc2277e545e966975fe072f9985f0f7a7bdfb30b8f94bc4c3",
1365
+ "receipt": {
1366
+ "to": null,
1367
+ "from": "0xBcd4042DE499D14e55001CcbB24a551F3b954096",
1368
+ "contractAddress": "0xF83E9bE72ac2A355381bCBc86451Bc27482f2712",
1369
+ "transactionIndex": 0,
1370
+ "gasUsed": "3998195",
1371
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
1372
+ "blockHash": "0x000000000000001c4a98eee02418695eab7b5624bb2dda3e82dd420306eebc3f",
1373
+ "transactionHash": "0x6cf9005d2e4d2f9dc2277e545e966975fe072f9985f0f7a7bdfb30b8f94bc4c3",
1374
+ "logs": [
1375
+ {
1376
+ "transactionIndex": 0,
1377
+ "blockNumber": 28,
1378
+ "transactionHash": "0x6cf9005d2e4d2f9dc2277e545e966975fe072f9985f0f7a7bdfb30b8f94bc4c3",
1379
+ "address": "0xF83E9bE72ac2A355381bCBc86451Bc27482f2712",
1380
+ "topics": [
1381
+ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d",
1382
+ "0x724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de",
1383
+ "0x000000000000000000000000a98556839083691545d38fa0a8039b35022a0eff",
1384
+ "0x000000000000000000000000bcd4042de499d14e55001ccbb24a551f3b954096"
1385
+ ],
1386
+ "data": "0x",
1387
+ "logIndex": 0,
1388
+ "blockHash": "0x000000000000001c4a98eee02418695eab7b5624bb2dda3e82dd420306eebc3f"
1389
+ },
1390
+ {
1391
+ "transactionIndex": 0,
1392
+ "blockNumber": 28,
1393
+ "transactionHash": "0x6cf9005d2e4d2f9dc2277e545e966975fe072f9985f0f7a7bdfb30b8f94bc4c3",
1394
+ "address": "0xF83E9bE72ac2A355381bCBc86451Bc27482f2712",
1395
+ "topics": [
1396
+ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d",
1397
+ "0xa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775",
1398
+ "0x0000000000000000000000000e9971c0005d91336c1441b8f03c1c4fe5fb4584",
1399
+ "0x000000000000000000000000bcd4042de499d14e55001ccbb24a551f3b954096"
1400
+ ],
1401
+ "data": "0x",
1402
+ "logIndex": 1,
1403
+ "blockHash": "0x000000000000001c4a98eee02418695eab7b5624bb2dda3e82dd420306eebc3f"
1404
+ }
1405
+ ],
1406
+ "blockNumber": 28,
1407
+ "cumulativeGasUsed": "3998195",
1408
+ "status": 1,
1409
+ "byzantium": true
1410
+ },
1411
+ "args": [
1412
+ 20420,
1413
+ [
1414
+ "0xa98556839083691545D38FA0a8039b35022a0EfF"
1415
+ ],
1416
+ "0xf41F509b8788327f9fF46bEaB1060dcea17Fc014",
1417
+ [
1418
+ "0x9c79357189d6aF261691ECF48de9A6bbF30438Fc",
1419
+ "0xC4c81D5C1851702d27d602aA8ff830A7689F17cc"
1420
+ ],
1421
+ 1,
1422
+ [
1423
+ "0x0e9971c0005D91336c1441b8F03c1C4fe5FB4584"
1424
+ ]
1425
+ ],
1426
+ "numDeployments": 1,
1427
+ "solcInputHash": "a71075ae75ad3765de4259439cd68087",
1428
+ "bytecode": "0x60a06040523480156200001157600080fd5b50d380156200001f57600080fd5b50d280156200002d57600080fd5b506040516200519b3803806200519b83398101604081905262000050916200050d565b6001805460ff61ffff60e81b01191661017760ed1b179055600280546001600160a01b0319166001600160a01b03861617905582828686612ee060008660005b8551811015620000fb57620000e87f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de878381518110620000d457620000d4620005e0565b6020026020010151620002b560201b60201c565b620000f3816200060c565b905062000090565b5060005b81518110156200015657620001437fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775838381518110620000d457620000d4620005e0565b6200014e816200060c565b9050620000ff565b505050505050806001600160401b03166000036200018757604051635f86e17760e01b815260040160405180910390fd5b806001600160401b031682511015620001cd5781516040516378e2c15760e11b81526001600160401b039182166004820152908216602482015260440160405180910390fd5b6000805b835181101562000269576000848281518110620001f257620001f2620005e0565b60200260200101519050826001600160a01b0316816001600160a01b0316116200022f576040516305fa937f60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600460205260409020805460ff1916600117905591508062000260816200060c565b915050620001d1565b50509051600580546001600160401b0393841668010000000000000000026001600160801b0319909116939092169290921717905550505063ffffffff90921660805250620006599050565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca821480156200030657506000828152602081815260408083206001600160a01b038516845290915290205460ff16155b156200035357600180546015906200032e90600160a81b90046001600160401b031662000628565b91906101000a8154816001600160401b0302191690836001600160401b031602179055505b6200035f828262000363565b5050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff166200035f576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620003bf3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b634e487b7160e01b600052604160045260246000fd5b80516000906001600160a81b03811681146200043457600080fd5b6001600160a01b031692915050565b600082601f8301126200045557600080fd5b815160206001600160401b038083111562000474576200047462000403565b8260051b604051601f19603f830116810181811084821117156200049c576200049c62000403565b604052938452858101830193838101925087851115620004bb57600080fd5b83870191505b84821015620004e557620004d58262000419565b83529183019190830190620004c1565b979650505050505050565b80516001600160401b03811681146200050857600080fd5b919050565b60008060008060008060c087890312156200052757600080fd5b865163ffffffff811681146200053c57600080fd5b60208801519096506001600160401b03808211156200055a57600080fd5b620005688a838b0162000443565b96506200057860408a0162000419565b955060608901519150808211156200058f57600080fd5b6200059d8a838b0162000443565b9450620005ad60808a01620004f0565b935060a0890151915080821115620005c457600080fd5b50620005d389828a0162000443565b9150509295509295509295565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201620006215762000621620005f6565b5060010190565b60006001600160401b038281166002600160401b031981016200064f576200064f620005f6565b6001019392505050565b608051614b186200068360003960008181610b9501528181611aec01526126900152614b186000f3fe60806040526004361061029f5760003560e01c80638585c9451161016e578063c7a823e0116100cb578063d547741f1161007f578063f010cb2311610064578063f010cb2314610c94578063f3b4ebd014610cce578063fd62e75014610d0857600080fd5b8063d547741f14610c20578063dafe0ccc14610c5a57600080fd5b8063cd88b903116100b0578063cd88b90314610b2f578063cf34c76814610b69578063d2ae210414610bcc57600080fd5b8063c7a823e014610aad578063c7b2370b14610af557600080fd5b8063aef18bf711610122578063c358de0a11610107578063c358de0a146109ed578063c416aa5114610a27578063c5e193cd14610a7357600080fd5b8063aef18bf714610969578063b143044b146109b357600080fd5b806395d376d71161015357806395d376d7146108685780639e9449651461087b578063a217fddf1461093a57600080fd5b80638585c945146107c357806391d14854146107fd57600080fd5b80632f2ff15d1161021c5780635553fb8e116101d0578063724e78da116101b5578063724e78da146106d3578063736c0d5b1461070d578063741bef1a1461075757600080fd5b80635553fb8e146106675780635c975abb146106a157600080fd5b806331cb61051161020157806331cb6105146105b957806336568abe146105f357806352d3b8711461062d57600080fd5b80632f2ff15d1461054557806330bb3aac1461057f57600080fd5b806316c38b3c11610273578063248a9ca311610258578063248a9ca31461046c57806326e67a37146104c45780632de113761461050b57600080fd5b806316c38b3c146103d25780631703a0181461040c57600080fd5b8062bf2e80146102a457806301e336671461031257806301ffc9a71461034e5780631095b6d714610398575b600080fd5b3480156102b057600080fd5b50d380156102bd57600080fd5b50d280156102ca57600080fd5b506001546102fa907d010000000000000000000000000000000000000000000000000000000000900461ffff1681565b60405161ffff90911681526020015b60405180910390f35b34801561031e57600080fd5b50d3801561032b57600080fd5b50d2801561033857600080fd5b5061034c610347366004613b2b565b610d43565b005b34801561035a57600080fd5b50d3801561036757600080fd5b50d2801561037457600080fd5b50610388610383366004613b86565b610d7e565b6040519015158152602001610309565b3480156103a457600080fd5b50d380156103b157600080fd5b50d280156103be57600080fd5b5061034c6103cd366004613b2b565b610e17565b3480156103de57600080fd5b50d380156103eb57600080fd5b50d280156103f857600080fd5b5061034c610407366004613bd6565b610fa7565b34801561041857600080fd5b50d3801561042557600080fd5b50d2801561043257600080fd5b506005546104539068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610309565b34801561047857600080fd5b50d3801561048557600080fd5b50d2801561049257600080fd5b506104b66104a1366004613bf3565b60009081526020819052604090206001015490565b604051908152602001610309565b3480156104d057600080fd5b50d380156104dd57600080fd5b50d280156104ea57600080fd5b506104fe6104f9366004613c20565b610fcc565b6040516103099190613c3b565b34801561051757600080fd5b50d3801561052457600080fd5b50d2801561053157600080fd5b50610388610540366004613c82565b611053565b34801561055157600080fd5b50d3801561055e57600080fd5b50d2801561056b57600080fd5b5061034c61057a366004613cbc565b611138565b34801561058b57600080fd5b50d3801561059857600080fd5b50d280156105a557600080fd5b506104b66105b4366004613d5c565b61128c565b3480156105c557600080fd5b50d380156105d257600080fd5b50d280156105df57600080fd5b5061034c6105ee366004613dea565b611403565b3480156105ff57600080fd5b50d3801561060c57600080fd5b50d2801561061957600080fd5b5061034c610628366004613cbc565b611446565b34801561063957600080fd5b50d3801561064657600080fd5b50d2801561065357600080fd5b5061034c610662366004613e39565b611478565b34801561067357600080fd5b50d3801561068057600080fd5b50d2801561068d57600080fd5b506104b661069c366004613ec0565b61164c565b3480156106ad57600080fd5b50d380156106ba57600080fd5b50d280156106c757600080fd5b5060015460ff16610388565b3480156106df57600080fd5b50d380156106ec57600080fd5b50d280156106f957600080fd5b5061034c610708366004613c82565b6117c3565b34801561071957600080fd5b50d3801561072657600080fd5b50d2801561073357600080fd5b50610388610742366004613c82565b60046020526000908152604090205460ff1681565b34801561076357600080fd5b50d3801561077057600080fd5b50d2801561077d57600080fd5b5060025461079e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610309565b3480156107cf57600080fd5b50d380156107dc57600080fd5b50d280156107e957600080fd5b5061034c6107f8366004613f2e565b611868565b34801561080957600080fd5b50d3801561081657600080fd5b50d2801561082357600080fd5b50610388610832366004613cbc565b60009182526020828152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b6104b6610876366004613f61565b6118ad565b34801561088757600080fd5b50d3801561089457600080fd5b50d280156108a157600080fd5b506108ff6108b0366004613c20565b60066020526000908152604090205467ffffffffffffffff81169068010000000000000000810461ffff16906a010000000000000000000090046fffffffffffffffffffffffffffffffff1683565b6040805167ffffffffffffffff909416845261ffff90921660208401526fffffffffffffffffffffffffffffffff1690820152606001610309565b34801561094657600080fd5b50d3801561095357600080fd5b50d2801561096057600080fd5b506104b6600081565b34801561097557600080fd5b50d3801561098257600080fd5b50d2801561098f57600080fd5b5061038861099e366004613bf3565b60076020526000908152604090205460ff1681565b3480156109bf57600080fd5b50d380156109cc57600080fd5b50d280156109d957600080fd5b5061034c6109e836600461400f565b611a89565b3480156109f957600080fd5b50d38015610a0657600080fd5b50d28015610a1357600080fd5b5061034c610a22366004614051565b611da1565b348015610a3357600080fd5b50d38015610a4057600080fd5b50d28015610a4d57600080fd5b5060015461079e90610100900473ffffffffffffffffffffffffffffffffffffffff1681565b348015610a7f57600080fd5b50d38015610a8c57600080fd5b50d28015610a9957600080fd5b506104b6610aa8366004613ec0565b611e4f565b348015610ab957600080fd5b50d38015610ac657600080fd5b50d28015610ad357600080fd5b50610ae7610ae236600461406c565b61202d565b6040516103099291906140da565b348015610b0157600080fd5b50d38015610b0e57600080fd5b50d28015610b1b57600080fd5b5061034c610b2a366004613c82565b612249565b348015610b3b57600080fd5b50d38015610b4857600080fd5b50d28015610b5557600080fd5b5061034c610b64366004614127565b6122ed565b348015610b7557600080fd5b50d38015610b8257600080fd5b50d28015610b8f57600080fd5b50610bb77f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610309565b348015610bd857600080fd5b50d38015610be557600080fd5b50d28015610bf257600080fd5b50600154610453907501000000000000000000000000000000000000000000900467ffffffffffffffff1681565b348015610c2c57600080fd5b50d38015610c3957600080fd5b50d28015610c4657600080fd5b5061034c610c55366004613cbc565b61233e565b348015610c6657600080fd5b50d38015610c7357600080fd5b50d28015610c8057600080fd5b5061034c610c8f366004613b2b565b612453565b348015610ca057600080fd5b50d38015610cad57600080fd5b50d28015610cba57600080fd5b506104b6610cc936600461416d565b612589565b348015610cda57600080fd5b50d38015610ce757600080fd5b50d28015610cf457600080fd5b5061034c610d033660046141ee565b6125c5565b348015610d1457600080fd5b50d38015610d2157600080fd5b50d28015610d2e57600080fd5b506005546104539067ffffffffffffffff1681565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610d6d8161283a565b610d78848484612844565b50505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b000000000000000000000000000000000000000000000000000000001480610e1157507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610e418161283a565b73ffffffffffffffffffffffffffffffffffffffff841660009081527f9b50f4667d2d24216ccbf0dce3a90c0f620fa4d895e7b069d80ff6247fd25620602052604090205460ff16610ebf576040517f5ee08b9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ffd9be52200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301526024820184905285169063fd9be52290604401600060405180830381600087803b158015610f2f57600080fd5b505af1158015610f43573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff8089168252871660208201529081018590527f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb925060600190505b60405180910390a150505050565b6000610fb28161283a565b8115610fc457610fc0612874565b5050565b610fc06128f3565b63ffffffff811660009081526003602090815260409182902080548351818402810184019094528084526060939283018282801561104757602002820191906000526020600020906000905b825461010083900a900460ff168152602060019283018181049485019490930390920291018084116110185790505b50505050509050919050565b73ffffffffffffffffffffffffffffffffffffffff811660009081527f93c430521711328044ae92d0f1f1286cf040bc4a382f1642bd89984e86630553602052604081205460ff16156110a857506000919050565b6001547501000000000000000000000000000000000000000000900467ffffffffffffffff16158061111e575073ffffffffffffffffffffffffffffffffffffffff821660009081527f4ac82e3087b7dedf7f532cbc6915c722df8c1e31f1388c318a617b52760eaf8b602052604090205460ff165b1561112b57506001919050565b506000919050565b919050565b817f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca81148061118657507f4270fae16c6d150d00e80b689daca99e8073b1838ff2b6063a37be9d851283e481145b806111b057507f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de81145b156111f3573033146111ee576040517ffaba723a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61127d565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217758103611243576111ee7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561283a565b6040517f94fdc372000000000000000000000000000000000000000000000000000000008152600481018290526024015b60405180910390fd5b611287838361294a565b505050565b60008361129881611053565b6112ce576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c08101825260025473ffffffffffffffffffffffffffffffffffffffff908116825263ffffffff8a16602080840182905267ffffffffffffffff808c16858701528a8416606086015260055468010000000000000000900416608085015260015461ffff7d01000000000000000000000000000000000000000000000000000000000082041660a0860152600092835260069091529084902093517f7bfa20a9000000000000000000000000000000000000000000000000000000008152929361010090910490911691637bfa20a9916113b6918591908a908a9060040161426c565b602060405180830381865afa1580156113d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f79190614339565b98975050505050505050565b30331461143c576040517ffaba723a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610fc08282612a10565b6040517fdec9f03100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756114a28161283a565b60005b8281101561160d57368484838181106114c0576114c0614352565b905060800201905060405180606001604052808260200160208101906114e69190613f2e565b67ffffffffffffffff1681526020016115056060840160408501614051565b61ffff16815260200161151e60808401606085016143a1565b6fffffffffffffffffffffffffffffffff169052600660006115436020850185613c20565b63ffffffff1681526020808201929092526040908101600020835181549385015194909201516fffffffffffffffffffffffffffffffff166a0100000000000000000000027fffffffffffff00000000000000000000000000000000ffffffffffffffffffff61ffff90951668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000000000000000000090941667ffffffffffffffff90931692909217929092179290921691909117905550611606816143eb565b90506114a5565b507f7dd21e42791b013d1929e86f0c59085e4fca24251f0f1aa81917b3b1611766e0838360405161163f929190614423565b60405180910390a1505050565b60008161165881611053565b61168e576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c08101825260025473ffffffffffffffffffffffffffffffffffffffff908116825261ffff808a16602080850182905267ffffffffffffffff808b168688015289851660608701526005546801000000000000000090041660808601526001547d010000000000000000000000000000000000000000000000000000000000810490931660a08601526000918252600681528582208651918201875291815294517f7bfa20a9000000000000000000000000000000000000000000000000000000008152939461010090920490921692637bfa20a99261177792869260040161452f565b602060405180830381865afa158015611794573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b89190614339565b979650505050505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756117ed8161283a565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527ff724a45d041687842411f2b977ef22ab8f43c8f1104f4592b42a00f9b34a643d906020015b60405180910390a15050565b3033146118a1576040517ffaba723a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6118aa81612c10565b50565b60007f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de6118d98161283a565b6118e960a0860160808701613c82565b6118f281611053565b611928576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c0810190915260025473ffffffffffffffffffffffffffffffffffffffff168152600090602080820190611963908a018a613c20565b63ffffffff16815260200161197e60808a0160608b01613f2e565b67ffffffffffffffff16815260200161199d60a08a0160808b01613c82565b73ffffffffffffffffffffffffffffffffffffffff908116825260055468010000000000000000900467ffffffffffffffff166020808401919091526001547d010000000000000000000000000000000000000000000000000000000000810461ffff16604090940193909352929350610100909104169063df2b057e908390600690600090611a2f908d018d613c20565b63ffffffff1663ffffffff16815260200190815260200160002089896040518563ffffffff1660e01b8152600401611a6a949392919061426c565b6020604051808303816000875af1158015611794573d6000803e3d6000fd5b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611ab38161283a565b60005b82811015610d785736848483818110611ad157611ad1614352565b9050602002810190611ae39190614605565b905063ffffffff7f000000000000000000000000000000000000000000000000000000000000000016611b196020830183613c20565b63ffffffff1614611b2a5750611d91565b42816060013511611b3b5750611d91565b6000611b74611b4d6020840184613c20565b611b5d6040850160208601613c82565b611b6a6040860186614643565b8660600135612589565b90506000611b8982610ae26080860186614643565b50905080611bcc576040518481527fd6d90193101048cc1b6edcdc2348f5acf7a4a4a97d3e7b668b74cb7602ab3ebc9060200160405180910390a1505050611d91565b6000611bec611bde6040860186614643565b611be7916146a8565b612d28565b90508015611c855760008381526007602052604090205460ff1615611c4d577f9bb9bddbdf537a2104255307230b323d7982f4512ee8e5bd15df62ddca50ab978484604051611c3c929190614754565b60405180910390a150505050611d91565b600083815260076020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555b600080611c986040870160208801613c82565b73ffffffffffffffffffffffffffffffffffffffff16611cbb6040880188614643565b604051611cc992919061481a565b6000604051808303816000865af19150503d8060008114611d06576040519150601f19603f3d011682016040523d82523d6000602084013e611d0b565b606091505b509150915081611d8a578215611d5057600085815260076020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b7fdc8cdd96296241bbefda4a8e18ad2e0985a8da6495b34d409cfc4c886ee3b0cf8782604051611d8192919061482a565b60405180910390a15b5050505050505b611d9a816143eb565b9050611ab6565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611dcb8161283a565b600180547fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167d01000000000000000000000000000000000000000000000000000000000061ffff8516908102919091179091556040519081527f7af0ac740036ffb1c97b03697859d729e80a44ae5030543d64971c313565ab4d9060200161185c565b60007f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de611e7b8161283a565b82611e8581611053565b611ebb576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c08101825260025473ffffffffffffffffffffffffffffffffffffffff908116825261ffff808b16602080850182905267ffffffffffffffff808c16868801528a851660608701526005546801000000000000000090041660808601526001547d010000000000000000000000000000000000000000000000000000000000810490931660a08601526000918252600681528582208651918201875291815294517fdf2b057e00000000000000000000000000000000000000000000000000000000815293946101009092049092169263df2b057e92611fa492869260040161452f565b6020604051808303816000875af1158015611fc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fe79190614339565b93507f87e46b0a6199bc734632187269a103c05714ee0adae5b28f30723955724f37ef8460405161201a91815260200190565b60405180910390a1505050949350505050565b60055460009081906120569068010000000000000000900467ffffffffffffffff166041614843565b83146120685750600090506001612241565b60006120c1866040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b90506000805b60055468010000000000000000900467ffffffffffffffff168110156122355736600088886120f7856041614843565b9061210386600161485a565b61210e906041614843565b9261211b9392919061486d565b915091506000806121628785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612dc392505050565b9092509050600081600481111561217b5761217b6140ab565b1461219457600060019850985050505050505050612241565b8573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16116121db57600060029850985050505050505050612241565b73ffffffffffffffffffffffffffffffffffffffff821660009081526004602052604090205460ff1661221c57600060039850985050505050505050612241565b50935082915061222d9050816143eb565b9150506120c7565b50600160009350935050505b935093915050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756122738161283a565b600180547fffffffffffffffffffffff0000000000000000000000000000000000000000ff1661010073ffffffffffffffffffffffffffffffffffffffff8516908102919091179091556040519081527f1399be28223800f8669b3ba5f8721d9fc16fc4e8d0bbf98378791c8c5a3015e09060200161185c565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756123178161283a565b63ffffffff84166000908152600360205260409020612337908484613a4a565b5050505050565b817f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca81148061238c57507f4270fae16c6d150d00e80b689daca99e8073b1838ff2b6063a37be9d851283e481145b806123b657507f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de81145b156123f9573033146123f4576040517ffaba723a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612449565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217758103611243576123f47fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561283a565b6112878383612e08565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561247d8161283a565b73ffffffffffffffffffffffffffffffffffffffff841660009081527f9b50f4667d2d24216ccbf0dce3a90c0f620fa4d895e7b069d80ff6247fd25620602052604090205460ff166124fb576040517f5ee08b9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f07b18bde00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018490528516906307b18bde90604401600060405180830381600087803b15801561256b57600080fd5b505af115801561257f573d6000803e3d6000fd5b5050505050505050565b600085858386866040516020016125a4959493929190614897565b60405160208183030381529060405280519060200120905095945050505050565b42816060013511612602576040517f0bbaf26300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b306126136040830160208401613c82565b73ffffffffffffffffffffffffffffffffffffffff16146126895761263e6040820160208301613c82565b6040517f1ce0bfcd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401611274565b63ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166126bd6020830183613c20565b63ffffffff1614612710576126d56020820182613c20565b6040517f2697e1c200000000000000000000000000000000000000000000000000000000815263ffffffff9091166004820152602401611274565b6000612722611b4d6020840184613c20565b9050600061273782610ae26080860186614643565b50905080612771576040517f15ecadee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281526007602052604090205460ff16156127bd576040517f9d6a45a600000000000000000000000000000000000000000000000000000000815260048101839052602401611274565b6000828152600760205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055611287907fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217759061282890860186614643565b8101906128359190613c82565b61294a565b6118aa8133612ecd565b73ffffffffffffffffffffffffffffffffffffffff8316612869576112878282612f85565b61128783838361308b565b61287c6130f9565b600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016811790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b6128fb613168565b600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa336128c9565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca821480156129a7575060008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16155b15612a0657600180546015906129df907501000000000000000000000000000000000000000000900467ffffffffffffffff16614909565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b610fc082826131d4565b73ffffffffffffffffffffffffffffffffffffffff821660009081526004602052604090205481151560ff909116151503612a97576040517f58c8d2a000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201528115156024820152604401611274565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260046020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001683151517905581612b0957600554612b049060019067ffffffffffffffff16614930565b612b21565b600554612b219067ffffffffffffffff166001614958565b60055490915067ffffffffffffffff680100000000000000009091048116908216811115612b8f576040517ff1c582ae00000000000000000000000000000000000000000000000000000000815267ffffffffffffffff808416600483015282166024820152604401611274565b600580547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff84161790556040805173ffffffffffffffffffffffffffffffffffffffff8616815284151560208201527f863d338cad74814b108a06288ad5e0e80d56495e0332238b1d2cdcfa0ca8e5ce9101610f99565b8067ffffffffffffffff16600003612c54576040517f5f86e17700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60055467ffffffffffffffff908116908216811015612cb3576040517ff1c582ae00000000000000000000000000000000000000000000000000000000815267ffffffffffffffff808316600483015283166024820152604401611274565b600580547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff166801000000000000000067ffffffffffffffff8516908102919091179091556040519081527fb600f3cf7f38a4b49bb0c75f722ef69f7e3e39ef3bb4aa8207fd86e724a232499060200161185c565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f0223536e0000000000000000000000000000000000000000000000000000000014801590610e1157507fffffffff0000000000000000000000000000000000000000000000000000000082167f704316e500000000000000000000000000000000000000000000000000000000141592915050565b6000808251604103612df95760208301516040840151606085015160001a612ded878285856132c4565b94509450505050612e01565b506000905060025b9250929050565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca82148015612e64575060008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff165b15612ec35760018054601590612e9c907501000000000000000000000000000000000000000000900467ffffffffffffffff16614979565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b610fc082826133b3565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610fc057612f0b8161346a565b612f16836020613489565b604051602001612f279291906149bb565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a000000000000000000000000000000000000000000000000000000000825261127491600401614a3c565b73ffffffffffffffffffffffffffffffffffffffff8216612fd2576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d806000811461302c576040519150601f19603f3d011682016040523d82523d6000602084013e613031565b606091505b5050905080611287576040517f465bc83400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101839052604401611274565b73ffffffffffffffffffffffffffffffffffffffff82166130d8576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61128773ffffffffffffffffffffffffffffffffffffffff841683836136d3565b60015460ff1615613166576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401611274565b565b60015460ff16613166576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401611274565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610fc05760008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556132663390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156132fb57506000905060036133aa565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561334f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166133a3576000600192509250506133aa565b9150600090505b94509492505050565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1615610fc05760008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6060610e1173ffffffffffffffffffffffffffffffffffffffff831660145b60606000613498836002614843565b6134a390600261485a565b67ffffffffffffffff8111156134bb576134bb614a4f565b6040519080825280601f01601f1916602001820160405280156134e5576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061351c5761351c614352565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061357f5761357f614352565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006135bb846002614843565b6135c690600161485a565b90505b6001811115613663577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061360757613607614352565b1a60f81b82828151811061361d5761361d614352565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9361365c81614a7e565b90506135c9565b5083156136cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401611274565b9392505050565b6040805173ffffffffffffffffffffffffffffffffffffffff848116602483015260448083018590528351808403909101815260649092018352602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564908401526112879286929160009161379e91851690849061384b565b90508051600014806137bf5750808060200190518101906137bf9190614ab3565b611287576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401611274565b606061385a8484600085613862565b949350505050565b6060824710156138f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401611274565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161391d9190614ad0565b60006040518083038185875af1925050503d806000811461395a576040519150601f19603f3d011682016040523d82523d6000602084013e61395f565b606091505b50915091506117b88783838760608315613a015782516000036139fa5773ffffffffffffffffffffffffffffffffffffffff85163b6139fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611274565b508161385a565b61385a8383815115613a165781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112749190614a3c565b82805482825590600052602060002090601f01602090048101928215613ae35791602002820160005b83821115613ab457833560ff1683826101000a81548160ff021916908360ff1602179055509260200192600101602081600001049283019260010302613a73565b8015613ae15782816101000a81549060ff0219169055600101602081600001049283019260010302613ab4565b505b50613aef929150613af3565b5090565b5b80821115613aef5760008155600101613af4565b74ffffffffffffffffffffffffffffffffffffffffff811681146118aa57600080fd5b600080600060608486031215613b4057600080fd5b8335613b4b81613b08565b73ffffffffffffffffffffffffffffffffffffffff9081169350602085013590613b7482613b08565b93969316945050506040919091013590565b600060208284031215613b9857600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146136cc57600080fd5b80151581146118aa57600080fd5b600060208284031215613be857600080fd5b81356136cc81613bc8565b600060208284031215613c0557600080fd5b5035919050565b803563ffffffff8116811461113357600080fd5b600060208284031215613c3257600080fd5b6136cc82613c0c565b6020808252825182820181905260009190848201906040850190845b81811015613c7657835160ff1683529284019291840191600101613c57565b50909695505050505050565b600060208284031215613c9457600080fd5b8135613c9f81613b08565b73ffffffffffffffffffffffffffffffffffffffff169392505050565b60008060408385031215613ccf57600080fd5b823591506020830135613ce181613b08565b73ffffffffffffffffffffffffffffffffffffffff81169150509250929050565b803567ffffffffffffffff8116811461113357600080fd5b60008083601f840112613d2c57600080fd5b50813567ffffffffffffffff811115613d4457600080fd5b602083019150836020828501011115612e0157600080fd5b600080600080600060808688031215613d7457600080fd5b613d7d86613c0c565b9450613d8b60208701613d02565b93506040860135613d9b81613b08565b73ffffffffffffffffffffffffffffffffffffffff169250606086013567ffffffffffffffff811115613dcd57600080fd5b613dd988828901613d1a565b969995985093965092949392505050565b60008060408385031215613dfd57600080fd5b8235613e0881613b08565b73ffffffffffffffffffffffffffffffffffffffff1691506020830135613e2e81613bc8565b809150509250929050565b60008060208385031215613e4c57600080fd5b823567ffffffffffffffff80821115613e6457600080fd5b818501915085601f830112613e7857600080fd5b813581811115613e8757600080fd5b8660208260071b8501011115613e9c57600080fd5b60209290920196919550909350505050565b803561ffff8116811461113357600080fd5b60008060008060808587031215613ed657600080fd5b613edf85613eae565b9350613eed60208601613eae565b9250613efb60408601613d02565b91506060850135613f0b81613b08565b73ffffffffffffffffffffffffffffffffffffffff811691505092959194509250565b600060208284031215613f4057600080fd5b6136cc82613d02565b600060a08284031215613f5b57600080fd5b50919050565b600080600060408486031215613f7657600080fd5b833567ffffffffffffffff80821115613f8e57600080fd5b613f9a87838801613f49565b94506020860135915080821115613fb057600080fd5b50613fbd86828701613d1a565b9497909650939450505050565b60008083601f840112613fdc57600080fd5b50813567ffffffffffffffff811115613ff457600080fd5b6020830191508360208260051b8501011115612e0157600080fd5b6000806020838503121561402257600080fd5b823567ffffffffffffffff81111561403957600080fd5b61404585828601613fca565b90969095509350505050565b60006020828403121561406357600080fd5b6136cc82613eae565b60008060006040848603121561408157600080fd5b83359250602084013567ffffffffffffffff81111561409f57600080fd5b613fbd86828701613d1a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8215158152604081016004831061411a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8260208301529392505050565b60008060006040848603121561413c57600080fd5b61414584613c0c565b9250602084013567ffffffffffffffff81111561416157600080fd5b613fbd86828701613fca565b60008060008060006080868803121561418557600080fd5b61418e86613c0c565b9450602086013561419e81613b08565b73ffffffffffffffffffffffffffffffffffffffff169350604086013567ffffffffffffffff8111156141d057600080fd5b6141dc88828901613d1a565b96999598509660600135949350505050565b60006020828403121561420057600080fd5b813567ffffffffffffffff81111561421757600080fd5b61385a84828501613f49565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60006101406142e4838873ffffffffffffffffffffffffffffffffffffffff80825116835263ffffffff6020830151166020840152604082015167ffffffffffffffff808216604086015282606085015116606086015280608085015116608086015250505061ffff60a08201511660a08301525050565b61432560c08401875467ffffffffffffffff81168252604081811c61ffff16602084015260509190911c6fffffffffffffffffffffffffffffffff16910152565b806101208401526117b88184018587614223565b60006020828403121561434b57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80356fffffffffffffffffffffffffffffffff8116811461113357600080fd5b6000602082840312156143b357600080fd5b6136cc82614381565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361441c5761441c6143bc565b5060010190565b6020808252818101839052600090604080840186845b878110156144b45763ffffffff61444f83613c0c565b16835267ffffffffffffffff614466868401613d02565b168584015261ffff614479858401613eae565b168484015260606fffffffffffffffffffffffffffffffff61449c828501614381565b16908401526080928301929190910190600101614439565b5090979650505050505050565b60005b838110156144dc5781810151838201526020016144c4565b50506000910152565b600081518084526144fd8160208601602086016144c1565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60006101406145a7838773ffffffffffffffffffffffffffffffffffffffff80825116835263ffffffff6020830151166020840152604082015167ffffffffffffffff808216604086015282606085015116606086015280608085015116608086015250505061ffff60a08201511660a08301525050565b6145e860c08401865467ffffffffffffffff81168252604081811c61ffff16602084015260509190911c6fffffffffffffffffffffffffffffffff16910152565b806101208401526145fb818401856144e5565b9695505050505050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6183360301811261463957600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261467857600080fd5b83018035915067ffffffffffffffff82111561469357600080fd5b602001915036819003821315612e0157600080fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156146e85780818660040360031b1b83161692505b505092915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261472557600080fd5b830160208101925035905067ffffffffffffffff81111561474557600080fd5b803603821315612e0157600080fd5b6040815263ffffffff61476684613c0c565b1660408201526000602084013561477c81613b08565b73ffffffffffffffffffffffffffffffffffffffff1660608301526147a460408501856146f0565b60a060808501526147b960e085018284614223565b915050606085013560a08401526147d360808601866146f0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08584030160c0860152614808838284614223565b93505050508260208301529392505050565b8183823760009101908152919050565b82815260406020820152600061385a60408301846144e5565b8082028115828204841417610e1157610e116143bc565b80820180821115610e1157610e116143bc565b6000808585111561487d57600080fd5b8386111561488a57600080fd5b5050820193919092039150565b7fffffffff000000000000000000000000000000000000000000000000000000008660e01b1681527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008560601b1660048201528360188201528183603883013760009101603801908152949350505050565b600067ffffffffffffffff808316818103614926576149266143bc565b6001019392505050565b67ffffffffffffffff828116828216039080821115614951576149516143bc565b5092915050565b67ffffffffffffffff818116838216019080821115614951576149516143bc565b600067ffffffffffffffff821680614993576149936143bc565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516149f38160178501602088016144c1565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351614a308160288401602088016144c1565b01602801949350505050565b6020815260006136cc60208301846144e5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081614a8d57614a8d6143bc565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b600060208284031215614ac557600080fd5b81516136cc81613bc8565b600082516146398184602087016144c156fea26474726f6e58221220fb22ae4160c64130aec4defec2ecc1f22121f99c6637ec58710eff8ea979e6ed64736f6c63430008140033",
1429
+ "deployedBytecode": "0x60806040526004361061029f5760003560e01c80638585c9451161016e578063c7a823e0116100cb578063d547741f1161007f578063f010cb2311610064578063f010cb2314610c94578063f3b4ebd014610cce578063fd62e75014610d0857600080fd5b8063d547741f14610c20578063dafe0ccc14610c5a57600080fd5b8063cd88b903116100b0578063cd88b90314610b2f578063cf34c76814610b69578063d2ae210414610bcc57600080fd5b8063c7a823e014610aad578063c7b2370b14610af557600080fd5b8063aef18bf711610122578063c358de0a11610107578063c358de0a146109ed578063c416aa5114610a27578063c5e193cd14610a7357600080fd5b8063aef18bf714610969578063b143044b146109b357600080fd5b806395d376d71161015357806395d376d7146108685780639e9449651461087b578063a217fddf1461093a57600080fd5b80638585c945146107c357806391d14854146107fd57600080fd5b80632f2ff15d1161021c5780635553fb8e116101d0578063724e78da116101b5578063724e78da146106d3578063736c0d5b1461070d578063741bef1a1461075757600080fd5b80635553fb8e146106675780635c975abb146106a157600080fd5b806331cb61051161020157806331cb6105146105b957806336568abe146105f357806352d3b8711461062d57600080fd5b80632f2ff15d1461054557806330bb3aac1461057f57600080fd5b806316c38b3c11610273578063248a9ca311610258578063248a9ca31461046c57806326e67a37146104c45780632de113761461050b57600080fd5b806316c38b3c146103d25780631703a0181461040c57600080fd5b8062bf2e80146102a457806301e336671461031257806301ffc9a71461034e5780631095b6d714610398575b600080fd5b3480156102b057600080fd5b50d380156102bd57600080fd5b50d280156102ca57600080fd5b506001546102fa907d010000000000000000000000000000000000000000000000000000000000900461ffff1681565b60405161ffff90911681526020015b60405180910390f35b34801561031e57600080fd5b50d3801561032b57600080fd5b50d2801561033857600080fd5b5061034c610347366004613b2b565b610d43565b005b34801561035a57600080fd5b50d3801561036757600080fd5b50d2801561037457600080fd5b50610388610383366004613b86565b610d7e565b6040519015158152602001610309565b3480156103a457600080fd5b50d380156103b157600080fd5b50d280156103be57600080fd5b5061034c6103cd366004613b2b565b610e17565b3480156103de57600080fd5b50d380156103eb57600080fd5b50d280156103f857600080fd5b5061034c610407366004613bd6565b610fa7565b34801561041857600080fd5b50d3801561042557600080fd5b50d2801561043257600080fd5b506005546104539068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610309565b34801561047857600080fd5b50d3801561048557600080fd5b50d2801561049257600080fd5b506104b66104a1366004613bf3565b60009081526020819052604090206001015490565b604051908152602001610309565b3480156104d057600080fd5b50d380156104dd57600080fd5b50d280156104ea57600080fd5b506104fe6104f9366004613c20565b610fcc565b6040516103099190613c3b565b34801561051757600080fd5b50d3801561052457600080fd5b50d2801561053157600080fd5b50610388610540366004613c82565b611053565b34801561055157600080fd5b50d3801561055e57600080fd5b50d2801561056b57600080fd5b5061034c61057a366004613cbc565b611138565b34801561058b57600080fd5b50d3801561059857600080fd5b50d280156105a557600080fd5b506104b66105b4366004613d5c565b61128c565b3480156105c557600080fd5b50d380156105d257600080fd5b50d280156105df57600080fd5b5061034c6105ee366004613dea565b611403565b3480156105ff57600080fd5b50d3801561060c57600080fd5b50d2801561061957600080fd5b5061034c610628366004613cbc565b611446565b34801561063957600080fd5b50d3801561064657600080fd5b50d2801561065357600080fd5b5061034c610662366004613e39565b611478565b34801561067357600080fd5b50d3801561068057600080fd5b50d2801561068d57600080fd5b506104b661069c366004613ec0565b61164c565b3480156106ad57600080fd5b50d380156106ba57600080fd5b50d280156106c757600080fd5b5060015460ff16610388565b3480156106df57600080fd5b50d380156106ec57600080fd5b50d280156106f957600080fd5b5061034c610708366004613c82565b6117c3565b34801561071957600080fd5b50d3801561072657600080fd5b50d2801561073357600080fd5b50610388610742366004613c82565b60046020526000908152604090205460ff1681565b34801561076357600080fd5b50d3801561077057600080fd5b50d2801561077d57600080fd5b5060025461079e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610309565b3480156107cf57600080fd5b50d380156107dc57600080fd5b50d280156107e957600080fd5b5061034c6107f8366004613f2e565b611868565b34801561080957600080fd5b50d3801561081657600080fd5b50d2801561082357600080fd5b50610388610832366004613cbc565b60009182526020828152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b6104b6610876366004613f61565b6118ad565b34801561088757600080fd5b50d3801561089457600080fd5b50d280156108a157600080fd5b506108ff6108b0366004613c20565b60066020526000908152604090205467ffffffffffffffff81169068010000000000000000810461ffff16906a010000000000000000000090046fffffffffffffffffffffffffffffffff1683565b6040805167ffffffffffffffff909416845261ffff90921660208401526fffffffffffffffffffffffffffffffff1690820152606001610309565b34801561094657600080fd5b50d3801561095357600080fd5b50d2801561096057600080fd5b506104b6600081565b34801561097557600080fd5b50d3801561098257600080fd5b50d2801561098f57600080fd5b5061038861099e366004613bf3565b60076020526000908152604090205460ff1681565b3480156109bf57600080fd5b50d380156109cc57600080fd5b50d280156109d957600080fd5b5061034c6109e836600461400f565b611a89565b3480156109f957600080fd5b50d38015610a0657600080fd5b50d28015610a1357600080fd5b5061034c610a22366004614051565b611da1565b348015610a3357600080fd5b50d38015610a4057600080fd5b50d28015610a4d57600080fd5b5060015461079e90610100900473ffffffffffffffffffffffffffffffffffffffff1681565b348015610a7f57600080fd5b50d38015610a8c57600080fd5b50d28015610a9957600080fd5b506104b6610aa8366004613ec0565b611e4f565b348015610ab957600080fd5b50d38015610ac657600080fd5b50d28015610ad357600080fd5b50610ae7610ae236600461406c565b61202d565b6040516103099291906140da565b348015610b0157600080fd5b50d38015610b0e57600080fd5b50d28015610b1b57600080fd5b5061034c610b2a366004613c82565b612249565b348015610b3b57600080fd5b50d38015610b4857600080fd5b50d28015610b5557600080fd5b5061034c610b64366004614127565b6122ed565b348015610b7557600080fd5b50d38015610b8257600080fd5b50d28015610b8f57600080fd5b50610bb77f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610309565b348015610bd857600080fd5b50d38015610be557600080fd5b50d28015610bf257600080fd5b50600154610453907501000000000000000000000000000000000000000000900467ffffffffffffffff1681565b348015610c2c57600080fd5b50d38015610c3957600080fd5b50d28015610c4657600080fd5b5061034c610c55366004613cbc565b61233e565b348015610c6657600080fd5b50d38015610c7357600080fd5b50d28015610c8057600080fd5b5061034c610c8f366004613b2b565b612453565b348015610ca057600080fd5b50d38015610cad57600080fd5b50d28015610cba57600080fd5b506104b6610cc936600461416d565b612589565b348015610cda57600080fd5b50d38015610ce757600080fd5b50d28015610cf457600080fd5b5061034c610d033660046141ee565b6125c5565b348015610d1457600080fd5b50d38015610d2157600080fd5b50d28015610d2e57600080fd5b506005546104539067ffffffffffffffff1681565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610d6d8161283a565b610d78848484612844565b50505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b000000000000000000000000000000000000000000000000000000001480610e1157507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610e418161283a565b73ffffffffffffffffffffffffffffffffffffffff841660009081527f9b50f4667d2d24216ccbf0dce3a90c0f620fa4d895e7b069d80ff6247fd25620602052604090205460ff16610ebf576040517f5ee08b9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ffd9be52200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301526024820184905285169063fd9be52290604401600060405180830381600087803b158015610f2f57600080fd5b505af1158015610f43573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff8089168252871660208201529081018590527f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb925060600190505b60405180910390a150505050565b6000610fb28161283a565b8115610fc457610fc0612874565b5050565b610fc06128f3565b63ffffffff811660009081526003602090815260409182902080548351818402810184019094528084526060939283018282801561104757602002820191906000526020600020906000905b825461010083900a900460ff168152602060019283018181049485019490930390920291018084116110185790505b50505050509050919050565b73ffffffffffffffffffffffffffffffffffffffff811660009081527f93c430521711328044ae92d0f1f1286cf040bc4a382f1642bd89984e86630553602052604081205460ff16156110a857506000919050565b6001547501000000000000000000000000000000000000000000900467ffffffffffffffff16158061111e575073ffffffffffffffffffffffffffffffffffffffff821660009081527f4ac82e3087b7dedf7f532cbc6915c722df8c1e31f1388c318a617b52760eaf8b602052604090205460ff165b1561112b57506001919050565b506000919050565b919050565b817f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca81148061118657507f4270fae16c6d150d00e80b689daca99e8073b1838ff2b6063a37be9d851283e481145b806111b057507f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de81145b156111f3573033146111ee576040517ffaba723a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61127d565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217758103611243576111ee7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561283a565b6040517f94fdc372000000000000000000000000000000000000000000000000000000008152600481018290526024015b60405180910390fd5b611287838361294a565b505050565b60008361129881611053565b6112ce576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c08101825260025473ffffffffffffffffffffffffffffffffffffffff908116825263ffffffff8a16602080840182905267ffffffffffffffff808c16858701528a8416606086015260055468010000000000000000900416608085015260015461ffff7d01000000000000000000000000000000000000000000000000000000000082041660a0860152600092835260069091529084902093517f7bfa20a9000000000000000000000000000000000000000000000000000000008152929361010090910490911691637bfa20a9916113b6918591908a908a9060040161426c565b602060405180830381865afa1580156113d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f79190614339565b98975050505050505050565b30331461143c576040517ffaba723a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610fc08282612a10565b6040517fdec9f03100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756114a28161283a565b60005b8281101561160d57368484838181106114c0576114c0614352565b905060800201905060405180606001604052808260200160208101906114e69190613f2e565b67ffffffffffffffff1681526020016115056060840160408501614051565b61ffff16815260200161151e60808401606085016143a1565b6fffffffffffffffffffffffffffffffff169052600660006115436020850185613c20565b63ffffffff1681526020808201929092526040908101600020835181549385015194909201516fffffffffffffffffffffffffffffffff166a0100000000000000000000027fffffffffffff00000000000000000000000000000000ffffffffffffffffffff61ffff90951668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000000000000000000090941667ffffffffffffffff90931692909217929092179290921691909117905550611606816143eb565b90506114a5565b507f7dd21e42791b013d1929e86f0c59085e4fca24251f0f1aa81917b3b1611766e0838360405161163f929190614423565b60405180910390a1505050565b60008161165881611053565b61168e576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c08101825260025473ffffffffffffffffffffffffffffffffffffffff908116825261ffff808a16602080850182905267ffffffffffffffff808b168688015289851660608701526005546801000000000000000090041660808601526001547d010000000000000000000000000000000000000000000000000000000000810490931660a08601526000918252600681528582208651918201875291815294517f7bfa20a9000000000000000000000000000000000000000000000000000000008152939461010090920490921692637bfa20a99261177792869260040161452f565b602060405180830381865afa158015611794573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b89190614339565b979650505050505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756117ed8161283a565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527ff724a45d041687842411f2b977ef22ab8f43c8f1104f4592b42a00f9b34a643d906020015b60405180910390a15050565b3033146118a1576040517ffaba723a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6118aa81612c10565b50565b60007f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de6118d98161283a565b6118e960a0860160808701613c82565b6118f281611053565b611928576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c0810190915260025473ffffffffffffffffffffffffffffffffffffffff168152600090602080820190611963908a018a613c20565b63ffffffff16815260200161197e60808a0160608b01613f2e565b67ffffffffffffffff16815260200161199d60a08a0160808b01613c82565b73ffffffffffffffffffffffffffffffffffffffff908116825260055468010000000000000000900467ffffffffffffffff166020808401919091526001547d010000000000000000000000000000000000000000000000000000000000810461ffff16604090940193909352929350610100909104169063df2b057e908390600690600090611a2f908d018d613c20565b63ffffffff1663ffffffff16815260200190815260200160002089896040518563ffffffff1660e01b8152600401611a6a949392919061426c565b6020604051808303816000875af1158015611794573d6000803e3d6000fd5b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611ab38161283a565b60005b82811015610d785736848483818110611ad157611ad1614352565b9050602002810190611ae39190614605565b905063ffffffff7f000000000000000000000000000000000000000000000000000000000000000016611b196020830183613c20565b63ffffffff1614611b2a5750611d91565b42816060013511611b3b5750611d91565b6000611b74611b4d6020840184613c20565b611b5d6040850160208601613c82565b611b6a6040860186614643565b8660600135612589565b90506000611b8982610ae26080860186614643565b50905080611bcc576040518481527fd6d90193101048cc1b6edcdc2348f5acf7a4a4a97d3e7b668b74cb7602ab3ebc9060200160405180910390a1505050611d91565b6000611bec611bde6040860186614643565b611be7916146a8565b612d28565b90508015611c855760008381526007602052604090205460ff1615611c4d577f9bb9bddbdf537a2104255307230b323d7982f4512ee8e5bd15df62ddca50ab978484604051611c3c929190614754565b60405180910390a150505050611d91565b600083815260076020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555b600080611c986040870160208801613c82565b73ffffffffffffffffffffffffffffffffffffffff16611cbb6040880188614643565b604051611cc992919061481a565b6000604051808303816000865af19150503d8060008114611d06576040519150601f19603f3d011682016040523d82523d6000602084013e611d0b565b606091505b509150915081611d8a578215611d5057600085815260076020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b7fdc8cdd96296241bbefda4a8e18ad2e0985a8da6495b34d409cfc4c886ee3b0cf8782604051611d8192919061482a565b60405180910390a15b5050505050505b611d9a816143eb565b9050611ab6565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611dcb8161283a565b600180547fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167d01000000000000000000000000000000000000000000000000000000000061ffff8516908102919091179091556040519081527f7af0ac740036ffb1c97b03697859d729e80a44ae5030543d64971c313565ab4d9060200161185c565b60007f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de611e7b8161283a565b82611e8581611053565b611ebb576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c08101825260025473ffffffffffffffffffffffffffffffffffffffff908116825261ffff808b16602080850182905267ffffffffffffffff808c16868801528a851660608701526005546801000000000000000090041660808601526001547d010000000000000000000000000000000000000000000000000000000000810490931660a08601526000918252600681528582208651918201875291815294517fdf2b057e00000000000000000000000000000000000000000000000000000000815293946101009092049092169263df2b057e92611fa492869260040161452f565b6020604051808303816000875af1158015611fc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fe79190614339565b93507f87e46b0a6199bc734632187269a103c05714ee0adae5b28f30723955724f37ef8460405161201a91815260200190565b60405180910390a1505050949350505050565b60055460009081906120569068010000000000000000900467ffffffffffffffff166041614843565b83146120685750600090506001612241565b60006120c1866040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b90506000805b60055468010000000000000000900467ffffffffffffffff168110156122355736600088886120f7856041614843565b9061210386600161485a565b61210e906041614843565b9261211b9392919061486d565b915091506000806121628785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612dc392505050565b9092509050600081600481111561217b5761217b6140ab565b1461219457600060019850985050505050505050612241565b8573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16116121db57600060029850985050505050505050612241565b73ffffffffffffffffffffffffffffffffffffffff821660009081526004602052604090205460ff1661221c57600060039850985050505050505050612241565b50935082915061222d9050816143eb565b9150506120c7565b50600160009350935050505b935093915050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756122738161283a565b600180547fffffffffffffffffffffff0000000000000000000000000000000000000000ff1661010073ffffffffffffffffffffffffffffffffffffffff8516908102919091179091556040519081527f1399be28223800f8669b3ba5f8721d9fc16fc4e8d0bbf98378791c8c5a3015e09060200161185c565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756123178161283a565b63ffffffff84166000908152600360205260409020612337908484613a4a565b5050505050565b817f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca81148061238c57507f4270fae16c6d150d00e80b689daca99e8073b1838ff2b6063a37be9d851283e481145b806123b657507f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de81145b156123f9573033146123f4576040517ffaba723a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612449565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217758103611243576123f47fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561283a565b6112878383612e08565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561247d8161283a565b73ffffffffffffffffffffffffffffffffffffffff841660009081527f9b50f4667d2d24216ccbf0dce3a90c0f620fa4d895e7b069d80ff6247fd25620602052604090205460ff166124fb576040517f5ee08b9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f07b18bde00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018490528516906307b18bde90604401600060405180830381600087803b15801561256b57600080fd5b505af115801561257f573d6000803e3d6000fd5b5050505050505050565b600085858386866040516020016125a4959493929190614897565b60405160208183030381529060405280519060200120905095945050505050565b42816060013511612602576040517f0bbaf26300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b306126136040830160208401613c82565b73ffffffffffffffffffffffffffffffffffffffff16146126895761263e6040820160208301613c82565b6040517f1ce0bfcd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401611274565b63ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166126bd6020830183613c20565b63ffffffff1614612710576126d56020820182613c20565b6040517f2697e1c200000000000000000000000000000000000000000000000000000000815263ffffffff9091166004820152602401611274565b6000612722611b4d6020840184613c20565b9050600061273782610ae26080860186614643565b50905080612771576040517f15ecadee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281526007602052604090205460ff16156127bd576040517f9d6a45a600000000000000000000000000000000000000000000000000000000815260048101839052602401611274565b6000828152600760205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055611287907fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217759061282890860186614643565b8101906128359190613c82565b61294a565b6118aa8133612ecd565b73ffffffffffffffffffffffffffffffffffffffff8316612869576112878282612f85565b61128783838361308b565b61287c6130f9565b600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016811790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b6128fb613168565b600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa336128c9565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca821480156129a7575060008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16155b15612a0657600180546015906129df907501000000000000000000000000000000000000000000900467ffffffffffffffff16614909565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b610fc082826131d4565b73ffffffffffffffffffffffffffffffffffffffff821660009081526004602052604090205481151560ff909116151503612a97576040517f58c8d2a000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201528115156024820152604401611274565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260046020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001683151517905581612b0957600554612b049060019067ffffffffffffffff16614930565b612b21565b600554612b219067ffffffffffffffff166001614958565b60055490915067ffffffffffffffff680100000000000000009091048116908216811115612b8f576040517ff1c582ae00000000000000000000000000000000000000000000000000000000815267ffffffffffffffff808416600483015282166024820152604401611274565b600580547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff84161790556040805173ffffffffffffffffffffffffffffffffffffffff8616815284151560208201527f863d338cad74814b108a06288ad5e0e80d56495e0332238b1d2cdcfa0ca8e5ce9101610f99565b8067ffffffffffffffff16600003612c54576040517f5f86e17700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60055467ffffffffffffffff908116908216811015612cb3576040517ff1c582ae00000000000000000000000000000000000000000000000000000000815267ffffffffffffffff808316600483015283166024820152604401611274565b600580547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff166801000000000000000067ffffffffffffffff8516908102919091179091556040519081527fb600f3cf7f38a4b49bb0c75f722ef69f7e3e39ef3bb4aa8207fd86e724a232499060200161185c565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f0223536e0000000000000000000000000000000000000000000000000000000014801590610e1157507fffffffff0000000000000000000000000000000000000000000000000000000082167f704316e500000000000000000000000000000000000000000000000000000000141592915050565b6000808251604103612df95760208301516040840151606085015160001a612ded878285856132c4565b94509450505050612e01565b506000905060025b9250929050565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca82148015612e64575060008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff165b15612ec35760018054601590612e9c907501000000000000000000000000000000000000000000900467ffffffffffffffff16614979565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b610fc082826133b3565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610fc057612f0b8161346a565b612f16836020613489565b604051602001612f279291906149bb565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a000000000000000000000000000000000000000000000000000000000825261127491600401614a3c565b73ffffffffffffffffffffffffffffffffffffffff8216612fd2576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d806000811461302c576040519150601f19603f3d011682016040523d82523d6000602084013e613031565b606091505b5050905080611287576040517f465bc83400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101839052604401611274565b73ffffffffffffffffffffffffffffffffffffffff82166130d8576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61128773ffffffffffffffffffffffffffffffffffffffff841683836136d3565b60015460ff1615613166576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401611274565b565b60015460ff16613166576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401611274565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610fc05760008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556132663390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156132fb57506000905060036133aa565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561334f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166133a3576000600192509250506133aa565b9150600090505b94509492505050565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1615610fc05760008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6060610e1173ffffffffffffffffffffffffffffffffffffffff831660145b60606000613498836002614843565b6134a390600261485a565b67ffffffffffffffff8111156134bb576134bb614a4f565b6040519080825280601f01601f1916602001820160405280156134e5576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061351c5761351c614352565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061357f5761357f614352565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006135bb846002614843565b6135c690600161485a565b90505b6001811115613663577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061360757613607614352565b1a60f81b82828151811061361d5761361d614352565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9361365c81614a7e565b90506135c9565b5083156136cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401611274565b9392505050565b6040805173ffffffffffffffffffffffffffffffffffffffff848116602483015260448083018590528351808403909101815260649092018352602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564908401526112879286929160009161379e91851690849061384b565b90508051600014806137bf5750808060200190518101906137bf9190614ab3565b611287576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401611274565b606061385a8484600085613862565b949350505050565b6060824710156138f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401611274565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161391d9190614ad0565b60006040518083038185875af1925050503d806000811461395a576040519150601f19603f3d011682016040523d82523d6000602084013e61395f565b606091505b50915091506117b88783838760608315613a015782516000036139fa5773ffffffffffffffffffffffffffffffffffffffff85163b6139fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611274565b508161385a565b61385a8383815115613a165781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112749190614a3c565b82805482825590600052602060002090601f01602090048101928215613ae35791602002820160005b83821115613ab457833560ff1683826101000a81548160ff021916908360ff1602179055509260200192600101602081600001049283019260010302613a73565b8015613ae15782816101000a81549060ff0219169055600101602081600001049283019260010302613ab4565b505b50613aef929150613af3565b5090565b5b80821115613aef5760008155600101613af4565b74ffffffffffffffffffffffffffffffffffffffffff811681146118aa57600080fd5b600080600060608486031215613b4057600080fd5b8335613b4b81613b08565b73ffffffffffffffffffffffffffffffffffffffff9081169350602085013590613b7482613b08565b93969316945050506040919091013590565b600060208284031215613b9857600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146136cc57600080fd5b80151581146118aa57600080fd5b600060208284031215613be857600080fd5b81356136cc81613bc8565b600060208284031215613c0557600080fd5b5035919050565b803563ffffffff8116811461113357600080fd5b600060208284031215613c3257600080fd5b6136cc82613c0c565b6020808252825182820181905260009190848201906040850190845b81811015613c7657835160ff1683529284019291840191600101613c57565b50909695505050505050565b600060208284031215613c9457600080fd5b8135613c9f81613b08565b73ffffffffffffffffffffffffffffffffffffffff169392505050565b60008060408385031215613ccf57600080fd5b823591506020830135613ce181613b08565b73ffffffffffffffffffffffffffffffffffffffff81169150509250929050565b803567ffffffffffffffff8116811461113357600080fd5b60008083601f840112613d2c57600080fd5b50813567ffffffffffffffff811115613d4457600080fd5b602083019150836020828501011115612e0157600080fd5b600080600080600060808688031215613d7457600080fd5b613d7d86613c0c565b9450613d8b60208701613d02565b93506040860135613d9b81613b08565b73ffffffffffffffffffffffffffffffffffffffff169250606086013567ffffffffffffffff811115613dcd57600080fd5b613dd988828901613d1a565b969995985093965092949392505050565b60008060408385031215613dfd57600080fd5b8235613e0881613b08565b73ffffffffffffffffffffffffffffffffffffffff1691506020830135613e2e81613bc8565b809150509250929050565b60008060208385031215613e4c57600080fd5b823567ffffffffffffffff80821115613e6457600080fd5b818501915085601f830112613e7857600080fd5b813581811115613e8757600080fd5b8660208260071b8501011115613e9c57600080fd5b60209290920196919550909350505050565b803561ffff8116811461113357600080fd5b60008060008060808587031215613ed657600080fd5b613edf85613eae565b9350613eed60208601613eae565b9250613efb60408601613d02565b91506060850135613f0b81613b08565b73ffffffffffffffffffffffffffffffffffffffff811691505092959194509250565b600060208284031215613f4057600080fd5b6136cc82613d02565b600060a08284031215613f5b57600080fd5b50919050565b600080600060408486031215613f7657600080fd5b833567ffffffffffffffff80821115613f8e57600080fd5b613f9a87838801613f49565b94506020860135915080821115613fb057600080fd5b50613fbd86828701613d1a565b9497909650939450505050565b60008083601f840112613fdc57600080fd5b50813567ffffffffffffffff811115613ff457600080fd5b6020830191508360208260051b8501011115612e0157600080fd5b6000806020838503121561402257600080fd5b823567ffffffffffffffff81111561403957600080fd5b61404585828601613fca565b90969095509350505050565b60006020828403121561406357600080fd5b6136cc82613eae565b60008060006040848603121561408157600080fd5b83359250602084013567ffffffffffffffff81111561409f57600080fd5b613fbd86828701613d1a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8215158152604081016004831061411a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8260208301529392505050565b60008060006040848603121561413c57600080fd5b61414584613c0c565b9250602084013567ffffffffffffffff81111561416157600080fd5b613fbd86828701613fca565b60008060008060006080868803121561418557600080fd5b61418e86613c0c565b9450602086013561419e81613b08565b73ffffffffffffffffffffffffffffffffffffffff169350604086013567ffffffffffffffff8111156141d057600080fd5b6141dc88828901613d1a565b96999598509660600135949350505050565b60006020828403121561420057600080fd5b813567ffffffffffffffff81111561421757600080fd5b61385a84828501613f49565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60006101406142e4838873ffffffffffffffffffffffffffffffffffffffff80825116835263ffffffff6020830151166020840152604082015167ffffffffffffffff808216604086015282606085015116606086015280608085015116608086015250505061ffff60a08201511660a08301525050565b61432560c08401875467ffffffffffffffff81168252604081811c61ffff16602084015260509190911c6fffffffffffffffffffffffffffffffff16910152565b806101208401526117b88184018587614223565b60006020828403121561434b57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80356fffffffffffffffffffffffffffffffff8116811461113357600080fd5b6000602082840312156143b357600080fd5b6136cc82614381565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361441c5761441c6143bc565b5060010190565b6020808252818101839052600090604080840186845b878110156144b45763ffffffff61444f83613c0c565b16835267ffffffffffffffff614466868401613d02565b168584015261ffff614479858401613eae565b168484015260606fffffffffffffffffffffffffffffffff61449c828501614381565b16908401526080928301929190910190600101614439565b5090979650505050505050565b60005b838110156144dc5781810151838201526020016144c4565b50506000910152565b600081518084526144fd8160208601602086016144c1565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60006101406145a7838773ffffffffffffffffffffffffffffffffffffffff80825116835263ffffffff6020830151166020840152604082015167ffffffffffffffff808216604086015282606085015116606086015280608085015116608086015250505061ffff60a08201511660a08301525050565b6145e860c08401865467ffffffffffffffff81168252604081811c61ffff16602084015260509190911c6fffffffffffffffffffffffffffffffff16910152565b806101208401526145fb818401856144e5565b9695505050505050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6183360301811261463957600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261467857600080fd5b83018035915067ffffffffffffffff82111561469357600080fd5b602001915036819003821315612e0157600080fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156146e85780818660040360031b1b83161692505b505092915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261472557600080fd5b830160208101925035905067ffffffffffffffff81111561474557600080fd5b803603821315612e0157600080fd5b6040815263ffffffff61476684613c0c565b1660408201526000602084013561477c81613b08565b73ffffffffffffffffffffffffffffffffffffffff1660608301526147a460408501856146f0565b60a060808501526147b960e085018284614223565b915050606085013560a08401526147d360808601866146f0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08584030160c0860152614808838284614223565b93505050508260208301529392505050565b8183823760009101908152919050565b82815260406020820152600061385a60408301846144e5565b8082028115828204841417610e1157610e116143bc565b80820180821115610e1157610e116143bc565b6000808585111561487d57600080fd5b8386111561488a57600080fd5b5050820193919092039150565b7fffffffff000000000000000000000000000000000000000000000000000000008660e01b1681527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008560601b1660048201528360188201528183603883013760009101603801908152949350505050565b600067ffffffffffffffff808316818103614926576149266143bc565b6001019392505050565b67ffffffffffffffff828116828216039080821115614951576149516143bc565b5092915050565b67ffffffffffffffff818116838216019080821115614951576149516143bc565b600067ffffffffffffffff821680614993576149936143bc565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516149f38160178501602088016144c1565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351614a308160288401602088016144c1565b01602801949350505050565b6020815260006136cc60208301846144e5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081614a8d57614a8d6143bc565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b600060208284031215614ac557600080fd5b81516136cc81613bc8565b600082516146398184602087016144c156fea26474726f6e58221220fb22ae4160c64130aec4defec2ecc1f22121f99c6637ec58710eff8ea979e6ed64736f6c63430008140033",
1430
+ "devdoc": {
1431
+ "events": {
1432
+ "Paused(address)": {
1433
+ "details": "Emitted when the pause is triggered by `account`."
1434
+ },
1435
+ "RoleAdminChanged(bytes32,bytes32,bytes32)": {
1436
+ "details": "Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._"
1437
+ },
1438
+ "RoleGranted(bytes32,address,address)": {
1439
+ "details": "Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}."
1440
+ },
1441
+ "RoleRevoked(bytes32,address,address)": {
1442
+ "details": "Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)"
1443
+ },
1444
+ "Unpaused(address)": {
1445
+ "details": "Emitted when the pause is lifted by `account`."
1446
+ }
1447
+ },
1448
+ "kind": "dev",
1449
+ "methods": {
1450
+ "assignJob((uint32,bytes,bytes32,uint64,address),bytes)": {
1451
+ "details": "for ULN301, ULN302 and more to assign jobdvn network can reject job from _sender by adding/removing them from allowlist/denylist",
1452
+ "params": {
1453
+ "_options": "dvn options",
1454
+ "_param": "assign job param"
1455
+ }
1456
+ },
1457
+ "assignJob(uint16,uint16,uint64,address)": {
1458
+ "details": "to support ULNv2dvn network can reject job from _sender by adding/removing them from allowlist/denylist",
1459
+ "params": {
1460
+ "": "//_outboundProofType outbound proof type",
1461
+ "_confirmations": "block confirmations",
1462
+ "_dstEid": "destination EndpointId",
1463
+ "_sender": "message sender address"
1464
+ }
1465
+ },
1466
+ "constructor": {
1467
+ "details": "DVN doesn't have a roleAdmin (address(0x0))Supports all of ULNv2, ULN301, ULN302 and more",
1468
+ "params": {
1469
+ "_admins": "array of admin addresses that are granted the ADMIN_ROLE",
1470
+ "_messageLibs": "array of message lib addresses that are granted the MESSAGE_LIB_ROLE",
1471
+ "_priceFeed": "price feed address",
1472
+ "_quorum": "quorum for multisig",
1473
+ "_signers": "array of signer addresses for multisig",
1474
+ "_vid": "unique identifier for this DVN instance"
1475
+ }
1476
+ },
1477
+ "execute((uint32,address,bytes,uint256,bytes)[])": {
1478
+ "details": "takes a list of instructions and executes them in orderif any of the instructions fail, it will emit an error event and continue to execute the rest of the instructions",
1479
+ "params": {
1480
+ "_params": "array of ExecuteParam, includes target, callData, expiration, signatures"
1481
+ }
1482
+ },
1483
+ "getFee(uint16,uint16,uint64,address)": {
1484
+ "details": "to support ULNv2getFee can revert if _sender doesn't pass ACL",
1485
+ "params": {
1486
+ "": "//_outboundProofType outbound proof type",
1487
+ "_confirmations": "block confirmations",
1488
+ "_dstEid": "destination EndpointId",
1489
+ "_sender": "message sender address"
1490
+ }
1491
+ },
1492
+ "getFee(uint32,uint64,address,bytes)": {
1493
+ "details": "getFee can revert if _sender doesn't pass ACL",
1494
+ "params": {
1495
+ "_confirmations": "block confirmations",
1496
+ "_dstEid": "destination EndpointId",
1497
+ "_options": "dvn options",
1498
+ "_sender": "message sender address"
1499
+ },
1500
+ "returns": {
1501
+ "fee": "fee in native amount"
1502
+ }
1503
+ },
1504
+ "getRoleAdmin(bytes32)": {
1505
+ "details": "Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."
1506
+ },
1507
+ "grantRole(bytes32,address)": {
1508
+ "details": "overrides AccessControl to allow self/admin to grant role'function sig 0x2f2ff15d",
1509
+ "params": {
1510
+ "_account": "account to grant role to",
1511
+ "_role": "role to grant"
1512
+ }
1513
+ },
1514
+ "hasAcl(address)": {
1515
+ "details": "Access control list using allowlist and denylist1) if one address is in the denylist -> deny2) else if address in the allowlist OR allowlist is empty (allows everyone)-> allow3) else deny",
1516
+ "params": {
1517
+ "_sender": "address to check"
1518
+ }
1519
+ },
1520
+ "hasRole(bytes32,address)": {
1521
+ "details": "Returns `true` if `account` has been granted `role`."
1522
+ },
1523
+ "hashCallData(uint32,address,bytes,uint256)": {
1524
+ "params": {
1525
+ "_callData": "call data",
1526
+ "_expiration": "expiration timestamp",
1527
+ "_target": "target address"
1528
+ },
1529
+ "returns": {
1530
+ "_0": "hash of above"
1531
+ }
1532
+ },
1533
+ "paused()": {
1534
+ "details": "Returns true if the contract is paused, and false otherwise."
1535
+ },
1536
+ "quorumChangeAdmin((uint32,address,bytes,uint256,bytes))": {
1537
+ "details": "calldata in the case is abi.encode new admin address"
1538
+ },
1539
+ "renounceRole(bytes32,address)": {
1540
+ "details": "overrides AccessControl to disable renouncing of roles"
1541
+ },
1542
+ "revokeRole(bytes32,address)": {
1543
+ "details": "overrides AccessControl to allow self/admin to revoke rolefunction sig 0xd547741f",
1544
+ "params": {
1545
+ "_account": "account to revoke role from",
1546
+ "_role": "role to revoke"
1547
+ }
1548
+ },
1549
+ "setDefaultMultiplierBps(uint16)": {
1550
+ "params": {
1551
+ "_multiplierBps": "default multiplier for worker fee"
1552
+ }
1553
+ },
1554
+ "setDstConfig((uint32,uint64,uint16,uint128)[])": {
1555
+ "params": {
1556
+ "_params": "array of DstConfigParam"
1557
+ }
1558
+ },
1559
+ "setPaused(bool)": {
1560
+ "details": "flag to pause execution of workers (if used with whenNotPaused modifier)",
1561
+ "params": {
1562
+ "_paused": "true to pause, false to unpause"
1563
+ }
1564
+ },
1565
+ "setPriceFeed(address)": {
1566
+ "params": {
1567
+ "_priceFeed": "price feed address"
1568
+ }
1569
+ },
1570
+ "setQuorum(uint64)": {
1571
+ "details": "set quorum for multisigfunction sig 0x8585c945",
1572
+ "params": {
1573
+ "_quorum": "to set"
1574
+ }
1575
+ },
1576
+ "setSigner(address,bool)": {
1577
+ "details": "set signers for multisigfunction sig 0x31cb6105",
1578
+ "params": {
1579
+ "_active": "true to add, false to remove",
1580
+ "_signer": "signer address"
1581
+ }
1582
+ },
1583
+ "setWorkerFeeLib(address)": {
1584
+ "params": {
1585
+ "_workerFeeLib": "worker fee lib address"
1586
+ }
1587
+ },
1588
+ "supportsInterface(bytes4)": {
1589
+ "details": "See {IERC165-supportsInterface}."
1590
+ },
1591
+ "withdrawFee(address,address,uint256)": {
1592
+ "details": "supports withdrawing fee from ULN301, ULN302 and more",
1593
+ "params": {
1594
+ "_amount": "amount to withdraw",
1595
+ "_lib": "message lib address",
1596
+ "_to": "address to withdraw fee to"
1597
+ }
1598
+ },
1599
+ "withdrawFeeFromUlnV2(address,address,uint256)": {
1600
+ "details": "to support ULNv2the withdrawFee function for ULN30X is built in the Worker contract",
1601
+ "params": {
1602
+ "_amount": "amount to withdraw",
1603
+ "_lib": "message lib address",
1604
+ "_to": "address to withdraw to"
1605
+ }
1606
+ },
1607
+ "withdrawToken(address,address,uint256)": {
1608
+ "details": "supports withdrawing token from the contract",
1609
+ "params": {
1610
+ "_amount": "amount to withdraw",
1611
+ "_to": "address to withdraw token to",
1612
+ "_token": "token address"
1613
+ }
1614
+ }
1615
+ },
1616
+ "version": 1
1617
+ },
1618
+ "userdoc": {
1619
+ "kind": "user",
1620
+ "methods": {
1621
+ "quorumChangeAdmin((uint32,address,bytes,uint256,bytes))": {
1622
+ "notice": "function for quorum to change admin without going through execute function"
1623
+ }
1624
+ },
1625
+ "version": 1
1626
+ },
1627
+ "storageLayout": {
1628
+ "storage": [
1629
+ {
1630
+ "astId": 7436,
1631
+ "contract": "contracts/uln/dvn/DVN.sol:DVN",
1632
+ "label": "_roles",
1633
+ "offset": 0,
1634
+ "slot": "0",
1635
+ "type": "t_mapping(t_bytes32,t_struct(RoleData)7431_storage)"
1636
+ },
1637
+ {
1638
+ "astId": 8365,
1639
+ "contract": "contracts/uln/dvn/DVN.sol:DVN",
1640
+ "label": "_paused",
1641
+ "offset": 0,
1642
+ "slot": "1",
1643
+ "type": "t_bool"
1644
+ },
1645
+ {
1646
+ "astId": 15838,
1647
+ "contract": "contracts/uln/dvn/DVN.sol:DVN",
1648
+ "label": "workerFeeLib",
1649
+ "offset": 1,
1650
+ "slot": "1",
1651
+ "type": "t_address"
1652
+ },
1653
+ {
1654
+ "astId": 15840,
1655
+ "contract": "contracts/uln/dvn/DVN.sol:DVN",
1656
+ "label": "allowlistSize",
1657
+ "offset": 21,
1658
+ "slot": "1",
1659
+ "type": "t_uint64"
1660
+ },
1661
+ {
1662
+ "astId": 15842,
1663
+ "contract": "contracts/uln/dvn/DVN.sol:DVN",
1664
+ "label": "defaultMultiplierBps",
1665
+ "offset": 29,
1666
+ "slot": "1",
1667
+ "type": "t_uint16"
1668
+ },
1669
+ {
1670
+ "astId": 15844,
1671
+ "contract": "contracts/uln/dvn/DVN.sol:DVN",
1672
+ "label": "priceFeed",
1673
+ "offset": 0,
1674
+ "slot": "2",
1675
+ "type": "t_address"
1676
+ },
1677
+ {
1678
+ "astId": 15849,
1679
+ "contract": "contracts/uln/dvn/DVN.sol:DVN",
1680
+ "label": "supportedOptionTypes",
1681
+ "offset": 0,
1682
+ "slot": "3",
1683
+ "type": "t_mapping(t_uint32,t_array(t_uint8)dyn_storage)"
1684
+ },
1685
+ {
1686
+ "astId": 21555,
1687
+ "contract": "contracts/uln/dvn/DVN.sol:DVN",
1688
+ "label": "signers",
1689
+ "offset": 0,
1690
+ "slot": "4",
1691
+ "type": "t_mapping(t_address,t_bool)"
1692
+ },
1693
+ {
1694
+ "astId": 21557,
1695
+ "contract": "contracts/uln/dvn/DVN.sol:DVN",
1696
+ "label": "signerSize",
1697
+ "offset": 0,
1698
+ "slot": "5",
1699
+ "type": "t_uint64"
1700
+ },
1701
+ {
1702
+ "astId": 21559,
1703
+ "contract": "contracts/uln/dvn/DVN.sol:DVN",
1704
+ "label": "quorum",
1705
+ "offset": 8,
1706
+ "slot": "5",
1707
+ "type": "t_uint64"
1708
+ },
1709
+ {
1710
+ "astId": 20422,
1711
+ "contract": "contracts/uln/dvn/DVN.sol:DVN",
1712
+ "label": "dstConfig",
1713
+ "offset": 0,
1714
+ "slot": "6",
1715
+ "type": "t_mapping(t_uint32,t_struct(DstConfig)24486_storage)"
1716
+ },
1717
+ {
1718
+ "astId": 20426,
1719
+ "contract": "contracts/uln/dvn/DVN.sol:DVN",
1720
+ "label": "usedHashes",
1721
+ "offset": 0,
1722
+ "slot": "7",
1723
+ "type": "t_mapping(t_bytes32,t_bool)"
1724
+ }
1725
+ ],
1726
+ "types": {
1727
+ "t_address": {
1728
+ "encoding": "inplace",
1729
+ "label": "address",
1730
+ "numberOfBytes": "20"
1731
+ },
1732
+ "t_array(t_uint8)dyn_storage": {
1733
+ "base": "t_uint8",
1734
+ "encoding": "dynamic_array",
1735
+ "label": "uint8[]",
1736
+ "numberOfBytes": "32"
1737
+ },
1738
+ "t_bool": {
1739
+ "encoding": "inplace",
1740
+ "label": "bool",
1741
+ "numberOfBytes": "1"
1742
+ },
1743
+ "t_bytes32": {
1744
+ "encoding": "inplace",
1745
+ "label": "bytes32",
1746
+ "numberOfBytes": "32"
1747
+ },
1748
+ "t_mapping(t_address,t_bool)": {
1749
+ "encoding": "mapping",
1750
+ "key": "t_address",
1751
+ "label": "mapping(address => bool)",
1752
+ "numberOfBytes": "32",
1753
+ "value": "t_bool"
1754
+ },
1755
+ "t_mapping(t_bytes32,t_bool)": {
1756
+ "encoding": "mapping",
1757
+ "key": "t_bytes32",
1758
+ "label": "mapping(bytes32 => bool)",
1759
+ "numberOfBytes": "32",
1760
+ "value": "t_bool"
1761
+ },
1762
+ "t_mapping(t_bytes32,t_struct(RoleData)7431_storage)": {
1763
+ "encoding": "mapping",
1764
+ "key": "t_bytes32",
1765
+ "label": "mapping(bytes32 => struct AccessControl.RoleData)",
1766
+ "numberOfBytes": "32",
1767
+ "value": "t_struct(RoleData)7431_storage"
1768
+ },
1769
+ "t_mapping(t_uint32,t_array(t_uint8)dyn_storage)": {
1770
+ "encoding": "mapping",
1771
+ "key": "t_uint32",
1772
+ "label": "mapping(uint32 => uint8[])",
1773
+ "numberOfBytes": "32",
1774
+ "value": "t_array(t_uint8)dyn_storage"
1775
+ },
1776
+ "t_mapping(t_uint32,t_struct(DstConfig)24486_storage)": {
1777
+ "encoding": "mapping",
1778
+ "key": "t_uint32",
1779
+ "label": "mapping(uint32 => struct IDVN.DstConfig)",
1780
+ "numberOfBytes": "32",
1781
+ "value": "t_struct(DstConfig)24486_storage"
1782
+ },
1783
+ "t_struct(DstConfig)24486_storage": {
1784
+ "encoding": "inplace",
1785
+ "label": "struct IDVN.DstConfig",
1786
+ "members": [
1787
+ {
1788
+ "astId": 24481,
1789
+ "contract": "contracts/uln/dvn/DVN.sol:DVN",
1790
+ "label": "gas",
1791
+ "offset": 0,
1792
+ "slot": "0",
1793
+ "type": "t_uint64"
1794
+ },
1795
+ {
1796
+ "astId": 24483,
1797
+ "contract": "contracts/uln/dvn/DVN.sol:DVN",
1798
+ "label": "multiplierBps",
1799
+ "offset": 8,
1800
+ "slot": "0",
1801
+ "type": "t_uint16"
1802
+ },
1803
+ {
1804
+ "astId": 24485,
1805
+ "contract": "contracts/uln/dvn/DVN.sol:DVN",
1806
+ "label": "floorMarginUSD",
1807
+ "offset": 10,
1808
+ "slot": "0",
1809
+ "type": "t_uint128"
1810
+ }
1811
+ ],
1812
+ "numberOfBytes": "32"
1813
+ },
1814
+ "t_struct(RoleData)7431_storage": {
1815
+ "encoding": "inplace",
1816
+ "label": "struct AccessControl.RoleData",
1817
+ "members": [
1818
+ {
1819
+ "astId": 7428,
1820
+ "contract": "contracts/uln/dvn/DVN.sol:DVN",
1821
+ "label": "members",
1822
+ "offset": 0,
1823
+ "slot": "0",
1824
+ "type": "t_mapping(t_address,t_bool)"
1825
+ },
1826
+ {
1827
+ "astId": 7430,
1828
+ "contract": "contracts/uln/dvn/DVN.sol:DVN",
1829
+ "label": "adminRole",
1830
+ "offset": 0,
1831
+ "slot": "1",
1832
+ "type": "t_bytes32"
1833
+ }
1834
+ ],
1835
+ "numberOfBytes": "64"
1836
+ },
1837
+ "t_uint128": {
1838
+ "encoding": "inplace",
1839
+ "label": "uint128",
1840
+ "numberOfBytes": "16"
1841
+ },
1842
+ "t_uint16": {
1843
+ "encoding": "inplace",
1844
+ "label": "uint16",
1845
+ "numberOfBytes": "2"
1846
+ },
1847
+ "t_uint32": {
1848
+ "encoding": "inplace",
1849
+ "label": "uint32",
1850
+ "numberOfBytes": "4"
1851
+ },
1852
+ "t_uint64": {
1853
+ "encoding": "inplace",
1854
+ "label": "uint64",
1855
+ "numberOfBytes": "8"
1856
+ },
1857
+ "t_uint8": {
1858
+ "encoding": "inplace",
1859
+ "label": "uint8",
1860
+ "numberOfBytes": "1"
1861
+ }
1862
+ }
1863
+ }
1864
+ }