@pendle/core-v2 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/contracts/SuperComposableYield/ISuperComposableYield.sol +14 -0
  2. package/contracts/SuperComposableYield/implementations/IRewardManager.sol +16 -0
  3. package/contracts/SuperComposableYield/implementations/RewardManager.sol +24 -5
  4. package/contracts/SuperComposableYield/implementations/SCYBase.sol +21 -1
  5. package/contracts/core/PendleMarket.sol +10 -18
  6. package/contracts/core/PendleMarketFactory.sol +49 -22
  7. package/contracts/core/PendleRouter.sol +74 -0
  8. package/contracts/core/PendleYieldToken.sol +20 -12
  9. package/contracts/core/{router/PendleRouterStaticUpg.sol → RouterStatic.sol} +6 -6
  10. package/contracts/core/actions/ActionCallback.sol +101 -0
  11. package/contracts/core/{router/PendleRouterCoreUpg.sol → actions/ActionCore.sol} +6 -10
  12. package/contracts/core/{router/PendleRouterYTUpg.sol → actions/ActionYT.sol} +6 -11
  13. package/contracts/core/{router/base/PendleRouterOTBaseUpg.sol → actions/base/ActionSCYAndOTBase.sol} +1 -5
  14. package/contracts/core/{router/base/PendleRouterSCYAndForgeBaseUpg.sol → actions/base/ActionSCYAndYOBase.sol} +6 -8
  15. package/contracts/core/{router/base/PendleRouterYTBaseUpg.sol → actions/base/ActionSCYAndYTBase.sol} +7 -99
  16. package/contracts/core/actions/base/ActionType.sol +11 -0
  17. package/contracts/interfaces/{IPRouterCore.sol → IPActionCore.sol} +1 -1
  18. package/contracts/interfaces/{IPRouterYT.sol → IPActionYT.sol} +1 -3
  19. package/contracts/interfaces/IPAllAction.sol +9 -0
  20. package/contracts/interfaces/IPMarketFactory.sol +11 -0
  21. package/contracts/interfaces/IPYieldToken.sol +21 -3
  22. package/contracts/libraries/math/MarketMathCore.sol +3 -2
  23. package/package.json +1 -1
  24. package/typechain-types/{PendleRouterYTBaseUpg.ts → ActionCallback.ts} +5 -5
  25. package/typechain-types/{PendleRouterCoreUpg.ts → ActionCore.ts} +5 -5
  26. package/typechain-types/{PendleRouterSCYAndForgeBaseUpg.ts → ActionSCYAndYOBase.ts} +5 -6
  27. package/typechain-types/{BoringOwnableData.ts → ActionSCYAndYTBase.ts} +21 -24
  28. package/typechain-types/{PendleRouterStaticUpg.ts → ActionStatic.ts} +5 -5
  29. package/typechain-types/{IPRouterYT.ts → ActionYT.ts} +27 -42
  30. package/typechain-types/IPActionAll.ts +1431 -0
  31. package/typechain-types/{IPRouterCore.ts → IPActionCore.ts} +5 -5
  32. package/typechain-types/{IPRouterView.ts → IPActionStatic.ts} +57 -5
  33. package/typechain-types/{PendleRouterYTUpg.ts → IPActionYT.ts} +5 -97
  34. package/typechain-types/IPAllAction.ts +1431 -0
  35. package/typechain-types/IPMarket.ts +3 -0
  36. package/typechain-types/IPMarketFactory.ts +46 -0
  37. package/typechain-types/IPYieldToken.ts +342 -14
  38. package/typechain-types/IRewardManager.ts +178 -0
  39. package/typechain-types/ISuperComposableYield.ts +97 -2
  40. package/typechain-types/PendleAaveV3SCY.ts +167 -66
  41. package/typechain-types/PendleBenQiErc20SCY.ts +167 -66
  42. package/typechain-types/PendleBtrflyScy.ts +97 -2
  43. package/typechain-types/PendleMarket.ts +3 -59
  44. package/typechain-types/PendleMarketFactory.ts +150 -24
  45. package/typechain-types/{PendleRouterProxy.ts → PendleRouter.ts} +29 -39
  46. package/typechain-types/PendleYearnVaultScy.ts +97 -2
  47. package/typechain-types/PendleYieldToken.ts +116 -101
  48. package/typechain-types/RewardManager.ts +48 -42
  49. package/typechain-types/RouterStatic.ts +828 -0
  50. package/typechain-types/SCYBase.ts +97 -2
  51. package/typechain-types/SCYBaseWithRewards.ts +167 -66
  52. package/typechain-types/factories/ActionCallback__factory.ts +116 -0
  53. package/typechain-types/factories/ActionCore__factory.ts +632 -0
  54. package/typechain-types/factories/{PendleRouterSCYAndForgeBaseUpg__factory.ts → ActionSCYAndYOBase__factory.ts} +8 -12
  55. package/typechain-types/factories/ActionSCYAndYTBase__factory.ts +52 -0
  56. package/typechain-types/factories/ActionStatic__factory.ts +308 -0
  57. package/typechain-types/factories/ActionYT__factory.ts +370 -0
  58. package/typechain-types/factories/IPActionAll__factory.ts +983 -0
  59. package/typechain-types/factories/{IPRouterCore__factory.ts → IPActionCore__factory.ts} +6 -6
  60. package/typechain-types/factories/{IPRouterView__factory.ts → IPActionStatic__factory.ts} +38 -6
  61. package/typechain-types/factories/{IPRouterYT__factory.ts → IPActionYT__factory.ts} +6 -29
  62. package/typechain-types/factories/IPAllAction__factory.ts +983 -0
  63. package/typechain-types/factories/IPMarketFactory__factory.ts +28 -0
  64. package/typechain-types/factories/IPMarket__factory.ts +7 -2
  65. package/typechain-types/factories/IPYieldToken__factory.ts +158 -1
  66. package/typechain-types/factories/IRewardManager__factory.ts +92 -0
  67. package/typechain-types/factories/ISuperComposableYield__factory.ts +68 -0
  68. package/typechain-types/factories/PendleAaveV3SCY__factory.ts +102 -34
  69. package/typechain-types/factories/PendleBenQiErc20SCY__factory.ts +102 -34
  70. package/typechain-types/factories/PendleBtrflyScy__factory.ts +69 -1
  71. package/typechain-types/factories/PendleMarketFactory__factory.ts +112 -17
  72. package/typechain-types/factories/PendleMarket__factory.ts +8 -69
  73. package/typechain-types/factories/PendleRouter__factory.ts +282 -0
  74. package/typechain-types/factories/PendleYearnVaultScy__factory.ts +69 -1
  75. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  76. package/typechain-types/factories/PendleYieldToken__factory.ts +58 -58
  77. package/typechain-types/factories/RewardManager__factory.ts +18 -18
  78. package/typechain-types/factories/RouterStatic__factory.ts +883 -0
  79. package/typechain-types/factories/SCYBaseWithRewards__factory.ts +101 -33
  80. package/typechain-types/factories/SCYBase__factory.ts +68 -0
  81. package/typechain-types/hardhat.d.ts +93 -75
  82. package/typechain-types/index.ts +22 -18
  83. package/contracts/core/router/PendleRouterProxy.sol +0 -84
  84. package/contracts/interfaces/IPFlashCallBack.sol +0 -10
  85. package/typechain-types/BoringOwnable.ts +0 -194
  86. package/typechain-types/BoringOwnableUpg.ts +0 -194
  87. package/typechain-types/BoringOwnableUpgData.ts +0 -100
  88. package/typechain-types/IPFlashCallback.ts +0 -115
  89. package/typechain-types/IPermissionsV2.ts +0 -87
  90. package/typechain-types/PendleRouterViewUpg.ts +0 -307
  91. package/typechain-types/PermissionsV2.ts +0 -87
  92. package/typechain-types/factories/BoringOwnableData__factory.ts +0 -90
  93. package/typechain-types/factories/BoringOwnableUpgData__factory.ts +0 -94
  94. package/typechain-types/factories/BoringOwnableUpg__factory.ts +0 -139
  95. package/typechain-types/factories/BoringOwnable__factory.ts +0 -149
  96. package/typechain-types/factories/IPFlashCallback__factory.ts +0 -49
  97. package/typechain-types/factories/IPermissionsV2__factory.ts +0 -39
  98. package/typechain-types/factories/PendleRouterCoreUpg__factory.ts +0 -635
  99. package/typechain-types/factories/PendleRouterProxy__factory.ts +0 -285
  100. package/typechain-types/factories/PendleRouterStaticUpg__factory.ts +0 -315
  101. package/typechain-types/factories/PendleRouterViewUpg__factory.ts +0 -265
  102. package/typechain-types/factories/PendleRouterYTBaseUpg__factory.ts +0 -66
  103. package/typechain-types/factories/PendleRouterYTUpg__factory.ts +0 -422
  104. package/typechain-types/factories/PermissionsV2__factory.ts +0 -36
