@layerzerolabs/lz-evm-sdk-v2 2.1.8 → 2.1.9

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 (155) hide show
  1. package/deployments/arbitrum-sandbox-local/DVN.json +1864 -0
  2. package/deployments/arbitrum-sandbox-local/DVNDecompressor.json +500 -0
  3. package/deployments/arbitrum-sandbox-local/DVNFeeLib.json +398 -0
  4. package/deployments/arbitrum-sandbox-local/PriceFeed.json +890 -0
  5. package/deployments/arbitrum-sandbox-local/PriceFeedProxyAdmin.json +283 -0
  6. package/deployments/arbitrum-sandbox-local/PriceFeed_Implementation.json +912 -0
  7. package/deployments/arbitrum-sandbox-local/PriceFeed_Proxy.json +244 -0
  8. package/deployments/avalanche-sandbox-local/DVN.json +1896 -0
  9. package/deployments/avalanche-sandbox-local/DVNDecompressor.json +508 -0
  10. package/deployments/avalanche-sandbox-local/DVNFeeLib.json +398 -0
  11. package/deployments/avalanche-sandbox-local/DefaultProxyAdmin.json +258 -0
  12. package/deployments/avalanche-sandbox-local/EndpointV2.json +2946 -0
  13. package/deployments/avalanche-sandbox-local/EndpointV2View.json +435 -0
  14. package/deployments/avalanche-sandbox-local/EndpointV2View_Implementation.json +313 -0
  15. package/deployments/avalanche-sandbox-local/EndpointV2View_Proxy.json +230 -0
  16. package/deployments/avalanche-sandbox-local/Executor.json +1549 -0
  17. package/deployments/avalanche-sandbox-local/ExecutorDecompressor.json +339 -0
  18. package/deployments/avalanche-sandbox-local/ExecutorFeeLib.json +423 -0
  19. package/deployments/avalanche-sandbox-local/ExecutorProxyAdmin.json +283 -0
  20. package/deployments/avalanche-sandbox-local/Executor_Implementation.json +1591 -0
  21. package/deployments/avalanche-sandbox-local/Executor_Proxy.json +380 -0
  22. package/deployments/avalanche-sandbox-local/LzExecutor.json +757 -0
  23. package/deployments/avalanche-sandbox-local/LzExecutor_Implementation.json +703 -0
  24. package/deployments/avalanche-sandbox-local/LzExecutor_Proxy.json +244 -0
  25. package/deployments/avalanche-sandbox-local/NonceContractMock.json +163 -0
  26. package/deployments/avalanche-sandbox-local/PriceFeed.json +890 -0
  27. package/deployments/avalanche-sandbox-local/PriceFeedProxyAdmin.json +283 -0
  28. package/deployments/avalanche-sandbox-local/PriceFeed_Implementation.json +912 -0
  29. package/deployments/avalanche-sandbox-local/PriceFeed_Proxy.json +244 -0
  30. package/deployments/avalanche-sandbox-local/ReceiveUln301.json +1292 -0
  31. package/deployments/avalanche-sandbox-local/ReceiveUln301View.json +354 -0
  32. package/deployments/avalanche-sandbox-local/ReceiveUln301View_Implementation.json +231 -0
  33. package/deployments/avalanche-sandbox-local/ReceiveUln301View_Proxy.json +230 -0
  34. package/deployments/avalanche-sandbox-local/ReceiveUln302.json +1006 -0
  35. package/deployments/avalanche-sandbox-local/ReceiveUln302View.json +478 -0
  36. package/deployments/avalanche-sandbox-local/ReceiveUln302View_Implementation.json +384 -0
  37. package/deployments/avalanche-sandbox-local/ReceiveUln302View_Proxy.json +230 -0
  38. package/deployments/avalanche-sandbox-local/SendUln301.json +1569 -0
  39. package/deployments/avalanche-sandbox-local/SendUln302.json +1527 -0
  40. package/deployments/avalanche-sandbox-local/SimpleMessageLib.json +708 -0
  41. package/deployments/avalanche-sandbox-local/Treasury.json +412 -0
  42. package/deployments/avalanche-sandbox-local/TreasuryFeeHandler.json +125 -0
  43. package/deployments/bsc-sandbox-local/DVN.json +1896 -0
  44. package/deployments/bsc-sandbox-local/DVNDecompressor.json +508 -0
  45. package/deployments/bsc-sandbox-local/DVNFeeLib.json +398 -0
  46. package/deployments/bsc-sandbox-local/DefaultProxyAdmin.json +258 -0
  47. package/deployments/bsc-sandbox-local/EndpointV2.json +2946 -0
  48. package/deployments/bsc-sandbox-local/EndpointV2View.json +435 -0
  49. package/deployments/bsc-sandbox-local/EndpointV2View_Implementation.json +313 -0
  50. package/deployments/bsc-sandbox-local/EndpointV2View_Proxy.json +230 -0
  51. package/deployments/bsc-sandbox-local/Executor.json +1549 -0
  52. package/deployments/bsc-sandbox-local/ExecutorDecompressor.json +339 -0
  53. package/deployments/bsc-sandbox-local/ExecutorFeeLib.json +423 -0
  54. package/deployments/bsc-sandbox-local/ExecutorProxyAdmin.json +283 -0
  55. package/deployments/bsc-sandbox-local/Executor_Implementation.json +1591 -0
  56. package/deployments/bsc-sandbox-local/Executor_Proxy.json +380 -0
  57. package/deployments/bsc-sandbox-local/LzExecutor.json +757 -0
  58. package/deployments/bsc-sandbox-local/LzExecutor_Implementation.json +703 -0
  59. package/deployments/bsc-sandbox-local/LzExecutor_Proxy.json +244 -0
  60. package/deployments/bsc-sandbox-local/NonceContractMock.json +163 -0
  61. package/deployments/bsc-sandbox-local/PriceFeed.json +890 -0
  62. package/deployments/bsc-sandbox-local/PriceFeedProxyAdmin.json +283 -0
  63. package/deployments/bsc-sandbox-local/PriceFeed_Implementation.json +912 -0
  64. package/deployments/bsc-sandbox-local/PriceFeed_Proxy.json +244 -0
  65. package/deployments/bsc-sandbox-local/ReceiveUln301.json +1292 -0
  66. package/deployments/bsc-sandbox-local/ReceiveUln301View.json +354 -0
  67. package/deployments/bsc-sandbox-local/ReceiveUln301View_Implementation.json +231 -0
  68. package/deployments/bsc-sandbox-local/ReceiveUln301View_Proxy.json +230 -0
  69. package/deployments/bsc-sandbox-local/ReceiveUln302.json +1006 -0
  70. package/deployments/bsc-sandbox-local/ReceiveUln302View.json +478 -0
  71. package/deployments/bsc-sandbox-local/ReceiveUln302View_Implementation.json +384 -0
  72. package/deployments/bsc-sandbox-local/ReceiveUln302View_Proxy.json +230 -0
  73. package/deployments/bsc-sandbox-local/SendUln301.json +1569 -0
  74. package/deployments/bsc-sandbox-local/SendUln302.json +1527 -0
  75. package/deployments/bsc-sandbox-local/SimpleMessageLib.json +708 -0
  76. package/deployments/bsc-sandbox-local/Treasury.json +412 -0
  77. package/deployments/bsc-sandbox-local/TreasuryFeeHandler.json +125 -0
  78. package/deployments/ethereum-sandbox-local/DVN.json +37 -37
  79. package/deployments/ethereum-sandbox-local/DVNDecompressor.json +508 -0
  80. package/deployments/ethereum-sandbox-local/DVNFeeLib.json +8 -8
  81. package/deployments/ethereum-sandbox-local/DefaultProxyAdmin.json +11 -11
  82. package/deployments/ethereum-sandbox-local/EndpointV2.json +20 -20
  83. package/deployments/ethereum-sandbox-local/EndpointV2View.json +26 -26
  84. package/deployments/ethereum-sandbox-local/EndpointV2View_Implementation.json +6 -6
  85. package/deployments/ethereum-sandbox-local/EndpointV2View_Proxy.json +24 -24
  86. package/deployments/ethereum-sandbox-local/Executor.json +74 -74
  87. package/deployments/ethereum-sandbox-local/ExecutorDecompressor.json +14 -14
  88. package/deployments/ethereum-sandbox-local/ExecutorFeeLib.json +12 -12
  89. package/deployments/ethereum-sandbox-local/ExecutorProxyAdmin.json +16 -16
  90. package/deployments/ethereum-sandbox-local/Executor_Implementation.json +21 -21
  91. package/deployments/ethereum-sandbox-local/Executor_Proxy.json +67 -67
  92. package/deployments/ethereum-sandbox-local/LzExecutor.json +34 -34
  93. package/deployments/ethereum-sandbox-local/LzExecutor_Implementation.json +10 -10
  94. package/deployments/ethereum-sandbox-local/LzExecutor_Proxy.json +30 -30
  95. package/deployments/ethereum-sandbox-local/NonceContractMock.json +9 -9
  96. package/deployments/ethereum-sandbox-local/PriceFeed.json +28 -28
  97. package/deployments/ethereum-sandbox-local/PriceFeedProxyAdmin.json +16 -16
  98. package/deployments/ethereum-sandbox-local/PriceFeed_Implementation.json +18 -18
  99. package/deployments/ethereum-sandbox-local/PriceFeed_Proxy.json +27 -27
  100. package/deployments/ethereum-sandbox-local/ReceiveUln301.json +40 -40
  101. package/deployments/ethereum-sandbox-local/ReceiveUln301View.json +27 -27
  102. package/deployments/ethereum-sandbox-local/ReceiveUln301View_Implementation.json +12 -12
  103. package/deployments/ethereum-sandbox-local/ReceiveUln301View_Proxy.json +24 -24
  104. package/deployments/ethereum-sandbox-local/ReceiveUln302.json +37 -37
  105. package/deployments/ethereum-sandbox-local/ReceiveUln302View.json +29 -29
  106. package/deployments/ethereum-sandbox-local/ReceiveUln302View_Implementation.json +11 -11
  107. package/deployments/ethereum-sandbox-local/ReceiveUln302View_Proxy.json +26 -26
  108. package/deployments/ethereum-sandbox-local/SendUln301.json +32 -32
  109. package/deployments/ethereum-sandbox-local/SendUln302.json +26 -26
  110. package/deployments/ethereum-sandbox-local/SimpleMessageLib.json +12 -12
  111. package/deployments/ethereum-sandbox-local/Treasury.json +12 -12
  112. package/deployments/ethereum-sandbox-local/TreasuryFeeHandler.json +8 -8
  113. package/deployments/polygon-sandbox-local/DVN.json +37 -37
  114. package/deployments/polygon-sandbox-local/DVNDecompressor.json +508 -0
  115. package/deployments/polygon-sandbox-local/DVNFeeLib.json +8 -8
  116. package/deployments/polygon-sandbox-local/DefaultProxyAdmin.json +11 -11
  117. package/deployments/polygon-sandbox-local/EndpointV2.json +20 -20
  118. package/deployments/polygon-sandbox-local/EndpointV2View.json +26 -26
  119. package/deployments/polygon-sandbox-local/EndpointV2View_Implementation.json +6 -6
  120. package/deployments/polygon-sandbox-local/EndpointV2View_Proxy.json +24 -24
  121. package/deployments/polygon-sandbox-local/Executor.json +74 -74
  122. package/deployments/polygon-sandbox-local/ExecutorDecompressor.json +14 -14
  123. package/deployments/polygon-sandbox-local/ExecutorFeeLib.json +12 -12
  124. package/deployments/polygon-sandbox-local/ExecutorProxyAdmin.json +16 -16
  125. package/deployments/polygon-sandbox-local/Executor_Implementation.json +21 -21
  126. package/deployments/polygon-sandbox-local/Executor_Proxy.json +67 -67
  127. package/deployments/polygon-sandbox-local/LzExecutor.json +34 -34
  128. package/deployments/polygon-sandbox-local/LzExecutor_Implementation.json +10 -10
  129. package/deployments/polygon-sandbox-local/LzExecutor_Proxy.json +30 -30
  130. package/deployments/polygon-sandbox-local/NonceContractMock.json +9 -9
  131. package/deployments/polygon-sandbox-local/PriceFeed.json +28 -28
  132. package/deployments/polygon-sandbox-local/PriceFeedProxyAdmin.json +16 -16
  133. package/deployments/polygon-sandbox-local/PriceFeed_Implementation.json +18 -18
  134. package/deployments/polygon-sandbox-local/PriceFeed_Proxy.json +27 -27
  135. package/deployments/polygon-sandbox-local/ReceiveUln301.json +40 -40
  136. package/deployments/polygon-sandbox-local/ReceiveUln301View.json +27 -27
  137. package/deployments/polygon-sandbox-local/ReceiveUln301View_Implementation.json +12 -12
  138. package/deployments/polygon-sandbox-local/ReceiveUln301View_Proxy.json +24 -24
  139. package/deployments/polygon-sandbox-local/ReceiveUln302.json +37 -37
  140. package/deployments/polygon-sandbox-local/ReceiveUln302View.json +29 -29
  141. package/deployments/polygon-sandbox-local/ReceiveUln302View_Implementation.json +11 -11
  142. package/deployments/polygon-sandbox-local/ReceiveUln302View_Proxy.json +26 -26
  143. package/deployments/polygon-sandbox-local/SendUln301.json +32 -32
  144. package/deployments/polygon-sandbox-local/SendUln302.json +26 -26
  145. package/deployments/polygon-sandbox-local/SimpleMessageLib.json +12 -12
  146. package/deployments/polygon-sandbox-local/Treasury.json +12 -12
  147. package/deployments/polygon-sandbox-local/TreasuryFeeHandler.json +8 -8
  148. package/deployments/tron-sandbox-local/DVN.json +1864 -0
  149. package/deployments/tron-sandbox-local/DVNDecompressor.json +500 -0
  150. package/deployments/tron-sandbox-local/DVNFeeLib.json +398 -0
  151. package/deployments/tron-sandbox-local/PriceFeed.json +890 -0
  152. package/deployments/tron-sandbox-local/PriceFeedProxyAdmin.json +283 -0
  153. package/deployments/tron-sandbox-local/PriceFeed_Implementation.json +912 -0
  154. package/deployments/tron-sandbox-local/PriceFeed_Proxy.json +244 -0
  155. package/package.json +9 -9
