@pendle/core-v2 0.5.1-beta-4 → 0.6.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 (126) hide show
  1. package/contracts/SuperComposableYield/ISuperComposableYield.sol +2 -0
  2. package/contracts/SuperComposableYield/implementations/RewardManager.sol +35 -20
  3. package/contracts/SuperComposableYield/implementations/SCYBase.sol +39 -19
  4. package/contracts/SuperComposableYield/implementations/SCYBaseWithRewards.sol +26 -14
  5. package/contracts/core/PendleBaseToken.sol +2 -2
  6. package/contracts/core/PendleMarket.sol +145 -61
  7. package/contracts/core/PendleMarketFactory.sol +30 -19
  8. package/contracts/core/{PendleOwnershipToken.sol → PendlePrincipalToken.sol} +14 -2
  9. package/contracts/core/PendleRouter.sol +23 -9
  10. package/contracts/core/PendleSCYImpl/AaveV3/PendleAaveV3SCY.sol +21 -20
  11. package/contracts/core/PendleSCYImpl/PendleBenQiErc20SCY.sol +22 -16
  12. package/contracts/core/PendleSCYImpl/PendleBtrflySCY.sol +13 -13
  13. package/contracts/core/PendleSCYImpl/PendleStETHSCY.sol +107 -0
  14. package/contracts/core/PendleSCYImpl/PendleYearnVaultSCY.sol +14 -15
  15. package/contracts/core/PendleYieldContractFactory.sol +29 -14
  16. package/contracts/core/PendleYieldToken.sol +130 -76
  17. package/contracts/core/RouterStatic.sol +16 -157
  18. package/contracts/core/actions/ActionCallback.sol +36 -18
  19. package/contracts/core/actions/ActionCore.sol +41 -88
  20. package/contracts/core/actions/ActionRedeem.sol +36 -0
  21. package/contracts/core/actions/ActionYT.sol +41 -59
  22. package/contracts/core/actions/base/{ActionSCYAndOTBase.sol → ActionSCYAndPTBase.sol} +59 -45
  23. package/contracts/core/actions/base/{ActionSCYAndYOBase.sol → ActionSCYAndPYBase.sol} +57 -19
  24. package/contracts/core/actions/base/ActionSCYAndYTBase.sol +31 -21
  25. package/contracts/interfaces/IPActionCore.sol +21 -28
  26. package/contracts/interfaces/IPActionRedeem.sol +17 -0
  27. package/contracts/interfaces/IPActionYT.sol +5 -12
  28. package/contracts/interfaces/IPAllAction.sol +2 -2
  29. package/contracts/interfaces/IPMarket.sol +33 -10
  30. package/contracts/interfaces/IPMarketAddRemoveCallback.sol +2 -2
  31. package/contracts/interfaces/IPMarketFactory.sol +3 -1
  32. package/contracts/interfaces/IPMarketSwapCallback.sol +1 -1
  33. package/contracts/interfaces/{IPOwnershipToken.sol → IPPrincipalToken.sol} +1 -1
  34. package/contracts/interfaces/IPRouterStatic.sol +7 -82
  35. package/contracts/interfaces/IPYieldContractFactory.sol +10 -2
  36. package/contracts/interfaces/IPYieldToken.sol +14 -5
  37. package/contracts/interfaces/IWstETH.sol +10 -0
  38. package/contracts/libraries/JoeLibrary.sol +1 -1
  39. package/contracts/libraries/math/LogExpMath.sol +1 -1
  40. package/contracts/libraries/math/MarketApproxLib.sol +128 -88
  41. package/contracts/libraries/math/MarketMathAux.sol +13 -13
  42. package/contracts/libraries/math/MarketMathCore.sol +62 -93
  43. package/contracts/libraries/math/Math.sol +14 -2
  44. package/contracts/periphery/PendleGovernanceManager.sol +5 -3
  45. package/package.json +3 -2
  46. package/typechain-types/ActionCallback.ts +5 -5
  47. package/typechain-types/ActionCore.ts +312 -234
  48. package/typechain-types/ActionRedeem.ts +125 -0
  49. package/typechain-types/ActionSCYAndPYBase.ts +223 -0
  50. package/typechain-types/ActionSCYAndYOBase.ts +129 -3
  51. package/typechain-types/ActionSCYAndYTBase.ts +149 -3
  52. package/typechain-types/ActionYT.ts +192 -94
  53. package/typechain-types/IPActionCore.ts +183 -231
  54. package/typechain-types/IPActionRedeem.ts +125 -0
  55. package/typechain-types/IPActionYT.ts +43 -91
  56. package/typechain-types/IPAllAction.ts +258 -321
  57. package/typechain-types/IPMarket.ts +150 -50
  58. package/typechain-types/IPMarketAddRemoveCallback.ts +10 -10
  59. package/typechain-types/IPMarketFactory.ts +28 -6
  60. package/typechain-types/IPMarketSwapCallback.ts +5 -5
  61. package/typechain-types/{IPOwnershipToken.ts → IPPrincipalToken.ts} +5 -5
  62. package/typechain-types/IPRouterStatic.ts +50 -530
  63. package/typechain-types/IPYieldContractFactory.ts +85 -19
  64. package/typechain-types/IPYieldToken.ts +138 -37
  65. package/typechain-types/ISuperComposableYield.ts +13 -0
  66. package/typechain-types/IWstETH.ts +149 -0
  67. package/typechain-types/PendleAaveV3SCY.ts +110 -0
  68. package/typechain-types/PendleBaseToken.ts +1 -1
  69. package/typechain-types/PendleBenQiErc20SCY.ts +55 -12
  70. package/typechain-types/PendleBtrflyScy.ts +27 -23
  71. package/typechain-types/PendleGovernanceManager.ts +5 -5
  72. package/typechain-types/PendleMarket.ts +197 -100
  73. package/typechain-types/PendleMarketFactory.ts +96 -34
  74. package/typechain-types/{PendleOwnershipToken.ts → PendlePrincipalToken.ts} +15 -6
  75. package/typechain-types/PendleRouter.ts +19 -0
  76. package/typechain-types/PendleRouterRedeemUpg.ts +125 -0
  77. package/typechain-types/PendleStEthSCY.ts +872 -0
  78. package/typechain-types/PendleYearnVaultScy.ts +27 -23
  79. package/typechain-types/PendleYieldContractFactory.ts +94 -28
  80. package/typechain-types/PendleYieldToken.ts +142 -57
  81. package/typechain-types/RewardManager.ts +21 -0
  82. package/typechain-types/RouterStatic.ts +50 -530
  83. package/typechain-types/SCYBase.ts +25 -0
  84. package/typechain-types/SCYBaseWithRewards.ts +64 -0
  85. package/typechain-types/factories/ActionCallback__factory.ts +2 -2
  86. package/typechain-types/factories/ActionCore__factory.ts +263 -79
  87. package/typechain-types/factories/ActionRedeem__factory.ts +105 -0
  88. package/typechain-types/factories/ActionSCYAndPYBase__factory.ts +200 -0
  89. package/typechain-types/factories/ActionSCYAndYOBase__factory.ts +148 -0
  90. package/typechain-types/factories/ActionSCYAndYTBase__factory.ts +173 -0
  91. package/typechain-types/factories/ActionYT__factory.ts +265 -56
  92. package/typechain-types/factories/IPActionCore__factory.ts +114 -78
  93. package/typechain-types/factories/IPActionRedeem__factory.ts +70 -0
  94. package/typechain-types/factories/IPActionYT__factory.ts +90 -54
  95. package/typechain-types/factories/IPAllAction__factory.ts +254 -138
  96. package/typechain-types/factories/IPMarketAddRemoveCallback__factory.ts +2 -2
  97. package/typechain-types/factories/IPMarketFactory__factory.ts +26 -1
  98. package/typechain-types/factories/IPMarketSwapCallback__factory.ts +1 -1
  99. package/typechain-types/factories/IPMarket__factory.ts +125 -13
  100. package/typechain-types/factories/{IPOwnershipToken__factory.ts → IPPrincipalToken__factory.ts} +8 -8
  101. package/typechain-types/factories/IPRouterStatic__factory.ts +12 -628
  102. package/typechain-types/factories/IPYieldContractFactory__factory.ts +72 -2
  103. package/typechain-types/factories/IPYieldToken__factory.ts +93 -7
  104. package/typechain-types/factories/ISuperComposableYield__factory.ts +13 -0
  105. package/typechain-types/factories/IWstETH__factory.ts +74 -0
  106. package/typechain-types/factories/PendleAaveV3SCY__factory.ts +97 -3
  107. package/typechain-types/factories/PendleBaseToken__factory.ts +1 -1
  108. package/typechain-types/factories/PendleBenQiErc20SCY__factory.ts +62 -7
  109. package/typechain-types/factories/PendleBtrflyScy__factory.ts +42 -19
  110. package/typechain-types/factories/PendleGovernanceManager__factory.ts +2 -2
  111. package/typechain-types/factories/PendleMarketFactory__factory.ts +66 -15
  112. package/typechain-types/factories/PendleMarket__factory.ts +170 -53
  113. package/typechain-types/factories/PendlePrincipalToken__factory.ts +540 -0
  114. package/typechain-types/factories/PendleRouterRedeemUpg__factory.ts +112 -0
  115. package/typechain-types/factories/PendleRouter__factory.ts +23 -1
  116. package/typechain-types/factories/PendleStEthSCY__factory.ts +716 -0
  117. package/typechain-types/factories/PendleYearnVaultScy__factory.ts +41 -18
  118. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +75 -5
  119. package/typechain-types/factories/PendleYieldToken__factory.ts +102 -33
  120. package/typechain-types/factories/RewardManager__factory.ts +13 -0
  121. package/typechain-types/factories/RouterStatic__factory.ts +13 -629
  122. package/typechain-types/factories/SCYBaseWithRewards__factory.ts +60 -2
  123. package/typechain-types/factories/SCYBase__factory.ts +28 -2
  124. package/typechain-types/hardhat.d.ts +52 -16
  125. package/typechain-types/index.ts +14 -6
  126. package/typechain-types/factories/PendleOwnershipToken__factory.ts +0 -527
