@pendle/core-v2 6.1.0 → 6.1.1

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.
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/d51df890a8e8b5d1be25749b6a6f841d.json"
4
+ }
@@ -0,0 +1,173 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "LimitBackendHelperV2",
4
+ "sourceName": "contracts/offchain-helpers/LimitBackendHelperV2.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "_WNATIVE",
11
+ "type": "address"
12
+ }
13
+ ],
14
+ "stateMutability": "nonpayable",
15
+ "type": "constructor"
16
+ },
17
+ {
18
+ "inputs": [
19
+ {
20
+ "internalType": "bool",
21
+ "name": "success",
22
+ "type": "bool"
23
+ },
24
+ {
25
+ "internalType": "bytes",
26
+ "name": "res",
27
+ "type": "bytes"
28
+ }
29
+ ],
30
+ "name": "SimulationResults",
31
+ "type": "error"
32
+ },
33
+ {
34
+ "inputs": [
35
+ {
36
+ "internalType": "address",
37
+ "name": "maker",
38
+ "type": "address"
39
+ },
40
+ {
41
+ "internalType": "address",
42
+ "name": "SY",
43
+ "type": "address"
44
+ },
45
+ {
46
+ "internalType": "address",
47
+ "name": "token",
48
+ "type": "address"
49
+ },
50
+ {
51
+ "internalType": "uint256",
52
+ "name": "makingAmount",
53
+ "type": "uint256"
54
+ }
55
+ ],
56
+ "name": "mintSyFromTokenRevert",
57
+ "outputs": [],
58
+ "stateMutability": "nonpayable",
59
+ "type": "function"
60
+ },
61
+ {
62
+ "inputs": [
63
+ {
64
+ "internalType": "address",
65
+ "name": "YT",
66
+ "type": "address"
67
+ },
68
+ {
69
+ "internalType": "address[]",
70
+ "name": "makers",
71
+ "type": "address[]"
72
+ },
73
+ {
74
+ "internalType": "address[]",
75
+ "name": "tokens",
76
+ "type": "address[]"
77
+ },
78
+ {
79
+ "internalType": "uint256[]",
80
+ "name": "amounts",
81
+ "type": "uint256[]"
82
+ }
83
+ ],
84
+ "name": "mintSyFromTokensV2",
85
+ "outputs": [
86
+ {
87
+ "internalType": "uint256[]",
88
+ "name": "minted",
89
+ "type": "uint256[]"
90
+ },
91
+ {
92
+ "internalType": "bytes[]",
93
+ "name": "error",
94
+ "type": "bytes[]"
95
+ }
96
+ ],
97
+ "stateMutability": "nonpayable",
98
+ "type": "function"
99
+ },
100
+ {
101
+ "inputs": [
102
+ {
103
+ "internalType": "address[]",
104
+ "name": "tokens",
105
+ "type": "address[]"
106
+ },
107
+ {
108
+ "internalType": "address[]",
109
+ "name": "owners",
110
+ "type": "address[]"
111
+ },
112
+ {
113
+ "internalType": "address",
114
+ "name": "spender",
115
+ "type": "address"
116
+ }
117
+ ],
118
+ "name": "readMultiTokens",
119
+ "outputs": [
120
+ {
121
+ "internalType": "uint256[]",
122
+ "name": "balances",
123
+ "type": "uint256[]"
124
+ },
125
+ {
126
+ "internalType": "uint256[]",
127
+ "name": "allowances",
128
+ "type": "uint256[]"
129
+ }
130
+ ],
131
+ "stateMutability": "view",
132
+ "type": "function"
133
+ },
134
+ {
135
+ "inputs": [
136
+ {
137
+ "internalType": "address",
138
+ "name": "token",
139
+ "type": "address"
140
+ },
141
+ {
142
+ "internalType": "address[]",
143
+ "name": "owners",
144
+ "type": "address[]"
145
+ },
146
+ {
147
+ "internalType": "address",
148
+ "name": "spender",
149
+ "type": "address"
150
+ }
151
+ ],
152
+ "name": "readSingleToken",
153
+ "outputs": [
154
+ {
155
+ "internalType": "uint256[]",
156
+ "name": "balances",
157
+ "type": "uint256[]"
158
+ },
159
+ {
160
+ "internalType": "uint256[]",
161
+ "name": "allowances",
162
+ "type": "uint256[]"
163
+ }
164
+ ],
165
+ "stateMutability": "view",
166
+ "type": "function"
167
+ }
168
+ ],
169
+ "bytecode": "0x60c060405234801561000f575f5ffd5b5060405161182738038061182783398101604081905261002e91610043565b6001600160a01b03166080523060a052610070565b5f60208284031215610053575f5ffd5b81516001600160a01b0381168114610069575f5ffd5b9392505050565b60805160a05161178961009e5f395f61065f01525f818160ce0152818161012c015261019f01526117895ff3fe608060405234801561000f575f5ffd5b506004361061004a575f3560e01c8063083c1fce1461004e578063152c3db71461006357806319585e1a1461008d5780632d36a6d3146100ae575b5f5ffd5b61006161005c366004611158565b6100c1565b005b6100766100713660046111ed565b6102b7565b6040516100849291906112a8565b60405180910390f35b6100a061009b3660046112d5565b61054b565b6040516100849291906113d0565b6100766100bc366004611445565b6107ef565b6100cc8285836109f5565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161480156101955750604051637d2d278360e11b81526001600160a01b0384169063fa5a4f0690610154907f0000000000000000000000000000000000000000000000000000000000000000906004016114a8565b602060405180830381865afa15801561016f573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061019391906114d0565b155b156101c9576101c57f00000000000000000000000000000000000000000000000000000000000000005f83610a61565b5f91505b6101d38284610b1e565b5f806001600160a01b03808616908516156101ee575f6101f0565b835b6040513060248201526001600160a01b0387166044820152606481018690525f608482015260a40160408051601f198184030181529181526020820180516001600160e01b03166320e8c56560e01b1790525161024d91906114f0565b5f6040518083038185875af1925050503d805f8114610287576040519150601f19603f3d011682016040523d82523d5f602084013e61028c565b606091505b5091509150818160405163032695f960e31b81526004016102ae92919061150b565b60405180910390fd5b6060808584146102fb5760405162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b60448201526064016102ae565b836001600160401b0381111561031357610313611525565b60405190808252806020026020018201604052801561033c578160200160208202803683370190505b509150836001600160401b0381111561035757610357611525565b604051908082528060200260200182016040528015610380578160200160208202803683370190505b5090505f5b848110156105405787878281811061039f5761039f611539565b90506020020160208101906103b4919061154d565b6001600160a01b03166370a082318787848181106103d4576103d4611539565b90506020020160208101906103e9919061154d565b6040518263ffffffff1660e01b815260040161040591906114a8565b602060405180830381865afa158015610420573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104449190611568565b83828151811061045657610456611539565b60200260200101818152505087878281811061047457610474611539565b9050602002016020810190610489919061154d565b6001600160a01b031663dd62ed3e8787848181106104a9576104a9611539565b90506020020160208101906104be919061154d565b866040518363ffffffff1660e01b81526004016104dc92919061157f565b602060405180830381865afa1580156104f7573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061051b9190611568565b82828151811061052d5761052d611539565b6020908102919091010152600101610385565b509550959350505050565b6060805f8888905090505f8a6001600160a01b031663afd27bf56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610592573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105b69190611599565b9050816001600160401b038111156105d0576105d0611525565b6040519080825280602002602001820160405280156105f9578160200160208202803683370190505b509350816001600160401b0381111561061457610614611525565b60405190808252806020026020018201604052801561064757816020015b60608152602001906001900390816106325790505b5092505f5b828110156107e0575f6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163063083c1fce8e8e8681811061069757610697611539565b90506020020160208101906106ac919061154d565b868e8e888181106106bf576106bf611539565b90506020020160208101906106d4919061154d565b8d8d898181106106e6576106e6611539565b6040516001600160a01b039687166024820152948616604486015292909416606484015260209091020135608482015260a401905060408051601f198184030181529181526020820180516001600160e01b031660e09490941b93909317909252905161075392506114f0565b5f60405180830381855af49150503d805f811461078b576040519150601f19603f3d011682016040523d82523d5f602084013e610790565b606091505b5091505061079d81610bd9565b8784815181106107af576107af611539565b602002602001018785815181106107c8576107c8611539565b6020908102919091010191909152525060010161064c565b50505097509795505050505050565b606080836001600160401b0381111561080a5761080a611525565b604051908082528060200260200182016040528015610833578160200160208202803683370190505b509150836001600160401b0381111561084e5761084e611525565b604051908082528060200260200182016040528015610877578160200160208202803683370190505b5090505f5b848110156109eb57866001600160a01b03166370a082318787848181106108a5576108a5611539565b90506020020160208101906108ba919061154d565b6040518263ffffffff1660e01b81526004016108d691906114a8565b602060405180830381865afa1580156108f1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109159190611568565b83828151811061092757610927611539565b602002602001018181525050866001600160a01b031663dd62ed3e87878481811061095457610954611539565b9050602002016020810190610969919061154d565b866040518363ffffffff1660e01b815260040161098792919061157f565b602060405180830381865afa1580156109a2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109c69190611568565b8282815181106109d8576109d8611539565b602090810291909101015260010161087c565b5094509492505050565b6001600160a01b038316610a4657803414610a415760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b60448201526064016102ae565b505050565b8015610a4157610a416001600160a01b038416833084610c73565b6001600160a01b038316610ac457816001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004015f604051808303818588803b158015610aa8575f5ffd5b505af1158015610aba573d5f5f3e3d5ffd5b5050505050505050565b604051632e1a7d4d60e01b8152600481018290526001600160a01b03841690632e1a7d4d906024015f604051808303815f87803b158015610b03575f5ffd5b505af1158015610b15573d5f5f3e3d5ffd5b50505050505050565b6001600160a01b038216610b30575050565b610b4260026001600160601b036115c8565b6001600160601b0316826001600160a01b031663dd62ed3e30846040518363ffffffff1660e01b8152600401610b7992919061157f565b602060405180830381865afa158015610b94573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bb89190611568565b1015610bd557610bc982825f610cd3565b610bd582825f19610cd3565b5050565b5f60606004835110158015610c06575063032695f960e31b610bfa84611602565b6001600160e01b031916145b610c1257610c12611640565b5f5f610c2c856004808851610c279190611654565b610dd8565b806020019051810190610c3f919061166d565b915091508115610c645780806020019051810190610c5d9190611568565b9350610c6c565b5f1993508092505b5050915091565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052610ccd908590610ee4565b50505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b17905291515f92839290871691610d2e91906114f0565b5f604051808303815f865af19150503d805f8114610d67576040519150601f19603f3d011682016040523d82523d5f602084013e610d6c565b606091505b5091509150818015610d96575080511580610d96575080806020019051810190610d9691906114d0565b610dd15760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b60448201526064016102ae565b5050505050565b606081610de681601f61172e565b1015610e255760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b60448201526064016102ae565b610e2f828461172e565b84511015610e735760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b60448201526064016102ae565b606082158015610e915760405191505f825260208201604052610edb565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015610eca578051835260209283019201610eb2565b5050858452601f01601f1916604052505b50949350505050565b5f610f38826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610fb79092919063ffffffff16565b905080515f1480610f58575080806020019051810190610f5891906114d0565b610a415760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016102ae565b6060610fc584845f85610fcd565b949350505050565b60608247101561102e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016102ae565b5f5f866001600160a01b0316858760405161104991906114f0565b5f6040518083038185875af1925050503d805f8114611083576040519150601f19603f3d011682016040523d82523d5f602084013e611088565b606091505b5091509150611099878383876110a4565b979650505050505050565b606083156111125782515f0361110b576001600160a01b0385163b61110b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ae565b5081610fc5565b610fc583838151156111275781518083602001fd5b8060405162461bcd60e51b81526004016102ae9190611741565b6001600160a01b0381168114611155575f5ffd5b50565b5f5f5f5f6080858703121561116b575f5ffd5b843561117681611141565b9350602085013561118681611141565b9250604085013561119681611141565b9396929550929360600135925050565b5f5f83601f8401126111b6575f5ffd5b5081356001600160401b038111156111cc575f5ffd5b6020830191508360208260051b85010111156111e6575f5ffd5b9250929050565b5f5f5f5f5f60608688031215611201575f5ffd5b85356001600160401b03811115611216575f5ffd5b611222888289016111a6565b90965094505060208601356001600160401b03811115611240575f5ffd5b61124c888289016111a6565b909450925050604086013561126081611141565b809150509295509295909350565b5f8151808452602084019350602083015f5b8281101561129e578151865260209586019590910190600101611280565b5093949350505050565b604081525f6112ba604083018561126e565b82810360208401526112cc818561126e565b95945050505050565b5f5f5f5f5f5f5f6080888a0312156112eb575f5ffd5b87356112f681611141565b965060208801356001600160401b03811115611310575f5ffd5b61131c8a828b016111a6565b90975095505060408801356001600160401b0381111561133a575f5ffd5b6113468a828b016111a6565b90955093505060608801356001600160401b03811115611364575f5ffd5b6113708a828b016111a6565b989b979a50959850939692959293505050565b5f5b8381101561139d578181015183820152602001611385565b50505f910152565b5f81518084526113bc816020860160208601611383565b601f01601f19169290920160200192915050565b604081525f6113e2604083018561126e565b828103602084015280845180835260208301915060208160051b840101602087015f5b8381101561143757601f198684030185526114218383516113a5565b6020958601959093509190910190600101611405565b509098975050505050505050565b5f5f5f5f60608587031215611458575f5ffd5b843561146381611141565b935060208501356001600160401b0381111561147d575f5ffd5b611489878288016111a6565b909450925050604085013561149d81611141565b939692955090935050565b6001600160a01b0391909116815260200190565b805180151581146114cb575f5ffd5b919050565b5f602082840312156114e0575f5ffd5b6114e9826114bc565b9392505050565b5f8251611501818460208701611383565b9190910192915050565b8215158152604060208201525f610fc560408301846113a5565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561155d575f5ffd5b81356114e981611141565b5f60208284031215611578575f5ffd5b5051919050565b6001600160a01b0392831681529116602082015260400190565b5f602082840312156115a9575f5ffd5b81516114e981611141565b634e487b7160e01b5f52601160045260245ffd5b5f6001600160601b038316806115ec57634e487b7160e01b5f52601260045260245ffd5b6001600160601b03929092169190910492915050565b805160208201516001600160e01b0319811691906004821015611639576001600160e01b0319600483900360031b81901b82161692505b5050919050565b634e487b7160e01b5f52600160045260245ffd5b81810381811115611667576116676115b4565b92915050565b5f5f6040838503121561167e575f5ffd5b611687836114bc565b60208401519092506001600160401b038111156116a2575f5ffd5b8301601f810185136116b2575f5ffd5b80516001600160401b038111156116cb576116cb611525565b604051601f8201601f19908116603f011681016001600160401b03811182821017156116f9576116f9611525565b604052818152828201602001871015611710575f5ffd5b611721826020830160208601611383565b8093505050509250929050565b80820180821115611667576116676115b4565b602081525f6114e960208301846113a556fea264697066735822122023a08e89220583a3672157545eea13219602e8672090f07e6cb21a6e1d1cfa8b64736f6c634300081e0033",
170
+ "deployedBytecode": "0x608060405234801561000f575f5ffd5b506004361061004a575f3560e01c8063083c1fce1461004e578063152c3db71461006357806319585e1a1461008d5780632d36a6d3146100ae575b5f5ffd5b61006161005c366004611158565b6100c1565b005b6100766100713660046111ed565b6102b7565b6040516100849291906112a8565b60405180910390f35b6100a061009b3660046112d5565b61054b565b6040516100849291906113d0565b6100766100bc366004611445565b6107ef565b6100cc8285836109f5565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161480156101955750604051637d2d278360e11b81526001600160a01b0384169063fa5a4f0690610154907f0000000000000000000000000000000000000000000000000000000000000000906004016114a8565b602060405180830381865afa15801561016f573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061019391906114d0565b155b156101c9576101c57f00000000000000000000000000000000000000000000000000000000000000005f83610a61565b5f91505b6101d38284610b1e565b5f806001600160a01b03808616908516156101ee575f6101f0565b835b6040513060248201526001600160a01b0387166044820152606481018690525f608482015260a40160408051601f198184030181529181526020820180516001600160e01b03166320e8c56560e01b1790525161024d91906114f0565b5f6040518083038185875af1925050503d805f8114610287576040519150601f19603f3d011682016040523d82523d5f602084013e61028c565b606091505b5091509150818160405163032695f960e31b81526004016102ae92919061150b565b60405180910390fd5b6060808584146102fb5760405162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b60448201526064016102ae565b836001600160401b0381111561031357610313611525565b60405190808252806020026020018201604052801561033c578160200160208202803683370190505b509150836001600160401b0381111561035757610357611525565b604051908082528060200260200182016040528015610380578160200160208202803683370190505b5090505f5b848110156105405787878281811061039f5761039f611539565b90506020020160208101906103b4919061154d565b6001600160a01b03166370a082318787848181106103d4576103d4611539565b90506020020160208101906103e9919061154d565b6040518263ffffffff1660e01b815260040161040591906114a8565b602060405180830381865afa158015610420573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104449190611568565b83828151811061045657610456611539565b60200260200101818152505087878281811061047457610474611539565b9050602002016020810190610489919061154d565b6001600160a01b031663dd62ed3e8787848181106104a9576104a9611539565b90506020020160208101906104be919061154d565b866040518363ffffffff1660e01b81526004016104dc92919061157f565b602060405180830381865afa1580156104f7573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061051b9190611568565b82828151811061052d5761052d611539565b6020908102919091010152600101610385565b509550959350505050565b6060805f8888905090505f8a6001600160a01b031663afd27bf56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610592573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105b69190611599565b9050816001600160401b038111156105d0576105d0611525565b6040519080825280602002602001820160405280156105f9578160200160208202803683370190505b509350816001600160401b0381111561061457610614611525565b60405190808252806020026020018201604052801561064757816020015b60608152602001906001900390816106325790505b5092505f5b828110156107e0575f6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163063083c1fce8e8e8681811061069757610697611539565b90506020020160208101906106ac919061154d565b868e8e888181106106bf576106bf611539565b90506020020160208101906106d4919061154d565b8d8d898181106106e6576106e6611539565b6040516001600160a01b039687166024820152948616604486015292909416606484015260209091020135608482015260a401905060408051601f198184030181529181526020820180516001600160e01b031660e09490941b93909317909252905161075392506114f0565b5f60405180830381855af49150503d805f811461078b576040519150601f19603f3d011682016040523d82523d5f602084013e610790565b606091505b5091505061079d81610bd9565b8784815181106107af576107af611539565b602002602001018785815181106107c8576107c8611539565b6020908102919091010191909152525060010161064c565b50505097509795505050505050565b606080836001600160401b0381111561080a5761080a611525565b604051908082528060200260200182016040528015610833578160200160208202803683370190505b509150836001600160401b0381111561084e5761084e611525565b604051908082528060200260200182016040528015610877578160200160208202803683370190505b5090505f5b848110156109eb57866001600160a01b03166370a082318787848181106108a5576108a5611539565b90506020020160208101906108ba919061154d565b6040518263ffffffff1660e01b81526004016108d691906114a8565b602060405180830381865afa1580156108f1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109159190611568565b83828151811061092757610927611539565b602002602001018181525050866001600160a01b031663dd62ed3e87878481811061095457610954611539565b9050602002016020810190610969919061154d565b866040518363ffffffff1660e01b815260040161098792919061157f565b602060405180830381865afa1580156109a2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109c69190611568565b8282815181106109d8576109d8611539565b602090810291909101015260010161087c565b5094509492505050565b6001600160a01b038316610a4657803414610a415760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b60448201526064016102ae565b505050565b8015610a4157610a416001600160a01b038416833084610c73565b6001600160a01b038316610ac457816001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004015f604051808303818588803b158015610aa8575f5ffd5b505af1158015610aba573d5f5f3e3d5ffd5b5050505050505050565b604051632e1a7d4d60e01b8152600481018290526001600160a01b03841690632e1a7d4d906024015f604051808303815f87803b158015610b03575f5ffd5b505af1158015610b15573d5f5f3e3d5ffd5b50505050505050565b6001600160a01b038216610b30575050565b610b4260026001600160601b036115c8565b6001600160601b0316826001600160a01b031663dd62ed3e30846040518363ffffffff1660e01b8152600401610b7992919061157f565b602060405180830381865afa158015610b94573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bb89190611568565b1015610bd557610bc982825f610cd3565b610bd582825f19610cd3565b5050565b5f60606004835110158015610c06575063032695f960e31b610bfa84611602565b6001600160e01b031916145b610c1257610c12611640565b5f5f610c2c856004808851610c279190611654565b610dd8565b806020019051810190610c3f919061166d565b915091508115610c645780806020019051810190610c5d9190611568565b9350610c6c565b5f1993508092505b5050915091565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052610ccd908590610ee4565b50505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b17905291515f92839290871691610d2e91906114f0565b5f604051808303815f865af19150503d805f8114610d67576040519150601f19603f3d011682016040523d82523d5f602084013e610d6c565b606091505b5091509150818015610d96575080511580610d96575080806020019051810190610d9691906114d0565b610dd15760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b60448201526064016102ae565b5050505050565b606081610de681601f61172e565b1015610e255760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b60448201526064016102ae565b610e2f828461172e565b84511015610e735760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b60448201526064016102ae565b606082158015610e915760405191505f825260208201604052610edb565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015610eca578051835260209283019201610eb2565b5050858452601f01601f1916604052505b50949350505050565b5f610f38826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610fb79092919063ffffffff16565b905080515f1480610f58575080806020019051810190610f5891906114d0565b610a415760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016102ae565b6060610fc584845f85610fcd565b949350505050565b60608247101561102e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016102ae565b5f5f866001600160a01b0316858760405161104991906114f0565b5f6040518083038185875af1925050503d805f8114611083576040519150601f19603f3d011682016040523d82523d5f602084013e611088565b606091505b5091509150611099878383876110a4565b979650505050505050565b606083156111125782515f0361110b576001600160a01b0385163b61110b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ae565b5081610fc5565b610fc583838151156111275781518083602001fd5b8060405162461bcd60e51b81526004016102ae9190611741565b6001600160a01b0381168114611155575f5ffd5b50565b5f5f5f5f6080858703121561116b575f5ffd5b843561117681611141565b9350602085013561118681611141565b9250604085013561119681611141565b9396929550929360600135925050565b5f5f83601f8401126111b6575f5ffd5b5081356001600160401b038111156111cc575f5ffd5b6020830191508360208260051b85010111156111e6575f5ffd5b9250929050565b5f5f5f5f5f60608688031215611201575f5ffd5b85356001600160401b03811115611216575f5ffd5b611222888289016111a6565b90965094505060208601356001600160401b03811115611240575f5ffd5b61124c888289016111a6565b909450925050604086013561126081611141565b809150509295509295909350565b5f8151808452602084019350602083015f5b8281101561129e578151865260209586019590910190600101611280565b5093949350505050565b604081525f6112ba604083018561126e565b82810360208401526112cc818561126e565b95945050505050565b5f5f5f5f5f5f5f6080888a0312156112eb575f5ffd5b87356112f681611141565b965060208801356001600160401b03811115611310575f5ffd5b61131c8a828b016111a6565b90975095505060408801356001600160401b0381111561133a575f5ffd5b6113468a828b016111a6565b90955093505060608801356001600160401b03811115611364575f5ffd5b6113708a828b016111a6565b989b979a50959850939692959293505050565b5f5b8381101561139d578181015183820152602001611385565b50505f910152565b5f81518084526113bc816020860160208601611383565b601f01601f19169290920160200192915050565b604081525f6113e2604083018561126e565b828103602084015280845180835260208301915060208160051b840101602087015f5b8381101561143757601f198684030185526114218383516113a5565b6020958601959093509190910190600101611405565b509098975050505050505050565b5f5f5f5f60608587031215611458575f5ffd5b843561146381611141565b935060208501356001600160401b0381111561147d575f5ffd5b611489878288016111a6565b909450925050604085013561149d81611141565b939692955090935050565b6001600160a01b0391909116815260200190565b805180151581146114cb575f5ffd5b919050565b5f602082840312156114e0575f5ffd5b6114e9826114bc565b9392505050565b5f8251611501818460208701611383565b9190910192915050565b8215158152604060208201525f610fc560408301846113a5565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561155d575f5ffd5b81356114e981611141565b5f60208284031215611578575f5ffd5b5051919050565b6001600160a01b0392831681529116602082015260400190565b5f602082840312156115a9575f5ffd5b81516114e981611141565b634e487b7160e01b5f52601160045260245ffd5b5f6001600160601b038316806115ec57634e487b7160e01b5f52601260045260245ffd5b6001600160601b03929092169190910492915050565b805160208201516001600160e01b0319811691906004821015611639576001600160e01b0319600483900360031b81901b82161692505b5050919050565b634e487b7160e01b5f52600160045260245ffd5b81810381811115611667576116676115b4565b92915050565b5f5f6040838503121561167e575f5ffd5b611687836114bc565b60208401519092506001600160401b038111156116a2575f5ffd5b8301601f810185136116b2575f5ffd5b80516001600160401b038111156116cb576116cb611525565b604051601f8201601f19908116603f011681016001600160401b03811182821017156116f9576116f9611525565b604052818152828201602001871015611710575f5ffd5b611721826020830160208601611383565b8093505050509250929050565b80820180821115611667576116676115b4565b602081525f6114e960208301846113a556fea264697066735822122023a08e89220583a3672157545eea13219602e8672090f07e6cb21a6e1d1cfa8b64736f6c634300081e0033",
171
+ "linkReferences": {},
172
+ "deployedLinkReferences": {}
173
+ }
@@ -9,7 +9,7 @@ import "../interfaces/IWETH.sol";
9
9
  import "../core/libraries/Errors.sol";
