@augustdigital/sdk 4.2.2-alpha → 4.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/README.md +20 -0
  2. package/lib/abis/PoolAdapter.d.ts +36 -76
  3. package/lib/abis/PoolAdapter.js +18 -379
  4. package/lib/abis/PoolAdapter.js.map +1 -1
  5. package/lib/abis/WrapperAdapter.d.ts +71 -60
  6. package/lib/abis/WrapperAdapter.js +41 -114
  7. package/lib/abis/WrapperAdapter.js.map +1 -1
  8. package/lib/abis/index.d.ts +3 -0
  9. package/lib/abis/index.js +3 -0
  10. package/lib/abis/index.js.map +1 -1
  11. package/lib/adapters/evm/getters.d.ts +1 -1
  12. package/lib/adapters/evm/getters.js +21 -22
  13. package/lib/adapters/evm/getters.js.map +1 -1
  14. package/lib/adapters/evm/index.d.ts +5 -3
  15. package/lib/adapters/evm/index.js +24 -17
  16. package/lib/adapters/evm/index.js.map +1 -1
  17. package/lib/adapters/solana/getters.js +10 -12
  18. package/lib/adapters/solana/getters.js.map +1 -1
  19. package/lib/adapters/solana/index.d.ts +27 -2
  20. package/lib/adapters/solana/utils.d.ts +15 -2
  21. package/lib/adapters/solana/utils.js +96 -21
  22. package/lib/adapters/solana/utils.js.map +1 -1
  23. package/lib/adapters/solana/vault.actions.js +11 -2
  24. package/lib/adapters/solana/vault.actions.js.map +1 -1
  25. package/lib/adapters/sui/constants.d.ts +13 -0
  26. package/lib/adapters/sui/constants.js +17 -0
  27. package/lib/adapters/sui/constants.js.map +1 -0
  28. package/lib/adapters/sui/getters.d.ts +3 -0
  29. package/lib/adapters/sui/getters.js +53 -0
  30. package/lib/adapters/sui/getters.js.map +1 -0
  31. package/lib/adapters/sui/index.d.ts +30 -0
  32. package/lib/adapters/sui/index.js +83 -0
  33. package/lib/adapters/sui/index.js.map +1 -1
  34. package/lib/adapters/sui/transformer.d.ts +4 -0
  35. package/lib/adapters/sui/transformer.js +87 -0
  36. package/lib/adapters/sui/transformer.js.map +1 -0
  37. package/lib/adapters/sui/types.d.ts +62 -0
  38. package/lib/adapters/sui/types.js +3 -0
  39. package/lib/adapters/sui/types.js.map +1 -0
  40. package/lib/adapters/sui/utils.d.ts +4 -0
  41. package/lib/adapters/sui/utils.js +27 -0
  42. package/lib/adapters/sui/utils.js.map +1 -0
  43. package/lib/core/auth/verify.js +2 -2
  44. package/lib/core/auth/verify.js.map +1 -1
  45. package/lib/core/constants.adapters.d.ts +89 -0
  46. package/lib/core/constants.adapters.js +160 -0
  47. package/lib/core/constants.adapters.js.map +1 -0
  48. package/lib/core/constants.core.d.ts +71 -0
  49. package/lib/core/constants.core.js +75 -0
  50. package/lib/core/constants.core.js.map +1 -0
  51. package/lib/core/constants.vaults.d.ts +19 -0
  52. package/lib/core/constants.vaults.js +147 -0
  53. package/lib/core/constants.vaults.js.map +1 -0
  54. package/lib/core/constants.web3.d.ts +30 -0
  55. package/lib/core/constants.web3.js +95 -0
  56. package/lib/core/constants.web3.js.map +1 -0
  57. package/lib/core/fetcher.d.ts +1 -1
  58. package/lib/core/fetcher.js +93 -79
  59. package/lib/core/fetcher.js.map +1 -1
  60. package/lib/core/helpers.adapters.d.ts +4 -0
  61. package/lib/core/helpers.adapters.js +28 -0
  62. package/lib/core/helpers.adapters.js.map +1 -0
  63. package/lib/core/helpers.core.d.ts +23 -0
  64. package/lib/core/helpers.core.js +210 -0
  65. package/lib/core/helpers.core.js.map +1 -0
  66. package/lib/core/helpers.signer.d.ts +5 -0
  67. package/lib/core/helpers.signer.js +54 -0
  68. package/lib/core/helpers.signer.js.map +1 -0
  69. package/lib/core/helpers.vaults.d.ts +15 -0
  70. package/lib/core/helpers.vaults.js +123 -0
  71. package/lib/core/helpers.vaults.js.map +1 -0
  72. package/lib/core/helpers.web3.d.ts +29 -0
  73. package/lib/core/helpers.web3.js +373 -0
  74. package/lib/core/helpers.web3.js.map +1 -0
  75. package/lib/core/index.d.ts +9 -3
  76. package/lib/core/index.js +9 -3
  77. package/lib/core/index.js.map +1 -1
  78. package/lib/core/logger/slack.js +3 -3
  79. package/lib/core/web3.helpers.d.ts +1 -0
  80. package/lib/core/web3.helpers.js +21 -1
  81. package/lib/core/web3.helpers.js.map +1 -1
  82. package/lib/index.d.ts +2 -1
  83. package/lib/index.js +10 -2
  84. package/lib/index.js.map +1 -1
  85. package/lib/main.d.ts +10 -0
  86. package/lib/main.js +12 -1
  87. package/lib/main.js.map +1 -1
  88. package/lib/modules/vaults/adapter.helpers.d.ts +46 -0
  89. package/lib/modules/vaults/adapter.helpers.js +149 -0
  90. package/lib/modules/vaults/adapter.helpers.js.map +1 -0
  91. package/lib/modules/vaults/constants.d.ts +9 -7
  92. package/lib/modules/vaults/constants.js +12 -10
  93. package/lib/modules/vaults/constants.js.map +1 -1
  94. package/lib/modules/vaults/fetcher.js +1 -1
  95. package/lib/modules/vaults/fetcher.js.map +1 -1
  96. package/lib/modules/vaults/getters.d.ts +17 -0
  97. package/lib/modules/vaults/getters.js +281 -72
  98. package/lib/modules/vaults/getters.js.map +1 -1
  99. package/lib/modules/vaults/index.d.ts +3 -1
  100. package/lib/modules/vaults/index.js +8 -1
  101. package/lib/modules/vaults/index.js.map +1 -1
  102. package/lib/modules/vaults/main.d.ts +10 -2
  103. package/lib/modules/vaults/main.js +85 -13
  104. package/lib/modules/vaults/main.js.map +1 -1
  105. package/lib/modules/vaults/utils.d.ts +2 -4
  106. package/lib/modules/vaults/utils.js +80 -52
  107. package/lib/modules/vaults/utils.js.map +1 -1
  108. package/lib/modules/vaults/write.actions.d.ts +3 -0
  109. package/lib/modules/vaults/write.actions.js +184 -26
  110. package/lib/modules/vaults/write.actions.js.map +1 -1
  111. package/lib/services/debank/utils.js +4 -4
  112. package/lib/services/subgraph/fetcher.js +3 -2
  113. package/lib/services/subgraph/fetcher.js.map +1 -1
  114. package/lib/services/subgraph/vaults.js +25 -27
  115. package/lib/services/subgraph/vaults.js.map +1 -1
  116. package/lib/types/vaults.d.ts +15 -1
  117. package/lib/verify.d.ts +2 -0
  118. package/lib/verify.js +33 -0
  119. package/lib/verify.js.map +1 -0
  120. package/package.json +10 -1