@@ -5,9 +5,9 @@
5
5
  import { Contract, Signer, utils } from "ethers";
6
6
  import { Provider } from "@ethersproject/providers";
7
7
  import type {
8
- PendleRouterSCYAndForgeBaseUpg,
9
- PendleRouterSCYAndForgeBaseUpgInterface,
10
- } from "../PendleRouterSCYAndForgeBaseUpg";
8
+ ActionSCYAndYOBase,
9
+ ActionSCYAndYOBaseInterface,
10
+ } from "../ActionSCYAndYOBase";
11
11
 
12
12
  const _abi = [
13
13
  {
@@ -38,19 +38,15 @@ const _abi = [
38
38
  },
39
39
  ];
40
40
 
41
- export class PendleRouterSCYAndForgeBaseUpg__factory {
41
+ export class ActionSCYAndYOBase__factory {
42
42
  static readonly abi = _abi;
43
- static createInterface(): PendleRouterSCYAndForgeBaseUpgInterface {
44
- return new utils.Interface(_abi) as PendleRouterSCYAndForgeBaseUpgInterface;
43
+ static createInterface(): ActionSCYAndYOBaseInterface {
44
+ return new utils.Interface(_abi) as ActionSCYAndYOBaseInterface;
45
45
  }
46
46
  static connect(
47
47
  address: string,
48
48
  signerOrProvider: Signer | Provider
49
- ): PendleRouterSCYAndForgeBaseUpg {
50
- return new Contract(
51
- address,
52
- _abi,
53
- signerOrProvider
54
- ) as PendleRouterSCYAndForgeBaseUpg;
49
+ ): ActionSCYAndYOBase {
50
+ return new Contract(address, _abi, signerOrProvider) as ActionSCYAndYOBase;
55
51
  }
56
52
  }
@@ -0,0 +1,52 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import { Contract, Signer, utils } from "ethers";
6
+ import { Provider } from "@ethersproject/providers";
7
+ import type {
8
+ ActionSCYAndYTBase,
9
+ ActionSCYAndYTBaseInterface,
10
+ } from "../ActionSCYAndYTBase";
11
+
12
+ const _abi = [
13
+ {
14
+ inputs: [],
15
+ name: "joeFactory",
16
+ outputs: [
17
+ {
18
+ internalType: "address",
19
+ name: "",
20
+ type: "address",
21
+ },
22
+ ],
23
+ stateMutability: "view",
24
+ type: "function",
25
+ },
26
+ {
27
+ inputs: [],
28
+ name: "joeRouter",
29
+ outputs: [
30
+ {
31
+ internalType: "address",
32
+ name: "",
33
+ type: "address",
34
+ },
35
+ ],
36
+ stateMutability: "view",
37
+ type: "function",
38
+ },
39
+ ];
40
+
41
+ export class ActionSCYAndYTBase__factory {
42
+ static readonly abi = _abi;
43
+ static createInterface(): ActionSCYAndYTBaseInterface {
44
+ return new utils.Interface(_abi) as ActionSCYAndYTBaseInterface;
45
+ }
46
+ static connect(
47
+ address: string,
48
+ signerOrProvider: Signer | Provider
49
+ ): ActionSCYAndYTBase {
50
+ return new Contract(address, _abi, signerOrProvider) as ActionSCYAndYTBase;
51
+ }
52
+ }
@@ -0,0 +1,308 @@
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 { ActionStatic, ActionStaticInterface } from "../ActionStatic";
7
+
8
+ const _abi = [
9
+ {
10
+ inputs: [
11
+ {
12
+ internalType: "contract IPYieldContractFactory",
13
+ name: "_yieldContractFactory",
14
+ type: "address",
15
+ },
16
+ {
17
+ internalType: "contract IPMarketFactory",
18
+ name: "_marketFactory",
19
+ type: "address",
20
+ },
21
+ ],
22
+ stateMutability: "nonpayable",
23
+ type: "constructor",
24
+ },
25
+ {
26
+ inputs: [
27
+ {
28
+ internalType: "address",
29
+ name: "market",
30
+ type: "address",
31
+ },
32
+ {
33
+ internalType: "uint256",
34
+ name: "scyDesired",
35
+ type: "uint256",
36
+ },
37
+ {
38
+ internalType: "uint256",
39
+ name: "otDesired",
40
+ type: "uint256",
41
+ },
42
+ ],
43
+ name: "addLiquidityStatic",
44
+ outputs: [
45
+ {
46
+ internalType: "uint256",
47
+ name: "netLpOut",
48
+ type: "uint256",
49
+ },
50
+ {
51
+ internalType: "uint256",
52
+ name: "scyUsed",
53
+ type: "uint256",
54
+ },
55
+ {
56
+ internalType: "uint256",
57
+ name: "otUsed",
58
+ type: "uint256",
59
+ },
60
+ ],
61
+ stateMutability: "nonpayable",
62
+ type: "function",
63
+ },
64
+ {
65
+ inputs: [
66
+ {
67
+ internalType: "address",
68
+ name: "market",
69
+ type: "address",
70
+ },
71
+ ],
72
+ name: "getOtImpliedYield",
73
+ outputs: [
74
+ {
75
+ internalType: "int256",
76
+ name: "",
77
+ type: "int256",
78
+ },
79
+ ],
80
+ stateMutability: "view",
81
+ type: "function",
82
+ },
83
+ {
84
+ inputs: [
85
+ {
86
+ internalType: "address",
87
+ name: "token",
88
+ type: "address",
89
+ },
90
+ ],
91
+ name: "getPendleTokenType",
92
+ outputs: [
93
+ {
94
+ internalType: "bool",
95
+ name: "isOT",
96
+ type: "bool",
97
+ },
98
+ {
99
+ internalType: "bool",
100
+ name: "isYT",
101
+ type: "bool",
102
+ },
103
+ {
104
+ internalType: "bool",
105
+ name: "isMarket",
106
+ type: "bool",
107
+ },
108
+ ],
109
+ stateMutability: "view",
110
+ type: "function",
111
+ },
112
+ {
113
+ inputs: [],
114
+ name: "marketFactory",
115
+ outputs: [
116
+ {
117
+ internalType: "contract IPMarketFactory",
118
+ name: "",
119
+ type: "address",
120
+ },
121
+ ],
122
+ stateMutability: "view",
123
+ type: "function",
124
+ },
125
+ {
126
+ inputs: [
127
+ {
128
+ internalType: "address",
129
+ name: "market",
130
+ type: "address",
131
+ },
132
+ {
133
+ internalType: "uint256",
134
+ name: "lpToRemove",
135
+ type: "uint256",
136
+ },
137
+ ],
138
+ name: "removeLiquidityStatic",
139
+ outputs: [
140
+ {
141
+ internalType: "uint256",
142
+ name: "netScyOut",
143
+ type: "uint256",
144
+ },
145
+ {
146
+ internalType: "uint256",
147
+ name: "netOtOut",
148
+ type: "uint256",
149
+ },
150
+ ],
151
+ stateMutability: "view",
152
+ type: "function",
153
+ },
154
+ {
155
+ inputs: [
156
+ {
157
+ internalType: "address",
158
+ name: "market",
159
+ type: "address",
160
+ },
161
+ ],
162
+ name: "scyIndex",
163
+ outputs: [
164
+ {
165
+ internalType: "SCYIndex",
166
+ name: "index",
167
+ type: "uint256",
168
+ },
169
+ ],
170
+ stateMutability: "nonpayable",
171
+ type: "function",
172
+ },
173
+ {
174
+ inputs: [
175
+ {
176
+ internalType: "address",
177
+ name: "market",
178
+ type: "address",
179
+ },
180
+ {
181
+ internalType: "uint256",
182
+ name: "exactOtIn",
183
+ type: "uint256",
184
+ },
185
+ ],
186
+ name: "swapOtForScyStatic",
187
+ outputs: [
188
+ {
189
+ internalType: "uint256",
190
+ name: "netScyOut",
191
+ type: "uint256",
192
+ },
193
+ {
194
+ internalType: "uint256",
195
+ name: "netScyFee",
196
+ type: "uint256",
197
+ },
198
+ ],
199
+ stateMutability: "nonpayable",
200
+ type: "function",
201
+ },
202
+ {
203
+ inputs: [
204
+ {
205
+ internalType: "address",
206
+ name: "market",
207
+ type: "address",
208
+ },
209
+ {
210
+ internalType: "uint256",
211
+ name: "exactOtOut",
212
+ type: "uint256",
213
+ },
214
+ ],
215
+ name: "swapScyForOtStatic",
216
+ outputs: [
217
+ {
218
+ internalType: "uint256",
219
+ name: "netScyIn",
220
+ type: "uint256",
221
+ },
222
+ {
223
+ internalType: "uint256",
224
+ name: "netScyFee",
225
+ type: "uint256",
226
+ },
227
+ ],
228
+ stateMutability: "nonpayable",
229
+ type: "function",
230
+ },
231
+ {
232
+ inputs: [],
233
+ name: "yieldContractFactory",
234
+ outputs: [
235
+ {
236
+ internalType: "contract IPYieldContractFactory",
237
+ name: "",
238
+ type: "address",
239
+ },
240
+ ],
241
+ stateMutability: "view",
242
+ type: "function",
243
+ },
244
+ ];
245
+
246
+ const _bytecode =
247
+ "0x60c06040523480156200001157600080fd5b506040516200221b3803806200221b833981016040819052620000349162000065565b6001600160a01b039182166080521660a052620000a4565b6001600160a01b03811681146200006257600080fd5b50565b600080604083850312156200007957600080fd5b825162000086816200004c565b602084015190925062000099816200004c565b809150509250929050565b60805160a05161213d620000de60003960008181608d0152610659015260008181610133015281816104f001526105af015261213d6000f3fe608060405234801561001057600080fd5b50600436106100835760003560e01c806306ae70951461008857806332e12d79146100c55780634d2037e5146100f357806355a7bae21461011b57806387a409a21461012e578063911509a914610155578063b35ed84214610176578063d52eacb214610189578063e4a44426146101bb575b600080fd5b6100af7f000000000000000000000000000000000000000000000000000000000000000081565b6040516100bc9190611d05565b60405180910390f35b6100d86100d3366004611d31565b6101ce565b604080519384526020840192909252908201526060016100bc565b610106610101366004611d66565b61027a565b604080519283526020830191909152016100bc565b610106610129366004611d66565b61031f565b6100af7f000000000000000000000000000000000000000000000000000000000000000081565b610168610163366004611d92565b6103ad565b6040519081526020016100bc565b610106610184366004611d66565b610450565b61019c610197366004611d92565b6104e9565b60408051931515845291151560208401521515908201526060016100bc565b6101686101c9366004611d92565b6106ee565b604051631cf38c7b60e11b8152600060048201819052908190819081906001600160a01b038816906339e718f6906024016101806040518083038186803b15801561021857600080fd5b505afa15801561022c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102509190611df1565b905061026961025e886106ee565b82908888600061076f565b919a90995090975095505050505050565b604051631cf38c7b60e11b815260006004820181905290819081906001600160a01b038616906339e718f6906024016101806040518083038186803b1580156102c257600080fd5b505afa1580156102d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102fa9190611df1565b9050610313610308866106ee565b8290864260006107dc565b90969095509350505050565b604051631cf38c7b60e11b815260006004820181905290819081906001600160a01b038616906339e718f6906024016101806040518083038186803b15801561036757600080fd5b505afa15801561037b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061039f9190611df1565b905061031381856000610825565b604051631cf38c7b60e11b81526000600482018190529081906001600160a01b038416906339e718f6906024016101806040518083038186803b1580156103f357600080fd5b505afa158015610407573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061042b9190611df1565b9050600061043d826101400151610862565b905061044881610878565b949350505050565b604051631cf38c7b60e11b815260006004820181905290819081906001600160a01b038616906339e718f6906024016101806040518083038186803b15801561049857600080fd5b505afa1580156104ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d09190611df1565b90506103136104de866106ee565b829086426000610c92565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166335e46e9a856040518263ffffffff1660e01b815260040161053a9190611d05565b60206040518083038186803b15801561055257600080fd5b505afa158015610566573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058a9190611e92565b1561059857600192506106e7565b604051630e308d5560e31b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906371846aa8906105e4908790600401611d05565b60206040518083038186803b1580156105fc57600080fd5b505afa158015610610573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106349190611e92565b1561064257600191506106e7565b6040516358e6309f60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906358e6309f9061068e908790600401611d05565b60206040518083038186803b1580156106a657600080fd5b505afa1580156106ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106de9190611e92565b156106e7575060015b9193909250565b6000610769826001600160a01b03166347bfac626040518163ffffffff1660e01b815260040160206040518083038186803b15801561072c57600080fd5b505afa158015610740573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107649190611eb4565b610cb3565b92915050565b6000806000806000806000806107988d8d6107898e610862565b6107928e610862565b8d610d28565b93509350935093506107a984610ef7565b97506107b483610ef7565b96506107bf82610ef7565b95506107ca81610ef7565b94505050505095509550955095915050565b6000806000806107f789896107f08a610862565b8989610f06565b9150915061080c61080783610fd1565b610ef7565b935061081781610ef7565b925050509550959350505050565b60008060008061083e8761083888610862565b87610fdc565b9150915061084b82610ef7565b935061085681610ef7565b92505050935093915050565b6000600160ff1b821061087457600080fd5b5090565b6000680238fd42c5cf03ffff19821215801561089d575068070c1cc73b00c800008213155b6108e15760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b60448201526064015b60405180910390fd5b6000821215610919576108f682600003610878565b6a0c097ce7bc90715b34b9f160241b8161091257610912611ed1565b0592915050565b60006806f05b59d3b2000000831261095757506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b61098d565b6803782dace9d9000000831261098957506803782dace9d8ffffff19909101906b1425982cf597cd205cef738061098d565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac6200000084126109dd5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412610a19576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b188000008412610a5357682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412610a8d576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac62000008412610ac657680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d631000008412610aff5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412610b38576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c400008412610b715768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b600080600080610ca689896107f08a6110a7565b9150915061080c82610ef7565b6000816001600160a01b031663f65d6fc86040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610cf057600080fd5b505af1158015610d04573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107699190611ee7565b600080600080600087138015610d3e5750600086135b610d795760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f414d4f554e545360a01b60448201526064016108d8565b6040890151610daa57610d986103e8610d928a8a6110bb565b906110f7565b92506103e89350869150859050610e4d565b885160408a015160009190610dbf9089611f16565b610dc99190611f9b565b905060008a602001518b604001518a610de29190611f16565b610dec9190611f9b565b905080821215610e22578194508792508a60400151858c60200151610e119190611f16565b610e1b9190611f9b565b9350610e4a565b8094508893508a60400151858c60000151610e3d9190611f16565b610e479190611f9b565b92505b50505b60008313610e9d5760405162461bcd60e51b815260206004820152601d60248201527f494e53554646494349454e545f4c49515549444954595f4d494e54454400000060448201526064016108d8565b8415610eeb578189602001818151610eb59190611fc9565b905250885181908a90610ec9908390611fc9565b905250610ed68484611fc9565b89604001818151610ee79190611fc9565b9052505b95509550955095915050565b60008082121561087457600080fd5b6000808661010001518410610f2d5760405162461bcd60e51b81526004016108d89061200a565b86518512610f765760405162461bcd60e51b8152602060048201526016602482015275696e73756666696369656e74206c697175696469747960501b60448201526064016108d8565b6000610f8388888761113a565b9050600080610f938a848a611254565b9092509050610fa28983611361565b9450610fae8982611361565b93508515610fc457610fc48a848b8b898c61138e565b5050509550959350505050565b600061076982612032565b600080600084136110235760405162461bcd60e51b81526020600482015260116024820152701a5b9d985b1a59081b1c08185b5bdd5b9d607a1b60448201526064016108d8565b604085015160208601516110379086611f16565b6110419190611f9b565b60408601518651919350906110569086611f16565b6110609190611f9b565b9050821561109f57604085015161107790856110f7565b6040860152845161108890826110f7565b8552602085015161109990836110f7565b60208601525b935093915050565b60006110b282610862565b61076990612032565b600080600083126110cd5760016110d1565b6000195b90506110ed6110e8856110e38661143e565b611455565b610862565b6104489082611f16565b6000818312156111345760405162461bcd60e51b81526020600482015260086024820152674e4547415449564560c01b60448201526064016108d8565b50900390565b6111656040518060800160405280600081526020016000815260200160008152602001600081525090565b83610100015182106111895760405162461bcd60e51b81526004016108d89061200a565b60008285610100015161119c919061204f565b90506111a8858261147b565b825260208501516111ba9085906110bb565b60208301528451158015906111d25750602082015115155b6112155760405162461bcd60e51b8152602060048201526014602482015273696e76616c6964206d61726b657420737461746560601b60448201526064016108d8565b611233856000015186610140015184602001518560000151856114fa565b604083015260c08501516112479082611577565b6060830152509392505050565b60008060006112768660000151866020015187600001518860400151886115b0565b9050600061128c6112878684611681565b610fd1565b606087015190915060008613156112f75760006112a98483611681565b9050670de0b6b3a76400008112156112d35760405162461bcd60e51b81526004016108d890612066565b6112ef6112e883670de0b6b3a7640000612095565b84906116b0565b915050611324565b6113218161130d81670de0b6b3a7640000612095565b6113179085611f16565b6112879190611f9b565b90505b6064611334896101200151610862565b61133e9083611f16565b6113489190611f9b565b93506113548183612095565b9450505050935093915050565b60008060008312611373576001611377565b6000195b90506110ed6110e8856113898661143e565b6116ce565b6000818761010001516113a1919061204f565b610160880183905287519091506113b890856110f7565b875260208701516113c990846110f7565b6020880181905287516113ee916113e19088906110bb565b885160408a0151856116e3565b61014088018190526114355760405162461bcd60e51b815260206004820152601060248201526f7a65726f20696d706c6965645261746560801b60448201526064016108d8565b50505050505050565b60008082136108745761145082612032565b610769565b6000670de0b6b3a764000061146a84846120d4565b61147491906120f3565b9392505050565b600061148682610862565b6114986110e8620151806101686120d4565b8460a001516114a79190611f16565b6114b19190611f9b565b9050600081136107695760405162461bcd60e51b8152602060048201526014602482015273726174655363616c617220756e646572666c6f7760601b60448201526064016108d8565b6000806115078684611577565b9050670de0b6b3a76400008112156115315760405162461bcd60e51b81526004016108d890612066565b6000611547611540878a611fc9565b8990611681565b9050600061155482611736565b90506115608187611681565b61156a9084612095565b9998505050505050505050565b600080611589620151806101686120d4565b61159384866120d4565b61159d91906120f3565b90506104486115ab82610862565b610878565b6000806115bd87846110f7565b905060006115d56115ce888a611fc9565b8390611681565b9050670d529ae9e86000008113156116295760405162461bcd60e51b81526020600482015260176024820152761b585e081c1c9bdc1bdc9d1a5bdb88195e18d959591959604a1b60448201526064016108d8565b600061163482611736565b9050856116418289611681565b61164b9190611fc9565b9350670de0b6b3a76400008412156116755760405162461bcd60e51b81526004016108d890612066565b50505095945050505050565b600080611696670de0b6b3a764000085611f16565b90508281816116a7576116a7611ed1565b05949350505050565b6000806116bd8385611f16565b9050670de0b6b3a7640000816116a7565b60008261146a670de0b6b3a7640000846120d4565b6000806116f48787878760006115b0565b90506000611704610807836117b2565b905083611716620151806101686120d4565b61172090836120d4565b61172a91906120f3565b98975050505050505050565b6000670de0b6b3a764000082141561178d5760405162461bcd60e51b815260206004820152601a60248201527970726f706f7274696f6e206d757374206e6f74206265206f6e6560301b60448201526064016108d8565b60006117ab6117a484670de0b6b3a7640000612095565b8490611681565b9050611474815b60008082136117f35760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b60448201526064016108d8565b670c7d713b49da0000821380156118115750670f43fc2c04ee000082125b1561183557670de0b6b3a764000061182883611843565b8161091257610912611ed1565b61076982611962565b919050565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff198501028161188457611884611ed1565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a76400008212156119a35761199a826a0c097ce7bc90715b34b9f160241b8161199457611994611ed1565b05611962565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b83126119ee5772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b8312611a25576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312611a6d576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312611aa8576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf8508312611adf57693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e28312611b1657690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d038312611b4b5768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb417461211108312611b7657680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312611bab576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312611be0576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b2866038312611c14576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac8312611c48576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d631000008086030281611c7157611c71611ed1565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6001600160a01b0391909116815260200190565b6001600160a01b0381168114611d2e57600080fd5b50565b600080600060608486031215611d4657600080fd5b8335611d5181611d19565b95602085013595506040909401359392505050565b60008060408385031215611d7957600080fd5b8235611d8481611d19565b946020939093013593505050565b600060208284031215611da457600080fd5b813561147481611d19565b60405161018081016001600160401b0381118282101715611de057634e487b7160e01b600052604160045260246000fd5b60405290565b805161183e81611d19565b60006101808284031215611e0457600080fd5b611e0c611daf565b82518152602083015160208201526040830151604082015260608301516060820152611e3a60808401611de6565b608082015260a0838101519082015260c0808401519082015260e08084015190820152610100808401519082015261012080840151908201526101408084015190820152610160928301519281019290925250919050565b600060208284031215611ea457600080fd5b8151801515811461147457600080fd5b600060208284031215611ec657600080fd5b815161147481611d19565b634e487b7160e01b600052601260045260246000fd5b600060208284031215611ef957600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b60006001600160ff1b0381841382841380821686840486111615611f3c57611f3c611f00565b600160ff1b6000871282811687830589121615611f5b57611f5b611f00565b60008712925087820587128484161615611f7757611f77611f00565b87850587128184161615611f8d57611f8d611f00565b505050929093029392505050565b600082611faa57611faa611ed1565b600160ff1b821460001984141615611fc457611fc4611f00565b500590565b600080821280156001600160ff1b0384900385131615611feb57611feb611f00565b600160ff1b839003841281161561200457612004611f00565b50500190565b6020808252600e908201526d1b585c9ad95d08195e1c1a5c995960921b604082015260600190565b6000600160ff1b82141561204857612048611f00565b5060000390565b60008282101561206157612061611f00565b500390565b60208082526015908201527465786368616e676520726174652062656c6f77203160581b604082015260600190565b60008083128015600160ff1b8501841216156120b3576120b3611f00565b6001600160ff1b03840183138116156120ce576120ce611f00565b50500390565b60008160001904831182151516156120ee576120ee611f00565b500290565b60008261210257612102611ed1565b50049056fea26469706673582212208775c2f4610e78953dbf3b3890bde2a7b610a72a53279f9486f1254b42912c6e64736f6c63430008090033";
248
+
249
+ type ActionStaticConstructorParams =
250
+ | [signer?: Signer]
251
+ | ConstructorParameters<typeof ContractFactory>;
252
+
253
+ const isSuperArgs = (
254
+ xs: ActionStaticConstructorParams
255
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
256
+
257
+ export class ActionStatic__factory extends ContractFactory {
258
+ constructor(...args: ActionStaticConstructorParams) {
259
+ if (isSuperArgs(args)) {
260
+ super(...args);
261
+ } else {
262
+ super(_abi, _bytecode, args[0]);
263
+ }
264
+ this.contractName = "ActionStatic";
265
+ }
266
+
267
+ deploy(
268
+ _yieldContractFactory: string,
269
+ _marketFactory: string,
270
+ overrides?: Overrides & { from?: string | Promise<string> }
271
+ ): Promise<ActionStatic> {
272
+ return super.deploy(
273
+ _yieldContractFactory,
274
+ _marketFactory,
275
+ overrides || {}
276
+ ) as Promise<ActionStatic>;
277
+ }
278
+ getDeployTransaction(
279
+ _yieldContractFactory: string,
280
+ _marketFactory: string,
281
+ overrides?: Overrides & { from?: string | Promise<string> }
282
+ ): TransactionRequest {
283
+ return super.getDeployTransaction(
284
+ _yieldContractFactory,
285
+ _marketFactory,
286
+ overrides || {}
287
+ );
288
+ }
289
+ attach(address: string): ActionStatic {
290
+ return super.attach(address) as ActionStatic;
291
+ }
292
+ connect(signer: Signer): ActionStatic__factory {
293
+ return super.connect(signer) as ActionStatic__factory;
294
+ }
295
+ static readonly contractName: "ActionStatic";
296
+ public readonly contractName: "ActionStatic";
297
+ static readonly bytecode = _bytecode;
298
+ static readonly abi = _abi;
299
+ static createInterface(): ActionStaticInterface {
300
+ return new utils.Interface(_abi) as ActionStaticInterface;
301
+ }
302
+ static connect(
303
+ address: string,
304
+ signerOrProvider: Signer | Provider
305
+ ): ActionStatic {
306
+ return new Contract(address, _abi, signerOrProvider) as ActionStatic;
307
+ }
308
+ }