10
10
  import "./BytesLib.sol";
11
11
 
12
- contract LimitBackendHelper is TokenHelper {
12
+ contract LimitBackendHelperV2 is TokenHelper {
13
13
  address private immutable WNATIVE;
14
14
  address private immutable original;
15
15
 
@@ -48,62 +48,48 @@ contract LimitBackendHelper is TokenHelper {
48
48
  }
49
49
 
50
50
  /// @notice to be delegatecall from LimitRouter
51
- function mintSyFromTokens(
51
+ function mintSyFromTokensV2(
52
52
  address YT,
53
53
  address[] calldata makers,
54
54
  address[] calldata tokens,
55
55
  uint256[] calldata amounts
56
- ) external returns (uint256[] memory minted) {
56
+ ) external returns (uint256[] memory minted, bytes[] memory error) {
57
57
  uint256 length = makers.length;
58
58
 
59
59
  address SY = IPYieldToken(YT).SY();
60
60
  minted = new uint256[](length);
61
+ error = new bytes[](length);
61
62
 
62
63
  for (uint256 i = 0; i < length; i++) {
63
64
  (, bytes memory result) = original.delegatecall(
64
- abi.encodeWithSignature(
65
- "mintSyFromTokenRevert(address,address,address,uint256)",
66
- makers[i],
67
- SY,
68
- tokens[i],
69
- amounts[i]
70
- )
65
+ abi.encodeCall(this.mintSyFromTokenRevert, (makers[i], SY, tokens[i], amounts[i]))
71
66
  );
72
- minted[i] = parseMinted(result);
67
+ (minted[i], error[i]) = parseMinted(result);
73
68
  }
74
69
  }
75
70
 
76
- function parseMinted(bytes memory result) internal pure returns (uint256 minted) {
77
- if (result.length < 4) return type(uint256).max;
71
+ function parseMinted(bytes memory result) internal pure returns (uint256 minted, bytes memory error) {
72
+ assert(result.length >= 4 && bytes4(result) == Errors.SimulationResults.selector);
73
+ (bool success, bytes memory data) = abi.decode(BytesLib.slice(result, 4, result.length - 4), (bool, bytes));
78
74
 
79
- bytes4 top = bytes4(BytesLib.slice(result, 0, 4));
80
- if (top == bytes4(0x1934afc8)) {
81
- // selector of SimulationResults
82
- (, bytes memory beta) = abi.decode(BytesLib.slice(result, 4, result.length - 4), (bool, bytes));
83
- minted = abi.decode(beta, (uint256));
75
+ if (success) {
76
+ minted = abi.decode(data, (uint256));
84
77
  } else {
85
78
  minted = type(uint256).max;
79
+ error = data;
86
80
  }
87
81
  }
88
82
 
89
- function mintSyFromTokenRevert(
90
- address maker,
91
- address SY,
92
- address token,
93
- uint256 makingAmount
94
- ) public returns (uint256) {
83
+ function mintSyFromTokenRevert(address maker, address SY, address token, uint256 makingAmount) public {
95
84
  _transferIn(token, maker, makingAmount);
96
85
  if (token == WNATIVE && !IStandardizedYield(SY).isValidTokenIn(WNATIVE)) {
97
86
  _wrap_unwrap_ETH(WNATIVE, NATIVE, makingAmount);
98
87
  token = NATIVE;
99
88
  }
100
89
  _safeApproveInf(token, SY);
101
- uint256 minted = IStandardizedYield(SY).deposit{value: token == NATIVE ? makingAmount : 0}(
102
- address(this),
103
- token,
104
- makingAmount,
105
- 0
90
+ (bool success, bytes memory result) = SY.call{value: token == NATIVE ? makingAmount : 0}(
91
+ abi.encodeCall(IStandardizedYield.deposit, (address(this), token, makingAmount, 0))
106
92
  );
107
- revert Errors.SimulationResults(true, abi.encode(minted));
93
+ revert Errors.SimulationResults(success, result);
108
94
  }
109
95
  }
@@ -4,5 +4,6 @@
4
4
  "implicitSwapfeeContract": "0x43D03031FAb845065e9CEfE89Dd122d63F72011F",
5
5
  "simulateHelper": "0x2b3EC64160F658fFe7061769415Ff080fca80BbA",
6
6
  "supplyCapReader": "0x438C7dBA7d355aA0c77459AF38B2E62f9f9EccBf",
7
- "balanceReader": "0x2085F50305f656f96b22ECBfe0A4f5e786Ff0438"
8
- }
7
+ "balanceReader": "0x2085F50305f656f96b22ECBfe0A4f5e786Ff0438",
8
+ "limitBackendHelperV2": "0x05f6bAF4189e46aC0C728bb3fE2fCba247441100"
9
+ }
@@ -3,5 +3,6 @@
3
3
  "pendleMulticallV2": "0x539fd510fE352CC81822a222F821c340133Ed41C",
4
4
  "simulateHelper": "0x2b3EC64160F658fFe7061769415Ff080fca80BbA",
5
5
  "supplyCapReader": "0x438C7dBA7d355aA0c77459AF38B2E62f9f9EccBf",
6
- "balanceReader": "0x2085F50305f656f96b22ECBfe0A4f5e786Ff0438"
7
- }
6
+ "balanceReader": "0x2085F50305f656f96b22ECBfe0A4f5e786Ff0438",
7
+ "limitBackendHelperV2": "0x05f6bAF4189e46aC0C728bb3fE2fCba247441100"
8
+ }
@@ -3,5 +3,6 @@
3
3
  "implicitSwapfeeContract": "0x82Fae57b2A79D893D88488A7D8BdF2AC6bd2C463",
4
4
  "simulateHelper": "0xc23Dd2807e51dd1D317e1321CBeEb9ace98531EE",
5
5
  "supplyCapReader": "0x251CfB4E84CefecA6c1e6a4D8a0cb9c524e7484f",
6
- "balanceReader": "0x2085F50305f656f96b22ECBfe0A4f5e786Ff0438"
7
- }
6
+ "balanceReader": "0x2085F50305f656f96b22ECBfe0A4f5e786Ff0438",
7
+ "limitBackendHelperV2": "0x05f6bAF4189e46aC0C728bb3fE2fCba247441100"
8
+ }
@@ -4,5 +4,6 @@
4
4
  "implicitSwapfeeContract": "0x704478Dd72FD7F9B83d1F1e0fc18C14B54F034d0",