@@ -0,0 +1,1864 @@
1
+ {
2
+ "address": "0x10Aeafac83d48E2f9ac4bAAf94311c45fACe1404",
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": "0x2d23f8db078749c10af6556f61cd4a27824310cd0f3883cd113ec9b19c040a55",
1365
+ "receipt": {
1366
+ "to": null,
1367
+ "from": "0xBcd4042DE499D14e55001CcbB24a551F3b954096",
1368
+ "contractAddress": "0x10Aeafac83d48E2f9ac4bAAf94311c45fACe1404",
1369
+ "transactionIndex": 0,
1370
+ "gasUsed": "4098897",
1371
+ "logsBloom": "0x00001004000000000000000000000000000000000000000000800000000000000000000000000000000000020000000000000000000000000000000000000080000000000000000000800000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000810000000000000000000000000000000000000000000004000000000080000000000000000000020000000000000000000000000000000400000000000000000001000000000000000000000000000000002010000000000000000000000000100000000000040000000000090000000000000000080000000000000000000000000000000000000",
1372
+ "blockHash": "0xf011e8194f7ef6ca5d214c8ed9e5d9497cd220e24ba874d5b447a723364f6d7e",
1373
+ "transactionHash": "0x2d23f8db078749c10af6556f61cd4a27824310cd0f3883cd113ec9b19c040a55",
1374
+ "logs": [
1375
+ {
1376
+ "transactionIndex": 0,
1377
+ "blockNumber": 92,
1378
+ "transactionHash": "0x2d23f8db078749c10af6556f61cd4a27824310cd0f3883cd113ec9b19c040a55",
1379
+ "address": "0x10Aeafac83d48E2f9ac4bAAf94311c45fACe1404",
1380
+ "topics": [
1381
+ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d",
1382
+ "0x724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de",
1383
+ "0x00000000000000000000000073eccd6288e117caca738bdad4fec51312166c1a",
1384
+ "0x000000000000000000000000bcd4042de499d14e55001ccbb24a551f3b954096"
1385
+ ],
1386
+ "data": "0x",
1387
+ "logIndex": 0,
1388
+ "blockHash": "0xf011e8194f7ef6ca5d214c8ed9e5d9497cd220e24ba874d5b447a723364f6d7e"
1389
+ },
1390
+ {
1391
+ "transactionIndex": 0,
1392
+ "blockNumber": 92,
1393
+ "transactionHash": "0x2d23f8db078749c10af6556f61cd4a27824310cd0f3883cd113ec9b19c040a55",
1394
+ "address": "0x10Aeafac83d48E2f9ac4bAAf94311c45fACe1404",
1395
+ "topics": [
1396
+ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d",
1397
+ "0xa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775",
1398
+ "0x0000000000000000000000000e9971c0005d91336c1441b8f03c1c4fe5fb4584",
1399
+ "0x000000000000000000000000bcd4042de499d14e55001ccbb24a551f3b954096"
1400
+ ],
1401
+ "data": "0x",
1402
+ "logIndex": 1,
1403
+ "blockHash": "0xf011e8194f7ef6ca5d214c8ed9e5d9497cd220e24ba874d5b447a723364f6d7e"
1404
+ }
1405
+ ],
1406
+ "blockNumber": 92,
1407
+ "cumulativeGasUsed": "4098897",
1408
+ "status": 1,
1409
+ "byzantium": true
1410
+ },
1411
+ "args": [
1412
+ 20231,
1413
+ [
1414
+ "0x73eccD6288e117cAcA738BDAD4FEC51312166C1A"
1415
+ ],
1416
+ "0x8cDbD76bB6Cf0293e07deEEEd460cf579873aF44",
1417
+ [
1418
+ "0x9c79357189d6aF261691ECF48de9A6bbF30438Fc",
1419
+ "0xC4c81D5C1851702d27d602aA8ff830A7689F17cc"
1420
+ ],
1421
+ 1,
1422
+ [
1423
+ "0x0e9971c0005D91336c1441b8F03c1C4fe5FB4584"
1424
+ ]
1425
+ ],
1426
+ "numDeployments": 1,
1427
+ "solcInputHash": "a02895da4e26717c8c5ac06356be07de",
1428
+ "bytecode": "0x60a06040523480156200001157600080fd5b5060405162004c4938038062004c498339810160408190526200003491620004c4565b6001805460ff61ffff60e81b01191661017760ed1b179055600280546001600160a01b0319166001600160a01b03861617905582828686612ee060008660005b8551811015620000d557620000cc7f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de878381518110620000b857620000b862000597565b60200260200101516200027b60201b60201c565b60010162000074565b5060005b815181101562000126576200011d7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775838381518110620000b857620000b862000597565b600101620000d9565b505050505050806001600160401b03166000036200015757604051635f86e17760e01b815260040160405180910390fd5b806001600160401b0316825110156200019d5781516040516378e2c15760e11b81526001600160401b039182166004820152908216602482015260440160405180910390fd5b6000805b83518110156200022f576000848281518110620001c257620001c262000597565b60200260200101519050826001600160a01b0316816001600160a01b031611620001ff576040516305fa937f60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600460205260409020805460ff1916600190811790915590925001620001a1565b50509051600580546001600160401b0393841668010000000000000000026001600160801b0319909116939092169290921717905550505063ffffffff90921660805250620005ea9050565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca82148015620002cc57506000828152602081815260408083206001600160a01b038516845290915290205460ff16155b15620003195760018054601590620002f490600160a81b90046001600160401b0316620005ad565b91906101000a8154816001600160401b0302191690836001600160401b031602179055505b62000325828262000329565b5050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff1662000325576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620003853390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b634e487b7160e01b600052604160045260246000fd5b80516001600160a01b0381168114620003f757600080fd5b919050565b600082601f8301126200040e57600080fd5b815160206001600160401b03808311156200042d576200042d620003c9565b8260051b604051601f19603f83011681018181108482111715620004555762000455620003c9565b60405293845260208187018101949081019250878511156200047657600080fd5b6020870191505b84821015620004a1576200049182620003df565b835291830191908301906200047d565b979650505050505050565b80516001600160401b0381168114620003f757600080fd5b60008060008060008060c08789031215620004de57600080fd5b865163ffffffff81168114620004f357600080fd5b60208801519096506001600160401b03808211156200051157600080fd5b6200051f8a838b01620003fc565b96506200052f60408a01620003df565b955060608901519150808211156200054657600080fd5b620005548a838b01620003fc565b94506200056460808a01620004ac565b935060a08901519150808211156200057b57600080fd5b506200058a89828a01620003fc565b9150509295509295509295565b634e487b7160e01b600052603260045260246000fd5b60006001600160401b038281166002600160401b03198101620005e057634e487b7160e01b600052601160045260246000fd5b6001019392505050565b608051614635620006146000396000818161085501528181611708015261229801526146356000f3fe60806040526004361061029f5760003560e01c80638585c9451161016e578063c7a823e0116100cb578063d547741f1161007f578063f010cb2311610064578063f010cb2314610906578063f3b4ebd014610926578063fd62e7501461094657600080fd5b8063d547741f146108c6578063dafe0ccc146108e657600080fd5b8063cd88b903116100b0578063cd88b90314610823578063cf34c76814610843578063d2ae21041461088c57600080fd5b8063c7a823e0146107d5578063c7b2370b1461080357600080fd5b8063aef18bf711610122578063c358de0a11610107578063c358de0a14610763578063c416aa5114610783578063c5e193cd146107b557600080fd5b8063aef18bf714610713578063b143044b1461074357600080fd5b806395d376d71161015357806395d376d7146106465780639e94496514610659578063a217fddf146106fe57600080fd5b80638585c945146105d557806391d14854146105f557600080fd5b80632f2ff15d1161021c5780635553fb8e116101d0578063724e78da116101b5578063724e78da14610533578063736c0d5b14610553578063741bef1a1461058357600080fd5b80635553fb8e146104fb5780635c975abb1461051b57600080fd5b806331cb61051161020157806331cb61051461049b57806336568abe146104bb57806352d3b871146104db57600080fd5b80632f2ff15d1461045b57806330bb3aac1461047b57600080fd5b806316c38b3c11610273578063248a9ca311610258578063248a9ca3146103d057806326e67a371461040e5780632de113761461043b57600080fd5b806316c38b3c1461036a5780631703a0181461038a57600080fd5b8062bf2e80146102a457806301e33667146102f857806301ffc9a71461031a5780631095b6d71461034a575b600080fd5b3480156102b057600080fd5b506001546102e0907d010000000000000000000000000000000000000000000000000000000000900461ffff1681565b60405161ffff90911681526020015b60405180910390f35b34801561030457600080fd5b50610318610313366004613732565b610967565b005b34801561032657600080fd5b5061033a610335366004613773565b6109a2565b60405190151581526020016102ef565b34801561035657600080fd5b50610318610365366004613732565b610a3b565b34801561037657600080fd5b506103186103853660046137c3565b610bcb565b34801561039657600080fd5b506005546103b79068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020016102ef565b3480156103dc57600080fd5b506104006103eb3660046137e0565b60009081526020819052604090206001015490565b6040519081526020016102ef565b34801561041a57600080fd5b5061042e61042936600461380d565b610bf0565b6040516102ef9190613828565b34801561044757600080fd5b5061033a61045636600461386f565b610c77565b34801561046757600080fd5b5061031861047636600461388c565b610d5c565b34801561048757600080fd5b50610400610496366004613916565b610eb0565b3480156104a757600080fd5b506103186104b636600461398e565b611027565b3480156104c757600080fd5b506103186104d636600461388c565b61106a565b3480156104e757600080fd5b506103186104f63660046139bc565b61109c565b34801561050757600080fd5b50610400610516366004613a43565b611268565b34801561052757600080fd5b5060015460ff1661033a565b34801561053f57600080fd5b5061031861054e36600461386f565b6113df565b34801561055f57600080fd5b5061033a61056e36600461386f565b60046020526000908152604090205460ff1681565b34801561058f57600080fd5b506002546105b09073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016102ef565b3480156105e157600080fd5b506103186105f0366004613a99565b611484565b34801561060157600080fd5b5061033a61061036600461388c565b60009182526020828152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b610400610654366004613acc565b6114c9565b34801561066557600080fd5b506106c361067436600461380d565b60066020526000908152604090205467ffffffffffffffff81169068010000000000000000810461ffff16906a010000000000000000000090046fffffffffffffffffffffffffffffffff1683565b6040805167ffffffffffffffff909416845261ffff90921660208401526fffffffffffffffffffffffffffffffff16908201526060016102ef565b34801561070a57600080fd5b50610400600081565b34801561071f57600080fd5b5061033a61072e3660046137e0565b60076020526000908152604090205460ff1681565b34801561074f57600080fd5b5061031861075e366004613b7a565b6116a5565b34801561076f57600080fd5b5061031861077e366004613bbc565b6119b5565b34801561078f57600080fd5b506001546105b090610100900473ffffffffffffffffffffffffffffffffffffffff1681565b3480156107c157600080fd5b506104006107d0366004613a43565b611a63565b3480156107e157600080fd5b506107f56107f0366004613bd7565b611c41565b6040516102ef929190613c45565b34801561080f57600080fd5b5061031861081e36600461386f565b611e51565b34801561082f57600080fd5b5061031861083e366004613c92565b611ef5565b34801561084f57600080fd5b506108777f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016102ef565b34801561089857600080fd5b506001546103b7907501000000000000000000000000000000000000000000900467ffffffffffffffff1681565b3480156108d257600080fd5b506103186108e136600461388c565b611f46565b3480156108f257600080fd5b50610318610901366004613732565b61205b565b34801561091257600080fd5b50610400610921366004613cd8565b612191565b34801561093257600080fd5b50610318610941366004613d43565b6121cd565b34801561095257600080fd5b506005546103b79067ffffffffffffffff1681565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561099181612442565b61099c84848461244c565b50505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b000000000000000000000000000000000000000000000000000000001480610a3557507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610a6581612442565b73ffffffffffffffffffffffffffffffffffffffff841660009081527f9b50f4667d2d24216ccbf0dce3a90c0f620fa4d895e7b069d80ff6247fd25620602052604090205460ff16610ae3576040517f5ee08b9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ffd9be52200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301526024820184905285169063fd9be52290604401600060405180830381600087803b158015610b5357600080fd5b505af1158015610b67573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff8089168252871660208201529081018590527f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb925060600190505b60405180910390a150505050565b6000610bd681612442565b8115610be857610be461247c565b5050565b610be46124fb565b63ffffffff8116600090815260036020908152604091829020805483518184028101840190945280845260609392830182828015610c6b57602002820191906000526020600020906000905b825461010083900a900460ff16815260206001928301818104948501949093039092029101808411610c3c5790505b50505050509050919050565b73ffffffffffffffffffffffffffffffffffffffff811660009081527f93c430521711328044ae92d0f1f1286cf040bc4a382f1642bd89984e86630553602052604081205460ff1615610ccc57506000919050565b6001547501000000000000000000000000000000000000000000900467ffffffffffffffff161580610d42575073ffffffffffffffffffffffffffffffffffffffff821660009081527f4ac82e3087b7dedf7f532cbc6915c722df8c1e31f1388c318a617b52760eaf8b602052604090205460ff165b15610d4f57506001919050565b506000919050565b919050565b817f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca811480610daa57507f4270fae16c6d150d00e80b689daca99e8073b1838ff2b6063a37be9d851283e481145b80610dd457507f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de81145b15610e1757303314610e12576040517ffaba723a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ea1565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217758103610e6757610e127fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775612442565b6040517f94fdc372000000000000000000000000000000000000000000000000000000008152600481018290526024015b60405180910390fd5b610eab8383612552565b505050565b600083610ebc81610c77565b610ef2576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c08101825260025473ffffffffffffffffffffffffffffffffffffffff908116825263ffffffff8a16602080840182905267ffffffffffffffff808c16858701528a8416606086015260055468010000000000000000900416608085015260015461ffff7d01000000000000000000000000000000000000000000000000000000000082041660a0860152600092835260069091529084902093517f7bfa20a9000000000000000000000000000000000000000000000000000000008152929361010090910490911691637bfa20a991610fda918591908a908a90600401613dc1565b602060405180830381865afa158015610ff7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101b9190613e8e565b98975050505050505050565b303314611060576040517ffaba723a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610be48282612618565b6040517fdec9f03100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756110c681612442565b60005b8281101561122957368484838181106110e4576110e4613ea7565b9050608002019050604051806060016040528082602001602081019061110a9190613a99565b67ffffffffffffffff1681526020016111296060840160408501613bbc565b61ffff1681526020016111426080840160608501613ef6565b6fffffffffffffffffffffffffffffffff16905260066000611167602085018561380d565b63ffffffff1681526020808201929092526040908101600020835181549385015194909201516fffffffffffffffffffffffffffffffff166a0100000000000000000000027fffffffffffff00000000000000000000000000000000ffffffffffffffffffff61ffff90951668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000000000000000000090941667ffffffffffffffff909316929092179290921792909216919091179055506001016110c9565b507f7dd21e42791b013d1929e86f0c59085e4fca24251f0f1aa81917b3b1611766e0838360405161125b929190613f11565b60405180910390a1505050565b60008161127481610c77565b6112aa576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c08101825260025473ffffffffffffffffffffffffffffffffffffffff908116825261ffff808a16602080850182905267ffffffffffffffff808b168688015289851660608701526005546801000000000000000090041660808601526001547d010000000000000000000000000000000000000000000000000000000000810490931660a08601526000918252600681528582208651918201875291815294517f7bfa20a9000000000000000000000000000000000000000000000000000000008152939461010090920490921692637bfa20a99261139392869260040161401d565b602060405180830381865afa1580156113b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d49190613e8e565b979650505050505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561140981612442565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527ff724a45d041687842411f2b977ef22ab8f43c8f1104f4592b42a00f9b34a643d906020015b60405180910390a15050565b3033146114bd576040517ffaba723a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6114c681612818565b50565b60007f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de6114f581612442565b61150560a086016080870161386f565b61150e81610c77565b611544576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c0810190915260025473ffffffffffffffffffffffffffffffffffffffff16815260009060208082019061157f908a018a61380d565b63ffffffff16815260200161159a60808a0160608b01613a99565b67ffffffffffffffff1681526020016115b960a08a0160808b0161386f565b73ffffffffffffffffffffffffffffffffffffffff908116825260055468010000000000000000900467ffffffffffffffff166020808401919091526001547d010000000000000000000000000000000000000000000000000000000000810461ffff16604090940193909352929350610100909104169063df2b057e90839060069060009061164b908d018d61380d565b63ffffffff1663ffffffff16815260200190815260200160002089896040518563ffffffff1660e01b81526004016116869493929190613dc1565b6020604051808303816000875af11580156113b0573d6000803e3d6000fd5b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756116cf81612442565b60005b8281101561099c57368484838181106116ed576116ed613ea7565b90506020028101906116ff91906140f3565b905063ffffffff7f000000000000000000000000000000000000000000000000000000000000000016611735602083018361380d565b63ffffffff161461174657506119ad565b4281606001351161175757506119ad565b6000611790611769602084018461380d565b611779604085016020860161386f565b6117866040860186614131565b8660600135612191565b905060006117a5826107f06080860186614131565b509050806117e8576040518481527fd6d90193101048cc1b6edcdc2348f5acf7a4a4a97d3e7b668b74cb7602ab3ebc9060200160405180910390a15050506119ad565b60006118086117fa6040860186614131565b61180391614196565b612930565b905080156118a15760008381526007602052604090205460ff1615611869577f9bb9bddbdf537a2104255307230b323d7982f4512ee8e5bd15df62ddca50ab978484604051611858929190614242565b60405180910390a1505050506119ad565b600083815260076020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555b6000806118b4604087016020880161386f565b73ffffffffffffffffffffffffffffffffffffffff166118d76040880188614131565b6040516118e5929190614308565b6000604051808303816000865af19150503d8060008114611922576040519150601f19603f3d011682016040523d82523d6000602084013e611927565b606091505b5091509150816119a657821561196c57600085815260076020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b7fdc8cdd96296241bbefda4a8e18ad2e0985a8da6495b34d409cfc4c886ee3b0cf878260405161199d929190614318565b60405180910390a15b5050505050505b6001016116d2565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756119df81612442565b600180547fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167d01000000000000000000000000000000000000000000000000000000000061ffff8516908102919091179091556040519081527f7af0ac740036ffb1c97b03697859d729e80a44ae5030543d64971c313565ab4d90602001611478565b60007f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de611a8f81612442565b82611a9981610c77565b611acf576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c08101825260025473ffffffffffffffffffffffffffffffffffffffff908116825261ffff808b16602080850182905267ffffffffffffffff808c16868801528a851660608701526005546801000000000000000090041660808601526001547d010000000000000000000000000000000000000000000000000000000000810490931660a08601526000918252600681528582208651918201875291815294517fdf2b057e00000000000000000000000000000000000000000000000000000000815293946101009092049092169263df2b057e92611bb892869260040161401d565b6020604051808303816000875af1158015611bd7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bfb9190613e8e565b93507f87e46b0a6199bc734632187269a103c05714ee0adae5b28f30723955724f37ef84604051611c2e91815260200190565b60405180910390a1505050949350505050565b6005546000908190611c6a9068010000000000000000900467ffffffffffffffff166041614360565b8314611c7c5750600090506001611e49565b6000611cd5866040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b90506000805b60055468010000000000000000900467ffffffffffffffff16811015611e3d573660008888611d0b856041614360565b90611d17866001614377565b611d22906041614360565b92611d2f9392919061438a565b91509150600080611d768785858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506129cb92505050565b90925090506000816004811115611d8f57611d8f613c16565b14611da857600060019850985050505050505050611e49565b8573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1611611def57600060029850985050505050505050611e49565b73ffffffffffffffffffffffffffffffffffffffff821660009081526004602052604090205460ff16611e3057600060039850985050505050505050611e49565b5093505050600101611cdb565b50600160009350935050505b935093915050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611e7b81612442565b600180547fffffffffffffffffffffff0000000000000000000000000000000000000000ff1661010073ffffffffffffffffffffffffffffffffffffffff8516908102919091179091556040519081527f1399be28223800f8669b3ba5f8721d9fc16fc4e8d0bbf98378791c8c5a3015e090602001611478565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611f1f81612442565b63ffffffff84166000908152600360205260409020611f3f908484613652565b5050505050565b817f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca811480611f9457507f4270fae16c6d150d00e80b689daca99e8073b1838ff2b6063a37be9d851283e481145b80611fbe57507f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de81145b1561200157303314611ffc576040517ffaba723a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612051565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217758103610e6757611ffc7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775612442565b610eab8383612a10565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561208581612442565b73ffffffffffffffffffffffffffffffffffffffff841660009081527f9b50f4667d2d24216ccbf0dce3a90c0f620fa4d895e7b069d80ff6247fd25620602052604090205460ff16612103576040517f5ee08b9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f07b18bde00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018490528516906307b18bde90604401600060405180830381600087803b15801561217357600080fd5b505af1158015612187573d6000803e3d6000fd5b5050505050505050565b600085858386866040516020016121ac9594939291906143b4565b60405160208183030381529060405280519060200120905095945050505050565b4281606001351161220a576040517f0bbaf26300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3061221b604083016020840161386f565b73ffffffffffffffffffffffffffffffffffffffff161461229157612246604082016020830161386f565b6040517f1ce0bfcd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610e98565b63ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166122c5602083018361380d565b63ffffffff1614612318576122dd602082018261380d565b6040517f2697e1c200000000000000000000000000000000000000000000000000000000815263ffffffff9091166004820152602401610e98565b600061232a611769602084018461380d565b9050600061233f826107f06080860186614131565b50905080612379576040517f15ecadee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281526007602052604090205460ff16156123c5576040517f9d6a45a600000000000000000000000000000000000000000000000000000000815260048101839052602401610e98565b6000828152600760205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610eab907fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217759061243090860186614131565b81019061243d919061386f565b612552565b6114c68133612ad5565b73ffffffffffffffffffffffffffffffffffffffff831661247157610eab8282612b8d565b610eab838383612c93565b612484612d01565b600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016811790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b612503612d70565b600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa336124d1565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca821480156125af575060008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16155b1561260e57600180546015906125e7907501000000000000000000000000000000000000000000900467ffffffffffffffff16614426565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b610be48282612ddc565b73ffffffffffffffffffffffffffffffffffffffff821660009081526004602052604090205481151560ff90911615150361269f576040517f58c8d2a000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201528115156024820152604401610e98565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260046020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016831515179055816127115760055461270c9060019067ffffffffffffffff1661444d565b612729565b6005546127299067ffffffffffffffff166001614475565b60055490915067ffffffffffffffff680100000000000000009091048116908216811115612797576040517ff1c582ae00000000000000000000000000000000000000000000000000000000815267ffffffffffffffff808416600483015282166024820152604401610e98565b600580547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff84161790556040805173ffffffffffffffffffffffffffffffffffffffff8616815284151560208201527f863d338cad74814b108a06288ad5e0e80d56495e0332238b1d2cdcfa0ca8e5ce9101610bbd565b8067ffffffffffffffff1660000361285c576040517f5f86e17700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60055467ffffffffffffffff9081169082168110156128bb576040517ff1c582ae00000000000000000000000000000000000000000000000000000000815267ffffffffffffffff808316600483015283166024820152604401610e98565b600580547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff166801000000000000000067ffffffffffffffff8516908102919091179091556040519081527fb600f3cf7f38a4b49bb0c75f722ef69f7e3e39ef3bb4aa8207fd86e724a2324990602001611478565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f0223536e0000000000000000000000000000000000000000000000000000000014801590610a3557507fffffffff0000000000000000000000000000000000000000000000000000000082167f704316e500000000000000000000000000000000000000000000000000000000141592915050565b6000808251604103612a015760208301516040840151606085015160001a6129f587828585612ecc565b94509450505050612a09565b506000905060025b9250929050565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca82148015612a6c575060008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff165b15612acb5760018054601590612aa4907501000000000000000000000000000000000000000000900467ffffffffffffffff16614496565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b610be48282612fbb565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610be457612b1381613072565b612b1e836020613091565b604051602001612b2f9291906144d8565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a0000000000000000000000000000000000000000000000000000000008252610e9891600401614559565b73ffffffffffffffffffffffffffffffffffffffff8216612bda576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114612c34576040519150601f19603f3d011682016040523d82523d6000602084013e612c39565b606091505b5050905080610eab576040517f465bc83400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101839052604401610e98565b73ffffffffffffffffffffffffffffffffffffffff8216612ce0576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610eab73ffffffffffffffffffffffffffffffffffffffff841683836132db565b60015460ff1615612d6e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610e98565b565b60015460ff16612d6e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610e98565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610be45760008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055612e6e3390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115612f035750600090506003612fb2565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612f57573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116612fab57600060019250925050612fb2565b9150600090505b94509492505050565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1615610be45760008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6060610a3573ffffffffffffffffffffffffffffffffffffffff831660145b606060006130a0836002614360565b6130ab906002614377565b67ffffffffffffffff8111156130c3576130c361456c565b6040519080825280601f01601f1916602001820160405280156130ed576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061312457613124613ea7565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061318757613187613ea7565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006131c3846002614360565b6131ce906001614377565b90505b600181111561326b577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061320f5761320f613ea7565b1a60f81b82828151811061322557613225613ea7565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c936132648161459b565b90506131d1565b5083156132d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e98565b9392505050565b6040805173ffffffffffffffffffffffffffffffffffffffff848116602483015260448083018590528351808403909101815260649092018352602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656490840152610eab928692916000916133a6918516908490613453565b90508051600014806133c75750808060200190518101906133c791906145d0565b610eab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610e98565b6060613462848460008561346a565b949350505050565b6060824710156134fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610e98565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161352591906145ed565b60006040518083038185875af1925050503d8060008114613562576040519150601f19603f3d011682016040523d82523d6000602084013e613567565b606091505b50915091506113d487838387606083156136095782516000036136025773ffffffffffffffffffffffffffffffffffffffff85163b613602576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610e98565b5081613462565b613462838381511561361e5781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e989190614559565b82805482825590600052602060002090601f016020900481019282156136eb5791602002820160005b838211156136bc57833560ff1683826101000a81548160ff021916908360ff160217905550926020019260010160208160000104928301926001030261367b565b80156136e95782816101000a81549060ff02191690556001016020816000010492830192600103026136bc565b505b506136f79291506136fb565b5090565b5b808211156136f757600081556001016136fc565b73ffffffffffffffffffffffffffffffffffffffff811681146114c657600080fd5b60008060006060848603121561374757600080fd5b833561375281613710565b9250602084013561376281613710565b929592945050506040919091013590565b60006020828403121561378557600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146132d457600080fd5b80151581146114c657600080fd5b6000602082840312156137d557600080fd5b81356132d4816137b5565b6000602082840312156137f257600080fd5b5035919050565b803563ffffffff81168114610d5757600080fd5b60006020828403121561381f57600080fd5b6132d4826137f9565b6020808252825182820181905260009190848201906040850190845b8181101561386357835160ff1683529284019291840191600101613844565b50909695505050505050565b60006020828403121561388157600080fd5b81356132d481613710565b6000806040838503121561389f57600080fd5b8235915060208301356138b181613710565b809150509250929050565b803567ffffffffffffffff81168114610d5757600080fd5b60008083601f8401126138e657600080fd5b50813567ffffffffffffffff8111156138fe57600080fd5b602083019150836020828501011115612a0957600080fd5b60008060008060006080868803121561392e57600080fd5b613937866137f9565b9450613945602087016138bc565b9350604086013561395581613710565b9250606086013567ffffffffffffffff81111561397157600080fd5b61397d888289016138d4565b969995985093965092949392505050565b600080604083850312156139a157600080fd5b82356139ac81613710565b915060208301356138b1816137b5565b600080602083850312156139cf57600080fd5b823567ffffffffffffffff808211156139e757600080fd5b818501915085601f8301126139fb57600080fd5b813581811115613a0a57600080fd5b8660208260071b8501011115613a1f57600080fd5b60209290920196919550909350505050565b803561ffff81168114610d5757600080fd5b60008060008060808587031215613a5957600080fd5b613a6285613a31565b9350613a7060208601613a31565b9250613a7e604086016138bc565b91506060850135613a8e81613710565b939692955090935050565b600060208284031215613aab57600080fd5b6132d4826138bc565b600060a08284031215613ac657600080fd5b50919050565b600080600060408486031215613ae157600080fd5b833567ffffffffffffffff80821115613af957600080fd5b613b0587838801613ab4565b94506020860135915080821115613b1b57600080fd5b50613b28868287016138d4565b9497909650939450505050565b60008083601f840112613b4757600080fd5b50813567ffffffffffffffff811115613b5f57600080fd5b6020830191508360208260051b8501011115612a0957600080fd5b60008060208385031215613b8d57600080fd5b823567ffffffffffffffff811115613ba457600080fd5b613bb085828601613b35565b90969095509350505050565b600060208284031215613bce57600080fd5b6132d482613a31565b600080600060408486031215613bec57600080fd5b83359250602084013567ffffffffffffffff811115613c0a57600080fd5b613b28868287016138d4565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b82151581526040810160048310613c85577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8260208301529392505050565b600080600060408486031215613ca757600080fd5b613cb0846137f9565b9250602084013567ffffffffffffffff811115613ccc57600080fd5b613b2886828701613b35565b600080600080600060808688031215613cf057600080fd5b613cf9866137f9565b94506020860135613d0981613710565b9350604086013567ffffffffffffffff811115613d2557600080fd5b613d31888289016138d4565b96999598509660600135949350505050565b600060208284031215613d5557600080fd5b813567ffffffffffffffff811115613d6c57600080fd5b61346284828501613ab4565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6000610140613e39838873ffffffffffffffffffffffffffffffffffffffff80825116835263ffffffff6020830151166020840152604082015167ffffffffffffffff808216604086015282606085015116606086015280608085015116608086015250505061ffff60a08201511660a08301525050565b613e7a60c08401875467ffffffffffffffff81168252604081811c61ffff16602084015260509190911c6fffffffffffffffffffffffffffffffff16910152565b806101208401526113d48184018587613d78565b600060208284031215613ea057600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80356fffffffffffffffffffffffffffffffff81168114610d5757600080fd5b600060208284031215613f0857600080fd5b6132d482613ed6565b6020808252818101839052600090604080840186845b87811015613fa25763ffffffff613f3d836137f9565b16835267ffffffffffffffff613f548684016138bc565b168584015261ffff613f67858401613a31565b168484015260606fffffffffffffffffffffffffffffffff613f8a828501613ed6565b16908401526080928301929190910190600101613f27565b5090979650505050505050565b60005b83811015613fca578181015183820152602001613fb2565b50506000910152565b60008151808452613feb816020860160208601613faf565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000610140614095838773ffffffffffffffffffffffffffffffffffffffff80825116835263ffffffff6020830151166020840152604082015167ffffffffffffffff808216604086015282606085015116606086015280608085015116608086015250505061ffff60a08201511660a08301525050565b6140d660c08401865467ffffffffffffffff81168252604081811c61ffff16602084015260509190911c6fffffffffffffffffffffffffffffffff16910152565b806101208401526140e981840185613fd3565b9695505050505050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6183360301811261412757600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261416657600080fd5b83018035915067ffffffffffffffff82111561418157600080fd5b602001915036819003821315612a0957600080fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156141d65780818660040360031b1b83161692505b505092915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261421357600080fd5b830160208101925035905067ffffffffffffffff81111561423357600080fd5b803603821315612a0957600080fd5b6040815263ffffffff614254846137f9565b1660408201526000602084013561426a81613710565b73ffffffffffffffffffffffffffffffffffffffff16606083015261429260408501856141de565b60a060808501526142a760e085018284613d78565b915050606085013560a08401526142c160808601866141de565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08584030160c08601526142f6838284613d78565b93505050508260208301529392505050565b8183823760009101908152919050565b8281526040602082015260006134626040830184613fd3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082028115828204841417610a3557610a35614331565b80820180821115610a3557610a35614331565b6000808585111561439a57600080fd5b838611156143a757600080fd5b5050820193919092039150565b7fffffffff000000000000000000000000000000000000000000000000000000008660e01b1681527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008560601b1660048201528360188201528183603883013760009101603801908152949350505050565b600067ffffffffffffffff80831681810361444357614443614331565b6001019392505050565b67ffffffffffffffff82811682821603908082111561446e5761446e614331565b5092915050565b67ffffffffffffffff81811683821601908082111561446e5761446e614331565b600067ffffffffffffffff8216806144b0576144b0614331565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351614510816017850160208801613faf565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161454d816028840160208801613faf565b01602801949350505050565b6020815260006132d46020830184613fd3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000816145aa576145aa614331565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b6000602082840312156145e257600080fd5b81516132d4816137b5565b60008251614127818460208701613faf56fea2646970667358221220b69fbeb30e38ef1b4b202031c8b88e5d5b004563c7ff42713ed413ed4f4901a664736f6c63430008160033",
1429
+ "deployedBytecode": "0x60806040526004361061029f5760003560e01c80638585c9451161016e578063c7a823e0116100cb578063d547741f1161007f578063f010cb2311610064578063f010cb2314610906578063f3b4ebd014610926578063fd62e7501461094657600080fd5b8063d547741f146108c6578063dafe0ccc146108e657600080fd5b8063cd88b903116100b0578063cd88b90314610823578063cf34c76814610843578063d2ae21041461088c57600080fd5b8063c7a823e0146107d5578063c7b2370b1461080357600080fd5b8063aef18bf711610122578063c358de0a11610107578063c358de0a14610763578063c416aa5114610783578063c5e193cd146107b557600080fd5b8063aef18bf714610713578063b143044b1461074357600080fd5b806395d376d71161015357806395d376d7146106465780639e94496514610659578063a217fddf146106fe57600080fd5b80638585c945146105d557806391d14854146105f557600080fd5b80632f2ff15d1161021c5780635553fb8e116101d0578063724e78da116101b5578063724e78da14610533578063736c0d5b14610553578063741bef1a1461058357600080fd5b80635553fb8e146104fb5780635c975abb1461051b57600080fd5b806331cb61051161020157806331cb61051461049b57806336568abe146104bb57806352d3b871146104db57600080fd5b80632f2ff15d1461045b57806330bb3aac1461047b57600080fd5b806316c38b3c11610273578063248a9ca311610258578063248a9ca3146103d057806326e67a371461040e5780632de113761461043b57600080fd5b806316c38b3c1461036a5780631703a0181461038a57600080fd5b8062bf2e80146102a457806301e33667146102f857806301ffc9a71461031a5780631095b6d71461034a575b600080fd5b3480156102b057600080fd5b506001546102e0907d010000000000000000000000000000000000000000000000000000000000900461ffff1681565b60405161ffff90911681526020015b60405180910390f35b34801561030457600080fd5b50610318610313366004613732565b610967565b005b34801561032657600080fd5b5061033a610335366004613773565b6109a2565b60405190151581526020016102ef565b34801561035657600080fd5b50610318610365366004613732565b610a3b565b34801561037657600080fd5b506103186103853660046137c3565b610bcb565b34801561039657600080fd5b506005546103b79068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020016102ef565b3480156103dc57600080fd5b506104006103eb3660046137e0565b60009081526020819052604090206001015490565b6040519081526020016102ef565b34801561041a57600080fd5b5061042e61042936600461380d565b610bf0565b6040516102ef9190613828565b34801561044757600080fd5b5061033a61045636600461386f565b610c77565b34801561046757600080fd5b5061031861047636600461388c565b610d5c565b34801561048757600080fd5b50610400610496366004613916565b610eb0565b3480156104a757600080fd5b506103186104b636600461398e565b611027565b3480156104c757600080fd5b506103186104d636600461388c565b61106a565b3480156104e757600080fd5b506103186104f63660046139bc565b61109c565b34801561050757600080fd5b50610400610516366004613a43565b611268565b34801561052757600080fd5b5060015460ff1661033a565b34801561053f57600080fd5b5061031861054e36600461386f565b6113df565b34801561055f57600080fd5b5061033a61056e36600461386f565b60046020526000908152604090205460ff1681565b34801561058f57600080fd5b506002546105b09073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016102ef565b3480156105e157600080fd5b506103186105f0366004613a99565b611484565b34801561060157600080fd5b5061033a61061036600461388c565b60009182526020828152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b610400610654366004613acc565b6114c9565b34801561066557600080fd5b506106c361067436600461380d565b60066020526000908152604090205467ffffffffffffffff81169068010000000000000000810461ffff16906a010000000000000000000090046fffffffffffffffffffffffffffffffff1683565b6040805167ffffffffffffffff909416845261ffff90921660208401526fffffffffffffffffffffffffffffffff16908201526060016102ef565b34801561070a57600080fd5b50610400600081565b34801561071f57600080fd5b5061033a61072e3660046137e0565b60076020526000908152604090205460ff1681565b34801561074f57600080fd5b5061031861075e366004613b7a565b6116a5565b34801561076f57600080fd5b5061031861077e366004613bbc565b6119b5565b34801561078f57600080fd5b506001546105b090610100900473ffffffffffffffffffffffffffffffffffffffff1681565b3480156107c157600080fd5b506104006107d0366004613a43565b611a63565b3480156107e157600080fd5b506107f56107f0366004613bd7565b611c41565b6040516102ef929190613c45565b34801561080f57600080fd5b5061031861081e36600461386f565b611e51565b34801561082f57600080fd5b5061031861083e366004613c92565b611ef5565b34801561084f57600080fd5b506108777f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016102ef565b34801561089857600080fd5b506001546103b7907501000000000000000000000000000000000000000000900467ffffffffffffffff1681565b3480156108d257600080fd5b506103186108e136600461388c565b611f46565b3480156108f257600080fd5b50610318610901366004613732565b61205b565b34801561091257600080fd5b50610400610921366004613cd8565b612191565b34801561093257600080fd5b50610318610941366004613d43565b6121cd565b34801561095257600080fd5b506005546103b79067ffffffffffffffff1681565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561099181612442565b61099c84848461244c565b50505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b000000000000000000000000000000000000000000000000000000001480610a3557507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610a6581612442565b73ffffffffffffffffffffffffffffffffffffffff841660009081527f9b50f4667d2d24216ccbf0dce3a90c0f620fa4d895e7b069d80ff6247fd25620602052604090205460ff16610ae3576040517f5ee08b9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ffd9be52200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301526024820184905285169063fd9be52290604401600060405180830381600087803b158015610b5357600080fd5b505af1158015610b67573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff8089168252871660208201529081018590527f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb925060600190505b60405180910390a150505050565b6000610bd681612442565b8115610be857610be461247c565b5050565b610be46124fb565b63ffffffff8116600090815260036020908152604091829020805483518184028101840190945280845260609392830182828015610c6b57602002820191906000526020600020906000905b825461010083900a900460ff16815260206001928301818104948501949093039092029101808411610c3c5790505b50505050509050919050565b73ffffffffffffffffffffffffffffffffffffffff811660009081527f93c430521711328044ae92d0f1f1286cf040bc4a382f1642bd89984e86630553602052604081205460ff1615610ccc57506000919050565b6001547501000000000000000000000000000000000000000000900467ffffffffffffffff161580610d42575073ffffffffffffffffffffffffffffffffffffffff821660009081527f4ac82e3087b7dedf7f532cbc6915c722df8c1e31f1388c318a617b52760eaf8b602052604090205460ff165b15610d4f57506001919050565b506000919050565b919050565b817f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca811480610daa57507f4270fae16c6d150d00e80b689daca99e8073b1838ff2b6063a37be9d851283e481145b80610dd457507f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de81145b15610e1757303314610e12576040517ffaba723a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ea1565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217758103610e6757610e127fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775612442565b6040517f94fdc372000000000000000000000000000000000000000000000000000000008152600481018290526024015b60405180910390fd5b610eab8383612552565b505050565b600083610ebc81610c77565b610ef2576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c08101825260025473ffffffffffffffffffffffffffffffffffffffff908116825263ffffffff8a16602080840182905267ffffffffffffffff808c16858701528a8416606086015260055468010000000000000000900416608085015260015461ffff7d01000000000000000000000000000000000000000000000000000000000082041660a0860152600092835260069091529084902093517f7bfa20a9000000000000000000000000000000000000000000000000000000008152929361010090910490911691637bfa20a991610fda918591908a908a90600401613dc1565b602060405180830381865afa158015610ff7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101b9190613e8e565b98975050505050505050565b303314611060576040517ffaba723a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610be48282612618565b6040517fdec9f03100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756110c681612442565b60005b8281101561122957368484838181106110e4576110e4613ea7565b9050608002019050604051806060016040528082602001602081019061110a9190613a99565b67ffffffffffffffff1681526020016111296060840160408501613bbc565b61ffff1681526020016111426080840160608501613ef6565b6fffffffffffffffffffffffffffffffff16905260066000611167602085018561380d565b63ffffffff1681526020808201929092526040908101600020835181549385015194909201516fffffffffffffffffffffffffffffffff166a0100000000000000000000027fffffffffffff00000000000000000000000000000000ffffffffffffffffffff61ffff90951668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000000000000000000090941667ffffffffffffffff909316929092179290921792909216919091179055506001016110c9565b507f7dd21e42791b013d1929e86f0c59085e4fca24251f0f1aa81917b3b1611766e0838360405161125b929190613f11565b60405180910390a1505050565b60008161127481610c77565b6112aa576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c08101825260025473ffffffffffffffffffffffffffffffffffffffff908116825261ffff808a16602080850182905267ffffffffffffffff808b168688015289851660608701526005546801000000000000000090041660808601526001547d010000000000000000000000000000000000000000000000000000000000810490931660a08601526000918252600681528582208651918201875291815294517f7bfa20a9000000000000000000000000000000000000000000000000000000008152939461010090920490921692637bfa20a99261139392869260040161401d565b602060405180830381865afa1580156113b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d49190613e8e565b979650505050505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561140981612442565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527ff724a45d041687842411f2b977ef22ab8f43c8f1104f4592b42a00f9b34a643d906020015b60405180910390a15050565b3033146114bd576040517ffaba723a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6114c681612818565b50565b60007f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de6114f581612442565b61150560a086016080870161386f565b61150e81610c77565b611544576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c0810190915260025473ffffffffffffffffffffffffffffffffffffffff16815260009060208082019061157f908a018a61380d565b63ffffffff16815260200161159a60808a0160608b01613a99565b67ffffffffffffffff1681526020016115b960a08a0160808b0161386f565b73ffffffffffffffffffffffffffffffffffffffff908116825260055468010000000000000000900467ffffffffffffffff166020808401919091526001547d010000000000000000000000000000000000000000000000000000000000810461ffff16604090940193909352929350610100909104169063df2b057e90839060069060009061164b908d018d61380d565b63ffffffff1663ffffffff16815260200190815260200160002089896040518563ffffffff1660e01b81526004016116869493929190613dc1565b6020604051808303816000875af11580156113b0573d6000803e3d6000fd5b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756116cf81612442565b60005b8281101561099c57368484838181106116ed576116ed613ea7565b90506020028101906116ff91906140f3565b905063ffffffff7f000000000000000000000000000000000000000000000000000000000000000016611735602083018361380d565b63ffffffff161461174657506119ad565b4281606001351161175757506119ad565b6000611790611769602084018461380d565b611779604085016020860161386f565b6117866040860186614131565b8660600135612191565b905060006117a5826107f06080860186614131565b509050806117e8576040518481527fd6d90193101048cc1b6edcdc2348f5acf7a4a4a97d3e7b668b74cb7602ab3ebc9060200160405180910390a15050506119ad565b60006118086117fa6040860186614131565b61180391614196565b612930565b905080156118a15760008381526007602052604090205460ff1615611869577f9bb9bddbdf537a2104255307230b323d7982f4512ee8e5bd15df62ddca50ab978484604051611858929190614242565b60405180910390a1505050506119ad565b600083815260076020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555b6000806118b4604087016020880161386f565b73ffffffffffffffffffffffffffffffffffffffff166118d76040880188614131565b6040516118e5929190614308565b6000604051808303816000865af19150503d8060008114611922576040519150601f19603f3d011682016040523d82523d6000602084013e611927565b606091505b5091509150816119a657821561196c57600085815260076020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b7fdc8cdd96296241bbefda4a8e18ad2e0985a8da6495b34d409cfc4c886ee3b0cf878260405161199d929190614318565b60405180910390a15b5050505050505b6001016116d2565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756119df81612442565b600180547fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167d01000000000000000000000000000000000000000000000000000000000061ffff8516908102919091179091556040519081527f7af0ac740036ffb1c97b03697859d729e80a44ae5030543d64971c313565ab4d90602001611478565b60007f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de611a8f81612442565b82611a9981610c77565b611acf576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c08101825260025473ffffffffffffffffffffffffffffffffffffffff908116825261ffff808b16602080850182905267ffffffffffffffff808c16868801528a851660608701526005546801000000000000000090041660808601526001547d010000000000000000000000000000000000000000000000000000000000810490931660a08601526000918252600681528582208651918201875291815294517fdf2b057e00000000000000000000000000000000000000000000000000000000815293946101009092049092169263df2b057e92611bb892869260040161401d565b6020604051808303816000875af1158015611bd7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bfb9190613e8e565b93507f87e46b0a6199bc734632187269a103c05714ee0adae5b28f30723955724f37ef84604051611c2e91815260200190565b60405180910390a1505050949350505050565b6005546000908190611c6a9068010000000000000000900467ffffffffffffffff166041614360565b8314611c7c5750600090506001611e49565b6000611cd5866040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b90506000805b60055468010000000000000000900467ffffffffffffffff16811015611e3d573660008888611d0b856041614360565b90611d17866001614377565b611d22906041614360565b92611d2f9392919061438a565b91509150600080611d768785858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506129cb92505050565b90925090506000816004811115611d8f57611d8f613c16565b14611da857600060019850985050505050505050611e49565b8573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1611611def57600060029850985050505050505050611e49565b73ffffffffffffffffffffffffffffffffffffffff821660009081526004602052604090205460ff16611e3057600060039850985050505050505050611e49565b5093505050600101611cdb565b50600160009350935050505b935093915050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611e7b81612442565b600180547fffffffffffffffffffffff0000000000000000000000000000000000000000ff1661010073ffffffffffffffffffffffffffffffffffffffff8516908102919091179091556040519081527f1399be28223800f8669b3ba5f8721d9fc16fc4e8d0bbf98378791c8c5a3015e090602001611478565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611f1f81612442565b63ffffffff84166000908152600360205260409020611f3f908484613652565b5050505050565b817f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca811480611f9457507f4270fae16c6d150d00e80b689daca99e8073b1838ff2b6063a37be9d851283e481145b80611fbe57507f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de81145b1561200157303314611ffc576040517ffaba723a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612051565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217758103610e6757611ffc7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775612442565b610eab8383612a10565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561208581612442565b73ffffffffffffffffffffffffffffffffffffffff841660009081527f9b50f4667d2d24216ccbf0dce3a90c0f620fa4d895e7b069d80ff6247fd25620602052604090205460ff16612103576040517f5ee08b9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f07b18bde00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018490528516906307b18bde90604401600060405180830381600087803b15801561217357600080fd5b505af1158015612187573d6000803e3d6000fd5b5050505050505050565b600085858386866040516020016121ac9594939291906143b4565b60405160208183030381529060405280519060200120905095945050505050565b4281606001351161220a576040517f0bbaf26300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3061221b604083016020840161386f565b73ffffffffffffffffffffffffffffffffffffffff161461229157612246604082016020830161386f565b6040517f1ce0bfcd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610e98565b63ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166122c5602083018361380d565b63ffffffff1614612318576122dd602082018261380d565b6040517f2697e1c200000000000000000000000000000000000000000000000000000000815263ffffffff9091166004820152602401610e98565b600061232a611769602084018461380d565b9050600061233f826107f06080860186614131565b50905080612379576040517f15ecadee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281526007602052604090205460ff16156123c5576040517f9d6a45a600000000000000000000000000000000000000000000000000000000815260048101839052602401610e98565b6000828152600760205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610eab907fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217759061243090860186614131565b81019061243d919061386f565b612552565b6114c68133612ad5565b73ffffffffffffffffffffffffffffffffffffffff831661247157610eab8282612b8d565b610eab838383612c93565b612484612d01565b600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016811790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b612503612d70565b600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa336124d1565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca821480156125af575060008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16155b1561260e57600180546015906125e7907501000000000000000000000000000000000000000000900467ffffffffffffffff16614426565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b610be48282612ddc565b73ffffffffffffffffffffffffffffffffffffffff821660009081526004602052604090205481151560ff90911615150361269f576040517f58c8d2a000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201528115156024820152604401610e98565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260046020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016831515179055816127115760055461270c9060019067ffffffffffffffff1661444d565b612729565b6005546127299067ffffffffffffffff166001614475565b60055490915067ffffffffffffffff680100000000000000009091048116908216811115612797576040517ff1c582ae00000000000000000000000000000000000000000000000000000000815267ffffffffffffffff808416600483015282166024820152604401610e98565b600580547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff84161790556040805173ffffffffffffffffffffffffffffffffffffffff8616815284151560208201527f863d338cad74814b108a06288ad5e0e80d56495e0332238b1d2cdcfa0ca8e5ce9101610bbd565b8067ffffffffffffffff1660000361285c576040517f5f86e17700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60055467ffffffffffffffff9081169082168110156128bb576040517ff1c582ae00000000000000000000000000000000000000000000000000000000815267ffffffffffffffff808316600483015283166024820152604401610e98565b600580547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff166801000000000000000067ffffffffffffffff8516908102919091179091556040519081527fb600f3cf7f38a4b49bb0c75f722ef69f7e3e39ef3bb4aa8207fd86e724a2324990602001611478565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f0223536e0000000000000000000000000000000000000000000000000000000014801590610a3557507fffffffff0000000000000000000000000000000000000000000000000000000082167f704316e500000000000000000000000000000000000000000000000000000000141592915050565b6000808251604103612a015760208301516040840151606085015160001a6129f587828585612ecc565b94509450505050612a09565b506000905060025b9250929050565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca82148015612a6c575060008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff165b15612acb5760018054601590612aa4907501000000000000000000000000000000000000000000900467ffffffffffffffff16614496565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b610be48282612fbb565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610be457612b1381613072565b612b1e836020613091565b604051602001612b2f9291906144d8565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a0000000000000000000000000000000000000000000000000000000008252610e9891600401614559565b73ffffffffffffffffffffffffffffffffffffffff8216612bda576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114612c34576040519150601f19603f3d011682016040523d82523d6000602084013e612c39565b606091505b5050905080610eab576040517f465bc83400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101839052604401610e98565b73ffffffffffffffffffffffffffffffffffffffff8216612ce0576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610eab73ffffffffffffffffffffffffffffffffffffffff841683836132db565b60015460ff1615612d6e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610e98565b565b60015460ff16612d6e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610e98565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610be45760008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055612e6e3390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115612f035750600090506003612fb2565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612f57573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116612fab57600060019250925050612fb2565b9150600090505b94509492505050565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1615610be45760008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6060610a3573ffffffffffffffffffffffffffffffffffffffff831660145b606060006130a0836002614360565b6130ab906002614377565b67ffffffffffffffff8111156130c3576130c361456c565b6040519080825280601f01601f1916602001820160405280156130ed576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061312457613124613ea7565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061318757613187613ea7565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006131c3846002614360565b6131ce906001614377565b90505b600181111561326b577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061320f5761320f613ea7565b1a60f81b82828151811061322557613225613ea7565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c936132648161459b565b90506131d1565b5083156132d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e98565b9392505050565b6040805173ffffffffffffffffffffffffffffffffffffffff848116602483015260448083018590528351808403909101815260649092018352602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656490840152610eab928692916000916133a6918516908490613453565b90508051600014806133c75750808060200190518101906133c791906145d0565b610eab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610e98565b6060613462848460008561346a565b949350505050565b6060824710156134fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610e98565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161352591906145ed565b60006040518083038185875af1925050503d8060008114613562576040519150601f19603f3d011682016040523d82523d6000602084013e613567565b606091505b50915091506113d487838387606083156136095782516000036136025773ffffffffffffffffffffffffffffffffffffffff85163b613602576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610e98565b5081613462565b613462838381511561361e5781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e989190614559565b82805482825590600052602060002090601f016020900481019282156136eb5791602002820160005b838211156136bc57833560ff1683826101000a81548160ff021916908360ff160217905550926020019260010160208160000104928301926001030261367b565b80156136e95782816101000a81549060ff02191690556001016020816000010492830192600103026136bc565b505b506136f79291506136fb565b5090565b5b808211156136f757600081556001016136fc565b73ffffffffffffffffffffffffffffffffffffffff811681146114c657600080fd5b60008060006060848603121561374757600080fd5b833561375281613710565b9250602084013561376281613710565b929592945050506040919091013590565b60006020828403121561378557600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146132d457600080fd5b80151581146114c657600080fd5b6000602082840312156137d557600080fd5b81356132d4816137b5565b6000602082840312156137f257600080fd5b5035919050565b803563ffffffff81168114610d5757600080fd5b60006020828403121561381f57600080fd5b6132d4826137f9565b6020808252825182820181905260009190848201906040850190845b8181101561386357835160ff1683529284019291840191600101613844565b50909695505050505050565b60006020828403121561388157600080fd5b81356132d481613710565b6000806040838503121561389f57600080fd5b8235915060208301356138b181613710565b809150509250929050565b803567ffffffffffffffff81168114610d5757600080fd5b60008083601f8401126138e657600080fd5b50813567ffffffffffffffff8111156138fe57600080fd5b602083019150836020828501011115612a0957600080fd5b60008060008060006080868803121561392e57600080fd5b613937866137f9565b9450613945602087016138bc565b9350604086013561395581613710565b9250606086013567ffffffffffffffff81111561397157600080fd5b61397d888289016138d4565b969995985093965092949392505050565b600080604083850312156139a157600080fd5b82356139ac81613710565b915060208301356138b1816137b5565b600080602083850312156139cf57600080fd5b823567ffffffffffffffff808211156139e757600080fd5b818501915085601f8301126139fb57600080fd5b813581811115613a0a57600080fd5b8660208260071b8501011115613a1f57600080fd5b60209290920196919550909350505050565b803561ffff81168114610d5757600080fd5b60008060008060808587031215613a5957600080fd5b613a6285613a31565b9350613a7060208601613a31565b9250613a7e604086016138bc565b91506060850135613a8e81613710565b939692955090935050565b600060208284031215613aab57600080fd5b6132d4826138bc565b600060a08284031215613ac657600080fd5b50919050565b600080600060408486031215613ae157600080fd5b833567ffffffffffffffff80821115613af957600080fd5b613b0587838801613ab4565b94506020860135915080821115613b1b57600080fd5b50613b28868287016138d4565b9497909650939450505050565b60008083601f840112613b4757600080fd5b50813567ffffffffffffffff811115613b5f57600080fd5b6020830191508360208260051b8501011115612a0957600080fd5b60008060208385031215613b8d57600080fd5b823567ffffffffffffffff811115613ba457600080fd5b613bb085828601613b35565b90969095509350505050565b600060208284031215613bce57600080fd5b6132d482613a31565b600080600060408486031215613bec57600080fd5b83359250602084013567ffffffffffffffff811115613c0a57600080fd5b613b28868287016138d4565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b82151581526040810160048310613c85577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8260208301529392505050565b600080600060408486031215613ca757600080fd5b613cb0846137f9565b9250602084013567ffffffffffffffff811115613ccc57600080fd5b613b2886828701613b35565b600080600080600060808688031215613cf057600080fd5b613cf9866137f9565b94506020860135613d0981613710565b9350604086013567ffffffffffffffff811115613d2557600080fd5b613d31888289016138d4565b96999598509660600135949350505050565b600060208284031215613d5557600080fd5b813567ffffffffffffffff811115613d6c57600080fd5b61346284828501613ab4565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6000610140613e39838873ffffffffffffffffffffffffffffffffffffffff80825116835263ffffffff6020830151166020840152604082015167ffffffffffffffff808216604086015282606085015116606086015280608085015116608086015250505061ffff60a08201511660a08301525050565b613e7a60c08401875467ffffffffffffffff81168252604081811c61ffff16602084015260509190911c6fffffffffffffffffffffffffffffffff16910152565b806101208401526113d48184018587613d78565b600060208284031215613ea057600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80356fffffffffffffffffffffffffffffffff81168114610d5757600080fd5b600060208284031215613f0857600080fd5b6132d482613ed6565b6020808252818101839052600090604080840186845b87811015613fa25763ffffffff613f3d836137f9565b16835267ffffffffffffffff613f548684016138bc565b168584015261ffff613f67858401613a31565b168484015260606fffffffffffffffffffffffffffffffff613f8a828501613ed6565b16908401526080928301929190910190600101613f27565b5090979650505050505050565b60005b83811015613fca578181015183820152602001613fb2565b50506000910152565b60008151808452613feb816020860160208601613faf565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000610140614095838773ffffffffffffffffffffffffffffffffffffffff80825116835263ffffffff6020830151166020840152604082015167ffffffffffffffff808216604086015282606085015116606086015280608085015116608086015250505061ffff60a08201511660a08301525050565b6140d660c08401865467ffffffffffffffff81168252604081811c61ffff16602084015260509190911c6fffffffffffffffffffffffffffffffff16910152565b806101208401526140e981840185613fd3565b9695505050505050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6183360301811261412757600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261416657600080fd5b83018035915067ffffffffffffffff82111561418157600080fd5b602001915036819003821315612a0957600080fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156141d65780818660040360031b1b83161692505b505092915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261421357600080fd5b830160208101925035905067ffffffffffffffff81111561423357600080fd5b803603821315612a0957600080fd5b6040815263ffffffff614254846137f9565b1660408201526000602084013561426a81613710565b73ffffffffffffffffffffffffffffffffffffffff16606083015261429260408501856141de565b60a060808501526142a760e085018284613d78565b915050606085013560a08401526142c160808601866141de565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08584030160c08601526142f6838284613d78565b93505050508260208301529392505050565b8183823760009101908152919050565b8281526040602082015260006134626040830184613fd3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082028115828204841417610a3557610a35614331565b80820180821115610a3557610a35614331565b6000808585111561439a57600080fd5b838611156143a757600080fd5b5050820193919092039150565b7fffffffff000000000000000000000000000000000000000000000000000000008660e01b1681527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008560601b1660048201528360188201528183603883013760009101603801908152949350505050565b600067ffffffffffffffff80831681810361444357614443614331565b6001019392505050565b67ffffffffffffffff82811682821603908082111561446e5761446e614331565b5092915050565b67ffffffffffffffff81811683821601908082111561446e5761446e614331565b600067ffffffffffffffff8216806144b0576144b0614331565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351614510816017850160208801613faf565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161454d816028840160208801613faf565b01602801949350505050565b6020815260006132d46020830184613fd3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000816145aa576145aa614331565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b6000602082840312156145e257600080fd5b81516132d4816137b5565b60008251614127818460208701613faf56fea2646970667358221220b69fbeb30e38ef1b4b202031c8b88e5d5b004563c7ff42713ed413ed4f4901a664736f6c63430008160033",
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": 7425,
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)7420_storage)"
1636
+ },
1637
+ {
1638
+ "astId": 8354,
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": 15827,
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": 15829,
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": 15831,
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": 15833,
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": 15838,
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": 21544,
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": 21546,
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": 21548,
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": 20411,
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)24475_storage)"
1716
+ },
1717
+ {
1718
+ "astId": 20415,
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)7420_storage)": {
1763
+ "encoding": "mapping",
1764
+ "key": "t_bytes32",
1765
+ "label": "mapping(bytes32 => struct AccessControl.RoleData)",
1766
+ "numberOfBytes": "32",
1767
+ "value": "t_struct(RoleData)7420_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)24475_storage)": {
1777
+ "encoding": "mapping",
1778
+ "key": "t_uint32",
1779
+ "label": "mapping(uint32 => struct IDVN.DstConfig)",
1780
+ "numberOfBytes": "32",
1781
+ "value": "t_struct(DstConfig)24475_storage"
1782
+ },
1783
+ "t_struct(DstConfig)24475_storage": {
1784
+ "encoding": "inplace",
1785
+ "label": "struct IDVN.DstConfig",
1786
+ "members": [
1787
+ {
1788
+ "astId": 24470,
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": 24472,
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": 24474,
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)7420_storage": {
1815
+ "encoding": "inplace",
1816
+ "label": "struct AccessControl.RoleData",
1817
+ "members": [
1818
+ {
1819
+ "astId": 7417,
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": 7419,
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
+ }