@kehtus/proportion-sdk 0.1.1 → 0.1.3
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/LICENSE +21 -0
- package/dist/abi/factory.d.ts +1 -0
- package/dist/abi/factory.d.ts.map +1 -0
- package/dist/abi/factory.js +1 -0
- package/dist/abi/factory.js.map +1 -0
- package/dist/abi/forwarder.d.ts +1 -0
- package/dist/abi/forwarder.d.ts.map +1 -0
- package/dist/abi/forwarder.js +1 -0
- package/dist/abi/forwarder.js.map +1 -0
- package/dist/abi/fundedAccount.d.ts +1 -0
- package/dist/abi/fundedAccount.d.ts.map +1 -0
- package/dist/abi/fundedAccount.js +1 -0
- package/dist/abi/fundedAccount.js.map +1 -0
- package/dist/abi/mainVault.d.ts +198 -16
- package/dist/abi/mainVault.d.ts.map +1 -0
- package/dist/abi/mainVault.js +253 -19
- package/dist/abi/mainVault.js.map +1 -0
- package/dist/account.d.ts +3 -2
- package/dist/account.d.ts.map +1 -0
- package/dist/account.js +46 -43
- package/dist/account.js.map +1 -0
- package/dist/base.d.ts +9 -0
- package/dist/base.d.ts.map +1 -0
- package/dist/base.js +19 -0
- package/dist/base.js.map +1 -0
- package/dist/constants.d.ts +5 -4
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +5 -4
- package/dist/constants.js.map +1 -0
- package/dist/factory.d.ts +1 -0
- package/dist/factory.d.ts.map +1 -0
- package/dist/factory.js +56 -10
- package/dist/factory.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -0
- package/dist/indexer.d.ts +8 -3
- package/dist/indexer.d.ts.map +1 -0
- package/dist/indexer.js +81 -136
- package/dist/indexer.js.map +1 -0
- package/dist/sdk.d.ts +1 -0
- package/dist/sdk.d.ts.map +1 -0
- package/dist/sdk.js +1 -0
- package/dist/sdk.js.map +1 -0
- package/dist/types.d.ts +5 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +1 -0
- package/dist/types.js.map +1 -0
- package/dist/utils.d.ts +8 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +10 -0
- package/dist/utils.js.map +1 -0
- package/dist/vault.d.ts +7 -4
- package/dist/vault.d.ts.map +1 -0
- package/dist/vault.js +76 -51
- package/dist/vault.js.map +1 -0
- package/package.json +12 -1
- package/SDK_IMPROVEMENT_PLAN.md +0 -197
- package/arch.md +0 -455
- package/dist/__tests__/account.test.d.ts +0 -1
- package/dist/__tests__/account.test.js +0 -36
- package/dist/__tests__/indexer.test.d.ts +0 -1
- package/dist/__tests__/indexer.test.js +0 -230
- package/dist/__tests__/lifecycle.test.d.ts +0 -1
- package/dist/__tests__/lifecycle.test.js +0 -186
- package/dist/__tests__/reads.test.d.ts +0 -1
- package/dist/__tests__/reads.test.js +0 -184
- package/dist/__tests__/utils.test.d.ts +0 -1
- package/dist/__tests__/utils.test.js +0 -185
- package/src/__tests__/account.test.ts +0 -40
- package/src/__tests__/indexer.test.ts +0 -255
- package/src/__tests__/lifecycle.test.ts +0 -231
- package/src/__tests__/reads.test.ts +0 -208
- package/src/__tests__/utils.test.ts +0 -245
- package/src/abi/factory.ts +0 -417
- package/src/abi/forwarder.ts +0 -373
- package/src/abi/fundedAccount.ts +0 -1296
- package/src/abi/mainVault.ts +0 -1852
- package/src/account.ts +0 -325
- package/src/constants.ts +0 -51
- package/src/factory.ts +0 -157
- package/src/index.ts +0 -16
- package/src/indexer.ts +0 -636
- package/src/sdk.ts +0 -93
- package/src/types.ts +0 -421
- package/src/utils.ts +0 -143
- package/src/vault.ts +0 -479
- package/tsconfig.json +0 -19
- package/vitest.config.ts +0 -8
package/dist/vault.d.ts
CHANGED
|
@@ -9,6 +9,8 @@ export declare class VaultModule {
|
|
|
9
9
|
vault: Address;
|
|
10
10
|
usdc: Address;
|
|
11
11
|
});
|
|
12
|
+
private requireWallet;
|
|
13
|
+
private write;
|
|
12
14
|
getStats(): Promise<VaultStats>;
|
|
13
15
|
getLPPosition(account: Address): Promise<LPPosition>;
|
|
14
16
|
getBuilderInfo(builder: Address): Promise<BuilderInfo>;
|
|
@@ -19,8 +21,6 @@ export declare class VaultModule {
|
|
|
19
21
|
getRemainingCap(): Promise<bigint>;
|
|
20
22
|
isFundedAccount(account: Address): Promise<boolean>;
|
|
21
23
|
getDelegateBuilder(delegate: Address): Promise<Address>;
|
|
22
|
-
private requireWallet;
|
|
23
|
-
private write;
|
|
24
24
|
deposit(amount: bigint): Promise<Hash>;
|
|
25
25
|
withdraw(shares: bigint): Promise<Hash>;
|
|
26
26
|
approveUsdc(amount: bigint): Promise<Hash>;
|
|
@@ -32,14 +32,15 @@ export declare class VaultModule {
|
|
|
32
32
|
accountSize: bigint;
|
|
33
33
|
drawdownBps: number;
|
|
34
34
|
dailyDrawdownEnabled: boolean;
|
|
35
|
-
hypeValue?: bigint;
|
|
36
35
|
}): Promise<Hash>;
|
|
37
36
|
pause(): Promise<Hash>;
|
|
38
37
|
unpause(): Promise<Hash>;
|
|
39
38
|
addAllowedPerp(index: number): Promise<Hash>;
|
|
40
39
|
removeAllowedPerp(index: number): Promise<Hash>;
|
|
41
40
|
setRelayer(addr: Address): Promise<Hash>;
|
|
42
|
-
|
|
41
|
+
queueFactoryChange(addr: Address): Promise<Hash>;
|
|
42
|
+
executeFactoryChange(): Promise<Hash>;
|
|
43
|
+
cancelFactoryChange(): Promise<Hash>;
|
|
43
44
|
setProtocolFeeReceiver(addr: Address): Promise<Hash>;
|
|
44
45
|
transferOwnership(newOwner: Address): Promise<Hash>;
|
|
45
46
|
acceptOwnership(): Promise<Hash>;
|
|
@@ -57,4 +58,6 @@ export declare class VaultModule {
|
|
|
57
58
|
setMaxUtilizationBps(value: bigint): Promise<Hash>;
|
|
58
59
|
setMaxSingleAccountBps(value: bigint): Promise<Hash>;
|
|
59
60
|
setDailyDdDiscountBps(value: number): Promise<Hash>;
|
|
61
|
+
withdrawHype(amount: bigint): Promise<Hash>;
|
|
60
62
|
}
|
|
63
|
+
//# sourceMappingURL=vault.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["../src/vault.ts"],"names":[],"mappings":"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"}
|
package/dist/vault.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { mainVaultAbi } from "./abi/mainVault.js";
|
|
2
|
+
import { assertAllSuccess } from "./utils.js";
|
|
2
3
|
const erc20Abi = [
|
|
3
4
|
{
|
|
4
5
|
type: "function",
|
|
@@ -22,6 +23,16 @@ export class VaultModule {
|
|
|
22
23
|
this.chain = chain;
|
|
23
24
|
this.addresses = addresses;
|
|
24
25
|
}
|
|
26
|
+
requireWallet() {
|
|
27
|
+
if (!this.walletClient)
|
|
28
|
+
throw new Error("WalletClient required for write operations");
|
|
29
|
+
return this.walletClient;
|
|
30
|
+
}
|
|
31
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
32
|
+
async write(params) {
|
|
33
|
+
const wallet = this.requireWallet();
|
|
34
|
+
return wallet.writeContract({ chain: this.chain, ...params });
|
|
35
|
+
}
|
|
25
36
|
// ── READS ───────────────────────────────────────────
|
|
26
37
|
async getStats() {
|
|
27
38
|
const contract = { address: this.addresses.vault, abi: mainVaultAbi };
|
|
@@ -55,37 +66,42 @@ export class VaultModule {
|
|
|
55
66
|
{ ...contract, functionName: "MAX_UTILIZATION_BPS" },
|
|
56
67
|
{ ...contract, functionName: "MAX_SINGLE_ACCOUNT_BPS" },
|
|
57
68
|
{ ...contract, functionName: "DAILY_DD_DISCOUNT_BPS" },
|
|
69
|
+
{ ...contract, functionName: "pendingFactory" },
|
|
70
|
+
{ ...contract, functionName: "factoryActivationTime" },
|
|
58
71
|
],
|
|
59
72
|
});
|
|
73
|
+
const r = assertAllSuccess(results);
|
|
60
74
|
return {
|
|
61
|
-
totalAssets:
|
|
62
|
-
sharePrice:
|
|
63
|
-
utilizationBps:
|
|
64
|
-
availableForAllocation:
|
|
65
|
-
maxAccountSize:
|
|
66
|
-
remainingCap:
|
|
67
|
-
paused:
|
|
68
|
-
feeMultiplier:
|
|
69
|
-
subscriptionFeeMultiplier:
|
|
70
|
-
totalShares:
|
|
71
|
-
totalAllocated:
|
|
72
|
-
owner:
|
|
73
|
-
pendingOwner:
|
|
74
|
-
relayer:
|
|
75
|
-
protocolFeeReceiver:
|
|
76
|
-
maxCap:
|
|
77
|
-
hypeForSpot:
|
|
78
|
-
factory:
|
|
79
|
-
minBuilderShares:
|
|
80
|
-
builderLeverage:
|
|
81
|
-
protocolFeeBps:
|
|
82
|
-
minAccountSize:
|
|
83
|
-
maxAccountSizeLimit:
|
|
84
|
-
minDrawdownBps:
|
|
85
|
-
maxDrawdownBps:
|
|
86
|
-
maxUtilizationBps:
|
|
87
|
-
maxSingleAccountBps:
|
|
88
|
-
dailyDdDiscountBps:
|
|
75
|
+
totalAssets: r[0],
|
|
76
|
+
sharePrice: r[1],
|
|
77
|
+
utilizationBps: r[2],
|
|
78
|
+
availableForAllocation: r[3],
|
|
79
|
+
maxAccountSize: r[4],
|
|
80
|
+
remainingCap: r[5],
|
|
81
|
+
paused: r[6],
|
|
82
|
+
feeMultiplier: r[7],
|
|
83
|
+
subscriptionFeeMultiplier: r[8],
|
|
84
|
+
totalShares: r[9],
|
|
85
|
+
totalAllocated: r[10],
|
|
86
|
+
owner: r[11],
|
|
87
|
+
pendingOwner: r[12],
|
|
88
|
+
relayer: r[13],
|
|
89
|
+
protocolFeeReceiver: r[14],
|
|
90
|
+
maxCap: r[15],
|
|
91
|
+
hypeForSpot: r[16],
|
|
92
|
+
factory: r[17],
|
|
93
|
+
minBuilderShares: r[18],
|
|
94
|
+
builderLeverage: r[19],
|
|
95
|
+
protocolFeeBps: r[20],
|
|
96
|
+
minAccountSize: r[21],
|
|
97
|
+
maxAccountSizeLimit: r[22],
|
|
98
|
+
minDrawdownBps: r[23],
|
|
99
|
+
maxDrawdownBps: r[24],
|
|
100
|
+
maxUtilizationBps: r[25],
|
|
101
|
+
maxSingleAccountBps: r[26],
|
|
102
|
+
dailyDdDiscountBps: r[27],
|
|
103
|
+
pendingFactory: r[28],
|
|
104
|
+
factoryActivationTime: r[29],
|
|
89
105
|
};
|
|
90
106
|
}
|
|
91
107
|
async getLPPosition(account) {
|
|
@@ -97,10 +113,11 @@ export class VaultModule {
|
|
|
97
113
|
{ ...contract, functionName: "withdrawableShares", args: [account] },
|
|
98
114
|
],
|
|
99
115
|
});
|
|
116
|
+
const r = assertAllSuccess(results);
|
|
100
117
|
return {
|
|
101
|
-
shares:
|
|
102
|
-
sharesValue:
|
|
103
|
-
withdrawableShares:
|
|
118
|
+
shares: r[0],
|
|
119
|
+
sharesValue: r[1],
|
|
120
|
+
withdrawableShares: r[2],
|
|
104
121
|
};
|
|
105
122
|
}
|
|
106
123
|
async getBuilderInfo(builder) {
|
|
@@ -111,11 +128,12 @@ export class VaultModule {
|
|
|
111
128
|
{ ...contract, functionName: "builderAvailableFunded", args: [builder] },
|
|
112
129
|
],
|
|
113
130
|
});
|
|
114
|
-
const
|
|
131
|
+
const r = assertAllSuccess(results);
|
|
132
|
+
const [active, activeFunded] = r[0];
|
|
115
133
|
return {
|
|
116
134
|
active,
|
|
117
135
|
activeFunded,
|
|
118
|
-
availableFunded:
|
|
136
|
+
availableFunded: r[1],
|
|
119
137
|
};
|
|
120
138
|
}
|
|
121
139
|
async getAllowedPerps() {
|
|
@@ -173,16 +191,6 @@ export class VaultModule {
|
|
|
173
191
|
});
|
|
174
192
|
}
|
|
175
193
|
// ── WRITES ──────────────────────────────────────────
|
|
176
|
-
requireWallet() {
|
|
177
|
-
if (!this.walletClient)
|
|
178
|
-
throw new Error("WalletClient required for write operations");
|
|
179
|
-
return this.walletClient;
|
|
180
|
-
}
|
|
181
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
182
|
-
async write(params) {
|
|
183
|
-
const wallet = this.requireWallet();
|
|
184
|
-
return wallet.writeContract({ chain: this.chain, ...params });
|
|
185
|
-
}
|
|
186
194
|
async deposit(amount) {
|
|
187
195
|
return this.write({
|
|
188
196
|
address: this.addresses.vault,
|
|
@@ -231,17 +239,11 @@ export class VaultModule {
|
|
|
231
239
|
});
|
|
232
240
|
}
|
|
233
241
|
async activateFunded(p) {
|
|
234
|
-
const hypeValue = p.hypeValue ?? await this.publicClient.readContract({
|
|
235
|
-
address: this.addresses.vault,
|
|
236
|
-
abi: mainVaultAbi,
|
|
237
|
-
functionName: "hypeForSpot",
|
|
238
|
-
});
|
|
239
242
|
return this.write({
|
|
240
243
|
address: this.addresses.vault,
|
|
241
244
|
abi: mainVaultAbi,
|
|
242
245
|
functionName: "activateFunded",
|
|
243
246
|
args: [p.trader, p.accountSize, p.drawdownBps, p.dailyDrawdownEnabled],
|
|
244
|
-
value: hypeValue,
|
|
245
247
|
});
|
|
246
248
|
}
|
|
247
249
|
// ── ADMIN ───────────────────────────────────────────
|
|
@@ -283,14 +285,28 @@ export class VaultModule {
|
|
|
283
285
|
args: [addr],
|
|
284
286
|
});
|
|
285
287
|
}
|
|
286
|
-
async
|
|
288
|
+
async queueFactoryChange(addr) {
|
|
287
289
|
return this.write({
|
|
288
290
|
address: this.addresses.vault,
|
|
289
291
|
abi: mainVaultAbi,
|
|
290
|
-
functionName: "
|
|
292
|
+
functionName: "queueFactoryChange",
|
|
291
293
|
args: [addr],
|
|
292
294
|
});
|
|
293
295
|
}
|
|
296
|
+
async executeFactoryChange() {
|
|
297
|
+
return this.write({
|
|
298
|
+
address: this.addresses.vault,
|
|
299
|
+
abi: mainVaultAbi,
|
|
300
|
+
functionName: "executeFactoryChange",
|
|
301
|
+
});
|
|
302
|
+
}
|
|
303
|
+
async cancelFactoryChange() {
|
|
304
|
+
return this.write({
|
|
305
|
+
address: this.addresses.vault,
|
|
306
|
+
abi: mainVaultAbi,
|
|
307
|
+
functionName: "cancelFactoryChange",
|
|
308
|
+
});
|
|
309
|
+
}
|
|
294
310
|
async setProtocolFeeReceiver(addr) {
|
|
295
311
|
return this.write({
|
|
296
312
|
address: this.addresses.vault,
|
|
@@ -426,4 +442,13 @@ export class VaultModule {
|
|
|
426
442
|
args: [value],
|
|
427
443
|
});
|
|
428
444
|
}
|
|
445
|
+
async withdrawHype(amount) {
|
|
446
|
+
return this.write({
|
|
447
|
+
address: this.addresses.vault,
|
|
448
|
+
abi: mainVaultAbi,
|
|
449
|
+
functionName: "withdrawHype",
|
|
450
|
+
args: [amount],
|
|
451
|
+
});
|
|
452
|
+
}
|
|
429
453
|
}
|
|
454
|
+
//# sourceMappingURL=vault.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vault.js","sourceRoot":"","sources":["../src/vault.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,18 +1,29 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kehtus/proportion-sdk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
|
+
"description": "TypeScript SDK for Proportion Protocol on Hyperliquid",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"author": "Kehtus",
|
|
4
7
|
"type": "module",
|
|
8
|
+
"sideEffects": false,
|
|
5
9
|
"main": "dist/index.js",
|
|
6
10
|
"types": "dist/index.d.ts",
|
|
11
|
+
"files": [
|
|
12
|
+
"dist"
|
|
13
|
+
],
|
|
7
14
|
"exports": {
|
|
8
15
|
".": {
|
|
9
16
|
"types": "./dist/index.d.ts",
|
|
10
17
|
"import": "./dist/index.js"
|
|
11
18
|
}
|
|
12
19
|
},
|
|
20
|
+
"engines": {
|
|
21
|
+
"node": ">=18"
|
|
22
|
+
},
|
|
13
23
|
"scripts": {
|
|
14
24
|
"build": "tsc",
|
|
15
25
|
"check": "tsc --noEmit",
|
|
26
|
+
"prepublishOnly": "npm run build",
|
|
16
27
|
"test": "vitest run --exclude src/__tests__/lifecycle.test.ts",
|
|
17
28
|
"test:unit": "vitest run src/__tests__/utils.test.ts",
|
|
18
29
|
"test:reads": "vitest run src/__tests__/reads.test.ts",
|
package/SDK_IMPROVEMENT_PLAN.md
DELETED
|
@@ -1,197 +0,0 @@
|
|
|
1
|
-
# План улучшения Proportion SDK
|
|
2
|
-
|
|
3
|
-
## Статус после повторной сверки
|
|
4
|
-
|
|
5
|
-
Этот документ обновлён после повторной проверки against:
|
|
6
|
-
|
|
7
|
-
- `contracts/MainVault.sol`
|
|
8
|
-
- `contracts/FundedAccount.sol`
|
|
9
|
-
- `contracts/FundedAccountFactory.sol`
|
|
10
|
-
- `prop-sdk/src/*`
|
|
11
|
-
- критичные indexer-файлы `envio-funded/schema.graphql` и `envio-funded/src/EventHandlers.ts`
|
|
12
|
-
|
|
13
|
-
Если этот план и Solidity расходятся, Solidity остаётся source of truth.
|
|
14
|
-
|
|
15
|
-
## Что уже закрыто
|
|
16
|
-
|
|
17
|
-
### Контрактная синхронизация
|
|
18
|
-
|
|
19
|
-
- ABI в SDK синхронизированы с текущими локальными контрактами.
|
|
20
|
-
- Формулы `activationFee`, `subscriptionFee`, `splitProfit`, `trailingFloor`, `dailyFloor` приведены к актуальной Solidity-логике.
|
|
21
|
-
- `arch.md` обновлён и теперь описывает текущий surface SDK, а не старую версию контрактов.
|
|
22
|
-
|
|
23
|
-
### VaultModule
|
|
24
|
-
|
|
25
|
-
- Добавлены admin setters для текущих mutable параметров vault:
|
|
26
|
-
- `setFeeMultiplier`
|
|
27
|
-
- `setSubscriptionFeeMultiplier`
|
|
28
|
-
- `setHypeForSpot`
|
|
29
|
-
- `setMaxCap`
|
|
30
|
-
- `setMinBuilderShares`
|
|
31
|
-
- `setBuilderLeverage`
|
|
32
|
-
- `setProtocolFeeBps`
|
|
33
|
-
- `setMinAccountSize`
|
|
34
|
-
- `setMaxAccountSize`
|
|
35
|
-
- `setMinDrawdownBps`
|
|
36
|
-
- `setMaxDrawdownBps`
|
|
37
|
-
- `setMaxUtilizationBps`
|
|
38
|
-
- `setMaxSingleAccountBps`
|
|
39
|
-
- `getStats()` расширен и читает текущий конфиг и runtime state vault.
|
|
40
|
-
- Добавлены utility getters:
|
|
41
|
-
- `isFundedAccount`
|
|
42
|
-
- `getDelegateBuilder`
|
|
43
|
-
- `getRemainingCap`
|
|
44
|
-
- `activateFunded()` больше не полагается на stale native fee default и читает `hypeForSpot()` из vault.
|
|
45
|
-
|
|
46
|
-
### AccountModule
|
|
47
|
-
|
|
48
|
-
- Добавлен `initiateCloseAdmin`.
|
|
49
|
-
- Добавлен `getAccountConfig()`.
|
|
50
|
-
- `getDetails()` теперь возвращает `subscriptionFeeMultiplier`, `checkpointIndex` и нормализованные checkpoints вместо сырого ring-buffer порядка.
|
|
51
|
-
- Текущий write surface выровнен с локальным `FundedAccount.sol`.
|
|
52
|
-
|
|
53
|
-
### FactoryModule
|
|
54
|
-
|
|
55
|
-
- SDK переведён на реальный on-chain surface новой фабрики:
|
|
56
|
-
- `allAccounts(index)`
|
|
57
|
-
- `allAccountsIndex(account)`
|
|
58
|
-
- `traderBuilderNonce(owner, builder)`
|
|
59
|
-
- `predictFundedAccountAddress(owner, builder)`
|
|
60
|
-
- Сохранены совместимые helper-методы `getAccountsCount()` и `getAccounts()`, но теперь они реализованы поверх probing `allAccounts(index)`.
|
|
61
|
-
- Добавлены safe helpers:
|
|
62
|
-
- `hasAccount`
|
|
63
|
-
- `findAccountIndex`
|
|
64
|
-
|
|
65
|
-
### Indexer Layer
|
|
66
|
-
|
|
67
|
-
- GraphQL-типы приведены к реальной `schema.graphql`.
|
|
68
|
-
- Разделены on-chain state labels и indexer state labels.
|
|
69
|
-
- Учтён `POSITION_LEVERAGE`.
|
|
70
|
-
- Учтены дополнительные индексируемые поля вроде `subscriptionFeeMultiplier`, `lastWithdrawalId`, `totalAllocated`, `totalShares`.
|
|
71
|
-
- Vault analytics больше не должны опираться на жёстко зашитый 90/10 split: актуальны `protocolFeeReceiver`, mutable `PROTOCOL_FEE_BPS` и фактический amount, остающийся в vault.
|
|
72
|
-
- Для service/backend use cases добавлена инъекция `fetchFn` и `webSocketCtor`, чтобы SDK не зависел жёстко от глобальных runtime объектов.
|
|
73
|
-
|
|
74
|
-
## Что в старом плане устарело
|
|
75
|
-
|
|
76
|
-
### Устаревшие статусы
|
|
77
|
-
|
|
78
|
-
Следующие пункты были верны для прошлой версии SDK, но уже закрыты:
|
|
79
|
-
|
|
80
|
-
- отсутствие `initiateCloseAdmin`
|
|
81
|
-
- отсутствие `getAccountConfig`
|
|
82
|
-
- отсутствие большинства admin setters в `VaultModule`
|
|
83
|
-
- неполный `VaultStats`
|
|
84
|
-
- отсутствие `isFundedAccount` и `getDelegateBuilder`
|
|
85
|
-
|
|
86
|
-
### Устаревшие константы
|
|
87
|
-
|
|
88
|
-
В старом плане были значения, которые больше не совпадают с текущими контрактами:
|
|
89
|
-
|
|
90
|
-
- `MIN_PROFIT_BPS` указан как `150`, но в текущем `FundedAccount.sol` он равен `50`
|
|
91
|
-
- важные экспортируемые значения нужно сверять с локальной Solidity, а не со старым plan draft
|
|
92
|
-
|
|
93
|
-
### Необязательная рекомендация про отдельный `AdminModule`
|
|
94
|
-
|
|
95
|
-
Идея отдельного `AdminModule` сама по себе нормальная, но сейчас это не must-have.
|
|
96
|
-
Текущий `VaultModule` уже покрывает актуальный owner admin surface без архитектурного долга, который требовал бы срочного выделения нового модуля.
|
|
97
|
-
|
|
98
|
-
## Что остаётся актуальным
|
|
99
|
-
|
|
100
|
-
### Phase 2. Улучшения API и DX
|
|
101
|
-
|
|
102
|
-
1. Выровнять числовую модель SDK для service use cases.
|
|
103
|
-
Сейчас часть helper-ов (`fromUsdc`, `from8Dec`, `formatUsd`) переводит `bigint` в `number`, что удобно для UI, но не идеально для финансовой серверной логики.
|
|
104
|
-
|
|
105
|
-
2. Выровнять timestamp-модель.
|
|
106
|
-
Сейчас часть временных полей в `AccountDetails` хранится как `bigint`, часть как `number`. Лучше выбрать одну ясную стратегию API.
|
|
107
|
-
|
|
108
|
-
3. Добавить типы для параметризуемого admin-конфига.
|
|
109
|
-
Практичный следующий шаг:
|
|
110
|
-
|
|
111
|
-
```ts
|
|
112
|
-
export interface VaultParameters {
|
|
113
|
-
feeMultiplier: number;
|
|
114
|
-
subscriptionFeeMultiplier: number;
|
|
115
|
-
minBuilderShares: bigint;
|
|
116
|
-
builderLeverage: bigint;
|
|
117
|
-
protocolFeeBps: bigint;
|
|
118
|
-
minAccountSize: bigint;
|
|
119
|
-
maxAccountSize: bigint;
|
|
120
|
-
minDrawdownBps: number;
|
|
121
|
-
maxDrawdownBps: number;
|
|
122
|
-
maxUtilizationBps: bigint;
|
|
123
|
-
maxSingleAccountBps: bigint;
|
|
124
|
-
hypeForSpot: bigint;
|
|
125
|
-
maxCap: bigint;
|
|
126
|
-
}
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
4. Добавить validation helpers поверх текущего `VaultStats`.
|
|
130
|
-
Это уже полезный SDK-level слой, который не зависит от деплоя:
|
|
131
|
-
|
|
132
|
-
```ts
|
|
133
|
-
export function validateAccountSize(size: bigint, vaultStats: VaultStats): {
|
|
134
|
-
valid: boolean;
|
|
135
|
-
reason?: string;
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
export function validateDrawdownBps(bps: number, vaultStats: VaultStats): {
|
|
139
|
-
valid: boolean;
|
|
140
|
-
reason?: string;
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
export function canBuilderActivate(
|
|
144
|
-
builderInfo: BuilderInfo,
|
|
145
|
-
accountSize: bigint,
|
|
146
|
-
vaultStats: VaultStats
|
|
147
|
-
): {
|
|
148
|
-
canActivate: boolean;
|
|
149
|
-
reason?: string;
|
|
150
|
-
}
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
### Phase 3. Дополнительные helper-обёртки
|
|
154
|
-
|
|
155
|
-
1. Batch reads:
|
|
156
|
-
|
|
157
|
-
```ts
|
|
158
|
-
async getMultipleLPPositions(addresses: Address[]): Promise<LPPosition[]>
|
|
159
|
-
async getMultipleBuilderInfo(addresses: Address[]): Promise<BuilderInfo[]>
|
|
160
|
-
async getMultipleAccountDetails(addresses: Address[]): Promise<AccountDetails[]>
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
2. Дополнительные indexer helpers:
|
|
164
|
-
|
|
165
|
-
```ts
|
|
166
|
-
async getEventsByDateRange(
|
|
167
|
-
accountAddress: Address,
|
|
168
|
-
fromDate: Date,
|
|
169
|
-
toDate: Date
|
|
170
|
-
): Promise<GqlAccountEvent[]>
|
|
171
|
-
|
|
172
|
-
async getCheckpointHistory(
|
|
173
|
-
accountAddress: Address,
|
|
174
|
-
limit?: number
|
|
175
|
-
): Promise<GqlCheckpoint[]>
|
|
176
|
-
```
|
|
177
|
-
|
|
178
|
-
3. Higher-level admin ergonomics:
|
|
179
|
-
|
|
180
|
-
- `getCurrentParameters()`
|
|
181
|
-
- `validateParameters()`
|
|
182
|
-
- опциональный bulk-update helper для owner workflows
|
|
183
|
-
|
|
184
|
-
## Рекомендуемый следующий порядок работ
|
|
185
|
-
|
|
186
|
-
1. Сначала привести numeric/timestamp API к более строгой и единообразной модели.
|
|
187
|
-
2. Затем добавить validation helpers поверх уже актуального `VaultStats`.
|
|
188
|
-
3. После этого расширять batch helpers и high-level admin ergonomics.
|
|
189
|
-
|
|
190
|
-
## Проверка
|
|
191
|
-
|
|
192
|
-
После последних изменений:
|
|
193
|
-
|
|
194
|
-
- `npm run check` проходит
|
|
195
|
-
- `npm run test:unit` проходит
|
|
196
|
-
|
|
197
|
-
RPC/GraphQL-зависимые тесты не считаются источником истины, пока локальные контракты не задеплоены.
|