5
5
  "simulateHelper": "0x2b3EC64160F658fFe7061769415Ff080fca80BbA",
6
6
  "supplyCapReader": "0x438C7dBA7d355aA0c77459AF38B2E62f9f9EccBf",
7
- "balanceReader": "0x2085F50305f656f96b22ECBfe0A4f5e786Ff0438"
8
- }
7
+ "balanceReader": "0x2085F50305f656f96b22ECBfe0A4f5e786Ff0438",
8
+ "limitBackendHelperV2": "0x05f6bAF4189e46aC0C728bb3fE2fCba247441100"
9
+ }
@@ -4,5 +4,6 @@
4
4
  "implicitSwapfeeContract": "0xa87f7EeDD570943BcFFcE6D00B13D9a95ede8810",
5
5
  "simulateHelper": "0x2b3EC64160F658fFe7061769415Ff080fca80BbA",
6
6
  "supplyCapReader": "0x438C7dBA7d355aA0c77459AF38B2E62f9f9EccBf",
7
- "balanceReader": "0x2085F50305f656f96b22ECBfe0A4f5e786Ff0438"
8
- }
7
+ "balanceReader": "0x2085F50305f656f96b22ECBfe0A4f5e786Ff0438",
8
+ "limitBackendHelperV2": "0x05f6bAF4189e46aC0C728bb3fE2fCba247441100"
9
+ }
@@ -4,5 +4,6 @@
4
4
  "implicitSwapfeeContract": "0xed18de5442297a4ec1ce59c7c7d9427adc2a012b",
5
5
  "simulateHelper": "0x2b3EC64160F658fFe7061769415Ff080fca80BbA",
6
6
  "supplyCapReader": "0x438C7dBA7d355aA0c77459AF38B2E62f9f9EccBf",
7
- "balanceReader": "0x2085F50305f656f96b22ECBfe0A4f5e786Ff0438"
8
- }
7
+ "balanceReader": "0x2085F50305f656f96b22ECBfe0A4f5e786Ff0438",
8
+ "limitBackendHelperV2": "0x05f6bAF4189e46aC0C728bb3fE2fCba247441100"
9
+ }
@@ -3,5 +3,6 @@
3
3
  "implicitSwapfeeContract": "0x82Fae57b2A79D893D88488A7D8BdF2AC6bd2C463",