@@ -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,4 @@
1
+ import { IVault } from '../../types';
2
+ import { IEmberVault } from './types';
3
+ export declare function transformEmberVaultToIVault(emberVault: IEmberVault): IVault;
4
+ export declare function transformEmberVaultsToIVaults(emberVaults: IEmberVault[]): IVault[];
@@ -0,0 +1,87 @@
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
+ function transformEmberVaultToIVault(emberVault) {
9
+ const depositTokenDecimals = emberVault.depositCoin?.decimals || constants_1.EMBER_DEFAULTS.DECIMALS;
10
+ const receiptTokenDecimals = emberVault.receiptCoin?.decimals || constants_1.EMBER_DEFAULTS.DECIMALS;
11
+ const returnObj = {
12
+ chainId: constants_1.SUI_CHAIN_ID,
13
+ maxDailyDrawdown: 0,
14
+ risk: 'medium',
15
+ lagDuration: 0,
16
+ address: emberVault.address,
17
+ name: emberVault.name,
18
+ logoUrl: emberVault.logoUrl || '',
19
+ apy: {
20
+ apy: (0, utils_1.convertFromE9)(emberVault.reportedApy?.apyE9 || 0) * 100,
21
+ explainer: '',
22
+ liquidApy: 0,
23
+ rewardsClaimable: 0,
24
+ rewardsCompounded: 0,
25
+ underlyingApy: (0, utils_1.convertFromE9)(emberVault.reportedApy?.apyE9 || 0) * 100,
26
+ },
27
+ strategists: (emberVault.managers ||
28
+ emberVault.subAccounts?.map((s) => s.manager) ||
29
+ []).map((manager) => ({
30
+ address: manager?.id || '',
31
+ logo: manager?.logoUrl || '',
32
+ name: manager?.name || 'Unknown',
33
+ })),
34
+ fees: {
35
+ performance: (0, utils_1.convertFromE9)(emberVault.weeklyPerformanceFeeBpsE9 || 0) /
36
+ constants_1.EMBER_DEFAULTS.BPS_TO_PERCENT,
37
+ management: (0, utils_1.convertFromE9)(emberVault.managementFeePercentE9 || 0) * 100,
38
+ isManagementWaived: false,
39
+ isPerformanceWaived: false,
40
+ },
41
+ rewards: {
42
+ points: '5x Upshift Points',
43
+ multiplier: 5,
44
+ multipliers: [
45
+ {
46
+ timestamp: 1759444200,
47
+ value: 5,
48
+ },
49
+ ],
50
+ additionalPoints: ['5x Upshift Points'],
51
+ },
52
+ version: constants_1.EMBER_DEFAULTS.VERSION,
53
+ description: emberVault.description || '',
54
+ startDatetime: new Date(emberVault.createdAt || Date.now()).toISOString(),
55
+ status: emberVault.status === 'deprecated' ? 'closed' : 'active',
56
+ tags: ['Sui DeFi', emberVault.publicType].filter(Boolean),
57
+ isFeatured: false,
58
+ isVisible: emberVault.status === 'active' || emberVault.status === 'beta',
59
+ reserveTarget: 0,
60
+ reserveTolerance: 0,
61
+ isDepositPaused: emberVault.status === 'deprecated',
62
+ decimals: receiptTokenDecimals,
63
+ isWithdrawalPaused: emberVault.status === 'deprecated',
64
+ operator: '',
65
+ idleAssets: (0, core_1.toNormalizedBn)(0, receiptTokenDecimals),
66
+ depositAssets: [
67
+ {
68
+ address: emberVault.depositCoin?.address,
69
+ symbol: emberVault.depositCoin?.symbol || '',
70
+ decimals: depositTokenDecimals,
71
+ },
72
+ ],
73
+ totalAssets: (0, core_1.toNormalizedBn)(BigInt(emberVault.totalDeposits || '0'), depositTokenDecimals),
74
+ totalSupply: (0, core_1.toNormalizedBn)(BigInt(emberVault.totalDeposits || '0'), receiptTokenDecimals),
75
+ maxSupply: (0, core_1.toNormalizedBn)(BigInt(emberVault.maxDepositsAllowed || '0'), depositTokenDecimals),
76
+ receipt: {
77
+ symbol: emberVault.receiptCoin?.symbol || '',
78
+ address: emberVault.receiptCoin?.address,
79
+ decimals: receiptTokenDecimals,
80
+ },
81
+ };
82
+ return returnObj;
83
+ }
84
+ function transformEmberVaultsToIVaults(emberVaults) {
85
+ return emberVaults.map(transformEmberVaultToIVault);
86
+ }
87
+ //# 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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -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;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertFromE9 = convertFromE9;
4
+ exports.calculateUtilization = calculateUtilization;
5
+ exports.isSuiAddress = isSuiAddress;
6
+ exports.isSuiVault = isSuiVault;
7
+ const constants_1 = require("./constants");
8
+ function convertFromE9(value) {
9
+ return Number(value) / constants_1.EMBER_DEFAULTS.E9_DIVISOR;
10
+ }
11
+ function calculateUtilization(current, maximum) {
12
+ const currentValue = Number(current) || 0;
13
+ const maxValue = Number(maximum) || 0;
14
+ if (maxValue === 0)
15
+ return 0;
16
+ return Math.min((currentValue / maxValue) * 100, 100);
17
+ }
18
+ function isSuiAddress(address) {
19
+ if (!address || typeof address !== 'string')
20
+ return false;
21
+ const hexRegex = /^0x[a-fA-F0-9]{64}$/;
22
+ return hexRegex.test(address);
23
+ }
24
+ function isSuiVault(chainId) {
25
+ return chainId === constants_1.SUI_CHAIN_ID;
26
+ }
27
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src.ts/adapters/sui/utils.ts"],"names":[],"mappings":";;AAKA,sCAEC;AAKD,oDASC;AAKD,oCAMC;AAED,gCAEC;AApCD,2CAA2D;AAK3D,SAAgB,aAAa,CAAC,KAAsB;IAClD,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,0BAAc,CAAC,UAAU,CAAC;AACnD,CAAC;AAKD,SAAgB,oBAAoB,CAClC,OAAwB,EACxB,OAAwB;IAExB,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtC,IAAI,QAAQ,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;AACxD,CAAC;AAKD,SAAgB,YAAY,CAAC,OAAe;IAC1C,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAG1D,MAAM,QAAQ,GAAG,qBAAqB,CAAC;IACvC,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAED,SAAgB,UAAU,CAAC,OAAe;IACxC,OAAO,OAAO,KAAK,wBAAY,CAAC;AAClC,CAAC"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.verifyInfuraKey = verifyInfuraKey;
4
4
  exports.verifyAugustKey = verifyAugustKey;
