@layerzerolabs/lz-evm-sdk-v2 2.0.12-tron-rc.2 → 2.0.12

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 (218) hide show
  1. package/artifacts/contracts/EndpointV2.sol/EndpointV2.json +2 -2
  2. package/artifacts/contracts/EndpointV2Alt.sol/EndpointV2Alt.json +2 -2
  3. package/artifacts/contracts/Executor.sol/Executor.json +2 -2
  4. package/artifacts/contracts/ExecutorFeeLib.sol/ExecutorFeeLib.json +2 -2
  5. package/artifacts/contracts/PriceFeed.sol/PriceFeed.json +2 -2
  6. package/artifacts/contracts/Treasury.sol/Treasury.json +2 -2
  7. package/artifacts/contracts/libs/AddressCast.sol/AddressCast.json +2 -2
  8. package/artifacts/contracts/libs/CalldataBytesLib.sol/CalldataBytesLib.json +2 -2
  9. package/artifacts/contracts/libs/Errors.sol/Errors.json +2 -2
  10. package/artifacts/contracts/libs/GUID.sol/GUID.json +2 -2
  11. package/artifacts/contracts/libs/SafeCall.sol/SafeCall.json +2 -2
  12. package/artifacts/contracts/libs/Transfer.sol/Transfer.json +2 -2
  13. package/artifacts/contracts/messagelib/BlockedMessageLib.sol/BlockedMessageLib.json +2 -2
  14. package/artifacts/contracts/messagelib/SimpleMessageLib.sol/SimpleMessageLib.json +2 -2
  15. package/artifacts/contracts/messagelib/libs/BitMaps.sol/BitMaps.json +2 -2
  16. package/artifacts/contracts/messagelib/libs/ExecutorOptions.sol/ExecutorOptions.json +2 -2
  17. package/artifacts/contracts/messagelib/libs/PacketV1Codec.sol/PacketV1Codec.json +2 -2
  18. package/artifacts/contracts/oapp/examples/OmniCounter.sol/MsgCodec.json +2 -2
  19. package/artifacts/contracts/oapp/examples/OmniCounter.sol/OmniCounter.json +2 -2
  20. package/artifacts/contracts/oapp/examples/OmniCounterPreCrime.sol/OmniCounterPreCrime.json +2 -2
  21. package/artifacts/contracts/oapp/libs/OptionsBuilder.sol/OptionsBuilder.json +2 -2
  22. package/artifacts/contracts/oft/OFT.sol/OFT.json +2 -2
  23. package/artifacts/contracts/oft/OFTAdapter.sol/OFTAdapter.json +2 -2
  24. package/artifacts/contracts/oft/libs/OFTComposeMsgCodec.sol/OFTComposeMsgCodec.json +2 -2
  25. package/artifacts/contracts/oft/libs/OFTMsgCodec.sol/OFTMsgCodec.json +2 -2
  26. package/artifacts/contracts/precrime/libs/Packet.sol/PacketDecoder.json +2 -2
  27. package/artifacts/contracts/uln/LzExecutor.sol/LzExecutor.json +5 -5
  28. package/artifacts/contracts/uln/dvn/DVN.sol/DVN.json +2 -2
  29. package/artifacts/contracts/uln/dvn/DVNFeeLib.sol/DVNFeeLib.json +2 -2
  30. package/artifacts/contracts/uln/dvn/adapters/CCIP/CCIPDVNAdapter.sol/CCIPDVNAdapter.json +2 -2
  31. package/artifacts/contracts/uln/dvn/adapters/CCIP/CCIPDVNAdapterFeeLib.sol/CCIPDVNAdapterFeeLib.json +2 -2
  32. package/artifacts/contracts/uln/dvn/adapters/DVNAdapterFeeLibBase.sol/DVNAdapterFeeLibBase.json +2 -2
  33. package/artifacts/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapter.sol/AxelarDVNAdapter.json +2 -2
  34. package/artifacts/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapterFeeLib.sol/AxelarDVNAdapterFeeLib.json +2 -2
  35. package/artifacts/contracts/uln/libs/DVNOptions.sol/DVNOptions.json +2 -2
  36. package/artifacts/contracts/uln/libs/UlnOptions.sol/UlnOptions.json +2 -2
  37. package/artifacts/contracts/uln/uln301/ReceiveUln301.sol/ReceiveUln301.json +2 -2
  38. package/artifacts/contracts/uln/uln301/SendUln301.sol/SendUln301.json +2 -2
  39. package/artifacts/contracts/uln/uln301/TreasuryFeeHandler.sol/TreasuryFeeHandler.json +2 -2
  40. package/artifacts/contracts/uln/uln302/ReceiveUln302.sol/ReceiveUln302.json +2 -2
  41. package/artifacts/contracts/uln/uln302/SendUln302.sol/SendUln302.json +2 -2
  42. package/deployments/{arbitrum-sandbox-local → bera-testnet}/DVN.json +76 -43
  43. package/deployments/{bsc-sandbox-local → bera-testnet}/DVNFeeLib.json +13 -13
  44. package/deployments/{arbitrum-sandbox-local → bera-testnet}/EndpointV2.json +114 -60
  45. package/deployments/{tron-sandbox-local → bera-testnet}/Executor.json +88 -105
  46. package/deployments/{bsc-sandbox-local → bera-testnet}/ExecutorFeeLib.json +13 -13
  47. package/deployments/{bsc-sandbox-local → bera-testnet}/ExecutorProxyAdmin.json +20 -20
  48. package/deployments/{bsc-sandbox-local → bera-testnet}/Executor_Implementation.json +7 -7
  49. package/deployments/{tron-sandbox-local → bera-testnet}/Executor_Proxy.json +79 -94
  50. package/deployments/bera-testnet/LzExecutor.json +332 -0
  51. package/deployments/bera-testnet/PriceFeed.json +35 -35
  52. package/deployments/bera-testnet/PriceFeedProxyAdmin.json +17 -17
  53. package/deployments/bera-testnet/PriceFeed_Implementation.json +6 -6
  54. package/deployments/bera-testnet/PriceFeed_Proxy.json +34 -34
  55. package/deployments/{bsc-sandbox-local → bera-testnet}/ReceiveUln301.json +15 -15
  56. package/deployments/{avalanche-sandbox-local → bera-testnet}/ReceiveUln302.json +18 -18
  57. package/deployments/{arbitrum-sandbox-local → bera-testnet}/SendUln301.json +17 -17
  58. package/deployments/{arbitrum-sandbox-local → bera-testnet}/SendUln302.json +14 -14
  59. package/deployments/{bsc-sandbox-local → bera-testnet}/Treasury.json +13 -13
  60. package/deployments/{avalanche-sandbox-local → bera-testnet}/TreasuryFeeHandler.json +8 -8
  61. package/deployments/ethereum-sandbox-local/BlockedMessageLib.json +90 -0
  62. package/deployments/ethereum-sandbox-local/DVN.json +5 -5
  63. package/deployments/ethereum-sandbox-local/DVNFeeLib.json +2 -2
  64. package/deployments/ethereum-sandbox-local/Endpoint.json +2355 -0
  65. package/deployments/ethereum-sandbox-local/EndpointV2.json +4 -4
  66. package/deployments/ethereum-sandbox-local/Executor.json +14 -14
  67. package/deployments/ethereum-sandbox-local/ExecutorFeeLib.json +2 -2
  68. package/deployments/ethereum-sandbox-local/ExecutorProxyAdmin.json +3 -3
  69. package/deployments/ethereum-sandbox-local/Executor_Implementation.json +1 -1
  70. package/deployments/ethereum-sandbox-local/Executor_Proxy.json +14 -14
  71. package/deployments/ethereum-sandbox-local/MultiSigOracle.json +1448 -0
  72. package/deployments/ethereum-sandbox-local/NonceContract.json +158 -0
  73. package/deployments/ethereum-sandbox-local/NonceContractMock.json +1 -1
  74. package/deployments/ethereum-sandbox-local/OmniCounter.json +1133 -0
  75. package/deployments/ethereum-sandbox-local/OmniCounterPreCrime.json +493 -0
  76. package/deployments/ethereum-sandbox-local/OmniCounterPreCrimeView.json +672 -0
  77. package/deployments/ethereum-sandbox-local/OmniCounterViewer.json +214 -0
  78. package/deployments/ethereum-sandbox-local/OmniCounterWithPreCrime.json +1646 -0
  79. package/deployments/{arbitrum-sandbox-local/Executor.json → ethereum-sandbox-local/Oracle.json} +400 -658
  80. package/deployments/ethereum-sandbox-local/OracleFeeLib.json +166 -0
  81. package/deployments/ethereum-sandbox-local/OracleProxyAdmin.json +272 -0
  82. package/deployments/ethereum-sandbox-local/Oracle_Implementation.json +1326 -0
  83. package/deployments/{bsc-sandbox-local/PriceFeed_Proxy.json → ethereum-sandbox-local/Oracle_Proxy.json} +96 -35
  84. package/deployments/ethereum-sandbox-local/PriceFeed.json +5 -5
  85. package/deployments/ethereum-sandbox-local/PriceFeedProxyAdmin.json +3 -3
  86. package/deployments/ethereum-sandbox-local/PriceFeed_Implementation.json +1 -1
  87. package/deployments/ethereum-sandbox-local/PriceFeed_Proxy.json +5 -5
  88. package/deployments/ethereum-sandbox-local/ReceiveUln301.json +2 -2
  89. package/deployments/ethereum-sandbox-local/ReceiveUln302.json +2 -2
  90. package/deployments/{tron-sandbox-local/PriceFeed.json → ethereum-sandbox-local/Relayer.json} +445 -339
  91. package/deployments/ethereum-sandbox-local/RelayerFeeLib.json +130 -0
  92. package/deployments/ethereum-sandbox-local/RelayerProxyAdmin.json +272 -0
  93. package/deployments/ethereum-sandbox-local/Relayer_Implementation.json +1014 -0
  94. package/deployments/{tron-sandbox-local/PriceFeed_Proxy.json → ethereum-sandbox-local/Relayer_Proxy.json} +64 -33
  95. package/deployments/ethereum-sandbox-local/SendUln301.json +2 -2
  96. package/deployments/ethereum-sandbox-local/SendUln302.json +2 -2
  97. package/deployments/ethereum-sandbox-local/SimpleMessageLib.json +2 -2
  98. package/deployments/ethereum-sandbox-local/Treasury.json +2 -2
  99. package/deployments/ethereum-sandbox-local/TreasuryFeeHandler.json +1 -1
  100. package/deployments/ethereum-sandbox-local/UlnConfig301.json +1003 -0
  101. package/deployments/ethereum-sandbox-local/UlnConfig302.json +1003 -0
  102. package/deployments/ethereum-sandbox-local/UltraLightNodeE302.json +1696 -0
  103. package/deployments/{bsc-sandbox-local → etherlink-testnet}/PriceFeed.json +34 -34
  104. package/deployments/{arbitrum-sandbox-local/ExecutorProxyAdmin.json → etherlink-testnet/PriceFeedProxyAdmin.json} +22 -22
  105. package/deployments/{arbitrum-sandbox-local → etherlink-testnet}/PriceFeed_Implementation.json +9 -9
  106. package/deployments/{avalanche-sandbox-local → etherlink-testnet}/PriceFeed_Proxy.json +32 -32
  107. package/deployments/{avalanche-sandbox-local → etherlink-testnet}/Treasury.json +15 -15
  108. package/deployments/polygon-sandbox-local/BlockedMessageLib.json +90 -0
  109. package/deployments/polygon-sandbox-local/DVN.json +5 -5
  110. package/deployments/polygon-sandbox-local/DVNFeeLib.json +2 -2
  111. package/deployments/polygon-sandbox-local/Endpoint.json +2355 -0
  112. package/deployments/polygon-sandbox-local/EndpointV2.json +4 -4
  113. package/deployments/polygon-sandbox-local/Executor.json +14 -14
  114. package/deployments/polygon-sandbox-local/ExecutorFeeLib.json +2 -2
  115. package/deployments/polygon-sandbox-local/ExecutorProxyAdmin.json +3 -3
  116. package/deployments/polygon-sandbox-local/Executor_Implementation.json +1 -1
  117. package/deployments/polygon-sandbox-local/Executor_Proxy.json +14 -14
  118. package/deployments/polygon-sandbox-local/MultiSigOracle.json +1448 -0
  119. package/deployments/polygon-sandbox-local/NonceContract.json +158 -0
  120. package/deployments/polygon-sandbox-local/NonceContractMock.json +1 -1
  121. package/deployments/polygon-sandbox-local/OmniCounter.json +1133 -0
  122. package/deployments/polygon-sandbox-local/OmniCounterPreCrime.json +493 -0
  123. package/deployments/polygon-sandbox-local/OmniCounterPreCrimeView.json +672 -0
  124. package/deployments/polygon-sandbox-local/OmniCounterViewer.json +214 -0
  125. package/deployments/polygon-sandbox-local/OmniCounterWithPreCrime.json +1646 -0
  126. package/deployments/{bsc-sandbox-local/Executor.json → polygon-sandbox-local/Oracle.json} +400 -658
  127. package/deployments/polygon-sandbox-local/OracleFeeLib.json +166 -0
  128. package/deployments/polygon-sandbox-local/OracleProxyAdmin.json +272 -0
  129. package/deployments/polygon-sandbox-local/Oracle_Implementation.json +1326 -0
  130. package/deployments/polygon-sandbox-local/Oracle_Proxy.json +305 -0
  131. package/deployments/polygon-sandbox-local/PriceFeed.json +5 -5
  132. package/deployments/polygon-sandbox-local/PriceFeedProxyAdmin.json +3 -3
  133. package/deployments/polygon-sandbox-local/PriceFeed_Implementation.json +1 -1
  134. package/deployments/polygon-sandbox-local/PriceFeed_Proxy.json +5 -5
  135. package/deployments/polygon-sandbox-local/ReceiveUln301.json +2 -2
  136. package/deployments/polygon-sandbox-local/ReceiveUln302.json +2 -2
  137. package/deployments/{arbitrum-sandbox-local/PriceFeed.json → polygon-sandbox-local/Relayer.json} +445 -339
  138. package/deployments/polygon-sandbox-local/RelayerFeeLib.json +130 -0
  139. package/deployments/polygon-sandbox-local/RelayerProxyAdmin.json +272 -0
  140. package/deployments/polygon-sandbox-local/Relayer_Implementation.json +1014 -0
  141. package/deployments/{arbitrum-sandbox-local/PriceFeed_Proxy.json → polygon-sandbox-local/Relayer_Proxy.json} +64 -33
  142. package/deployments/polygon-sandbox-local/SendUln301.json +2 -2
  143. package/deployments/polygon-sandbox-local/SendUln302.json +2 -2
  144. package/deployments/polygon-sandbox-local/SimpleMessageLib.json +2 -2
  145. package/deployments/polygon-sandbox-local/Treasury.json +2 -2
  146. package/deployments/polygon-sandbox-local/TreasuryFeeHandler.json +1 -1
  147. package/deployments/polygon-sandbox-local/UlnConfig301.json +1003 -0
  148. package/deployments/polygon-sandbox-local/UlnConfig302.json +1003 -0
  149. package/deployments/polygon-sandbox-local/UltraLightNodeE302.json +1696 -0
  150. package/dist/{index-cijKSBLK.d.cts → index-pO8kCANF.d.mts} +41 -41
  151. package/dist/{index-cijKSBLK.d.ts → index-pO8kCANF.d.ts} +41 -41
  152. package/dist/index.browser.cjs +34 -34
  153. package/dist/index.browser.cjs.map +1 -1
  154. package/dist/{index.browser.d.cts → index.browser.d.mts} +1 -1
  155. package/dist/index.browser.d.ts +1 -1
  156. package/dist/index.browser.mjs +34 -34
  157. package/dist/index.browser.mjs.map +1 -1
  158. package/dist/index.cjs +34 -34
  159. package/dist/index.cjs.map +1 -1
  160. package/dist/{index.d.cts → index.d.mts} +1 -1
  161. package/dist/index.d.ts +1 -1
  162. package/dist/index.mjs +34 -34
  163. package/dist/index.mjs.map +1 -1
  164. package/package.json +15 -14
  165. package/deployments/arbitrum-sandbox-local/DVNFeeLib.json +0 -387
  166. package/deployments/arbitrum-sandbox-local/ExecutorFeeLib.json +0 -407
  167. package/deployments/arbitrum-sandbox-local/Executor_Implementation.json +0 -1591
  168. package/deployments/arbitrum-sandbox-local/Executor_Proxy.json +0 -380
  169. package/deployments/arbitrum-sandbox-local/NonceContractMock.json +0 -163
  170. package/deployments/arbitrum-sandbox-local/PriceFeedProxyAdmin.json +0 -283
  171. package/deployments/arbitrum-sandbox-local/ReceiveUln301.json +0 -1264
  172. package/deployments/arbitrum-sandbox-local/ReceiveUln302.json +0 -954
  173. package/deployments/arbitrum-sandbox-local/SimpleMessageLib.json +0 -708
  174. package/deployments/arbitrum-sandbox-local/Treasury.json +0 -412
  175. package/deployments/arbitrum-sandbox-local/TreasuryFeeHandler.json +0 -125
  176. package/deployments/avalanche-sandbox-local/DVN.json +0 -1896
  177. package/deployments/avalanche-sandbox-local/DVNFeeLib.json +0 -387
  178. package/deployments/avalanche-sandbox-local/EndpointV2.json +0 -2955
  179. package/deployments/avalanche-sandbox-local/Executor.json +0 -1549
  180. package/deployments/avalanche-sandbox-local/ExecutorFeeLib.json +0 -407
  181. package/deployments/avalanche-sandbox-local/ExecutorProxyAdmin.json +0 -283
  182. package/deployments/avalanche-sandbox-local/Executor_Implementation.json +0 -1591
  183. package/deployments/avalanche-sandbox-local/Executor_Proxy.json +0 -380
  184. package/deployments/avalanche-sandbox-local/NonceContractMock.json +0 -163
  185. package/deployments/avalanche-sandbox-local/PriceFeed.json +0 -890
  186. package/deployments/avalanche-sandbox-local/PriceFeedProxyAdmin.json +0 -283
  187. package/deployments/avalanche-sandbox-local/PriceFeed_Implementation.json +0 -912
  188. package/deployments/avalanche-sandbox-local/ReceiveUln301.json +0 -1264
  189. package/deployments/avalanche-sandbox-local/SendUln301.json +0 -1569
  190. package/deployments/avalanche-sandbox-local/SendUln302.json +0 -1527
  191. package/deployments/avalanche-sandbox-local/SimpleMessageLib.json +0 -708
  192. package/deployments/bsc-sandbox-local/DVN.json +0 -1896
  193. package/deployments/bsc-sandbox-local/EndpointV2.json +0 -2955
  194. package/deployments/bsc-sandbox-local/Executor_Proxy.json +0 -380
  195. package/deployments/bsc-sandbox-local/NonceContractMock.json +0 -163
  196. package/deployments/bsc-sandbox-local/PriceFeedProxyAdmin.json +0 -283
  197. package/deployments/bsc-sandbox-local/PriceFeed_Implementation.json +0 -912
  198. package/deployments/bsc-sandbox-local/ReceiveUln302.json +0 -954
  199. package/deployments/bsc-sandbox-local/SendUln301.json +0 -1569
  200. package/deployments/bsc-sandbox-local/SendUln302.json +0 -1527
  201. package/deployments/bsc-sandbox-local/SimpleMessageLib.json +0 -708
  202. package/deployments/bsc-sandbox-local/TreasuryFeeHandler.json +0 -125
  203. package/deployments/tron-sandbox-local/DVN.json +0 -1896
  204. package/deployments/tron-sandbox-local/DVNFeeLib.json +0 -387
  205. package/deployments/tron-sandbox-local/EndpointV2.json +0 -2955
  206. package/deployments/tron-sandbox-local/ExecutorFeeLib.json +0 -407
  207. package/deployments/tron-sandbox-local/ExecutorProxyAdmin.json +0 -283
  208. package/deployments/tron-sandbox-local/Executor_Implementation.json +0 -1591
  209. package/deployments/tron-sandbox-local/NonceContractMock.json +0 -163
  210. package/deployments/tron-sandbox-local/PriceFeedProxyAdmin.json +0 -283
  211. package/deployments/tron-sandbox-local/PriceFeed_Implementation.json +0 -912
  212. package/deployments/tron-sandbox-local/ReceiveUln301.json +0 -1264
  213. package/deployments/tron-sandbox-local/ReceiveUln302.json +0 -954
  214. package/deployments/tron-sandbox-local/SendUln301.json +0 -1569
  215. package/deployments/tron-sandbox-local/SendUln302.json +0 -1527
  216. package/deployments/tron-sandbox-local/SimpleMessageLib.json +0 -708
  217. package/deployments/tron-sandbox-local/Treasury.json +0 -412
  218. package/deployments/tron-sandbox-local/TreasuryFeeHandler.json +0 -125