4
4
  "simulateHelper": "0xc23Dd2807e51dd1D317e1321CBeEb9ace98531EE",
5
5
  "supplyCapReader": "0x251CfB4E84CefecA6c1e6a4D8a0cb9c524e7484f",
6
- "balanceReader": "0x2085F50305f656f96b22ECBfe0A4f5e786Ff0438"
7
- }
6
+ "balanceReader": "0x2085F50305f656f96b22ECBfe0A4f5e786Ff0438",
7
+ "limitBackendHelperV2": "0x05f6bAF4189e46aC0C728bb3fE2fCba247441100"
8
+ }
@@ -3,5 +3,6 @@
3
3
  "pendleMulticallV2": "0x539fd510fE352CC81822a222F821c340133Ed41C",
4
4
  "simulateHelper": "0x2b3EC64160F658fFe7061769415Ff080fca80BbA",
5
5
  "supplyCapReader": "0x438C7dBA7d355aA0c77459AF38B2E62f9f9EccBf",
6
- "balanceReader": "0x2085F50305f656f96b22ECBfe0A4f5e786Ff0438"
7
- }
6
+ "balanceReader": "0x2085F50305f656f96b22ECBfe0A4f5e786Ff0438",
7
+ "limitBackendHelperV2": "0x05f6bAF4189e46aC0C728bb3fE2fCba247441100"
8
+ }
@@ -3,5 +3,6 @@
3
3
  "implicitSwapfeeContract": "0x82Fae57b2A79D893D88488A7D8BdF2AC6bd2C463",
4
4
  "simulateHelper": "0xc23Dd2807e51dd1D317e1321CBeEb9ace98531EE",
5
5
  "supplyCapReader": "0x251CfB4E84CefecA6c1e6a4D8a0cb9c524e7484f",
6
- "balanceReader": "0x2085F50305f656f96b22ECBfe0A4f5e786Ff0438"
7
- }
6
+ "balanceReader": "0x2085F50305f656f96b22ECBfe0A4f5e786Ff0438",
7
+ "limitBackendHelperV2": "0x05f6bAF4189e46aC0C728bb3fE2fCba247441100"
8
+ }
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@pendle/core-v2",
3
3
  "description": "Core smart contracts of Pendle Protocol.",
4
4
  "license": "BUSL-1.1",
5
- "version": "6.1.0",
5
+ "version": "6.1.1",
6
6
  "homepage": "https://pendle.finance",
