@layerzerolabs/protocol-v2-oapp-evm-contracts 1.2.95 → 1.2.97

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 (110) hide show
  1. package/README.md +1 -1
  2. package/artifacts/contracts/oapp/OApp.sol/OApp.json +383 -0
  3. package/artifacts/contracts/oapp/OAppCore.sol/OAppCore.json +200 -0
  4. package/artifacts/contracts/oapp/OAppRead.sol/OAppRead.json +401 -0
  5. package/artifacts/contracts/oapp/OAppReceiver.sol/OAppReceiver.json +367 -0
  6. package/artifacts/contracts/oapp/OAppSender.sol/OAppSender.json +216 -0
  7. package/artifacts/contracts/oapp/examples/CmdCodecV1Mock.sol/CmdCodecV1Mock.json +278 -0
  8. package/artifacts/contracts/oapp/examples/LzReadCounter.sol/LzReadCounter.json +843 -0
  9. package/artifacts/contracts/oapp/examples/OmniCounter.sol/OmniCounter.json +925 -0
  10. package/artifacts/contracts/oapp/examples/OmniCounterAbstract.sol/MsgCodec.json +10 -0
  11. package/artifacts/contracts/oapp/examples/OmniCounterAbstract.sol/OmniCounterAbstract.json +909 -0
  12. package/artifacts/contracts/oapp/examples/OmniCounterAlt.sol/OmniCounterAlt.json +948 -0
  13. package/artifacts/contracts/oapp/examples/OmniCounterPreCrime.sol/OmniCounterPreCrime.json +368 -0
  14. package/artifacts/contracts/oapp/interfaces/IOAppComposer.sol/IOAppComposer.json +44 -0
  15. package/artifacts/contracts/oapp/interfaces/IOAppComputer.sol/IOAppComputer.json +59 -0
  16. package/artifacts/contracts/oapp/interfaces/IOAppComputerMap.sol/IOAppComputerMap.json +35 -0
  17. package/artifacts/contracts/oapp/interfaces/IOAppComputerReduce.sol/IOAppComputerReduce.json +35 -0
  18. package/artifacts/contracts/oapp/interfaces/IOAppCore.sol/IOAppCore.json +148 -0
  19. package/artifacts/contracts/oapp/interfaces/IOAppMsgInspector.sol/IOAppMsgInspector.json +51 -0
  20. package/artifacts/contracts/oapp/interfaces/IOAppOptionsType3.sol/IOAppOptionsType3.json +111 -0
  21. package/artifacts/contracts/oapp/interfaces/IOAppReceiver.sol/IOAppReceiver.json +167 -0
  22. package/artifacts/contracts/oapp/libs/OAppOptionsType3.sol/OAppOptionsType3.json +187 -0
  23. package/artifacts/contracts/oapp/libs/OptionsBuilder.sol/OptionsBuilder.json +38 -0
  24. package/artifacts/contracts/oapp/libs/ReadCmdCodecV1.sol/ReadCmdCodecV1.json +21 -0
  25. package/artifacts/contracts/oapp/utils/RateLimiter.sol/RateLimiter.json +104 -0
  26. package/artifacts/contracts/oft/OFT.sol/OFT.json +1514 -0
  27. package/artifacts/contracts/oft/OFTAdapter.sol/OFTAdapter.json +1244 -0
  28. package/artifacts/contracts/oft/OFTCore.sol/OFTCore.json +1244 -0
  29. package/artifacts/contracts/oft/interfaces/IOFT.sol/IOFT.json +456 -0
  30. package/artifacts/contracts/oft/libs/OFTComposeMsgCodec.sol/OFTComposeMsgCodec.json +10 -0
  31. package/artifacts/contracts/oft/libs/OFTMsgCodec.sol/OFTMsgCodec.json +10 -0
  32. package/artifacts/contracts/precrime/OAppPreCrimeSimulator.sol/OAppPreCrimeSimulator.json +277 -0
  33. package/artifacts/contracts/precrime/PreCrime.sol/PreCrime.json +352 -0
  34. package/artifacts/contracts/precrime/extensions/PreCrimeE1.sol/PreCrimeE1.json +352 -0
  35. package/artifacts/contracts/precrime/interfaces/IOAppPreCrimeSimulator.sol/IOAppPreCrimeSimulator.json +175 -0
  36. package/artifacts/contracts/precrime/interfaces/IPreCrime.sol/IPreCrime.json +188 -0
  37. package/artifacts/contracts/precrime/libs/Packet.sol/PacketDecoder.json +10 -0
  38. package/artifacts-tron/contracts/oapp/OApp.sol/OApp.json +383 -0
  39. package/artifacts-tron/contracts/oapp/OAppCore.sol/OAppCore.json +200 -0
  40. package/artifacts-tron/contracts/oapp/OAppRead.sol/OAppRead.json +401 -0
  41. package/artifacts-tron/contracts/oapp/OAppReceiver.sol/OAppReceiver.json +367 -0
  42. package/artifacts-tron/contracts/oapp/OAppSender.sol/OAppSender.json +216 -0
  43. package/artifacts-tron/contracts/oapp/examples/CmdCodecV1Mock.sol/CmdCodecV1Mock.json +278 -0
  44. package/artifacts-tron/contracts/oapp/examples/LzReadCounter.sol/LzReadCounter.json +843 -0
  45. package/artifacts-tron/contracts/oapp/examples/OmniCounter.sol/OmniCounter.json +925 -0
  46. package/artifacts-tron/contracts/oapp/examples/OmniCounterAbstract.sol/MsgCodec.json +10 -0
  47. package/artifacts-tron/contracts/oapp/examples/OmniCounterAbstract.sol/OmniCounterAbstract.json +909 -0
  48. package/artifacts-tron/contracts/oapp/examples/OmniCounterAlt.sol/OmniCounterAlt.json +948 -0
  49. package/artifacts-tron/contracts/oapp/examples/OmniCounterPreCrime.sol/OmniCounterPreCrime.json +368 -0
  50. package/artifacts-tron/contracts/oapp/interfaces/IOAppComposer.sol/IOAppComposer.json +44 -0
  51. package/artifacts-tron/contracts/oapp/interfaces/IOAppComputer.sol/IOAppComputer.json +59 -0
  52. package/artifacts-tron/contracts/oapp/interfaces/IOAppComputerMap.sol/IOAppComputerMap.json +35 -0
  53. package/artifacts-tron/contracts/oapp/interfaces/IOAppComputerReduce.sol/IOAppComputerReduce.json +35 -0
  54. package/artifacts-tron/contracts/oapp/interfaces/IOAppCore.sol/IOAppCore.json +148 -0
  55. package/artifacts-tron/contracts/oapp/interfaces/IOAppMsgInspector.sol/IOAppMsgInspector.json +51 -0
  56. package/artifacts-tron/contracts/oapp/interfaces/IOAppOptionsType3.sol/IOAppOptionsType3.json +111 -0
  57. package/artifacts-tron/contracts/oapp/interfaces/IOAppReceiver.sol/IOAppReceiver.json +167 -0
  58. package/artifacts-tron/contracts/oapp/libs/OAppOptionsType3.sol/OAppOptionsType3.json +187 -0
  59. package/artifacts-tron/contracts/oapp/libs/OptionsBuilder.sol/OptionsBuilder.json +38 -0
  60. package/artifacts-tron/contracts/oapp/libs/ReadCmdCodecV1.sol/ReadCmdCodecV1.json +21 -0
  61. package/artifacts-tron/contracts/oapp/utils/RateLimiter.sol/RateLimiter.json +104 -0
  62. package/artifacts-tron/contracts/oft/OFT.sol/OFT.json +1514 -0
  63. package/artifacts-tron/contracts/oft/OFTAdapter.sol/OFTAdapter.json +1244 -0
  64. package/artifacts-tron/contracts/oft/OFTCore.sol/OFTCore.json +1244 -0
  65. package/artifacts-tron/contracts/oft/interfaces/IOFT.sol/IOFT.json +456 -0
  66. package/artifacts-tron/contracts/oft/libs/OFTComposeMsgCodec.sol/OFTComposeMsgCodec.json +10 -0
  67. package/artifacts-tron/contracts/oft/libs/OFTMsgCodec.sol/OFTMsgCodec.json +10 -0
  68. package/artifacts-tron/contracts/precrime/OAppPreCrimeSimulator.sol/OAppPreCrimeSimulator.json +277 -0
  69. package/artifacts-tron/contracts/precrime/PreCrime.sol/PreCrime.json +352 -0
  70. package/artifacts-tron/contracts/precrime/extensions/PreCrimeE1.sol/PreCrimeE1.json +352 -0
  71. package/artifacts-tron/contracts/precrime/interfaces/IOAppPreCrimeSimulator.sol/IOAppPreCrimeSimulator.json +175 -0
  72. package/artifacts-tron/contracts/precrime/interfaces/IPreCrime.sol/IPreCrime.json +188 -0
  73. package/artifacts-tron/contracts/precrime/libs/Packet.sol/PacketDecoder.json +10 -0
  74. package/artifacts-zk/contracts/oapp/OApp.sol/OApp.json +384 -0
  75. package/artifacts-zk/contracts/oapp/OAppCore.sol/OAppCore.json +201 -0
  76. package/artifacts-zk/contracts/oapp/OAppRead.sol/OAppRead.json +402 -0
  77. package/artifacts-zk/contracts/oapp/OAppReceiver.sol/OAppReceiver.json +368 -0
  78. package/artifacts-zk/contracts/oapp/OAppSender.sol/OAppSender.json +217 -0
  79. package/artifacts-zk/contracts/oapp/examples/CmdCodecV1Mock.sol/CmdCodecV1Mock.json +279 -0
  80. package/artifacts-zk/contracts/oapp/examples/LzReadCounter.sol/LzReadCounter.json +844 -0
  81. package/artifacts-zk/contracts/oapp/examples/OmniCounter.sol/OmniCounter.json +926 -0
  82. package/artifacts-zk/contracts/oapp/examples/OmniCounterAbstract.sol/MsgCodec.json +11 -0
  83. package/artifacts-zk/contracts/oapp/examples/OmniCounterAbstract.sol/OmniCounterAbstract.json +910 -0
  84. package/artifacts-zk/contracts/oapp/examples/OmniCounterAlt.sol/OmniCounterAlt.json +949 -0
  85. package/artifacts-zk/contracts/oapp/examples/OmniCounterPreCrime.sol/OmniCounterPreCrime.json +369 -0
  86. package/artifacts-zk/contracts/oapp/interfaces/IOAppComposer.sol/IOAppComposer.json +45 -0
  87. package/artifacts-zk/contracts/oapp/interfaces/IOAppComputer.sol/IOAppComputer.json +60 -0
  88. package/artifacts-zk/contracts/oapp/interfaces/IOAppComputerMap.sol/IOAppComputerMap.json +36 -0
  89. package/artifacts-zk/contracts/oapp/interfaces/IOAppComputerReduce.sol/IOAppComputerReduce.json +36 -0
  90. package/artifacts-zk/contracts/oapp/interfaces/IOAppCore.sol/IOAppCore.json +149 -0
  91. package/artifacts-zk/contracts/oapp/interfaces/IOAppMsgInspector.sol/IOAppMsgInspector.json +52 -0
  92. package/artifacts-zk/contracts/oapp/interfaces/IOAppOptionsType3.sol/IOAppOptionsType3.json +112 -0
  93. package/artifacts-zk/contracts/oapp/interfaces/IOAppReceiver.sol/IOAppReceiver.json +168 -0
  94. package/artifacts-zk/contracts/oapp/libs/OAppOptionsType3.sol/OAppOptionsType3.json +188 -0
  95. package/artifacts-zk/contracts/oapp/libs/OptionsBuilder.sol/OptionsBuilder.json +39 -0
  96. package/artifacts-zk/contracts/oapp/libs/ReadCmdCodecV1.sol/ReadCmdCodecV1.json +22 -0
  97. package/artifacts-zk/contracts/oapp/utils/RateLimiter.sol/RateLimiter.json +105 -0
  98. package/artifacts-zk/contracts/oft/OFT.sol/OFT.json +1515 -0
  99. package/artifacts-zk/contracts/oft/OFTAdapter.sol/OFTAdapter.json +1245 -0
  100. package/artifacts-zk/contracts/oft/OFTCore.sol/OFTCore.json +1245 -0
  101. package/artifacts-zk/contracts/oft/interfaces/IOFT.sol/IOFT.json +457 -0
  102. package/artifacts-zk/contracts/oft/libs/OFTComposeMsgCodec.sol/OFTComposeMsgCodec.json +11 -0
  103. package/artifacts-zk/contracts/oft/libs/OFTMsgCodec.sol/OFTMsgCodec.json +11 -0
  104. package/artifacts-zk/contracts/precrime/OAppPreCrimeSimulator.sol/OAppPreCrimeSimulator.json +278 -0
  105. package/artifacts-zk/contracts/precrime/PreCrime.sol/PreCrime.json +353 -0
  106. package/artifacts-zk/contracts/precrime/extensions/PreCrimeE1.sol/PreCrimeE1.json +353 -0
  107. package/artifacts-zk/contracts/precrime/interfaces/IOAppPreCrimeSimulator.sol/IOAppPreCrimeSimulator.json +176 -0
  108. package/artifacts-zk/contracts/precrime/interfaces/IPreCrime.sol/IPreCrime.json +189 -0
  109. package/artifacts-zk/contracts/precrime/libs/Packet.sol/PacketDecoder.json +11 -0
  110. package/package.json +7 -7
