@gearbox-protocol/sdk 18.2.0-next.14 → 18.2.0-next.15
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/dist/cjs/onchain/index.js +18 -0
- package/dist/cjs/onchain/market/adapters/abi/adapters/iTreehouseFastlaneAdapter.js +113 -0
- package/dist/cjs/onchain/market/adapters/abi/adapters/iTreehouseRedemptionGatewayAdapter.js +258 -0
- package/dist/cjs/onchain/market/adapters/abi/adapters/iTreehouseRouterAdapter.js +161 -0
- package/dist/cjs/onchain/market/adapters/abi/adapters/index.js +6 -0
- package/dist/cjs/onchain/market/adapters/abi/index.js +13 -0
- package/dist/cjs/onchain/market/adapters/abi/treehouse/iTreehouseFastlane.js +39 -0
- package/dist/cjs/onchain/market/adapters/abi/treehouse/iTreehouseRedemptionGateway.js +230 -0
- package/dist/cjs/onchain/market/adapters/abi/treehouse/iTreehouseRouter.js +29 -0
- package/dist/cjs/onchain/market/adapters/abi/treehouse/index.js +7 -0
- package/dist/cjs/onchain/market/adapters/contracts/TreehouseFastlaneAdapterContract.js +72 -0
- package/dist/cjs/onchain/market/adapters/contracts/TreehouseRedemptionGatewayAdapterContract.js +117 -0
- package/dist/cjs/onchain/market/adapters/contracts/TreehouseRouterAdapterContract.js +61 -0
- package/dist/cjs/onchain/market/adapters/contracts/index.js +6 -0
- package/dist/cjs/onchain/market/adapters/createAdapter.js +6 -0
- package/dist/cjs/onchain/market/adapters/index.js +18 -0
- package/dist/cjs/onchain/market/index.js +18 -0
- package/dist/esm/onchain/index.js +10 -1
- package/dist/esm/onchain/market/adapters/abi/adapters/iTreehouseFastlaneAdapter.js +112 -0
- package/dist/esm/onchain/market/adapters/abi/adapters/iTreehouseRedemptionGatewayAdapter.js +257 -0
- package/dist/esm/onchain/market/adapters/abi/adapters/iTreehouseRouterAdapter.js +160 -0
- package/dist/esm/onchain/market/adapters/abi/adapters/index.js +4 -1
- package/dist/esm/onchain/market/adapters/abi/index.js +8 -1
- package/dist/esm/onchain/market/adapters/abi/treehouse/iTreehouseFastlane.js +38 -0
- package/dist/esm/onchain/market/adapters/abi/treehouse/iTreehouseRedemptionGateway.js +229 -0
- package/dist/esm/onchain/market/adapters/abi/treehouse/iTreehouseRouter.js +28 -0
- package/dist/esm/onchain/market/adapters/abi/treehouse/index.js +4 -0
- package/dist/esm/onchain/market/adapters/contracts/TreehouseFastlaneAdapterContract.js +71 -0
- package/dist/esm/onchain/market/adapters/contracts/TreehouseRedemptionGatewayAdapterContract.js +116 -0
- package/dist/esm/onchain/market/adapters/contracts/TreehouseRouterAdapterContract.js +60 -0
- package/dist/esm/onchain/market/adapters/contracts/index.js +4 -1
- package/dist/esm/onchain/market/adapters/createAdapter.js +6 -0
- package/dist/esm/onchain/market/adapters/index.js +10 -1
- package/dist/esm/onchain/market/index.js +10 -1
- package/dist/types/onchain/index.d.ts +10 -1
- package/dist/types/onchain/market/adapters/abi/adapters/iTreehouseFastlaneAdapter.d.ts +101 -0
- package/dist/types/onchain/market/adapters/abi/adapters/iTreehouseRedemptionGatewayAdapter.d.ts +237 -0
- package/dist/types/onchain/market/adapters/abi/adapters/iTreehouseRouterAdapter.d.ts +146 -0
- package/dist/types/onchain/market/adapters/abi/adapters/index.d.ts +4 -1
- package/dist/types/onchain/market/adapters/abi/index.d.ts +8 -1
- package/dist/types/onchain/market/adapters/abi/treehouse/iTreehouseFastlane.d.ts +33 -0
- package/dist/types/onchain/market/adapters/abi/treehouse/iTreehouseRedemptionGateway.d.ts +207 -0
- package/dist/types/onchain/market/adapters/abi/treehouse/iTreehouseRouter.d.ts +27 -0
- package/dist/types/onchain/market/adapters/abi/treehouse/index.d.ts +4 -0
- package/dist/types/onchain/market/adapters/contracts/TreehouseFastlaneAdapterContract.d.ts +156 -0
- package/dist/types/onchain/market/adapters/contracts/TreehouseRedemptionGatewayAdapterContract.d.ts +481 -0
- package/dist/types/onchain/market/adapters/contracts/TreehouseRouterAdapterContract.d.ts +193 -0
- package/dist/types/onchain/market/adapters/contracts/index.d.ts +4 -1
- package/dist/types/onchain/market/adapters/index.d.ts +10 -1
- package/dist/types/onchain/market/index.d.ts +10 -1
- package/package.json +1 -1
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
//#region src/onchain/market/adapters/abi/treehouse/iTreehouseRedemptionGateway.ts
|
|
3
|
+
const iTreehouseRedemptionGatewayAbi = [
|
|
4
|
+
{
|
|
5
|
+
type: "function",
|
|
6
|
+
name: "contractType",
|
|
7
|
+
inputs: [],
|
|
8
|
+
outputs: [{
|
|
9
|
+
name: "",
|
|
10
|
+
type: "bytes32",
|
|
11
|
+
internalType: "bytes32"
|
|
12
|
+
}],
|
|
13
|
+
stateMutability: "view"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
type: "function",
|
|
17
|
+
name: "finalizeRedeem",
|
|
18
|
+
inputs: [{
|
|
19
|
+
name: "redeemer",
|
|
20
|
+
type: "address",
|
|
21
|
+
internalType: "address"
|
|
22
|
+
}],
|
|
23
|
+
outputs: [],
|
|
24
|
+
stateMutability: "nonpayable"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
type: "function",
|
|
28
|
+
name: "masterRedeemer",
|
|
29
|
+
inputs: [],
|
|
30
|
+
outputs: [{
|
|
31
|
+
name: "",
|
|
32
|
+
type: "address",
|
|
33
|
+
internalType: "address"
|
|
34
|
+
}],
|
|
35
|
+
stateMutability: "view"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
type: "function",
|
|
39
|
+
name: "pendingAndClaimableAmounts",
|
|
40
|
+
inputs: [{
|
|
41
|
+
name: "account",
|
|
42
|
+
type: "address",
|
|
43
|
+
internalType: "address"
|
|
44
|
+
}],
|
|
45
|
+
outputs: [{
|
|
46
|
+
name: "pendingAmount",
|
|
47
|
+
type: "uint256",
|
|
48
|
+
internalType: "uint256"
|
|
49
|
+
}, {
|
|
50
|
+
name: "claimableAmount",
|
|
51
|
+
type: "uint256",
|
|
52
|
+
internalType: "uint256"
|
|
53
|
+
}],
|
|
54
|
+
stateMutability: "view"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
type: "function",
|
|
58
|
+
name: "pendingRedeemers",
|
|
59
|
+
inputs: [{
|
|
60
|
+
name: "account",
|
|
61
|
+
type: "address",
|
|
62
|
+
internalType: "address"
|
|
63
|
+
}],
|
|
64
|
+
outputs: [{
|
|
65
|
+
name: "redeemers",
|
|
66
|
+
type: "address[]",
|
|
67
|
+
internalType: "address[]"
|
|
68
|
+
}],
|
|
69
|
+
stateMutability: "view"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: "function",
|
|
73
|
+
name: "phantomToken",
|
|
74
|
+
inputs: [],
|
|
75
|
+
outputs: [{
|
|
76
|
+
name: "",
|
|
77
|
+
type: "address",
|
|
78
|
+
internalType: "address"
|
|
79
|
+
}],
|
|
80
|
+
stateMutability: "view"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
type: "function",
|
|
84
|
+
name: "redeem",
|
|
85
|
+
inputs: [{
|
|
86
|
+
name: "shares",
|
|
87
|
+
type: "uint256",
|
|
88
|
+
internalType: "uint256"
|
|
89
|
+
}, {
|
|
90
|
+
name: "extraData",
|
|
91
|
+
type: "bytes",
|
|
92
|
+
internalType: "bytes"
|
|
93
|
+
}],
|
|
94
|
+
outputs: [],
|
|
95
|
+
stateMutability: "nonpayable"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
type: "function",
|
|
99
|
+
name: "redeemers",
|
|
100
|
+
inputs: [{
|
|
101
|
+
name: "account",
|
|
102
|
+
type: "address",
|
|
103
|
+
internalType: "address"
|
|
104
|
+
}],
|
|
105
|
+
outputs: [{
|
|
106
|
+
name: "redeemers",
|
|
107
|
+
type: "address[]",
|
|
108
|
+
internalType: "address[]"
|
|
109
|
+
}],
|
|
110
|
+
stateMutability: "view"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
type: "function",
|
|
114
|
+
name: "redemptionLogger",
|
|
115
|
+
inputs: [],
|
|
116
|
+
outputs: [{
|
|
117
|
+
name: "",
|
|
118
|
+
type: "address",
|
|
119
|
+
internalType: "address"
|
|
120
|
+
}],
|
|
121
|
+
stateMutability: "view"
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
type: "function",
|
|
125
|
+
name: "redemptionV3",
|
|
126
|
+
inputs: [],
|
|
127
|
+
outputs: [{
|
|
128
|
+
name: "",
|
|
129
|
+
type: "address",
|
|
130
|
+
internalType: "address"
|
|
131
|
+
}],
|
|
132
|
+
stateMutability: "view"
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
type: "function",
|
|
136
|
+
name: "rescueToken",
|
|
137
|
+
inputs: [{
|
|
138
|
+
name: "redeemer",
|
|
139
|
+
type: "address",
|
|
140
|
+
internalType: "address"
|
|
141
|
+
}, {
|
|
142
|
+
name: "token",
|
|
143
|
+
type: "address",
|
|
144
|
+
internalType: "address"
|
|
145
|
+
}],
|
|
146
|
+
outputs: [],
|
|
147
|
+
stateMutability: "nonpayable"
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
type: "function",
|
|
151
|
+
name: "tAsset",
|
|
152
|
+
inputs: [],
|
|
153
|
+
outputs: [{
|
|
154
|
+
name: "",
|
|
155
|
+
type: "address",
|
|
156
|
+
internalType: "address"
|
|
157
|
+
}],
|
|
158
|
+
stateMutability: "view"
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
type: "function",
|
|
162
|
+
name: "transferMaster",
|
|
163
|
+
inputs: [],
|
|
164
|
+
outputs: [{
|
|
165
|
+
name: "",
|
|
166
|
+
type: "address",
|
|
167
|
+
internalType: "address"
|
|
168
|
+
}],
|
|
169
|
+
stateMutability: "view"
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
type: "function",
|
|
173
|
+
name: "transferRedeemer",
|
|
174
|
+
inputs: [{
|
|
175
|
+
name: "redeemer",
|
|
176
|
+
type: "address",
|
|
177
|
+
internalType: "address"
|
|
178
|
+
}, {
|
|
179
|
+
name: "newAccount",
|
|
180
|
+
type: "address",
|
|
181
|
+
internalType: "address"
|
|
182
|
+
}],
|
|
183
|
+
outputs: [],
|
|
184
|
+
stateMutability: "nonpayable"
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
type: "function",
|
|
188
|
+
name: "vaultUnderlying",
|
|
189
|
+
inputs: [],
|
|
190
|
+
outputs: [{
|
|
191
|
+
name: "",
|
|
192
|
+
type: "address",
|
|
193
|
+
internalType: "address"
|
|
194
|
+
}],
|
|
195
|
+
stateMutability: "view"
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
type: "function",
|
|
199
|
+
name: "version",
|
|
200
|
+
inputs: [],
|
|
201
|
+
outputs: [{
|
|
202
|
+
name: "",
|
|
203
|
+
type: "uint256",
|
|
204
|
+
internalType: "uint256"
|
|
205
|
+
}],
|
|
206
|
+
stateMutability: "view"
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
type: "error",
|
|
210
|
+
name: "MaxPendingRedeemersPerAccountException",
|
|
211
|
+
inputs: []
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
type: "error",
|
|
215
|
+
name: "RedeemerNotOwnedByAccountException",
|
|
216
|
+
inputs: []
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
type: "error",
|
|
220
|
+
name: "RedeemerStillPendingException",
|
|
221
|
+
inputs: []
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
type: "error",
|
|
225
|
+
name: "RedeemerTransferNotAllowedException",
|
|
226
|
+
inputs: []
|
|
227
|
+
}
|
|
228
|
+
];
|
|
229
|
+
//#endregion
|
|
230
|
+
exports.iTreehouseRedemptionGatewayAbi = iTreehouseRedemptionGatewayAbi;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
//#region src/onchain/market/adapters/abi/treehouse/iTreehouseRouter.ts
|
|
3
|
+
const iTreehouseRouterAbi = [{
|
|
4
|
+
type: "function",
|
|
5
|
+
name: "TASSET",
|
|
6
|
+
inputs: [],
|
|
7
|
+
outputs: [{
|
|
8
|
+
name: "",
|
|
9
|
+
type: "address",
|
|
10
|
+
internalType: "address"
|
|
11
|
+
}],
|
|
12
|
+
stateMutability: "view"
|
|
13
|
+
}, {
|
|
14
|
+
type: "function",
|
|
15
|
+
name: "deposit",
|
|
16
|
+
inputs: [{
|
|
17
|
+
name: "token",
|
|
18
|
+
type: "address",
|
|
19
|
+
internalType: "address"
|
|
20
|
+
}, {
|
|
21
|
+
name: "amount",
|
|
22
|
+
type: "uint256",
|
|
23
|
+
internalType: "uint256"
|
|
24
|
+
}],
|
|
25
|
+
outputs: [],
|
|
26
|
+
stateMutability: "nonpayable"
|
|
27
|
+
}];
|
|
28
|
+
//#endregion
|
|
29
|
+
exports.iTreehouseRouterAbi = iTreehouseRouterAbi;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_onchain_market_adapters_abi_treehouse_iTreehouseFastlane = require("./iTreehouseFastlane.js");
|
|
3
|
+
const require_onchain_market_adapters_abi_treehouse_iTreehouseRedemptionGateway = require("./iTreehouseRedemptionGateway.js");
|
|
4
|
+
const require_onchain_market_adapters_abi_treehouse_iTreehouseRouter = require("./iTreehouseRouter.js");
|
|
5
|
+
exports.iTreehouseFastlaneAbi = require_onchain_market_adapters_abi_treehouse_iTreehouseFastlane.iTreehouseFastlaneAbi;
|
|
6
|
+
exports.iTreehouseRedemptionGatewayAbi = require_onchain_market_adapters_abi_treehouse_iTreehouseRedemptionGateway.iTreehouseRedemptionGatewayAbi;
|
|
7
|
+
exports.iTreehouseRouterAbi = require_onchain_market_adapters_abi_treehouse_iTreehouseRouter.iTreehouseRouterAbi;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_onchain_base_errors = require("../../../base/errors.js");
|
|
3
|
+
require("../../../base/index.js");
|
|
4
|
+
const require_onchain_market_adapters_abi_adapters_iTreehouseFastlaneAdapter = require("../abi/adapters/iTreehouseFastlaneAdapter.js");
|
|
5
|
+
require("../abi/adapters/index.js");
|
|
6
|
+
const require_onchain_market_adapters_abi_treehouse_iTreehouseFastlane = require("../abi/treehouse/iTreehouseFastlane.js");
|
|
7
|
+
require("../abi/treehouse/index.js");
|
|
8
|
+
const require_onchain_market_adapters_contracts_AbstractAdapter = require("./AbstractAdapter.js");
|
|
9
|
+
let viem = require("viem");
|
|
10
|
+
//#region src/onchain/market/adapters/contracts/TreehouseFastlaneAdapterContract.ts
|
|
11
|
+
const abi = require_onchain_market_adapters_abi_adapters_iTreehouseFastlaneAdapter.iTreehouseFastlaneAdapterAbi;
|
|
12
|
+
const protocolAbi = require_onchain_market_adapters_abi_treehouse_iTreehouseFastlane.iTreehouseFastlaneAbi;
|
|
13
|
+
var TreehouseFastlaneAdapterContract = class extends require_onchain_market_adapters_contracts_AbstractAdapter.AbstractAdapterContract {
|
|
14
|
+
#tAsset;
|
|
15
|
+
#vaultUnderlying;
|
|
16
|
+
constructor(sdk, args) {
|
|
17
|
+
super(sdk, {
|
|
18
|
+
...args,
|
|
19
|
+
abi,
|
|
20
|
+
protocolAbi
|
|
21
|
+
});
|
|
22
|
+
if (args.baseParams.serializedParams) {
|
|
23
|
+
const decoded = (0, viem.decodeAbiParameters)([
|
|
24
|
+
{
|
|
25
|
+
type: "address",
|
|
26
|
+
name: "creditManager"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
type: "address",
|
|
30
|
+
name: "targetContract"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
type: "address",
|
|
34
|
+
name: "tAsset"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
type: "address",
|
|
38
|
+
name: "vaultUnderlying"
|
|
39
|
+
}
|
|
40
|
+
], args.baseParams.serializedParams);
|
|
41
|
+
this.#tAsset = decoded[2];
|
|
42
|
+
this.#vaultUnderlying = decoded[3];
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
get tAsset() {
|
|
46
|
+
if (!this.#tAsset) throw new require_onchain_base_errors.MissingSerializedParamsError("tAsset");
|
|
47
|
+
return this.#tAsset;
|
|
48
|
+
}
|
|
49
|
+
get vaultUnderlying() {
|
|
50
|
+
if (!this.#vaultUnderlying) throw new require_onchain_base_errors.MissingSerializedParamsError("vaultUnderlying");
|
|
51
|
+
return this.#vaultUnderlying;
|
|
52
|
+
}
|
|
53
|
+
stateHuman(raw) {
|
|
54
|
+
return {
|
|
55
|
+
...super.stateHuman(raw),
|
|
56
|
+
tAsset: this.#tAsset ? this.labelAddress(this.#tAsset) : void 0,
|
|
57
|
+
vaultUnderlying: this.#vaultUnderlying ? this.labelAddress(this.#vaultUnderlying) : void 0
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
applyBalanceChanges(balances, decoded) {
|
|
61
|
+
switch (decoded.functionName) {
|
|
62
|
+
case "redeemAndFinalizeDiff": {
|
|
63
|
+
const [leftoverShares] = decoded.args;
|
|
64
|
+
this.setLeftover(balances, this.tAsset, leftoverShares);
|
|
65
|
+
break;
|
|
66
|
+
}
|
|
67
|
+
default: super.applyBalanceChanges(balances, decoded);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
//#endregion
|
|
72
|
+
exports.TreehouseFastlaneAdapterContract = TreehouseFastlaneAdapterContract;
|
package/dist/cjs/onchain/market/adapters/contracts/TreehouseRedemptionGatewayAdapterContract.js
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_onchain_base_errors = require("../../../base/errors.js");
|
|
3
|
+
require("../../../base/index.js");
|
|
4
|
+
const require_onchain_market_adapters_abi_adapters_iTreehouseRedemptionGatewayAdapter = require("../abi/adapters/iTreehouseRedemptionGatewayAdapter.js");
|
|
5
|
+
require("../abi/adapters/index.js");
|
|
6
|
+
const require_onchain_market_adapters_abi_treehouse_iTreehouseRedemptionGateway = require("../abi/treehouse/iTreehouseRedemptionGateway.js");
|
|
7
|
+
require("../abi/treehouse/index.js");
|
|
8
|
+
const require_onchain_market_adapters_contracts_AbstractAdapter = require("./AbstractAdapter.js");
|
|
9
|
+
let viem = require("viem");
|
|
10
|
+
//#region src/onchain/market/adapters/contracts/TreehouseRedemptionGatewayAdapterContract.ts
|
|
11
|
+
const abi = require_onchain_market_adapters_abi_adapters_iTreehouseRedemptionGatewayAdapter.iTreehouseRedemptionGatewayAdapterAbi;
|
|
12
|
+
const protocolAbi = require_onchain_market_adapters_abi_treehouse_iTreehouseRedemptionGateway.iTreehouseRedemptionGatewayAbi;
|
|
13
|
+
var TreehouseRedemptionGatewayAdapterContract = class extends require_onchain_market_adapters_contracts_AbstractAdapter.AbstractAdapterContract {
|
|
14
|
+
#tAsset;
|
|
15
|
+
#vaultUnderlying;
|
|
16
|
+
#phantomToken;
|
|
17
|
+
constructor(sdk, args) {
|
|
18
|
+
super(sdk, {
|
|
19
|
+
...args,
|
|
20
|
+
abi,
|
|
21
|
+
protocolAbi
|
|
22
|
+
});
|
|
23
|
+
if (args.baseParams.serializedParams) {
|
|
24
|
+
const decoded = (0, viem.decodeAbiParameters)([
|
|
25
|
+
{
|
|
26
|
+
type: "address",
|
|
27
|
+
name: "creditManager"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
type: "address",
|
|
31
|
+
name: "targetContract"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
type: "address",
|
|
35
|
+
name: "tAsset"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
type: "address",
|
|
39
|
+
name: "vaultUnderlying"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
type: "address",
|
|
43
|
+
name: "phantomToken"
|
|
44
|
+
}
|
|
45
|
+
], args.baseParams.serializedParams);
|
|
46
|
+
this.#tAsset = decoded[2];
|
|
47
|
+
this.#vaultUnderlying = decoded[3];
|
|
48
|
+
this.#phantomToken = decoded[4];
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
get tAsset() {
|
|
52
|
+
if (!this.#tAsset) throw new require_onchain_base_errors.MissingSerializedParamsError("tAsset");
|
|
53
|
+
return this.#tAsset;
|
|
54
|
+
}
|
|
55
|
+
get vaultUnderlying() {
|
|
56
|
+
if (!this.#vaultUnderlying) throw new require_onchain_base_errors.MissingSerializedParamsError("vaultUnderlying");
|
|
57
|
+
return this.#vaultUnderlying;
|
|
58
|
+
}
|
|
59
|
+
get phantomToken() {
|
|
60
|
+
if (!this.#phantomToken) throw new require_onchain_base_errors.MissingSerializedParamsError("phantomToken");
|
|
61
|
+
return this.#phantomToken;
|
|
62
|
+
}
|
|
63
|
+
stateHuman(raw) {
|
|
64
|
+
return {
|
|
65
|
+
...super.stateHuman(raw),
|
|
66
|
+
tAsset: this.#tAsset ? this.labelAddress(this.#tAsset) : void 0,
|
|
67
|
+
vaultUnderlying: this.#vaultUnderlying ? this.labelAddress(this.#vaultUnderlying) : void 0,
|
|
68
|
+
phantomToken: this.#phantomToken ? this.labelAddress(this.#phantomToken) : void 0
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* `redeem` (the only request call the withdrawal compressor emits) spends
|
|
73
|
+
* the tAsset and mints the redemption phantom token; the vault underlying is
|
|
74
|
+
* received when the redemption is finalized. The 2-arg overload carries the
|
|
75
|
+
* intent `extraData`.
|
|
76
|
+
*/
|
|
77
|
+
parseDelayedWithdrawalRequest(calldata) {
|
|
78
|
+
const decoded = (0, viem.decodeFunctionData)({
|
|
79
|
+
abi: this.abi,
|
|
80
|
+
data: calldata
|
|
81
|
+
});
|
|
82
|
+
if (decoded.functionName !== "redeem") return;
|
|
83
|
+
const [, extraData] = decoded.args;
|
|
84
|
+
return {
|
|
85
|
+
phantomToken: this.phantomToken,
|
|
86
|
+
claimToken: this.vaultUnderlying,
|
|
87
|
+
extraData
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* `finalizeRedeem(address redeemer)` claims a matured redemption from a
|
|
92
|
+
* redeemer contract.
|
|
93
|
+
*/
|
|
94
|
+
parseDelayedWithdrawalClaim(calldata) {
|
|
95
|
+
const decoded = (0, viem.decodeFunctionData)({
|
|
96
|
+
abi: this.abi,
|
|
97
|
+
data: calldata
|
|
98
|
+
});
|
|
99
|
+
if (decoded.functionName !== "finalizeRedeem") return;
|
|
100
|
+
const [redeemer] = decoded.args;
|
|
101
|
+
return { redeemer };
|
|
102
|
+
}
|
|
103
|
+
applyBalanceChanges(balances, decoded) {
|
|
104
|
+
switch (decoded.functionName) {
|
|
105
|
+
case "redeemDiff": {
|
|
106
|
+
const [leftoverShares] = decoded.args;
|
|
107
|
+
this.setLeftover(balances, this.tAsset, leftoverShares);
|
|
108
|
+
break;
|
|
109
|
+
}
|
|
110
|
+
case "redeem": break;
|
|
111
|
+
case "finalizeRedeem": break;
|
|
112
|
+
default: super.applyBalanceChanges(balances, decoded);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
//#endregion
|
|
117
|
+
exports.TreehouseRedemptionGatewayAdapterContract = TreehouseRedemptionGatewayAdapterContract;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_onchain_base_errors = require("../../../base/errors.js");
|
|
3
|
+
require("../../../base/index.js");
|
|
4
|
+
const require_onchain_market_adapters_abi_adapters_iTreehouseRouterAdapter = require("../abi/adapters/iTreehouseRouterAdapter.js");
|
|
5
|
+
require("../abi/adapters/index.js");
|
|
6
|
+
const require_onchain_market_adapters_abi_treehouse_iTreehouseRouter = require("../abi/treehouse/iTreehouseRouter.js");
|
|
7
|
+
require("../abi/treehouse/index.js");
|
|
8
|
+
const require_onchain_market_adapters_contracts_AbstractAdapter = require("./AbstractAdapter.js");
|
|
9
|
+
let viem = require("viem");
|
|
10
|
+
//#region src/onchain/market/adapters/contracts/TreehouseRouterAdapterContract.ts
|
|
11
|
+
const abi = require_onchain_market_adapters_abi_adapters_iTreehouseRouterAdapter.iTreehouseRouterAdapterAbi;
|
|
12
|
+
const protocolAbi = require_onchain_market_adapters_abi_treehouse_iTreehouseRouter.iTreehouseRouterAbi;
|
|
13
|
+
var TreehouseRouterAdapterContract = class extends require_onchain_market_adapters_contracts_AbstractAdapter.AbstractAdapterContract {
|
|
14
|
+
#allowedAssets;
|
|
15
|
+
constructor(sdk, args) {
|
|
16
|
+
super(sdk, {
|
|
17
|
+
...args,
|
|
18
|
+
abi,
|
|
19
|
+
protocolAbi
|
|
20
|
+
});
|
|
21
|
+
if (args.baseParams.serializedParams) {
|
|
22
|
+
const decoded = (0, viem.decodeAbiParameters)([
|
|
23
|
+
{
|
|
24
|
+
type: "address",
|
|
25
|
+
name: "creditManager"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
type: "address",
|
|
29
|
+
name: "targetContract"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
type: "address[]",
|
|
33
|
+
name: "allowedAssets"
|
|
34
|
+
}
|
|
35
|
+
], args.baseParams.serializedParams);
|
|
36
|
+
this.#allowedAssets = [...decoded[2]];
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
get allowedAssets() {
|
|
40
|
+
if (!this.#allowedAssets) throw new require_onchain_base_errors.MissingSerializedParamsError("allowedAssets");
|
|
41
|
+
return this.#allowedAssets;
|
|
42
|
+
}
|
|
43
|
+
stateHuman(raw) {
|
|
44
|
+
return {
|
|
45
|
+
...super.stateHuman(raw),
|
|
46
|
+
allowedAssets: this.#allowedAssets?.map((a) => this.labelAddress(a))
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
applyBalanceChanges(balances, decoded) {
|
|
50
|
+
switch (decoded.functionName) {
|
|
51
|
+
case "depositDiff": {
|
|
52
|
+
const [token, leftoverAmount] = decoded.args;
|
|
53
|
+
this.setLeftover(balances, token, leftoverAmount);
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
default: super.applyBalanceChanges(balances, decoded);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
//#endregion
|
|
61
|
+
exports.TreehouseRouterAdapterContract = TreehouseRouterAdapterContract;
|
|
@@ -32,6 +32,9 @@ const require_onchain_market_adapters_contracts_SecuritizeOnRampAdapterContract
|
|
|
32
32
|
const require_onchain_market_adapters_contracts_SecuritizeRedemptionGatewayAdapterContract = require("./SecuritizeRedemptionGatewayAdapterContract.js");
|
|
33
33
|
const require_onchain_market_adapters_contracts_StakingRewardsAdapterContract = require("./StakingRewardsAdapterContract.js");
|
|
34
34
|
const require_onchain_market_adapters_contracts_TraderJoeRouterAdapterContract = require("./TraderJoeRouterAdapterContract.js");
|
|
35
|
+
const require_onchain_market_adapters_contracts_TreehouseFastlaneAdapterContract = require("./TreehouseFastlaneAdapterContract.js");
|
|
36
|
+
const require_onchain_market_adapters_contracts_TreehouseRedemptionGatewayAdapterContract = require("./TreehouseRedemptionGatewayAdapterContract.js");
|
|
37
|
+
const require_onchain_market_adapters_contracts_TreehouseRouterAdapterContract = require("./TreehouseRouterAdapterContract.js");
|
|
35
38
|
const require_onchain_market_adapters_contracts_UniswapV2AdapterContract = require("./UniswapV2AdapterContract.js");
|
|
36
39
|
const require_onchain_market_adapters_contracts_UniswapV3AdapterContract = require("./UniswapV3AdapterContract.js");
|
|
37
40
|
const require_onchain_market_adapters_contracts_UniswapV4AdapterContract = require("./UniswapV4AdapterContract.js");
|
|
@@ -75,6 +78,9 @@ exports.SecuritizeRedemptionGatewayAdapterContract = require_onchain_market_adap
|
|
|
75
78
|
exports.StakingRewardsAdapterContract = require_onchain_market_adapters_contracts_StakingRewardsAdapterContract.StakingRewardsAdapterContract;
|
|
76
79
|
exports.TraderJoePoolVersion = require_onchain_market_adapters_contracts_TraderJoeRouterAdapterContract.TraderJoePoolVersion;
|
|
77
80
|
exports.TraderJoeRouterAdapterContract = require_onchain_market_adapters_contracts_TraderJoeRouterAdapterContract.TraderJoeRouterAdapterContract;
|
|
81
|
+
exports.TreehouseFastlaneAdapterContract = require_onchain_market_adapters_contracts_TreehouseFastlaneAdapterContract.TreehouseFastlaneAdapterContract;
|
|
82
|
+
exports.TreehouseRedemptionGatewayAdapterContract = require_onchain_market_adapters_contracts_TreehouseRedemptionGatewayAdapterContract.TreehouseRedemptionGatewayAdapterContract;
|
|
83
|
+
exports.TreehouseRouterAdapterContract = require_onchain_market_adapters_contracts_TreehouseRouterAdapterContract.TreehouseRouterAdapterContract;
|
|
78
84
|
exports.UniswapV2AdapterContract = require_onchain_market_adapters_contracts_UniswapV2AdapterContract.UniswapV2AdapterContract;
|
|
79
85
|
exports.UniswapV3AdapterContract = require_onchain_market_adapters_contracts_UniswapV3AdapterContract.UniswapV3AdapterContract;
|
|
80
86
|
exports.UniswapV4AdapterContract = require_onchain_market_adapters_contracts_UniswapV4AdapterContract.UniswapV4AdapterContract;
|
|
@@ -34,6 +34,9 @@ const require_onchain_market_adapters_contracts_SecuritizeOnRampAdapterContract
|
|
|
34
34
|
const require_onchain_market_adapters_contracts_SecuritizeRedemptionGatewayAdapterContract = require("./contracts/SecuritizeRedemptionGatewayAdapterContract.js");
|
|
35
35
|
const require_onchain_market_adapters_contracts_StakingRewardsAdapterContract = require("./contracts/StakingRewardsAdapterContract.js");
|
|
36
36
|
const require_onchain_market_adapters_contracts_TraderJoeRouterAdapterContract = require("./contracts/TraderJoeRouterAdapterContract.js");
|
|
37
|
+
const require_onchain_market_adapters_contracts_TreehouseFastlaneAdapterContract = require("./contracts/TreehouseFastlaneAdapterContract.js");
|
|
38
|
+
const require_onchain_market_adapters_contracts_TreehouseRedemptionGatewayAdapterContract = require("./contracts/TreehouseRedemptionGatewayAdapterContract.js");
|
|
39
|
+
const require_onchain_market_adapters_contracts_TreehouseRouterAdapterContract = require("./contracts/TreehouseRouterAdapterContract.js");
|
|
37
40
|
const require_onchain_market_adapters_contracts_UniswapV2AdapterContract = require("./contracts/UniswapV2AdapterContract.js");
|
|
38
41
|
const require_onchain_market_adapters_contracts_UniswapV3AdapterContract = require("./contracts/UniswapV3AdapterContract.js");
|
|
39
42
|
const require_onchain_market_adapters_contracts_UniswapV4AdapterContract = require("./contracts/UniswapV4AdapterContract.js");
|
|
@@ -81,6 +84,9 @@ function createAdapter(sdk, data, strict) {
|
|
|
81
84
|
case "ADAPTER::SECURITIZE_REDEMPTION": return new require_onchain_market_adapters_contracts_SecuritizeRedemptionGatewayAdapterContract.SecuritizeRedemptionGatewayAdapterContract(sdk, data);
|
|
82
85
|
case "ADAPTER::STAKING_REWARDS": return new require_onchain_market_adapters_contracts_StakingRewardsAdapterContract.StakingRewardsAdapterContract(sdk, data);
|
|
83
86
|
case "ADAPTER::TRADERJOE_ROUTER": return new require_onchain_market_adapters_contracts_TraderJoeRouterAdapterContract.TraderJoeRouterAdapterContract(sdk, data);
|
|
87
|
+
case "ADAPTER::TREEHOUSE_FASTLANE": return new require_onchain_market_adapters_contracts_TreehouseFastlaneAdapterContract.TreehouseFastlaneAdapterContract(sdk, data);
|
|
88
|
+
case "ADAPTER::TREEHOUSE_GATEWAY": return new require_onchain_market_adapters_contracts_TreehouseRedemptionGatewayAdapterContract.TreehouseRedemptionGatewayAdapterContract(sdk, data);
|
|
89
|
+
case "ADAPTER::TREEHOUSE_ROUTER": return new require_onchain_market_adapters_contracts_TreehouseRouterAdapterContract.TreehouseRouterAdapterContract(sdk, data);
|
|
84
90
|
case "ADAPTER::UNISWAP_V2_ROUTER": return new require_onchain_market_adapters_contracts_UniswapV2AdapterContract.UniswapV2AdapterContract(sdk, data);
|
|
85
91
|
case "ADAPTER::UNISWAP_V3_ROUTER": return new require_onchain_market_adapters_contracts_UniswapV3AdapterContract.UniswapV3AdapterContract(sdk, data);
|
|
86
92
|
case "ADAPTER::UNISWAP_V4_GATEWAY": return new require_onchain_market_adapters_contracts_UniswapV4AdapterContract.UniswapV4AdapterContract(sdk, data);
|
|
@@ -29,6 +29,9 @@ const require_onchain_market_adapters_abi_adapters_iSecuritizeOnRampAdapterV310
|
|
|
29
29
|
const require_onchain_market_adapters_abi_adapters_iSecuritizeRedemptionGatewayAdapterV311 = require("./abi/adapters/iSecuritizeRedemptionGatewayAdapterV311.js");
|
|
30
30
|
const require_onchain_market_adapters_abi_adapters_iStakingRewardsAdapter = require("./abi/adapters/iStakingRewardsAdapter.js");
|
|
31
31
|
const require_onchain_market_adapters_abi_adapters_iTraderJoeRouterAdapter = require("./abi/adapters/iTraderJoeRouterAdapter.js");
|
|
32
|
+
const require_onchain_market_adapters_abi_adapters_iTreehouseFastlaneAdapter = require("./abi/adapters/iTreehouseFastlaneAdapter.js");
|
|
33
|
+
const require_onchain_market_adapters_abi_adapters_iTreehouseRedemptionGatewayAdapter = require("./abi/adapters/iTreehouseRedemptionGatewayAdapter.js");
|
|
34
|
+
const require_onchain_market_adapters_abi_adapters_iTreehouseRouterAdapter = require("./abi/adapters/iTreehouseRouterAdapter.js");
|
|
32
35
|
const require_onchain_market_adapters_abi_adapters_iUniswapV2Adapter = require("./abi/adapters/iUniswapV2Adapter.js");
|
|
33
36
|
const require_onchain_market_adapters_abi_adapters_iUniswapV3Adapter = require("./abi/adapters/iUniswapV3Adapter.js");
|
|
34
37
|
const require_onchain_market_adapters_abi_adapters_iUniswapV4Adapter = require("./abi/adapters/iUniswapV4Adapter.js");
|
|
@@ -42,6 +45,9 @@ const require_onchain_market_adapters_abi_securitize_iBaseOnRamp = require("./ab
|
|
|
42
45
|
const require_onchain_market_adapters_abi_securitize_iSecuritizeOnRamp = require("./abi/securitize/iSecuritizeOnRamp.js");
|
|
43
46
|
const require_onchain_market_adapters_abi_securitize_iSecuritizeRedemptionGatewayV311 = require("./abi/securitize/iSecuritizeRedemptionGatewayV311.js");
|
|
44
47
|
const require_onchain_market_adapters_abi_targetContractAbi = require("./abi/targetContractAbi.js");
|
|
48
|
+
const require_onchain_market_adapters_abi_treehouse_iTreehouseFastlane = require("./abi/treehouse/iTreehouseFastlane.js");
|
|
49
|
+
const require_onchain_market_adapters_abi_treehouse_iTreehouseRedemptionGateway = require("./abi/treehouse/iTreehouseRedemptionGateway.js");
|
|
50
|
+
const require_onchain_market_adapters_abi_treehouse_iTreehouseRouter = require("./abi/treehouse/iTreehouseRouter.js");
|
|
45
51
|
const require_onchain_market_adapters_abi_utils = require("./abi/utils.js");
|
|
46
52
|
require("./abi/index.js");
|
|
47
53
|
const require_onchain_market_adapters_transferHelpers = require("./transferHelpers.js");
|
|
@@ -78,6 +84,9 @@ const require_onchain_market_adapters_contracts_SecuritizeOnRampAdapterContract
|
|
|
78
84
|
const require_onchain_market_adapters_contracts_SecuritizeRedemptionGatewayAdapterContract = require("./contracts/SecuritizeRedemptionGatewayAdapterContract.js");
|
|
79
85
|
const require_onchain_market_adapters_contracts_StakingRewardsAdapterContract = require("./contracts/StakingRewardsAdapterContract.js");
|
|
80
86
|
const require_onchain_market_adapters_contracts_TraderJoeRouterAdapterContract = require("./contracts/TraderJoeRouterAdapterContract.js");
|
|
87
|
+
const require_onchain_market_adapters_contracts_TreehouseFastlaneAdapterContract = require("./contracts/TreehouseFastlaneAdapterContract.js");
|
|
88
|
+
const require_onchain_market_adapters_contracts_TreehouseRedemptionGatewayAdapterContract = require("./contracts/TreehouseRedemptionGatewayAdapterContract.js");
|
|
89
|
+
const require_onchain_market_adapters_contracts_TreehouseRouterAdapterContract = require("./contracts/TreehouseRouterAdapterContract.js");
|
|
81
90
|
const require_onchain_market_adapters_contracts_UniswapV2AdapterContract = require("./contracts/UniswapV2AdapterContract.js");
|
|
82
91
|
const require_onchain_market_adapters_contracts_UniswapV3AdapterContract = require("./contracts/UniswapV3AdapterContract.js");
|
|
83
92
|
const require_onchain_market_adapters_contracts_UniswapV4AdapterContract = require("./contracts/UniswapV4AdapterContract.js");
|
|
@@ -126,6 +135,9 @@ exports.SecuritizeRedemptionGatewayAdapterContract = require_onchain_market_adap
|
|
|
126
135
|
exports.StakingRewardsAdapterContract = require_onchain_market_adapters_contracts_StakingRewardsAdapterContract.StakingRewardsAdapterContract;
|
|
127
136
|
exports.TraderJoePoolVersion = require_onchain_market_adapters_contracts_TraderJoeRouterAdapterContract.TraderJoePoolVersion;
|
|
128
137
|
exports.TraderJoeRouterAdapterContract = require_onchain_market_adapters_contracts_TraderJoeRouterAdapterContract.TraderJoeRouterAdapterContract;
|
|
138
|
+
exports.TreehouseFastlaneAdapterContract = require_onchain_market_adapters_contracts_TreehouseFastlaneAdapterContract.TreehouseFastlaneAdapterContract;
|
|
139
|
+
exports.TreehouseRedemptionGatewayAdapterContract = require_onchain_market_adapters_contracts_TreehouseRedemptionGatewayAdapterContract.TreehouseRedemptionGatewayAdapterContract;
|
|
140
|
+
exports.TreehouseRouterAdapterContract = require_onchain_market_adapters_contracts_TreehouseRouterAdapterContract.TreehouseRouterAdapterContract;
|
|
129
141
|
exports.UniswapV2AdapterContract = require_onchain_market_adapters_contracts_UniswapV2AdapterContract.UniswapV2AdapterContract;
|
|
130
142
|
exports.UniswapV3AdapterContract = require_onchain_market_adapters_contracts_UniswapV3AdapterContract.UniswapV3AdapterContract;
|
|
131
143
|
exports.UniswapV4AdapterContract = require_onchain_market_adapters_contracts_UniswapV4AdapterContract.UniswapV4AdapterContract;
|
|
@@ -205,6 +217,12 @@ exports.iStakingRewardsAbi = require_onchain_market_adapters_abi_targetContractA
|
|
|
205
217
|
exports.iStakingRewardsAdapterAbi = require_onchain_market_adapters_abi_adapters_iStakingRewardsAdapter.iStakingRewardsAdapterAbi;
|
|
206
218
|
exports.iTraderJoeRouterAbi = require_onchain_market_adapters_abi_targetContractAbi.iTraderJoeRouterAbi;
|
|
207
219
|
exports.iTraderJoeRouterAdapterAbi = require_onchain_market_adapters_abi_adapters_iTraderJoeRouterAdapter.iTraderJoeRouterAdapterAbi;
|
|
220
|
+
exports.iTreehouseFastlaneAbi = require_onchain_market_adapters_abi_treehouse_iTreehouseFastlane.iTreehouseFastlaneAbi;
|
|
221
|
+
exports.iTreehouseFastlaneAdapterAbi = require_onchain_market_adapters_abi_adapters_iTreehouseFastlaneAdapter.iTreehouseFastlaneAdapterAbi;
|
|
222
|
+
exports.iTreehouseRedemptionGatewayAbi = require_onchain_market_adapters_abi_treehouse_iTreehouseRedemptionGateway.iTreehouseRedemptionGatewayAbi;
|
|
223
|
+
exports.iTreehouseRedemptionGatewayAdapterAbi = require_onchain_market_adapters_abi_adapters_iTreehouseRedemptionGatewayAdapter.iTreehouseRedemptionGatewayAdapterAbi;
|
|
224
|
+
exports.iTreehouseRouterAbi = require_onchain_market_adapters_abi_treehouse_iTreehouseRouter.iTreehouseRouterAbi;
|
|
225
|
+
exports.iTreehouseRouterAdapterAbi = require_onchain_market_adapters_abi_adapters_iTreehouseRouterAdapter.iTreehouseRouterAdapterAbi;
|
|
208
226
|
exports.iUniswapV2AdapterAbi = require_onchain_market_adapters_abi_adapters_iUniswapV2Adapter.iUniswapV2AdapterAbi;
|
|
209
227
|
exports.iUniswapV2Router02Abi = require_onchain_market_adapters_abi_targetContractAbi.iUniswapV2Router02Abi;
|
|
210
228
|
exports.iUniswapV3Abi = require_onchain_market_adapters_abi_targetContractAbi.iUniswapV3Abi;
|