@gearbox-protocol/sdk 13.2.0 → 13.3.0-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/abi/310/iSecuritizeDegenNFT.js +263 -0
- package/dist/cjs/abi/310/iSecuritizeKYCFactory.js +278 -0
- package/dist/cjs/{sdk/pools/PoolServiceV310.js → abi/iStateSerializer.js} +14 -8
- package/dist/cjs/dev/AccountOpener.js +45 -5
- package/dist/cjs/sdk/accounts/AbstractCreditAccountsService.js +462 -104
- package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +16 -5
- package/dist/cjs/sdk/base/ChainContractsRegister.js +1 -1
- package/dist/cjs/sdk/base/TokensMeta.js +255 -32
- package/dist/cjs/sdk/base/index.js +2 -0
- package/dist/cjs/sdk/{constants/phantom-tokens.js → base/token-types.js} +9 -3
- package/dist/cjs/sdk/chain/chains.js +2 -1
- package/dist/cjs/sdk/constants/index.js +0 -2
- package/dist/cjs/sdk/market/MarketRegister.js +2 -2
- package/dist/cjs/sdk/market/MarketSuite.js +6 -0
- package/dist/cjs/{plugins/zappers/extraZappers.js → sdk/market/ZapperRegister.js} +110 -6
- package/dist/cjs/sdk/market/index.js +3 -1
- package/dist/cjs/sdk/market/pool/PoolSuite.js +3 -0
- package/dist/cjs/sdk/market/pool/PoolV310Contract.js +17 -2
- package/dist/cjs/sdk/market/pool/SecuritizeKYCFactory.js +97 -0
- package/dist/cjs/sdk/market/pool/index.js +4 -0
- package/dist/cjs/sdk/pools/PoolService.js +391 -0
- package/dist/cjs/sdk/pools/index.js +2 -4
- package/dist/cjs/sdk/utils/AddressMap.js +1 -1
- package/dist/cjs/sdk/utils/viem/sendRawTx.js +16 -0
- package/dist/esm/abi/310/iSecuritizeDegenNFT.js +239 -0
- package/dist/esm/abi/310/iSecuritizeKYCFactory.js +254 -0
- package/dist/esm/abi/iStateSerializer.js +12 -0
- package/dist/esm/dev/AccountOpener.js +47 -6
- package/dist/esm/sdk/accounts/AbstractCreditAccountsService.js +462 -104
- package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +16 -5
- package/dist/esm/sdk/base/ChainContractsRegister.js +1 -1
- package/dist/esm/sdk/base/TokensMeta.js +261 -32
- package/dist/esm/sdk/base/index.js +1 -0
- package/dist/esm/sdk/{constants/phantom-tokens.js → base/token-types.js} +4 -0
- package/dist/esm/sdk/chain/chains.js +2 -1
- package/dist/esm/sdk/constants/index.js +0 -1
- package/dist/esm/sdk/market/MarketRegister.js +2 -2
- package/dist/esm/sdk/market/MarketSuite.js +6 -0
- package/dist/esm/{plugins/zappers/extraZappers.js → sdk/market/ZapperRegister.js} +109 -2
- package/dist/esm/sdk/market/index.js +1 -0
- package/dist/esm/sdk/market/pool/PoolSuite.js +3 -0
- package/dist/esm/sdk/market/pool/PoolV310Contract.js +17 -2
- package/dist/esm/sdk/market/pool/SecuritizeKYCFactory.js +73 -0
- package/dist/esm/sdk/market/pool/index.js +2 -0
- package/dist/esm/sdk/pools/PoolService.js +371 -0
- package/dist/esm/sdk/pools/index.js +1 -2
- package/dist/esm/sdk/utils/AddressMap.js +1 -1
- package/dist/esm/sdk/utils/viem/sendRawTx.js +19 -1
- package/dist/types/abi/310/iSecuritizeDegenNFT.d.ts +324 -0
- package/dist/types/abi/310/iSecuritizeKYCFactory.d.ts +322 -0
- package/dist/types/abi/iStateSerializer.d.ts +11 -0
- package/dist/types/sdk/accounts/AbstractCreditAccountsService.d.ts +123 -27
- package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +1 -1
- package/dist/types/sdk/accounts/types.d.ts +108 -8
- package/dist/types/sdk/base/TokensMeta.d.ts +34 -18
- package/dist/types/sdk/base/index.d.ts +1 -0
- package/dist/types/sdk/base/token-types.d.ts +33 -0
- package/dist/types/sdk/base/types.d.ts +0 -1
- package/dist/types/sdk/chain/chains.d.ts +1 -1
- package/dist/types/sdk/constants/index.d.ts +0 -1
- package/dist/types/sdk/market/MarketRegister.d.ts +2 -2
- package/dist/types/sdk/market/MarketSuite.d.ts +3 -0
- package/dist/types/sdk/market/ZapperRegister.d.ts +17 -0
- package/dist/types/sdk/market/index.d.ts +1 -0
- package/dist/types/sdk/market/pool/PoolSuite.d.ts +2 -0
- package/dist/types/sdk/market/pool/PoolV310Contract.d.ts +6 -2
- package/dist/types/sdk/market/pool/SecuritizeKYCFactory.d.ts +345 -0
- package/dist/types/sdk/market/pool/index.d.ts +2 -0
- package/dist/types/sdk/market/types.d.ts +10 -0
- package/dist/types/sdk/pools/PoolService.d.ts +14 -0
- package/dist/types/sdk/pools/index.d.ts +1 -2
- package/dist/types/sdk/pools/types.d.ts +84 -63
- package/dist/types/sdk/utils/AddressMap.d.ts +1 -1
- package/dist/types/sdk/utils/viem/sendRawTx.d.ts +5 -1
- package/package.json +1 -1
- package/dist/cjs/plugins/zappers/ZappersPlugin.js +0 -144
- package/dist/cjs/plugins/zappers/index.js +0 -26
- package/dist/cjs/plugins/zappers/package.json +0 -1
- package/dist/cjs/sdk/pools/AbstractPoolService.js +0 -137
- package/dist/cjs/sdk/pools/createPoolService.js +0 -35
- package/dist/esm/plugins/zappers/ZappersPlugin.js +0 -126
- package/dist/esm/plugins/zappers/index.js +0 -3
- package/dist/esm/plugins/zappers/package.json +0 -1
- package/dist/esm/sdk/pools/AbstractPoolService.js +0 -113
- package/dist/esm/sdk/pools/PoolServiceV310.js +0 -6
- package/dist/esm/sdk/pools/createPoolService.js +0 -11
- package/dist/types/plugins/zappers/ZappersPlugin.d.ts +0 -18
- package/dist/types/plugins/zappers/extraZappers.d.ts +0 -6
- package/dist/types/plugins/zappers/index.d.ts +0 -3
- package/dist/types/plugins/zappers/types.d.ts +0 -12
- package/dist/types/sdk/constants/phantom-tokens.d.ts +0 -2
- package/dist/types/sdk/pools/AbstractPoolService.d.ts +0 -9
- package/dist/types/sdk/pools/PoolServiceV310.d.ts +0 -4
- package/dist/types/sdk/pools/createPoolService.d.ts +0 -3
- /package/dist/cjs/{plugins/zappers → sdk/market}/types.js +0 -0
- /package/dist/esm/{plugins/zappers → sdk/market}/types.js +0 -0
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var ZappersPlugin_exports = {};
|
|
20
|
-
__export(ZappersPlugin_exports, {
|
|
21
|
-
ZappersPlugin: () => ZappersPlugin
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(ZappersPlugin_exports);
|
|
24
|
-
var import_peripheryCompressor = require("../../abi/compressors/peripheryCompressor.js");
|
|
25
|
-
var import_sdk = require("../../sdk/index.js");
|
|
26
|
-
class ZappersPlugin extends import_sdk.BasePlugin {
|
|
27
|
-
#zappers;
|
|
28
|
-
#extraZappers;
|
|
29
|
-
constructor(extraZappers = [], loadOnAttach = false) {
|
|
30
|
-
super(loadOnAttach);
|
|
31
|
-
this.#extraZappers = this.#addExtraZappers(extraZappers);
|
|
32
|
-
}
|
|
33
|
-
async load(force) {
|
|
34
|
-
if (!force && this.loaded) {
|
|
35
|
-
return this.state;
|
|
36
|
-
}
|
|
37
|
-
const [pcAddr] = this.sdk.addressProvider.mustGetLatest(
|
|
38
|
-
import_sdk.AP_PERIPHERY_COMPRESSOR,
|
|
39
|
-
import_sdk.VERSION_RANGE_310
|
|
40
|
-
);
|
|
41
|
-
this.sdk.logger?.debug(
|
|
42
|
-
`loading zappers with periphery compressor ${pcAddr}`
|
|
43
|
-
);
|
|
44
|
-
const markets = this.sdk.marketRegister.markets;
|
|
45
|
-
const resp = await this.client.multicall({
|
|
46
|
-
contracts: markets.map(
|
|
47
|
-
(m) => ({
|
|
48
|
-
abi: import_peripheryCompressor.peripheryCompressorAbi,
|
|
49
|
-
address: pcAddr,
|
|
50
|
-
functionName: "getZappers",
|
|
51
|
-
args: [m.configurator.address, m.pool.pool.address]
|
|
52
|
-
})
|
|
53
|
-
),
|
|
54
|
-
allowFailure: true,
|
|
55
|
-
batchSize: 0,
|
|
56
|
-
blockNumber: this.sdk.currentBlock
|
|
57
|
-
});
|
|
58
|
-
this.#zappers = new import_sdk.AddressMap(void 0, "zappers");
|
|
59
|
-
for (let i = 0; i < resp.length; i++) {
|
|
60
|
-
const { status, result, error } = resp[i];
|
|
61
|
-
const marketConfigurator = markets[i].configurator.address;
|
|
62
|
-
const pool = markets[i].pool.pool.address;
|
|
63
|
-
if (status === "success") {
|
|
64
|
-
this.#zappers.upsert(
|
|
65
|
-
pool,
|
|
66
|
-
result.map((z) => ({ ...z, pool }))
|
|
67
|
-
);
|
|
68
|
-
} else {
|
|
69
|
-
this.sdk.logger?.error(
|
|
70
|
-
`failed to load zapper for market configurator ${this.labelAddress(
|
|
71
|
-
marketConfigurator
|
|
72
|
-
)} and pool ${this.labelAddress(pool)}: ${error}`
|
|
73
|
-
);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
this.#loadZapperTokens();
|
|
77
|
-
return this.state;
|
|
78
|
-
}
|
|
79
|
-
#addExtraZappers(extraZappers) {
|
|
80
|
-
const zappers = new import_sdk.AddressMap();
|
|
81
|
-
for (const z of extraZappers) {
|
|
82
|
-
const existing = zappers?.get(z.pool);
|
|
83
|
-
if (existing) {
|
|
84
|
-
const hasZapper = existing.some(
|
|
85
|
-
(zz) => (0, import_sdk.hexEq)(zz.baseParams.addr, z.baseParams.addr)
|
|
86
|
-
);
|
|
87
|
-
if (!hasZapper) {
|
|
88
|
-
existing.push(z);
|
|
89
|
-
}
|
|
90
|
-
} else {
|
|
91
|
-
zappers?.upsert(z.pool, [z]);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
return zappers;
|
|
95
|
-
}
|
|
96
|
-
get extraZappers() {
|
|
97
|
-
if (!this.#extraZappers) {
|
|
98
|
-
console.error("extra zappers not attached");
|
|
99
|
-
return new import_sdk.AddressMap();
|
|
100
|
-
}
|
|
101
|
-
return this.#extraZappers;
|
|
102
|
-
}
|
|
103
|
-
get zappers() {
|
|
104
|
-
if (!this.#zappers) {
|
|
105
|
-
throw new Error("zappers plugin not attached");
|
|
106
|
-
}
|
|
107
|
-
return this.#zappers;
|
|
108
|
-
}
|
|
109
|
-
get loaded() {
|
|
110
|
-
return !!this.#zappers;
|
|
111
|
-
}
|
|
112
|
-
stateHuman(_) {
|
|
113
|
-
return this.zappers.values().flatMap(
|
|
114
|
-
(l) => l.flatMap((z) => ({
|
|
115
|
-
address: z.baseParams.addr,
|
|
116
|
-
contractType: z.baseParams.contractType,
|
|
117
|
-
version: Number(z.baseParams.version),
|
|
118
|
-
tokenIn: this.labelAddress(z.tokenIn.addr),
|
|
119
|
-
tokenOut: this.labelAddress(z.tokenOut.addr)
|
|
120
|
-
}))
|
|
121
|
-
);
|
|
122
|
-
}
|
|
123
|
-
get state() {
|
|
124
|
-
return {
|
|
125
|
-
zappers: this.zappers.asRecord()
|
|
126
|
-
};
|
|
127
|
-
}
|
|
128
|
-
hydrate(state) {
|
|
129
|
-
this.#zappers = new import_sdk.AddressMap(Object.entries(state.zappers), "zappers");
|
|
130
|
-
this.#loadZapperTokens();
|
|
131
|
-
}
|
|
132
|
-
#loadZapperTokens() {
|
|
133
|
-
const zappersTokens = this.zappers.values().flatMap((l) => l.flatMap((z) => [z.tokenIn, z.tokenOut]));
|
|
134
|
-
const extraZappersTokens = this.extraZappers.values().flatMap((l) => l.flatMap((z) => [z.tokenIn, z.tokenOut]));
|
|
135
|
-
for (const t of [...zappersTokens, ...extraZappersTokens]) {
|
|
136
|
-
this.sdk.tokensMeta.upsert(t.addr, t);
|
|
137
|
-
this.sdk.setAddressLabel(t.addr, t.symbol);
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
142
|
-
0 && (module.exports = {
|
|
143
|
-
ZappersPlugin
|
|
144
|
-
});
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __copyProps = (to, from, except, desc) => {
|
|
7
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
-
for (let key of __getOwnPropNames(from))
|
|
9
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
-
}
|
|
12
|
-
return to;
|
|
13
|
-
};
|
|
14
|
-
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
15
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
16
|
-
var zappers_exports = {};
|
|
17
|
-
module.exports = __toCommonJS(zappers_exports);
|
|
18
|
-
__reExport(zappers_exports, require("./extraZappers.js"), module.exports);
|
|
19
|
-
__reExport(zappers_exports, require("./types.js"), module.exports);
|
|
20
|
-
__reExport(zappers_exports, require("./ZappersPlugin.js"), module.exports);
|
|
21
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
22
|
-
0 && (module.exports = {
|
|
23
|
-
...require("./extraZappers.js"),
|
|
24
|
-
...require("./types.js"),
|
|
25
|
-
...require("./ZappersPlugin.js")
|
|
26
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"type": "commonjs"}
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var AbstractPoolService_exports = {};
|
|
20
|
-
__export(AbstractPoolService_exports, {
|
|
21
|
-
AbstractPoolService: () => AbstractPoolService
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(AbstractPoolService_exports);
|
|
24
|
-
var import_generated = require("../../abi/310/generated.js");
|
|
25
|
-
var import_iERC20ZapperDeposits = require("../../abi/iERC20ZapperDeposits.js");
|
|
26
|
-
var import_iETHZapperDeposits = require("../../abi/iETHZapperDeposits.js");
|
|
27
|
-
var import_iZapper = require("../../abi/iZapper.js");
|
|
28
|
-
var import_base = require("../base/index.js");
|
|
29
|
-
class AbstractPoolService extends import_base.SDKConstruct {
|
|
30
|
-
#version;
|
|
31
|
-
constructor(sdk, version) {
|
|
32
|
-
super(sdk);
|
|
33
|
-
this.#version = version;
|
|
34
|
-
this.logger?.debug(`Created PoolService with version: ${this.#version}`);
|
|
35
|
-
}
|
|
36
|
-
addLiquidity({
|
|
37
|
-
collateral,
|
|
38
|
-
pool,
|
|
39
|
-
account,
|
|
40
|
-
zapper,
|
|
41
|
-
permit,
|
|
42
|
-
nativeTokenAddress,
|
|
43
|
-
referralCode = 0n,
|
|
44
|
-
migrate
|
|
45
|
-
}) {
|
|
46
|
-
if (zapper?.tokenIn === nativeTokenAddress) {
|
|
47
|
-
return [
|
|
48
|
-
{
|
|
49
|
-
target: zapper.zapper,
|
|
50
|
-
abi: import_iETHZapperDeposits.iethZapperDepositsAbi,
|
|
51
|
-
functionName: "depositWithReferral",
|
|
52
|
-
args: [account, referralCode],
|
|
53
|
-
value: collateral.balance
|
|
54
|
-
}
|
|
55
|
-
];
|
|
56
|
-
} else if (zapper) {
|
|
57
|
-
return permit ? [
|
|
58
|
-
{
|
|
59
|
-
target: zapper.zapper,
|
|
60
|
-
abi: import_iERC20ZapperDeposits.ierc20ZapperDepositsAbi,
|
|
61
|
-
functionName: "depositWithReferralAndPermit",
|
|
62
|
-
args: [
|
|
63
|
-
collateral.balance,
|
|
64
|
-
account,
|
|
65
|
-
referralCode,
|
|
66
|
-
permit.deadline,
|
|
67
|
-
permit.v,
|
|
68
|
-
permit.r,
|
|
69
|
-
permit.s
|
|
70
|
-
]
|
|
71
|
-
}
|
|
72
|
-
] : [
|
|
73
|
-
{
|
|
74
|
-
target: zapper.zapper,
|
|
75
|
-
abi: import_iERC20ZapperDeposits.ierc20ZapperDepositsAbi,
|
|
76
|
-
functionName: "depositWithReferral",
|
|
77
|
-
args: [collateral.balance, account, referralCode]
|
|
78
|
-
}
|
|
79
|
-
];
|
|
80
|
-
} else {
|
|
81
|
-
if (migrate) throw Error("No zapper for migration");
|
|
82
|
-
return [
|
|
83
|
-
{
|
|
84
|
-
target: pool,
|
|
85
|
-
abi: import_generated.iPoolV310Abi,
|
|
86
|
-
functionName: "depositWithReferral",
|
|
87
|
-
args: [collateral.balance, account, referralCode]
|
|
88
|
-
}
|
|
89
|
-
];
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
removeLiquidity({
|
|
93
|
-
pool,
|
|
94
|
-
amount,
|
|
95
|
-
account,
|
|
96
|
-
zapper,
|
|
97
|
-
permit
|
|
98
|
-
}) {
|
|
99
|
-
if (zapper) {
|
|
100
|
-
return permit ? [
|
|
101
|
-
{
|
|
102
|
-
target: zapper.zapper,
|
|
103
|
-
abi: import_iZapper.iZapperAbi,
|
|
104
|
-
functionName: "redeemWithPermit",
|
|
105
|
-
args: [
|
|
106
|
-
amount,
|
|
107
|
-
account,
|
|
108
|
-
permit.deadline,
|
|
109
|
-
permit.v,
|
|
110
|
-
permit.r,
|
|
111
|
-
permit.s
|
|
112
|
-
]
|
|
113
|
-
}
|
|
114
|
-
] : [
|
|
115
|
-
{
|
|
116
|
-
target: zapper.zapper,
|
|
117
|
-
abi: import_iZapper.iZapperAbi,
|
|
118
|
-
functionName: "redeem",
|
|
119
|
-
args: [amount, account]
|
|
120
|
-
}
|
|
121
|
-
];
|
|
122
|
-
} else {
|
|
123
|
-
return [
|
|
124
|
-
{
|
|
125
|
-
target: pool,
|
|
126
|
-
abi: import_generated.iPoolV310Abi,
|
|
127
|
-
functionName: "redeem",
|
|
128
|
-
args: [amount, account, account]
|
|
129
|
-
}
|
|
130
|
-
];
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
135
|
-
0 && (module.exports = {
|
|
136
|
-
AbstractPoolService
|
|
137
|
-
});
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var createPoolService_exports = {};
|
|
20
|
-
__export(createPoolService_exports, {
|
|
21
|
-
createPoolService: () => createPoolService
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(createPoolService_exports);
|
|
24
|
-
var import_constants = require("../constants/index.js");
|
|
25
|
-
var import_PoolServiceV310 = require("./PoolServiceV310.js");
|
|
26
|
-
function createPoolService(sdk, version) {
|
|
27
|
-
if ((0, import_constants.isV310)(version)) {
|
|
28
|
-
return new import_PoolServiceV310.PoolServiceV310(sdk, version);
|
|
29
|
-
}
|
|
30
|
-
throw new Error(`Unsupported Pool Service version ${version}`);
|
|
31
|
-
}
|
|
32
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
33
|
-
0 && (module.exports = {
|
|
34
|
-
createPoolService
|
|
35
|
-
});
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
import { peripheryCompressorAbi } from "../../abi/compressors/peripheryCompressor.js";
|
|
2
|
-
import {
|
|
3
|
-
AddressMap,
|
|
4
|
-
AP_PERIPHERY_COMPRESSOR,
|
|
5
|
-
BasePlugin,
|
|
6
|
-
hexEq,
|
|
7
|
-
VERSION_RANGE_310
|
|
8
|
-
} from "../../sdk/index.js";
|
|
9
|
-
class ZappersPlugin extends BasePlugin {
|
|
10
|
-
#zappers;
|
|
11
|
-
#extraZappers;
|
|
12
|
-
constructor(extraZappers = [], loadOnAttach = false) {
|
|
13
|
-
super(loadOnAttach);
|
|
14
|
-
this.#extraZappers = this.#addExtraZappers(extraZappers);
|
|
15
|
-
}
|
|
16
|
-
async load(force) {
|
|
17
|
-
if (!force && this.loaded) {
|
|
18
|
-
return this.state;
|
|
19
|
-
}
|
|
20
|
-
const [pcAddr] = this.sdk.addressProvider.mustGetLatest(
|
|
21
|
-
AP_PERIPHERY_COMPRESSOR,
|
|
22
|
-
VERSION_RANGE_310
|
|
23
|
-
);
|
|
24
|
-
this.sdk.logger?.debug(
|
|
25
|
-
`loading zappers with periphery compressor ${pcAddr}`
|
|
26
|
-
);
|
|
27
|
-
const markets = this.sdk.marketRegister.markets;
|
|
28
|
-
const resp = await this.client.multicall({
|
|
29
|
-
contracts: markets.map(
|
|
30
|
-
(m) => ({
|
|
31
|
-
abi: peripheryCompressorAbi,
|
|
32
|
-
address: pcAddr,
|
|
33
|
-
functionName: "getZappers",
|
|
34
|
-
args: [m.configurator.address, m.pool.pool.address]
|
|
35
|
-
})
|
|
36
|
-
),
|
|
37
|
-
allowFailure: true,
|
|
38
|
-
batchSize: 0,
|
|
39
|
-
blockNumber: this.sdk.currentBlock
|
|
40
|
-
});
|
|
41
|
-
this.#zappers = new AddressMap(void 0, "zappers");
|
|
42
|
-
for (let i = 0; i < resp.length; i++) {
|
|
43
|
-
const { status, result, error } = resp[i];
|
|
44
|
-
const marketConfigurator = markets[i].configurator.address;
|
|
45
|
-
const pool = markets[i].pool.pool.address;
|
|
46
|
-
if (status === "success") {
|
|
47
|
-
this.#zappers.upsert(
|
|
48
|
-
pool,
|
|
49
|
-
result.map((z) => ({ ...z, pool }))
|
|
50
|
-
);
|
|
51
|
-
} else {
|
|
52
|
-
this.sdk.logger?.error(
|
|
53
|
-
`failed to load zapper for market configurator ${this.labelAddress(
|
|
54
|
-
marketConfigurator
|
|
55
|
-
)} and pool ${this.labelAddress(pool)}: ${error}`
|
|
56
|
-
);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
this.#loadZapperTokens();
|
|
60
|
-
return this.state;
|
|
61
|
-
}
|
|
62
|
-
#addExtraZappers(extraZappers) {
|
|
63
|
-
const zappers = new AddressMap();
|
|
64
|
-
for (const z of extraZappers) {
|
|
65
|
-
const existing = zappers?.get(z.pool);
|
|
66
|
-
if (existing) {
|
|
67
|
-
const hasZapper = existing.some(
|
|
68
|
-
(zz) => hexEq(zz.baseParams.addr, z.baseParams.addr)
|
|
69
|
-
);
|
|
70
|
-
if (!hasZapper) {
|
|
71
|
-
existing.push(z);
|
|
72
|
-
}
|
|
73
|
-
} else {
|
|
74
|
-
zappers?.upsert(z.pool, [z]);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
return zappers;
|
|
78
|
-
}
|
|
79
|
-
get extraZappers() {
|
|
80
|
-
if (!this.#extraZappers) {
|
|
81
|
-
console.error("extra zappers not attached");
|
|
82
|
-
return new AddressMap();
|
|
83
|
-
}
|
|
84
|
-
return this.#extraZappers;
|
|
85
|
-
}
|
|
86
|
-
get zappers() {
|
|
87
|
-
if (!this.#zappers) {
|
|
88
|
-
throw new Error("zappers plugin not attached");
|
|
89
|
-
}
|
|
90
|
-
return this.#zappers;
|
|
91
|
-
}
|
|
92
|
-
get loaded() {
|
|
93
|
-
return !!this.#zappers;
|
|
94
|
-
}
|
|
95
|
-
stateHuman(_) {
|
|
96
|
-
return this.zappers.values().flatMap(
|
|
97
|
-
(l) => l.flatMap((z) => ({
|
|
98
|
-
address: z.baseParams.addr,
|
|
99
|
-
contractType: z.baseParams.contractType,
|
|
100
|
-
version: Number(z.baseParams.version),
|
|
101
|
-
tokenIn: this.labelAddress(z.tokenIn.addr),
|
|
102
|
-
tokenOut: this.labelAddress(z.tokenOut.addr)
|
|
103
|
-
}))
|
|
104
|
-
);
|
|
105
|
-
}
|
|
106
|
-
get state() {
|
|
107
|
-
return {
|
|
108
|
-
zappers: this.zappers.asRecord()
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
hydrate(state) {
|
|
112
|
-
this.#zappers = new AddressMap(Object.entries(state.zappers), "zappers");
|
|
113
|
-
this.#loadZapperTokens();
|
|
114
|
-
}
|
|
115
|
-
#loadZapperTokens() {
|
|
116
|
-
const zappersTokens = this.zappers.values().flatMap((l) => l.flatMap((z) => [z.tokenIn, z.tokenOut]));
|
|
117
|
-
const extraZappersTokens = this.extraZappers.values().flatMap((l) => l.flatMap((z) => [z.tokenIn, z.tokenOut]));
|
|
118
|
-
for (const t of [...zappersTokens, ...extraZappersTokens]) {
|
|
119
|
-
this.sdk.tokensMeta.upsert(t.addr, t);
|
|
120
|
-
this.sdk.setAddressLabel(t.addr, t.symbol);
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
export {
|
|
125
|
-
ZappersPlugin
|
|
126
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"type": "module","sideEffects":false}
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
import { iPoolV310Abi } from "../../abi/310/generated.js";
|
|
2
|
-
import { ierc20ZapperDepositsAbi } from "../../abi/iERC20ZapperDeposits.js";
|
|
3
|
-
import { iethZapperDepositsAbi } from "../../abi/iETHZapperDeposits.js";
|
|
4
|
-
import { iZapperAbi } from "../../abi/iZapper.js";
|
|
5
|
-
import { SDKConstruct } from "../base/index.js";
|
|
6
|
-
class AbstractPoolService extends SDKConstruct {
|
|
7
|
-
#version;
|
|
8
|
-
constructor(sdk, version) {
|
|
9
|
-
super(sdk);
|
|
10
|
-
this.#version = version;
|
|
11
|
-
this.logger?.debug(`Created PoolService with version: ${this.#version}`);
|
|
12
|
-
}
|
|
13
|
-
addLiquidity({
|
|
14
|
-
collateral,
|
|
15
|
-
pool,
|
|
16
|
-
account,
|
|
17
|
-
zapper,
|
|
18
|
-
permit,
|
|
19
|
-
nativeTokenAddress,
|
|
20
|
-
referralCode = 0n,
|
|
21
|
-
migrate
|
|
22
|
-
}) {
|
|
23
|
-
if (zapper?.tokenIn === nativeTokenAddress) {
|
|
24
|
-
return [
|
|
25
|
-
{
|
|
26
|
-
target: zapper.zapper,
|
|
27
|
-
abi: iethZapperDepositsAbi,
|
|
28
|
-
functionName: "depositWithReferral",
|
|
29
|
-
args: [account, referralCode],
|
|
30
|
-
value: collateral.balance
|
|
31
|
-
}
|
|
32
|
-
];
|
|
33
|
-
} else if (zapper) {
|
|
34
|
-
return permit ? [
|
|
35
|
-
{
|
|
36
|
-
target: zapper.zapper,
|
|
37
|
-
abi: ierc20ZapperDepositsAbi,
|
|
38
|
-
functionName: "depositWithReferralAndPermit",
|
|
39
|
-
args: [
|
|
40
|
-
collateral.balance,
|
|
41
|
-
account,
|
|
42
|
-
referralCode,
|
|
43
|
-
permit.deadline,
|
|
44
|
-
permit.v,
|
|
45
|
-
permit.r,
|
|
46
|
-
permit.s
|
|
47
|
-
]
|
|
48
|
-
}
|
|
49
|
-
] : [
|
|
50
|
-
{
|
|
51
|
-
target: zapper.zapper,
|
|
52
|
-
abi: ierc20ZapperDepositsAbi,
|
|
53
|
-
functionName: "depositWithReferral",
|
|
54
|
-
args: [collateral.balance, account, referralCode]
|
|
55
|
-
}
|
|
56
|
-
];
|
|
57
|
-
} else {
|
|
58
|
-
if (migrate) throw Error("No zapper for migration");
|
|
59
|
-
return [
|
|
60
|
-
{
|
|
61
|
-
target: pool,
|
|
62
|
-
abi: iPoolV310Abi,
|
|
63
|
-
functionName: "depositWithReferral",
|
|
64
|
-
args: [collateral.balance, account, referralCode]
|
|
65
|
-
}
|
|
66
|
-
];
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
removeLiquidity({
|
|
70
|
-
pool,
|
|
71
|
-
amount,
|
|
72
|
-
account,
|
|
73
|
-
zapper,
|
|
74
|
-
permit
|
|
75
|
-
}) {
|
|
76
|
-
if (zapper) {
|
|
77
|
-
return permit ? [
|
|
78
|
-
{
|
|
79
|
-
target: zapper.zapper,
|
|
80
|
-
abi: iZapperAbi,
|
|
81
|
-
functionName: "redeemWithPermit",
|
|
82
|
-
args: [
|
|
83
|
-
amount,
|
|
84
|
-
account,
|
|
85
|
-
permit.deadline,
|
|
86
|
-
permit.v,
|
|
87
|
-
permit.r,
|
|
88
|
-
permit.s
|
|
89
|
-
]
|
|
90
|
-
}
|
|
91
|
-
] : [
|
|
92
|
-
{
|
|
93
|
-
target: zapper.zapper,
|
|
94
|
-
abi: iZapperAbi,
|
|
95
|
-
functionName: "redeem",
|
|
96
|
-
args: [amount, account]
|
|
97
|
-
}
|
|
98
|
-
];
|
|
99
|
-
} else {
|
|
100
|
-
return [
|
|
101
|
-
{
|
|
102
|
-
target: pool,
|
|
103
|
-
abi: iPoolV310Abi,
|
|
104
|
-
functionName: "redeem",
|
|
105
|
-
args: [amount, account, account]
|
|
106
|
-
}
|
|
107
|
-
];
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
export {
|
|
112
|
-
AbstractPoolService
|
|
113
|
-
};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { isV310 } from "../constants/index.js";
|
|
2
|
-
import { PoolServiceV310 } from "./PoolServiceV310.js";
|
|
3
|
-
function createPoolService(sdk, version) {
|
|
4
|
-
if (isV310(version)) {
|
|
5
|
-
return new PoolServiceV310(sdk, version);
|
|
6
|
-
}
|
|
7
|
-
throw new Error(`Unsupported Pool Service version ${version}`);
|
|
8
|
-
}
|
|
9
|
-
export {
|
|
10
|
-
createPoolService
|
|
11
|
-
};
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { Address } from "viem";
|
|
2
|
-
import type { IGearboxSDKPlugin } from "../../sdk/index.js";
|
|
3
|
-
import { AddressMap, BasePlugin } from "../../sdk/index.js";
|
|
4
|
-
import type { ZapperDataFull, ZapperStateHuman } from "./types.js";
|
|
5
|
-
export interface ZappersPluginState {
|
|
6
|
-
zappers: Record<Address, ZapperDataFull[]>;
|
|
7
|
-
}
|
|
8
|
-
export declare class ZappersPlugin extends BasePlugin<ZappersPluginState> implements IGearboxSDKPlugin<ZappersPluginState> {
|
|
9
|
-
#private;
|
|
10
|
-
constructor(extraZappers?: ZapperDataFull[], loadOnAttach?: boolean);
|
|
11
|
-
load(force?: boolean): Promise<ZappersPluginState>;
|
|
12
|
-
get extraZappers(): AddressMap<ZapperDataFull[]>;
|
|
13
|
-
get zappers(): AddressMap<ZapperDataFull[]>;
|
|
14
|
-
get loaded(): boolean;
|
|
15
|
-
stateHuman(_?: boolean): ZapperStateHuman[];
|
|
16
|
-
get state(): ZappersPluginState;
|
|
17
|
-
hydrate(state: ZappersPluginState): void;
|
|
18
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { AbiParametersToPrimitiveTypes, ExtractAbiFunction } from "abitype";
|
|
2
|
-
import type { Address } from "viem";
|
|
3
|
-
import type { peripheryCompressorAbi } from "../../abi/compressors/peripheryCompressor.js";
|
|
4
|
-
import type { BaseContractStateHuman, Unarray } from "../../sdk/index.js";
|
|
5
|
-
export type ZapperData = Unarray<AbiParametersToPrimitiveTypes<ExtractAbiFunction<typeof peripheryCompressorAbi, "getZappers">["outputs"]>>;
|
|
6
|
-
export interface ZapperDataFull extends ZapperData {
|
|
7
|
-
pool: Address;
|
|
8
|
-
}
|
|
9
|
-
export interface ZapperStateHuman extends BaseContractStateHuman {
|
|
10
|
-
tokenIn: string;
|
|
11
|
-
tokenOut: string;
|
|
12
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export declare const PHANTOM_TOKEN_CONTRACT_TYPES: readonly ["PHANTOM_TOKEN::CONVEX", "PHANTOM_TOKEN::INFINIFI_UNWIND", "PHANTOM_TOKEN::INFRARED", "PHANTOM_TOKEN::MELLOW_WITHDRAWAL", "PHANTOM_TOKEN::MIDAS_REDEMPTION", "PHANTOM_TOKEN::STAKING_REWARDS", "PHANTOM_TOKEN::UPSHIFT_WITHDRAW"];
|
|
2
|
-
export type PhantomTokenContractType = (typeof PHANTOM_TOKEN_CONTRACT_TYPES)[number];
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { SDKConstruct } from "../base/index.js";
|
|
2
|
-
import type { GearboxSDK } from "../GearboxSDK.js";
|
|
3
|
-
import type { AddLiquidityCall, AddLiquidityProps, RemoveLiquidityCall, RemoveLiquidityProps } from "./types.js";
|
|
4
|
-
export declare abstract class AbstractPoolService extends SDKConstruct {
|
|
5
|
-
#private;
|
|
6
|
-
constructor(sdk: GearboxSDK, version: number);
|
|
7
|
-
addLiquidity({ collateral, pool, account, zapper, permit, nativeTokenAddress, referralCode, migrate, }: AddLiquidityProps): AddLiquidityCall;
|
|
8
|
-
removeLiquidity({ pool, amount, account, zapper, permit, }: RemoveLiquidityProps): RemoveLiquidityCall;
|
|
9
|
-
}
|
|
File without changes
|