@@ -0,0 +1,278 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "CmdCodecV1Mock",
4
+ "sourceName": "contracts/oapp/examples/CmdCodecV1Mock.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "InvalidType",
9
+ "type": "error"
10
+ },
11
+ {
12
+ "inputs": [],
13
+ "name": "InvalidVersion",
14
+ "type": "error"
15
+ },
16
+ {
17
+ "inputs": [
18
+ {
19
+ "internalType": "bytes",
20
+ "name": "_cmd",
21
+ "type": "bytes"
22
+ }
23
+ ],
24
+ "name": "decode",
25
+ "outputs": [
26
+ {
27
+ "internalType": "uint16",
28
+ "name": "appCmdLabel",
29
+ "type": "uint16"
30
+ },
31
+ {
32
+ "components": [
33
+ {
34
+ "internalType": "uint16",
35
+ "name": "appRequestLabel",
36
+ "type": "uint16"
37
+ },
38
+ {
39
+ "internalType": "uint32",
40
+ "name": "targetEid",
41
+ "type": "uint32"
42
+ },
43
+ {
44
+ "internalType": "bool",
45
+ "name": "isBlockNum",
46
+ "type": "bool"
47
+ },
48
+ {
49
+ "internalType": "uint64",
50
+ "name": "blockNumOrTimestamp",
51
+ "type": "uint64"
52
+ },
53
+ {
54
+ "internalType": "uint16",
55
+ "name": "confirmations",
56
+ "type": "uint16"
57
+ },
58
+ {
59
+ "internalType": "address",
60
+ "name": "to",
61
+ "type": "address"
62
+ },
63
+ {
64
+ "internalType": "bytes",
65
+ "name": "callData",
66
+ "type": "bytes"
67
+ }
68
+ ],
69
+ "internalType": "struct EVMCallRequestV1[]",
70
+ "name": "evmRequests",
71
+ "type": "tuple[]"
72
+ },
73
+ {
74
+ "components": [
75
+ {
76
+ "internalType": "uint8",
77
+ "name": "computeSetting",
78
+ "type": "uint8"
79
+ },
80
+ {
81
+ "internalType": "uint32",
82
+ "name": "targetEid",
83
+ "type": "uint32"
84
+ },
85
+ {
86
+ "internalType": "bool",
87
+ "name": "isBlockNum",
88
+ "type": "bool"
89
+ },
90
+ {
91
+ "internalType": "uint64",
92
+ "name": "blockNumOrTimestamp",
93
+ "type": "uint64"
94
+ },
95
+ {
96
+ "internalType": "uint16",
97
+ "name": "confirmations",
98
+ "type": "uint16"
99
+ },
100
+ {
101
+ "internalType": "address",
102
+ "name": "to",
103
+ "type": "address"
104
+ }
105
+ ],
106
+ "internalType": "struct EVMCallComputeV1",
107
+ "name": "compute",
108
+ "type": "tuple"
109
+ }
110
+ ],
111
+ "stateMutability": "pure",
112
+ "type": "function"
113
+ },
114
+ {
115
+ "inputs": [
116
+ {
117
+ "internalType": "uint16",
118
+ "name": "_appCmdLabel",
119
+ "type": "uint16"
120
+ },
121
+ {
122
+ "components": [
123
+ {
124
+ "internalType": "uint16",
125
+ "name": "appRequestLabel",
126
+ "type": "uint16"
127
+ },
128
+ {
129
+ "internalType": "uint32",
130
+ "name": "targetEid",
131
+ "type": "uint32"
132
+ },
133
+ {
134
+ "internalType": "bool",
135
+ "name": "isBlockNum",
136
+ "type": "bool"
137
+ },
138
+ {
139
+ "internalType": "uint64",
140
+ "name": "blockNumOrTimestamp",
141
+ "type": "uint64"
142
+ },
143
+ {
144
+ "internalType": "uint16",
145
+ "name": "confirmations",
146
+ "type": "uint16"
147
+ },
148
+ {
149
+ "internalType": "address",
150
+ "name": "to",
151
+ "type": "address"
152
+ },
153
+ {
154
+ "internalType": "bytes",
155
+ "name": "callData",
156
+ "type": "bytes"
157
+ }
158
+ ],
159
+ "internalType": "struct EVMCallRequestV1[]",
160
+ "name": "_evmRequests",
161
+ "type": "tuple[]"
162
+ }
163
+ ],
164
+ "name": "encode",
165
+ "outputs": [
166
+ {
167
+ "internalType": "bytes",
168
+ "name": "",
169
+ "type": "bytes"
170
+ }
171
+ ],
172
+ "stateMutability": "pure",
173
+ "type": "function"
174
+ },
175
+ {
176
+ "inputs": [
177
+ {
178
+ "internalType": "uint16",
179
+ "name": "_appCmdLabel",
180
+ "type": "uint16"
181
+ },
182
+ {
183
+ "components": [
184
+ {
185
+ "internalType": "uint16",
186
+ "name": "appRequestLabel",
187
+ "type": "uint16"
188
+ },
189
+ {
190
+ "internalType": "uint32",
191
+ "name": "targetEid",
192
+ "type": "uint32"
193
+ },
194
+ {
195
+ "internalType": "bool",
196
+ "name": "isBlockNum",
197
+ "type": "bool"
198
+ },
199
+ {
200
+ "internalType": "uint64",
201
+ "name": "blockNumOrTimestamp",
202
+ "type": "uint64"
203
+ },
204
+ {
205
+ "internalType": "uint16",
206
+ "name": "confirmations",
207
+ "type": "uint16"
208
+ },
209
+ {
210
+ "internalType": "address",
211
+ "name": "to",
212
+ "type": "address"
213
+ },
214
+ {
215
+ "internalType": "bytes",
216
+ "name": "callData",
217
+ "type": "bytes"
218
+ }
219
+ ],
220
+ "internalType": "struct EVMCallRequestV1[]",
221
+ "name": "_evmRequests",
222
+ "type": "tuple[]"
223
+ },
224
+ {
225
+ "components": [
226
+ {
227
+ "internalType": "uint8",
228
+ "name": "computeSetting",
229
+ "type": "uint8"
230
+ },
231
+ {
232
+ "internalType": "uint32",
233
+ "name": "targetEid",
234
+ "type": "uint32"
235
+ },
236
+ {
237
+ "internalType": "bool",
238
+ "name": "isBlockNum",
239
+ "type": "bool"
240
+ },
241
+ {
242
+ "internalType": "uint64",
243
+ "name": "blockNumOrTimestamp",
244
+ "type": "uint64"
245
+ },
246
+ {
247
+ "internalType": "uint16",
248
+ "name": "confirmations",
249
+ "type": "uint16"
250
+ },
251
+ {
252
+ "internalType": "address",
253
+ "name": "to",
254
+ "type": "address"
255
+ }
256
+ ],
257
+ "internalType": "struct EVMCallComputeV1",
258
+ "name": "_evmCompute",
259
+ "type": "tuple"
260
+ }
261
+ ],
262
+ "name": "encode",
263
+ "outputs": [
264
+ {
265
+ "internalType": "bytes",
266
+ "name": "",
267
+ "type": "bytes"
268
+ }
269
+ ],
270
+ "stateMutability": "pure",
271
+ "type": "function"
272
+ }
273
+ ],
274
+ "bytecode": "0x608060405234801561001057600080fd5b50d3801561001d57600080fd5b50d2801561002a57600080fd5b506118308061003a6000396000f3fe608060405234801561001057600080fd5b50d3801561001d57600080fd5b50d2801561002a57600080fd5b506004361061005b5760003560e01c80636fbffd35146100605780639c64e24514610089578063e5c5e9a31461009c575b600080fd5b61007361006e366004610c2f565b6100be565b6040516100809190610cf0565b60405180910390f35b610073610097366004610d0a565b6100db565b6100af6100aa366004610d97565b610108565b60405161008093929190610e09565b60606100d3846100ce8486611139565b610152565b949350505050565b60606100ff856100eb8587611139565b6100fa36869003860186611253565b610206565b95945050505050565b6040805160c08101825260008082526020820181905291810182905260608181018390526080820183905260a08201839052906101458585610232565b9250925092509250925092565b606060006001846101638551610342565b6040517fffff00000000000000000000000000000000000000000000000000000000000060f094851b8116602083015292841b83166022820152921b166024820152602601604051602081830303815290604052905060005b83518110156101fc576101e8828583815181106101db576101db6112fa565b60200260200101516103de565b9150806101f481611358565b9150506101bc565b5090505b92915050565b606060006102148585610152565b9050826020015163ffffffff166000146100d3576100ff818461048e565b6040805160c08101825260008082526020820181905291810182905260608181018390526080820183905260a0820183905290600080868187610276826002611390565b92610283939291906113a3565b61028c916113cd565b60f01c905061029c600283611390565b915061ffff81166001146102dc576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8682876102ea826002611390565b926102f7939291906113a3565b610300916113cd565b60f01c9450610310600283611390565b915061031d8787846104e1565b9094509150858210156103395761033587878461076c565b5092505b50509250925092565b600061ffff8211156103da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f3620626974730000000000000000000000000000000000000000000000000000606482015260840160405180910390fd5b5090565b60606000836001846000015160016104068760c001515160236104019190611390565b610342565b60208089015160405161041e97969594939201611415565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252908501516060860151608087015160a088015160c0890151949650610476958795906020016114d0565b60405160208183030381529060405291505092915050565b606082600180846000015185602001518660400151876060015188608001518960a001516040516020016104ca99989796959493929190611593565b604051602081830303815290604052905092915050565b60608160008582866104f4826002611390565b92610501939291906113a3565b61050a916113cd565b60f01c905061051a600283611390565b91508061ffff1667ffffffffffffffff81111561053957610539610f85565b6040519080825280602002602001820160405280156105c057816020015b6040805160e0810182526000808252602080830182905292820181905260608083018290526080830182905260a083019190915260c082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816105575790505b50925060005b8161ffff168161ffff1610156107625760008787858181106105ea576105ea6112fa565b919091013560f81c91506106019050600185611390565b935060ff8116600114610640576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000888589610650826002611390565b9261065d939291906113a3565b610666916113cd565b60f01c9050610676600286611390565b9450600089868a610688826002611390565b92610695939291906113a3565b61069e916113cd565b60f01c90506106ae600287611390565b95507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61ffff82160161071a576000806106ea8c8c8a876109c5565b9150915080975081898761ffff1681518110610708576107086112fa565b6020026020010181905250505061074c565b6040517fb968846100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050808061075a906116e5565b9150506105c6565b5050935093915050565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a08101919091528160008585838181106107b3576107b36112fa565b919091013560f81c91506107ca9050600183611390565b915060ff8116600114610809576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000868387610819826002611390565b92610826939291906113a3565b61082f916113cd565b60f01c905061083f600284611390565b925061ffff811660011461087f576040517fb968846100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b868684818110610891576108916112fa565b919091013560f81c8552506108a7600184611390565b92508683876108b7826004611390565b926108c4939291906113a3565b6108cd91611706565b60e01c60208501526108e0600484611390565b92508686848181106108f4576108f46112fa565b600192013560f81c821460408701525061090e9084611390565b925086838761091e826008611390565b9261092b939291906113a3565b6109349161174c565b60c01c6060850152610947600884611390565b9250868387610957826002611390565b92610964939291906113a3565b61096d916113cd565b60f01c6080850152610980600284611390565b9250868387610990826014611390565b9261099d939291906113a3565b6109a691611792565b60601c60a08501526109b9601484611390565b92505050935093915050565b6040805160e08101825260006020820181905291810182905260608082018390526080820183905260a0820183905260c082015261ffff83168152908390868287610a11826002611390565b92610a1e939291906113a3565b610a27916113cd565b60f01c9050610a37600283611390565b9150868287610a47826004611390565b92610a54939291906113a3565b610a5d91611706565b60e01c6020840152610a70600483611390565b9150868683818110610a8457610a846112fa565b600192013560f81c8214604086015250610a9e9083611390565b9150868287610aae826008611390565b92610abb939291906113a3565b610ac49161174c565b60c01c6060840152610ad7600883611390565b9150868287610ae7826002611390565b92610af4939291906113a3565b610afd916113cd565b60f01c6080840152610b10600283611390565b9150868287610b20826014611390565b92610b2d939291906113a3565b610b3691611792565b60601c60a0840152610b49601483611390565b91506000610b586023836117d8565b9050878388610b6b61ffff851683611390565b92610b78939291906113a3565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060c0850152610bbf61ffff821684611390565b9250505094509492505050565b803561ffff81168114610bde57600080fd5b919050565b60008083601f840112610bf557600080fd5b50813567ffffffffffffffff811115610c0d57600080fd5b6020830191508360208260051b8501011115610c2857600080fd5b9250929050565b600080600060408486031215610c4457600080fd5b610c4d84610bcc565b9250602084013567ffffffffffffffff811115610c6957600080fd5b610c7586828701610be3565b9497909650939450505050565b60005b83811015610c9d578181015183820152602001610c85565b50506000910152565b60008151808452610cbe816020860160208601610c82565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610d036020830184610ca6565b9392505050565b600080600080848603610100811215610d2257600080fd5b610d2b86610bcc565b9450602086013567ffffffffffffffff811115610d4757600080fd5b610d5388828901610be3565b90955093505060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc082011215610d8957600080fd5b509295919450926040019150565b60008060208385031215610daa57600080fd5b823567ffffffffffffffff80821115610dc257600080fd5b818501915085601f830112610dd657600080fd5b813581811115610de557600080fd5b866020828501011115610df757600080fd5b60209290920196919550909350505050565b61ffff84811682526101006020808401829052855191840182905260009261012080860193600581901b87019091019290888201865b82811015610f0a577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee0898703018752815160e086825116885263ffffffff8683015116868901526040808301511515818a015250606080830151610eae828b018267ffffffffffffffff169052565b505060808281015161ffff169089015260a08083015173ffffffffffffffffffffffffffffffffffffffff169089015260c091820151918801819052610ef681890183610ca6565b988601989750505090830190600101610e3f565b505050505080925050506100d3604083018460ff815116825263ffffffff602082015116602083015260408101511515604083015267ffffffffffffffff606082015116606083015261ffff608082015116608083015273ffffffffffffffffffffffffffffffffffffffff60a08201511660a08301525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160e0810167ffffffffffffffff81118282101715610fd757610fd7610f85565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561102457611024610f85565b604052919050565b803563ffffffff81168114610bde57600080fd5b80358015158114610bde57600080fd5b803567ffffffffffffffff81168114610bde57600080fd5b6000813574ffffffffffffffffffffffffffffffffffffffffff8116811461108f57600080fd5b73ffffffffffffffffffffffffffffffffffffffff1692915050565b600082601f8301126110bc57600080fd5b813567ffffffffffffffff8111156110d6576110d6610f85565b61110760207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601610fdd565b81815284602083860101111561111c57600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff8084111561115457611154610f85565b8360051b6020611165818301610fdd565b86815291850191818101903684111561117d57600080fd5b865b84811015611247578035868111156111975760008081fd5b880160e03682900312156111ab5760008081fd5b6111b3610fb4565b6111bc82610bcc565b81526111c986830161102c565b8682015260406111da818401611040565b9082015260606111eb838201611050565b9082015260806111fc838201610bcc565b9082015260a061120d838201611068565b9082015260c082810135898111156112255760008081fd5b611231368286016110ab565b918301919091525084525091830191830161117f565b50979650505050505050565b600060c0828403121561126557600080fd5b60405160c0810181811067ffffffffffffffff8211171561128857611288610f85565b604052823560ff8116811461129c57600080fd5b81526112aa6020840161102c565b60208201526112bb60408401611040565b60408201526112cc60608401611050565b60608201526112dd60808401610bcc565b60808201526112ee60a08401611068565b60a08201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361138957611389611329565b5060010190565b8082018082111561020057610200611329565b600080858511156113b357600080fd5b838611156113c057600080fd5b5050820193919092039150565b7fffff000000000000000000000000000000000000000000000000000000000000813581811691600285101561140d5780818660020360031b1b83161692505b505092915050565b60008751611427818460208c01610c82565b60f89790971b7fff00000000000000000000000000000000000000000000000000000000000000169190960190815260f094851b7fffff000000000000000000000000000000000000000000000000000000000000908116600183015293851b841660038201529190931b909116600582015260e09190911b7fffffffff00000000000000000000000000000000000000000000000000000000166007820152600b0192915050565b600087516114e2818460208c01610c82565b808301905087151560f81b81527fffffffffffffffff0000000000000000000000000000000000000000000000008760c01b1660018201527fffff0000000000000000000000000000000000000000000000000000000000008660f01b1660098201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008560601b16600b820152835161158381601f840160208801610c82565b01601f0198975050505050505050565b60008a516115a5818460208f01610c82565b80830190507fff00000000000000000000000000000000000000000000000000000000000000808c60f81b1682527fffff0000000000000000000000000000000000000000000000000000000000008b60f01b166001830152808a60f81b166003830152507fffffffff000000000000000000000000000000000000000000000000000000008860e01b16600482015286151560f81b6008820152611671600982018760c01b7fffffffffffffffff000000000000000000000000000000000000000000000000169052565b6116a2601182018660f01b7fffff000000000000000000000000000000000000000000000000000000000000169052565b6116d3601382018560601b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169052565b6027019b9a5050505050505050505050565b600061ffff8083168181036116fc576116fc611329565b6001019392505050565b7fffffffff00000000000000000000000000000000000000000000000000000000813581811691600485101561140d5760049490940360031b84901b1690921692915050565b7fffffffffffffffff000000000000000000000000000000000000000000000000813581811691600885101561140d5760089490940360031b84901b1690921692915050565b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000813581811691601485101561140d5760149490940360031b84901b1690921692915050565b61ffff8281168282160390808211156117f3576117f3611329565b509291505056fea26474726f6e582212205901a5308164e0978e70a8ef288daba90cbd8c814ef0926daf0e1e63235e6a2364736f6c63430008140033",
275
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50d3801561001d57600080fd5b50d2801561002a57600080fd5b506004361061005b5760003560e01c80636fbffd35146100605780639c64e24514610089578063e5c5e9a31461009c575b600080fd5b61007361006e366004610c2f565b6100be565b6040516100809190610cf0565b60405180910390f35b610073610097366004610d0a565b6100db565b6100af6100aa366004610d97565b610108565b60405161008093929190610e09565b60606100d3846100ce8486611139565b610152565b949350505050565b60606100ff856100eb8587611139565b6100fa36869003860186611253565b610206565b95945050505050565b6040805160c08101825260008082526020820181905291810182905260608181018390526080820183905260a08201839052906101458585610232565b9250925092509250925092565b606060006001846101638551610342565b6040517fffff00000000000000000000000000000000000000000000000000000000000060f094851b8116602083015292841b83166022820152921b166024820152602601604051602081830303815290604052905060005b83518110156101fc576101e8828583815181106101db576101db6112fa565b60200260200101516103de565b9150806101f481611358565b9150506101bc565b5090505b92915050565b606060006102148585610152565b9050826020015163ffffffff166000146100d3576100ff818461048e565b6040805160c08101825260008082526020820181905291810182905260608181018390526080820183905260a0820183905290600080868187610276826002611390565b92610283939291906113a3565b61028c916113cd565b60f01c905061029c600283611390565b915061ffff81166001146102dc576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8682876102ea826002611390565b926102f7939291906113a3565b610300916113cd565b60f01c9450610310600283611390565b915061031d8787846104e1565b9094509150858210156103395761033587878461076c565b5092505b50509250925092565b600061ffff8211156103da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f3620626974730000000000000000000000000000000000000000000000000000606482015260840160405180910390fd5b5090565b60606000836001846000015160016104068760c001515160236104019190611390565b610342565b60208089015160405161041e97969594939201611415565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252908501516060860151608087015160a088015160c0890151949650610476958795906020016114d0565b60405160208183030381529060405291505092915050565b606082600180846000015185602001518660400151876060015188608001518960a001516040516020016104ca99989796959493929190611593565b604051602081830303815290604052905092915050565b60608160008582866104f4826002611390565b92610501939291906113a3565b61050a916113cd565b60f01c905061051a600283611390565b91508061ffff1667ffffffffffffffff81111561053957610539610f85565b6040519080825280602002602001820160405280156105c057816020015b6040805160e0810182526000808252602080830182905292820181905260608083018290526080830182905260a083019190915260c082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816105575790505b50925060005b8161ffff168161ffff1610156107625760008787858181106105ea576105ea6112fa565b919091013560f81c91506106019050600185611390565b935060ff8116600114610640576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000888589610650826002611390565b9261065d939291906113a3565b610666916113cd565b60f01c9050610676600286611390565b9450600089868a610688826002611390565b92610695939291906113a3565b61069e916113cd565b60f01c90506106ae600287611390565b95507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61ffff82160161071a576000806106ea8c8c8a876109c5565b9150915080975081898761ffff1681518110610708576107086112fa565b6020026020010181905250505061074c565b6040517fb968846100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050808061075a906116e5565b9150506105c6565b5050935093915050565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a08101919091528160008585838181106107b3576107b36112fa565b919091013560f81c91506107ca9050600183611390565b915060ff8116600114610809576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000868387610819826002611390565b92610826939291906113a3565b61082f916113cd565b60f01c905061083f600284611390565b925061ffff811660011461087f576040517fb968846100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b868684818110610891576108916112fa565b919091013560f81c8552506108a7600184611390565b92508683876108b7826004611390565b926108c4939291906113a3565b6108cd91611706565b60e01c60208501526108e0600484611390565b92508686848181106108f4576108f46112fa565b600192013560f81c821460408701525061090e9084611390565b925086838761091e826008611390565b9261092b939291906113a3565b6109349161174c565b60c01c6060850152610947600884611390565b9250868387610957826002611390565b92610964939291906113a3565b61096d916113cd565b60f01c6080850152610980600284611390565b9250868387610990826014611390565b9261099d939291906113a3565b6109a691611792565b60601c60a08501526109b9601484611390565b92505050935093915050565b6040805160e08101825260006020820181905291810182905260608082018390526080820183905260a0820183905260c082015261ffff83168152908390868287610a11826002611390565b92610a1e939291906113a3565b610a27916113cd565b60f01c9050610a37600283611390565b9150868287610a47826004611390565b92610a54939291906113a3565b610a5d91611706565b60e01c6020840152610a70600483611390565b9150868683818110610a8457610a846112fa565b600192013560f81c8214604086015250610a9e9083611390565b9150868287610aae826008611390565b92610abb939291906113a3565b610ac49161174c565b60c01c6060840152610ad7600883611390565b9150868287610ae7826002611390565b92610af4939291906113a3565b610afd916113cd565b60f01c6080840152610b10600283611390565b9150868287610b20826014611390565b92610b2d939291906113a3565b610b3691611792565b60601c60a0840152610b49601483611390565b91506000610b586023836117d8565b9050878388610b6b61ffff851683611390565b92610b78939291906113a3565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060c0850152610bbf61ffff821684611390565b9250505094509492505050565b803561ffff81168114610bde57600080fd5b919050565b60008083601f840112610bf557600080fd5b50813567ffffffffffffffff811115610c0d57600080fd5b6020830191508360208260051b8501011115610c2857600080fd5b9250929050565b600080600060408486031215610c4457600080fd5b610c4d84610bcc565b9250602084013567ffffffffffffffff811115610c6957600080fd5b610c7586828701610be3565b9497909650939450505050565b60005b83811015610c9d578181015183820152602001610c85565b50506000910152565b60008151808452610cbe816020860160208601610c82565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610d036020830184610ca6565b9392505050565b600080600080848603610100811215610d2257600080fd5b610d2b86610bcc565b9450602086013567ffffffffffffffff811115610d4757600080fd5b610d5388828901610be3565b90955093505060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc082011215610d8957600080fd5b509295919450926040019150565b60008060208385031215610daa57600080fd5b823567ffffffffffffffff80821115610dc257600080fd5b818501915085601f830112610dd657600080fd5b813581811115610de557600080fd5b866020828501011115610df757600080fd5b60209290920196919550909350505050565b61ffff84811682526101006020808401829052855191840182905260009261012080860193600581901b87019091019290888201865b82811015610f0a577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee0898703018752815160e086825116885263ffffffff8683015116868901526040808301511515818a015250606080830151610eae828b018267ffffffffffffffff169052565b505060808281015161ffff169089015260a08083015173ffffffffffffffffffffffffffffffffffffffff169089015260c091820151918801819052610ef681890183610ca6565b988601989750505090830190600101610e3f565b505050505080925050506100d3604083018460ff815116825263ffffffff602082015116602083015260408101511515604083015267ffffffffffffffff606082015116606083015261ffff608082015116608083015273ffffffffffffffffffffffffffffffffffffffff60a08201511660a08301525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160e0810167ffffffffffffffff81118282101715610fd757610fd7610f85565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561102457611024610f85565b604052919050565b803563ffffffff81168114610bde57600080fd5b80358015158114610bde57600080fd5b803567ffffffffffffffff81168114610bde57600080fd5b6000813574ffffffffffffffffffffffffffffffffffffffffff8116811461108f57600080fd5b73ffffffffffffffffffffffffffffffffffffffff1692915050565b600082601f8301126110bc57600080fd5b813567ffffffffffffffff8111156110d6576110d6610f85565b61110760207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601610fdd565b81815284602083860101111561111c57600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff8084111561115457611154610f85565b8360051b6020611165818301610fdd565b86815291850191818101903684111561117d57600080fd5b865b84811015611247578035868111156111975760008081fd5b880160e03682900312156111ab5760008081fd5b6111b3610fb4565b6111bc82610bcc565b81526111c986830161102c565b8682015260406111da818401611040565b9082015260606111eb838201611050565b9082015260806111fc838201610bcc565b9082015260a061120d838201611068565b9082015260c082810135898111156112255760008081fd5b611231368286016110ab565b918301919091525084525091830191830161117f565b50979650505050505050565b600060c0828403121561126557600080fd5b60405160c0810181811067ffffffffffffffff8211171561128857611288610f85565b604052823560ff8116811461129c57600080fd5b81526112aa6020840161102c565b60208201526112bb60408401611040565b60408201526112cc60608401611050565b60608201526112dd60808401610bcc565b60808201526112ee60a08401611068565b60a08201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361138957611389611329565b5060010190565b8082018082111561020057610200611329565b600080858511156113b357600080fd5b838611156113c057600080fd5b5050820193919092039150565b7fffff000000000000000000000000000000000000000000000000000000000000813581811691600285101561140d5780818660020360031b1b83161692505b505092915050565b60008751611427818460208c01610c82565b60f89790971b7fff00000000000000000000000000000000000000000000000000000000000000169190960190815260f094851b7fffff000000000000000000000000000000000000000000000000000000000000908116600183015293851b841660038201529190931b909116600582015260e09190911b7fffffffff00000000000000000000000000000000000000000000000000000000166007820152600b0192915050565b600087516114e2818460208c01610c82565b808301905087151560f81b81527fffffffffffffffff0000000000000000000000000000000000000000000000008760c01b1660018201527fffff0000000000000000000000000000000000000000000000000000000000008660f01b1660098201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008560601b16600b820152835161158381601f840160208801610c82565b01601f0198975050505050505050565b60008a516115a5818460208f01610c82565b80830190507fff00000000000000000000000000000000000000000000000000000000000000808c60f81b1682527fffff0000000000000000000000000000000000000000000000000000000000008b60f01b166001830152808a60f81b166003830152507fffffffff000000000000000000000000000000000000000000000000000000008860e01b16600482015286151560f81b6008820152611671600982018760c01b7fffffffffffffffff000000000000000000000000000000000000000000000000169052565b6116a2601182018660f01b7fffff000000000000000000000000000000000000000000000000000000000000169052565b6116d3601382018560601b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169052565b6027019b9a5050505050505050505050565b600061ffff8083168181036116fc576116fc611329565b6001019392505050565b7fffffffff00000000000000000000000000000000000000000000000000000000813581811691600485101561140d5760049490940360031b84901b1690921692915050565b7fffffffffffffffff000000000000000000000000000000000000000000000000813581811691600885101561140d5760089490940360031b84901b1690921692915050565b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000813581811691601485101561140d5760149490940360031b84901b1690921692915050565b61ffff8281168282160390808211156117f3576117f3611329565b509291505056fea26474726f6e582212205901a5308164e0978e70a8ef288daba90cbd8c814ef0926daf0e1e63235e6a2364736f6c63430008140033",
276
+ "linkReferences": {},
277
+ "deployedLinkReferences": {}
278
+ }