@@ -0,0 +1,105 @@
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 { ActionRedeem, ActionRedeemInterface } from "../ActionRedeem";
7
+
8
+ const _abi = [
9
+ {
10
+ inputs: [
11
+ {
12
+ internalType: "address",
13
+ name: "user",
14
+ type: "address",
15
+ },
16
+ {
17
+ internalType: "address[]",
18
+ name: "scys",
19
+ type: "address[]",
20
+ },
21
+ {
22
+ internalType: "address[]",
23
+ name: "yieldTokens",
24
+ type: "address[]",
25
+ },
26
+ {
27
+ internalType: "address[]",
28
+ name: "",
29
+ type: "address[]",
30
+ },
31
+ ],
32
+ name: "redeemDueIncome",
33
+ outputs: [
34
+ {
35
+ internalType: "uint256[][]",
36
+ name: "scyRewards",
37
+ type: "uint256[][]",
38
+ },
39
+ {
40
+ internalType: "uint256[]",
41
+ name: "ytInterests",
42
+ type: "uint256[]",
43
+ },
44
+ {
45
+ internalType: "uint256[][]",
46
+ name: "ytRewards",
47
+ type: "uint256[][]",
48
+ },
49
+ ],
50
+ stateMutability: "nonpayable",
51
+ type: "function",
52
+ },
53
+ ];
54
+
55
+ const _bytecode =
56
+ "0x608060405234801561001057600080fd5b50610701806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063e4e1d73714610030575b600080fd5b61004361003e366004610393565b61005b565b604051610052939291906104b9565b60405180910390f35b60608080876001600160401b0381111561007757610077610523565b6040519080825280602002602001820160405280156100aa57816020015b60608152602001906001900390816100955790505b50925060005b8881101561018e578989828181106100ca576100ca610539565b90506020020160208101906100df919061054f565b6001600160a01b031663b286de768c6040518263ffffffff1660e01b815260040161010a9190610571565b600060405180830381600087803b15801561012457600080fd5b505af1158015610138573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610160919081019061061f565b84828151811061017257610172610539565b6020026020010181905250806101879061065b565b90506100b0565b50856001600160401b038111156101a7576101a7610523565b6040519080825280602002602001820160405280156101d0578160200160208202803683370190505b509150856001600160401b038111156101eb576101eb610523565b60405190808252806020026020018201604052801561021e57816020015b60608152602001906001900390816102095790505b50905060005b8681101561031e5787878281811061023e5761023e610539565b9050602002016020810190610253919061054f565b6001600160a01b031663bdaba5368c6040518263ffffffff1660e01b815260040161027e9190610571565b600060405180830381600087803b15801561029857600080fd5b505af11580156102ac573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102d49190810190610684565b8483815181106102e6576102e6610539565b602002602001018484815181106102ff576102ff610539565b6020908102919091010191909152526103178161065b565b9050610224565b509750975097945050505050565b80356001600160a01b038116811461034357600080fd5b919050565b60008083601f84011261035a57600080fd5b5081356001600160401b0381111561037157600080fd5b6020830191508360208260051b850101111561038c57600080fd5b9250929050565b60008060008060008060006080888a0312156103ae57600080fd5b6103b78861032c565b965060208801356001600160401b03808211156103d357600080fd5b6103df8b838c01610348565b909850965060408a01359150808211156103f857600080fd5b6104048b838c01610348565b909650945060608a013591508082111561041d57600080fd5b5061042a8a828b01610348565b989b979a50959850939692959293505050565b600081518084526020808501808196508360051b810191508286016000805b868110156104ab578385038a52825180518087529087019087870190845b818110156104965783518352928901929189019160010161047a565b50509a87019a9550509185019160010161045c565b509298975050505050505050565b6060815260006104cc606083018661043d565b82810360208481019190915285518083528682019282019060005b81811015610503578451835293830193918301916001016104e7565b50508481036040860152610517818761043d565b98975050505050505050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60006020828403121561056157600080fd5b61056a8261032c565b9392505050565b6001600160a01b0391909116815260200190565b600082601f83011261059657600080fd5b815160206001600160401b03808311156105b2576105b2610523565b8260051b604051601f19603f830116810181811084821117156105d7576105d7610523565b6040529384528581018301938381019250878511156105f557600080fd5b83870191505b84821015610614578151835291830191908301906105fb565b979650505050505050565b60006020828403121561063157600080fd5b81516001600160401b0381111561064757600080fd5b61065384828501610585565b949350505050565b600060001982141561067d57634e487b7160e01b600052601160045260246000fd5b5060010190565b6000806040838503121561069757600080fd5b825160208401519092506001600160401b038111156106b557600080fd5b6106c185828601610585565b915050925092905056fea264697066735822122051f4a60b53cc27d749cf8b7a03d0bc9d4b0a2e5e52e022f3c9c17c83a9ded5e064736f6c63430008090033";
57
+
58
+ type ActionRedeemConstructorParams =
59
+ | [signer?: Signer]
60
+ | ConstructorParameters<typeof ContractFactory>;
61
+
62
+ const isSuperArgs = (
63
+ xs: ActionRedeemConstructorParams
64
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
65
+
66
+ export class ActionRedeem__factory extends ContractFactory {
67
+ constructor(...args: ActionRedeemConstructorParams) {
68
+ if (isSuperArgs(args)) {
69
+ super(...args);
70
+ } else {
71
+ super(_abi, _bytecode, args[0]);
72
+ }
73
+ this.contractName = "ActionRedeem";
74
+ }
75
+
76
+ deploy(
77
+ overrides?: Overrides & { from?: string | Promise<string> }
78
+ ): Promise<ActionRedeem> {
79
+ return super.deploy(overrides || {}) as Promise<ActionRedeem>;
80
+ }
81
+ getDeployTransaction(
82
+ overrides?: Overrides & { from?: string | Promise<string> }
83
+ ): TransactionRequest {
84
+ return super.getDeployTransaction(overrides || {});
85
+ }
86
+ attach(address: string): ActionRedeem {
87
+ return super.attach(address) as ActionRedeem;
88
+ }
89
+ connect(signer: Signer): ActionRedeem__factory {
90
+ return super.connect(signer) as ActionRedeem__factory;
91
+ }
92
+ static readonly contractName: "ActionRedeem";
93
+ public readonly contractName: "ActionRedeem";
94
+ static readonly bytecode = _bytecode;
95
+ static readonly abi = _abi;
96
+ static createInterface(): ActionRedeemInterface {
97
+ return new utils.Interface(_abi) as ActionRedeemInterface;
98
+ }
99
+ static connect(
100
+ address: string,
101
+ signerOrProvider: Signer | Provider
102
+ ): ActionRedeem {
103
+ return new Contract(address, _abi, signerOrProvider) as ActionRedeem;
104
+ }
105
+ }
@@ -0,0 +1,200 @@
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
+ ActionSCYAndPYBase,
9
+ ActionSCYAndPYBaseInterface,
10
+ } from "../ActionSCYAndPYBase";
11
+
12
+ const _abi = [
13
+ {
14
+ anonymous: false,
15
+ inputs: [
16
+ {
17
+ indexed: true,
18
+ internalType: "address",
19
+ name: "user",
20
+ type: "address",
21
+ },
22
+ {
23
+ indexed: true,
24
+ internalType: "address",
25
+ name: "rawTokenIn",
26
+ type: "address",
27
+ },
28
+ {
29
+ indexed: false,
30
+ internalType: "uint256",
31
+ name: "netRawTokenIn",
32
+ type: "uint256",
33
+ },
34
+ {
35
+ indexed: true,
36
+ internalType: "address",
37
+ name: "YT",
38
+ type: "address",
39
+ },
40
+ {
41
+ indexed: false,
42
+ internalType: "uint256",
43
+ name: "netPyOut",
44
+ type: "uint256",
45
+ },
46
+ ],
47
+ name: "MintPyFromRawToken",
48
+ type: "event",
49
+ },
50
+ {
51
+ anonymous: false,
52
+ inputs: [
53
+ {
54
+ indexed: true,
55
+ internalType: "address",
56
+ name: "user",
57
+ type: "address",
58
+ },
59
+ {
60
+ indexed: true,
61
+ internalType: "address",
62
+ name: "rawTokenIn",
63
+ type: "address",
64
+ },
65
+ {
66
+ indexed: false,
67
+ internalType: "uint256",
68
+ name: "netRawTokenIn",
69
+ type: "uint256",
70
+ },
71
+ {
72
+ indexed: true,
73
+ internalType: "address",
74
+ name: "SCY",
75
+ type: "address",
76
+ },
77
+ {
78
+ indexed: false,
79
+ internalType: "uint256",
80
+ name: "netScyOut",
81
+ type: "uint256",
82
+ },
83
+ ],
84
+ name: "MintScyFromRawToken",
85
+ type: "event",
86
+ },
87
+ {
88
+ anonymous: false,
89
+ inputs: [
90
+ {
91
+ indexed: true,
92
+ internalType: "address",
93
+ name: "user",
94
+ type: "address",
95
+ },
96
+ {
97
+ indexed: true,
98
+ internalType: "address",
99
+ name: "YT",
100
+ type: "address",
101
+ },
102
+ {
103
+ indexed: false,
104
+ internalType: "uint256",
105
+ name: "netPyIn",
106
+ type: "uint256",
107
+ },
108
+ {
109
+ indexed: true,
110
+ internalType: "address",
111
+ name: "rawTokenOut",
112
+ type: "address",
113
+ },
114
+ {
115
+ indexed: false,
116
+ internalType: "uint256",
117
+ name: "netRawTokenOut",
118
+ type: "uint256",
119
+ },
120
+ ],
121
+ name: "RedeemPyToRawToken",
122
+ type: "event",
123
+ },
124
+ {
125
+ anonymous: false,
126
+ inputs: [
127
+ {
128
+ indexed: true,
129
+ internalType: "address",
130
+ name: "user",
131
+ type: "address",
132
+ },
133
+ {
134
+ indexed: true,
135
+ internalType: "address",
136
+ name: "SCY",
137
+ type: "address",
138
+ },
139
+ {
140
+ indexed: false,
141
+ internalType: "uint256",
142
+ name: "netScyIn",
143
+ type: "uint256",
144
+ },
145
+ {
146
+ indexed: true,
147
+ internalType: "address",
148
+ name: "rawTokenOut",
149
+ type: "address",
150
+ },
151
+ {
152
+ indexed: false,
153
+ internalType: "uint256",
154
+ name: "netRawTokenOut",
155
+ type: "uint256",
156
+ },
157
+ ],
158
+ name: "RedeemScyToRawToken",
159
+ type: "event",
160
+ },
161
+ {
162
+ inputs: [],
163
+ name: "joeFactory",
164
+ outputs: [
165
+ {
166
+ internalType: "address",
167
+ name: "",
168
+ type: "address",
169
+ },
170
+ ],
171
+ stateMutability: "view",
172
+ type: "function",
173
+ },
174
+ {
175
+ inputs: [],
176
+ name: "joeRouter",
177
+ outputs: [
178
+ {
179
+ internalType: "address",
180
+ name: "",
181
+ type: "address",
182
+ },
183
+ ],
184
+ stateMutability: "view",
185
+ type: "function",
186
+ },
187
+ ];
188
+
189
+ export class ActionSCYAndPYBase__factory {
190
+ static readonly abi = _abi;
191
+ static createInterface(): ActionSCYAndPYBaseInterface {
192
+ return new utils.Interface(_abi) as ActionSCYAndPYBaseInterface;
193
+ }
194
+ static connect(
195
+ address: string,
196
+ signerOrProvider: Signer | Provider
197
+ ): ActionSCYAndPYBase {
198
+ return new Contract(address, _abi, signerOrProvider) as ActionSCYAndPYBase;
199
+ }
200
+ }
@@ -10,6 +10,154 @@ import type {
10
10
  } from "../ActionSCYAndYOBase";
