@augustdigital/sdk 4.24.0 → 4.24.2-alpha.0
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/core/helpers/vaults.d.ts +1 -0
- package/lib/core/helpers/vaults.js +19 -1
- package/lib/core/helpers/vaults.js.map +1 -1
- package/lib/modules/sub-accounts/fetcher.d.ts +2 -1
- package/lib/modules/sub-accounts/fetcher.js +23 -1
- package/lib/modules/sub-accounts/fetcher.js.map +1 -1
- package/lib/modules/sub-accounts/main.d.ts +102 -0
- package/lib/modules/sub-accounts/main.js +5 -0
- package/lib/modules/sub-accounts/main.js.map +1 -1
- package/lib/modules/sub-accounts/utils.d.ts +103 -0
- package/lib/modules/sub-accounts/utils.js +109 -0
- package/lib/modules/sub-accounts/utils.js.map +1 -0
- package/lib/modules/vaults/getters.js +83 -23
- package/lib/modules/vaults/getters.js.map +1 -1
- package/lib/types/sub-accounts.d.ts +96 -0
- package/package.json +12 -12
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { IAddress, IContractRunner, ITokenizedVault, IVaultVersion } from '../../types';
|
|
2
|
+
export declare const isBadTransaction: (hash: string, chainId: number) => boolean;
|
|
2
3
|
export declare const isBadVault: (address?: string) => boolean;
|
|
3
4
|
export declare function getVaultVersion(vault: string): IVaultVersion | undefined;
|
|
4
5
|
export declare function getVaultVersionV2(vault: ITokenizedVault): IVaultVersion | undefined;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getDefaultSubgraphUrl = exports.SUBGRAPH_POOL_URLS = exports.AVAX_PRICE_FEED_ADDRESS = exports.REWARD_DISTRIBUTOR_ADDRESS = exports.isBadVault = void 0;
|
|
3
|
+
exports.getDefaultSubgraphUrl = exports.SUBGRAPH_POOL_URLS = exports.AVAX_PRICE_FEED_ADDRESS = exports.REWARD_DISTRIBUTOR_ADDRESS = exports.isBadVault = exports.isBadTransaction = void 0;
|
|
4
4
|
exports.getVaultVersion = getVaultVersion;
|
|
5
5
|
exports.getVaultVersionV2 = getVaultVersionV2;
|
|
6
6
|
exports.getVaultSymbol = getVaultSymbol;
|
|
@@ -10,6 +10,24 @@ const web3_1 = require("./web3");
|
|
|
10
10
|
const solana_1 = require("../../adapters/solana");
|
|
11
11
|
const utils_1 = require("../../adapters/sui/utils");
|
|
12
12
|
const fetcher_1 = require("../../modules/vaults/fetcher");
|
|
13
|
+
const isBadTransaction = (hash, chainId) => {
|
|
14
|
+
const badTxs = {
|
|
15
|
+
1: [
|
|
16
|
+
'0xaba75b16e74a7a2457bfdcded853edd2bb4d3b305919baf84fb1f6b54b864889',
|
|
17
|
+
'0xc4c30185198672cbc91a95520d1bf91634ece37c199b2f1f15d29e8290c7ed4b',
|
|
18
|
+
'0x8e319576413897d1750f16bb93c7f59759b5bbafcb5bd9ef956f6bc0b0314aef',
|
|
19
|
+
'0x49057f8ea86b84a21808269558474686c9de02d31dc9e03a201b61104afbcdd3',
|
|
20
|
+
'0x7146dd528423705e225dd508f06cc6b4dab490c767400652ef82e7c96031359d',
|
|
21
|
+
'0x826340b2f376e71795177e9d68fee07e0c45263b45d22c36327db81db36d70a6',
|
|
22
|
+
'0xd79f4cf16dd4a794809448bf021bb64b6bfd22fb42094403baad4da5664b7519',
|
|
23
|
+
],
|
|
24
|
+
};
|
|
25
|
+
if (chainId in badTxs) {
|
|
26
|
+
return badTxs[chainId].includes(hash);
|
|
27
|
+
}
|
|
28
|
+
return false;
|
|
29
|
+
};
|
|
30
|
+
exports.isBadTransaction = isBadTransaction;
|
|
13
31
|
const isBadVault = (address) => {
|
|
14
32
|
if (!address)
|
|
15
33
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vaults.js","sourceRoot":"","sources":["../../../src.ts/core/helpers/vaults.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"vaults.js","sourceRoot":"","sources":["../../../src.ts/core/helpers/vaults.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IFetchAugustOptions } from '../../core';
|
|
2
|
-
import { IAddress, IOTCPosition, IWSSubaccountCefi, IWSSubAccountHealthFactor, IWSSubaccountLoan } from '../../types';
|
|
2
|
+
import { IAddress, IOTCPosition, IWSSubaccountCefi, IWSSubAccountHealthFactor, IWSSubaccountLoan, IWSSubaccountSummary } from '../../types';
|
|
3
3
|
export declare const fetchSubaccountHeathFactor: (address: IAddress, augustKey: string, headers?: IFetchAugustOptions["headers"]) => Promise<IWSSubAccountHealthFactor>;
|
|
4
4
|
export declare const fetchSubaccountLoans: (payload: {
|
|
5
5
|
address: IAddress;
|
|
@@ -8,3 +8,4 @@ export declare const fetchSubaccountLoans: (payload: {
|
|
|
8
8
|
}, augustKey: string, headers?: IFetchAugustOptions["headers"]) => Promise<IWSSubaccountLoan[]>;
|
|
9
9
|
export declare const fetchSubaccountCefiPositions: (address: IAddress, augustKey: string, headers?: IFetchAugustOptions["headers"]) => Promise<IWSSubaccountCefi[]>;
|
|
10
10
|
export declare const fetchSubaccountOtcPositions: (address: IAddress, augustKey: string, headers?: IFetchAugustOptions["headers"]) => Promise<IOTCPosition[]>;
|
|
11
|
+
export declare const fetchSubaccountSummary: (address: IAddress, augustKey: string, headers?: IFetchAugustOptions["headers"]) => Promise<IWSSubaccountSummary>;
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.fetchSubaccountOtcPositions = exports.fetchSubaccountCefiPositions = exports.fetchSubaccountLoans = exports.fetchSubaccountHeathFactor = void 0;
|
|
3
|
+
exports.fetchSubaccountSummary = exports.fetchSubaccountOtcPositions = exports.fetchSubaccountCefiPositions = exports.fetchSubaccountLoans = exports.fetchSubaccountHeathFactor = void 0;
|
|
4
4
|
const core_1 = require("../../core");
|
|
5
5
|
const fetchSubaccountHeathFactor = async (address, augustKey, headers) => {
|
|
6
6
|
const response = await (0, core_1.fetchAugustWithKey)(augustKey, core_1.WEBSERVER_ENDPOINTS.subaccount.health_factor(address), {
|
|
7
7
|
headers,
|
|
8
8
|
});
|
|
9
|
+
if (!response.ok || typeof response.json !== 'function') {
|
|
10
|
+
throw new Error(`Failed to fetch subaccount health factor: ${response.statusText || 'Unknown error'}`);
|
|
11
|
+
}
|
|
9
12
|
return response.json();
|
|
10
13
|
};
|
|
11
14
|
exports.fetchSubaccountHeathFactor = fetchSubaccountHeathFactor;
|
|
@@ -13,6 +16,9 @@ const fetchSubaccountLoans = async (payload, augustKey, headers) => {
|
|
|
13
16
|
const response = await (0, core_1.fetchAugustWithKey)(augustKey, core_1.WEBSERVER_ENDPOINTS.subaccount.loans(payload.address, payload.side, payload.active), {
|
|
14
17
|
headers,
|
|
15
18
|
});
|
|
19
|
+
if (!response.ok || typeof response.json !== 'function') {
|
|
20
|
+
throw new Error(`Failed to fetch subaccount loans: ${response.statusText || 'Unknown error'}`);
|
|
21
|
+
}
|
|
16
22
|
return response.json();
|
|
17
23
|
};
|
|
18
24
|
exports.fetchSubaccountLoans = fetchSubaccountLoans;
|
|
@@ -20,6 +26,9 @@ const fetchSubaccountCefiPositions = async (address, augustKey, headers) => {
|
|
|
20
26
|
const response = await (0, core_1.fetchAugustWithKey)(augustKey, core_1.WEBSERVER_ENDPOINTS.subaccount.cefi(address), {
|
|
21
27
|
headers,
|
|
22
28
|
});
|
|
29
|
+
if (!response.ok || typeof response.json !== 'function') {
|
|
30
|
+
throw new Error(`Failed to fetch subaccount CeFi positions: ${response.statusText || 'Unknown error'}`);
|
|
31
|
+
}
|
|
23
32
|
return response.json();
|
|
24
33
|
};
|
|
25
34
|
exports.fetchSubaccountCefiPositions = fetchSubaccountCefiPositions;
|
|
@@ -27,7 +36,20 @@ const fetchSubaccountOtcPositions = async (address, augustKey, headers) => {
|
|
|
27
36
|
const response = await (0, core_1.fetchAugustWithKey)(augustKey, core_1.WEBSERVER_ENDPOINTS.subaccount.otc_positions(address), {
|
|
28
37
|
headers,
|
|
29
38
|
});
|
|
39
|
+
if (!response.ok || typeof response.json !== 'function') {
|
|
40
|
+
throw new Error(`Failed to fetch subaccount OTC positions: ${response.statusText || 'Unknown error'}`);
|
|
41
|
+
}
|
|
30
42
|
return response.json();
|
|
31
43
|
};
|
|
32
44
|
exports.fetchSubaccountOtcPositions = fetchSubaccountOtcPositions;
|
|
45
|
+
const fetchSubaccountSummary = async (address, augustKey, headers) => {
|
|
46
|
+
const response = await (0, core_1.fetchAugustWithKey)(augustKey, core_1.WEBSERVER_ENDPOINTS.subaccount.summary(address), {
|
|
47
|
+
headers,
|
|
48
|
+
});
|
|
49
|
+
if (!response.ok || typeof response.json !== 'function') {
|
|
50
|
+
throw new Error(`Failed to fetch subaccount summary: ${response.statusText || 'Unknown error'}`);
|
|
51
|
+
}
|
|
52
|
+
return response.json();
|
|
53
|
+
};
|
|
54
|
+
exports.fetchSubaccountSummary = fetchSubaccountSummary;
|
|
33
55
|
//# sourceMappingURL=fetcher.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetcher.js","sourceRoot":"","sources":["../../../src.ts/modules/sub-accounts/fetcher.ts"],"names":[],"mappings":";;;AAAA,qCAIoB;
|
|
1
|
+
{"version":3,"file":"fetcher.js","sourceRoot":"","sources":["../../../src.ts/modules/sub-accounts/fetcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,4 +13,106 @@ export declare class AugustSubAccounts extends AugustBase {
|
|
|
13
13
|
getSubaccountLoans(subaccountAddress: IAddress, side: 'BOTH' | 'LENDER' | 'BORROWER', active: boolean): Promise<import("../../types").IWSSubaccountLoan[]>;
|
|
14
14
|
getSubaccountCefiPositions(subaccountAddress: IAddress): Promise<import("../../types").IWSSubaccountCefi[]>;
|
|
15
15
|
getSubaccountOtcPositions(subaccountAddress: IAddress): Promise<import("../../types").IOTCPosition[]>;
|
|
16
|
+
getSubaccountSummary(subaccountAddress: IAddress): Promise<{
|
|
17
|
+
address: `0x${string}`;
|
|
18
|
+
name: string;
|
|
19
|
+
type: "eoa" | "subaccount";
|
|
20
|
+
portfolio: {
|
|
21
|
+
tokens: {
|
|
22
|
+
value: number;
|
|
23
|
+
balance: number;
|
|
24
|
+
token: {
|
|
25
|
+
type: string;
|
|
26
|
+
name: string;
|
|
27
|
+
address: string;
|
|
28
|
+
chain: number;
|
|
29
|
+
symbol: string;
|
|
30
|
+
decimals: number;
|
|
31
|
+
imgUrl: string;
|
|
32
|
+
};
|
|
33
|
+
}[];
|
|
34
|
+
marginBalances: unknown[];
|
|
35
|
+
collateralBalances: unknown[];
|
|
36
|
+
cefiPositions: unknown[];
|
|
37
|
+
defiPositions: unknown[];
|
|
38
|
+
trsPositions: unknown[];
|
|
39
|
+
strategyContractPositions: unknown[];
|
|
40
|
+
legacyHedgerPositions: unknown[];
|
|
41
|
+
otcPositions: unknown[];
|
|
42
|
+
totalValue: number;
|
|
43
|
+
discountedValue: number;
|
|
44
|
+
};
|
|
45
|
+
loanbook: {
|
|
46
|
+
loans: {
|
|
47
|
+
subaccountAddress: `0x${string}`;
|
|
48
|
+
book: {
|
|
49
|
+
address: `0x${string}`;
|
|
50
|
+
lender: `0x${string}`;
|
|
51
|
+
borrower: `0x${string}`;
|
|
52
|
+
state: string;
|
|
53
|
+
totalRepaid: number;
|
|
54
|
+
principalToken: {
|
|
55
|
+
type: string;
|
|
56
|
+
name: string;
|
|
57
|
+
address: string;
|
|
58
|
+
chain: number;
|
|
59
|
+
symbol: string;
|
|
60
|
+
decimals: number;
|
|
61
|
+
imgUrl: string;
|
|
62
|
+
tokenType: number;
|
|
63
|
+
discountFactor: number;
|
|
64
|
+
price: number;
|
|
65
|
+
};
|
|
66
|
+
principalAmount: number;
|
|
67
|
+
interestAmount: number;
|
|
68
|
+
upcomingPayment: {
|
|
69
|
+
amount: number;
|
|
70
|
+
dueDate: string;
|
|
71
|
+
};
|
|
72
|
+
apr: number;
|
|
73
|
+
initialPrincipalAmount: number;
|
|
74
|
+
deployedDate: string;
|
|
75
|
+
paymentInterval: number;
|
|
76
|
+
totalInterestPaymentFees: number;
|
|
77
|
+
};
|
|
78
|
+
isBorrow: boolean;
|
|
79
|
+
debtInfo: {
|
|
80
|
+
interestOwed: number;
|
|
81
|
+
principalDebtOwed: number;
|
|
82
|
+
interestRepaid: number;
|
|
83
|
+
};
|
|
84
|
+
creditInfo: {
|
|
85
|
+
netInterestOwed: number;
|
|
86
|
+
principalDebtOwed: number;
|
|
87
|
+
netInterestRepaid: number;
|
|
88
|
+
};
|
|
89
|
+
}[];
|
|
90
|
+
totalDebt: number;
|
|
91
|
+
totalCredit: number;
|
|
92
|
+
aggregatesByToken: unknown[];
|
|
93
|
+
};
|
|
94
|
+
chains: {
|
|
95
|
+
name: string;
|
|
96
|
+
chainId: number;
|
|
97
|
+
}[];
|
|
98
|
+
tokens: {
|
|
99
|
+
type: string;
|
|
100
|
+
name: string;
|
|
101
|
+
address: string;
|
|
102
|
+
chain: number;
|
|
103
|
+
symbol: string;
|
|
104
|
+
decimals: number;
|
|
105
|
+
imgUrl: string;
|
|
106
|
+
price: number;
|
|
107
|
+
rawBalance: number;
|
|
108
|
+
balance: number;
|
|
109
|
+
value: number;
|
|
110
|
+
}[];
|
|
111
|
+
totalAccountValue: number;
|
|
112
|
+
totalCollateralValue: number;
|
|
113
|
+
totalLoanValue: number;
|
|
114
|
+
healthFactor: number;
|
|
115
|
+
netAccountValue: number;
|
|
116
|
+
totalEquityValue: number;
|
|
117
|
+
}>;
|
|
16
118
|
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AugustSubAccounts = void 0;
|
|
4
4
|
const fetcher_1 = require("./fetcher");
|
|
5
|
+
const utils_1 = require("./utils");
|
|
5
6
|
const core_1 = require("../../core");
|
|
6
7
|
class AugustSubAccounts extends core_1.AugustBase {
|
|
7
8
|
constructor(baseConfig) {
|
|
@@ -34,6 +35,10 @@ class AugustSubAccounts extends core_1.AugustBase {
|
|
|
34
35
|
const response = await (0, fetcher_1.fetchSubaccountOtcPositions)(subaccountAddress, this.keys.august, this.headers);
|
|
35
36
|
return response;
|
|
36
37
|
}
|
|
38
|
+
async getSubaccountSummary(subaccountAddress) {
|
|
39
|
+
const response = await (0, fetcher_1.fetchSubaccountSummary)(subaccountAddress, this.keys.august, this.headers);
|
|
40
|
+
return (0, utils_1.transformSubaccountSummary)(response);
|
|
41
|
+
}
|
|
37
42
|
}
|
|
38
43
|
exports.AugustSubAccounts = AugustSubAccounts;
|
|
39
44
|
//# sourceMappingURL=main.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src.ts/modules/sub-accounts/main.ts"],"names":[],"mappings":";;;AAKA,
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src.ts/modules/sub-accounts/main.ts"],"names":[],"mappings":";;;AAKA,uCAMmB;AACnB,mCAAqD;AACrD,qCAAqD;AASrD,MAAa,iBAAkB,SAAQ,iBAAU;IAG/C,YAAY,UAAuB;QACjC,KAAK,CAAC,UAAU,CAAC,CAAC;QAHZ,YAAO,GAAkC,IAAI,CAAC;QAIpD,IAAI,CAAC,OAAO,GAAG;YACb,eAAe,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,eAAe,CAAC;YACnD,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC;SAC5C,CAAC;IACJ,CAAC;IAOD,KAAK,CAAC,yBAAyB,CAAC,iBAA2B;QACzD,MAAM,QAAQ,GAAG,MAAM,IAAA,oCAA0B,EAC/C,iBAAiB,EACjB,IAAI,CAAC,IAAI,CAAC,MAAM,EAChB,IAAI,CAAC,OAAO,CACb,CAAC;QACF,OAAO;YACL,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,YAAY,EAAE,QAAQ,CAAC,aAAa;YACpC,eAAe,EAAE,QAAQ,CAAC,sBAAsB;YAChD,SAAS,EAAE,QAAQ,CAAC,gBAAgB;SACrC,CAAC;IACJ,CAAC;IASD,KAAK,CAAC,kBAAkB,CACtB,iBAA2B,EAC3B,IAAoC,EACpC,MAAe;QAEf,MAAM,QAAQ,GAAG,MAAM,IAAA,8BAAoB,EACzC,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAE,EAC5C,IAAI,CAAC,IAAI,CAAC,MAAM,EAChB,IAAI,CAAC,OAAO,CACb,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAOD,KAAK,CAAC,0BAA0B,CAAC,iBAA2B;QAC1D,MAAM,QAAQ,GAAG,MAAM,IAAA,sCAA4B,EACjD,iBAAiB,EACjB,IAAI,CAAC,IAAI,CAAC,MAAM,EAChB,IAAI,CAAC,OAAO,CACb,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAOD,KAAK,CAAC,yBAAyB,CAAC,iBAA2B;QACzD,MAAM,QAAQ,GAAG,MAAM,IAAA,qCAA2B,EAChD,iBAAiB,EACjB,IAAI,CAAC,IAAI,CAAC,MAAM,EAChB,IAAI,CAAC,OAAO,CACb,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAOD,KAAK,CAAC,oBAAoB,CAAC,iBAA2B;QACpD,MAAM,QAAQ,GAAG,MAAM,IAAA,gCAAsB,EAC3C,iBAAiB,EACjB,IAAI,CAAC,IAAI,CAAC,MAAM,EAChB,IAAI,CAAC,OAAO,CACb,CAAC;QACF,OAAO,IAAA,kCAA0B,EAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;CACF;AA5FD,8CA4FC"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { IWSSubaccountSummary } from '../../types';
|
|
2
|
+
export declare const transformSubaccountSummary: (response: IWSSubaccountSummary) => {
|
|
3
|
+
address: `0x${string}`;
|
|
4
|
+
name: string;
|
|
5
|
+
type: "eoa" | "subaccount";
|
|
6
|
+
portfolio: {
|
|
7
|
+
tokens: {
|
|
8
|
+
value: number;
|
|
9
|
+
balance: number;
|
|
10
|
+
token: {
|
|
11
|
+
type: string;
|
|
12
|
+
name: string;
|
|
13
|
+
address: string;
|
|
14
|
+
chain: number;
|
|
15
|
+
symbol: string;
|
|
16
|
+
decimals: number;
|
|
17
|
+
imgUrl: string;
|
|
18
|
+
};
|
|
19
|
+
}[];
|
|
20
|
+
marginBalances: unknown[];
|
|
21
|
+
collateralBalances: unknown[];
|
|
22
|
+
cefiPositions: unknown[];
|
|
23
|
+
defiPositions: unknown[];
|
|
24
|
+
trsPositions: unknown[];
|
|
25
|
+
strategyContractPositions: unknown[];
|
|
26
|
+
legacyHedgerPositions: unknown[];
|
|
27
|
+
otcPositions: unknown[];
|
|
28
|
+
totalValue: number;
|
|
29
|
+
discountedValue: number;
|
|
30
|
+
};
|
|
31
|
+
loanbook: {
|
|
32
|
+
loans: {
|
|
33
|
+
subaccountAddress: `0x${string}`;
|
|
34
|
+
book: {
|
|
35
|
+
address: `0x${string}`;
|
|
36
|
+
lender: `0x${string}`;
|
|
37
|
+
borrower: `0x${string}`;
|
|
38
|
+
state: string;
|
|
39
|
+
totalRepaid: number;
|
|
40
|
+
principalToken: {
|
|
41
|
+
type: string;
|
|
42
|
+
name: string;
|
|
43
|
+
address: string;
|
|
44
|
+
chain: number;
|
|
45
|
+
symbol: string;
|
|
46
|
+
decimals: number;
|
|
47
|
+
imgUrl: string;
|
|
48
|
+
tokenType: number;
|
|
49
|
+
discountFactor: number;
|
|
50
|
+
price: number;
|
|
51
|
+
};
|
|
52
|
+
principalAmount: number;
|
|
53
|
+
interestAmount: number;
|
|
54
|
+
upcomingPayment: {
|
|
55
|
+
amount: number;
|
|
56
|
+
dueDate: string;
|
|
57
|
+
};
|
|
58
|
+
apr: number;
|
|
59
|
+
initialPrincipalAmount: number;
|
|
60
|
+
deployedDate: string;
|
|
61
|
+
paymentInterval: number;
|
|
62
|
+
totalInterestPaymentFees: number;
|
|
63
|
+
};
|
|
64
|
+
isBorrow: boolean;
|
|
65
|
+
debtInfo: {
|
|
66
|
+
interestOwed: number;
|
|
67
|
+
principalDebtOwed: number;
|
|
68
|
+
interestRepaid: number;
|
|
69
|
+
};
|
|
70
|
+
creditInfo: {
|
|
71
|
+
netInterestOwed: number;
|
|
72
|
+
principalDebtOwed: number;
|
|
73
|
+
netInterestRepaid: number;
|
|
74
|
+
};
|
|
75
|
+
}[];
|
|
76
|
+
totalDebt: number;
|
|
77
|
+
totalCredit: number;
|
|
78
|
+
aggregatesByToken: unknown[];
|
|
79
|
+
};
|
|
80
|
+
chains: {
|
|
81
|
+
name: string;
|
|
82
|
+
chainId: number;
|
|
83
|
+
}[];
|
|
84
|
+
tokens: {
|
|
85
|
+
type: string;
|
|
86
|
+
name: string;
|
|
87
|
+
address: string;
|
|
88
|
+
chain: number;
|
|
89
|
+
symbol: string;
|
|
90
|
+
decimals: number;
|
|
91
|
+
imgUrl: string;
|
|
92
|
+
price: number;
|
|
93
|
+
rawBalance: number;
|
|
94
|
+
balance: number;
|
|
95
|
+
value: number;
|
|
96
|
+
}[];
|
|
97
|
+
totalAccountValue: number;
|
|
98
|
+
totalCollateralValue: number;
|
|
99
|
+
totalLoanValue: number;
|
|
100
|
+
healthFactor: number;
|
|
101
|
+
netAccountValue: number;
|
|
102
|
+
totalEquityValue: number;
|
|
103
|
+
};
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.transformSubaccountSummary = void 0;
|
|
4
|
+
const transformSubaccountSummary = (response) => {
|
|
5
|
+
return {
|
|
6
|
+
address: response.address,
|
|
7
|
+
name: response.name,
|
|
8
|
+
type: response.type,
|
|
9
|
+
portfolio: {
|
|
10
|
+
tokens: response.portfolio.tokens.map((t) => ({
|
|
11
|
+
value: t.value,
|
|
12
|
+
balance: t.balance,
|
|
13
|
+
token: {
|
|
14
|
+
type: t.token.type,
|
|
15
|
+
name: t.token.name,
|
|
16
|
+
address: t.token.address,
|
|
17
|
+
chain: t.token.chain,
|
|
18
|
+
symbol: t.token.symbol,
|
|
19
|
+
decimals: t.token.decimals,
|
|
20
|
+
imgUrl: t.token.img_url,
|
|
21
|
+
},
|
|
22
|
+
})),
|
|
23
|
+
marginBalances: response.portfolio.margin_balances,
|
|
24
|
+
collateralBalances: response.portfolio.collateral_balances,
|
|
25
|
+
cefiPositions: response.portfolio.cefi_positions,
|
|
26
|
+
defiPositions: response.portfolio.defi_positions,
|
|
27
|
+
trsPositions: response.portfolio.trs_positions,
|
|
28
|
+
strategyContractPositions: response.portfolio.strategy_contract_positions,
|
|
29
|
+
legacyHedgerPositions: response.portfolio.legacy_hedger_positions,
|
|
30
|
+
otcPositions: response.portfolio.otc_positions,
|
|
31
|
+
totalValue: response.portfolio.total_value,
|
|
32
|
+
discountedValue: response.portfolio.discounted_value,
|
|
33
|
+
},
|
|
34
|
+
loanbook: {
|
|
35
|
+
loans: response.loanbook.loans.map((loan) => ({
|
|
36
|
+
subaccountAddress: loan.subaccount_address,
|
|
37
|
+
book: {
|
|
38
|
+
address: loan.book.address,
|
|
39
|
+
lender: loan.book.lender,
|
|
40
|
+
borrower: loan.book.borrower,
|
|
41
|
+
state: loan.book.state,
|
|
42
|
+
totalRepaid: loan.book.total_repaid,
|
|
43
|
+
principalToken: {
|
|
44
|
+
type: loan.book.principal_token.type,
|
|
45
|
+
name: loan.book.principal_token.name,
|
|
46
|
+
address: loan.book.principal_token.address,
|
|
47
|
+
chain: loan.book.principal_token.chain,
|
|
48
|
+
symbol: loan.book.principal_token.symbol,
|
|
49
|
+
decimals: loan.book.principal_token.decimals,
|
|
50
|
+
imgUrl: loan.book.principal_token.img_url,
|
|
51
|
+
tokenType: loan.book.principal_token.token_type,
|
|
52
|
+
discountFactor: loan.book.principal_token.discount_factor,
|
|
53
|
+
price: loan.book.principal_token.price,
|
|
54
|
+
},
|
|
55
|
+
principalAmount: loan.book.principal_amount,
|
|
56
|
+
interestAmount: loan.book.interest_amount,
|
|
57
|
+
upcomingPayment: {
|
|
58
|
+
amount: loan.book.upcoming_payment.amount,
|
|
59
|
+
dueDate: loan.book.upcoming_payment.due_date,
|
|
60
|
+
},
|
|
61
|
+
apr: loan.book.apr,
|
|
62
|
+
initialPrincipalAmount: loan.book.initial_principal_amount,
|
|
63
|
+
deployedDate: loan.book.deployed_date,
|
|
64
|
+
paymentInterval: loan.book.payment_interval,
|
|
65
|
+
totalInterestPaymentFees: loan.book.total_interest_payment_fees,
|
|
66
|
+
},
|
|
67
|
+
isBorrow: loan.is_borrow,
|
|
68
|
+
debtInfo: {
|
|
69
|
+
interestOwed: loan.debt_info.interest_owed,
|
|
70
|
+
principalDebtOwed: loan.debt_info.principal_debt_owed,
|
|
71
|
+
interestRepaid: loan.debt_info.interest_repaid,
|
|
72
|
+
},
|
|
73
|
+
creditInfo: {
|
|
74
|
+
netInterestOwed: loan.credit_info.net_interest_owed,
|
|
75
|
+
principalDebtOwed: loan.credit_info.principal_debt_owed,
|
|
76
|
+
netInterestRepaid: loan.credit_info.net_interest_repaid,
|
|
77
|
+
},
|
|
78
|
+
})),
|
|
79
|
+
totalDebt: response.loanbook.total_debt,
|
|
80
|
+
totalCredit: response.loanbook.total_credit,
|
|
81
|
+
aggregatesByToken: response.loanbook.aggregates_by_token,
|
|
82
|
+
},
|
|
83
|
+
chains: response.chains.map((c) => ({
|
|
84
|
+
name: c.name,
|
|
85
|
+
chainId: c.chain_id,
|
|
86
|
+
})),
|
|
87
|
+
tokens: response.tokens.map((t) => ({
|
|
88
|
+
type: t.type,
|
|
89
|
+
name: t.name,
|
|
90
|
+
address: t.address,
|
|
91
|
+
chain: t.chain,
|
|
92
|
+
symbol: t.symbol,
|
|
93
|
+
decimals: t.decimals,
|
|
94
|
+
imgUrl: t.img_url,
|
|
95
|
+
price: t.price,
|
|
96
|
+
rawBalance: t.raw_balance,
|
|
97
|
+
balance: t.balance,
|
|
98
|
+
value: t.value,
|
|
99
|
+
})),
|
|
100
|
+
totalAccountValue: response.total_account_value,
|
|
101
|
+
totalCollateralValue: response.total_collateral_value,
|
|
102
|
+
totalLoanValue: response.total_loan_value,
|
|
103
|
+
healthFactor: response.health_factor,
|
|
104
|
+
netAccountValue: response.net_account_value,
|
|
105
|
+
totalEquityValue: response.total_equity_value,
|
|
106
|
+
};
|
|
107
|
+
};
|
|
108
|
+
exports.transformSubaccountSummary = transformSubaccountSummary;
|
|
109
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src.ts/modules/sub-accounts/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1208,7 +1208,7 @@ async function getVaultUserLifetimePnl({ vault, wallet, options, }) {
|
|
|
1208
1208
|
wallet,
|
|
1209
1209
|
options,
|
|
1210
1210
|
}),
|
|
1211
|
-
(0, core_1.fetchTokenizedVault)(vault, options?.headers),
|
|
1211
|
+
(0, core_1.fetchTokenizedVault)(vault, options?.headers, false, false),
|
|
1212
1212
|
]);
|
|
1213
1213
|
const tokenizedVault = tokenizedVaultResult?.[0];
|
|
1214
1214
|
if (!tokenizedVault) {
|
|
@@ -1247,19 +1247,62 @@ async function getVaultUserLifetimePnl({ vault, wallet, options, }) {
|
|
|
1247
1247
|
}
|
|
1248
1248
|
return { underlyingTokenSymbol, underlyingAssetAddress };
|
|
1249
1249
|
})();
|
|
1250
|
-
|
|
1251
|
-
let
|
|
1250
|
+
const depositsByAsset = new Map();
|
|
1251
|
+
let totalWithdrawalsInShares = BigInt(0);
|
|
1252
|
+
let totalWithdrawalsInAssets = BigInt(0);
|
|
1252
1253
|
for (const historyItem of userHistory) {
|
|
1253
1254
|
const amount = BigInt(historyItem.amount);
|
|
1255
|
+
if ((0, core_1.isBadTransaction)(historyItem.transactionHash_, tokenizedVault.chain)) {
|
|
1256
|
+
continue;
|
|
1257
|
+
}
|
|
1254
1258
|
if (historyItem.type === 'deposit') {
|
|
1255
|
-
|
|
1259
|
+
const assetKey = 'assetIn' in historyItem && typeof historyItem.assetIn === 'string'
|
|
1260
|
+
? historyItem.assetIn.toLowerCase()
|
|
1261
|
+
: 'default';
|
|
1262
|
+
const current = depositsByAsset.get(assetKey) ?? BigInt(0);
|
|
1263
|
+
depositsByAsset.set(assetKey, current + amount);
|
|
1264
|
+
}
|
|
1265
|
+
else if (historyItem.type === 'withdraw-request') {
|
|
1266
|
+
totalWithdrawalsInShares += amount;
|
|
1256
1267
|
}
|
|
1257
|
-
else if (historyItem.type === 'withdraw-
|
|
1258
|
-
|
|
1259
|
-
|
|
1268
|
+
else if (historyItem.type === 'withdraw-processed' &&
|
|
1269
|
+
historyItem.isInstant) {
|
|
1270
|
+
totalWithdrawalsInAssets += amount;
|
|
1260
1271
|
}
|
|
1261
1272
|
}
|
|
1262
|
-
const
|
|
1273
|
+
const assetDecimals = new Map();
|
|
1274
|
+
await Promise.all(Array.from(depositsByAsset.keys()).map(async (assetAddress) => {
|
|
1275
|
+
if (assetAddress === 'default') {
|
|
1276
|
+
assetDecimals.set(assetAddress, decimals);
|
|
1277
|
+
}
|
|
1278
|
+
else {
|
|
1279
|
+
const dec = await (0, core_1.getDecimals)(provider, assetAddress, false);
|
|
1280
|
+
assetDecimals.set(assetAddress, dec);
|
|
1281
|
+
}
|
|
1282
|
+
}));
|
|
1283
|
+
const totalDepositedRaw = new Map();
|
|
1284
|
+
for (const [assetAddress, rawAmount] of depositsByAsset) {
|
|
1285
|
+
const assetDec = assetDecimals.get(assetAddress) ?? decimals;
|
|
1286
|
+
totalDepositedRaw.set(assetAddress, (0, core_1.toNormalizedBn)(rawAmount, assetDec));
|
|
1287
|
+
}
|
|
1288
|
+
const assetPrices = new Map();
|
|
1289
|
+
if (tokenizedVault.chain) {
|
|
1290
|
+
await Promise.all(Array.from(depositsByAsset.keys()).map(async (assetAddress) => {
|
|
1291
|
+
if (assetAddress === 'default') {
|
|
1292
|
+
assetPrices.set(assetAddress, 0);
|
|
1293
|
+
}
|
|
1294
|
+
else {
|
|
1295
|
+
try {
|
|
1296
|
+
const price = await (0, core_1.fetchTokenPriceByAddress)(assetAddress, tokenizedVault.chain, options?.headers);
|
|
1297
|
+
assetPrices.set(assetAddress, price);
|
|
1298
|
+
}
|
|
1299
|
+
catch (error) {
|
|
1300
|
+
core_1.Logger.log.warn('getVaultUserLifetimePnl:fetchAssetPrice', `Failed to fetch price for ${assetAddress}: ${error}`);
|
|
1301
|
+
assetPrices.set(assetAddress, 0);
|
|
1302
|
+
}
|
|
1303
|
+
}
|
|
1304
|
+
}));
|
|
1305
|
+
}
|
|
1263
1306
|
const { underlyingTokenSymbol, underlyingAssetAddress } = await underlyingSymbolPromise;
|
|
1264
1307
|
let currentPositionValue = (0, core_1.toNormalizedBn)(0, decimals);
|
|
1265
1308
|
const pricePromise = underlyingAssetAddress && tokenizedVault.chain
|
|
@@ -1311,25 +1354,42 @@ async function getVaultUserLifetimePnl({ vault, wallet, options, }) {
|
|
|
1311
1354
|
currentPositionValue = currentPosition.walletBalance;
|
|
1312
1355
|
}
|
|
1313
1356
|
}
|
|
1314
|
-
let
|
|
1357
|
+
let totalWithdrawnRaw = totalWithdrawalsInAssets;
|
|
1315
1358
|
if (version === 'evm-2' && sharePriceRaw > BigInt(0)) {
|
|
1316
|
-
|
|
1317
|
-
(
|
|
1359
|
+
totalWithdrawnRaw +=
|
|
1360
|
+
(totalWithdrawalsInShares * sharePriceRaw) / BigInt(10 ** decimals);
|
|
1361
|
+
}
|
|
1362
|
+
else {
|
|
1363
|
+
totalWithdrawnRaw += totalWithdrawalsInShares;
|
|
1318
1364
|
}
|
|
1319
|
-
const tokenPriceUsd = await pricePromise;
|
|
1320
|
-
const totalWithdrawnRaw = totalWithdrawalsRequestedInAssetsRaw;
|
|
1321
1365
|
const totalWithdrawn = (0, core_1.toNormalizedBn)(totalWithdrawnRaw, decimals);
|
|
1322
|
-
const
|
|
1323
|
-
const
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1366
|
+
const tokenPriceUsd = await pricePromise;
|
|
1367
|
+
const effectiveTokenPrice = tokenPriceUsd > 0 ? tokenPriceUsd : 1;
|
|
1368
|
+
if (tokenPriceUsd <= 0) {
|
|
1369
|
+
core_1.Logger.log.warn('getVaultUserLifetimePnl:tokenPrice', `Invalid underlying token price: ${tokenPriceUsd}, using fallback of 1`);
|
|
1370
|
+
}
|
|
1371
|
+
let totalDepositedUsd = 0;
|
|
1372
|
+
for (const [assetAddress, normalizedAmount] of totalDepositedRaw) {
|
|
1373
|
+
const assetPrice = assetAddress === 'default'
|
|
1374
|
+
? effectiveTokenPrice
|
|
1375
|
+
: assetPrices.get(assetAddress) || effectiveTokenPrice;
|
|
1376
|
+
totalDepositedUsd += Number(normalizedAmount.normalized) * assetPrice;
|
|
1377
|
+
}
|
|
1378
|
+
const totalWithdrawnUsd = Number(totalWithdrawn.normalized) * effectiveTokenPrice;
|
|
1379
|
+
const currentPositionValueUsd = Number(currentPositionValue.normalized) * effectiveTokenPrice;
|
|
1380
|
+
const lifetimePnlUsd = currentPositionValueUsd + totalWithdrawnUsd - totalDepositedUsd;
|
|
1381
|
+
const scaleFactor = BigInt(10 ** 18);
|
|
1382
|
+
const tokenPriceScaled = BigInt(Math.round(effectiveTokenPrice * Number(scaleFactor)));
|
|
1383
|
+
const totalDepositedUsdScaled = BigInt(Math.round(totalDepositedUsd * Number(scaleFactor)));
|
|
1384
|
+
const totalDepositedNativeRaw = tokenPriceScaled > BigInt(0)
|
|
1385
|
+
? (totalDepositedUsdScaled * BigInt(10 ** decimals)) / tokenPriceScaled
|
|
1386
|
+
: BigInt(0);
|
|
1387
|
+
const totalDeposited = (0, core_1.toNormalizedBn)(totalDepositedNativeRaw, decimals);
|
|
1388
|
+
const lifetimePnlUsdScaled = BigInt(Math.round(lifetimePnlUsd * Number(scaleFactor)));
|
|
1389
|
+
const lifetimePnlRaw = tokenPriceScaled > BigInt(0)
|
|
1390
|
+
? (lifetimePnlUsdScaled * BigInt(10 ** decimals)) / tokenPriceScaled
|
|
1391
|
+
: BigInt(0);
|
|
1329
1392
|
const lifetimePnl = (0, core_1.toNormalizedBn)(lifetimePnlRaw, decimals);
|
|
1330
|
-
const lifetimePnlUsd = currentPositionValueUsd +
|
|
1331
|
-
Number(totalWithdrawalsRequestedInAssets.normalized) * tokenPriceUsd -
|
|
1332
|
-
totalDepositedUsd;
|
|
1333
1393
|
const pnlPercentage = totalDepositedUsd > 0
|
|
1334
1394
|
? Number.parseFloat(((lifetimePnlUsd / totalDepositedUsd) * 100).toFixed(2))
|
|
1335
1395
|
: 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getters.js","sourceRoot":"","sources":["../../../src.ts/modules/vaults/getters.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getters.js","sourceRoot":"","sources":["../../../src.ts/modules/vaults/getters.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,3 +6,99 @@ export interface IWSSubAccountHealthFactor {
|
|
|
6
6
|
total_collateral_value: number;
|
|
7
7
|
total_loan_value: number;
|
|
8
8
|
}
|
|
9
|
+
export interface IWSSubaccountSummaryToken {
|
|
10
|
+
type: string;
|
|
11
|
+
name: string;
|
|
12
|
+
address: string;
|
|
13
|
+
chain: number;
|
|
14
|
+
symbol: string;
|
|
15
|
+
decimals: number;
|
|
16
|
+
img_url: string;
|
|
17
|
+
}
|
|
18
|
+
export interface IWSSubaccountSummaryPortfolioToken {
|
|
19
|
+
value: number;
|
|
20
|
+
balance: number;
|
|
21
|
+
token: IWSSubaccountSummaryToken;
|
|
22
|
+
}
|
|
23
|
+
export interface IWSSubaccountSummaryFullToken extends IWSSubaccountSummaryToken {
|
|
24
|
+
price: number;
|
|
25
|
+
raw_balance: number;
|
|
26
|
+
balance: number;
|
|
27
|
+
value: number;
|
|
28
|
+
}
|
|
29
|
+
export interface IWSSubaccountSummaryChain {
|
|
30
|
+
name: string;
|
|
31
|
+
chain_id: number;
|
|
32
|
+
}
|
|
33
|
+
export interface IWSSubaccountSummaryLoanBook {
|
|
34
|
+
address: IAddress;
|
|
35
|
+
lender: IAddress;
|
|
36
|
+
borrower: IAddress;
|
|
37
|
+
state: string;
|
|
38
|
+
total_repaid: number;
|
|
39
|
+
principal_token: IWSSubaccountSummaryToken & {
|
|
40
|
+
token_type: number;
|
|
41
|
+
discount_factor: number;
|
|
42
|
+
price: number;
|
|
43
|
+
};
|
|
44
|
+
principal_amount: number;
|
|
45
|
+
interest_amount: number;
|
|
46
|
+
upcoming_payment: {
|
|
47
|
+
amount: number;
|
|
48
|
+
due_date: string;
|
|
49
|
+
};
|
|
50
|
+
apr: number;
|
|
51
|
+
initial_principal_amount: number;
|
|
52
|
+
deployed_date: string;
|
|
53
|
+
payment_interval: number;
|
|
54
|
+
total_interest_payment_fees: number;
|
|
55
|
+
}
|
|
56
|
+
export interface IWSSubaccountSummaryLoan {
|
|
57
|
+
subaccount_address: IAddress;
|
|
58
|
+
book: IWSSubaccountSummaryLoanBook;
|
|
59
|
+
is_borrow: boolean;
|
|
60
|
+
debt_info: {
|
|
61
|
+
interest_owed: number;
|
|
62
|
+
principal_debt_owed: number;
|
|
63
|
+
interest_repaid: number;
|
|
64
|
+
};
|
|
65
|
+
credit_info: {
|
|
66
|
+
net_interest_owed: number;
|
|
67
|
+
principal_debt_owed: number;
|
|
68
|
+
net_interest_repaid: number;
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
export interface IWSSubaccountSummaryLoanbook {
|
|
72
|
+
loans: IWSSubaccountSummaryLoan[];
|
|
73
|
+
total_debt: number;
|
|
74
|
+
total_credit: number;
|
|
75
|
+
aggregates_by_token: unknown[];
|
|
76
|
+
}
|
|
77
|
+
export interface IWSSubaccountSummaryPortfolio {
|
|
78
|
+
tokens: IWSSubaccountSummaryPortfolioToken[];
|
|
79
|
+
margin_balances: unknown[];
|
|
80
|
+
collateral_balances: unknown[];
|
|
81
|
+
cefi_positions: unknown[];
|
|
82
|
+
defi_positions: unknown[];
|
|
83
|
+
trs_positions: unknown[];
|
|
84
|
+
strategy_contract_positions: unknown[];
|
|
85
|
+
legacy_hedger_positions: unknown[];
|
|
86
|
+
otc_positions: unknown[];
|
|
87
|
+
total_value: number;
|
|
88
|
+
discounted_value: number;
|
|
89
|
+
}
|
|
90
|
+
export interface IWSSubaccountSummary {
|
|
91
|
+
address: IAddress;
|
|
92
|
+
name: string;
|
|
93
|
+
type: 'subaccount' | 'eoa';
|
|
94
|
+
portfolio: IWSSubaccountSummaryPortfolio;
|
|
95
|
+
loanbook: IWSSubaccountSummaryLoanbook;
|
|
96
|
+
chains: IWSSubaccountSummaryChain[];
|
|
97
|
+
tokens: IWSSubaccountSummaryFullToken[];
|
|
98
|
+
total_account_value: number;
|
|
99
|
+
total_collateral_value: number;
|
|
100
|
+
total_loan_value: number;
|
|
101
|
+
health_factor: number | null;
|
|
102
|
+
net_account_value: number;
|
|
103
|
+
total_equity_value: number;
|
|
104
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@augustdigital/sdk",
|
|
3
|
-
"version": "4.24.0",
|
|
3
|
+
"version": "4.24.2-alpha.0",
|
|
4
4
|
"main": "lib/index.js",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"augustdigital",
|
|
@@ -12,6 +12,16 @@
|
|
|
12
12
|
"author": "August Digital",
|
|
13
13
|
"license": "MIT",
|
|
14
14
|
"description": "JS SDK powering the August Digital ecosystem.",
|
|
15
|
+
"scripts": {
|
|
16
|
+
"build": "tsc",
|
|
17
|
+
"test": "pnpm build && cross-env node dist/test",
|
|
18
|
+
"test:jest": "jest",
|
|
19
|
+
"test:jest:watch": "jest --watch",
|
|
20
|
+
"test:jest:coverage": "jest --coverage",
|
|
21
|
+
"clean": "rm -rf ./lib",
|
|
22
|
+
"format": "eslint . --fix",
|
|
23
|
+
"lint-sdk": "lint-staged"
|
|
24
|
+
},
|
|
15
25
|
"lint-staged": {
|
|
16
26
|
"*.{ts,tsx,js,jsx,json}": [
|
|
17
27
|
"eslint --fix"
|
|
@@ -53,15 +63,5 @@
|
|
|
53
63
|
"viem": {
|
|
54
64
|
"optional": true
|
|
55
65
|
}
|
|
56
|
-
},
|
|
57
|
-
"scripts": {
|
|
58
|
-
"build": "tsc",
|
|
59
|
-
"test": "pnpm build && cross-env node dist/test",
|
|
60
|
-
"test:jest": "jest",
|
|
61
|
-
"test:jest:watch": "jest --watch",
|
|
62
|
-
"test:jest:coverage": "jest --coverage",
|
|
63
|
-
"clean": "rm -rf ./lib",
|
|
64
|
-
"format": "eslint . --fix",
|
|
65
|
-
"lint-sdk": "lint-staged"
|
|
66
66
|
}
|
|
67
|
-
}
|
|
67
|
+
}
|