@augustdigital/sdk 4.2.0-alpha → 4.2.0-beta
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/lib/__tests__/adapter.e2e.test.d.ts +1 -0
- package/lib/__tests__/adapter.e2e.test.js +94 -0
- package/lib/__tests__/adapter.e2e.test.js.map +1 -0
- package/lib/abis/PoolAdapter.d.ts +36 -76
- package/lib/abis/PoolAdapter.js +18 -379
- package/lib/abis/PoolAdapter.js.map +1 -1
- package/lib/abis/WrapperAdapter.d.ts +71 -60
- package/lib/abis/WrapperAdapter.js +41 -114
- package/lib/abis/WrapperAdapter.js.map +1 -1
- package/lib/abis/index.d.ts +3 -0
- package/lib/abis/index.js +3 -0
- package/lib/abis/index.js.map +1 -1
- package/lib/adapters/evm/getters.d.ts +1 -1
- package/lib/adapters/evm/getters.js +21 -22
- package/lib/adapters/evm/getters.js.map +1 -1
- package/lib/adapters/solana/getters.js +8 -10
- package/lib/adapters/solana/getters.js.map +1 -1
- package/lib/adapters/solana/index.d.ts +25 -1
- package/lib/adapters/solana/utils.d.ts +13 -1
- package/lib/adapters/solana/utils.js +72 -17
- package/lib/adapters/solana/utils.js.map +1 -1
- package/lib/adapters/sui/constants.d.ts +13 -0
- package/lib/adapters/sui/constants.js +17 -0
- package/lib/adapters/sui/constants.js.map +1 -0
- package/lib/adapters/sui/getters.d.ts +3 -0
- package/lib/adapters/sui/getters.js +53 -0
- package/lib/adapters/sui/getters.js.map +1 -0
- package/lib/adapters/sui/index.d.ts +30 -0
- package/lib/adapters/sui/index.js +83 -0
- package/lib/adapters/sui/index.js.map +1 -1
- package/lib/adapters/sui/transformer.d.ts +4 -0
- package/lib/adapters/sui/transformer.js +97 -0
- package/lib/adapters/sui/transformer.js.map +1 -0
- package/lib/adapters/sui/types.d.ts +62 -0
- package/lib/adapters/sui/types.js +3 -0
- package/lib/adapters/sui/types.js.map +1 -0
- package/lib/adapters/sui/utils.d.ts +4 -0
- package/lib/adapters/sui/utils.js +27 -0
- package/lib/adapters/sui/utils.js.map +1 -0
- package/lib/core/auth/verify.js +2 -2
- package/lib/core/auth/verify.js.map +1 -1
- package/lib/core/constants.adapters.d.ts +89 -0
- package/lib/core/constants.adapters.js +160 -0
- package/lib/core/constants.adapters.js.map +1 -0
- package/lib/core/constants.core.d.ts +66 -0
- package/lib/core/constants.core.js +70 -0
- package/lib/core/constants.core.js.map +1 -0
- package/lib/core/constants.vaults.d.ts +19 -0
- package/lib/core/constants.vaults.js +132 -0
- package/lib/core/constants.vaults.js.map +1 -0
- package/lib/core/constants.web3.d.ts +30 -0
- package/lib/core/constants.web3.js +95 -0
- package/lib/core/constants.web3.js.map +1 -0
- package/lib/core/fetcher.d.ts +1 -1
- package/lib/core/fetcher.js +93 -79
- package/lib/core/fetcher.js.map +1 -1
- package/lib/core/helpers.adapters.d.ts +4 -0
- package/lib/core/helpers.adapters.js +28 -0
- package/lib/core/helpers.adapters.js.map +1 -0
- package/lib/core/helpers.core.d.ts +23 -0
- package/lib/core/helpers.core.js +210 -0
- package/lib/core/helpers.core.js.map +1 -0
- package/lib/core/helpers.vaults.d.ts +15 -0
- package/lib/core/helpers.vaults.js +123 -0
- package/lib/core/helpers.vaults.js.map +1 -0
- package/lib/core/helpers.web3.d.ts +29 -0
- package/lib/core/helpers.web3.js +365 -0
- package/lib/core/helpers.web3.js.map +1 -0
- package/lib/core/index.d.ts +8 -3
- package/lib/core/index.js +8 -3
- package/lib/core/index.js.map +1 -1
- package/lib/core/logger/slack.js +3 -3
- package/lib/core/vault.utils.d.ts +4 -0
- package/lib/core/vault.utils.js +35 -0
- package/lib/core/vault.utils.js.map +1 -0
- package/lib/core/web3.helpers.d.ts +1 -0
- package/lib/core/web3.helpers.js +32 -3
- package/lib/core/web3.helpers.js.map +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.js +10 -2
- package/lib/index.js.map +1 -1
- package/lib/main.d.ts +10 -2
- package/lib/main.js +6 -1
- package/lib/main.js.map +1 -1
- package/lib/modules/vaults/adapter.helpers.d.ts +46 -0
- package/lib/modules/vaults/adapter.helpers.js +149 -0
- package/lib/modules/vaults/adapter.helpers.js.map +1 -0
- package/lib/modules/vaults/constants.d.ts +7 -7
- package/lib/modules/vaults/constants.js +9 -15
- package/lib/modules/vaults/constants.js.map +1 -1
- package/lib/modules/vaults/fetcher.js +1 -1
- package/lib/modules/vaults/fetcher.js.map +1 -1
- package/lib/modules/vaults/getters.d.ts +22 -2
- package/lib/modules/vaults/getters.js +269 -72
- package/lib/modules/vaults/getters.js.map +1 -1
- package/lib/modules/vaults/index.d.ts +1 -1
- package/lib/modules/vaults/index.js +1 -1
- package/lib/modules/vaults/index.js.map +1 -1
- package/lib/modules/vaults/main.d.ts +9 -4
- package/lib/modules/vaults/main.js +49 -12
- package/lib/modules/vaults/main.js.map +1 -1
- package/lib/modules/vaults/utils.d.ts +1 -4
- package/lib/modules/vaults/utils.js +42 -51
- package/lib/modules/vaults/utils.js.map +1 -1
- package/lib/modules/vaults/write.actions.d.ts +3 -0
- package/lib/modules/vaults/write.actions.js +174 -26
- package/lib/modules/vaults/write.actions.js.map +1 -1
- package/lib/services/debank/utils.js +4 -4
- package/lib/services/subgraph/fetcher.js +3 -2
- package/lib/services/subgraph/fetcher.js.map +1 -1
- package/lib/services/subgraph/vaults.js +25 -27
- package/lib/services/subgraph/vaults.js.map +1 -1
- package/lib/types/vaults.d.ts +15 -1
- package/package.json +2 -1
|
@@ -42,7 +42,7 @@ declare function getVaultMints({ vaultProgramId, connection, idl, }: {
|
|
|
42
42
|
depositMint: string;
|
|
43
43
|
shareMint: string;
|
|
44
44
|
}>;
|
|
45
|
-
declare function getToken({ mintAddress, endpoint, }: {
|
|
45
|
+
declare function getToken({ mintAddress, endpoint, connection, }: {
|
|
46
46
|
mintAddress: string | PublicKey;
|
|
47
47
|
} & ISolanaConnectionOptions): Promise<{
|
|
48
48
|
address: any;
|
|
@@ -54,6 +54,18 @@ declare function getToken({ mintAddress, endpoint, }: {
|
|
|
54
54
|
mintAuthority: any;
|
|
55
55
|
freezeAuthority: any;
|
|
56
56
|
supply: any;
|
|
57
|
+
shareMintAddress?: undefined;
|
|
58
|
+
} | {
|
|
59
|
+
address: string;
|
|
60
|
+
symbol: any;
|
|
61
|
+
decimals: number;
|
|
62
|
+
name: any;
|
|
63
|
+
image: any;
|
|
64
|
+
program: any;
|
|
65
|
+
mintAuthority: any;
|
|
66
|
+
freezeAuthority: any;
|
|
67
|
+
supply: string;
|
|
68
|
+
shareMintAddress: string;
|
|
57
69
|
}>;
|
|
58
70
|
declare function getTokenSymbol({ endpoint, mintAddress, }: {
|
|
59
71
|
mintAddress: string | PublicKey;
|
|
@@ -14,7 +14,13 @@ function isSolanaAddress(address) {
|
|
|
14
14
|
return false;
|
|
15
15
|
if ((0, ethers_1.isAddress)(address))
|
|
16
16
|
return false;
|
|
17
|
-
|
|
17
|
+
try {
|
|
18
|
+
const pk = new web3_js_1.PublicKey(address);
|
|
19
|
+
return web3_js_1.PublicKey.isOnCurve(pk.toBytes());
|
|
20
|
+
}
|
|
21
|
+
catch (_e) {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
18
24
|
}
|
|
19
25
|
function isSolana(signature) {
|
|
20
26
|
if (!signature || typeof signature !== 'string')
|
|
@@ -93,21 +99,21 @@ function deriveVaultStatePda(vaultProgramId) {
|
|
|
93
99
|
if (!vaultProgramId)
|
|
94
100
|
throw new Error('Vault program ID missing');
|
|
95
101
|
const _vaultProgramId = new web3_js_1.PublicKey(vaultProgramId);
|
|
96
|
-
const [pda] = web3_js_1.PublicKey.findProgramAddressSync([
|
|
102
|
+
const [pda] = web3_js_1.PublicKey.findProgramAddressSync([new TextEncoder().encode('VAULT_STATE')], _vaultProgramId);
|
|
97
103
|
return pda;
|
|
98
104
|
}
|
|
99
105
|
function deriveShareMintPda(vaultProgramId) {
|
|
100
106
|
if (!vaultProgramId)
|
|
101
107
|
throw new Error('Vault program ID missing');
|
|
102
108
|
const _vaultProgramId = new web3_js_1.PublicKey(vaultProgramId);
|
|
103
|
-
const [pda] = web3_js_1.PublicKey.findProgramAddressSync([
|
|
109
|
+
const [pda] = web3_js_1.PublicKey.findProgramAddressSync([new TextEncoder().encode('mint')], _vaultProgramId);
|
|
104
110
|
return pda;
|
|
105
111
|
}
|
|
106
112
|
function deriveVaultTokenAtaPda(vaultProgramId, depositMint) {
|
|
107
113
|
if (!(vaultProgramId && depositMint))
|
|
108
114
|
throw new Error('Vault program ID or deposit mint missing');
|
|
109
115
|
const _vaultProgramId = new web3_js_1.PublicKey(vaultProgramId);
|
|
110
|
-
const [pda] = web3_js_1.PublicKey.findProgramAddressSync([
|
|
116
|
+
const [pda] = web3_js_1.PublicKey.findProgramAddressSync([new TextEncoder().encode('token_vault'), depositMint.toBuffer()], _vaultProgramId);
|
|
111
117
|
return pda;
|
|
112
118
|
}
|
|
113
119
|
async function getVaultState({ provider, connection, vaultProgramId, idl, }) {
|
|
@@ -258,7 +264,7 @@ async function getVaultMints({ vaultProgramId, connection, idl, }) {
|
|
|
258
264
|
};
|
|
259
265
|
}
|
|
260
266
|
}
|
|
261
|
-
async function getToken({ mintAddress, endpoint, }) {
|
|
267
|
+
async function getToken({ mintAddress, endpoint, connection, }) {
|
|
262
268
|
try {
|
|
263
269
|
const response = await fetch(endpoint, {
|
|
264
270
|
method: 'POST',
|
|
@@ -273,20 +279,69 @@ async function getToken({ mintAddress, endpoint, }) {
|
|
|
273
279
|
}),
|
|
274
280
|
});
|
|
275
281
|
const data = (await response.json());
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
282
|
+
if (data.result?.token_info?.decimals !== undefined) {
|
|
283
|
+
return {
|
|
284
|
+
address: data?.result?.id,
|
|
285
|
+
symbol: data.result?.content?.metadata?.symbol || 'N/A',
|
|
286
|
+
decimals: data.result?.token_info?.decimals,
|
|
287
|
+
name: data.result?.content?.metadata?.name || 'Unknown',
|
|
288
|
+
image: data.result?.content.metadata?.image,
|
|
289
|
+
program: data.result?.token_info?.token_program,
|
|
290
|
+
mintAuthority: data.result?.token_info?.mint_authority,
|
|
291
|
+
freezeAuthority: data.result?.token_info?.freeze_authority,
|
|
292
|
+
supply: data.result?.token_info?.supply,
|
|
293
|
+
};
|
|
294
|
+
}
|
|
295
|
+
if (connection) {
|
|
296
|
+
try {
|
|
297
|
+
const vaultProgramId = new web3_js_1.PublicKey(mintAddress);
|
|
298
|
+
const vaultState = await getVaultStateReadOnly({
|
|
299
|
+
vaultProgramId,
|
|
300
|
+
connection,
|
|
301
|
+
idl: constants_1.vaultIdl,
|
|
302
|
+
});
|
|
303
|
+
if (vaultState.vaultState) {
|
|
304
|
+
const shareMintPda = deriveShareMintPda(vaultProgramId);
|
|
305
|
+
const shareMintInfo = await connection.getParsedAccountInfo(shareMintPda);
|
|
306
|
+
if (shareMintInfo.value) {
|
|
307
|
+
const parsedData = shareMintInfo.value.data;
|
|
308
|
+
const shareMintMetadata = await fetch(endpoint, {
|
|
309
|
+
method: 'POST',
|
|
310
|
+
headers: {
|
|
311
|
+
'Content-Type': 'application/json',
|
|
312
|
+
},
|
|
313
|
+
body: JSON.stringify({
|
|
314
|
+
jsonrpc: '2.0',
|
|
315
|
+
id: 'text',
|
|
316
|
+
method: 'getAsset',
|
|
317
|
+
params: { id: shareMintPda.toString() },
|
|
318
|
+
}),
|
|
319
|
+
});
|
|
320
|
+
const shareMintData = (await shareMintMetadata.json());
|
|
321
|
+
return {
|
|
322
|
+
address: mintAddress.toString(),
|
|
323
|
+
symbol: shareMintData.result?.content?.metadata?.symbol || 'N/A',
|
|
324
|
+
decimals: parsedData.parsed.info.decimals,
|
|
325
|
+
name: shareMintData.result?.content?.metadata?.name ||
|
|
326
|
+
'Vault Share Token',
|
|
327
|
+
image: shareMintData.result?.content?.metadata?.image,
|
|
328
|
+
program: shareMintData.result?.token_info?.token_program,
|
|
329
|
+
mintAuthority: shareMintData.result?.token_info?.mint_authority,
|
|
330
|
+
freezeAuthority: shareMintData.result?.token_info?.freeze_authority,
|
|
331
|
+
supply: parsedData.parsed.info.supply,
|
|
332
|
+
shareMintAddress: shareMintPda.toString(),
|
|
333
|
+
};
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
catch (vaultError) {
|
|
338
|
+
console.log('Not a vault program or error querying vault:', vaultError);
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
return null;
|
|
287
342
|
}
|
|
288
343
|
catch (error) {
|
|
289
|
-
console.error('Error fetching token
|
|
344
|
+
console.error('Error fetching token metadata:', error);
|
|
290
345
|
return null;
|
|
291
346
|
}
|
|
292
347
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src.ts/adapters/solana/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src.ts/adapters/solana/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const SUI_CHAIN_ID = 101;
|
|
2
|
+
export declare const EMBER_API_BASE_URL = "https://vaults.api.sui-prod.bluefin.io/api/v1/vaults";
|
|
3
|
+
export declare const EMBER_ENDPOINTS: {
|
|
4
|
+
readonly VAULTS: "/";
|
|
5
|
+
readonly TVL: "/tvl-history";
|
|
6
|
+
};
|
|
7
|
+
export declare const EMBER_DEFAULTS: {
|
|
8
|
+
readonly DECIMALS: 18;
|
|
9
|
+
readonly USD_DECIMALS: 6;
|
|
10
|
+
readonly E9_DIVISOR: 1000000000;
|
|
11
|
+
readonly BPS_TO_PERCENT: 100;
|
|
12
|
+
readonly VERSION: "sui-0";
|
|
13
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EMBER_DEFAULTS = exports.EMBER_ENDPOINTS = exports.EMBER_API_BASE_URL = exports.SUI_CHAIN_ID = void 0;
|
|
4
|
+
exports.SUI_CHAIN_ID = 101;
|
|
5
|
+
exports.EMBER_API_BASE_URL = 'https://vaults.api.sui-prod.bluefin.io/api/v1/vaults';
|
|
6
|
+
exports.EMBER_ENDPOINTS = {
|
|
7
|
+
VAULTS: '/',
|
|
8
|
+
TVL: '/tvl-history',
|
|
9
|
+
};
|
|
10
|
+
exports.EMBER_DEFAULTS = {
|
|
11
|
+
DECIMALS: 18,
|
|
12
|
+
USD_DECIMALS: 6,
|
|
13
|
+
E9_DIVISOR: 1e9,
|
|
14
|
+
BPS_TO_PERCENT: 100,
|
|
15
|
+
VERSION: 'sui-0',
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src.ts/adapters/sui/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG,GAAG,CAAC;AAEnB,QAAA,kBAAkB,GAC7B,sDAAsD,CAAC;AAE5C,QAAA,eAAe,GAAG;IAC7B,MAAM,EAAE,GAAG;IACX,GAAG,EAAE,cAAc;CACX,CAAC;AAEE,QAAA,cAAc,GAAG;IAC5B,QAAQ,EAAE,EAAE;IACZ,YAAY,EAAE,CAAC;IACf,UAAU,EAAE,GAAG;IACf,cAAc,EAAE,GAAG;IACnB,OAAO,EAAE,OAAO;CACR,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getEmberVaults = getEmberVaults;
|
|
4
|
+
exports.getEmberTVL = getEmberTVL;
|
|
5
|
+
const constants_1 = require("./constants");
|
|
6
|
+
const core_1 = require("../../core");
|
|
7
|
+
async function getEmberVaults(options) {
|
|
8
|
+
try {
|
|
9
|
+
const params = new URLSearchParams();
|
|
10
|
+
if (options?.limit)
|
|
11
|
+
params.append('limit', options.limit.toString());
|
|
12
|
+
if (options?.offset)
|
|
13
|
+
params.append('offset', options.offset.toString());
|
|
14
|
+
if (options?.status)
|
|
15
|
+
params.append('status', options.status);
|
|
16
|
+
const queryString = params.toString();
|
|
17
|
+
const url = `${constants_1.EMBER_API_BASE_URL}${queryString ? `?${queryString}` : ''}`;
|
|
18
|
+
const response = await fetch(url, core_1.DEFAULT_FETCH_OPTIONS);
|
|
19
|
+
if (!response.ok) {
|
|
20
|
+
throw new Error(`HTTP error! status: ${response.status}`);
|
|
21
|
+
}
|
|
22
|
+
const data = await response.json();
|
|
23
|
+
return Array.isArray(data) ? data : [];
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
console.error('Error fetching Ember vaults:', error);
|
|
27
|
+
return [];
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
async function getEmberTVL(limit = 1) {
|
|
31
|
+
try {
|
|
32
|
+
const params = new URLSearchParams();
|
|
33
|
+
if (limit)
|
|
34
|
+
params.append('limit', limit.toString());
|
|
35
|
+
const queryString = params.toString();
|
|
36
|
+
const url = `${constants_1.EMBER_API_BASE_URL}${constants_1.EMBER_ENDPOINTS.TVL}${queryString ? `?${queryString}` : ''}`;
|
|
37
|
+
const response = await fetch(url, core_1.DEFAULT_FETCH_OPTIONS);
|
|
38
|
+
if (!response.ok) {
|
|
39
|
+
throw new Error(`HTTP error! status: ${response.status}`);
|
|
40
|
+
}
|
|
41
|
+
const result = await response.json();
|
|
42
|
+
if (Array.isArray(result) && result.length > 0) {
|
|
43
|
+
const latestEntry = result[0];
|
|
44
|
+
return Number(latestEntry.tvlE9) / constants_1.EMBER_DEFAULTS.E9_DIVISOR;
|
|
45
|
+
}
|
|
46
|
+
return 0;
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
console.error('Error fetching Ember TVL:', error);
|
|
50
|
+
return 0;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=getters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getters.js","sourceRoot":"","sources":["../../../src.ts/adapters/sui/getters.ts"],"names":[],"mappings":";;AAWA,wCAyBC;AAKD,kCA0BC;AAlED,2CAIqB;AACrB,qCAAmD;AAK5C,KAAK,UAAU,cAAc,CAClC,OAAkC;IAElC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QAErC,IAAI,OAAO,EAAE,KAAK;YAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrE,IAAI,OAAO,EAAE,MAAM;YAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxE,IAAI,OAAO,EAAE,MAAM;YAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAE7D,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,GAAG,8BAAkB,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAE3E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,4BAAqB,CAAC,CAAC;QAEzD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,IAAI,GAAkB,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAClD,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;QACrD,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAKM,KAAK,UAAU,WAAW,CAAC,QAAgB,CAAC;IACjD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,KAAK;YAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEpD,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,GAAG,8BAAkB,GAAG,2BAAe,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAEjG,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,4BAAqB,CAAC,CAAC;QAEzD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAErC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/C,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC9B,OAAO,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,0BAAc,CAAC,UAAU,CAAC;QAC/D,CAAC;QAED,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QAClD,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as SuiConstants from './constants';
|
|
2
|
+
import * as SuiGetters from './getters';
|
|
3
|
+
import * as SuiUtils from './utils';
|
|
4
|
+
import { transformEmberVaultToIVault, transformEmberVaultsToIVaults } from './transformer';
|
|
5
|
+
import { IEmberVault, IFetchEmberVaultsOptions } from './types';
|
|
6
|
+
export declare const Sui: {
|
|
7
|
+
utils: typeof SuiUtils;
|
|
8
|
+
constants: typeof SuiConstants;
|
|
9
|
+
getters: typeof SuiGetters;
|
|
10
|
+
transformer: {
|
|
11
|
+
transformEmberVaultToIVault: typeof transformEmberVaultToIVault;
|
|
12
|
+
transformEmberVaultsToIVaults: typeof transformEmberVaultsToIVaults;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
declare class SuiAdapter {
|
|
16
|
+
private _apiBaseUrl;
|
|
17
|
+
private _chainId;
|
|
18
|
+
constructor(apiBaseUrl?: string, chainId?: number);
|
|
19
|
+
get apiBaseUrl(): string;
|
|
20
|
+
get chainId(): number;
|
|
21
|
+
getEmberVaults(options?: IFetchEmberVaultsOptions): Promise<IEmberVault[]>;
|
|
22
|
+
getEmberTVL(limit?: number): Promise<number>;
|
|
23
|
+
convertFromE9(value: string | number): number;
|
|
24
|
+
calculateUtilization(current: string | number, maximum: string | number): number;
|
|
25
|
+
isSuiAddress(address: string): boolean;
|
|
26
|
+
isSuiVault(chainId: number): boolean;
|
|
27
|
+
transformEmberVaultToIVault(emberVault: IEmberVault): import("../..").IVault;
|
|
28
|
+
transformEmberVaultsToIVaults(emberVaults: IEmberVault[]): import("../..").IVault[];
|
|
29
|
+
}
|
|
30
|
+
export default SuiAdapter;
|
|
@@ -1 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.Sui = void 0;
|
|
37
|
+
const SuiConstants = __importStar(require("./constants"));
|
|
38
|
+
const SuiGetters = __importStar(require("./getters"));
|
|
39
|
+
const SuiUtils = __importStar(require("./utils"));
|
|
40
|
+
const transformer_1 = require("./transformer");
|
|
41
|
+
exports.Sui = {
|
|
42
|
+
utils: SuiUtils,
|
|
43
|
+
constants: SuiConstants,
|
|
44
|
+
getters: SuiGetters,
|
|
45
|
+
transformer: { transformEmberVaultToIVault: transformer_1.transformEmberVaultToIVault, transformEmberVaultsToIVaults: transformer_1.transformEmberVaultsToIVaults },
|
|
46
|
+
};
|
|
47
|
+
class SuiAdapter {
|
|
48
|
+
constructor(apiBaseUrl = SuiConstants.EMBER_API_BASE_URL, chainId = SuiConstants.SUI_CHAIN_ID) {
|
|
49
|
+
this._apiBaseUrl = apiBaseUrl;
|
|
50
|
+
this._chainId = chainId;
|
|
51
|
+
}
|
|
52
|
+
get apiBaseUrl() {
|
|
53
|
+
return this._apiBaseUrl;
|
|
54
|
+
}
|
|
55
|
+
get chainId() {
|
|
56
|
+
return this._chainId;
|
|
57
|
+
}
|
|
58
|
+
async getEmberVaults(options) {
|
|
59
|
+
return await SuiGetters.getEmberVaults(options);
|
|
60
|
+
}
|
|
61
|
+
async getEmberTVL(limit = 1) {
|
|
62
|
+
return await SuiGetters.getEmberTVL(limit);
|
|
63
|
+
}
|
|
64
|
+
convertFromE9(value) {
|
|
65
|
+
return SuiUtils.convertFromE9(value);
|
|
66
|
+
}
|
|
67
|
+
calculateUtilization(current, maximum) {
|
|
68
|
+
return SuiUtils.calculateUtilization(current, maximum);
|
|
69
|
+
}
|
|
70
|
+
isSuiAddress(address) {
|
|
71
|
+
return SuiUtils.isSuiAddress(address);
|
|
72
|
+
}
|
|
73
|
+
isSuiVault(chainId) {
|
|
74
|
+
return SuiUtils.isSuiVault(chainId);
|
|
75
|
+
}
|
|
76
|
+
transformEmberVaultToIVault(emberVault) {
|
|
77
|
+
return (0, transformer_1.transformEmberVaultToIVault)(emberVault);
|
|
78
|
+
}
|
|
79
|
+
transformEmberVaultsToIVaults(emberVaults) {
|
|
80
|
+
return (0, transformer_1.transformEmberVaultsToIVaults)(emberVaults);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
exports.default = SuiAdapter;
|
|
1
84
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src.ts/adapters/sui/index.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src.ts/adapters/sui/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4C;AAC5C,sDAAwC;AACxC,kDAAoC;AACpC,+CAGuB;AAGV,QAAA,GAAG,GAAG;IACjB,KAAK,EAAE,QAAQ;IACf,SAAS,EAAE,YAAY;IACvB,OAAO,EAAE,UAAU;IACnB,WAAW,EAAE,EAAE,2BAA2B,EAA3B,yCAA2B,EAAE,6BAA6B,EAA7B,2CAA6B,EAAE;CAC5E,CAAC;AAEF,MAAM,UAAU;IAId,YACE,aAAqB,YAAY,CAAC,kBAAkB,EACpD,UAAkB,YAAY,CAAC,YAAY;QAE3C,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,OAAkC;QAElC,OAAO,MAAM,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAgB,CAAC;QACjC,OAAO,MAAM,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,aAAa,CAAC,KAAsB;QAClC,OAAO,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,oBAAoB,CAClB,OAAwB,EACxB,OAAwB;QAExB,OAAO,QAAQ,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAED,YAAY,CAAC,OAAe;QAC1B,OAAO,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,UAAU,CAAC,OAAe;QACxB,OAAO,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,2BAA2B,CAAC,UAAuB;QACjD,OAAO,IAAA,yCAA2B,EAAC,UAAU,CAAC,CAAC;IACjD,CAAC;IAED,6BAA6B,CAAC,WAA0B;QACtD,OAAO,IAAA,2CAA6B,EAAC,WAAW,CAAC,CAAC;IACpD,CAAC;CACF;AAED,kBAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.transformEmberVaultToIVault = transformEmberVaultToIVault;
|
|
4
|
+
exports.transformEmberVaultsToIVaults = transformEmberVaultsToIVaults;
|
|
5
|
+
const core_1 = require("../../core");
|
|
6
|
+
const constants_1 = require("./constants");
|
|
7
|
+
const utils_1 = require("./utils");
|
|
8
|
+
const ethers_1 = require("ethers");
|
|
9
|
+
function transformEmberVaultToIVault(emberVault) {
|
|
10
|
+
const depositTokenDecimals = emberVault.depositCoin?.decimals || constants_1.EMBER_DEFAULTS.DECIMALS;
|
|
11
|
+
const receiptTokenDecimals = emberVault.receiptCoin?.decimals || constants_1.EMBER_DEFAULTS.DECIMALS;
|
|
12
|
+
return {
|
|
13
|
+
address: emberVault.address,
|
|
14
|
+
name: emberVault.name,
|
|
15
|
+
chainId: constants_1.SUI_CHAIN_ID,
|
|
16
|
+
logoUrl: emberVault.logoUrl || '',
|
|
17
|
+
receipt: {
|
|
18
|
+
address: emberVault.receiptCoin?.address,
|
|
19
|
+
symbol: emberVault.receiptCoin?.symbol || '',
|
|
20
|
+
decimals: receiptTokenDecimals,
|
|
21
|
+
},
|
|
22
|
+
description: emberVault.description || '',
|
|
23
|
+
startDatetime: new Date(emberVault.createdAt || Date.now()).toISOString(),
|
|
24
|
+
status: emberVault.status === 'deprecated' ? 'closed' : 'active',
|
|
25
|
+
version: constants_1.EMBER_DEFAULTS.VERSION,
|
|
26
|
+
tags: ['Sui DeFi', emberVault.publicType].filter(Boolean),
|
|
27
|
+
isFeatured: false,
|
|
28
|
+
isVisible: emberVault.status === 'active' || emberVault.status === 'beta',
|
|
29
|
+
reserveTarget: 0,
|
|
30
|
+
reserveTolerance: 0,
|
|
31
|
+
decimals: receiptTokenDecimals,
|
|
32
|
+
totalAssets: {
|
|
33
|
+
normalized: (0, ethers_1.formatUnits)(BigInt(emberVault.totalDeposits || 0), depositTokenDecimals),
|
|
34
|
+
raw: (emberVault.totalDeposits || '0').toString(),
|
|
35
|
+
},
|
|
36
|
+
totalSupply: {
|
|
37
|
+
normalized: (0, ethers_1.formatUnits)(BigInt(emberVault.totalDeposits || 0), receiptTokenDecimals),
|
|
38
|
+
raw: (emberVault.totalDeposits || '0').toString(),
|
|
39
|
+
},
|
|
40
|
+
maxSupply: {
|
|
41
|
+
normalized: (0, ethers_1.formatUnits)(BigInt(emberVault.maxDepositsAllowed || 0), depositTokenDecimals),
|
|
42
|
+
raw: (emberVault.maxDepositsAllowed || '0').toString(),
|
|
43
|
+
},
|
|
44
|
+
depositAssets: [
|
|
45
|
+
{
|
|
46
|
+
address: emberVault.depositCoin?.address,
|
|
47
|
+
symbol: emberVault.depositCoin?.symbol || '',
|
|
48
|
+
decimals: depositTokenDecimals,
|
|
49
|
+
},
|
|
50
|
+
],
|
|
51
|
+
apy: {
|
|
52
|
+
apy: (0, utils_1.convertFromE9)(emberVault.reportedApy?.apyE9 || 0) * 100,
|
|
53
|
+
explainer: '',
|
|
54
|
+
liquidApy: 0,
|
|
55
|
+
rewardsClaimable: 0,
|
|
56
|
+
rewardsCompounded: 0,
|
|
57
|
+
underlyingApy: (0, utils_1.convertFromE9)(emberVault.reportedApy?.apyE9 || 0) * 100,
|
|
58
|
+
},
|
|
59
|
+
operator: '',
|
|
60
|
+
rewards: {
|
|
61
|
+
points: '5x Upshift Points',
|
|
62
|
+
multiplier: 5,
|
|
63
|
+
multipliers: [
|
|
64
|
+
{
|
|
65
|
+
timestamp: 1759444200,
|
|
66
|
+
value: 5,
|
|
67
|
+
},
|
|
68
|
+
],
|
|
69
|
+
additionalPoints: ['5x Upshift Points'],
|
|
70
|
+
},
|
|
71
|
+
strategists: (emberVault.managers ||
|
|
72
|
+
emberVault.subAccounts?.map((s) => s.manager) ||
|
|
73
|
+
[]).map((manager) => ({
|
|
74
|
+
address: manager?.id || '',
|
|
75
|
+
logo: manager?.logoUrl || '',
|
|
76
|
+
name: manager?.name || 'Unknown',
|
|
77
|
+
})),
|
|
78
|
+
fees: {
|
|
79
|
+
management: (0, utils_1.convertFromE9)(emberVault.managementFeePercentE9 || 0) * 100,
|
|
80
|
+
isManagementWaived: false,
|
|
81
|
+
performance: (0, utils_1.convertFromE9)(emberVault.weeklyPerformanceFeeBpsE9 || 0) /
|
|
82
|
+
constants_1.EMBER_DEFAULTS.BPS_TO_PERCENT,
|
|
83
|
+
isPerformanceWaived: false,
|
|
84
|
+
},
|
|
85
|
+
lagDuration: 0,
|
|
86
|
+
maxDailyDrawdown: 0,
|
|
87
|
+
risk: 'medium',
|
|
88
|
+
isWithdrawalPaused: emberVault.status === 'deprecated',
|
|
89
|
+
isDepositPaused: emberVault.status === 'deprecated',
|
|
90
|
+
idleAssets: (0, core_1.toNormalizedBn)('0', receiptTokenDecimals),
|
|
91
|
+
linkOnly: true,
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
function transformEmberVaultsToIVaults(emberVaults) {
|
|
95
|
+
return emberVaults.map(transformEmberVaultToIVault);
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=transformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transformer.js","sourceRoot":"","sources":["../../../src.ts/adapters/sui/transformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
export interface IEmberVault {
|
|
2
|
+
address: string;
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
description: string;
|
|
6
|
+
logoUrl: string;
|
|
7
|
+
status: 'active' | 'beta' | 'deprecated';
|
|
8
|
+
publicType: string;
|
|
9
|
+
strategy: string;
|
|
10
|
+
createdAt: number;
|
|
11
|
+
totalDeposits: string;
|
|
12
|
+
totalDepositsInUsdE9: string;
|
|
13
|
+
maxDepositsAllowed: string;
|
|
14
|
+
rateE9: string;
|
|
15
|
+
managementFeePercentE9: string;
|
|
16
|
+
weeklyPerformanceFeeBpsE9: string;
|
|
17
|
+
withdrawalPeriodDays: number;
|
|
18
|
+
minWithdrawalSharesE9: string;
|
|
19
|
+
depositCoin: {
|
|
20
|
+
address: string;
|
|
21
|
+
symbol: string;
|
|
22
|
+
name: string;
|
|
23
|
+
decimals: number;
|
|
24
|
+
logoUrl: string;
|
|
25
|
+
priceE9: string;
|
|
26
|
+
type: string;
|
|
27
|
+
};
|
|
28
|
+
receiptCoin: {
|
|
29
|
+
address: string;
|
|
30
|
+
symbol: string;
|
|
31
|
+
name: string;
|
|
32
|
+
decimals: number;
|
|
33
|
+
logoUrl: string;
|
|
34
|
+
priceE9: string;
|
|
35
|
+
type: string;
|
|
36
|
+
};
|
|
37
|
+
reportedApy: {
|
|
38
|
+
apyE9: string;
|
|
39
|
+
updatedAt: string;
|
|
40
|
+
};
|
|
41
|
+
managers: Array<{
|
|
42
|
+
id: string;
|
|
43
|
+
name: string;
|
|
44
|
+
logoUrl: string;
|
|
45
|
+
websiteUrl: string;
|
|
46
|
+
}>;
|
|
47
|
+
subAccounts: Array<{
|
|
48
|
+
address: string;
|
|
49
|
+
manager: {
|
|
50
|
+
id: string;
|
|
51
|
+
name: string;
|
|
52
|
+
logoUrl: string;
|
|
53
|
+
websiteUrl: string;
|
|
54
|
+
};
|
|
55
|
+
}>;
|
|
56
|
+
rewards: any[];
|
|
57
|
+
}
|
|
58
|
+
export interface IFetchEmberVaultsOptions {
|
|
59
|
+
limit?: number;
|
|
60
|
+
offset?: number;
|
|
61
|
+
status?: string;
|
|
62
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src.ts/adapters/sui/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function convertFromE9(value: string | number): number;
|
|
2
|
+
export declare function calculateUtilization(current: string | number, maximum: string | number): number;
|
|
3
|
+
export declare function isSuiAddress(address: string): boolean;
|
|
4
|
+
export declare function isSuiVault(chainId: number): boolean;
|