11
11
 
12
12
  const _abi = [
13
+ {
14
+ anonymous: false,
15
+ inputs: [
16
+ {
17
+ indexed: true,
18
+ internalType: "address",
19
+ name: "user",
20
+ type: "address",
21
+ },
22
+ {
23
+ indexed: true,
24
+ internalType: "address",
25
+ name: "rawTokenIn",
26
+ type: "address",
27
+ },
28
+ {
29
+ indexed: false,
30
+ internalType: "uint256",
31
+ name: "netRawTokenIn",
32
+ type: "uint256",
33
+ },
34
+ {
35
+ indexed: true,
36
+ internalType: "address",
37
+ name: "YT",
38
+ type: "address",
39
+ },
40
+ {
41
+ indexed: false,
42
+ internalType: "uint256",
43
+ name: "netPyOut",
44
+ type: "uint256",
45
+ },
46
+ ],
47
+ name: "MintPyFromRawToken",
48
+ type: "event",
49
+ },
50
+ {
51
+ anonymous: false,
52
+ inputs: [
53
+ {
54
+ indexed: true,
55
+ internalType: "address",
56
+ name: "user",
57
+ type: "address",
58
+ },
59
+ {
60
+ indexed: true,
61
+ internalType: "address",
62
+ name: "rawTokenIn",
63
+ type: "address",
64
+ },
65
+ {
66
+ indexed: false,
67
+ internalType: "uint256",
68
+ name: "netRawTokenIn",
69
+ type: "uint256",
70
+ },
71
+ {
72
+ indexed: true,
73
+ internalType: "address",
74
+ name: "SCY",
75
+ type: "address",
76
+ },
77
+ {
78
+ indexed: false,
79
+ internalType: "uint256",
80
+ name: "netScyOut",
81
+ type: "uint256",
82
+ },
83
+ ],
84
+ name: "MintScyFromRawToken",
85
+ type: "event",
86
+ },
87
+ {
88
+ anonymous: false,
89
+ inputs: [
90
+ {
91
+ indexed: true,
92
+ internalType: "address",
93
+ name: "user",
94
+ type: "address",
95
+ },
96
+ {
97
+ indexed: true,
98
+ internalType: "address",
99
+ name: "YT",
100
+ type: "address",
101
+ },
102
+ {
103
+ indexed: false,
104
+ internalType: "uint256",
105
+ name: "netPyIn",
106
+ type: "uint256",
107
+ },
108
+ {
109
+ indexed: true,
110
+ internalType: "address",
111
+ name: "rawTokenOut",
112
+ type: "address",
113
+ },
114
+ {
115
+ indexed: false,
116
+ internalType: "uint256",
117
+ name: "netRawTokenOut",
118
+ type: "uint256",
119
+ },
120
+ ],
121
+ name: "RedeemPyToRawToken",
122
+ type: "event",
123
+ },
124
+ {
125
+ anonymous: false,
126
+ inputs: [
127
+ {
128
+ indexed: true,
129
+ internalType: "address",
130
+ name: "user",
131
+ type: "address",
132
+ },
133
+ {
134
+ indexed: true,
135
+ internalType: "address",
136
+ name: "SCY",
137
+ type: "address",
138
+ },
139
+ {
140
+ indexed: false,
141
+ internalType: "uint256",
142
+ name: "netScyIn",
143
+ type: "uint256",
144
+ },
145
+ {
146
+ indexed: true,
147
+ internalType: "address",
148
+ name: "rawTokenOut",
149
+ type: "address",
150
+ },
151
+ {
152
+ indexed: false,
153
+ internalType: "uint256",
154
+ name: "netRawTokenOut",
155
+ type: "uint256",
156
+ },
157
+ ],
158
+ name: "RedeemScyToRawToken",
159
+ type: "event",
160
+ },
13
161
  {
14
162
  inputs: [],
15
163
  name: "joeFactory",
@@ -10,6 +10,179 @@ import type {
10
10
  } from "../ActionSCYAndYTBase";
11
11
 
12
12
  const _abi = [
13
+ {
14
+ anonymous: false,
15
+ inputs: [
16
+ {
17
+ indexed: true,
18
+ internalType: "address",
19
+ name: "user",
20
+ type: "address",
21
+ },
22
+ {
23
+ indexed: true,
24
+ internalType: "address",
25
+ name: "rawTokenIn",
26
+ type: "address",
27
+ },
28
+ {
29
+ indexed: false,
30
+ internalType: "uint256",
31
+ name: "netRawTokenIn",
32
+ type: "uint256",
33
+ },
34
+ {
35
+ indexed: true,
36
+ internalType: "address",
37
+ name: "YT",
38
+ type: "address",
39
+ },
40
+ {
41
+ indexed: false,
42
+ internalType: "uint256",
43
+ name: "netPyOut",
44
+ type: "uint256",
45
+ },
46
+ ],
47
+ name: "MintPyFromRawToken",
48
+ type: "event",
49
+ },
50
+ {
51
+ anonymous: false,
52
+ inputs: [
53
+ {
54
+ indexed: true,
55
+ internalType: "address",
56
+ name: "user",
57
+ type: "address",
58
+ },
59
+ {
60
+ indexed: true,
61
+ internalType: "address",
62
+ name: "rawTokenIn",
63
+ type: "address",
64
+ },
65
+ {
66
+ indexed: false,
67
+ internalType: "uint256",
68
+ name: "netRawTokenIn",
69
+ type: "uint256",
70
+ },
71
+ {
72
+ indexed: true,
73
+ internalType: "address",
74
+ name: "SCY",
75
+ type: "address",
76
+ },
77
+ {
78
+ indexed: false,
79
+ internalType: "uint256",
80
+ name: "netScyOut",
81
+ type: "uint256",
82
+ },
83
+ ],
84
+ name: "MintScyFromRawToken",
85
+ type: "event",
86
+ },
87
+ {
88
+ anonymous: false,
89
+ inputs: [
90
+ {
91
+ indexed: true,
92
+ internalType: "address",
93
+ name: "user",
94
+ type: "address",
95
+ },
96
+ {
97
+ indexed: true,
98
+ internalType: "address",
99
+ name: "YT",
100
+ type: "address",
101
+ },
102
+ {
103
+ indexed: false,
104
+ internalType: "uint256",
105
+ name: "netPyIn",
106
+ type: "uint256",
107
+ },
108
+ {
109
+ indexed: true,
110
+ internalType: "address",
111
+ name: "rawTokenOut",
112
+ type: "address",
113
+ },
114
+ {
115
+ indexed: false,
116
+ internalType: "uint256",
117
+ name: "netRawTokenOut",
118
+ type: "uint256",
119
+ },
120
+ ],
121
+ name: "RedeemPyToRawToken",
122
+ type: "event",
123
+ },
124
+ {
125
+ anonymous: false,
126
+ inputs: [
127
+ {
128
+ indexed: true,
129
+ internalType: "address",
130
+ name: "user",
131
+ type: "address",
132
+ },
133
+ {
134
+ indexed: true,
135
+ internalType: "address",
136
+ name: "SCY",
137
+ type: "address",
138
+ },
139
+ {
140
+ indexed: false,
141
+ internalType: "uint256",
142
+ name: "netScyIn",
143
+ type: "uint256",
144
+ },
145
+ {
146
+ indexed: true,
147
+ internalType: "address",
148
+ name: "rawTokenOut",
149
+ type: "address",
150
+ },
151
+ {
152
+ indexed: false,
153
+ internalType: "uint256",
154
+ name: "netRawTokenOut",
155
+ type: "uint256",
156
+ },
157
+ ],
158
+ name: "RedeemScyToRawToken",
159
+ type: "event",
160
+ },
161
+ {
162
+ anonymous: false,
163
+ inputs: [
164
+ {
165
+ indexed: true,
166
+ internalType: "address",
167
+ name: "user",
168
+ type: "address",
169
+ },
170
+ {
171
+ indexed: false,
172
+ internalType: "int256",
173
+ name: "ytToAccount",
174
+ type: "int256",
175
+ },
176
+ {
177
+ indexed: false,
178
+ internalType: "int256",
179
+ name: "scyToAccount",
180
+ type: "int256",
181
+ },
182
+ ],
183
+ name: "SwapYT",
184
+ type: "event",
185
+ },
13
186
  {
14
187
  inputs: [],
15
188
  name: "joeFactory",