@pendle/core-v2 6.0.0 → 6.1.0-cross-chain-pt

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 (44) hide show
  1. package/build/artifacts/contracts/cross-chain/FixedPricePTAMM.sol/FixedPricePTAMM.dbg.json +4 -0
  2. package/build/artifacts/contracts/cross-chain/FixedPricePTAMM.sol/FixedPricePTAMM.json +466 -0
  3. package/build/artifacts/contracts/cross-chain/factory/hub/PendlePTOFTAdapterFactory.sol/PendlePTOFTAdapterFactory.dbg.json +4 -0
  4. package/build/artifacts/contracts/cross-chain/factory/hub/PendlePTOFTAdapterFactory.sol/PendlePTOFTAdapterFactory.json +191 -0
  5. package/build/artifacts/contracts/cross-chain/oftImpl/hub/OFTAdapterImpl.sol/OFTAdapterImpl.dbg.json +4 -0
  6. package/build/artifacts/contracts/cross-chain/oftImpl/hub/OFTAdapterImpl.sol/OFTAdapterImpl.json +1265 -0
  7. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/BasePendleBridgedPrincipalToken.dbg.json +4 -0
  8. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/BasePendleBridgedPrincipalToken.json +1527 -0
  9. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken_18Decimals.dbg.json +4 -0
  10. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken_18Decimals.json +1558 -0
  11. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken_6Decimals.dbg.json +4 -0
  12. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken_6Decimals.json +1558 -0
  13. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken_8Decimals.dbg.json +4 -0
  14. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken_8Decimals.json +1558 -0
  15. package/build/artifacts/contracts/interfaces/IPBridgedPrincipalToken.sol/IPBridgedPrincipalToken.dbg.json +4 -0
  16. package/build/artifacts/contracts/interfaces/IPBridgedPrincipalToken.sol/IPBridgedPrincipalToken.json +928 -0
  17. package/build/artifacts/contracts/interfaces/IPChainlinkOracleEssential.sol/IPChainlinkOracleEssential.dbg.json +4 -0
  18. package/build/artifacts/contracts/interfaces/IPChainlinkOracleEssential.sol/IPChainlinkOracleEssential.json +57 -0
  19. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMM.dbg.json +4 -0
  20. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMM.json +302 -0
  21. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMMSwapCallback.dbg.json +4 -0
  22. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMMSwapCallback.json +34 -0
  23. package/build/artifacts/contracts/interfaces/IPPTOFTAdapterFactory.sol/IPPTOFTAdapterFactory.dbg.json +4 -0
  24. package/build/artifacts/contracts/interfaces/IPPTOFTAdapterFactory.sol/IPPTOFTAdapterFactory.json +81 -0
  25. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PTExpiry.dbg.json +1 -1
  26. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PendleSparkLinearDiscountOracle.dbg.json +1 -1
  27. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PendleSparkLinearDiscountOracle.json +2 -2
  28. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.dbg.json +1 -1
  29. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.json +2 -2
  30. package/contracts/cross-chain/FixedPricePTAMM.sol +121 -0
  31. package/contracts/cross-chain/factory/hub/PendlePTOFTAdapterFactory.sol +33 -0
  32. package/contracts/cross-chain/oftImpl/hub/OFTAdapterImpl.sol +12 -0
  33. package/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol +61 -0
  34. package/contracts/interfaces/IPBridgedPrincipalToken.sol +11 -0
  35. package/contracts/interfaces/IPChainlinkOracleEssential.sol +11 -0
  36. package/contracts/interfaces/IPFixedPricePTAMM.sol +54 -0
  37. package/contracts/interfaces/IPPTOFTAdapterFactory.sol +12 -0
  38. package/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol +3 -1
  39. package/deployments/1-core.json +2 -1
  40. package/package.json +4 -1
  41. package/typechain-types/factories/PendleSparkLinearDiscountOracleFactory__factory.ts +1 -1
  42. package/typechain-types/factories/PendleSparkLinearDiscountOracle__factory.ts +1 -1
  43. package/typechain-types/hardhat.d.ts +108 -0
  44. package/typechain-types/index.ts +24 -0
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/99777bc8a168340fa340aef0d96eff30.json"
4
+ }
@@ -0,0 +1,466 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "FixedPricePTAMM",
4
+ "sourceName": "contracts/cross-chain/FixedPricePTAMM.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "stateMutability": "nonpayable",
9
+ "type": "constructor"
10
+ },
11
+ {
12
+ "inputs": [
13
+ {
14
+ "internalType": "address",
15
+ "name": "PT",
16
+ "type": "address"
17
+ },
18
+ {
19
+ "internalType": "uint256",
20
+ "name": "actualAmount",
21
+ "type": "uint256"
22
+ },
23
+ {
24
+ "internalType": "uint256",
25
+ "name": "requiredAmount",
26
+ "type": "uint256"
27
+ }
28
+ ],
29
+ "name": "InsufficientPtReceived",
30
+ "type": "error"
31
+ },
32
+ {
33
+ "inputs": [
34
+ {
35
+ "internalType": "address",
36
+ "name": "token",
37
+ "type": "address"
38
+ },
39
+ {
40
+ "internalType": "uint256",
41
+ "name": "actualAmount",
42
+ "type": "uint256"
43
+ },
44
+ {
45
+ "internalType": "uint256",
46
+ "name": "requiredAmount",
47
+ "type": "uint256"
48
+ }
49
+ ],
50
+ "name": "InsufficientTokenForTrade",
51
+ "type": "error"
52
+ },
53
+ {
54
+ "inputs": [
55
+ {
56
+ "internalType": "address",
57
+ "name": "PT",
58
+ "type": "address"
59
+ },
60
+ {
61
+ "internalType": "address",
62
+ "name": "token",
63
+ "type": "address"
64
+ }
65
+ ],
66
+ "name": "OracleNotSet",
67
+ "type": "error"
68
+ },
69
+ {
70
+ "anonymous": false,
71
+ "inputs": [
72
+ {
73
+ "indexed": false,
74
+ "internalType": "uint8",
75
+ "name": "version",
76
+ "type": "uint8"
77
+ }
78
+ ],
79
+ "name": "Initialized",
80
+ "type": "event"
81
+ },
82
+ {
83
+ "anonymous": false,
84
+ "inputs": [
85
+ {
86
+ "indexed": true,
87
+ "internalType": "address",
88
+ "name": "previousOwner",
89
+ "type": "address"
90
+ },
91
+ {
92
+ "indexed": true,
93
+ "internalType": "address",
94
+ "name": "newOwner",
95
+ "type": "address"
96
+ }
97
+ ],
98
+ "name": "OwnershipTransferred",
99
+ "type": "event"
100
+ },
101
+ {
102
+ "anonymous": false,
103
+ "inputs": [
104
+ {
105
+ "indexed": true,
106
+ "internalType": "address",
107
+ "name": "PT",
108
+ "type": "address"
109
+ },
110
+ {
111
+ "indexed": true,
112
+ "internalType": "address",
113
+ "name": "token",
114
+ "type": "address"
115
+ },
116
+ {
117
+ "indexed": true,
118
+ "internalType": "address",
119
+ "name": "priceOracle",
120
+ "type": "address"
121
+ }
122
+ ],
123
+ "name": "PriceOracleUpdated",
124
+ "type": "event"
125
+ },
126
+ {
127
+ "anonymous": false,
128
+ "inputs": [
129
+ {
130
+ "indexed": true,
131
+ "internalType": "address",
132
+ "name": "token",
133
+ "type": "address"
134
+ },
135
+ {
136
+ "indexed": false,
137
+ "internalType": "uint256",
138
+ "name": "amount",
139
+ "type": "uint256"
140
+ }
141
+ ],
142
+ "name": "Seeded",
143
+ "type": "event"
144
+ },
145
+ {
146
+ "anonymous": false,
147
+ "inputs": [
148
+ {
149
+ "indexed": true,
150
+ "internalType": "address",
151
+ "name": "caller",
152
+ "type": "address"
153
+ },
154
+ {
155
+ "indexed": true,
156
+ "internalType": "address",
157
+ "name": "receiver",
158
+ "type": "address"
159
+ },
160
+ {
161
+ "indexed": false,
162
+ "internalType": "address",
163
+ "name": "PT",
164
+ "type": "address"
165
+ },
166
+ {
167
+ "indexed": false,
168
+ "internalType": "uint256",
169
+ "name": "netPtIn",
170
+ "type": "uint256"
171
+ },
172
+ {
173
+ "indexed": false,
174
+ "internalType": "address",
175
+ "name": "token",
176
+ "type": "address"
177
+ },
178
+ {
179
+ "indexed": false,
180
+ "internalType": "uint256",
181
+ "name": "netTokenOut",
182
+ "type": "uint256"
183
+ }
184
+ ],
185
+ "name": "Swap",
186
+ "type": "event"
187
+ },
188
+ {
189
+ "anonymous": false,
190
+ "inputs": [
191
+ {
192
+ "indexed": true,
193
+ "internalType": "address",
194
+ "name": "token",
195
+ "type": "address"
196
+ },
197
+ {
198
+ "indexed": false,
199
+ "internalType": "uint256",
200
+ "name": "amount",
201
+ "type": "uint256"
202
+ }
203
+ ],
204
+ "name": "Unseeded",
205
+ "type": "event"
206
+ },
207
+ {
208
+ "inputs": [
209
+ {
210
+ "internalType": "address",
211
+ "name": "token",
212
+ "type": "address"
213
+ },
214
+ {
215
+ "internalType": "uint256",
216
+ "name": "amount",
217
+ "type": "uint256"
218
+ }
219
+ ],
220
+ "name": "addFund",
221
+ "outputs": [],
222
+ "stateMutability": "payable",
223
+ "type": "function"
224
+ },
225
+ {
226
+ "inputs": [],
227
+ "name": "claimOwnership",
228
+ "outputs": [],
229
+ "stateMutability": "nonpayable",
230
+ "type": "function"
231
+ },
232
+ {
233
+ "inputs": [
234
+ {
235
+ "internalType": "address",
236
+ "name": "PT",
237
+ "type": "address"
238
+ },
239
+ {
240
+ "internalType": "address",
241
+ "name": "token",
242
+ "type": "address"
243
+ }
244
+ ],
245
+ "name": "getPtToTokenPrice",
246
+ "outputs": [
247
+ {
248
+ "internalType": "uint256",
249
+ "name": "",
250
+ "type": "uint256"
251
+ }
252
+ ],
253
+ "stateMutability": "view",
254
+ "type": "function"
255
+ },
256
+ {
257
+ "inputs": [
258
+ {
259
+ "internalType": "address",
260
+ "name": "_owner",
261
+ "type": "address"
262
+ }
263
+ ],
264
+ "name": "initialize",
265
+ "outputs": [],
266
+ "stateMutability": "nonpayable",
267
+ "type": "function"
268
+ },
269
+ {
270
+ "inputs": [],
271
+ "name": "owner",
272
+ "outputs": [
273
+ {
274
+ "internalType": "address",
275
+ "name": "",
276
+ "type": "address"
277
+ }
278
+ ],
279
+ "stateMutability": "view",
280
+ "type": "function"
281
+ },
282
+ {
283
+ "inputs": [],
284
+ "name": "pendingOwner",
285
+ "outputs": [
286
+ {
287
+ "internalType": "address",
288
+ "name": "",
289
+ "type": "address"
290
+ }
291
+ ],
292
+ "stateMutability": "view",
293
+ "type": "function"
294
+ },
295
+ {
296
+ "inputs": [
297
+ {
298
+ "internalType": "address",
299
+ "name": "PT",
300
+ "type": "address"
301
+ },
302
+ {
303
+ "internalType": "address",
304
+ "name": "token",
305
+ "type": "address"
306
+ }
307
+ ],
308
+ "name": "priceOracle",
309
+ "outputs": [
310
+ {
311
+ "internalType": "contract IPChainlinkOracleEssential",
312
+ "name": "",
313
+ "type": "address"
314
+ }
315
+ ],
316
+ "stateMutability": "view",
317
+ "type": "function"
318
+ },
319
+ {
320
+ "inputs": [
321
+ {
322
+ "internalType": "address",
323
+ "name": "token",
324
+ "type": "address"
325
+ },
326
+ {
327
+ "internalType": "uint256",
328
+ "name": "amount",
329
+ "type": "uint256"
330
+ }
331
+ ],
332
+ "name": "removeFund",
333
+ "outputs": [],
334
+ "stateMutability": "nonpayable",
335
+ "type": "function"
336
+ },
337
+ {
338
+ "inputs": [
339
+ {
340
+ "internalType": "address",
341
+ "name": "PT",
342
+ "type": "address"
343
+ },
344
+ {
345
+ "internalType": "address",
346
+ "name": "token",
347
+ "type": "address"
348
+ },
349
+ {
350
+ "internalType": "address",
351
+ "name": "_priceOracle",
352
+ "type": "address"
353
+ }
354
+ ],
355
+ "name": "setPriceOracle",
356
+ "outputs": [],
357
+ "stateMutability": "nonpayable",
358
+ "type": "function"
359
+ },
360
+ {
361
+ "inputs": [
362
+ {
363
+ "internalType": "address",
364
+ "name": "receiver",
365
+ "type": "address"
366
+ },
367
+ {
368
+ "internalType": "address",
369
+ "name": "PT",
370
+ "type": "address"
371
+ },
372
+ {
373
+ "internalType": "uint256",
374
+ "name": "exactPtIn",
375
+ "type": "uint256"
376
+ },
377
+ {
378
+ "internalType": "address",
379
+ "name": "token",
380
+ "type": "address"
381
+ },
382
+ {
383
+ "internalType": "bytes",
384
+ "name": "data",
385
+ "type": "bytes"
386
+ }
387
+ ],
388
+ "name": "swapExactPtForToken",
389
+ "outputs": [
390
+ {
391
+ "internalType": "uint256",
392
+ "name": "netTokenOut",
393
+ "type": "uint256"
394
+ }
395
+ ],
396
+ "stateMutability": "payable",
397
+ "type": "function"
398
+ },
399
+ {
400
+ "inputs": [
401
+ {
402
+ "internalType": "address",
403
+ "name": "receiver",
404
+ "type": "address"
405
+ },
406
+ {
407
+ "internalType": "address",
408
+ "name": "PT",
409
+ "type": "address"
410
+ },
411
+ {
412
+ "internalType": "address",
413
+ "name": "token",
414
+ "type": "address"
415
+ },
416
+ {
417
+ "internalType": "uint256",
418
+ "name": "exactTokenOut",
419
+ "type": "uint256"
420
+ },
421
+ {
422
+ "internalType": "bytes",
423
+ "name": "data",
424
+ "type": "bytes"
425
+ }
426
+ ],
427
+ "name": "swapPtForExactToken",
428
+ "outputs": [
429
+ {
430
+ "internalType": "uint256",
431
+ "name": "netPtIn",
432
+ "type": "uint256"
433
+ }
434
+ ],
435
+ "stateMutability": "payable",
436
+ "type": "function"
437
+ },
438
+ {
439
+ "inputs": [
440
+ {
441
+ "internalType": "address",
442
+ "name": "newOwner",
443
+ "type": "address"
444
+ },
445
+ {
446
+ "internalType": "bool",
447
+ "name": "direct",
448
+ "type": "bool"
449
+ },
450
+ {
451
+ "internalType": "bool",
452
+ "name": "renounce",
453
+ "type": "bool"
454
+ }
455
+ ],
456
+ "name": "transferOwnership",
457
+ "outputs": [],
458
+ "stateMutability": "nonpayable",
459
+ "type": "function"
460
+ }
461
+ ],
462
+ "bytecode": "0x608060405234801561001057600080fd5b5061001961001e565b6100ea565b600154600160a81b900460ff161561008c5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b600154600160a01b900460ff908116146100e8576001805460ff60a01b191660ff60a01b17905560405160ff81527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6115d3806100f96000396000f3fe6080604052600436106100975760003560e01c8063078dfbe71461009c5780630de0534d146100be578063477053fb146100de5780634e71e0c8146101045780637c11a02d146101195780638da5cb5b146101395780639d9ed3cc14610166578063c4d66de814610186578063d3118e64146101a6578063d512c061146101c6578063df0fe2eb146101d9578063e30c3978146101ec575b600080fd5b3480156100a857600080fd5b506100bc6100b7366004611133565b61020c565b005b3480156100ca57600080fd5b506100bc6100d936600461117c565b610311565b6100f16100ec366004611207565b6103b0565b6040519081526020015b60405180910390f35b34801561011057600080fd5b506100bc6103f3565b34801561012557600080fd5b506100f1610134366004611285565b61049e565b34801561014557600080fd5b50600054610159906001600160a01b031681565b6040516100fb91906112b8565b34801561017257600080fd5b506100bc6101813660046112cc565b610525565b34801561019257600080fd5b506100bc6101a13660046112f6565b6105ed565b3480156101b257600080fd5b506101596101c1366004611285565b61071e565b6100bc6101d43660046112cc565b61078b565b6100f16101e7366004611311565b61084b565b3480156101f857600080fd5b50600154610159906001600160a01b031681565b6000546001600160a01b0316331461023f5760405162461bcd60e51b815260040161023690611371565b60405180910390fd5b81156102f0576001600160a01b0383161515806102595750805b61029d5760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b6044820152606401610236565b600080546040516001600160a01b038087169392169160008051602061157e83398151915291a3600080546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0319166001600160a01b0385161790555b505050565b6000546001600160a01b0316331461033b5760405162461bcd60e51b815260040161023690611371565b8061034461087a565b6001600160a01b03858116600081815260209384526040808220888516808452955280822080546001600160a01b0319169685169690961790955593519185169390917ff51f0fffc8121ee3747e0536c487d894894cdba960ccfb4ab385a88d51b16fed9190a4505050565b60006103ba61089e565b6103ce6103c7878761049e565b85906108f7565b90506103df87878388888888610926565b6103e96001603255565b9695505050505050565b6001546001600160a01b031633811461044e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152606401610236565b600080546040516001600160a01b038085169392169160008051602061157e83398151915291a3600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b6000806104ab848461071e565b6001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa1580156104e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050c91906113bd565b50505091505061051b81610b7e565b9150505b92915050565b6000546001600160a01b0316331461054f5760405162461bcd60e51b815260040161023690611371565b6000546105679083906001600160a01b031683610b91565b8061057061087a565b6001016000846001600160a01b03166001600160a01b0316815260200190815260200160002060008282546105a59190611423565b90915550506040518181526001600160a01b038316907fea503f39efcfc64114ad09951fa9d4f7481b8d8d92b4fbccd006377b095f866d906020015b60405180910390a25050565b600154600160a81b900460ff1615808015610613575060018054600160a01b900460ff16105b8061063a575061062230610c5b565b15801561063a575060018054600160a01b900460ff16145b61069d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610236565b6001805460ff60a01b1916600160a01b17905580156106ca576001805460ff60a81b1916600160a81b1790555b6106d382610c6a565b801561071a576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b60008061072961087a565b6001600160a01b038086166000908152602092835260408082208784168352909352919091205416905080610784576040516344d0379d60e01b81526001600160a01b03808616600483015284166024820152604401610236565b9392505050565b6000546001600160a01b031633146107b55760405162461bcd60e51b815260040161023690611371565b6000546107cd9083906001600160a01b031683610cf9565b806107d661087a565b6001016000846001600160a01b03166001600160a01b03168152602001908152602001600020600082825461080b9190611436565b90915550506040518181526001600160a01b038316907f6189b14a5c1490dbeb86a9da875768d98dc98fb398d6b29dd475defaa1ec4ba3906020016105e1565b600061085561089e565b610869610862878661049e565b8690610d60565b90506103df87878787858888610926565b7fbbf04d9aae855c6bd76c8f4ba7a918994ad0d002f537323e58c83cbfe524900090565b6002603254036108f05760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610236565b6002603255565b60008061090c670de0b6b3a764000085611449565b905082818161091d5761091d611460565b04949350505050565b8261092f61087a565b6001600160a01b03861660009081526001919091016020526040902054101561099f578361095b61087a565b6001016000866001600160a01b03166001600160a01b0316815260200190815260200160002054846040516306aa683960e31b815260040161023693929190611476565b6109aa848885610b91565b826109b361087a565b6001016000866001600160a01b03166001600160a01b0316815260200190815260200160002060008282546109e89190611423565b90915550508015610a4f5760405163491dc51560e11b8152339063923b8a2a90610a1c908690899087908790600401611497565b600060405180830381600087803b158015610a3657600080fd5b505af1158015610a4a573d6000803e3d6000fd5b505050505b84610a5861087a565b6001016000886001600160a01b03166001600160a01b031681526020019081526020016000206000828254610a8d9190611436565b90915550610a9b905061087a565b6001600160a01b03871660009081526001919091016020526040902054610ac187610d7e565b1015610b1c5785610ad187610d7e565b610ad961087a565b6001016000896001600160a01b03166001600160a01b031681526020019081526020016000205460405163bb7de36360e01b815260040161023693929190611476565b604080516001600160a01b03888116825260208201889052868116828401526060820186905291519189169133917f6ac6c02c73a1841cb185dff1fe5282ff4499ce709efd387f7fc6de10a5124320919081900360800190a350505050505050565b600080821215610b8d57600080fd5b5090565b80600003610b9e57505050565b6001600160a01b038316610c47576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610bf9576040519150601f19603f3d011682016040523d82523d6000602084013e610bfe565b606091505b5050905080610c415760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b6044820152606401610236565b50505050565b61030c6001600160a01b0384168383610e08565b6001600160a01b03163b151590565b600154600160a81b900460ff16610cd75760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610236565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610d455780341461030c5760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b6044820152606401610236565b801561030c5761030c6001600160a01b038416833084610e6b565b600080610d6d8385611449565b9050670de0b6b3a76400008161091d565b60006001600160a01b03821615610e01576040516370a0823160e01b81526001600160a01b038316906370a0823190610dbb9030906004016112b8565b602060405180830381865afa158015610dd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dfc91906114d4565b61051f565b4792915050565b6040516001600160a01b03831660248201526044810182905261030c90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610ea3565b6040516001600160a01b0380851660248301528316604482015260648101829052610c419085906323b872dd60e01b90608401610e34565b6000610ef8826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610f789092919063ffffffff16565b9050805160001480610f19575080806020019051810190610f1991906114ed565b61030c5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610236565b6060610f878484600085610f8f565b949350505050565b606082471015610ff05760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610236565b600080866001600160a01b0316858760405161100c919061152e565b60006040518083038185875af1925050503d8060008114611049576040519150601f19603f3d011682016040523d82523d6000602084013e61104e565b606091505b509150915061105f8783838761106a565b979650505050505050565b606083156110d75782516000036110d05761108485610c5b565b6110d05760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610236565b5081610f87565b610f8783838151156110ec5781518083602001fd5b8060405162461bcd60e51b8152600401610236919061154a565b80356001600160a01b038116811461111d57600080fd5b919050565b801515811461113057600080fd5b50565b60008060006060848603121561114857600080fd5b61115184611106565b9250602084013561116181611122565b9150604084013561117181611122565b809150509250925092565b60008060006060848603121561119157600080fd5b61119a84611106565b92506111a860208501611106565b91506111b660408501611106565b90509250925092565b60008083601f8401126111d157600080fd5b5081356001600160401b038111156111e857600080fd5b60208301915083602082850101111561120057600080fd5b9250929050565b60008060008060008060a0878903121561122057600080fd5b61122987611106565b955061123760208801611106565b945061124560408801611106565b93506060870135925060808701356001600160401b0381111561126757600080fd5b61127389828a016111bf565b979a9699509497509295939492505050565b6000806040838503121561129857600080fd5b6112a183611106565b91506112af60208401611106565b90509250929050565b6001600160a01b0391909116815260200190565b600080604083850312156112df57600080fd5b6112e883611106565b946020939093013593505050565b60006020828403121561130857600080fd5b61078482611106565b60008060008060008060a0878903121561132a57600080fd5b61133387611106565b955061134160208801611106565b94506040870135935061135660608801611106565b925060808701356001600160401b0381111561126757600080fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b80516001600160501b038116811461111d57600080fd5b600080600080600060a086880312156113d557600080fd5b6113de866113a6565b9450602086015193506040860151925060608601519150611401608087016113a6565b90509295509295909350565b634e487b7160e01b600052601160045260246000fd5b8181038181111561051f5761051f61140d565b8082018082111561051f5761051f61140d565b808202811582820484141761051f5761051f61140d565b634e487b7160e01b600052601260045260246000fd5b6001600160a01b039390931683526020830191909152604082015260600190565b84815283602082015260606040820152816060820152818360808301376000818301608090810191909152601f909201601f191601019392505050565b6000602082840312156114e657600080fd5b5051919050565b6000602082840312156114ff57600080fd5b815161078481611122565b60005b8381101561152557818101518382015260200161150d565b50506000910152565b6000825161154081846020870161150a565b9190910192915050565b602081526000825180602084015261156981604085016020870161150a565b601f01601f1916919091016040019291505056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a2646970667358221220b623a473bf98853b37898663f28bc4aa6abc49f39160c6ed6ea9999943eb576b64736f6c63430008170033",
463
+ "deployedBytecode": "0x6080604052600436106100975760003560e01c8063078dfbe71461009c5780630de0534d146100be578063477053fb146100de5780634e71e0c8146101045780637c11a02d146101195780638da5cb5b146101395780639d9ed3cc14610166578063c4d66de814610186578063d3118e64146101a6578063d512c061146101c6578063df0fe2eb146101d9578063e30c3978146101ec575b600080fd5b3480156100a857600080fd5b506100bc6100b7366004611133565b61020c565b005b3480156100ca57600080fd5b506100bc6100d936600461117c565b610311565b6100f16100ec366004611207565b6103b0565b6040519081526020015b60405180910390f35b34801561011057600080fd5b506100bc6103f3565b34801561012557600080fd5b506100f1610134366004611285565b61049e565b34801561014557600080fd5b50600054610159906001600160a01b031681565b6040516100fb91906112b8565b34801561017257600080fd5b506100bc6101813660046112cc565b610525565b34801561019257600080fd5b506100bc6101a13660046112f6565b6105ed565b3480156101b257600080fd5b506101596101c1366004611285565b61071e565b6100bc6101d43660046112cc565b61078b565b6100f16101e7366004611311565b61084b565b3480156101f857600080fd5b50600154610159906001600160a01b031681565b6000546001600160a01b0316331461023f5760405162461bcd60e51b815260040161023690611371565b60405180910390fd5b81156102f0576001600160a01b0383161515806102595750805b61029d5760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b6044820152606401610236565b600080546040516001600160a01b038087169392169160008051602061157e83398151915291a3600080546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0319166001600160a01b0385161790555b505050565b6000546001600160a01b0316331461033b5760405162461bcd60e51b815260040161023690611371565b8061034461087a565b6001600160a01b03858116600081815260209384526040808220888516808452955280822080546001600160a01b0319169685169690961790955593519185169390917ff51f0fffc8121ee3747e0536c487d894894cdba960ccfb4ab385a88d51b16fed9190a4505050565b60006103ba61089e565b6103ce6103c7878761049e565b85906108f7565b90506103df87878388888888610926565b6103e96001603255565b9695505050505050565b6001546001600160a01b031633811461044e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152606401610236565b600080546040516001600160a01b038085169392169160008051602061157e83398151915291a3600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b6000806104ab848461071e565b6001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa1580156104e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050c91906113bd565b50505091505061051b81610b7e565b9150505b92915050565b6000546001600160a01b0316331461054f5760405162461bcd60e51b815260040161023690611371565b6000546105679083906001600160a01b031683610b91565b8061057061087a565b6001016000846001600160a01b03166001600160a01b0316815260200190815260200160002060008282546105a59190611423565b90915550506040518181526001600160a01b038316907fea503f39efcfc64114ad09951fa9d4f7481b8d8d92b4fbccd006377b095f866d906020015b60405180910390a25050565b600154600160a81b900460ff1615808015610613575060018054600160a01b900460ff16105b8061063a575061062230610c5b565b15801561063a575060018054600160a01b900460ff16145b61069d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610236565b6001805460ff60a01b1916600160a01b17905580156106ca576001805460ff60a81b1916600160a81b1790555b6106d382610c6a565b801561071a576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b60008061072961087a565b6001600160a01b038086166000908152602092835260408082208784168352909352919091205416905080610784576040516344d0379d60e01b81526001600160a01b03808616600483015284166024820152604401610236565b9392505050565b6000546001600160a01b031633146107b55760405162461bcd60e51b815260040161023690611371565b6000546107cd9083906001600160a01b031683610cf9565b806107d661087a565b6001016000846001600160a01b03166001600160a01b03168152602001908152602001600020600082825461080b9190611436565b90915550506040518181526001600160a01b038316907f6189b14a5c1490dbeb86a9da875768d98dc98fb398d6b29dd475defaa1ec4ba3906020016105e1565b600061085561089e565b610869610862878661049e565b8690610d60565b90506103df87878787858888610926565b7fbbf04d9aae855c6bd76c8f4ba7a918994ad0d002f537323e58c83cbfe524900090565b6002603254036108f05760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610236565b6002603255565b60008061090c670de0b6b3a764000085611449565b905082818161091d5761091d611460565b04949350505050565b8261092f61087a565b6001600160a01b03861660009081526001919091016020526040902054101561099f578361095b61087a565b6001016000866001600160a01b03166001600160a01b0316815260200190815260200160002054846040516306aa683960e31b815260040161023693929190611476565b6109aa848885610b91565b826109b361087a565b6001016000866001600160a01b03166001600160a01b0316815260200190815260200160002060008282546109e89190611423565b90915550508015610a4f5760405163491dc51560e11b8152339063923b8a2a90610a1c908690899087908790600401611497565b600060405180830381600087803b158015610a3657600080fd5b505af1158015610a4a573d6000803e3d6000fd5b505050505b84610a5861087a565b6001016000886001600160a01b03166001600160a01b031681526020019081526020016000206000828254610a8d9190611436565b90915550610a9b905061087a565b6001600160a01b03871660009081526001919091016020526040902054610ac187610d7e565b1015610b1c5785610ad187610d7e565b610ad961087a565b6001016000896001600160a01b03166001600160a01b031681526020019081526020016000205460405163bb7de36360e01b815260040161023693929190611476565b604080516001600160a01b03888116825260208201889052868116828401526060820186905291519189169133917f6ac6c02c73a1841cb185dff1fe5282ff4499ce709efd387f7fc6de10a5124320919081900360800190a350505050505050565b600080821215610b8d57600080fd5b5090565b80600003610b9e57505050565b6001600160a01b038316610c47576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610bf9576040519150601f19603f3d011682016040523d82523d6000602084013e610bfe565b606091505b5050905080610c415760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b6044820152606401610236565b50505050565b61030c6001600160a01b0384168383610e08565b6001600160a01b03163b151590565b600154600160a81b900460ff16610cd75760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610236565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610d455780341461030c5760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b6044820152606401610236565b801561030c5761030c6001600160a01b038416833084610e6b565b600080610d6d8385611449565b9050670de0b6b3a76400008161091d565b60006001600160a01b03821615610e01576040516370a0823160e01b81526001600160a01b038316906370a0823190610dbb9030906004016112b8565b602060405180830381865afa158015610dd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dfc91906114d4565b61051f565b4792915050565b6040516001600160a01b03831660248201526044810182905261030c90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610ea3565b6040516001600160a01b0380851660248301528316604482015260648101829052610c419085906323b872dd60e01b90608401610e34565b6000610ef8826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610f789092919063ffffffff16565b9050805160001480610f19575080806020019051810190610f1991906114ed565b61030c5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610236565b6060610f878484600085610f8f565b949350505050565b606082471015610ff05760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610236565b600080866001600160a01b0316858760405161100c919061152e565b60006040518083038185875af1925050503d8060008114611049576040519150601f19603f3d011682016040523d82523d6000602084013e61104e565b606091505b509150915061105f8783838761106a565b979650505050505050565b606083156110d75782516000036110d05761108485610c5b565b6110d05760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610236565b5081610f87565b610f8783838151156110ec5781518083602001fd5b8060405162461bcd60e51b8152600401610236919061154a565b80356001600160a01b038116811461111d57600080fd5b919050565b801515811461113057600080fd5b50565b60008060006060848603121561114857600080fd5b61115184611106565b9250602084013561116181611122565b9150604084013561117181611122565b809150509250925092565b60008060006060848603121561119157600080fd5b61119a84611106565b92506111a860208501611106565b91506111b660408501611106565b90509250925092565b60008083601f8401126111d157600080fd5b5081356001600160401b038111156111e857600080fd5b60208301915083602082850101111561120057600080fd5b9250929050565b60008060008060008060a0878903121561122057600080fd5b61122987611106565b955061123760208801611106565b945061124560408801611106565b93506060870135925060808701356001600160401b0381111561126757600080fd5b61127389828a016111bf565b979a9699509497509295939492505050565b6000806040838503121561129857600080fd5b6112a183611106565b91506112af60208401611106565b90509250929050565b6001600160a01b0391909116815260200190565b600080604083850312156112df57600080fd5b6112e883611106565b946020939093013593505050565b60006020828403121561130857600080fd5b61078482611106565b60008060008060008060a0878903121561132a57600080fd5b61133387611106565b955061134160208801611106565b94506040870135935061135660608801611106565b925060808701356001600160401b0381111561126757600080fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b80516001600160501b038116811461111d57600080fd5b600080600080600060a086880312156113d557600080fd5b6113de866113a6565b9450602086015193506040860151925060608601519150611401608087016113a6565b90509295509295909350565b634e487b7160e01b600052601160045260246000fd5b8181038181111561051f5761051f61140d565b8082018082111561051f5761051f61140d565b808202811582820484141761051f5761051f61140d565b634e487b7160e01b600052601260045260246000fd5b6001600160a01b039390931683526020830191909152604082015260600190565b84815283602082015260606040820152816060820152818360808301376000818301608090810191909152601f909201601f191601019392505050565b6000602082840312156114e657600080fd5b5051919050565b6000602082840312156114ff57600080fd5b815161078481611122565b60005b8381101561152557818101518382015260200161150d565b50506000910152565b6000825161154081846020870161150a565b9190910192915050565b602081526000825180602084015261156981604085016020870161150a565b601f01601f1916919091016040019291505056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a2646970667358221220b623a473bf98853b37898663f28bc4aa6abc49f39160c6ed6ea9999943eb576b64736f6c63430008170033",
464
+ "linkReferences": {},
465
+ "deployedLinkReferences": {}
466
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../../../build-info/99777bc8a168340fa340aef0d96eff30.json"
4
+ }