@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.
- package/build/artifacts/contracts/offchain-helpers/LimitBackendHelperV2.sol/LimitBackendHelperV2.dbg.json +4 -0
- package/build/artifacts/contracts/offchain-helpers/LimitBackendHelperV2.sol/LimitBackendHelperV2.json +173 -0
- package/contracts/offchain-helpers/{LimitBackendHelper.sol → LimitBackendHelperV2.sol} +16 -30
- package/deployments/1-offchain-helper.json +3 -2
- package/deployments/10-offchain-helper.json +3 -2
- package/deployments/146-offchain-helper.json +3 -2
- package/deployments/42161-offchain-helper.json +3 -2
- package/deployments/5000-offchain-helper.json +3 -2
- package/deployments/56-offchain-helper.json +3 -2
- package/deployments/80094-offchain-helper.json +3 -2
- package/deployments/8453-offchain-helper.json +3 -2
- package/deployments/999-offchain-helper.json +3 -2
- package/package.json +1 -1
- package/typechain-types/LimitBackendHelperV2.ts +289 -0
- package/typechain-types/factories/LimitBackendHelperV2__factory.ts +235 -0
- package/typechain-types/hardhat.d.ts +9 -0
- package/typechain-types/index.ts +2 -0
- package/build/artifacts/contracts/offchain-helpers/LimitBackendHelper.sol/LimitBackendHelper.dbg.json +0 -4
- package/build/artifacts/contracts/offchain-helpers/LimitBackendHelper.sol/LimitBackendHelper.json +0 -174
|
@@ -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
|
|
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
|
|
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.
|
|
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
|
-
|
|
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
|
-
|
|
80
|
-
|
|
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
|
-
|
|
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(
|
|
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
|
@@ -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,
|
package/typechain-types/index.ts
CHANGED
|
@@ -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";
|
package/build/artifacts/contracts/offchain-helpers/LimitBackendHelper.sol/LimitBackendHelper.json
DELETED
|
@@ -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
|
-
}
|