@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,672 @@
1
+ {
2
+ "address": "0x332Fb35767182F8ac9F9C1405db626105F6694E0",
3
+ "abi": [
4
+ {
5
+ "inputs": [
6
+ {
7
+ "internalType": "address",
8
+ "name": "_endpoint",
9
+ "type": "address"
10
+ },
11
+ {
12
+ "internalType": "address",
13
+ "name": "_viewer",
14
+ "type": "address"
15
+ }
16
+ ],
17
+ "stateMutability": "nonpayable",
18
+ "type": "constructor"
19
+ },
20
+ {
21
+ "inputs": [
22
+ {
23
+ "internalType": "uint16",
24
+ "name": "code",
25
+ "type": "uint16"
26
+ },
27
+ {
28
+ "internalType": "bytes",
29
+ "name": "result",
30
+ "type": "bytes"
31
+ }
32
+ ],
33
+ "name": "LzReceiveRevert",
34
+ "type": "error"
35
+ },
36
+ {
37
+ "anonymous": false,
38
+ "inputs": [
39
+ {
40
+ "indexed": true,
41
+ "internalType": "address",
42
+ "name": "previousOwner",
43
+ "type": "address"
44
+ },
45
+ {
46
+ "indexed": true,
47
+ "internalType": "address",
48
+ "name": "newOwner",
49
+ "type": "address"
50
+ }
51
+ ],
52
+ "name": "OwnershipTransferred",
53
+ "type": "event"
54
+ },
55
+ {
56
+ "inputs": [
57
+ {
58
+ "components": [
59
+ {
60
+ "components": [
61
+ {
62
+ "internalType": "uint32",
63
+ "name": "srcEid",
64
+ "type": "uint32"
65
+ },
66
+ {
67
+ "internalType": "bytes32",
68
+ "name": "sender",
69
+ "type": "bytes32"
70
+ },
71
+ {
72
+ "internalType": "uint64",
73
+ "name": "nonce",
74
+ "type": "uint64"
75
+ }
76
+ ],
77
+ "internalType": "struct Origin",
78
+ "name": "origin",
79
+ "type": "tuple"
80
+ },
81
+ {
82
+ "internalType": "bytes32",
83
+ "name": "guid",
84
+ "type": "bytes32"
85
+ },
86
+ {
87
+ "internalType": "bytes",
88
+ "name": "message",
89
+ "type": "bytes"
90
+ },
91
+ {
92
+ "internalType": "bytes",
93
+ "name": "callParams",
94
+ "type": "bytes"
95
+ }
96
+ ],
97
+ "internalType": "struct IPreCrime.Packet[]",
98
+ "name": "_packets",
99
+ "type": "tuple[]"
100
+ }
101
+ ],
102
+ "name": "getPrecrimeConfig",
103
+ "outputs": [
104
+ {
105
+ "internalType": "bytes",
106
+ "name": "",
107
+ "type": "bytes"
108
+ }
109
+ ],
110
+ "stateMutability": "view",
111
+ "type": "function"
112
+ },
113
+ {
114
+ "inputs": [],
115
+ "name": "owner",
116
+ "outputs": [
117
+ {
118
+ "internalType": "address",
119
+ "name": "",
120
+ "type": "address"
121
+ }
122
+ ],
123
+ "stateMutability": "view",
124
+ "type": "function"
125
+ },
126
+ {
127
+ "inputs": [],
128
+ "name": "pAdmin",
129
+ "outputs": [
130
+ {
131
+ "internalType": "address",
132
+ "name": "",
133
+ "type": "address"
134
+ }
135
+ ],
136
+ "stateMutability": "view",
137
+ "type": "function"
138
+ },
139
+ {
140
+ "inputs": [],
141
+ "name": "pMaxBatchSize",
142
+ "outputs": [
143
+ {
144
+ "internalType": "uint64",
145
+ "name": "",
146
+ "type": "uint64"
147
+ }
148
+ ],
149
+ "stateMutability": "view",
150
+ "type": "function"
151
+ },
152
+ {
153
+ "inputs": [
154
+ {
155
+ "components": [
156
+ {
157
+ "components": [
158
+ {
159
+ "internalType": "uint32",
160
+ "name": "srcEid",
161
+ "type": "uint32"
162
+ },
163
+ {
164
+ "internalType": "bytes32",
165
+ "name": "sender",
166
+ "type": "bytes32"
167
+ },
168
+ {
169
+ "internalType": "uint64",
170
+ "name": "nonce",
171
+ "type": "uint64"
172
+ }
173
+ ],
174
+ "internalType": "struct Origin",
175
+ "name": "origin",
176
+ "type": "tuple"
177
+ },
178
+ {
179
+ "internalType": "bytes32",
180
+ "name": "guid",
181
+ "type": "bytes32"
182
+ },
183
+ {
184
+ "internalType": "bytes",
185
+ "name": "message",
186
+ "type": "bytes"
187
+ },
188
+ {
189
+ "internalType": "bytes",
190
+ "name": "callParams",
191
+ "type": "bytes"
192
+ }
193
+ ],
194
+ "internalType": "struct IPreCrime.Packet[]",
195
+ "name": "_packets",
196
+ "type": "tuple[]"
197
+ },
198
+ {
199
+ "internalType": "bytes[]",
200
+ "name": "_simulation",
201
+ "type": "bytes[]"
202
+ }
203
+ ],
204
+ "name": "precrime",
205
+ "outputs": [
206
+ {
207
+ "internalType": "uint16",
208
+ "name": "code",
209
+ "type": "uint16"
210
+ },
211
+ {
212
+ "internalType": "bytes",
213
+ "name": "reason",
214
+ "type": "bytes"
215
+ }
216
+ ],
217
+ "stateMutability": "view",
218
+ "type": "function"
219
+ },
220
+ {
221
+ "inputs": [
222
+ {
223
+ "internalType": "uint32",
224
+ "name": "eid",
225
+ "type": "uint32"
226
+ }
227
+ ],
228
+ "name": "precrimeEidToPeer",
229
+ "outputs": [
230
+ {
231
+ "internalType": "bytes32",
232
+ "name": "peer",
233
+ "type": "bytes32"
234
+ }
235
+ ],
236
+ "stateMutability": "view",
237
+ "type": "function"
238
+ },
239
+ {
240
+ "inputs": [
241
+ {
242
+ "internalType": "uint256",
243
+ "name": "",
244
+ "type": "uint256"
245
+ }
246
+ ],
247
+ "name": "precrimeEids",
248
+ "outputs": [
249
+ {
250
+ "internalType": "uint32",
251
+ "name": "",
252
+ "type": "uint32"
253
+ }
254
+ ],
255
+ "stateMutability": "view",
256
+ "type": "function"
257
+ },
258
+ {
259
+ "inputs": [
260
+ {
261
+ "internalType": "uint256",
262
+ "name": "",
263
+ "type": "uint256"
264
+ }
265
+ ],
266
+ "name": "precrimePeers",
267
+ "outputs": [
268
+ {
269
+ "internalType": "bytes32",
270
+ "name": "",
271
+ "type": "bytes32"
272
+ }
273
+ ],
274
+ "stateMutability": "view",
275
+ "type": "function"
276
+ },
277
+ {
278
+ "inputs": [],
279
+ "name": "precrimeVersion",
280
+ "outputs": [
281
+ {
282
+ "internalType": "uint16",
283
+ "name": "",
284
+ "type": "uint16"
285
+ }
286
+ ],
287
+ "stateMutability": "pure",
288
+ "type": "function"
289
+ },
290
+ {
291
+ "inputs": [],
292
+ "name": "renounceOwnership",
293
+ "outputs": [],
294
+ "stateMutability": "nonpayable",
295
+ "type": "function"
296
+ },
297
+ {
298
+ "inputs": [
299
+ {
300
+ "internalType": "address",
301
+ "name": "_admin",
302
+ "type": "address"
303
+ }
304
+ ],
305
+ "name": "setPrecrimeAdmin",
306
+ "outputs": [],
307
+ "stateMutability": "nonpayable",
308
+ "type": "function"
309
+ },
310
+ {
311
+ "inputs": [
312
+ {
313
+ "internalType": "uint64",
314
+ "name": "_maxBatchSize",
315
+ "type": "uint64"
316
+ }
317
+ ],
318
+ "name": "setPrecrimeMaxBatchSize",
319
+ "outputs": [],
320
+ "stateMutability": "nonpayable",
321
+ "type": "function"
322
+ },
323
+ {
324
+ "inputs": [
325
+ {
326
+ "internalType": "uint32[]",
327
+ "name": "_eids",
328
+ "type": "uint32[]"
329
+ },
330
+ {
331
+ "internalType": "bytes32[]",
332
+ "name": "_peers",
333
+ "type": "bytes32[]"
334
+ }
335
+ ],
336
+ "name": "setPrecrimePeers",
337
+ "outputs": [],
338
+ "stateMutability": "nonpayable",
339
+ "type": "function"
340
+ },
341
+ {
342
+ "inputs": [
343
+ {
344
+ "components": [
345
+ {
346
+ "components": [
347
+ {
348
+ "internalType": "uint32",
349
+ "name": "srcEid",
350
+ "type": "uint32"
351
+ },
352
+ {
353
+ "internalType": "bytes32",
354
+ "name": "sender",
355
+ "type": "bytes32"
356
+ },
357
+ {
358
+ "internalType": "uint64",
359
+ "name": "nonce",
360
+ "type": "uint64"
361
+ }
362
+ ],
363
+ "internalType": "struct Origin",
364
+ "name": "origin",
365
+ "type": "tuple"
366
+ },
367
+ {
368
+ "internalType": "bytes32",
369
+ "name": "guid",
370
+ "type": "bytes32"
371
+ },
372
+ {
373
+ "internalType": "bytes",
374
+ "name": "message",
375
+ "type": "bytes"
376
+ },
377
+ {
378
+ "internalType": "bytes",
379
+ "name": "callParams",
380
+ "type": "bytes"
381
+ }
382
+ ],
383
+ "internalType": "struct IPreCrime.Packet[]",
384
+ "name": "",
385
+ "type": "tuple[]"
386
+ }
387
+ ],
388
+ "name": "simulate",
389
+ "outputs": [
390
+ {
391
+ "internalType": "uint16",
392
+ "name": "",
393
+ "type": "uint16"
394
+ },
395
+ {
396
+ "internalType": "bytes",
397
+ "name": "",
398
+ "type": "bytes"
399
+ }
400
+ ],
401
+ "stateMutability": "payable",
402
+ "type": "function"
403
+ },
404
+ {
405
+ "inputs": [
406
+ {
407
+ "components": [
408
+ {
409
+ "components": [
410
+ {
411
+ "internalType": "uint32",
412
+ "name": "srcEid",
413
+ "type": "uint32"
414
+ },
415
+ {
416
+ "internalType": "bytes32",
417
+ "name": "sender",
418
+ "type": "bytes32"
419
+ },
420
+ {
421
+ "internalType": "uint64",
422
+ "name": "nonce",
423
+ "type": "uint64"
424
+ }
425
+ ],
426
+ "internalType": "struct Origin",
427
+ "name": "origin",
428
+ "type": "tuple"
429
+ },
430
+ {
431
+ "internalType": "bytes32",
432
+ "name": "guid",
433
+ "type": "bytes32"
434
+ },
435
+ {
436
+ "internalType": "bytes",
437
+ "name": "message",
438
+ "type": "bytes"
439
+ },
440
+ {
441
+ "internalType": "bytes",
442
+ "name": "callParams",
443
+ "type": "bytes"
444
+ }
445
+ ],
446
+ "internalType": "struct IPreCrime.Packet[]",
447
+ "name": "_packets",
448
+ "type": "tuple[]"
449
+ }
450
+ ],
451
+ "name": "simulateView",
452
+ "outputs": [
453
+ {
454
+ "internalType": "uint16",
455
+ "name": "code",
456
+ "type": "uint16"
457
+ },
458
+ {
459
+ "internalType": "bytes",
460
+ "name": "data",
461
+ "type": "bytes"
462
+ }
463
+ ],
464
+ "stateMutability": "view",
465
+ "type": "function"
466
+ },
467
+ {
468
+ "inputs": [],
469
+ "name": "simulationCallback",
470
+ "outputs": [
471
+ {
472
+ "internalType": "bytes",
473
+ "name": "",
474
+ "type": "bytes"
475
+ }
476
+ ],
477
+ "stateMutability": "pure",
478
+ "type": "function"
479
+ },
480
+ {
481
+ "inputs": [
482
+ {
483
+ "internalType": "address",
484
+ "name": "newOwner",
485
+ "type": "address"
486
+ }
487
+ ],
488
+ "name": "transferOwnership",
489
+ "outputs": [],
490
+ "stateMutability": "nonpayable",
491
+ "type": "function"
492
+ },
493
+ {
494
+ "inputs": [],
495
+ "name": "viewer",
496
+ "outputs": [
497
+ {
498
+ "internalType": "contract OmniCounterViewer",
499
+ "name": "",
500
+ "type": "address"
501
+ }
502
+ ],
503
+ "stateMutability": "view",
504
+ "type": "function"
505
+ }
506
+ ],
507
+ "transactionHash": "0xf2ed0b7186e8b1174026a0ce8972a47d49c98d609c9a0ba6f44a39ce2d6a5a60",
508
+ "receipt": {
509
+ "to": null,
510
+ "from": "0x14dC79964da2C08b23698B3D3cc7Ca32193d9955",
511
+ "contractAddress": "0x332Fb35767182F8ac9F9C1405db626105F6694E0",
512
+ "transactionIndex": 0,
513
+ "gasUsed": "2476640",
514
+ "logsBloom": "0x00000000000000000080000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000400000000000000000000000000020000000004000000000800000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000020000000000000000000000000040000000000000000000000000000000000000000",
515
+ "blockHash": "0x8cf068ae02f665457933658079fe2cccc3f4c26f9cc3b0fa458fdc40ea8af8db",
516
+ "transactionHash": "0xf2ed0b7186e8b1174026a0ce8972a47d49c98d609c9a0ba6f44a39ce2d6a5a60",
517
+ "logs": [
518
+ {
519
+ "transactionIndex": 0,
520
+ "blockNumber": 216,
521
+ "transactionHash": "0xf2ed0b7186e8b1174026a0ce8972a47d49c98d609c9a0ba6f44a39ce2d6a5a60",
522
+ "address": "0x332Fb35767182F8ac9F9C1405db626105F6694E0",
523
+ "topics": [
524
+ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0",
525
+ "0x0000000000000000000000000000000000000000000000000000000000000000",
526
+ "0x00000000000000000000000014dc79964da2c08b23698b3d3cc7ca32193d9955"
527
+ ],
528
+ "data": "0x",
529
+ "logIndex": 0,
530
+ "blockHash": "0x8cf068ae02f665457933658079fe2cccc3f4c26f9cc3b0fa458fdc40ea8af8db"
531
+ }
532
+ ],
533
+ "blockNumber": 216,
534
+ "cumulativeGasUsed": "2476640",
535
+ "status": 1,
536
+ "byzantium": true
537
+ },
538
+ "args": [
539
+ "0xC6bA8C3233eCF65B761049ef63466945c362EdD2",
540
+ "0x1696C7203769A71c97Ca725d42b13270ee493526"
541
+ ],
542
+ "numDeployments": 1,
543
+ "solcInputHash": "5c3a90694fa715803aa4223a06e7b69d",
544
+ "bytecode": "0x60c06040523480156200001157600080fd5b5060405162002cbc38038062002cbc83398101604081905262000034916200017c565b8180806001600160a01b03166080816001600160a01b0316815250506080516001600160a01b031663416ecebf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000091573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000b79190620001b4565b63ffffffff1660a0525050600080546001600160a01b03191633179055620000e6620000e03390565b6200010d565b600580546001600160a01b0319166001600160a01b039290921691909117905550620001e3565b600480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b03811681146200017757600080fd5b919050565b600080604083850312156200019057600080fd5b6200019b836200015f565b9150620001ab602084016200015f565b90509250929050565b600060208284031215620001c757600080fd5b815163ffffffff81168114620001dc57600080fd5b9392505050565b60805160a051612a97620002256000396000818161082c01528181610c2101528181610dcd01528181610ea401526114f70152600061114b0152612a976000f3fe6080604052600436106101295760003560e01c80637a4359d5116100a5578063d2968d5711610074578063e780f25411610059578063e780f254146103a4578063f2fde38b146103c4578063f30878c1146103e457600080fd5b8063d2968d5714610355578063e51ac4b01461037757600080fd5b80637a4359d5146102b65780638da5cb5b146102d657806392d99a7f14610322578063998775641461034257600080fd5b806330515e56116100fc5780635bf88a00116100e15780635bf88a001461025f5780636ece7d3614610281578063715018a6146102a157600080fd5b806330515e56146101e057806354b3ab691461023257600080fd5b806312fb9ea51461012e57806328318b621461016157806329c246281461018f5780632c79305d146101c4575b600080fd5b34801561013a57600080fd5b5061014e610149366004611c50565b610411565b6040519081526020015b60405180910390f35b34801561016d57600080fd5b5061018161017c366004611cae565b610432565b604051610158929190611d88565b34801561019b57600080fd5b506101af6101aa366004611c50565b6105ac565b60405163ffffffff9091168152602001610158565b3480156101d057600080fd5b5060405160018152602001610158565b3480156101ec57600080fd5b506000546102199074010000000000000000000000000000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610158565b34801561023e57600080fd5b5061014e61024d366004611dbf565b60036020526000908152604090205481565b34801561026b57600080fd5b5061027f61027a366004611f3c565b6105e6565b005b34801561028d57600080fd5b5061027f61029c366004612014565b61070e565b3480156102ad57600080fd5b5061027f6107e2565b3480156102c257600080fd5b506101816102d1366004612031565b6107f6565b3480156102e257600080fd5b5060045473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610158565b34801561032e57600080fd5b5061027f61033d366004612095565b610876565b610181610350366004612031565b61093e565b34801561036157600080fd5b5061036a6109a6565b60405161015891906120b2565b34801561038357600080fd5b506000546102fd9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156103b057600080fd5b5061036a6103bf366004612031565b610a0b565b3480156103d057600080fd5b5061027f6103df366004612095565b610a68565b3480156103f057600080fd5b506005546102fd9073ffffffffffffffffffffffffffffffffffffffff1681565b6002818154811061042157600080fd5b600091825260209091200154905081565b60006060818367ffffffffffffffff81111561045057610450611de3565b60405190808252806020026020018201604052801561048357816020015b606081526020019060019003908161046e5790505b50905060008467ffffffffffffffff8111156104a1576104a1611de3565b6040519080825280602002602001820160405280156104ca578160200160208202803683370190505b50905060005b85811015610570576000808888848181106104ed576104ed6120c5565b90506020028101906104ff91906120f4565b81019061050c91906121e7565b9150915081848481518110610523576105236120c5565b602002602001019063ffffffff16908163ffffffff168152505080858481518110610550576105506120c5565b6020026020010181905250505080806105689061225c565b9150506104d0565b5061057c888883610b1f565b909450925061ffff8416156105925750506105a3565b61059b82610ce9565b909450925050505b94509492505050565b600181815481106105bc57600080fd5b9060005260206000209060089182820401919006600402915054906101000a900463ffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff16331461066c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b815161067f906001906020850190611b51565b508051610693906002906020840190611c00565b5060005b8251811015610709578181815181106106b2576106b26120c5565b6020026020010151600360008584815181106106d0576106d06120c5565b602002602001015163ffffffff1663ffffffff1681526020019081526020016000208190555080806107019061225c565b915050610697565b505050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461078f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e000000000000000000000000000000000000000000006044820152606401610663565b6000805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b6107ea610f2f565b6107f46000610fb0565b565b600060606108048484611027565b909250905061ffff821661086f5761081c8484611319565b909250905061ffff821661086f577f00000000000000000000000000000000000000000000000000000000000000008160405160200161085d929190612294565b60405160208183030381529060405290505b9250929050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146108f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e000000000000000000000000000000000000000000006044820152606401610663565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f6e6f7420696d706c656d656e74656400000000000000000000000000000000006044820152600090606090606401610663565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f6e6f7420696d706c656d656e74656400000000000000000000000000000000006044820152606090606401610663565b6060600080610a1a8585611550565b915091506001600060149054906101000a900467ffffffffffffffff1683518484604051602001610a4f9594939291906122b3565b6040516020818303038152906040529250505092915050565b610a70610f2f565b73ffffffffffffffffffffffffffffffffffffffff8116610b13576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610663565b610b1c81610fb0565b50565b600060608315610c12576000610b358686611550565b50905060005b8151811015610c0f576000805b8651811015610bb157838381518110610b6357610b636120c5565b602002602001015163ffffffff16878281518110610b8357610b836120c5565b602002602001015163ffffffff1603610b9f5760019150610bb1565b80610ba98161225c565b915050610b48565b5080610bfc576101926040518060400160405280601e81526020017f6d697373696e6720706565722073696d756c6174696f6e20726573756c74000081525094509450505050610ce1565b5080610c078161225c565b915050610b3b565b50505b6000805b8451811015610c86577f000000000000000000000000000000000000000000000000000000000000000063ffffffff16858281518110610c5857610c586120c5565b602002602001015163ffffffff1603610c745760019150610c86565b80610c7e8161225c565b915050610c16565b5080610ccc57505060408051808201909152601f81527f6d697373696e67206c6f63616c2073696d756c6174696f6e20726573756c740060208201526101929150610ce1565b50506040805160208101909152600080825291505b935093915050565b60006060610d106040518060400160405280600063ffffffff168152602001606081525090565b6000845167ffffffffffffffff811115610d2c57610d2c611de3565b604051908082528060200260200182016040528015610d7257816020015b604080518082019091526000815260606020820152815260200190600190039081610d4a5790505b50905060005b8551811015610e4a57858181518110610d9357610d936120c5565b6020026020010151806020019051810190610dae9190612414565b828281518110610dc057610dc06120c5565b60200260200101819052507f000000000000000000000000000000000000000000000000000000000000000063ffffffff16828281518110610e0457610e046120c5565b60200260200101516000015163ffffffff1603610e3857818181518110610e2d57610e2d6120c5565b602002602001015192505b80610e428161225c565b915050610d78565b5060005b8151811015610f11576000610e8084848481518110610e6f57610e6f6120c5565b60200260200101516000015161164e565b5090506000610ec8848481518110610e9a57610e9a6120c5565b60200260200101517f000000000000000000000000000000000000000000000000000000000000000061164e565b91505080821115610efc576001604051806060016040528060318152602001612a3160319139965096505050505050915091565b50508080610f099061225c565b915050610e4e565b50600060405180602001604052806000815250935093505050915091565b60045473ffffffffffffffffffffffffffffffffffffffff1633146107f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610663565b6004805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000805460609074010000000000000000000000000000000000000000900467ffffffffffffffff168311156110b157600054610190906110899074010000000000000000000000000000000000000000900467ffffffffffffffff16611702565b60405160200161109991906124aa565b6040516020818303038152906040529150915061086f565b82156112ff5760008080805b868110156112fa5760008888838181106110d9576110d96120c5565b90506020028101906110eb91906124ef565b6110f49061252d565b80515190915063ffffffff868116911614158061111657508051602001518414155b15611280578051805160208201516040909201519096509094509250600073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001663a0dd43fc6111786117c0565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff909116600482015263ffffffff8916602482015260448101889052606401602060405180830381865afa1580156111f4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061121891906125f1565b61122390600161260e565b90508067ffffffffffffffff168467ffffffffffffffff161461127a5761019161124c84611702565b60405160200161125c9190612636565b6040516020818303038152906040529750975050505050505061086f565b506112e7565b611289836126a1565b92508267ffffffffffffffff1681600001516040015167ffffffffffffffff16146112e7576101916112ba83611702565b6040516020016112ca91906126c8565b60405160208183030381529060405296509650505050505061086f565b50806112f28161225c565b9150506110bd565b505050505b505060408051602081019091526000808252909250929050565b6005546040517f6874141b000000000000000000000000000000000000000000000000000000008152600091606091839173ffffffffffffffffffffffffffffffffffffffff1690636874141b906113769060019060040161270d565b600060405180830381865afa158015611393573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526113d99190810190612895565b905060005b848110156114e75760008686838181106113fa576113fa6120c5565b905060200281019061140c91906124ef565b6114159061252d565b6005546040517f30b3179100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff16906330b317919061146e9084908790600401612921565b600060405180830381865afa15801561148b573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526114d19190810190612895565b92505080806114df9061225c565b9150506113de565b50600060405180604001604052807f000000000000000000000000000000000000000000000000000000000000000063ffffffff1681526020018381525060405160200161153591906129d1565b60405160208183030381529060405292509250509250929050565b60608060008390036116395760016002818054806020026020016040519081016040528092919081815260200182805480156115d757602002820191906000526020600020906000905b82829054906101000a900463ffffffff1663ffffffff168152602001906004019060208260030104928301926001038202915080841161159a5790505b505050505091508080548060200260200160405190810160405280929190818152602001828054801561162957602002820191906000526020600020905b815481526020019060010190808311611615575b505050505090509150915061086f565b6116438484611859565b915091509250929050565b60008060005b8460200151518110156116f5578363ffffffff168560200151828151811061167e5761167e6120c5565b60200260200101516000015163ffffffff16036116e357846020015181815181106116ab576116ab6120c5565b602002602001015160200151856020015182815181106116cd576116cd6120c5565b602002602001015160400151925092505061086f565b806116ed8161225c565b915050611654565b5060009485945092505050565b6060600061170f83611a6e565b600101905060008167ffffffffffffffff81111561172f5761172f611de3565b6040519080825280601f01601f191660200182016040528015611759576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461176357509392505050565b600554604080517f61bc221a000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916361bc221a9160048083019260209291908290030181865afa158015611830573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185491906129fc565b905090565b6060806000805b848110156118df57600060038188888581811061187f5761187f6120c5565b905060200281019061189191906124ef565b61189f906020810190611dbf565b63ffffffff1663ffffffff16815260200190815260200160002054146118cd57816118c981612a19565b9250505b806118d78161225c565b915050611860565b508061ffff1667ffffffffffffffff8111156118fd576118fd611de3565b604051908082528060200260200182016040528015611926578160200160208202803683370190505b5092508061ffff1667ffffffffffffffff81111561194657611946611de3565b60405190808252806020026020018201604052801561196f578160200160208202803683370190505b50915060005b84811015611a6557600060036000888885818110611995576119956120c5565b90506020028101906119a791906124ef565b6119b5906020810190611dbf565b63ffffffff16815260208101919091526040016000205490508015611a52578686838181106119e6576119e66120c5565b90506020028101906119f891906124ef565b611a06906020810190611dbf565b858381518110611a1857611a186120c5565b602002602001019063ffffffff16908163ffffffff168152505080848381518110611a4557611a456120c5565b6020026020010181815250505b5080611a5d8161225c565b915050611975565b50509250929050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611ab7577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310611ae3576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611b0157662386f26fc10000830492506010015b6305f5e1008310611b19576305f5e100830492506008015b6127108310611b2d57612710830492506004015b60648310611b3f576064830492506002015b600a8310611b4b576001015b92915050565b82805482825590600052602060002090600701600890048101928215611bf05791602002820160005b83821115611bbe57835183826101000a81548163ffffffff021916908363ffffffff1602179055509260200192600401602081600301049283019260010302611b7a565b8015611bee5782816101000a81549063ffffffff0219169055600401602081600301049283019260010302611bbe565b505b50611bfc929150611c3b565b5090565b828054828255906000526020600020908101928215611bf0579160200282015b82811115611bf0578251825591602001919060010190611c20565b5b80821115611bfc5760008155600101611c3c565b600060208284031215611c6257600080fd5b5035919050565b60008083601f840112611c7b57600080fd5b50813567ffffffffffffffff811115611c9357600080fd5b6020830191508360208260051b850101111561086f57600080fd5b60008060008060408587031215611cc457600080fd5b843567ffffffffffffffff80821115611cdc57600080fd5b611ce888838901611c69565b90965094506020870135915080821115611d0157600080fd5b50611d0e87828801611c69565b95989497509550505050565b60005b83811015611d35578181015183820152602001611d1d565b50506000910152565b60008151808452611d56816020860160208601611d1a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b61ffff83168152604060208201526000611da56040830184611d3e565b949350505050565b63ffffffff81168114610b1c57600080fd5b600060208284031215611dd157600080fd5b8135611ddc81611dad565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715611e3557611e35611de3565b60405290565b6040516080810167ffffffffffffffff81118282101715611e3557611e35611de3565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611ea557611ea5611de3565b604052919050565b600067ffffffffffffffff821115611ec757611ec7611de3565b5060051b60200190565b600082601f830112611ee257600080fd5b81356020611ef7611ef283611ead565b611e5e565b82815260059290921b84018101918181019086841115611f1657600080fd5b8286015b84811015611f315780358352918301918301611f1a565b509695505050505050565b60008060408385031215611f4f57600080fd5b823567ffffffffffffffff80821115611f6757600080fd5b818501915085601f830112611f7b57600080fd5b81356020611f8b611ef283611ead565b82815260059290921b84018101918181019089841115611faa57600080fd5b948201945b83861015611fd1578535611fc281611dad565b82529482019490820190611faf565b96505086013592505080821115611fe757600080fd5b50611ff485828601611ed1565b9150509250929050565b67ffffffffffffffff81168114610b1c57600080fd5b60006020828403121561202657600080fd5b8135611ddc81611ffe565b6000806020838503121561204457600080fd5b823567ffffffffffffffff81111561205b57600080fd5b61206785828601611c69565b90969095509350505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610b1c57600080fd5b6000602082840312156120a757600080fd5b8135611ddc81612073565b602081526000611ddc6020830184611d3e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261212957600080fd5b83018035915067ffffffffffffffff82111561214457600080fd5b60200191503681900382131561086f57600080fd5b600082601f83011261216a57600080fd5b813567ffffffffffffffff81111561218457612184611de3565b6121b560207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611e5e565b8181528460208386010111156121ca57600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156121fa57600080fd5b823561220581611dad565b9150602083013567ffffffffffffffff81111561222157600080fd5b611ff485828601612159565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361228d5761228d61222d565b5060010190565b63ffffffff83168152604060208201526000611da56040830184611d3e565b7fffff0000000000000000000000000000000000000000000000000000000000008660f01b1681527fffffffffffffffff0000000000000000000000000000000000000000000000008560c01b16600282015283600a8201526000602a82018451602080870160005b8381101561233e57815163ffffffff168552938201939082019060010161231c565b5050855181870193925060005b818110156123675784518452938201939282019260010161234b565b50919a9950505050505050505050565b600082601f83011261238857600080fd5b81516020612398611ef283611ead565b828152606092830285018201928282019190878511156123b757600080fd5b8387015b858110156124075781818a0312156123d35760008081fd5b6123db611e12565b81516123e681611dad565b815281860151868201526040808301519082015284529284019281016123bb565b5090979650505050505050565b60006020828403121561242657600080fd5b815167ffffffffffffffff8082111561243e57600080fd5b908301906040828603121561245257600080fd5b60405160408101818110838211171561246d5761246d611de3565b604052825161247b81611dad565b815260208301518281111561248f57600080fd5b61249b87828601612377565b60208301525095945050505050565b7f7061636b6574732073697a6520657863656564206c696d6974656420000000008152600082516124e281601c850160208701611d1a565b91909101601c0192915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4183360301811261252357600080fd5b9190910192915050565b600081360360c081121561254057600080fd5b612548611e3b565b606082121561255657600080fd5b61255e611e12565b9150833561256b81611dad565b825260208481013590830152604084013561258581611ffe565b60408301529081526060830135602082015260808301359067ffffffffffffffff808311156125b357600080fd5b6125bf36848701612159565b604083015260a08501359250808311156125d857600080fd5b506125e536838601612159565b60608201529392505050565b60006020828403121561260357600080fd5b8151611ddc81611ffe565b67ffffffffffffffff81811683821601908082111561262f5761262f61222d565b5092915050565b7f736b697070656420696e626f756e644e6f6e63652c207061636b657420696e6481527f65783a2000000000000000000000000000000000000000000000000000000000602082015260008251612694816024850160208701611d1a565b9190910160240192915050565b600067ffffffffffffffff8083168181036126be576126be61222d565b6001019392505050565b7f756e736f72746564207061636b6574732c207061636b657420696e6465783a20815260008251612700816020850160208701611d1a565b9190910160200192915050565b60006020808301818452808554612728818490815260200190565b60008881526020812094509092505b816007820110156127ad57835463ffffffff808216855281871c811687860152604082811c821690860152606082811c821690860152608082811c82169086015260a082811c82169086015260c082811c9091169085015260e090811c9084015260019093019261010090920191600801612737565b925492818110156127c95763ffffffff84168352918401916001015b818110156127e45783851c63ffffffff168352918401916001015b8181101561280157604084901c63ffffffff168352918401916001015b8181101561281e57606084901c63ffffffff168352918401916001015b8181101561283b57608084901c63ffffffff168352918401916001015b818110156128585760a084901c63ffffffff168352918401916001015b818110156128755760c084901c63ffffffff168352918401916001015b818110156128895760e084901c8352918401915b50909695505050505050565b6000602082840312156128a757600080fd5b815167ffffffffffffffff8111156128be57600080fd5b611da584828501612377565b600081518084526020808501945080840160005b83811015612916578151805163ffffffff168852838101518489015260409081015190880152606090960195908201906001016128de565b509495945050505050565b604081526000835163ffffffff81511660408401526020810151606084015267ffffffffffffffff604082015116608084015250602084015160a0830152604084015160c080840152612978610100840182611d3e565b905060608501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08483030160e08501526129b38282611d3e565b91505082810360208401526129c881856128ca565b95945050505050565b6020815263ffffffff825116602082015260006020830151604080840152611da560608401826128ca565b600060208284031215612a0e57600080fd5b8151611ddc81612073565b600061ffff8083168181036126be576126be61222d56fe4f6d6e69436f756e7465725072654372696d653a20696e626f756e64436f756e74203e206f7574626f756e64436f756e74a2646970667358221220044d334fd539a439e70a7a5d69d00788df0d0830dbc32c0e494b560e5688da6e64736f6c63430008130033",
545
+ "deployedBytecode": "0x6080604052600436106101295760003560e01c80637a4359d5116100a5578063d2968d5711610074578063e780f25411610059578063e780f254146103a4578063f2fde38b146103c4578063f30878c1146103e457600080fd5b8063d2968d5714610355578063e51ac4b01461037757600080fd5b80637a4359d5146102b65780638da5cb5b146102d657806392d99a7f14610322578063998775641461034257600080fd5b806330515e56116100fc5780635bf88a00116100e15780635bf88a001461025f5780636ece7d3614610281578063715018a6146102a157600080fd5b806330515e56146101e057806354b3ab691461023257600080fd5b806312fb9ea51461012e57806328318b621461016157806329c246281461018f5780632c79305d146101c4575b600080fd5b34801561013a57600080fd5b5061014e610149366004611c50565b610411565b6040519081526020015b60405180910390f35b34801561016d57600080fd5b5061018161017c366004611cae565b610432565b604051610158929190611d88565b34801561019b57600080fd5b506101af6101aa366004611c50565b6105ac565b60405163ffffffff9091168152602001610158565b3480156101d057600080fd5b5060405160018152602001610158565b3480156101ec57600080fd5b506000546102199074010000000000000000000000000000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610158565b34801561023e57600080fd5b5061014e61024d366004611dbf565b60036020526000908152604090205481565b34801561026b57600080fd5b5061027f61027a366004611f3c565b6105e6565b005b34801561028d57600080fd5b5061027f61029c366004612014565b61070e565b3480156102ad57600080fd5b5061027f6107e2565b3480156102c257600080fd5b506101816102d1366004612031565b6107f6565b3480156102e257600080fd5b5060045473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610158565b34801561032e57600080fd5b5061027f61033d366004612095565b610876565b610181610350366004612031565b61093e565b34801561036157600080fd5b5061036a6109a6565b60405161015891906120b2565b34801561038357600080fd5b506000546102fd9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156103b057600080fd5b5061036a6103bf366004612031565b610a0b565b3480156103d057600080fd5b5061027f6103df366004612095565b610a68565b3480156103f057600080fd5b506005546102fd9073ffffffffffffffffffffffffffffffffffffffff1681565b6002818154811061042157600080fd5b600091825260209091200154905081565b60006060818367ffffffffffffffff81111561045057610450611de3565b60405190808252806020026020018201604052801561048357816020015b606081526020019060019003908161046e5790505b50905060008467ffffffffffffffff8111156104a1576104a1611de3565b6040519080825280602002602001820160405280156104ca578160200160208202803683370190505b50905060005b85811015610570576000808888848181106104ed576104ed6120c5565b90506020028101906104ff91906120f4565b81019061050c91906121e7565b9150915081848481518110610523576105236120c5565b602002602001019063ffffffff16908163ffffffff168152505080858481518110610550576105506120c5565b6020026020010181905250505080806105689061225c565b9150506104d0565b5061057c888883610b1f565b909450925061ffff8416156105925750506105a3565b61059b82610ce9565b909450925050505b94509492505050565b600181815481106105bc57600080fd5b9060005260206000209060089182820401919006600402915054906101000a900463ffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff16331461066c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b815161067f906001906020850190611b51565b508051610693906002906020840190611c00565b5060005b8251811015610709578181815181106106b2576106b26120c5565b6020026020010151600360008584815181106106d0576106d06120c5565b602002602001015163ffffffff1663ffffffff1681526020019081526020016000208190555080806107019061225c565b915050610697565b505050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461078f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e000000000000000000000000000000000000000000006044820152606401610663565b6000805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b6107ea610f2f565b6107f46000610fb0565b565b600060606108048484611027565b909250905061ffff821661086f5761081c8484611319565b909250905061ffff821661086f577f00000000000000000000000000000000000000000000000000000000000000008160405160200161085d929190612294565b60405160208183030381529060405290505b9250929050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146108f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e000000000000000000000000000000000000000000006044820152606401610663565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f6e6f7420696d706c656d656e74656400000000000000000000000000000000006044820152600090606090606401610663565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f6e6f7420696d706c656d656e74656400000000000000000000000000000000006044820152606090606401610663565b6060600080610a1a8585611550565b915091506001600060149054906101000a900467ffffffffffffffff1683518484604051602001610a4f9594939291906122b3565b6040516020818303038152906040529250505092915050565b610a70610f2f565b73ffffffffffffffffffffffffffffffffffffffff8116610b13576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610663565b610b1c81610fb0565b50565b600060608315610c12576000610b358686611550565b50905060005b8151811015610c0f576000805b8651811015610bb157838381518110610b6357610b636120c5565b602002602001015163ffffffff16878281518110610b8357610b836120c5565b602002602001015163ffffffff1603610b9f5760019150610bb1565b80610ba98161225c565b915050610b48565b5080610bfc576101926040518060400160405280601e81526020017f6d697373696e6720706565722073696d756c6174696f6e20726573756c74000081525094509450505050610ce1565b5080610c078161225c565b915050610b3b565b50505b6000805b8451811015610c86577f000000000000000000000000000000000000000000000000000000000000000063ffffffff16858281518110610c5857610c586120c5565b602002602001015163ffffffff1603610c745760019150610c86565b80610c7e8161225c565b915050610c16565b5080610ccc57505060408051808201909152601f81527f6d697373696e67206c6f63616c2073696d756c6174696f6e20726573756c740060208201526101929150610ce1565b50506040805160208101909152600080825291505b935093915050565b60006060610d106040518060400160405280600063ffffffff168152602001606081525090565b6000845167ffffffffffffffff811115610d2c57610d2c611de3565b604051908082528060200260200182016040528015610d7257816020015b604080518082019091526000815260606020820152815260200190600190039081610d4a5790505b50905060005b8551811015610e4a57858181518110610d9357610d936120c5565b6020026020010151806020019051810190610dae9190612414565b828281518110610dc057610dc06120c5565b60200260200101819052507f000000000000000000000000000000000000000000000000000000000000000063ffffffff16828281518110610e0457610e046120c5565b60200260200101516000015163ffffffff1603610e3857818181518110610e2d57610e2d6120c5565b602002602001015192505b80610e428161225c565b915050610d78565b5060005b8151811015610f11576000610e8084848481518110610e6f57610e6f6120c5565b60200260200101516000015161164e565b5090506000610ec8848481518110610e9a57610e9a6120c5565b60200260200101517f000000000000000000000000000000000000000000000000000000000000000061164e565b91505080821115610efc576001604051806060016040528060318152602001612a3160319139965096505050505050915091565b50508080610f099061225c565b915050610e4e565b50600060405180602001604052806000815250935093505050915091565b60045473ffffffffffffffffffffffffffffffffffffffff1633146107f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610663565b6004805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000805460609074010000000000000000000000000000000000000000900467ffffffffffffffff168311156110b157600054610190906110899074010000000000000000000000000000000000000000900467ffffffffffffffff16611702565b60405160200161109991906124aa565b6040516020818303038152906040529150915061086f565b82156112ff5760008080805b868110156112fa5760008888838181106110d9576110d96120c5565b90506020028101906110eb91906124ef565b6110f49061252d565b80515190915063ffffffff868116911614158061111657508051602001518414155b15611280578051805160208201516040909201519096509094509250600073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001663a0dd43fc6111786117c0565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff909116600482015263ffffffff8916602482015260448101889052606401602060405180830381865afa1580156111f4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061121891906125f1565b61122390600161260e565b90508067ffffffffffffffff168467ffffffffffffffff161461127a5761019161124c84611702565b60405160200161125c9190612636565b6040516020818303038152906040529750975050505050505061086f565b506112e7565b611289836126a1565b92508267ffffffffffffffff1681600001516040015167ffffffffffffffff16146112e7576101916112ba83611702565b6040516020016112ca91906126c8565b60405160208183030381529060405296509650505050505061086f565b50806112f28161225c565b9150506110bd565b505050505b505060408051602081019091526000808252909250929050565b6005546040517f6874141b000000000000000000000000000000000000000000000000000000008152600091606091839173ffffffffffffffffffffffffffffffffffffffff1690636874141b906113769060019060040161270d565b600060405180830381865afa158015611393573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526113d99190810190612895565b905060005b848110156114e75760008686838181106113fa576113fa6120c5565b905060200281019061140c91906124ef565b6114159061252d565b6005546040517f30b3179100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff16906330b317919061146e9084908790600401612921565b600060405180830381865afa15801561148b573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526114d19190810190612895565b92505080806114df9061225c565b9150506113de565b50600060405180604001604052807f000000000000000000000000000000000000000000000000000000000000000063ffffffff1681526020018381525060405160200161153591906129d1565b60405160208183030381529060405292509250509250929050565b60608060008390036116395760016002818054806020026020016040519081016040528092919081815260200182805480156115d757602002820191906000526020600020906000905b82829054906101000a900463ffffffff1663ffffffff168152602001906004019060208260030104928301926001038202915080841161159a5790505b505050505091508080548060200260200160405190810160405280929190818152602001828054801561162957602002820191906000526020600020905b815481526020019060010190808311611615575b505050505090509150915061086f565b6116438484611859565b915091509250929050565b60008060005b8460200151518110156116f5578363ffffffff168560200151828151811061167e5761167e6120c5565b60200260200101516000015163ffffffff16036116e357846020015181815181106116ab576116ab6120c5565b602002602001015160200151856020015182815181106116cd576116cd6120c5565b602002602001015160400151925092505061086f565b806116ed8161225c565b915050611654565b5060009485945092505050565b6060600061170f83611a6e565b600101905060008167ffffffffffffffff81111561172f5761172f611de3565b6040519080825280601f01601f191660200182016040528015611759576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461176357509392505050565b600554604080517f61bc221a000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916361bc221a9160048083019260209291908290030181865afa158015611830573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185491906129fc565b905090565b6060806000805b848110156118df57600060038188888581811061187f5761187f6120c5565b905060200281019061189191906124ef565b61189f906020810190611dbf565b63ffffffff1663ffffffff16815260200190815260200160002054146118cd57816118c981612a19565b9250505b806118d78161225c565b915050611860565b508061ffff1667ffffffffffffffff8111156118fd576118fd611de3565b604051908082528060200260200182016040528015611926578160200160208202803683370190505b5092508061ffff1667ffffffffffffffff81111561194657611946611de3565b60405190808252806020026020018201604052801561196f578160200160208202803683370190505b50915060005b84811015611a6557600060036000888885818110611995576119956120c5565b90506020028101906119a791906124ef565b6119b5906020810190611dbf565b63ffffffff16815260208101919091526040016000205490508015611a52578686838181106119e6576119e66120c5565b90506020028101906119f891906124ef565b611a06906020810190611dbf565b858381518110611a1857611a186120c5565b602002602001019063ffffffff16908163ffffffff168152505080848381518110611a4557611a456120c5565b6020026020010181815250505b5080611a5d8161225c565b915050611975565b50509250929050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611ab7577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310611ae3576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611b0157662386f26fc10000830492506010015b6305f5e1008310611b19576305f5e100830492506008015b6127108310611b2d57612710830492506004015b60648310611b3f576064830492506002015b600a8310611b4b576001015b92915050565b82805482825590600052602060002090600701600890048101928215611bf05791602002820160005b83821115611bbe57835183826101000a81548163ffffffff021916908363ffffffff1602179055509260200192600401602081600301049283019260010302611b7a565b8015611bee5782816101000a81549063ffffffff0219169055600401602081600301049283019260010302611bbe565b505b50611bfc929150611c3b565b5090565b828054828255906000526020600020908101928215611bf0579160200282015b82811115611bf0578251825591602001919060010190611c20565b5b80821115611bfc5760008155600101611c3c565b600060208284031215611c6257600080fd5b5035919050565b60008083601f840112611c7b57600080fd5b50813567ffffffffffffffff811115611c9357600080fd5b6020830191508360208260051b850101111561086f57600080fd5b60008060008060408587031215611cc457600080fd5b843567ffffffffffffffff80821115611cdc57600080fd5b611ce888838901611c69565b90965094506020870135915080821115611d0157600080fd5b50611d0e87828801611c69565b95989497509550505050565b60005b83811015611d35578181015183820152602001611d1d565b50506000910152565b60008151808452611d56816020860160208601611d1a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b61ffff83168152604060208201526000611da56040830184611d3e565b949350505050565b63ffffffff81168114610b1c57600080fd5b600060208284031215611dd157600080fd5b8135611ddc81611dad565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715611e3557611e35611de3565b60405290565b6040516080810167ffffffffffffffff81118282101715611e3557611e35611de3565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611ea557611ea5611de3565b604052919050565b600067ffffffffffffffff821115611ec757611ec7611de3565b5060051b60200190565b600082601f830112611ee257600080fd5b81356020611ef7611ef283611ead565b611e5e565b82815260059290921b84018101918181019086841115611f1657600080fd5b8286015b84811015611f315780358352918301918301611f1a565b509695505050505050565b60008060408385031215611f4f57600080fd5b823567ffffffffffffffff80821115611f6757600080fd5b818501915085601f830112611f7b57600080fd5b81356020611f8b611ef283611ead565b82815260059290921b84018101918181019089841115611faa57600080fd5b948201945b83861015611fd1578535611fc281611dad565b82529482019490820190611faf565b96505086013592505080821115611fe757600080fd5b50611ff485828601611ed1565b9150509250929050565b67ffffffffffffffff81168114610b1c57600080fd5b60006020828403121561202657600080fd5b8135611ddc81611ffe565b6000806020838503121561204457600080fd5b823567ffffffffffffffff81111561205b57600080fd5b61206785828601611c69565b90969095509350505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610b1c57600080fd5b6000602082840312156120a757600080fd5b8135611ddc81612073565b602081526000611ddc6020830184611d3e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261212957600080fd5b83018035915067ffffffffffffffff82111561214457600080fd5b60200191503681900382131561086f57600080fd5b600082601f83011261216a57600080fd5b813567ffffffffffffffff81111561218457612184611de3565b6121b560207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611e5e565b8181528460208386010111156121ca57600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156121fa57600080fd5b823561220581611dad565b9150602083013567ffffffffffffffff81111561222157600080fd5b611ff485828601612159565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361228d5761228d61222d565b5060010190565b63ffffffff83168152604060208201526000611da56040830184611d3e565b7fffff0000000000000000000000000000000000000000000000000000000000008660f01b1681527fffffffffffffffff0000000000000000000000000000000000000000000000008560c01b16600282015283600a8201526000602a82018451602080870160005b8381101561233e57815163ffffffff168552938201939082019060010161231c565b5050855181870193925060005b818110156123675784518452938201939282019260010161234b565b50919a9950505050505050505050565b600082601f83011261238857600080fd5b81516020612398611ef283611ead565b828152606092830285018201928282019190878511156123b757600080fd5b8387015b858110156124075781818a0312156123d35760008081fd5b6123db611e12565b81516123e681611dad565b815281860151868201526040808301519082015284529284019281016123bb565b5090979650505050505050565b60006020828403121561242657600080fd5b815167ffffffffffffffff8082111561243e57600080fd5b908301906040828603121561245257600080fd5b60405160408101818110838211171561246d5761246d611de3565b604052825161247b81611dad565b815260208301518281111561248f57600080fd5b61249b87828601612377565b60208301525095945050505050565b7f7061636b6574732073697a6520657863656564206c696d6974656420000000008152600082516124e281601c850160208701611d1a565b91909101601c0192915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4183360301811261252357600080fd5b9190910192915050565b600081360360c081121561254057600080fd5b612548611e3b565b606082121561255657600080fd5b61255e611e12565b9150833561256b81611dad565b825260208481013590830152604084013561258581611ffe565b60408301529081526060830135602082015260808301359067ffffffffffffffff808311156125b357600080fd5b6125bf36848701612159565b604083015260a08501359250808311156125d857600080fd5b506125e536838601612159565b60608201529392505050565b60006020828403121561260357600080fd5b8151611ddc81611ffe565b67ffffffffffffffff81811683821601908082111561262f5761262f61222d565b5092915050565b7f736b697070656420696e626f756e644e6f6e63652c207061636b657420696e6481527f65783a2000000000000000000000000000000000000000000000000000000000602082015260008251612694816024850160208701611d1a565b9190910160240192915050565b600067ffffffffffffffff8083168181036126be576126be61222d565b6001019392505050565b7f756e736f72746564207061636b6574732c207061636b657420696e6465783a20815260008251612700816020850160208701611d1a565b9190910160200192915050565b60006020808301818452808554612728818490815260200190565b60008881526020812094509092505b816007820110156127ad57835463ffffffff808216855281871c811687860152604082811c821690860152606082811c821690860152608082811c82169086015260a082811c82169086015260c082811c9091169085015260e090811c9084015260019093019261010090920191600801612737565b925492818110156127c95763ffffffff84168352918401916001015b818110156127e45783851c63ffffffff168352918401916001015b8181101561280157604084901c63ffffffff168352918401916001015b8181101561281e57606084901c63ffffffff168352918401916001015b8181101561283b57608084901c63ffffffff168352918401916001015b818110156128585760a084901c63ffffffff168352918401916001015b818110156128755760c084901c63ffffffff168352918401916001015b818110156128895760e084901c8352918401915b50909695505050505050565b6000602082840312156128a757600080fd5b815167ffffffffffffffff8111156128be57600080fd5b611da584828501612377565b600081518084526020808501945080840160005b83811015612916578151805163ffffffff168852838101518489015260409081015190880152606090960195908201906001016128de565b509495945050505050565b604081526000835163ffffffff81511660408401526020810151606084015267ffffffffffffffff604082015116608084015250602084015160a0830152604084015160c080840152612978610100840182611d3e565b905060608501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08483030160e08501526129b38282611d3e565b91505082810360208401526129c881856128ca565b95945050505050565b6020815263ffffffff825116602082015260006020830151604080840152611da560608401826128ca565b600060208284031215612a0e57600080fd5b8151611ddc81612073565b600061ffff8083168181036126be576126be61222d56fe4f6d6e69436f756e7465725072654372696d653a20696e626f756e64436f756e74203e206f7574626f756e64436f756e74a2646970667358221220044d334fd539a439e70a7a5d69d00788df0d0830dbc32c0e494b560e5688da6e64736f6c63430008130033",
546
+ "devdoc": {
547
+ "kind": "dev",
548
+ "methods": {
549
+ "owner()": {
550
+ "details": "Returns the address of the current owner."
551
+ },
552
+ "renounceOwnership()": {
553
+ "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."
554
+ },
555
+ "transferOwnership(address)": {
556
+ "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."
557
+ }
558
+ },
559
+ "version": 1
560
+ },
561
+ "userdoc": {
562
+ "kind": "user",
563
+ "methods": {},
564
+ "version": 1
565
+ },
566
+ "storageLayout": {
567
+ "storage": [
568
+ {
569
+ "astId": 7003,
570
+ "contract": "contracts/examples/OmniCounterPreCrimeView.sol:OmniCounterPreCrimeView",
571
+ "label": "pAdmin",
572
+ "offset": 0,
573
+ "slot": "0",
574
+ "type": "t_address"
575
+ },
576
+ {
577
+ "astId": 7005,
578
+ "contract": "contracts/examples/OmniCounterPreCrimeView.sol:OmniCounterPreCrimeView",
579
+ "label": "pMaxBatchSize",
580
+ "offset": 20,
581
+ "slot": "0",
582
+ "type": "t_uint64"
583
+ },
584
+ {
585
+ "astId": 7008,
586
+ "contract": "contracts/examples/OmniCounterPreCrimeView.sol:OmniCounterPreCrimeView",
587
+ "label": "precrimeEids",
588
+ "offset": 0,
589
+ "slot": "1",
590
+ "type": "t_array(t_uint32)dyn_storage"
591
+ },
592
+ {
593
+ "astId": 7011,
594
+ "contract": "contracts/examples/OmniCounterPreCrimeView.sol:OmniCounterPreCrimeView",
595
+ "label": "precrimePeers",
596
+ "offset": 0,
597
+ "slot": "2",
598
+ "type": "t_array(t_bytes32)dyn_storage"
599
+ },
600
+ {
601
+ "astId": 7015,
602
+ "contract": "contracts/examples/OmniCounterPreCrimeView.sol:OmniCounterPreCrimeView",
603
+ "label": "precrimeEidToPeer",
604
+ "offset": 0,
605
+ "slot": "3",
606
+ "type": "t_mapping(t_uint32,t_bytes32)"
607
+ },
608
+ {
609
+ "astId": 1830,
610
+ "contract": "contracts/examples/OmniCounterPreCrimeView.sol:OmniCounterPreCrimeView",
611
+ "label": "_owner",
612
+ "offset": 0,
613
+ "slot": "4",
614
+ "type": "t_address"
615
+ },
616
+ {
617
+ "astId": 8919,
618
+ "contract": "contracts/examples/OmniCounterPreCrimeView.sol:OmniCounterPreCrimeView",
619
+ "label": "viewer",
620
+ "offset": 0,
621
+ "slot": "5",
622
+ "type": "t_contract(OmniCounterViewer)9557"
623
+ }
624
+ ],
625
+ "types": {
626
+ "t_address": {
627
+ "encoding": "inplace",
628
+ "label": "address",
629
+ "numberOfBytes": "20"
630
+ },
631
+ "t_array(t_bytes32)dyn_storage": {
632
+ "base": "t_bytes32",
633
+ "encoding": "dynamic_array",
634
+ "label": "bytes32[]",
635
+ "numberOfBytes": "32"
636
+ },
637
+ "t_array(t_uint32)dyn_storage": {
638
+ "base": "t_uint32",
639
+ "encoding": "dynamic_array",
640
+ "label": "uint32[]",
641
+ "numberOfBytes": "32"
642
+ },
643
+ "t_bytes32": {
644
+ "encoding": "inplace",
645
+ "label": "bytes32",
646
+ "numberOfBytes": "32"
647
+ },
648
+ "t_contract(OmniCounterViewer)9557": {
649
+ "encoding": "inplace",
650
+ "label": "contract OmniCounterViewer",
651
+ "numberOfBytes": "20"
652
+ },
653
+ "t_mapping(t_uint32,t_bytes32)": {
654
+ "encoding": "mapping",
655
+ "key": "t_uint32",
656
+ "label": "mapping(uint32 => bytes32)",
657
+ "numberOfBytes": "32",
658
+ "value": "t_bytes32"
659
+ },
660
+ "t_uint32": {
661
+ "encoding": "inplace",
662
+ "label": "uint32",
663
+ "numberOfBytes": "4"
664
+ },
665
+ "t_uint64": {
666
+ "encoding": "inplace",
667
+ "label": "uint64",
668
+ "numberOfBytes": "8"
669
+ }
670
+ }
671
+ }
672
+ }