@layerzerolabs/lz-evm-sdk-v1 1.5.14 → 1.5.15

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 (33) hide show
  1. package/artifacts/contracts/Endpoint.sol/Endpoint.json +2 -2
  2. package/artifacts/contracts/NonceContract.sol/NonceContract.json +2 -2
  3. package/artifacts/contracts/PriceFeed.sol/PriceFeed.json +2 -2
  4. package/artifacts/contracts/Relayer.sol/Relayer.json +2 -2
  5. package/artifacts/contracts/RelayerV2.sol/RelayerV2.json +2 -2
  6. package/artifacts/contracts/UltraLightNode.sol/UltraLightNode.json +2 -2
  7. package/artifacts/contracts/UltraLightNodeV2.sol/UltraLightNodeV2.json +2 -2
  8. package/artifacts/contracts/messagelib-e2/MessageLibBase.sol/MessageLibBase.json +886 -0
  9. package/artifacts/contracts/messagelib-e2/interfaces/ILayerZeroRelayer.sol/ILayerZeroRelayer.json +79 -0
  10. package/artifacts/contracts/messagelib-e2/interfaces/ILayerZeroTreasury.sol/ILayerZeroTreasury.json +45 -0
  11. package/artifacts/contracts/messagelib-e2/interfaces/IMessageLib.sol/IMessageLib.json +319 -0
  12. package/artifacts/contracts/messagelib-e2/interfaces/IPacket.sol/IPacket.json +10 -0
  13. package/artifacts/contracts/messagelib-e2/libs/BytesLib.sol/BytesLib.json +10 -0
  14. package/artifacts/contracts/messagelib-e2/libs/Options.sol/Options.json +63 -0
  15. package/artifacts/contracts/messagelib-e2/libs/PacketV1Codec.sol/PacketV1Codec.json +10 -0
  16. package/artifacts/contracts/messagelib-e2/libs/RelayerOptions.sol/RelayerOptions.json +76 -0
  17. package/artifacts/contracts/messagelib-e2/libs/TreasuryOptions.sol/TreasuryOptions.json +37 -0
  18. package/artifacts/contracts/messagelib-e2/uln/UlnConfig.sol/UlnConfig.json +356 -0
  19. package/artifacts/contracts/messagelib-e2/uln/UltraLightNode301.sol/UltraLightNode301.json +1381 -0
  20. package/artifacts/contracts/messagelib-e2/uln/interfaces/ILayerZeroOracle.sol/ILayerZeroOracle.json +79 -0
  21. package/artifacts/contracts/messagelib-e2/uln/libs/OracleOptions.sol/OracleOptions.json +24 -0
  22. package/artifacts/contracts/proof/FPValidator.sol/FPValidator.json +2 -2
  23. package/artifacts/contracts/proof/MPTValidator.sol/MPTValidator.json +2 -2
  24. package/artifacts/contracts/proof/MPTValidator01.sol/MPTValidator01.json +2 -2
  25. package/artifacts/contracts/proof/MPTValidatorStgV3.sol/MPTValidatorStgV3.json +2 -2
  26. package/artifacts/contracts/proof/MPTValidatorV2.sol/MPTValidatorV2.json +2 -2
  27. package/artifacts/contracts/proof/MPTValidatorV4.sol/MPTValidatorV4.json +2 -2
  28. package/artifacts/contracts/proof/MPTValidatorV5.sol/MPTValidatorV5.json +2 -2
  29. package/artifacts/contracts/proof/utility/Buffer.sol/Buffer.json +2 -2
  30. package/artifacts/contracts/proof/utility/LayerZeroPacket.sol/LayerZeroPacket.json +2 -2
  31. package/artifacts/contracts/proof/utility/RLPDecode.sol/RLPDecode.json +2 -2
  32. package/artifacts/contracts/proof/utility/UltraLightNodeEVMDecoder.sol/UltraLightNodeEVMDecoder.json +2 -2
  33. package/package.json +12 -4