5
- const constants_1 = require("../constants");
5
+ const constants_core_1 = require("../constants.core");
6
6
  const fetcher_1 = require("../fetcher");
7
7
  async function verifyInfuraKey(key) {
8
8
  if (key.length !== 32)
@@ -13,7 +13,7 @@ async function verifyInfuraKey(key) {
13
13
  return true;
14
14
  }
15
15
  async function verifyAugustKey(key) {
16
- const verify = await (0, fetcher_1.fetchAugustWithKey)(key, constants_1.WEBSERVER_ENDPOINTS.auth.verify);
16
+ const verify = await (0, fetcher_1.fetchAugustWithKey)(key, constants_core_1.WEBSERVER_ENDPOINTS.auth.verify);
17
17
  if (verify.status === 200)
18
18
  return true;
19
19
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../../src.ts/core/auth/verify.ts"],"names":[],"mappings":";;AAGA,0CAKC;AAED,0CAIC;AAdD,4CAAmD;AACnD,wCAAgD;AAEzC,KAAK,UAAU,eAAe,CAAC,GAAW;IAC/C,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,KAAK,GAAG,YAAY,CAAC;IAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,OAAO,IAAI,CAAC;AACd,CAAC;AAEM,KAAK,UAAU,eAAe,CAAC,GAAW;IAC/C,MAAM,MAAM,GAAG,MAAM,IAAA,4BAAkB,EAAC,GAAG,EAAE,+BAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9E,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../../src.ts/core/auth/verify.ts"],"names":[],"mappings":";;AAGA,0CAKC;AAED,0CAIC;AAdD,sDAAwD;AACxD,wCAAgD;AAEzC,KAAK,UAAU,eAAe,CAAC,GAAW;IAC/C,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,KAAK,GAAG,YAAY,CAAC;IAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,OAAO,IAAI,CAAC;AACd,CAAC;AAEM,KAAK,UAAU,eAAe,CAAC,GAAW;IAC/C,MAAM,MAAM,GAAG,MAAM,IAAA,4BAAkB,EAAC,GAAG,EAAE,oCAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9E,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,89 @@
1
+ import { IVaultAdapterConfig } from '../types';
2
+ import { IAddress } from '../types/web3';
3
+ export declare const POOL_NAMES: {
4
+ readonly ETH_TREEHOUSE_GROWTH: "Treehouse Growth";
5
+ readonly AVAX_AVAX: "AVAX Strategy";
6
+ readonly ETH_KELP_TAC_RSETH: "Kelp TAC rsETH";
7
+ };
8
+ export declare const ADAPTER_ABIS: {
9
+ readonly NATIVE_DEPOSIT_AVAX: readonly [{
10
+ readonly inputs: readonly [];
11
+ readonly name: "depositETH";
12
+ readonly outputs: readonly [];
13
+ readonly stateMutability: "payable";
14
+ readonly type: "function";
15
+ }];
16
+ readonly NATIVE_DEPOSIT_ETH_WITH_REFERRAL: readonly [{
17
+ readonly inputs: readonly [{
18
+ readonly internalType: "address";
19
+ readonly name: "referralId";
20
+ readonly type: "address";
21
+ }];
22
+ readonly name: "depositETH";
23
+ readonly outputs: readonly [];
24
+ readonly stateMutability: "payable";
25
+ readonly type: "function";
26
+ }, {
27
+ readonly inputs: readonly [{
28
+ readonly internalType: "uint256";
29
+ readonly name: "amount";
30
+ readonly type: "uint256";
31
+ }, {
32
+ readonly internalType: "address";
33
+ readonly name: "referralId";
34
+ readonly type: "address";
35
+ }];
36
+ readonly name: "depositWETH";
37
+ readonly outputs: readonly [];
38
+ readonly stateMutability: "nonpayable";
39
+ readonly type: "function";
40
+ }];
41
+ readonly KELP_RSETH_ADAPTER: readonly [{
42
+ readonly inputs: readonly [{
43
+ readonly internalType: "address";
44
+ readonly name: "referralId";
45
+ readonly type: "address";
46
+ }];
47
+ readonly name: "getRSETHWithETH";
48
+ readonly outputs: readonly [];
49
+ readonly stateMutability: "payable";
50
+ readonly type: "function";
51
+ }, {
52
+ readonly inputs: readonly [{
53
+ readonly internalType: "address";
54
+ readonly name: "asset";
55
+ readonly type: "address";
56
+ }, {
57
+ readonly internalType: "uint256";
58
+ readonly name: "depositAmount";
59
+ readonly type: "uint256";
60
+ }, {
61
+ readonly internalType: "string";
62
+ readonly name: "referralId";
63
+ readonly type: "string";
64
+ }];
65
+ readonly name: "getRSETHWithERC20";
66
+ readonly outputs: readonly [];
67
+ readonly stateMutability: "nonpayable";
68
+ readonly type: "function";
69
+ }, {
70
+ readonly inputs: readonly [{
71
+ readonly internalType: "address";
72
+ readonly name: "asset";
73
+ readonly type: "address";
74
+ }, {
75
+ readonly internalType: "uint256";
76
+ readonly name: "depositAmount";
77
+ readonly type: "uint256";
78
+ }];
79
+ readonly name: "getRsETHAmountToMint";
80
+ readonly outputs: readonly [{
81
+ readonly internalType: "uint256";
82
+ readonly name: "rsETHAmount";
83
+ readonly type: "uint256";
84
+ }];
85
+ readonly stateMutability: "view";
86
+ readonly type: "function";
87
+ }];
88
+ };
89
+ export declare const VAULT_ADAPTER_CONFIGS: Record<IAddress, IVaultAdapterConfig>;
@@ -0,0 +1,160 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VAULT_ADAPTER_CONFIGS = exports.ADAPTER_ABIS = exports.POOL_NAMES = void 0;
4
+ const ethers_1 = require("ethers");
5
+ exports.POOL_NAMES = {
6
+ ETH_TREEHOUSE_GROWTH: 'Treehouse Growth',
7
+ AVAX_AVAX: 'AVAX Strategy',
8
+ ETH_KELP_TAC_RSETH: 'Kelp TAC rsETH',
9
+ };
10
+ exports.ADAPTER_ABIS = {
11
+ NATIVE_DEPOSIT_AVAX: [
12
+ {
13
+ inputs: [],
14
+ name: 'depositETH',
15
+ outputs: [],
16
+ stateMutability: 'payable',
17
+ type: 'function',
18
+ },
19
+ ],
20
+ NATIVE_DEPOSIT_ETH_WITH_REFERRAL: [
21
+ {
22
+ inputs: [
23
+ { internalType: 'address', name: 'referralId', type: 'address' },
24
+ ],
25
+ name: 'depositETH',
26
+ outputs: [],
27
+ stateMutability: 'payable',
28
+ type: 'function',
29
+ },
30
+ {
31
+ inputs: [
32
+ { internalType: 'uint256', name: 'amount', type: 'uint256' },
33
+ { internalType: 'address', name: 'referralId', type: 'address' },
34
+ ],
35
+ name: 'depositWETH',
36
+ outputs: [],
37
+ stateMutability: 'nonpayable',
38
+ type: 'function',
39
+ },
40
+ ],
41
+ KELP_RSETH_ADAPTER: [
42
+ {
43
+ inputs: [
44
+ { internalType: 'address', name: 'referralId', type: 'address' },
45
+ ],
46
+ name: 'getRSETHWithETH',
47
+ outputs: [],
48
+ stateMutability: 'payable',
49
+ type: 'function',
50
+ },
51
+ {
52
+ inputs: [
53
+ {
54
+ internalType: 'address',
55
+ name: 'asset',
56
+ type: 'address',
57
+ },
58
+ {
59
+ internalType: 'uint256',
60
+ name: 'depositAmount',
61
+ type: 'uint256',
62
+ },
63
+ {
64
+ internalType: 'string',
65
+ name: 'referralId',
66
+ type: 'string',
67
+ },
68
+ ],
69
+ name: 'getRSETHWithERC20',
70
+ outputs: [],
71
+ stateMutability: 'nonpayable',
72
+ type: 'function',
73
+ },
74
+ {
75
+ inputs: [
76
+ {
77
+ internalType: 'address',
78
+ name: 'asset',
79
+ type: 'address',
80
+ },
81
+ {
82
+ internalType: 'uint256',
83
+ name: 'depositAmount',
84
+ type: 'uint256',
85
+ },
86
+ ],
87
+ name: 'getRsETHAmountToMint',
88
+ outputs: [
89
+ {
90
+ internalType: 'uint256',
91
+ name: 'rsETHAmount',
92
+ type: 'uint256',
93
+ },
94
+ ],
95
+ stateMutability: 'view',
96
+ type: 'function',
97
+ },
98
+ ],
99
+ };
100
+ exports.VAULT_ADAPTER_CONFIGS = {
101
+ '0x18EE038C114a07f4B08b420fb1E4149a4F357249': {
102
+ viewAdapter: '0x72f3cf0d87e9688fad77711d02d86c68334fb275',
103
+ lpTokenAddress: '0xeF866BfbD0eEc6D6b42C37d8acC0D5fd26828376',
104
+ isNativeTokenDeposit: false,
105
+ isWrappedTokenDeposit: false,
106
+ },
107
+ '0x8AcA0841993ef4C87244d519166e767f49362C21': {
108
+ isNativeTokenDeposit: false,
109
+ isWrappedTokenDeposit: false,
110
+ wrappedTokenAddress: '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599',
111
+ wrapperAddress: '0xfa3f6f36e3D178A538B2B1Fa5f1a5291C901A884',
112
+ bridgeId: 2,
113
+ abi: [],
114
+ tokens: [
115
+ '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599',
116
+ '0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf',
117
+ '0x18084fbA666a33d37592fA2633fD49a74DD93a88',
118
+ ],
119
+ },
120
+ '0xB2bFb52cfc40584AC4e9e2B36a5B8d6554A56e0b': {
121
+ isNativeTokenDeposit: true,
122
+ isWrappedTokenDeposit: false,
123
+ wrappedTokenAddress: '0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7',
124
+ wrapperAddress: '0xb2C57614B93c41A7Ec3B91980C0Bb7453904c6e8',
125
+ abi: exports.ADAPTER_ABIS.NATIVE_DEPOSIT_AVAX,
126
+ tokens: [
127
+ '0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7',
128
+ ethers_1.ZeroAddress,
129
+ ],
130
+ },
131
+ '0x5Fde59415625401278c4d41C6beFCe3790eb357f': {
132
+ isNativeTokenDeposit: true,
133
+ isWrappedTokenDeposit: true,
134
+ wrappedTokenAddress: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2',
135
+ referralId: '0x849ECeE35EdD45aFA3Bd731531427B5661f57d87',
136
+ wrapperAddress: '0x6B6b27F08B84c186626D5A64614B5192a8ef71a9',
137
+ abi: exports.ADAPTER_ABIS.NATIVE_DEPOSIT_ETH_WITH_REFERRAL,
138
+ tokens: [
139
+ '0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0',
140
+ '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2',
141
+ ethers_1.ZeroAddress,
142
+ ],
143
+ },
144
+ '0x419386E3Ef42368e602720CC458e00c0B28c47A7': {
145
+ isNativeTokenDeposit: true,
146
+ isWrappedTokenDeposit: true,
147
+ wrappedTokenAddress: '0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84',
148
+ referralId: '',
149
+ wrapperAddress: '0xa7f3a4d8395d62DF12bf35Afb4ab8db42F12926F',
150
+ viewAdapter: '0x036676389e48133B63a802f8635AD39E752D375D',
151
+ abi: exports.ADAPTER_ABIS.KELP_RSETH_ADAPTER,
152
+ tokens: [
153
+ '0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84',
154
+ '0xA35b1B31Ce002FBF2058D22F30f95D405200A15b',
155
+ '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2',
156
+ ethers_1.ZeroAddress,
157
+ ],
158
+ },
159
+ };
160
+ //# sourceMappingURL=constants.adapters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.adapters.js","sourceRoot":"","sources":["../../src.ts/core/constants.adapters.ts"],"names":[],"mappings":"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"}