@@ -0,0 +1,493 @@
1
+ {
2
+ "address": "0x76ca03a67C049477FfB09694dFeF00416dB69746",
3
+ "abi": [
4
+ {
5
+ "inputs": [
6
+ {
7
+ "internalType": "address",
8
+ "name": "_endpoint",
9
+ "type": "address"
10
+ },
11
+ {
12
+ "internalType": "address",
13
+ "name": "_counter",
14
+ "type": "address"
15
+ }
16
+ ],
17
+ "stateMutability": "nonpayable",
18
+ "type": "constructor"
19
+ },
20
+ {
21
+ "inputs": [
22
+ {
23
+ "internalType": "bytes",
24
+ "name": "crime",
25
+ "type": "bytes"
26
+ }
27
+ ],
28
+ "name": "CrimeFound",
29
+ "type": "error"
30
+ },
31
+ {
32
+ "inputs": [
33
+ {
34
+ "internalType": "uint32",
35
+ "name": "eid",
36
+ "type": "uint32"
37
+ },
38
+ {
39
+ "internalType": "bytes",
40
+ "name": "reason",
41
+ "type": "bytes"
42
+ }
43
+ ],
44
+ "name": "InvalidSimulationResult",
45
+ "type": "error"
46
+ },
47
+ {
48
+ "inputs": [],
49
+ "name": "OnlyOffChain",
50
+ "type": "error"
51
+ },
52
+ {
53
+ "inputs": [
54
+ {
55
+ "internalType": "uint256",
56
+ "name": "max",
57
+ "type": "uint256"
58
+ },
59
+ {
60
+ "internalType": "uint256",
61
+ "name": "actual",
62
+ "type": "uint256"
63
+ }
64
+ ],
65
+ "name": "PacketOversize",
66
+ "type": "error"
67
+ },
68
+ {
69
+ "inputs": [],
70
+ "name": "PacketUnsorted",
71
+ "type": "error"
72
+ },
73
+ {
74
+ "inputs": [
75
+ {
76
+ "internalType": "bytes",
77
+ "name": "reason",
78
+ "type": "bytes"
79
+ }
80
+ ],
81
+ "name": "SimulationFailed",
82
+ "type": "error"
83
+ },
84
+ {
85
+ "inputs": [
86
+ {
87
+ "internalType": "uint32",
88
+ "name": "eid",
89
+ "type": "uint32"
90
+ }
91
+ ],
92
+ "name": "SimulationResultNotFound",
93
+ "type": "error"
94
+ },
95
+ {
96
+ "anonymous": false,
97
+ "inputs": [
98
+ {
99
+ "indexed": true,
100
+ "internalType": "address",
101
+ "name": "previousOwner",
102
+ "type": "address"
103
+ },
104
+ {
105
+ "indexed": true,
106
+ "internalType": "address",
107
+ "name": "newOwner",
108
+ "type": "address"
109
+ }
110
+ ],
111
+ "name": "OwnershipTransferred",
112
+ "type": "event"
113
+ },
114
+ {
115
+ "inputs": [],
116
+ "name": "buildSimulationResult",
117
+ "outputs": [
118
+ {
119
+ "internalType": "bytes",
120
+ "name": "",
121
+ "type": "bytes"
122
+ }
123
+ ],
124
+ "stateMutability": "view",
125
+ "type": "function"
126
+ },
127
+ {
128
+ "inputs": [
129
+ {
130
+ "internalType": "bytes[]",
131
+ "name": "_packets",
132
+ "type": "bytes[]"
133
+ }
134
+ ],
135
+ "name": "getConfig",
136
+ "outputs": [
137
+ {
138
+ "internalType": "bytes",
139
+ "name": "",
140
+ "type": "bytes"
141
+ }
142
+ ],
143
+ "stateMutability": "nonpayable",
144
+ "type": "function"
145
+ },
146
+ {
147
+ "inputs": [],
148
+ "name": "getPreCrimePeers",
149
+ "outputs": [
150
+ {
151
+ "components": [
152
+ {
153
+ "internalType": "uint32",
154
+ "name": "eid",
155
+ "type": "uint32"
156
+ },
157
+ {
158
+ "internalType": "bytes32",
159
+ "name": "precrime",
160
+ "type": "bytes32"
161
+ },
162
+ {
163
+ "internalType": "bytes32",
164
+ "name": "oapp",
165
+ "type": "bytes32"
166
+ }
167
+ ],
168
+ "internalType": "struct PreCrimePeer[]",
169
+ "name": "",
170
+ "type": "tuple[]"
171
+ }
172
+ ],
173
+ "stateMutability": "view",
174
+ "type": "function"
175
+ },
176
+ {
177
+ "inputs": [],
178
+ "name": "maxBatchSize",
179
+ "outputs": [
180
+ {
181
+ "internalType": "uint64",
182
+ "name": "",
183
+ "type": "uint64"
184
+ }
185
+ ],
186
+ "stateMutability": "view",
187
+ "type": "function"
188
+ },
189
+ {
190
+ "inputs": [],
191
+ "name": "oapp",
192
+ "outputs": [
193
+ {
194
+ "internalType": "address",
195
+ "name": "",
196
+ "type": "address"
197
+ }
198
+ ],
199
+ "stateMutability": "view",
200
+ "type": "function"
201
+ },
202
+ {
203
+ "inputs": [],
204
+ "name": "owner",
205
+ "outputs": [
206
+ {
207
+ "internalType": "address",
208
+ "name": "",
209
+ "type": "address"
210
+ }
211
+ ],
212
+ "stateMutability": "view",
213
+ "type": "function"
214
+ },
215
+ {
216
+ "inputs": [
217
+ {
218
+ "internalType": "bytes[]",
219
+ "name": "_packets",
220
+ "type": "bytes[]"
221
+ },
222
+ {
223
+ "internalType": "bytes[]",
224
+ "name": "_simulations",
225
+ "type": "bytes[]"
226
+ }
227
+ ],
228
+ "name": "precrime",
229
+ "outputs": [],
230
+ "stateMutability": "nonpayable",
231
+ "type": "function"
232
+ },
233
+ {
234
+ "inputs": [],
235
+ "name": "renounceOwnership",
236
+ "outputs": [],
237
+ "stateMutability": "nonpayable",
238
+ "type": "function"
239
+ },
240
+ {
241
+ "inputs": [
242
+ {
243
+ "internalType": "uint64",
244
+ "name": "_maxBatchSize",
245
+ "type": "uint64"
246
+ }
247
+ ],
248
+ "name": "setMaxBatchSize",
249
+ "outputs": [],
250
+ "stateMutability": "nonpayable",
251
+ "type": "function"
252
+ },
253
+ {
254
+ "inputs": [
255
+ {
256
+ "components": [
257
+ {
258
+ "internalType": "uint32",
259
+ "name": "eid",
260
+ "type": "uint32"
261
+ },
262
+ {
263
+ "internalType": "bytes32",
264
+ "name": "precrime",
265
+ "type": "bytes32"
266
+ },
267
+ {
268
+ "internalType": "bytes32",
269
+ "name": "oapp",
270
+ "type": "bytes32"
271
+ }
272
+ ],
273
+ "internalType": "struct PreCrimePeer[]",
274
+ "name": "_precrimePeers",
275
+ "type": "tuple[]"
276
+ }
277
+ ],
278
+ "name": "setPreCrimePeers",
279
+ "outputs": [],
280
+ "stateMutability": "nonpayable",
281
+ "type": "function"
282
+ },
283
+ {
284
+ "inputs": [
285
+ {
286
+ "internalType": "bytes[]",
287
+ "name": "_packets",
288
+ "type": "bytes[]"
289
+ }
290
+ ],
291
+ "name": "simulate",
292
+ "outputs": [
293
+ {
294
+ "internalType": "bytes",
295
+ "name": "",
296
+ "type": "bytes"
297
+ }
298
+ ],
299
+ "stateMutability": "payable",
300
+ "type": "function"
301
+ },
302
+ {
303
+ "inputs": [],
304
+ "name": "simulator",
305
+ "outputs": [
306
+ {
307
+ "internalType": "address",
308
+ "name": "",
309
+ "type": "address"
310
+ }
311
+ ],
312
+ "stateMutability": "view",
313
+ "type": "function"
314
+ },
315
+ {
316
+ "inputs": [
317
+ {
318
+ "internalType": "address",
319
+ "name": "newOwner",
320
+ "type": "address"
321
+ }
322
+ ],
323
+ "name": "transferOwnership",
324
+ "outputs": [],
325
+ "stateMutability": "nonpayable",
326
+ "type": "function"
327
+ },
328
+ {
329
+ "inputs": [],
330
+ "name": "version",
331
+ "outputs": [
332
+ {
333
+ "internalType": "uint64",
334
+ "name": "major",
335
+ "type": "uint64"
336
+ },
337
+ {
338
+ "internalType": "uint8",
339
+ "name": "minor",
340
+ "type": "uint8"
341
+ }
342
+ ],
343
+ "stateMutability": "pure",
344
+ "type": "function"
345
+ }
346
+ ],
347
+ "transactionHash": "0x28a444b07866de0550ae2a8bb97224e9922ded8949576eb524f448a52a34c34f",
348
+ "receipt": {
349
+ "to": null,
350
+ "from": "0x14dC79964da2C08b23698B3D3cc7Ca32193d9955",
351
+ "contractAddress": "0x76ca03a67C049477FfB09694dFeF00416dB69746",
352
+ "transactionIndex": 0,
353
+ "gasUsed": "2399875",
354
+ "logsBloom": "0x00000000400000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000400000000000000000000000000020000000000000000000800000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000002000000000000000400000000000000000000000000000000000000000000000040000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000",
355
+ "blockHash": "0x75b223fafdb0a28f73aebd76d8b074cd7810c611472f57c48207b94385a4a94a",
356
+ "transactionHash": "0x28a444b07866de0550ae2a8bb97224e9922ded8949576eb524f448a52a34c34f",
357
+ "logs": [
358
+ {
359
+ "transactionIndex": 0,
360
+ "blockNumber": 203,
361
+ "transactionHash": "0x28a444b07866de0550ae2a8bb97224e9922ded8949576eb524f448a52a34c34f",
362
+ "address": "0x76ca03a67C049477FfB09694dFeF00416dB69746",
363
+ "topics": [
364
+ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0",
365
+ "0x0000000000000000000000000000000000000000000000000000000000000000",
366
+ "0x00000000000000000000000014dc79964da2c08b23698b3d3cc7ca32193d9955"
367
+ ],
368
+ "data": "0x",
369
+ "logIndex": 0,
370
+ "blockHash": "0x75b223fafdb0a28f73aebd76d8b074cd7810c611472f57c48207b94385a4a94a"
371
+ }
372
+ ],
373
+ "blockNumber": 203,
374
+ "cumulativeGasUsed": "2399875",
375
+ "status": 1,
376
+ "byzantium": true
377
+ },
378
+ "args": [
379
+ "0xC6bA8C3233eCF65B761049ef63466945c362EdD2",
380
+ "0x39dD11C243Ac4Ac250980FA3AEa016f73C509f37"
381
+ ],
382
+ "numDeployments": 1,
383
+ "solcInputHash": "f65c0d0c247b898d600b992b7f0b15da",
384
+ "bytecode": "0x60e06040523480156200001157600080fd5b5060405162002c0538038062002c0583398101604081905262000034916200013c565b81816200004133620000cf565b6001600160a01b03808316608052811660a08190526040805163012639f160e31b81529051630931cf88916004808201926020929091908290030181865afa15801562000092573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000b8919062000174565b6001600160a01b031660c052506200019992505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146200013757600080fd5b919050565b600080604083850312156200015057600080fd5b6200015b836200011f565b91506200016b602084016200011f565b90509250929050565b6000602082840312156200018757600080fd5b62000192826200011f565b9392505050565b60805160a05160c051612a1a620001eb6000396000818160f401526118e901526000818161029f0152818161058f01528181610e8f0152610fdb0152600081816119270152611abe0152612a1a6000f3fe6080604052600436106100dd5760003560e01c80638e9e70991161007f578063bf7b5d7a11610059578063bf7b5d7a1461028d578063e01b6974146102c1578063f2fde38b146102e1578063f8bcddf61461030157600080fd5b80638e9e709914610236578063afea44ef1461024b578063b9a1f5e71461026b57600080fd5b806354fd4d50116100bb57806354fd4d50146101b2578063715018a6146101d457806374e6729e146101eb5780638da5cb5b1461020b57600080fd5b80630931cf88146100e25780632913daa0146101405780633ed242b414610192575b600080fd5b3480156100ee57600080fd5b506101167f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561014c57600080fd5b506000546101799074010000000000000000000000000000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610137565b6101a56101a0366004611fb5565b610321565b6040516101379190612065565b3480156101be57600080fd5b5060408051600281526000602082015201610137565b3480156101e057600080fd5b506101e9610388565b005b3480156101f757600080fd5b506101e9610206366004612078565b61039c565b34801561021757600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff16610116565b34801561024257600080fd5b506101a5610587565b34801561025757600080fd5b506101e96102663660046120fa565b610803565b34801561027757600080fd5b5061028061085e565b6040516101379190612117565b34801561029957600080fd5b506101167f000000000000000000000000000000000000000000000000000000000000000081565b3480156102cd57600080fd5b506101a56102dc366004611fb5565b6108dd565b3480156102ed57600080fd5b506101e96102fc366004612176565b610b2e565b34801561030d57600080fd5b506101e961031c3660046121ac565b610bea565b60603361dead1461035e576040517f9cbfe06600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061036a8484610c63565b905061037581610d88565b61037e81610fd4565b9150505b92915050565b61039061113b565b61039a60006111bc565b565b3361dead146103d7576040517f9cbfe06600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006103e38585610c63565b905060008267ffffffffffffffff81111561040057610400612221565b604051908082528060200260200182016040528015610429578160200160208202803683370190505b50905060008367ffffffffffffffff81111561044757610447612221565b60405190808252806020026020018201604052801561047a57816020015b60608152602001906001900390816104655790505b50905060005b848110156105685736600087878481811061049d5761049d612250565b90506020028101906104af919061227f565b90925090506104c26004600083856122e4565b6104cb9161230e565b60e01c8584815181106104e0576104e0612250565b63ffffffff9092166020928302919091019091015261050281600481856122e4565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250508651879250869150811061054a5761054a612250565b602002602001018190525050508061056190612385565b9050610480565b506105738383611231565b61057e838383611325565b50505050505050565b6001546060907f000000000000000000000000000000000000000000000000000000000000000090819060009067ffffffffffffffff8111156105cc576105cc612221565b60405190808252806020026020018201604052801561062757816020015b6106146040518060600160405280600063ffffffff16815260200160008152602001600081525090565b8152602001906001900390816105ea5790505b50905060005b6001548110156107da5760006001828154811061064c5761064c612250565b600091825260209182902060039190910201546040805160608101825263ffffffff90921680835290517f56a4728900000000000000000000000000000000000000000000000000000000815260048101829052909350909182019073ffffffffffffffffffffffffffffffffffffffff8716906356a4728990602401602060405180830381865afa1580156106e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070a91906123bd565b81526040517f622f17f600000000000000000000000000000000000000000000000000000000815263ffffffff8416600482015260209091019073ffffffffffffffffffffffffffffffffffffffff87169063622f17f690602401602060405180830381865afa158015610782573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a691906123bd565b8152508383815181106107bb576107bb612250565b60200260200101819052505080806107d290612385565b91505061062d565b50806040516020016107ec9190612117565b604051602081830303815290604052935050505090565b61080b61113b565b6000805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60606001805480602002602001604051908101604052809291908181526020016000905b828210156108d45760008481526020908190206040805160608101825260038602909201805463ffffffff16835260018082015484860152600290910154918301919091529083529092019101610882565b50505050905090565b60603361dead1461091a576040517f9cbfe06600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080546040517e0200000000000000000000000000000000000000000000000000000000000060208201527401000000000000000000000000000000000000000090910460c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166022820152602a01604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529050600083156109db576109d66109d18686610c63565b6114b4565b610a54565b6001805480602002602001604051908101604052809291908181526020016000905b82821015610a4f5760008481526020908190206040805160608101825260038602909201805463ffffffff168352600180820154848601526002909101549183019190915290835290920191016109fd565b505050505b805190915015610b26578051604051610a7390849083906020016123d6565b604051602081830303815290604052925060005b8161ffff16811015610b235783838281518110610aa657610aa6612250565b602002602001015160000151848381518110610ac457610ac4612250565b602002602001015160200151858481518110610ae257610ae2612250565b602002602001015160400151604051602001610b019493929190612420565b604051602081830303815290604052935080610b1c90612385565b9050610a87565b50505b509392505050565b610b3661113b565b73ffffffffffffffffffffffffffffffffffffffff8116610bde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610be7816111bc565b50565b610bf261113b565b610bfe60016000611f0b565b60005b81811015610c5e576001838383818110610c1d57610c1d612250565b835460018101855560009485526020909420606090910292909201926003029091019050610c4b8282612489565b505080610c5790612385565b9050610c01565b505050565b60608167ffffffffffffffff811115610c7e57610c7e612221565b604051908082528060200260200182016040528015610d0c57816020015b6040805161010081018252600060a0820181815260c0830182905260e0830182905282526020808301829052928201819052606080830191909152608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610c9c5790505b50905060005b82811015610d8157366000858584818110610d2f57610d2f612250565b9050602002810190610d41919061227f565b91509150610d4f8282611791565b848481518110610d6157610d61612250565b602002602001018190525050508080610d7990612385565b915050610d12565b5092915050565b60005481517401000000000000000000000000000000000000000090910467ffffffffffffffff161015610e165760005481516040517f9db086050000000000000000000000000000000000000000000000000000000081527401000000000000000000000000000000000000000090920467ffffffffffffffff1660048301526024820152604401610bd5565b805115610be75760008080805b8451811015610fcd576000858281518110610e4057610e40612250565b602090810291909101810151805180519201516040517f5a0dfe4d00000000000000000000000000000000000000000000000000000000815263ffffffff9093166004840152602483015291507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690635a0dfe4d90604401602060405180830381865afa158015610eeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0f91906124db565b610f195750610fbb565b80515163ffffffff8681169116141580610f3857508051602001518414155b15610f5957805180516020909101519095509350610f5685856118ac565b92505b610f62836124fd565b92508267ffffffffffffffff1681600001516040015167ffffffffffffffff1614610fb9576040517f50823c8500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b80610fc581612385565b915050610e23565b5050505050565b60606000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1634635011e5b360e01b8660405160240161102a9190612524565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516110b39190612620565b60006040518083038185875af1925050503d80600081146110f0576040519150601f19603f3d011682016040523d82523d6000602084013e6110f5565b606091505b50915091506000611106838361199b565b9050611110611aba565b8160405160200161112292919061263c565b6040516020818303038152906040529350505050919050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461039a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610bd5565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b8151156112d1576000611243836114b4565b905060005b81518110156112ce57600082828151811061126557611265612250565b602002602001015160000151905061127d8482611b50565b6112bb576040517f01992f2a00000000000000000000000000000000000000000000000000000000815263ffffffff82166004820152602401610bd5565b50806112c681612385565b915050611248565b50505b60006112db611aba565b90506112e78282611b50565b610c5e576040517f01992f2a00000000000000000000000000000000000000000000000000000000815263ffffffff82166004820152602401610bd5565b600061132f611aba565b9050606060005b84518110156113b1578263ffffffff1685828151811061135857611358612250565b602002602001015163ffffffff160361139f5783818151811061137d5761137d612250565b602002602001015180602001905181019061139891906126ff565b91506113b1565b806113a981612385565b915050611336565b5060005b84518110156114ac5760008582815181106113d2576113d2612250565b6020026020010151905060008583815181106113f0576113f0612250565b602002602001015180602001905181019061140b91906126ff565b905060006114198584611baf565b50905060006114288388611baf565b91505080821115611495576040517f1915975700000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f696e626f756e64436f756e74203e206f7574626f756e64436f756e74000000006044820152606401610bd5565b5050505080806114a490612385565b9150506113b5565b505050505050565b606060006001805480602002602001604051908101604052809291908181526020016000905b8282101561152c5760008481526020908190206040805160608101825260038602909201805463ffffffff168352600180820154848601526002909101549183019190915290835290920191016114da565b5050505090506000835167ffffffffffffffff81111561154e5761154e612221565b6040519080825280602002602001820160405280156115b757816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161156c5790505b5090507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60005b85518110156116945760008682815181106115fb576115fb612250565b60200260200101516000015160000151905060006116198683611c56565b905060008112158015611635575060006116338684611c56565b125b1561167f5783611644816127dc565b94505085818151811061165957611659612250565b602002602001015185858151811061167357611673612250565b60200260200101819052505b5050808061168c90612385565b9150506115de565b50600081126117895760006116aa82600161280d565b90508067ffffffffffffffff8111156116c5576116c5612221565b60405190808252806020026020018201604052801561172e57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816116e35790505b50945060005b818110156117865783818151811061174e5761174e612250565b602002602001015186828151811061176857611768612250565b6020026020010181905250808061177e90612385565b915050611734565b50505b505050919050565b6040805161010081018252600060a0820181815260c0830182905260e08301829052825260208201819052918101829052606080820192909252608081019190915260405180606001604052806117e88585611cd5565b63ffffffff1681526020016117fd8585611cf8565b815260200161180c8585611d11565b67ffffffffffffffff16905281526118248383611d34565b63ffffffff1660208201526118398383611d44565b73ffffffffffffffffffffffffffffffffffffffff16604082015261185e8383611d56565b606082015261186d8383611d66565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050608082015292915050565b6040517fa0dd43fc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008116600483015263ffffffff84166024830152604482018390526000917f00000000000000000000000000000000000000000000000000000000000000009091169063a0dd43fc90606401602060405180830381865afa158015611970573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119949190612820565b9392505050565b60608215611a05576040517f614cbd8a00000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6e6f2072657665727400000000000000000000000000000000000000000000006044820152606401610bd5565b7f8351eea700000000000000000000000000000000000000000000000000000000611a2f8361283d565b7fffffffff000000000000000000000000000000000000000000000000000000001614611a8a57816040517f614cbd8a000000000000000000000000000000000000000000000000000000008152600401610bd59190612065565b611aa46004808451611a9c9190612889565b849190611d81565b905080806020019051810190611994919061289c565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663416ecebf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b4b9190612945565b905090565b6000805b8351811015611ba5578263ffffffff16848281518110611b7657611b76612250565b602002602001015163ffffffff1603611b93576001915050610382565b80611b9d81612385565b915050611b54565b5060009392505050565b60008060005b8451811015611c46578363ffffffff16858281518110611bd757611bd7612250565b60200260200101516000015163ffffffff1603611c3457848181518110611c0057611c00612250565b602002602001015160200151858281518110611c1e57611c1e612250565b6020026020010151604001519250925050611c4f565b80611c3e81612385565b915050611bb5565b50600080915091505b9250929050565b6000805b8351811015611cac578263ffffffff16848281518110611c7c57611c7c612250565b60200260200101516000015163ffffffff1603611c9a579050610382565b80611ca481612385565b915050611c5a565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9392505050565b6000611ce5600d600984866122e4565b611cee9161230e565b60e01c9392505050565b6000611d08602d600d84866122e4565b61199491612962565b6000611d216009600184866122e4565b611d2a9161299e565b60c01c9392505050565b6000611ce56031602d84866122e4565b6000611994611d538484611efb565b90565b6000611d086071605184866122e4565b366000611d7683607181876122e4565b915091509250929050565b606081611d8f81601f61280d565b1015611df7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610bd5565b611e01828461280d565b84511015611e6b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f736c6963655f6f75744f66426f756e64730000000000000000000000000000006044820152606401610bd5565b606082158015611e8a5760405191506000825260208201604052611ef2565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015611ec3578051835260209283019201611eab565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b6000611d086051603184866122e4565b5080546000825560030290600052602060002090810190610be791905b80821115611f6c5780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001681556000600182018190556002820155600301611f28565b5090565b60008083601f840112611f8257600080fd5b50813567ffffffffffffffff811115611f9a57600080fd5b6020830191508360208260051b8501011115611c4f57600080fd5b60008060208385031215611fc857600080fd5b823567ffffffffffffffff811115611fdf57600080fd5b611feb85828601611f70565b90969095509350505050565b60005b83811015612012578181015183820152602001611ffa565b50506000910152565b60008151808452612033816020860160208601611ff7565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611994602083018461201b565b6000806000806040858703121561208e57600080fd5b843567ffffffffffffffff808211156120a657600080fd5b6120b288838901611f70565b909650945060208701359150808211156120cb57600080fd5b506120d887828801611f70565b95989497509550505050565b67ffffffffffffffff81168114610be757600080fd5b60006020828403121561210c57600080fd5b8135611994816120e4565b602080825282518282018190526000919060409081850190868401855b82811015612169578151805163ffffffff16855286810151878601528501518585015260609093019290850190600101612134565b5091979650505050505050565b60006020828403121561218857600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461199457600080fd5b600080602083850312156121bf57600080fd5b823567ffffffffffffffff808211156121d757600080fd5b818501915085601f8301126121eb57600080fd5b8135818111156121fa57600080fd5b86602060608302850101111561220f57600080fd5b60209290920196919550909350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126122b457600080fd5b83018035915067ffffffffffffffff8211156122cf57600080fd5b602001915036819003821315611c4f57600080fd5b600080858511156122f457600080fd5b8386111561230157600080fd5b5050820193919092039150565b7fffffffff00000000000000000000000000000000000000000000000000000000813581811691600485101561234e5780818660040360031b1b83161692505b505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036123b6576123b6612356565b5060010190565b6000602082840312156123cf57600080fd5b5051919050565b600083516123e8818460208801611ff7565b60f09390931b7fffff000000000000000000000000000000000000000000000000000000000000169190920190815260020192915050565b60008551612432818460208a01611ff7565b60e09590951b7fffffffff0000000000000000000000000000000000000000000000000000000016919094019081526004810192909252602482015260440192915050565b63ffffffff81168114610be757600080fd5b813561249481612477565b63ffffffff81167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000008354161782555060208201356001820155604082013560028201555050565b6000602082840312156124ed57600080fd5b8151801515811461199457600080fd5b600067ffffffffffffffff80831681810361251a5761251a612356565b6001019392505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015612612578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001855281518051805163ffffffff9081168652898201518a8701529088015167ffffffffffffffff168886015288820151166060808601919091528782015160e0916080906125dd8289018473ffffffffffffffffffffffffffffffffffffffff169052565b84015160a08801529092015160c0860182905291506125fe8186018361201b565b96890196945050509086019060010161254b565b509098975050505050505050565b60008251612632818460208701611ff7565b9190910192915050565b7fffffffff000000000000000000000000000000000000000000000000000000008360e01b16815260008251612679816004850160208701611ff7565b919091016004019392505050565b6040516060810167ffffffffffffffff811182821017156126aa576126aa612221565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156126f7576126f7612221565b604052919050565b6000602080838503121561271257600080fd5b825167ffffffffffffffff8082111561272a57600080fd5b818501915085601f83011261273e57600080fd5b81518181111561275057612750612221565b61275e848260051b016126b0565b8181528481019250606091820284018501918883111561277d57600080fd5b938501935b828510156127d05780858a03121561279a5760008081fd5b6127a2612687565b85516127ad81612477565b815285870151878201526040808701519082015284529384019392850192612782565b50979650505050505050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036123b6576123b6612356565b8082018082111561038257610382612356565b60006020828403121561283257600080fd5b8151611994816120e4565b6000815160208301517fffffffff00000000000000000000000000000000000000000000000000000000808216935060048310156117895760049290920360031b82901b161692915050565b8181038181111561038257610382612356565b6000602082840312156128ae57600080fd5b815167ffffffffffffffff808211156128c657600080fd5b818401915084601f8301126128da57600080fd5b8151818111156128ec576128ec612221565b61291d60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016126b0565b915080825285602082850101111561293457600080fd5b611ef2816020840160208601611ff7565b60006020828403121561295757600080fd5b815161199481612477565b80356020831015610382577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffff000000000000000000000000000000000000000000000000813581811691600885101561234e5760089490940360031b84901b169092169291505056fea2646970667358221220ec1632188d421f5383cd09aff60c23500f5eff926970ef6858a4f35699e2c61364736f6c63430008130033",
385
+ "deployedBytecode": "0x6080604052600436106100dd5760003560e01c80638e9e70991161007f578063bf7b5d7a11610059578063bf7b5d7a1461028d578063e01b6974146102c1578063f2fde38b146102e1578063f8bcddf61461030157600080fd5b80638e9e709914610236578063afea44ef1461024b578063b9a1f5e71461026b57600080fd5b806354fd4d50116100bb57806354fd4d50146101b2578063715018a6146101d457806374e6729e146101eb5780638da5cb5b1461020b57600080fd5b80630931cf88146100e25780632913daa0146101405780633ed242b414610192575b600080fd5b3480156100ee57600080fd5b506101167f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561014c57600080fd5b506000546101799074010000000000000000000000000000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610137565b6101a56101a0366004611fb5565b610321565b6040516101379190612065565b3480156101be57600080fd5b5060408051600281526000602082015201610137565b3480156101e057600080fd5b506101e9610388565b005b3480156101f757600080fd5b506101e9610206366004612078565b61039c565b34801561021757600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff16610116565b34801561024257600080fd5b506101a5610587565b34801561025757600080fd5b506101e96102663660046120fa565b610803565b34801561027757600080fd5b5061028061085e565b6040516101379190612117565b34801561029957600080fd5b506101167f000000000000000000000000000000000000000000000000000000000000000081565b3480156102cd57600080fd5b506101a56102dc366004611fb5565b6108dd565b3480156102ed57600080fd5b506101e96102fc366004612176565b610b2e565b34801561030d57600080fd5b506101e961031c3660046121ac565b610bea565b60603361dead1461035e576040517f9cbfe06600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061036a8484610c63565b905061037581610d88565b61037e81610fd4565b9150505b92915050565b61039061113b565b61039a60006111bc565b565b3361dead146103d7576040517f9cbfe06600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006103e38585610c63565b905060008267ffffffffffffffff81111561040057610400612221565b604051908082528060200260200182016040528015610429578160200160208202803683370190505b50905060008367ffffffffffffffff81111561044757610447612221565b60405190808252806020026020018201604052801561047a57816020015b60608152602001906001900390816104655790505b50905060005b848110156105685736600087878481811061049d5761049d612250565b90506020028101906104af919061227f565b90925090506104c26004600083856122e4565b6104cb9161230e565b60e01c8584815181106104e0576104e0612250565b63ffffffff9092166020928302919091019091015261050281600481856122e4565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250508651879250869150811061054a5761054a612250565b602002602001018190525050508061056190612385565b9050610480565b506105738383611231565b61057e838383611325565b50505050505050565b6001546060907f000000000000000000000000000000000000000000000000000000000000000090819060009067ffffffffffffffff8111156105cc576105cc612221565b60405190808252806020026020018201604052801561062757816020015b6106146040518060600160405280600063ffffffff16815260200160008152602001600081525090565b8152602001906001900390816105ea5790505b50905060005b6001548110156107da5760006001828154811061064c5761064c612250565b600091825260209182902060039190910201546040805160608101825263ffffffff90921680835290517f56a4728900000000000000000000000000000000000000000000000000000000815260048101829052909350909182019073ffffffffffffffffffffffffffffffffffffffff8716906356a4728990602401602060405180830381865afa1580156106e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070a91906123bd565b81526040517f622f17f600000000000000000000000000000000000000000000000000000000815263ffffffff8416600482015260209091019073ffffffffffffffffffffffffffffffffffffffff87169063622f17f690602401602060405180830381865afa158015610782573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a691906123bd565b8152508383815181106107bb576107bb612250565b60200260200101819052505080806107d290612385565b91505061062d565b50806040516020016107ec9190612117565b604051602081830303815290604052935050505090565b61080b61113b565b6000805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60606001805480602002602001604051908101604052809291908181526020016000905b828210156108d45760008481526020908190206040805160608101825260038602909201805463ffffffff16835260018082015484860152600290910154918301919091529083529092019101610882565b50505050905090565b60603361dead1461091a576040517f9cbfe06600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080546040517e0200000000000000000000000000000000000000000000000000000000000060208201527401000000000000000000000000000000000000000090910460c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166022820152602a01604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529050600083156109db576109d66109d18686610c63565b6114b4565b610a54565b6001805480602002602001604051908101604052809291908181526020016000905b82821015610a4f5760008481526020908190206040805160608101825260038602909201805463ffffffff168352600180820154848601526002909101549183019190915290835290920191016109fd565b505050505b805190915015610b26578051604051610a7390849083906020016123d6565b604051602081830303815290604052925060005b8161ffff16811015610b235783838281518110610aa657610aa6612250565b602002602001015160000151848381518110610ac457610ac4612250565b602002602001015160200151858481518110610ae257610ae2612250565b602002602001015160400151604051602001610b019493929190612420565b604051602081830303815290604052935080610b1c90612385565b9050610a87565b50505b509392505050565b610b3661113b565b73ffffffffffffffffffffffffffffffffffffffff8116610bde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610be7816111bc565b50565b610bf261113b565b610bfe60016000611f0b565b60005b81811015610c5e576001838383818110610c1d57610c1d612250565b835460018101855560009485526020909420606090910292909201926003029091019050610c4b8282612489565b505080610c5790612385565b9050610c01565b505050565b60608167ffffffffffffffff811115610c7e57610c7e612221565b604051908082528060200260200182016040528015610d0c57816020015b6040805161010081018252600060a0820181815260c0830182905260e0830182905282526020808301829052928201819052606080830191909152608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610c9c5790505b50905060005b82811015610d8157366000858584818110610d2f57610d2f612250565b9050602002810190610d41919061227f565b91509150610d4f8282611791565b848481518110610d6157610d61612250565b602002602001018190525050508080610d7990612385565b915050610d12565b5092915050565b60005481517401000000000000000000000000000000000000000090910467ffffffffffffffff161015610e165760005481516040517f9db086050000000000000000000000000000000000000000000000000000000081527401000000000000000000000000000000000000000090920467ffffffffffffffff1660048301526024820152604401610bd5565b805115610be75760008080805b8451811015610fcd576000858281518110610e4057610e40612250565b602090810291909101810151805180519201516040517f5a0dfe4d00000000000000000000000000000000000000000000000000000000815263ffffffff9093166004840152602483015291507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690635a0dfe4d90604401602060405180830381865afa158015610eeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0f91906124db565b610f195750610fbb565b80515163ffffffff8681169116141580610f3857508051602001518414155b15610f5957805180516020909101519095509350610f5685856118ac565b92505b610f62836124fd565b92508267ffffffffffffffff1681600001516040015167ffffffffffffffff1614610fb9576040517f50823c8500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b80610fc581612385565b915050610e23565b5050505050565b60606000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1634635011e5b360e01b8660405160240161102a9190612524565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516110b39190612620565b60006040518083038185875af1925050503d80600081146110f0576040519150601f19603f3d011682016040523d82523d6000602084013e6110f5565b606091505b50915091506000611106838361199b565b9050611110611aba565b8160405160200161112292919061263c565b6040516020818303038152906040529350505050919050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461039a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610bd5565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b8151156112d1576000611243836114b4565b905060005b81518110156112ce57600082828151811061126557611265612250565b602002602001015160000151905061127d8482611b50565b6112bb576040517f01992f2a00000000000000000000000000000000000000000000000000000000815263ffffffff82166004820152602401610bd5565b50806112c681612385565b915050611248565b50505b60006112db611aba565b90506112e78282611b50565b610c5e576040517f01992f2a00000000000000000000000000000000000000000000000000000000815263ffffffff82166004820152602401610bd5565b600061132f611aba565b9050606060005b84518110156113b1578263ffffffff1685828151811061135857611358612250565b602002602001015163ffffffff160361139f5783818151811061137d5761137d612250565b602002602001015180602001905181019061139891906126ff565b91506113b1565b806113a981612385565b915050611336565b5060005b84518110156114ac5760008582815181106113d2576113d2612250565b6020026020010151905060008583815181106113f0576113f0612250565b602002602001015180602001905181019061140b91906126ff565b905060006114198584611baf565b50905060006114288388611baf565b91505080821115611495576040517f1915975700000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f696e626f756e64436f756e74203e206f7574626f756e64436f756e74000000006044820152606401610bd5565b5050505080806114a490612385565b9150506113b5565b505050505050565b606060006001805480602002602001604051908101604052809291908181526020016000905b8282101561152c5760008481526020908190206040805160608101825260038602909201805463ffffffff168352600180820154848601526002909101549183019190915290835290920191016114da565b5050505090506000835167ffffffffffffffff81111561154e5761154e612221565b6040519080825280602002602001820160405280156115b757816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161156c5790505b5090507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60005b85518110156116945760008682815181106115fb576115fb612250565b60200260200101516000015160000151905060006116198683611c56565b905060008112158015611635575060006116338684611c56565b125b1561167f5783611644816127dc565b94505085818151811061165957611659612250565b602002602001015185858151811061167357611673612250565b60200260200101819052505b5050808061168c90612385565b9150506115de565b50600081126117895760006116aa82600161280d565b90508067ffffffffffffffff8111156116c5576116c5612221565b60405190808252806020026020018201604052801561172e57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816116e35790505b50945060005b818110156117865783818151811061174e5761174e612250565b602002602001015186828151811061176857611768612250565b6020026020010181905250808061177e90612385565b915050611734565b50505b505050919050565b6040805161010081018252600060a0820181815260c0830182905260e08301829052825260208201819052918101829052606080820192909252608081019190915260405180606001604052806117e88585611cd5565b63ffffffff1681526020016117fd8585611cf8565b815260200161180c8585611d11565b67ffffffffffffffff16905281526118248383611d34565b63ffffffff1660208201526118398383611d44565b73ffffffffffffffffffffffffffffffffffffffff16604082015261185e8383611d56565b606082015261186d8383611d66565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050608082015292915050565b6040517fa0dd43fc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008116600483015263ffffffff84166024830152604482018390526000917f00000000000000000000000000000000000000000000000000000000000000009091169063a0dd43fc90606401602060405180830381865afa158015611970573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119949190612820565b9392505050565b60608215611a05576040517f614cbd8a00000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6e6f2072657665727400000000000000000000000000000000000000000000006044820152606401610bd5565b7f8351eea700000000000000000000000000000000000000000000000000000000611a2f8361283d565b7fffffffff000000000000000000000000000000000000000000000000000000001614611a8a57816040517f614cbd8a000000000000000000000000000000000000000000000000000000008152600401610bd59190612065565b611aa46004808451611a9c9190612889565b849190611d81565b905080806020019051810190611994919061289c565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663416ecebf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b4b9190612945565b905090565b6000805b8351811015611ba5578263ffffffff16848281518110611b7657611b76612250565b602002602001015163ffffffff1603611b93576001915050610382565b80611b9d81612385565b915050611b54565b5060009392505050565b60008060005b8451811015611c46578363ffffffff16858281518110611bd757611bd7612250565b60200260200101516000015163ffffffff1603611c3457848181518110611c0057611c00612250565b602002602001015160200151858281518110611c1e57611c1e612250565b6020026020010151604001519250925050611c4f565b80611c3e81612385565b915050611bb5565b50600080915091505b9250929050565b6000805b8351811015611cac578263ffffffff16848281518110611c7c57611c7c612250565b60200260200101516000015163ffffffff1603611c9a579050610382565b80611ca481612385565b915050611c5a565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9392505050565b6000611ce5600d600984866122e4565b611cee9161230e565b60e01c9392505050565b6000611d08602d600d84866122e4565b61199491612962565b6000611d216009600184866122e4565b611d2a9161299e565b60c01c9392505050565b6000611ce56031602d84866122e4565b6000611994611d538484611efb565b90565b6000611d086071605184866122e4565b366000611d7683607181876122e4565b915091509250929050565b606081611d8f81601f61280d565b1015611df7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610bd5565b611e01828461280d565b84511015611e6b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f736c6963655f6f75744f66426f756e64730000000000000000000000000000006044820152606401610bd5565b606082158015611e8a5760405191506000825260208201604052611ef2565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015611ec3578051835260209283019201611eab565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b6000611d086051603184866122e4565b5080546000825560030290600052602060002090810190610be791905b80821115611f6c5780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001681556000600182018190556002820155600301611f28565b5090565b60008083601f840112611f8257600080fd5b50813567ffffffffffffffff811115611f9a57600080fd5b6020830191508360208260051b8501011115611c4f57600080fd5b60008060208385031215611fc857600080fd5b823567ffffffffffffffff811115611fdf57600080fd5b611feb85828601611f70565b90969095509350505050565b60005b83811015612012578181015183820152602001611ffa565b50506000910152565b60008151808452612033816020860160208601611ff7565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611994602083018461201b565b6000806000806040858703121561208e57600080fd5b843567ffffffffffffffff808211156120a657600080fd5b6120b288838901611f70565b909650945060208701359150808211156120cb57600080fd5b506120d887828801611f70565b95989497509550505050565b67ffffffffffffffff81168114610be757600080fd5b60006020828403121561210c57600080fd5b8135611994816120e4565b602080825282518282018190526000919060409081850190868401855b82811015612169578151805163ffffffff16855286810151878601528501518585015260609093019290850190600101612134565b5091979650505050505050565b60006020828403121561218857600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461199457600080fd5b600080602083850312156121bf57600080fd5b823567ffffffffffffffff808211156121d757600080fd5b818501915085601f8301126121eb57600080fd5b8135818111156121fa57600080fd5b86602060608302850101111561220f57600080fd5b60209290920196919550909350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126122b457600080fd5b83018035915067ffffffffffffffff8211156122cf57600080fd5b602001915036819003821315611c4f57600080fd5b600080858511156122f457600080fd5b8386111561230157600080fd5b5050820193919092039150565b7fffffffff00000000000000000000000000000000000000000000000000000000813581811691600485101561234e5780818660040360031b1b83161692505b505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036123b6576123b6612356565b5060010190565b6000602082840312156123cf57600080fd5b5051919050565b600083516123e8818460208801611ff7565b60f09390931b7fffff000000000000000000000000000000000000000000000000000000000000169190920190815260020192915050565b60008551612432818460208a01611ff7565b60e09590951b7fffffffff0000000000000000000000000000000000000000000000000000000016919094019081526004810192909252602482015260440192915050565b63ffffffff81168114610be757600080fd5b813561249481612477565b63ffffffff81167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000008354161782555060208201356001820155604082013560028201555050565b6000602082840312156124ed57600080fd5b8151801515811461199457600080fd5b600067ffffffffffffffff80831681810361251a5761251a612356565b6001019392505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015612612578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001855281518051805163ffffffff9081168652898201518a8701529088015167ffffffffffffffff168886015288820151166060808601919091528782015160e0916080906125dd8289018473ffffffffffffffffffffffffffffffffffffffff169052565b84015160a08801529092015160c0860182905291506125fe8186018361201b565b96890196945050509086019060010161254b565b509098975050505050505050565b60008251612632818460208701611ff7565b9190910192915050565b7fffffffff000000000000000000000000000000000000000000000000000000008360e01b16815260008251612679816004850160208701611ff7565b919091016004019392505050565b6040516060810167ffffffffffffffff811182821017156126aa576126aa612221565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156126f7576126f7612221565b604052919050565b6000602080838503121561271257600080fd5b825167ffffffffffffffff8082111561272a57600080fd5b818501915085601f83011261273e57600080fd5b81518181111561275057612750612221565b61275e848260051b016126b0565b8181528481019250606091820284018501918883111561277d57600080fd5b938501935b828510156127d05780858a03121561279a5760008081fd5b6127a2612687565b85516127ad81612477565b815285870151878201526040808701519082015284529384019392850192612782565b50979650505050505050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036123b6576123b6612356565b8082018082111561038257610382612356565b60006020828403121561283257600080fd5b8151611994816120e4565b6000815160208301517fffffffff00000000000000000000000000000000000000000000000000000000808216935060048310156117895760049290920360031b82901b161692915050565b8181038181111561038257610382612356565b6000602082840312156128ae57600080fd5b815167ffffffffffffffff808211156128c657600080fd5b818401915084601f8301126128da57600080fd5b8151818111156128ec576128ec612221565b61291d60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016126b0565b915080825285602082850101111561293457600080fd5b611ef2816020840160208601611ff7565b60006020828403121561295757600080fd5b815161199481612477565b80356020831015610382577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffff000000000000000000000000000000000000000000000000813581811691600885101561234e5760089490940360031b84901b169092169291505056fea2646970667358221220ec1632188d421f5383cd09aff60c23500f5eff926970ef6858a4f35699e2c61364736f6c63430008130033",
386
+ "devdoc": {
387
+ "kind": "dev",
388
+ "methods": {
389
+ "owner()": {
390
+ "details": "Returns the address of the current owner."
391
+ },
392
+ "renounceOwnership()": {
393
+ "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."
394
+ },
395
+ "transferOwnership(address)": {
396
+ "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."
397
+ }
398
+ },
399
+ "version": 1
400
+ },
401
+ "userdoc": {
402
+ "kind": "user",
403
+ "methods": {},
404
+ "version": 1
405
+ },
406
+ "storageLayout": {
407
+ "storage": [
408
+ {
409
+ "astId": 2472,
410
+ "contract": "contracts/examples/OmniCounterPreCrime.sol:OmniCounterPreCrime",
411
+ "label": "_owner",
412
+ "offset": 0,
413
+ "slot": "0",
414
+ "type": "t_address"
415
+ },
416
+ {
417
+ "astId": 9300,
418
+ "contract": "contracts/examples/OmniCounterPreCrime.sol:OmniCounterPreCrime",
419
+ "label": "maxBatchSize",
420
+ "offset": 20,
421
+ "slot": "0",
422
+ "type": "t_uint64"
423
+ },
424
+ {
425
+ "astId": 9304,
426
+ "contract": "contracts/examples/OmniCounterPreCrime.sol:OmniCounterPreCrime",
427
+ "label": "precrimePeers",
428
+ "offset": 0,
429
+ "slot": "1",
430
+ "type": "t_array(t_struct(PreCrimePeer)10197_storage)dyn_storage"
431
+ }
432
+ ],
433
+ "types": {
434
+ "t_address": {
435
+ "encoding": "inplace",
436
+ "label": "address",
437
+ "numberOfBytes": "20"
438
+ },
439
+ "t_array(t_struct(PreCrimePeer)10197_storage)dyn_storage": {
440
+ "base": "t_struct(PreCrimePeer)10197_storage",
441
+ "encoding": "dynamic_array",
442
+ "label": "struct PreCrimePeer[]",
443
+ "numberOfBytes": "32"
444
+ },
445
+ "t_bytes32": {
446
+ "encoding": "inplace",
447
+ "label": "bytes32",
448
+ "numberOfBytes": "32"
449
+ },
450
+ "t_struct(PreCrimePeer)10197_storage": {
451
+ "encoding": "inplace",
452
+ "label": "struct PreCrimePeer",
453
+ "members": [
454
+ {
455
+ "astId": 10192,
456
+ "contract": "contracts/examples/OmniCounterPreCrime.sol:OmniCounterPreCrime",
457
+ "label": "eid",
458
+ "offset": 0,
459
+ "slot": "0",
460
+ "type": "t_uint32"
461
+ },
462
+ {
463
+ "astId": 10194,
464
+ "contract": "contracts/examples/OmniCounterPreCrime.sol:OmniCounterPreCrime",
465
+ "label": "precrime",
466
+ "offset": 0,
467
+ "slot": "1",
468
+ "type": "t_bytes32"
469
+ },
470
+ {
471
+ "astId": 10196,
472
+ "contract": "contracts/examples/OmniCounterPreCrime.sol:OmniCounterPreCrime",
473
+ "label": "oapp",
474
+ "offset": 0,
475
+ "slot": "2",
476
+ "type": "t_bytes32"
477
+ }
478
+ ],
479
+ "numberOfBytes": "96"
480
+ },
481
+ "t_uint32": {
482
+ "encoding": "inplace",
483
+ "label": "uint32",
484
+ "numberOfBytes": "4"
485
+ },
486
+ "t_uint64": {
487
+ "encoding": "inplace",
488
+ "label": "uint64",
489
+ "numberOfBytes": "8"
490
+ }
491
+ }
492
+ }
493
+ }