7
7
  "keywords": [
8
8
  "pendle",
@@ -0,0 +1,289 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import {
5
+ BaseContract,
6
+ BigNumber,
7
+ BigNumberish,
8
+ BytesLike,
9
+ CallOverrides,
10
+ ContractTransaction,
11
+ Overrides,
12
+ PopulatedTransaction,
13
+ Signer,
14
+ utils,
15
+ } from "ethers";
16
+ import { FunctionFragment, Result } from "@ethersproject/abi";
17
+ import { Listener, Provider } from "@ethersproject/providers";
18
+ import type {
19
+ TypedEventFilter,
20
+ TypedEvent,
21
+ TypedListener,
22
+ OnEvent,
23
+ } from "./common";
24
+
25
+ export interface LimitBackendHelperV2Interface extends utils.Interface {
26
+ contractName: "LimitBackendHelperV2";
27
+ functions: {
28
+ "mintSyFromTokenRevert(address,address,address,uint256)": FunctionFragment;
29
+ "mintSyFromTokensV2(address,address[],address[],uint256[])": FunctionFragment;
30
+ "readMultiTokens(address[],address[],address)": FunctionFragment;
31
+ "readSingleToken(address,address[],address)": FunctionFragment;
32
+ };
33
+
34
+ encodeFunctionData(
35
+ functionFragment: "mintSyFromTokenRevert",
36
+ values: [string, string, string, BigNumberish]
37
+ ): string;
38
+ encodeFunctionData(
39
+ functionFragment: "mintSyFromTokensV2",
40
+ values: [string, string[], string[], BigNumberish[]]
41
+ ): string;
42
+ encodeFunctionData(
43
+ functionFragment: "readMultiTokens",
44
+ values: [string[], string[], string]
45
+ ): string;
46
+ encodeFunctionData(
47
+ functionFragment: "readSingleToken",
48
+ values: [string, string[], string]
49
+ ): string;
50
+
51
+ decodeFunctionResult(
52
+ functionFragment: "mintSyFromTokenRevert",
53
+ data: BytesLike
54
+ ): Result;
55
+ decodeFunctionResult(
56
+ functionFragment: "mintSyFromTokensV2",
57
+ data: BytesLike
58
+ ): Result;
59
+ decodeFunctionResult(
60
+ functionFragment: "readMultiTokens",
61
+ data: BytesLike
62
+ ): Result;
63
+ decodeFunctionResult(
64
+ functionFragment: "readSingleToken",
65
+ data: BytesLike
66
+ ): Result;
67
+
68
+ events: {};
69
+ }
70
+
71
+ export interface LimitBackendHelperV2 extends BaseContract {
72
+ contractName: "LimitBackendHelperV2";
73
+ connect(signerOrProvider: Signer | Provider | string): this;
74
+ attach(addressOrName: string): this;
75
+ deployed(): Promise<this>;
76
+
77
+ interface: LimitBackendHelperV2Interface;
78
+
79
+ queryFilter<TEvent extends TypedEvent>(
80
+ event: TypedEventFilter<TEvent>,
81
+ fromBlockOrBlockhash?: string | number | undefined,
82
+ toBlock?: string | number | undefined
83
+ ): Promise<Array<TEvent>>;
84
+
85
+ listeners<TEvent extends TypedEvent>(
86
+ eventFilter?: TypedEventFilter<TEvent>
87
+ ): Array<TypedListener<TEvent>>;
88
+ listeners(eventName?: string): Array<Listener>;
89
+ removeAllListeners<TEvent extends TypedEvent>(
90
+ eventFilter: TypedEventFilter<TEvent>
91
+ ): this;
92
+ removeAllListeners(eventName?: string): this;
93
+ off: OnEvent<this>;
94
+ on: OnEvent<this>;
95
+ once: OnEvent<this>;
96
+ removeListener: OnEvent<this>;
97
+
98
+ functions: {
99
+ mintSyFromTokenRevert(
100
+ maker: string,
101
+ SY: string,
102
+ token: string,
103
+ makingAmount: BigNumberish,
104
+ overrides?: Overrides & { from?: string | Promise<string> }
105
+ ): Promise<ContractTransaction>;
106
+
107
+ mintSyFromTokensV2(
108
+ YT: string,
109
+ makers: string[],
110
+ tokens: string[],
111
+ amounts: BigNumberish[],
112
+ overrides?: Overrides & { from?: string | Promise<string> }
113
+ ): Promise<ContractTransaction>;
114
+
115
+ readMultiTokens(
116
+ tokens: string[],
117
+ owners: string[],
118
+ spender: string,
119
+ overrides?: CallOverrides
120
+ ): Promise<
121
+ [BigNumber[], BigNumber[]] & {
122
+ balances: BigNumber[];
123
+ allowances: BigNumber[];
124
+ }
125
+ >;
126
+
127
+ readSingleToken(
128
+ token: string,
129
+ owners: string[],
130
+ spender: string,
131
+ overrides?: CallOverrides
132
+ ): Promise<
133
+ [BigNumber[], BigNumber[]] & {
134
+ balances: BigNumber[];
135
+ allowances: BigNumber[];
136
+ }
137
+ >;
138
+ };
139
+
140
+ mintSyFromTokenRevert(
141
+ maker: string,
142
+ SY: string,
143
+ token: string,
144
+ makingAmount: BigNumberish,
145
+ overrides?: Overrides & { from?: string | Promise<string> }
146
+ ): Promise<ContractTransaction>;
147
+
148
+ mintSyFromTokensV2(
149
+ YT: string,
150
+ makers: string[],
151
+ tokens: string[],
152
+ amounts: BigNumberish[],
153
+ overrides?: Overrides & { from?: string | Promise<string> }
154
+ ): Promise<ContractTransaction>;
155
+
156
+ readMultiTokens(
157
+ tokens: string[],
158
+ owners: string[],
159
+ spender: string,
160
+ overrides?: CallOverrides
161
+ ): Promise<
162
+ [BigNumber[], BigNumber[]] & {
163
+ balances: BigNumber[];
164
+ allowances: BigNumber[];
165
+ }
166
+ >;
167
+
168
+ readSingleToken(
169
+ token: string,
170
+ owners: string[],
171
+ spender: string,
172
+ overrides?: CallOverrides
173
+ ): Promise<
174
+ [BigNumber[], BigNumber[]] & {
175
+ balances: BigNumber[];
176
+ allowances: BigNumber[];
177
+ }
178
+ >;
179
+
180
+ callStatic: {
181
+ mintSyFromTokenRevert(
182
+ maker: string,
183
+ SY: string,
184
+ token: string,
185
+ makingAmount: BigNumberish,
186
+ overrides?: CallOverrides
187
+ ): Promise<void>;
188
+
189
+ mintSyFromTokensV2(
190
+ YT: string,
191
+ makers: string[],
192
+ tokens: string[],
193
+ amounts: BigNumberish[],
194
+ overrides?: CallOverrides
195
+ ): Promise<
196
+ [BigNumber[], string[]] & { minted: BigNumber[]; error: string[] }
197
+ >;
198
+
199
+ readMultiTokens(
200
+ tokens: string[],
201
+ owners: string[],
202
+ spender: string,
203
+ overrides?: CallOverrides
204
+ ): Promise<
205
+ [BigNumber[], BigNumber[]] & {
206
+ balances: BigNumber[];
207
+ allowances: BigNumber[];
208
+ }
209
+ >;
210
+
211
+ readSingleToken(
212
+ token: string,
213
+ owners: string[],
214
+ spender: string,
215
+ overrides?: CallOverrides
216
+ ): Promise<
217
+ [BigNumber[], BigNumber[]] & {
218
+ balances: BigNumber[];
219
+ allowances: BigNumber[];
220
+ }
221
+ >;
222
+ };
223
+
224
+ filters: {};
225
+
226
+ estimateGas: {
227
+ mintSyFromTokenRevert(
228
+ maker: string,
229
+ SY: string,
230
+ token: string,
231
+ makingAmount: BigNumberish,
232
+ overrides?: Overrides & { from?: string | Promise<string> }
233
+ ): Promise<BigNumber>;
234
+
235
+ mintSyFromTokensV2(
236
+ YT: string,
237
+ makers: string[],
238
+ tokens: string[],
239
+ amounts: BigNumberish[],
240
+ overrides?: Overrides & { from?: string | Promise<string> }
241
+ ): Promise<BigNumber>;
242
+
243
+ readMultiTokens(
244
+ tokens: string[],
245
+ owners: string[],
246
+ spender: string,
247
+ overrides?: CallOverrides
248
+ ): Promise<BigNumber>;
249
+
250
+ readSingleToken(
251
+ token: string,
252
+ owners: string[],
253
+ spender: string,
254
+ overrides?: CallOverrides
255
+ ): Promise<BigNumber>;
256
+ };
257
+
258
+ populateTransaction: {
259
+ mintSyFromTokenRevert(
260
+ maker: string,
261
+ SY: string,
262
+ token: string,
263
+ makingAmount: BigNumberish,
264
+ overrides?: Overrides & { from?: string | Promise<string> }
265
+ ): Promise<PopulatedTransaction>;
266
+
267
+ mintSyFromTokensV2(
268
+ YT: string,
269
+ makers: string[],
270
+ tokens: string[],
271
+ amounts: BigNumberish[],
272
+ overrides?: Overrides & { from?: string | Promise<string> }
273
+ ): Promise<PopulatedTransaction>;
274
+
275
+ readMultiTokens(
276
+ tokens: string[],
277
+ owners: string[],
278
+ spender: string,
279
+ overrides?: CallOverrides
280
+ ): Promise<PopulatedTransaction>;
281
+
282
+ readSingleToken(
283
+ token: string,
284
+ owners: string[],
285
+ spender: string,
286
+ overrides?: CallOverrides
287
+ ): Promise<PopulatedTransaction>;
288
+ };
289
+ }
@@ -0,0 +1,235 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
5
+ import { Provider, TransactionRequest } from "@ethersproject/providers";
6
+ import type {
7
+ LimitBackendHelperV2,
8
+ LimitBackendHelperV2Interface,
9
+ } from "../LimitBackendHelperV2";
10
+
11
+ const _abi = [
12
+ {
13
+ inputs: [
14
+ {
15
+ internalType: "address",
16
+ name: "_WNATIVE",
17
+ type: "address",
18
+ },
19
+ ],
20
+ stateMutability: "nonpayable",
21
+ type: "constructor",
22
+ },
23
+ {
24
+ inputs: [
25
+ {
26
+ internalType: "bool",
27
+ name: "success",
28
+ type: "bool",
29
+ },
30
+ {
31
+ internalType: "bytes",
32
+ name: "res",
33
+ type: "bytes",
34
+ },
35
+ ],
36
+ name: "SimulationResults",
37
+ type: "error",
38
+ },
39
+ {
40
+ inputs: [
41
+ {
42
+ internalType: "address",
43
+ name: "maker",
44
+ type: "address",
45
+ },
46
+ {
47
+ internalType: "address",
48
+ name: "SY",
49
+ type: "address",
50
+ },
51
+ {
52
+ internalType: "address",
53
+ name: "token",
54
+ type: "address",
55
+ },
56
+ {
57
+ internalType: "uint256",
58
+ name: "makingAmount",
59
+ type: "uint256",
60
+ },
61
+ ],
62
+ name: "mintSyFromTokenRevert",
63
+ outputs: [],
64
+ stateMutability: "nonpayable",
65
+ type: "function",
66
+ },
67
+ {
68
+ inputs: [
69
+ {
70
+ internalType: "address",
71
+ name: "YT",
72
+ type: "address",
73
+ },
74
+ {
75
+ internalType: "address[]",
76
+ name: "makers",
77
+ type: "address[]",
78
+ },
79
+ {
80
+ internalType: "address[]",
81
+ name: "tokens",
82
+ type: "address[]",
83
+ },
84
+ {
85
+ internalType: "uint256[]",
86
+ name: "amounts",
87
+ type: "uint256[]",
88
+ },
89
+ ],
90
+ name: "mintSyFromTokensV2",
91
+ outputs: [
92
+ {
93
+ internalType: "uint256[]",
94
+ name: "minted",
95
+ type: "uint256[]",
96
+ },
97
+ {
98
+ internalType: "bytes[]",
99
+ name: "error",
100
+ type: "bytes[]",
101
+ },
102
+ ],
103
+ stateMutability: "nonpayable",
104
+ type: "function",
105
+ },
106
+ {
107
+ inputs: [
108
+ {
109
+ internalType: "address[]",
110
+ name: "tokens",
111
+ type: "address[]",
112
+ },
113
+ {
114
+ internalType: "address[]",
115
+ name: "owners",
116
+ type: "address[]",
117
+ },
118
+ {
119
+ internalType: "address",
120
+ name: "spender",
121
+ type: "address",
122
+ },
123
+ ],
124
+ name: "readMultiTokens",
125
+ outputs: [
126
+ {
127
+ internalType: "uint256[]",
128
+ name: "balances",
129
+ type: "uint256[]",
130
+ },
131
+ {
132
+ internalType: "uint256[]",
133
+ name: "allowances",
134
+ type: "uint256[]",
135
+ },
136
+ ],
137
+ stateMutability: "view",
138
+ type: "function",
139
+ },
140
+ {
141
+ inputs: [
142
+ {
143
+ internalType: "address",
144
+ name: "token",
145
+ type: "address",
146
+ },
147
+ {
148
+ internalType: "address[]",
149
+ name: "owners",
150
+ type: "address[]",
151
+ },
152
+ {
153
+ internalType: "address",
154
+ name: "spender",
155
+ type: "address",
156
+ },
157
+ ],
158
+ name: "readSingleToken",
159
+ outputs: [
160
+ {
161
+ internalType: "uint256[]",
162
+ name: "balances",
163
+ type: "uint256[]",
164
+ },
165
+ {
166
+ internalType: "uint256[]",
167
+ name: "allowances",
168
+ type: "uint256[]",
169
+ },
170
+ ],
171
+ stateMutability: "view",
172
+ type: "function",
173
+ },
174
+ ];
175
+
176
+ const _bytecode =
177
+ "0x60c060405234801561000f575f5ffd5b5060405161182738038061182783398101604081905261002e91610043565b6001600160a01b03166080523060a052610070565b5f60208284031215610053575f5ffd5b81516001600160a01b0381168114610069575f5ffd5b9392505050565b60805160a05161178961009e5f395f61065f01525f818160ce0152818161012c015261019f01526117895ff3fe608060405234801561000f575f5ffd5b506004361061004a575f3560e01c8063083c1fce1461004e578063152c3db71461006357806319585e1a1461008d5780632d36a6d3146100ae575b5f5ffd5b61006161005c366004611158565b6100c1565b005b6100766100713660046111ed565b6102b7565b6040516100849291906112a8565b60405180910390f35b6100a061009b3660046112d5565b61054b565b6040516100849291906113d0565b6100766100bc366004611445565b6107ef565b6100cc8285836109f5565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161480156101955750604051637d2d278360e11b81526001600160a01b0384169063fa5a4f0690610154907f0000000000000000000000000000000000000000000000000000000000000000906004016114a8565b602060405180830381865afa15801561016f573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061019391906114d0565b155b156101c9576101c57f00000000000000000000000000000000000000000000000000000000000000005f83610a61565b5f91505b6101d38284610b1e565b5f806001600160a01b03808616908516156101ee575f6101f0565b835b6040513060248201526001600160a01b0387166044820152606481018690525f608482015260a40160408051601f198184030181529181526020820180516001600160e01b03166320e8c56560e01b1790525161024d91906114f0565b5f6040518083038185875af1925050503d805f8114610287576040519150601f19603f3d011682016040523d82523d5f602084013e61028c565b606091505b5091509150818160405163032695f960e31b81526004016102ae92919061150b565b60405180910390fd5b6060808584146102fb5760405162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b60448201526064016102ae565b836001600160401b0381111561031357610313611525565b60405190808252806020026020018201604052801561033c578160200160208202803683370190505b509150836001600160401b0381111561035757610357611525565b604051908082528060200260200182016040528015610380578160200160208202803683370190505b5090505f5b848110156105405787878281811061039f5761039f611539565b90506020020160208101906103b4919061154d565b6001600160a01b03166370a082318787848181106103d4576103d4611539565b90506020020160208101906103e9919061154d565b6040518263ffffffff1660e01b815260040161040591906114a8565b602060405180830381865afa158015610420573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104449190611568565b83828151811061045657610456611539565b60200260200101818152505087878281811061047457610474611539565b9050602002016020810190610489919061154d565b6001600160a01b031663dd62ed3e8787848181106104a9576104a9611539565b90506020020160208101906104be919061154d565b866040518363ffffffff1660e01b81526004016104dc92919061157f565b602060405180830381865afa1580156104f7573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061051b9190611568565b82828151811061052d5761052d611539565b6020908102919091010152600101610385565b509550959350505050565b6060805f8888905090505f8a6001600160a01b031663afd27bf56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610592573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105b69190611599565b9050816001600160401b038111156105d0576105d0611525565b6040519080825280602002602001820160405280156105f9578160200160208202803683370190505b509350816001600160401b0381111561061457610614611525565b60405190808252806020026020018201604052801561064757816020015b60608152602001906001900390816106325790505b5092505f5b828110156107e0575f6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163063083c1fce8e8e8681811061069757610697611539565b90506020020160208101906106ac919061154d565b868e8e888181106106bf576106bf611539565b90506020020160208101906106d4919061154d565b8d8d898181106106e6576106e6611539565b6040516001600160a01b039687166024820152948616604486015292909416606484015260209091020135608482015260a401905060408051601f198184030181529181526020820180516001600160e01b031660e09490941b93909317909252905161075392506114f0565b5f60405180830381855af49150503d805f811461078b576040519150601f19603f3d011682016040523d82523d5f602084013e610790565b606091505b5091505061079d81610bd9565b8784815181106107af576107af611539565b602002602001018785815181106107c8576107c8611539565b6020908102919091010191909152525060010161064c565b50505097509795505050505050565b606080836001600160401b0381111561080a5761080a611525565b604051908082528060200260200182016040528015610833578160200160208202803683370190505b509150836001600160401b0381111561084e5761084e611525565b604051908082528060200260200182016040528015610877578160200160208202803683370190505b5090505f5b848110156109eb57866001600160a01b03166370a082318787848181106108a5576108a5611539565b90506020020160208101906108ba919061154d565b6040518263ffffffff1660e01b81526004016108d691906114a8565b602060405180830381865afa1580156108f1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109159190611568565b83828151811061092757610927611539565b602002602001018181525050866001600160a01b031663dd62ed3e87878481811061095457610954611539565b9050602002016020810190610969919061154d565b866040518363ffffffff1660e01b815260040161098792919061157f565b602060405180830381865afa1580156109a2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109c69190611568565b8282815181106109d8576109d8611539565b602090810291909101015260010161087c565b5094509492505050565b6001600160a01b038316610a4657803414610a415760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b60448201526064016102ae565b505050565b8015610a4157610a416001600160a01b038416833084610c73565b6001600160a01b038316610ac457816001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004015f604051808303818588803b158015610aa8575f5ffd5b505af1158015610aba573d5f5f3e3d5ffd5b5050505050505050565b604051632e1a7d4d60e01b8152600481018290526001600160a01b03841690632e1a7d4d906024015f604051808303815f87803b158015610b03575f5ffd5b505af1158015610b15573d5f5f3e3d5ffd5b50505050505050565b6001600160a01b038216610b30575050565b610b4260026001600160601b036115c8565b6001600160601b0316826001600160a01b031663dd62ed3e30846040518363ffffffff1660e01b8152600401610b7992919061157f565b602060405180830381865afa158015610b94573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bb89190611568565b1015610bd557610bc982825f610cd3565b610bd582825f19610cd3565b5050565b5f60606004835110158015610c06575063032695f960e31b610bfa84611602565b6001600160e01b031916145b610c1257610c12611640565b5f5f610c2c856004808851610c279190611654565b610dd8565b806020019051810190610c3f919061166d565b915091508115610c645780806020019051810190610c5d9190611568565b9350610c6c565b5f1993508092505b5050915091565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052610ccd908590610ee4565b50505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b17905291515f92839290871691610d2e91906114f0565b5f604051808303815f865af19150503d805f8114610d67576040519150601f19603f3d011682016040523d82523d5f602084013e610d6c565b606091505b5091509150818015610d96575080511580610d96575080806020019051810190610d9691906114d0565b610dd15760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b60448201526064016102ae565b5050505050565b606081610de681601f61172e565b1015610e255760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b60448201526064016102ae565b610e2f828461172e565b84511015610e735760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b60448201526064016102ae565b606082158015610e915760405191505f825260208201604052610edb565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015610eca578051835260209283019201610eb2565b5050858452601f01601f1916604052505b50949350505050565b5f610f38826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610fb79092919063ffffffff16565b905080515f1480610f58575080806020019051810190610f5891906114d0565b610a415760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016102ae565b6060610fc584845f85610fcd565b949350505050565b60608247101561102e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016102ae565b5f5f866001600160a01b0316858760405161104991906114f0565b5f6040518083038185875af1925050503d805f8114611083576040519150601f19603f3d011682016040523d82523d5f602084013e611088565b606091505b5091509150611099878383876110a4565b979650505050505050565b606083156111125782515f0361110b576001600160a01b0385163b61110b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ae565b5081610fc5565b610fc583838151156111275781518083602001fd5b8060405162461bcd60e51b81526004016102ae9190611741565b6001600160a01b0381168114611155575f5ffd5b50565b5f5f5f5f6080858703121561116b575f5ffd5b843561117681611141565b9350602085013561118681611141565b9250604085013561119681611141565b9396929550929360600135925050565b5f5f83601f8401126111b6575f5ffd5b5081356001600160401b038111156111cc575f5ffd5b6020830191508360208260051b85010111156111e6575f5ffd5b9250929050565b5f5f5f5f5f60608688031215611201575f5ffd5b85356001600160401b03811115611216575f5ffd5b611222888289016111a6565b90965094505060208601356001600160401b03811115611240575f5ffd5b61124c888289016111a6565b909450925050604086013561126081611141565b809150509295509295909350565b5f8151808452602084019350602083015f5b8281101561129e578151865260209586019590910190600101611280565b5093949350505050565b604081525f6112ba604083018561126e565b82810360208401526112cc818561126e565b95945050505050565b5f5f5f5f5f5f5f6080888a0312156112eb575f5ffd5b87356112f681611141565b965060208801356001600160401b03811115611310575f5ffd5b61131c8a828b016111a6565b90975095505060408801356001600160401b0381111561133a575f5ffd5b6113468a828b016111a6565b90955093505060608801356001600160401b03811115611364575f5ffd5b6113708a828b016111a6565b989b979a50959850939692959293505050565b5f5b8381101561139d578181015183820152602001611385565b50505f910152565b5f81518084526113bc816020860160208601611383565b601f01601f19169290920160200192915050565b604081525f6113e2604083018561126e565b828103602084015280845180835260208301915060208160051b840101602087015f5b8381101561143757601f198684030185526114218383516113a5565b6020958601959093509190910190600101611405565b509098975050505050505050565b5f5f5f5f60608587031215611458575f5ffd5b843561146381611141565b935060208501356001600160401b0381111561147d575f5ffd5b611489878288016111a6565b909450925050604085013561149d81611141565b939692955090935050565b6001600160a01b0391909116815260200190565b805180151581146114cb575f5ffd5b919050565b5f602082840312156114e0575f5ffd5b6114e9826114bc565b9392505050565b5f8251611501818460208701611383565b9190910192915050565b8215158152604060208201525f610fc560408301846113a5565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561155d575f5ffd5b81356114e981611141565b5f60208284031215611578575f5ffd5b5051919050565b6001600160a01b0392831681529116602082015260400190565b5f602082840312156115a9575f5ffd5b81516114e981611141565b634e487b7160e01b5f52601160045260245ffd5b5f6001600160601b038316806115ec57634e487b7160e01b5f52601260045260245ffd5b6001600160601b03929092169190910492915050565b805160208201516001600160e01b0319811691906004821015611639576001600160e01b0319600483900360031b81901b82161692505b5050919050565b634e487b7160e01b5f52600160045260245ffd5b81810381811115611667576116676115b4565b92915050565b5f5f6040838503121561167e575f5ffd5b611687836114bc565b60208401519092506001600160401b038111156116a2575f5ffd5b8301601f810185136116b2575f5ffd5b80516001600160401b038111156116cb576116cb611525565b604051601f8201601f19908116603f011681016001600160401b03811182821017156116f9576116f9611525565b604052818152828201602001871015611710575f5ffd5b611721826020830160208601611383565b8093505050509250929050565b80820180821115611667576116676115b4565b602081525f6114e960208301846113a556fea264697066735822122023a08e89220583a3672157545eea13219602e8672090f07e6cb21a6e1d1cfa8b64736f6c634300081e0033";
178
+
179
+ type LimitBackendHelperV2ConstructorParams =
180
+ | [signer?: Signer]
181
+ | ConstructorParameters<typeof ContractFactory>;
182
+
183
+ const isSuperArgs = (
184
+ xs: LimitBackendHelperV2ConstructorParams
185
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
186
+
187
+ export class LimitBackendHelperV2__factory extends ContractFactory {
188
+ constructor(...args: LimitBackendHelperV2ConstructorParams) {
189
+ if (isSuperArgs(args)) {
190
+ super(...args);
191
+ } else {
192
+ super(_abi, _bytecode, args[0]);
193
+ }
194
+ this.contractName = "LimitBackendHelperV2";
195
+ }
196
+
197
+ deploy(
198
+ _WNATIVE: string,
199
+ overrides?: Overrides & { from?: string | Promise<string> }
200
+ ): Promise<LimitBackendHelperV2> {
201
+ return super.deploy(
202
+ _WNATIVE,
203
+ overrides || {}
204
+ ) as Promise<LimitBackendHelperV2>;
205
+ }
206
+ getDeployTransaction(
207
+ _WNATIVE: string,
208
+ overrides?: Overrides & { from?: string | Promise<string> }
209
+ ): TransactionRequest {
210
+ return super.getDeployTransaction(_WNATIVE, overrides || {});
211
+ }
212
+ attach(address: string): LimitBackendHelperV2 {
213
+ return super.attach(address) as LimitBackendHelperV2;
214
+ }
215
+ connect(signer: Signer): LimitBackendHelperV2__factory {
216
+ return super.connect(signer) as LimitBackendHelperV2__factory;
217
+ }
218
+ static readonly contractName: "LimitBackendHelperV2";
219
+ public readonly contractName: "LimitBackendHelperV2";
220
+ static readonly bytecode = _bytecode;
221
+ static readonly abi = _abi;
222
+ static createInterface(): LimitBackendHelperV2Interface {
223
+ return new utils.Interface(_abi) as LimitBackendHelperV2Interface;
224
+ }
225
+ static connect(
226
+ address: string,
227
+ signerOrProvider: Signer | Provider
228
+ ): LimitBackendHelperV2 {
229
+ return new Contract(
230
+ address,
231
+ _abi,
232
+ signerOrProvider
233
+ ) as LimitBackendHelperV2;
234
+ }
235
+ }
@@ -804,6 +804,10 @@ declare module "hardhat/types/runtime" {
804
804
  name: "LimitBackendHelper",
805
805
  signerOrOptions?: ethers.Signer | FactoryOptions
806
806
  ): Promise<Contracts.LimitBackendHelper__factory>;
807
+ getContractFactory(
808
+ name: "LimitBackendHelperV2",
809
+ signerOrOptions?: ethers.Signer | FactoryOptions
810
+ ): Promise<Contracts.LimitBackendHelperV2__factory>;
807
811
  getContractFactory(
808
812
  name: "Multicall2",
809
813
  signerOrOptions?: ethers.Signer | FactoryOptions
@@ -1999,6 +2003,11 @@ declare module "hardhat/types/runtime" {
1999
2003
  address: string,
2000
2004
  signer?: ethers.Signer
2001
2005
  ): Promise<Contracts.LimitBackendHelper>;
2006
+ getContractAt(
2007
+ name: "LimitBackendHelperV2",
2008
+ address: string,
2009
+ signer?: ethers.Signer
2010
+ ): Promise<Contracts.LimitBackendHelperV2>;
2002
2011
  getContractAt(
2003
2012
  name: "Multicall2",
2004
2013
  address: string,
@@ -197,6 +197,7 @@ export type { ExpiredLpPtRedeemer } from "./ExpiredLpPtRedeemer";
197
197
  export type { LegacyNFTHelper } from "./LegacyNFTHelper";
198
198
  export type { StarNFTV1 } from "./StarNFTV1";
199
199
  export type { LimitBackendHelper } from "./LimitBackendHelper";
200
+ export type { LimitBackendHelperV2 } from "./LimitBackendHelperV2";
200
201
  export type { Multicall2 } from "./Multicall2";
201
202
  export type { PendleExchangeRateOracle } from "./PendleExchangeRateOracle";
202
203
  export type { PendleGovernanceProxy } from "./PendleGovernanceProxy";
@@ -445,6 +446,7 @@ export { ExpiredLpPtRedeemer__factory } from "./factories/ExpiredLpPtRedeemer__f
445
446
  export { LegacyNFTHelper__factory } from "./factories/LegacyNFTHelper__factory";
446
447
  export { StarNFTV1__factory } from "./factories/StarNFTV1__factory";
447
448
  export { LimitBackendHelper__factory } from "./factories/LimitBackendHelper__factory";
449
+ export { LimitBackendHelperV2__factory } from "./factories/LimitBackendHelperV2__factory";
448
450
  export { Multicall2__factory } from "./factories/Multicall2__factory";
449
451
  export { PendleExchangeRateOracle__factory } from "./factories/PendleExchangeRateOracle__factory";
450
452
  export { PendleGovernanceProxy__factory } from "./factories/PendleGovernanceProxy__factory";
@@ -1,4 +0,0 @@
1
- {
2
- "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/df3be05f70ae2389fe0a72ca1be9de65.json"
4
- }
@@ -1,174 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "LimitBackendHelper",
4
- "sourceName": "contracts/offchain-helpers/LimitBackendHelper.sol",
5
- "abi": [
6
- {
7
- "inputs": [
8
- {
9
- "internalType": "address",
10
- "name": "_WNATIVE",
11
- "type": "address"
12
- }
13
- ],
14
- "stateMutability": "nonpayable",
15
- "type": "constructor"
16
- },
17
- {
18
- "inputs": [
19
- {
20
- "internalType": "bool",
21
- "name": "success",
22
- "type": "bool"
23
- },
24
- {
25
- "internalType": "bytes",
26
- "name": "res",
27
- "type": "bytes"
28
- }
29
- ],
30
- "name": "SimulationResults",
31
- "type": "error"
32
- },
33
- {
34
- "inputs": [
35
- {
36
- "internalType": "address",
37
- "name": "maker",
38
- "type": "address"
39
- },
40
- {
41
- "internalType": "address",
42
- "name": "SY",
43
- "type": "address"
44
- },
45
- {
46
- "internalType": "address",
47
- "name": "token",
48
- "type": "address"
49
- },
50
- {
51
- "internalType": "uint256",
52
- "name": "makingAmount",
53
- "type": "uint256"
54
- }
55
- ],
56
- "name": "mintSyFromTokenRevert",
57
- "outputs": [
58
- {
59
- "internalType": "uint256",
60
- "name": "",
61
- "type": "uint256"
62
- }
63
- ],
64
- "stateMutability": "nonpayable",
65
- "type": "function"
66
- },
67
- {
68
- "inputs": [
69
- {
70
- "internalType": "address",
71
- "name": "YT",
72
- "type": "address"
73
- },
74
- {
75
- "internalType": "address[]",
76
- "name": "makers",
77
- "type": "address[]"
78
- },
79
- {
80
- "internalType": "address[]",
81
- "name": "tokens",
82
- "type": "address[]"
83
- },
84
- {
85
- "internalType": "uint256[]",
86
- "name": "amounts",
87
- "type": "uint256[]"
88
- }
89
- ],
90
- "name": "mintSyFromTokens",
91
- "outputs": [
92
- {
93
- "internalType": "uint256[]",
94
- "name": "minted",
95
- "type": "uint256[]"
96
- }
97
- ],
98
- "stateMutability": "nonpayable",
99
- "type": "function"
100
- },
101
- {
102
- "inputs": [
103
- {
104
- "internalType": "address[]",
105
- "name": "tokens",
106
- "type": "address[]"
107
- },
108
- {
109
- "internalType": "address[]",
110
- "name": "owners",
111
- "type": "address[]"
112
- },
113
- {
114
- "internalType": "address",
115
- "name": "spender",
116
- "type": "address"
117
- }
118
- ],
119
- "name": "readMultiTokens",
120
- "outputs": [
121
- {
122
- "internalType": "uint256[]",
123
- "name": "balances",
124
- "type": "uint256[]"
125
- },
126
- {
127
- "internalType": "uint256[]",
128
- "name": "allowances",
129
- "type": "uint256[]"
130
- }
131
- ],
132
- "stateMutability": "view",
133
- "type": "function"
134
- },
135
- {
136
- "inputs": [
137
- {
138
- "internalType": "address",
139
- "name": "token",
140
- "type": "address"
141
- },
142
- {
143
- "internalType": "address[]",
144
- "name": "owners",
145
- "type": "address[]"
146
- },
147
- {
148
- "internalType": "address",
149
- "name": "spender",
150
- "type": "address"
151
- }
152
- ],
153
- "name": "readSingleToken",
154
- "outputs": [
155
- {
156
- "internalType": "uint256[]",
157
- "name": "balances",
158
- "type": "uint256[]"
159
- },
160
- {
161
- "internalType": "uint256[]",
162
- "name": "allowances",
163
- "type": "uint256[]"
164
- }
165
- ],
166
- "stateMutability": "view",
167
- "type": "function"
168
- }
169
- ],
170
- "bytecode": "0x60c060405234801561000f575f5ffd5b5060405161174138038061174183398101604081905261002e91610043565b6001600160a01b03166080523060a052610070565b5f60208284031215610053575f5ffd5b81516001600160a01b0381168114610069575f5ffd5b9392505050565b60805160a0516116a361009e5f395f61081601525f818160d60152818161013401526101a701526116a35ff3fe608060405234801561000f575f5ffd5b506004361061004a575f3560e01c8063083c1fce1461004e578063152c3db7146100745780632d36a6d314610095578063cd62578b146100a8575b5f5ffd5b61006161005c3660046110e9565b6100c8565b6040519081526020015b60405180910390f35b61008761008236600461117e565b6102bf565b60405161006b929190611239565b6100876100a3366004611266565b610553565b6100bb6100b63660046112c9565b610759565b60405161006b9190611377565b5f6100d4838684610987565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614801561019d5750604051637d2d278360e11b81526001600160a01b0385169063fa5a4f069061015c907f000000000000000000000000000000000000000000000000000000000000000090600401611390565b602060405180830381865afa158015610177573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061019b91906113b8565b155b156101d1576101cd7f00000000000000000000000000000000000000000000000000000000000000005f846109f3565b5f92505b6101db8385610ab0565b5f6001600160a01b03808616906320e8c565908616156101fb575f6101fd565b845b6040516001600160e01b031960e084901b1681523060048201526001600160a01b0388166024820152604481018790525f606482015260840160206040518083038185885af1158015610252573d5f5f3e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061027791906113d1565b905060018160405160200161028e91815260200190565b60408051601f198184030181529082905263032695f960e31b82526102b69291600401611435565b60405180910390fd5b6060808584146103035760405162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b60448201526064016102b6565b836001600160401b0381111561031b5761031b61144f565b604051908082528060200260200182016040528015610344578160200160208202803683370190505b509150836001600160401b0381111561035f5761035f61144f565b604051908082528060200260200182016040528015610388578160200160208202803683370190505b5090505f5b84811015610548578787828181106103a7576103a7611463565b90506020020160208101906103bc9190611477565b6001600160a01b03166370a082318787848181106103dc576103dc611463565b90506020020160208101906103f19190611477565b6040518263ffffffff1660e01b815260040161040d9190611390565b602060405180830381865afa158015610428573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061044c91906113d1565b83828151811061045e5761045e611463565b60200260200101818152505087878281811061047c5761047c611463565b90506020020160208101906104919190611477565b6001600160a01b031663dd62ed3e8787848181106104b1576104b1611463565b90506020020160208101906104c69190611477565b866040518363ffffffff1660e01b81526004016104e4929190611492565b602060405180830381865afa1580156104ff573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061052391906113d1565b82828151811061053557610535611463565b602090810291909101015260010161038d565b509550959350505050565b606080836001600160401b0381111561056e5761056e61144f565b604051908082528060200260200182016040528015610597578160200160208202803683370190505b509150836001600160401b038111156105b2576105b261144f565b6040519080825280602002602001820160405280156105db578160200160208202803683370190505b5090505f5b8481101561074f57866001600160a01b03166370a0823187878481811061060957610609611463565b905060200201602081019061061e9190611477565b6040518263ffffffff1660e01b815260040161063a9190611390565b602060405180830381865afa158015610655573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061067991906113d1565b83828151811061068b5761068b611463565b602002602001018181525050866001600160a01b031663dd62ed3e8787848181106106b8576106b8611463565b90506020020160208101906106cd9190611477565b866040518363ffffffff1660e01b81526004016106eb929190611492565b602060405180830381865afa158015610706573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061072a91906113d1565b82828151811061073c5761073c611463565b60209081029190910101526001016105e0565b5094509492505050565b60605f8787905090505f896001600160a01b031663afd27bf56040518163ffffffff1660e01b8152600401602060405180830381865afa15801561079f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107c391906114ac565b9050816001600160401b038111156107dd576107dd61144f565b604051908082528060200260200182016040528015610806578160200160208202803683370190505b5092505f5b82811015610979575f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168b8b8481811061085057610850611463565b90506020020160208101906108659190611477565b848b8b8681811061087857610878611463565b905060200201602081019061088d9190611477565b8a8a8781811061089f5761089f611463565b6040516001600160a01b039687166024820152948616604486015292909416606484015260209091020135608482015260a401905060408051601f198184030181529181526020820180516001600160e01b031663041e0fe760e11b1790525161090991906114c7565b5f60405180830381855af49150503d805f8114610941576040519150601f19603f3d011682016040523d82523d5f602084013e610946565b606091505b5091505061095381610b6b565b85838151811061096557610965611463565b60209081029190910101525060010161080b565b505050979650505050505050565b6001600160a01b0383166109d8578034146109d35760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b60448201526064016102b6565b505050565b80156109d3576109d36001600160a01b038416833084610c04565b6001600160a01b038316610a5657816001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004015f604051808303818588803b158015610a3a575f5ffd5b505af1158015610a4c573d5f5f3e3d5ffd5b5050505050505050565b604051632e1a7d4d60e01b8152600481018290526001600160a01b03841690632e1a7d4d906024015f604051808303815f87803b158015610a95575f5ffd5b505af1158015610aa7573d5f5f3e3d5ffd5b50505050505050565b6001600160a01b038216610ac2575050565b610ad460026001600160601b036114f6565b6001600160601b0316826001600160a01b031663dd62ed3e30846040518363ffffffff1660e01b8152600401610b0b929190611492565b602060405180830381865afa158015610b26573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b4a91906113d1565b1015610b6757610b5b82825f610c64565b610b6782825f19610c64565b5050565b5f600482511015610b7e57505f19919050565b5f610b8b835f6004610d69565b610b9490611530565b9050631cd96a0760e31b6001600160e01b0319821601610bf9575f610bc7846004808751610bc2919061156e565b610d69565b806020019051810190610bda9190611587565b91505080806020019051810190610bf191906113d1565b925050610bfe565b5f1991505b50919050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052610c5e908590610e75565b50505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b17905291515f92839290871691610cbf91906114c7565b5f604051808303815f865af19150503d805f8114610cf8576040519150601f19603f3d011682016040523d82523d5f602084013e610cfd565b606091505b5091509150818015610d27575080511580610d27575080806020019051810190610d2791906113b8565b610d625760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b60448201526064016102b6565b5050505050565b606081610d7781601f611648565b1015610db65760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b60448201526064016102b6565b610dc08284611648565b84511015610e045760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b60448201526064016102b6565b606082158015610e225760405191505f825260208201604052610e6c565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015610e5b578051835260209283019201610e43565b5050858452601f01601f1916604052505b50949350505050565b5f610ec9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610f489092919063ffffffff16565b905080515f1480610ee9575080806020019051810190610ee991906113b8565b6109d35760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016102b6565b6060610f5684845f85610f5e565b949350505050565b606082471015610fbf5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016102b6565b5f5f866001600160a01b03168587604051610fda91906114c7565b5f6040518083038185875af1925050503d805f8114611014576040519150601f19603f3d011682016040523d82523d5f602084013e611019565b606091505b509150915061102a87838387611035565b979650505050505050565b606083156110a35782515f0361109c576001600160a01b0385163b61109c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102b6565b5081610f56565b610f5683838151156110b85781518083602001fd5b8060405162461bcd60e51b81526004016102b6919061165b565b6001600160a01b03811681146110e6575f5ffd5b50565b5f5f5f5f608085870312156110fc575f5ffd5b8435611107816110d2565b93506020850135611117816110d2565b92506040850135611127816110d2565b9396929550929360600135925050565b5f5f83601f840112611147575f5ffd5b5081356001600160401b0381111561115d575f5ffd5b6020830191508360208260051b8501011115611177575f5ffd5b9250929050565b5f5f5f5f5f60608688031215611192575f5ffd5b85356001600160401b038111156111a7575f5ffd5b6111b388828901611137565b90965094505060208601356001600160401b038111156111d1575f5ffd5b6111dd88828901611137565b90945092505060408601356111f1816110d2565b809150509295509295909350565b5f8151808452602084019350602083015f5b8281101561122f578151865260209586019590910190600101611211565b5093949350505050565b604081525f61124b60408301856111ff565b828103602084015261125d81856111ff565b95945050505050565b5f5f5f5f60608587031215611279575f5ffd5b8435611284816110d2565b935060208501356001600160401b0381111561129e575f5ffd5b6112aa87828801611137565b90945092505060408501356112be816110d2565b939692955090935050565b5f5f5f5f5f5f5f6080888a0312156112df575f5ffd5b87356112ea816110d2565b965060208801356001600160401b03811115611304575f5ffd5b6113108a828b01611137565b90975095505060408801356001600160401b0381111561132e575f5ffd5b61133a8a828b01611137565b90955093505060608801356001600160401b03811115611358575f5ffd5b6113648a828b01611137565b989b979a50959850939692959293505050565b602081525f61138960208301846111ff565b9392505050565b6001600160a01b0391909116815260200190565b805180151581146113b3575f5ffd5b919050565b5f602082840312156113c8575f5ffd5b611389826113a4565b5f602082840312156113e1575f5ffd5b5051919050565b5f5b838110156114025781810151838201526020016113ea565b50505f910152565b5f81518084526114218160208601602086016113e8565b601f01601f19169290920160200192915050565b8215158152604060208201525f610f56604083018461140a565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611487575f5ffd5b8135611389816110d2565b6001600160a01b0392831681529116602082015260400190565b5f602082840312156114bc575f5ffd5b8151611389816110d2565b5f82516114d88184602087016113e8565b9190910192915050565b634e487b7160e01b5f52601160045260245ffd5b5f6001600160601b0383168061151a57634e487b7160e01b5f52601260045260245ffd5b6001600160601b03929092169190910492915050565b805160208201516001600160e01b0319811691906004821015611567576001600160e01b0319600483900360031b81901b82161692505b5050919050565b81810381811115611581576115816114e2565b92915050565b5f5f60408385031215611598575f5ffd5b6115a1836113a4565b60208401519092506001600160401b038111156115bc575f5ffd5b8301601f810185136115cc575f5ffd5b80516001600160401b038111156115e5576115e561144f565b604051601f8201601f19908116603f011681016001600160401b03811182821017156116135761161361144f565b60405281815282820160200187101561162a575f5ffd5b61163b8260208301602086016113e8565b8093505050509250929050565b80820180821115611581576115816114e2565b602081525f611389602083018461140a56fea264697066735822122089eb6881f9dd644ef91075f6c7ebc66970cc50fa3654d12c85145aeaa44f7ffc64736f6c634300081e0033",
171
- "deployedBytecode": "0x608060405234801561000f575f5ffd5b506004361061004a575f3560e01c8063083c1fce1461004e578063152c3db7146100745780632d36a6d314610095578063cd62578b146100a8575b5f5ffd5b61006161005c3660046110e9565b6100c8565b6040519081526020015b60405180910390f35b61008761008236600461117e565b6102bf565b60405161006b929190611239565b6100876100a3366004611266565b610553565b6100bb6100b63660046112c9565b610759565b60405161006b9190611377565b5f6100d4838684610987565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614801561019d5750604051637d2d278360e11b81526001600160a01b0385169063fa5a4f069061015c907f000000000000000000000000000000000000000000000000000000000000000090600401611390565b602060405180830381865afa158015610177573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061019b91906113b8565b155b156101d1576101cd7f00000000000000000000000000000000000000000000000000000000000000005f846109f3565b5f92505b6101db8385610ab0565b5f6001600160a01b03808616906320e8c565908616156101fb575f6101fd565b845b6040516001600160e01b031960e084901b1681523060048201526001600160a01b0388166024820152604481018790525f606482015260840160206040518083038185885af1158015610252573d5f5f3e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061027791906113d1565b905060018160405160200161028e91815260200190565b60408051601f198184030181529082905263032695f960e31b82526102b69291600401611435565b60405180910390fd5b6060808584146103035760405162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b60448201526064016102b6565b836001600160401b0381111561031b5761031b61144f565b604051908082528060200260200182016040528015610344578160200160208202803683370190505b509150836001600160401b0381111561035f5761035f61144f565b604051908082528060200260200182016040528015610388578160200160208202803683370190505b5090505f5b84811015610548578787828181106103a7576103a7611463565b90506020020160208101906103bc9190611477565b6001600160a01b03166370a082318787848181106103dc576103dc611463565b90506020020160208101906103f19190611477565b6040518263ffffffff1660e01b815260040161040d9190611390565b602060405180830381865afa158015610428573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061044c91906113d1565b83828151811061045e5761045e611463565b60200260200101818152505087878281811061047c5761047c611463565b90506020020160208101906104919190611477565b6001600160a01b031663dd62ed3e8787848181106104b1576104b1611463565b90506020020160208101906104c69190611477565b866040518363ffffffff1660e01b81526004016104e4929190611492565b602060405180830381865afa1580156104ff573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061052391906113d1565b82828151811061053557610535611463565b602090810291909101015260010161038d565b509550959350505050565b606080836001600160401b0381111561056e5761056e61144f565b604051908082528060200260200182016040528015610597578160200160208202803683370190505b509150836001600160401b038111156105b2576105b261144f565b6040519080825280602002602001820160405280156105db578160200160208202803683370190505b5090505f5b8481101561074f57866001600160a01b03166370a0823187878481811061060957610609611463565b905060200201602081019061061e9190611477565b6040518263ffffffff1660e01b815260040161063a9190611390565b602060405180830381865afa158015610655573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061067991906113d1565b83828151811061068b5761068b611463565b602002602001018181525050866001600160a01b031663dd62ed3e8787848181106106b8576106b8611463565b90506020020160208101906106cd9190611477565b866040518363ffffffff1660e01b81526004016106eb929190611492565b602060405180830381865afa158015610706573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061072a91906113d1565b82828151811061073c5761073c611463565b60209081029190910101526001016105e0565b5094509492505050565b60605f8787905090505f896001600160a01b031663afd27bf56040518163ffffffff1660e01b8152600401602060405180830381865afa15801561079f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107c391906114ac565b9050816001600160401b038111156107dd576107dd61144f565b604051908082528060200260200182016040528015610806578160200160208202803683370190505b5092505f5b82811015610979575f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168b8b8481811061085057610850611463565b90506020020160208101906108659190611477565b848b8b8681811061087857610878611463565b905060200201602081019061088d9190611477565b8a8a8781811061089f5761089f611463565b6040516001600160a01b039687166024820152948616604486015292909416606484015260209091020135608482015260a401905060408051601f198184030181529181526020820180516001600160e01b031663041e0fe760e11b1790525161090991906114c7565b5f60405180830381855af49150503d805f8114610941576040519150601f19603f3d011682016040523d82523d5f602084013e610946565b606091505b5091505061095381610b6b565b85838151811061096557610965611463565b60209081029190910101525060010161080b565b505050979650505050505050565b6001600160a01b0383166109d8578034146109d35760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b60448201526064016102b6565b505050565b80156109d3576109d36001600160a01b038416833084610c04565b6001600160a01b038316610a5657816001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004015f604051808303818588803b158015610a3a575f5ffd5b505af1158015610a4c573d5f5f3e3d5ffd5b5050505050505050565b604051632e1a7d4d60e01b8152600481018290526001600160a01b03841690632e1a7d4d906024015f604051808303815f87803b158015610a95575f5ffd5b505af1158015610aa7573d5f5f3e3d5ffd5b50505050505050565b6001600160a01b038216610ac2575050565b610ad460026001600160601b036114f6565b6001600160601b0316826001600160a01b031663dd62ed3e30846040518363ffffffff1660e01b8152600401610b0b929190611492565b602060405180830381865afa158015610b26573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b4a91906113d1565b1015610b6757610b5b82825f610c64565b610b6782825f19610c64565b5050565b5f600482511015610b7e57505f19919050565b5f610b8b835f6004610d69565b610b9490611530565b9050631cd96a0760e31b6001600160e01b0319821601610bf9575f610bc7846004808751610bc2919061156e565b610d69565b806020019051810190610bda9190611587565b91505080806020019051810190610bf191906113d1565b925050610bfe565b5f1991505b50919050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052610c5e908590610e75565b50505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b17905291515f92839290871691610cbf91906114c7565b5f604051808303815f865af19150503d805f8114610cf8576040519150601f19603f3d011682016040523d82523d5f602084013e610cfd565b606091505b5091509150818015610d27575080511580610d27575080806020019051810190610d2791906113b8565b610d625760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b60448201526064016102b6565b5050505050565b606081610d7781601f611648565b1015610db65760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b60448201526064016102b6565b610dc08284611648565b84511015610e045760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b60448201526064016102b6565b606082158015610e225760405191505f825260208201604052610e6c565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015610e5b578051835260209283019201610e43565b5050858452601f01601f1916604052505b50949350505050565b5f610ec9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610f489092919063ffffffff16565b905080515f1480610ee9575080806020019051810190610ee991906113b8565b6109d35760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016102b6565b6060610f5684845f85610f5e565b949350505050565b606082471015610fbf5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016102b6565b5f5f866001600160a01b03168587604051610fda91906114c7565b5f6040518083038185875af1925050503d805f8114611014576040519150601f19603f3d011682016040523d82523d5f602084013e611019565b606091505b509150915061102a87838387611035565b979650505050505050565b606083156110a35782515f0361109c576001600160a01b0385163b61109c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102b6565b5081610f56565b610f5683838151156110b85781518083602001fd5b8060405162461bcd60e51b81526004016102b6919061165b565b6001600160a01b03811681146110e6575f5ffd5b50565b5f5f5f5f608085870312156110fc575f5ffd5b8435611107816110d2565b93506020850135611117816110d2565b92506040850135611127816110d2565b9396929550929360600135925050565b5f5f83601f840112611147575f5ffd5b5081356001600160401b0381111561115d575f5ffd5b6020830191508360208260051b8501011115611177575f5ffd5b9250929050565b5f5f5f5f5f60608688031215611192575f5ffd5b85356001600160401b038111156111a7575f5ffd5b6111b388828901611137565b90965094505060208601356001600160401b038111156111d1575f5ffd5b6111dd88828901611137565b90945092505060408601356111f1816110d2565b809150509295509295909350565b5f8151808452602084019350602083015f5b8281101561122f578151865260209586019590910190600101611211565b5093949350505050565b604081525f61124b60408301856111ff565b828103602084015261125d81856111ff565b95945050505050565b5f5f5f5f60608587031215611279575f5ffd5b8435611284816110d2565b935060208501356001600160401b0381111561129e575f5ffd5b6112aa87828801611137565b90945092505060408501356112be816110d2565b939692955090935050565b5f5f5f5f5f5f5f6080888a0312156112df575f5ffd5b87356112ea816110d2565b965060208801356001600160401b03811115611304575f5ffd5b6113108a828b01611137565b90975095505060408801356001600160401b0381111561132e575f5ffd5b61133a8a828b01611137565b90955093505060608801356001600160401b03811115611358575f5ffd5b6113648a828b01611137565b989b979a50959850939692959293505050565b602081525f61138960208301846111ff565b9392505050565b6001600160a01b0391909116815260200190565b805180151581146113b3575f5ffd5b919050565b5f602082840312156113c8575f5ffd5b611389826113a4565b5f602082840312156113e1575f5ffd5b5051919050565b5f5b838110156114025781810151838201526020016113ea565b50505f910152565b5f81518084526114218160208601602086016113e8565b601f01601f19169290920160200192915050565b8215158152604060208201525f610f56604083018461140a565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611487575f5ffd5b8135611389816110d2565b6001600160a01b0392831681529116602082015260400190565b5f602082840312156114bc575f5ffd5b8151611389816110d2565b5f82516114d88184602087016113e8565b9190910192915050565b634e487b7160e01b5f52601160045260245ffd5b5f6001600160601b0383168061151a57634e487b7160e01b5f52601260045260245ffd5b6001600160601b03929092169190910492915050565b805160208201516001600160e01b0319811691906004821015611567576001600160e01b0319600483900360031b81901b82161692505b5050919050565b81810381811115611581576115816114e2565b92915050565b5f5f60408385031215611598575f5ffd5b6115a1836113a4565b60208401519092506001600160401b038111156115bc575f5ffd5b8301601f810185136115cc575f5ffd5b80516001600160401b038111156115e5576115e561144f565b604051601f8201601f19908116603f011681016001600160401b03811182821017156116135761161361144f565b60405281815282820160200187101561162a575f5ffd5b61163b8260208301602086016113e8565b8093505050509250929050565b80820180821115611581576115816114e2565b602081525f611389602083018461140a56fea264697066735822122089eb6881f9dd644ef91075f6c7ebc66970cc50fa3654d12c85145aeaa44f7ffc64736f6c634300081e0033",
172
- "linkReferences": {},
173
- "deployedLinkReferences": {}
174
- }