@@ -0,0 +1,356 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "UlnConfig",
4
+ "sourceName": "contracts/messagelib-e2/uln/UlnConfig.sol",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": true,
11
+ "internalType": "address",
12
+ "name": "previousOwner",
13
+ "type": "address"
14
+ },
15
+ {
16
+ "indexed": true,
17
+ "internalType": "address",
18
+ "name": "newOwner",
19
+ "type": "address"
20
+ }
21
+ ],
22
+ "name": "OwnershipTransferred",
23
+ "type": "event"
24
+ },
25
+ {
26
+ "anonymous": false,
27
+ "inputs": [
28
+ {
29
+ "indexed": true,
30
+ "internalType": "uint32",
31
+ "name": "eid",
32
+ "type": "uint32"
33
+ },
34
+ {
35
+ "indexed": false,
36
+ "internalType": "uint64",
37
+ "name": "inboundBlockConfirm",
38
+ "type": "uint64"
39
+ },
40
+ {
41
+ "indexed": false,
42
+ "internalType": "address[]",
43
+ "name": "oracles",
44
+ "type": "address[]"
45
+ },
46
+ {
47
+ "indexed": false,
48
+ "internalType": "address[]",
49
+ "name": "optionalOracles",
50
+ "type": "address[]"
51
+ },
52
+ {
53
+ "indexed": false,
54
+ "internalType": "uint16",
55
+ "name": "optionalOraclesThreshold",
56
+ "type": "uint16"
57
+ }
58
+ ],
59
+ "name": "SetDefaultConfig",
60
+ "type": "event"
61
+ },
62
+ {
63
+ "anonymous": false,
64
+ "inputs": [
65
+ {
66
+ "indexed": true,
67
+ "internalType": "address",
68
+ "name": "oapp",
69
+ "type": "address"
70
+ },
71
+ {
72
+ "indexed": true,
73
+ "internalType": "uint256",
74
+ "name": "configType",
75
+ "type": "uint256"
76
+ },
77
+ {
78
+ "indexed": false,
79
+ "internalType": "bytes",
80
+ "name": "newConfig",
81
+ "type": "bytes"
82
+ }
83
+ ],
84
+ "name": "UlnConfigUpdated",
85
+ "type": "event"
86
+ },
87
+ {
88
+ "inputs": [],
89
+ "name": "CONFIG_TYPE_INBOUND_CONFIRMATIONS",
90
+ "outputs": [
91
+ {
92
+ "internalType": "uint32",
93
+ "name": "",
94
+ "type": "uint32"
95
+ }
96
+ ],
97
+ "stateMutability": "view",
98
+ "type": "function"
99
+ },
100
+ {
101
+ "inputs": [],
102
+ "name": "CONFIG_TYPE_OPTIONAL_ORACLES",
103
+ "outputs": [
104
+ {
105
+ "internalType": "uint32",
106
+ "name": "",
107
+ "type": "uint32"
108
+ }
109
+ ],
110
+ "stateMutability": "view",
111
+ "type": "function"
112
+ },
113
+ {
114
+ "inputs": [],
115
+ "name": "CONFIG_TYPE_ORACLES",
116
+ "outputs": [
117
+ {
118
+ "internalType": "uint32",
119
+ "name": "",
120
+ "type": "uint32"
121
+ }
122
+ ],
123
+ "stateMutability": "view",
124
+ "type": "function"
125
+ },
126
+ {
127
+ "inputs": [
128
+ {
129
+ "internalType": "uint32",
130
+ "name": "",
131
+ "type": "uint32"
132
+ }
133
+ ],
134
+ "name": "defaultUlnConfig",
135
+ "outputs": [
136
+ {
137
+ "internalType": "uint64",
138
+ "name": "inboundConfirmations",
139
+ "type": "uint64"
140
+ },
141
+ {
142
+ "internalType": "bool",
143
+ "name": "useCustomOracles",
144
+ "type": "bool"
145
+ },
146
+ {
147
+ "internalType": "bool",
148
+ "name": "useCustomOptionalOracles",
149
+ "type": "bool"
150
+ },
151
+ {
152
+ "internalType": "uint16",
153
+ "name": "oraclesCount",
154
+ "type": "uint16"
155
+ },
156
+ {
157
+ "internalType": "uint16",
158
+ "name": "optionalOraclesCount",
159
+ "type": "uint16"
160
+ },
161
+ {
162
+ "internalType": "uint16",
163
+ "name": "optionalOraclesThreshold",
164
+ "type": "uint16"
165
+ }
166
+ ],
167
+ "stateMutability": "view",
168
+ "type": "function"
169
+ },
170
+ {
171
+ "inputs": [
172
+ {
173
+ "internalType": "address",
174
+ "name": "_oapp",
175
+ "type": "address"
176
+ },
177
+ {
178
+ "internalType": "uint32",
179
+ "name": "_remoteEid",
180
+ "type": "uint32"
181
+ }
182
+ ],
183
+ "name": "getUlnConfig",
184
+ "outputs": [
185
+ {
186
+ "components": [
187
+ {
188
+ "internalType": "uint64",
189
+ "name": "inboundConfirmations",
190
+ "type": "uint64"
191
+ },
192
+ {
193
+ "internalType": "bool",
194
+ "name": "useCustomOracles",
195
+ "type": "bool"
196
+ },
197
+ {
198
+ "internalType": "bool",
199
+ "name": "useCustomOptionalOracles",
200
+ "type": "bool"
201
+ },
202
+ {
203
+ "internalType": "uint16",
204
+ "name": "oraclesCount",
205
+ "type": "uint16"
206
+ },
207
+ {
208
+ "internalType": "uint16",
209
+ "name": "optionalOraclesCount",
210
+ "type": "uint16"
211
+ },
212
+ {
213
+ "internalType": "uint16",
214
+ "name": "optionalOraclesThreshold",
215
+ "type": "uint16"
216
+ },
217
+ {
218
+ "internalType": "address[]",
219
+ "name": "oracles",
220
+ "type": "address[]"
221
+ },
222
+ {
223
+ "internalType": "address[]",
224
+ "name": "optionalOracles",
225
+ "type": "address[]"
226
+ }
227
+ ],
228
+ "internalType": "struct UlnConfig.Config",
229
+ "name": "",
230
+ "type": "tuple"
231
+ }
232
+ ],
233
+ "stateMutability": "view",
234
+ "type": "function"
235
+ },
236
+ {
237
+ "inputs": [],
238
+ "name": "owner",
239
+ "outputs": [
240
+ {
241
+ "internalType": "address",
242
+ "name": "",
243
+ "type": "address"
244
+ }
245
+ ],
246
+ "stateMutability": "view",
247
+ "type": "function"
248
+ },
249
+ {
250
+ "inputs": [],
251
+ "name": "renounceOwnership",
252
+ "outputs": [],
253
+ "stateMutability": "nonpayable",
254
+ "type": "function"
255
+ },
256
+ {
257
+ "inputs": [
258
+ {
259
+ "internalType": "uint32",
260
+ "name": "_eid",
261
+ "type": "uint32"
262
+ },
263
+ {
264
+ "internalType": "uint64",
265
+ "name": "_inboundConfirmations",
266
+ "type": "uint64"
267
+ },
268
+ {
269
+ "internalType": "address[]",
270
+ "name": "_oracles",
271
+ "type": "address[]"
272
+ },
273
+ {
274
+ "internalType": "address[]",
275
+ "name": "_optionalOracles",
276
+ "type": "address[]"
277
+ },
278
+ {
279
+ "internalType": "uint16",
280
+ "name": "_optionalOraclesThreshold",
281
+ "type": "uint16"
282
+ }
283
+ ],
284
+ "name": "setDefaultConfig",
285
+ "outputs": [],
286
+ "stateMutability": "nonpayable",
287
+ "type": "function"
288
+ },
289
+ {
290
+ "inputs": [
291
+ {
292
+ "internalType": "address",
293
+ "name": "newOwner",
294
+ "type": "address"
295
+ }
296
+ ],
297
+ "name": "transferOwnership",
298
+ "outputs": [],
299
+ "stateMutability": "nonpayable",
300
+ "type": "function"
301
+ },
302
+ {
303
+ "inputs": [
304
+ {
305
+ "internalType": "address",
306
+ "name": "",
307
+ "type": "address"
308
+ },
309
+ {
310
+ "internalType": "uint32",
311
+ "name": "",
312
+ "type": "uint32"
313
+ }
314
+ ],
315
+ "name": "ulnConfig",
316
+ "outputs": [
317
+ {
318
+ "internalType": "uint64",
319
+ "name": "inboundConfirmations",
320
+ "type": "uint64"
321
+ },
322
+ {
323
+ "internalType": "bool",
324
+ "name": "useCustomOracles",
325
+ "type": "bool"
326
+ },
327
+ {
328
+ "internalType": "bool",
329
+ "name": "useCustomOptionalOracles",
330
+ "type": "bool"
331
+ },
332
+ {
333
+ "internalType": "uint16",
334
+ "name": "oraclesCount",
335
+ "type": "uint16"
336
+ },
337
+ {
338
+ "internalType": "uint16",
339
+ "name": "optionalOraclesCount",
340
+ "type": "uint16"
341
+ },
342
+ {
343
+ "internalType": "uint16",
344
+ "name": "optionalOraclesThreshold",
345
+ "type": "uint16"
346
+ }
347
+ ],
348
+ "stateMutability": "view",
349
+ "type": "function"
350
+ }
351
+ ],
352
+ "bytecode": "0x608060405234801561001057600080fd5b50600061001b61006a565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35061006e565b3390565b6110b08061007d6000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80638acb8054116100665780638acb8054146101235780638da5cb5b1461012b578063d18404bb14610140578063eb53479c14610153578063f2fde38b1461015b5761009e565b80631538bffa146100a357806343ea4fa9146100c15780634a575bb7146100e15780634f8f455c146100f6578063715018a61461011b575b600080fd5b6100ab61016e565b6040516100b89190610fb6565b60405180910390f35b6100d46100cf366004610c9c565b610173565b6040516100b89190610efe565b6100f46100ef366004610ce8565b610481565b005b610109610104366004610c9c565b610839565b6040516100b896959493929190611016565b6100f4610899565b6100ab610957565b61013361095c565b6040516100b89190610e24565b61010961014e366004610cce565b61096b565b6100ab6109c0565b6100f4610169366004610c7b565b6109c5565b600581565b61017b610b42565b6001600160a01b038316600090815260016020818152604080842063ffffffff871685528252808420815161010081018352815467ffffffffffffffff8116825260ff600160401b82048116151583870152600160481b82041615158285015261ffff600160501b820481166060840152600160601b820481166080840152600160701b9091041660a08201529381018054835181860281018601909452808452919360c0860193929083018282801561025e57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610240575b50505050508152602001600282018054806020026020016040519081016040528092919081815260200182805480156102c057602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116102a2575b5050509190925250505063ffffffff8416600090815260026020526040902080549192509067ffffffffffffffff166103145760405162461bcd60e51b815260040161030b90610ebc565b60405180910390fd5b815167ffffffffffffffff1661033357805467ffffffffffffffff1682525b81602001516103b1578060010180548060200260200160405190810160405280929190818152602001828054801561039457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610376575b505050505060c08301528054600160501b900461ffff1660608301525b816040015161043e578060020180548060200260200160405190810160405280929190818152602001828054801561041257602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116103f4575b505050505060e0830152805461ffff600160601b820481166080850152600160701b9091041660a08301525b6000826060015161ffff16118061045d575060008260a0015161ffff16115b6104795760405162461bcd60e51b815260040161030b90610e38565b509392505050565b610489610ad9565b6001600160a01b031661049a61095c565b6001600160a01b0316146104f5576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b838267ffffffffffffffff881661051e5760405162461bcd60e51b815260040161030b90610e7a565b61ffff8211158015610532575061ffff8111155b80156105425750808361ffff1611155b61055e5760405162461bcd60e51b815260040161030b90610edd565b6000821180610571575060008361ffff16115b61058d5760405162461bcd60e51b815260040161030b90610e9b565b6105cb878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250869250610add915050565b610609858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250859250610add915050565b6040518061010001604052808967ffffffffffffffff1681526020016000151581526020016000151581526020018361ffff1681526020018261ffff1681526020018461ffff1681526020018888808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505050908252506040805160208881028281018201909352888252928301929091899189918291850190849080828437600092018290525093909452505063ffffffff8c168152600260209081526040918290208451815486840151948701516060880151608089015160a08a015167ffffffffffffffff1990941667ffffffffffffffff9095169490941768ff00000000000000001916600160401b971515979097029690961769ff0000000000000000001916600160481b91151591909102176bffff000000000000000000001916600160501b61ffff96871602176dffff0000000000000000000000001916600160601b92861692909202919091176fffff00000000000000000000000000001916600160701b949091169390930292909217825560c084015180519293506107c69260018501929190910190610b88565b5060e082015180516107e2916002840191602090910190610b88565b509050508863ffffffff167fcefc09e599b8a950c1c6a0e233dfd90adac40718fb137ced2ec19d472b8e2a2089898989898960405161082696959493929190610fc7565b60405180910390a2505050505050505050565b600160209081526000928352604080842090915290825290205467ffffffffffffffff81169060ff600160401b8204811691600160481b81049091169061ffff600160501b8204811691600160601b8104821691600160701b9091041686565b6108a1610ad9565b6001600160a01b03166108b261095c565b6001600160a01b03161461090d576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600681565b6000546001600160a01b031690565b60026020526000908152604090205467ffffffffffffffff81169060ff600160401b8204811691600160481b81049091169061ffff600160501b8204811691600160601b8104821691600160701b9091041686565b600481565b6109cd610ad9565b6001600160a01b03166109de61095c565b6001600160a01b031614610a39576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116610a7e5760405162461bcd60e51b81526004018080602001828103825260268152602001806110556026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b6000805b82811015610b3c576000848281518110610af757fe5b60200260200101519050826001600160a01b0316816001600160a01b031611610b325760405162461bcd60e51b815260040161030b90610e59565b9150600101610ae1565b50505050565b604080516101008101825260008082526020820181905291810182905260608082018390526080820183905260a082019290925260c0810182905260e081019190915290565b828054828255906000526020600020908101928215610bdd579160200282015b82811115610bdd57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190610ba8565b50610be9929150610bed565b5090565b5b80821115610be95760008155600101610bee565b80356001600160a01b0381168114610c1957600080fd5b919050565b60008083601f840112610c2f578182fd5b50813567ffffffffffffffff811115610c46578182fd5b6020830191508360208083028501011115610c6057600080fd5b9250929050565b803563ffffffff81168114610c1957600080fd5b600060208284031215610c8c578081fd5b610c9582610c02565b9392505050565b60008060408385031215610cae578081fd5b610cb783610c02565b9150610cc560208401610c67565b90509250929050565b600060208284031215610cdf578081fd5b610c9582610c67565b600080600080600080600060a0888a031215610d02578283fd5b610d0b88610c67565b9650602088013567ffffffffffffffff8082168214610d28578485fd5b90965060408901359080821115610d3d578485fd5b610d498b838c01610c1e565b909750955060608a0135915080821115610d61578485fd5b50610d6e8a828b01610c1e565b909450925050608088013561ffff81168114610d88578182fd5b8091505092959891949750929550565b60008284526020808501945082825b85811015610dd3576001600160a01b03610dc083610c02565b1687529582019590820190600101610da7565b509495945050505050565b6000815180845260208085019450808401835b83811015610dd35781516001600160a01b031687529582019590820190600101610df1565b15159052565b61ffff169052565b6001600160a01b0391909116815260200190565b6020808252600790820152664c5a443030303560c81b604082015260600190565b602080825260079082015266262d189818181b60c91b604082015260600190565b60208082526007908201526604c5a31303030360cc1b604082015260600190565b6020808252600790820152664c5a313030313160c81b604082015260600190565b602080825260079082015266098b462606060760cb1b604082015260600190565b6020808252600790820152664c5a313030303960c81b604082015260600190565b60006020825267ffffffffffffffff83511660208301526020830151610f276040840182610e16565b506040830151610f3a6060840182610e16565b506060830151610f4d6080840182610e1c565b506080830151610f6060a0840182610e1c565b5060a0830151610f7360c0840182610e1c565b5060c08301516101008060e0850152610f90610120850183610dde565b915060e0850151601f198584030182860152610fac8382610dde565b9695505050505050565b63ffffffff91909116815260200190565b600067ffffffffffffffff8816825260806020830152610feb608083018789610d98565b8281036040840152610ffe818688610d98565b91505061ffff83166060830152979650505050505050565b67ffffffffffffffff9690961686529315156020860152911515604085015261ffff908116606085015290811660808401521660a082015260c0019056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373a2646970667358221220a7ff90598eea74bcd8cb67850753ae5328cc80e653594a65b292d968fe3b646a64736f6c63430007060033",
353
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061009e5760003560e01c80638acb8054116100665780638acb8054146101235780638da5cb5b1461012b578063d18404bb14610140578063eb53479c14610153578063f2fde38b1461015b5761009e565b80631538bffa146100a357806343ea4fa9146100c15780634a575bb7146100e15780634f8f455c146100f6578063715018a61461011b575b600080fd5b6100ab61016e565b6040516100b89190610fb6565b60405180910390f35b6100d46100cf366004610c9c565b610173565b6040516100b89190610efe565b6100f46100ef366004610ce8565b610481565b005b610109610104366004610c9c565b610839565b6040516100b896959493929190611016565b6100f4610899565b6100ab610957565b61013361095c565b6040516100b89190610e24565b61010961014e366004610cce565b61096b565b6100ab6109c0565b6100f4610169366004610c7b565b6109c5565b600581565b61017b610b42565b6001600160a01b038316600090815260016020818152604080842063ffffffff871685528252808420815161010081018352815467ffffffffffffffff8116825260ff600160401b82048116151583870152600160481b82041615158285015261ffff600160501b820481166060840152600160601b820481166080840152600160701b9091041660a08201529381018054835181860281018601909452808452919360c0860193929083018282801561025e57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610240575b50505050508152602001600282018054806020026020016040519081016040528092919081815260200182805480156102c057602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116102a2575b5050509190925250505063ffffffff8416600090815260026020526040902080549192509067ffffffffffffffff166103145760405162461bcd60e51b815260040161030b90610ebc565b60405180910390fd5b815167ffffffffffffffff1661033357805467ffffffffffffffff1682525b81602001516103b1578060010180548060200260200160405190810160405280929190818152602001828054801561039457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610376575b505050505060c08301528054600160501b900461ffff1660608301525b816040015161043e578060020180548060200260200160405190810160405280929190818152602001828054801561041257602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116103f4575b505050505060e0830152805461ffff600160601b820481166080850152600160701b9091041660a08301525b6000826060015161ffff16118061045d575060008260a0015161ffff16115b6104795760405162461bcd60e51b815260040161030b90610e38565b509392505050565b610489610ad9565b6001600160a01b031661049a61095c565b6001600160a01b0316146104f5576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b838267ffffffffffffffff881661051e5760405162461bcd60e51b815260040161030b90610e7a565b61ffff8211158015610532575061ffff8111155b80156105425750808361ffff1611155b61055e5760405162461bcd60e51b815260040161030b90610edd565b6000821180610571575060008361ffff16115b61058d5760405162461bcd60e51b815260040161030b90610e9b565b6105cb878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250869250610add915050565b610609858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250859250610add915050565b6040518061010001604052808967ffffffffffffffff1681526020016000151581526020016000151581526020018361ffff1681526020018261ffff1681526020018461ffff1681526020018888808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505050908252506040805160208881028281018201909352888252928301929091899189918291850190849080828437600092018290525093909452505063ffffffff8c168152600260209081526040918290208451815486840151948701516060880151608089015160a08a015167ffffffffffffffff1990941667ffffffffffffffff9095169490941768ff00000000000000001916600160401b971515979097029690961769ff0000000000000000001916600160481b91151591909102176bffff000000000000000000001916600160501b61ffff96871602176dffff0000000000000000000000001916600160601b92861692909202919091176fffff00000000000000000000000000001916600160701b949091169390930292909217825560c084015180519293506107c69260018501929190910190610b88565b5060e082015180516107e2916002840191602090910190610b88565b509050508863ffffffff167fcefc09e599b8a950c1c6a0e233dfd90adac40718fb137ced2ec19d472b8e2a2089898989898960405161082696959493929190610fc7565b60405180910390a2505050505050505050565b600160209081526000928352604080842090915290825290205467ffffffffffffffff81169060ff600160401b8204811691600160481b81049091169061ffff600160501b8204811691600160601b8104821691600160701b9091041686565b6108a1610ad9565b6001600160a01b03166108b261095c565b6001600160a01b03161461090d576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600681565b6000546001600160a01b031690565b60026020526000908152604090205467ffffffffffffffff81169060ff600160401b8204811691600160481b81049091169061ffff600160501b8204811691600160601b8104821691600160701b9091041686565b600481565b6109cd610ad9565b6001600160a01b03166109de61095c565b6001600160a01b031614610a39576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116610a7e5760405162461bcd60e51b81526004018080602001828103825260268152602001806110556026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b6000805b82811015610b3c576000848281518110610af757fe5b60200260200101519050826001600160a01b0316816001600160a01b031611610b325760405162461bcd60e51b815260040161030b90610e59565b9150600101610ae1565b50505050565b604080516101008101825260008082526020820181905291810182905260608082018390526080820183905260a082019290925260c0810182905260e081019190915290565b828054828255906000526020600020908101928215610bdd579160200282015b82811115610bdd57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190610ba8565b50610be9929150610bed565b5090565b5b80821115610be95760008155600101610bee565b80356001600160a01b0381168114610c1957600080fd5b919050565b60008083601f840112610c2f578182fd5b50813567ffffffffffffffff811115610c46578182fd5b6020830191508360208083028501011115610c6057600080fd5b9250929050565b803563ffffffff81168114610c1957600080fd5b600060208284031215610c8c578081fd5b610c9582610c02565b9392505050565b60008060408385031215610cae578081fd5b610cb783610c02565b9150610cc560208401610c67565b90509250929050565b600060208284031215610cdf578081fd5b610c9582610c67565b600080600080600080600060a0888a031215610d02578283fd5b610d0b88610c67565b9650602088013567ffffffffffffffff8082168214610d28578485fd5b90965060408901359080821115610d3d578485fd5b610d498b838c01610c1e565b909750955060608a0135915080821115610d61578485fd5b50610d6e8a828b01610c1e565b909450925050608088013561ffff81168114610d88578182fd5b8091505092959891949750929550565b60008284526020808501945082825b85811015610dd3576001600160a01b03610dc083610c02565b1687529582019590820190600101610da7565b509495945050505050565b6000815180845260208085019450808401835b83811015610dd35781516001600160a01b031687529582019590820190600101610df1565b15159052565b61ffff169052565b6001600160a01b0391909116815260200190565b6020808252600790820152664c5a443030303560c81b604082015260600190565b602080825260079082015266262d189818181b60c91b604082015260600190565b60208082526007908201526604c5a31303030360cc1b604082015260600190565b6020808252600790820152664c5a313030313160c81b604082015260600190565b602080825260079082015266098b462606060760cb1b604082015260600190565b6020808252600790820152664c5a313030303960c81b604082015260600190565b60006020825267ffffffffffffffff83511660208301526020830151610f276040840182610e16565b506040830151610f3a6060840182610e16565b506060830151610f4d6080840182610e1c565b506080830151610f6060a0840182610e1c565b5060a0830151610f7360c0840182610e1c565b5060c08301516101008060e0850152610f90610120850183610dde565b915060e0850151601f198584030182860152610fac8382610dde565b9695505050505050565b63ffffffff91909116815260200190565b600067ffffffffffffffff8816825260806020830152610feb608083018789610d98565b8281036040840152610ffe818688610d98565b91505061ffff83166060830152979650505050505050565b67ffffffffffffffff9690961686529315156020860152911515604085015261ffff908116606085015290811660808401521660a082015260c0019056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373a2646970667358221220a7ff90598eea74bcd8cb67850753ae5328cc80e653594a65b292d968fe3b646a64736f6c63430007060033",
354
+ "linkReferences": {},
355
+ "deployedLinkReferences": {}
356
+ }