@augustdigital/sdk 4.4.1 → 4.4.3-alpha

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 (36) hide show
  1. package/lib/core/constants.d.ts +88 -0
  2. package/lib/core/constants.js +148 -0
  3. package/lib/core/constants.js.map +1 -0
  4. package/lib/core/constants.web3.js +5 -0
  5. package/lib/core/constants.web3.js.map +1 -1
  6. package/lib/core/core.helpers.d.ts +23 -0
  7. package/lib/core/core.helpers.js +210 -0
  8. package/lib/core/core.helpers.js.map +1 -0
  9. package/lib/core/read.actions.d.ts +3 -0
  10. package/lib/core/read.actions.js +39 -0
  11. package/lib/core/read.actions.js.map +1 -0
  12. package/lib/core/web3.helpers.d.ts +29 -0
  13. package/lib/core/web3.helpers.js +356 -0
  14. package/lib/core/web3.helpers.js.map +1 -0
  15. package/lib/core/write.actions.d.ts +9 -0
  16. package/lib/core/write.actions.js +51 -0
  17. package/lib/core/write.actions.js.map +1 -0
  18. package/lib/main.d.ts +3 -0
  19. package/lib/main.js +4 -0
  20. package/lib/main.js.map +1 -1
  21. package/lib/modules/vaults/constants.d.ts +65 -0
  22. package/lib/modules/vaults/constants.js +194 -0
  23. package/lib/modules/vaults/constants.js.map +1 -0
  24. package/lib/modules/vaults/getters.d.ts +3 -0
  25. package/lib/modules/vaults/getters.js +5 -0
  26. package/lib/modules/vaults/getters.js.map +1 -1
  27. package/lib/modules/vaults/main.d.ts +3 -0
  28. package/lib/modules/vaults/main.js +4 -0
  29. package/lib/modules/vaults/main.js.map +1 -1
  30. package/lib/modules/vaults/vault.actions.d.ts +10 -0
  31. package/lib/modules/vaults/vault.actions.js +95 -0
  32. package/lib/modules/vaults/vault.actions.js.map +1 -0
  33. package/lib/verify.d.ts +2 -0
  34. package/lib/verify.js +33 -0
  35. package/lib/verify.js.map +1 -0
  36. package/package.json +12 -12
@@ -0,0 +1,88 @@
1
+ import { IAddress, IChainId, IChainObj } from '../types';
2
+ export declare const REQUEST_TIMEOUT_MS = 90000;
3
+ export declare const WEBSERVER_URL: {
4
+ production: string;
5
+ development: string;
6
+ localhost: string;
7
+ qa: string;
8
+ public: string;
9
+ };
10
+ export declare const WEBSERVER_ENDPOINTS: {
11
+ default: {
12
+ hello: string;
13
+ protected: string;
14
+ };
15
+ auth: {
16
+ verify: string;
17
+ sign: string;
18
+ login: string;
19
+ nonce: string;
20
+ refresh: string;
21
+ };
22
+ subaccount: {
23
+ rewards: (subaccount: IAddress) => string;
24
+ tokens: (subaccount: IAddress) => string;
25
+ twap: {
26
+ create: (subaccount: IAddress) => string;
27
+ stop: (subaccount: IAddress, id: string) => string;
28
+ fills: (subaccount: IAddress, id: string) => string;
29
+ };
30
+ debank: (subaccount: IAddress) => string;
31
+ health_factor: (subaccount: IAddress) => string;
32
+ summary: (subaccount: IAddress) => string;
33
+ batch: (subaccount: IAddress) => string;
34
+ loans: (subaccount: IAddress, side?: "BORROWER" | "LENDER" | "BOTH") => string;
35
+ cefi: (subaccount: IAddress) => string;
36
+ otc_positions: (subaccount: IAddress) => string;
37
+ _: (subaccount: IAddress) => string;
38
+ };
39
+ users: {
40
+ get: string;
41
+ };
42
+ prices: (symbol: string) => string;
43
+ metrics: {
44
+ pnl: (subaccount: IAddress, startTime?: string, endTime?: string) => string;
45
+ };
46
+ public: {
47
+ integrations: {
48
+ morpho: {
49
+ apy: (subaccount: IAddress, vaultAddress: IAddress) => string;
50
+ };
51
+ };
52
+ tokenizedVault: {
53
+ loans: (vaultAddress: IAddress, chainId: number, active: boolean) => string;
54
+ list: string;
55
+ byVaultAddress: (vaultAddress: IAddress) => string;
56
+ historicalApy: (vaultAddress: IAddress) => string;
57
+ };
58
+ };
59
+ };
60
+ export declare const SPECIAL_CHAINS: {
61
+ solana: {
62
+ name: string;
63
+ chainId: number;
64
+ explorer: string;
65
+ };
66
+ };
67
+ export declare const NATIVE_ADDRESS = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
68
+ export declare const MIN_ABIS: {
69
+ name: string;
70
+ symbol: string;
71
+ decimals: string;
72
+ totalSupply: string;
73
+ approve: string;
74
+ allowance: string;
75
+ managementFeePercent: string;
76
+ };
77
+ export declare const ORACLE_CONTRACTS: {
78
+ 1: string;
79
+ 43114: string;
80
+ 42161: string;
81
+ 8453: string;
82
+ 10: string;
83
+ };
84
+ export declare const NETWORKS: Record<IChainId, IChainObj>;
85
+ export declare const AVAILABLE_CHAINS: IChainId[];
86
+ export declare const FALLBACK_DECIMALS = 18;
87
+ export declare const FALLBACK_CHAINID = 42161;
88
+ export declare const FALLBACK_RPC_URLS: Record<number, string[]>;
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FALLBACK_RPC_URLS = exports.FALLBACK_CHAINID = exports.FALLBACK_DECIMALS = exports.AVAILABLE_CHAINS = exports.NETWORKS = exports.ORACLE_CONTRACTS = exports.MIN_ABIS = exports.NATIVE_ADDRESS = exports.SPECIAL_CHAINS = exports.WEBSERVER_ENDPOINTS = exports.WEBSERVER_URL = exports.REQUEST_TIMEOUT_MS = void 0;
4
+ const ethers_1 = require("ethers");
5
+ exports.REQUEST_TIMEOUT_MS = 90000;
6
+ exports.WEBSERVER_URL = {
7
+ production: 'https://backend.fractalprotocol.org',
8
+ development: 'https://backend-dev.augustdigital.io',
9
+ localhost: 'http://127.0.0.1:8000',
10
+ qa: 'https://backend-qa.augustdigital.io',
11
+ public: 'https://api.augustdigital.io/api/v1',
12
+ };
13
+ exports.WEBSERVER_ENDPOINTS = {
14
+ default: {
15
+ hello: '/hello',
16
+ protected: '/protected',
17
+ },
18
+ auth: {
19
+ verify: '/auth/secret',
20
+ sign: '/auth/sign',
21
+ login: '/auth/login',
22
+ nonce: '/auth/nonce',
23
+ refresh: '/auth/refresh',
24
+ },
25
+ subaccount: {
26
+ rewards: (subaccount) => `/subaccount/${(0, ethers_1.getAddress)(subaccount)}/rewards`,
27
+ tokens: (subaccount) => `/subaccount/${(0, ethers_1.getAddress)(subaccount)}/tokens`,
28
+ twap: {
29
+ create: (subaccount) => `/subaccount/${(0, ethers_1.getAddress)(subaccount)}/twap`,
30
+ stop: (subaccount, id) => `/subaccount/${(0, ethers_1.getAddress)(subaccount)}/twap/${id}/stop`,
31
+ fills: (subaccount, id) => `/subaccount/${(0, ethers_1.getAddress)(subaccount)}/twap/${id}/fills`,
32
+ },
33
+ debank: (subaccount) => `/subaccount/${(0, ethers_1.getAddress)(subaccount)}/debank`,
34
+ health_factor: (subaccount) => `/subaccount/${subaccount}/health_factor`,
35
+ summary: (subaccount) => `/subaccount/${(0, ethers_1.getAddress)(subaccount)}/summary`,
36
+ batch: (subaccount) => `/subaccount/${(0, ethers_1.getAddress)(subaccount)}/tx_batcher_integrations`,
37
+ loans: (subaccount, side = 'BOTH') => `/subaccount/${subaccount}/loans?side=${side}`,
38
+ cefi: (subaccount) => `/subaccount/${subaccount}/cefi_position`,
39
+ otc_positions: (subaccount) => `/subaccount/${subaccount}/otc_positions`,
40
+ _: (subaccount) => `/subaccount/${(0, ethers_1.getAddress)(subaccount)}`,
41
+ },
42
+ users: {
43
+ get: '/users',
44
+ },
45
+ prices: (symbol) => `/prices/${symbol}`,
46
+ metrics: {
47
+ pnl: (subaccount, startTime, endTime) => `/metrics/pnl?subaccount_address=${(0, ethers_1.getAddress)(subaccount)}${startTime && endTime ? `&start=${startTime}&end=${endTime}` : ''}`,
48
+ },
49
+ public: {
50
+ integrations: {
51
+ morpho: {
52
+ apy: (subaccount, vaultAddress) => `/integrations/morpho/apy?subaccount_address=${(0, ethers_1.getAddress)(subaccount)}&vault_address=${(0, ethers_1.getAddress)(vaultAddress)}`,
53
+ },
54
+ },
55
+ tokenizedVault: {
56
+ loans: (vaultAddress, chainId, active) => `/upshift/lending_pool/loanbook?address=${vaultAddress}&chain=${chainId}&active=${active}`,
57
+ list: '/tokenized_vault',
58
+ byVaultAddress: (vaultAddress) => `/tokenized_vault/${vaultAddress}`,
59
+ historicalApy: (vaultAddress) => `/upshift/historical_apy/chart?vault_address=${vaultAddress}`,
60
+ },
61
+ },
62
+ };
63
+ exports.SPECIAL_CHAINS = {
64
+ solana: {
65
+ name: 'Solana',
66
+ chainId: -1,
67
+ explorer: 'https://solscan.io',
68
+ },
69
+ };
70
+ exports.NATIVE_ADDRESS = '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE';
71
+ exports.MIN_ABIS = {
72
+ name: 'function name() view returns (string)',
73
+ symbol: 'function symbol() view returns (string)',
74
+ decimals: 'function decimals() view returns (uint8)',
75
+ totalSupply: 'function totalSupply() view returns (uint256)',
76
+ approve: 'function approve(address spender, uint256 value) external returns (bool success)',
77
+ allowance: 'function allowance(address owner, address spender) external view returns (uint256)',
78
+ managementFeePercent: 'function managementFeePercent() view returns (uint256)',
79
+ };
80
+ exports.ORACLE_CONTRACTS = {
81
+ 1: '0xA4E24C498D5B28517787D8407eFdcB157A4FbF50',
82
+ 43114: '0x755537Cb5C76E06Bb492CF7c73567e252769c5f5',
83
+ 42161: '0x24F7BC5CA6E4b53cF7311dE1f5bF8Ba528400E1e',
84
+ 8453: '0x07858dF2D8D9aB1DCAAA8b743eb80C6250DFA947',
85
+ 10: '0xe0049eBCCB23Cb81c3d4C9Fa175b32876b70C2AB',
86
+ };
87
+ exports.NETWORKS = {
88
+ 1: {
89
+ name: 'Ethereum',
90
+ chainId: 1,
91
+ explorer: 'https://etherscan.io',
92
+ },
93
+ 42161: {
94
+ name: 'Arbitrum One',
95
+ chainId: 42161,
96
+ explorer: 'https://arbiscan.io',
97
+ },
98
+ 8453: {
99
+ name: 'Base',
100
+ chainId: 8453,
101
+ explorer: 'https://basescan.org',
102
+ },
103
+ 43114: {
104
+ name: 'Avalanche',
105
+ chainId: 43114,
106
+ explorer: 'https://snowscan.xyz',
107
+ },
108
+ 137: {
109
+ name: 'Polygon',
110
+ chainId: 137,
111
+ explorer: 'https://polygonscan.com',
112
+ },
113
+ 56: {
114
+ name: 'BNB Smart Chain',
115
+ chainId: 56,
116
+ explorer: 'https://bscscan.com',
117
+ },
118
+ 999: {
119
+ name: 'HyperEVM',
120
+ chainId: 999,
121
+ explorer: 'https://hyperevmscan.io',
122
+ },
123
+ 130: {
124
+ name: 'Unichain',
125
+ chainId: 130,
126
+ explorer: 'https://uniscan.xyz',
127
+ },
128
+ 31612: {
129
+ name: 'Mezo',
130
+ chainId: 31612,
131
+ explorer: 'https://explorer.mezo.org',
132
+ },
133
+ };
134
+ exports.AVAILABLE_CHAINS = Object.keys(exports.NETWORKS).map((c) => Number(c));
135
+ exports.FALLBACK_DECIMALS = 18;
136
+ exports.FALLBACK_CHAINID = 42161;
137
+ exports.FALLBACK_RPC_URLS = {
138
+ 1: ['https://ethereum-rpc.publicnode.com'],
139
+ 999: ['https://rpc.hyperliquid.xyz/evm'],
140
+ 239: ['https://rpc.ankr.com/tac'],
141
+ 80094: ['https://berachain-rpc.publicnode.com'],
142
+ 59144: ['https://linea-rpc.publicnode.com'],
143
+ 43111: ['https://rpc.hemi.network/rpc'],
144
+ 146: ['https://rpc.soniclabs.com'],
145
+ 534352: ['https://scroll.api.onfinality.io/public'],
146
+ 10: ['https://optimism-mainnet.public.blastapi.io'],
147
+ };
148
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src.ts/core/constants.ts"],"names":[],"mappings":"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"}
@@ -71,6 +71,11 @@ exports.NETWORKS = {
71
71
  chainId: 31612,
72
72
  explorer: 'https://explorer.mezo.org',
73
73
  },
74
+ 143: {
75
+ name: 'Monad',
76
+ chainId: 143,
77
+ explorer: ' https://mainnet-beta.monvision.io',
78
+ },
74
79
  9745: {
75
80
  name: 'Plasma',
76
81
  chainId: 9745,
@@ -1 +1 @@
1
- {"version":3,"file":"constants.web3.js","sourceRoot":"","sources":["../../src.ts/core/constants.web3.ts"],"names":[],"mappings":";;;AAGa,QAAA,cAAc,GAAG;IAC5B,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,CAAC,CAAC;QACX,QAAQ,EAAE,oBAAoB;KAC/B;CACF,CAAC;AAGW,QAAA,cAAc,GAAG,4CAA4C,CAAC;AAE9D,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,uCAAuC;IAC7C,MAAM,EAAE,yCAAyC;IACjD,QAAQ,EAAE,0CAA0C;IACpD,WAAW,EAAE,+CAA+C;IAC5D,OAAO,EACL,kFAAkF;IACpF,SAAS,EACP,oFAAoF;IACtF,oBAAoB,EAClB,wDAAwD;CAC3D,CAAC;AAGW,QAAA,gBAAgB,GAAG;IAC9B,CAAC,EAAE,4CAA4C;IAC/C,KAAK,EAAE,4CAA4C;IACnD,KAAK,EAAE,4CAA4C;IACnD,IAAI,EAAE,4CAA4C;IAClD,EAAE,EAAE,4CAA4C;CACjD,CAAC;AAKW,QAAA,QAAQ,GAAgC;IACnD,CAAC,EAAE;QACD,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,sBAAsB;KACjC;IACD,KAAK,EAAE;QACL,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,qBAAqB;KAChC;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,sBAAsB;KACjC;IACD,KAAK,EAAE;QACL,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,sBAAsB;KACjC;IACD,GAAG,EAAE;QACH,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,GAAG;QACZ,QAAQ,EAAE,yBAAyB;KACpC;IACD,EAAE,EAAE;QACF,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,qBAAqB;KAChC;IACD,GAAG,EAAE;QACH,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,GAAG;QACZ,QAAQ,EAAE,yBAAyB;KACpC;IACD,GAAG,EAAE;QACH,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,GAAG;QACZ,QAAQ,EAAE,qBAAqB;KAChC;IACD,KAAK,EAAE;QACL,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,2BAA2B;KACtC;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,uBAAuB;KAClC;CACF,CAAC;AAEW,QAAA,gBAAgB,GAAe,MAAM,CAAC,IAAI,CAAC,gBAAQ,CAAC,CAAC,GAAG,CACnE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAa,CAC7B,CAAC;AAKW,QAAA,iBAAiB,GAAG,EAAE,CAAC;AAEvB,QAAA,gBAAgB,GAAG,KAAK,CAAC;AAEzB,QAAA,iBAAiB,GAA6B;IAEzD,CAAC,EAAE,CAAC,qCAAqC,CAAC;IAE1C,GAAG,EAAE,CAAC,iCAAiC,CAAC;IACxC,GAAG,EAAE,CAAC,0BAA0B,CAAC;IACjC,KAAK,EAAE,CAAC,sCAAsC,CAAC;IAC/C,KAAK,EAAE,CAAC,kCAAkC,CAAC;IAC3C,KAAK,EAAE,CAAC,8BAA8B,CAAC;IACvC,GAAG,EAAE,CAAC,2BAA2B,CAAC;IAClC,MAAM,EAAE,CAAC,yCAAyC,CAAC;IACnD,EAAE,EAAE,CAAC,6CAA6C,CAAC;IACnD,IAAI,EAAE,CAAC,uBAAuB,CAAC;CAIhC,CAAC"}
1
+ {"version":3,"file":"constants.web3.js","sourceRoot":"","sources":["../../src.ts/core/constants.web3.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { INormalizedNumber } from '../types';
2
+ export declare function toNormalizedBn(value: string | bigint | number, decimals?: number | BigInt): INormalizedNumber;
3
+ export declare function getFallbackRpcUrls(chainId: number): string[];
4
+ export declare const filterOutBySize: (usdAmount: number) => boolean;
5
+ export declare function toTitleCase(str: string, type?: 'camel'): string;
6
+ export declare function truncate(s: string, amount?: number): string;
7
+ export declare function round(value: number | string | bigint, options?: {
8
+ showing?: number | 'all';
9
+ usd?: boolean;
10
+ decimals?: number;
11
+ }): string;
12
+ export declare function loanStateToReadable(loanState: number | bigint): "PREAPPROVED" | "FUNDING_REQUIRED" | "FUNDED" | "ACTIVE" | "CANCELLED" | "MATURED" | "CLOSED";
13
+ export declare function dateToUnix(date: Date): number;
14
+ export declare function unixToDate(epoch: number): Date;
15
+ export declare function isEarlierThanNow(startTime: Date): boolean;
16
+ export declare function daysAgo(days: number): Date;
17
+ export declare function prepareDateForDb(date: string | Date): string;
18
+ export declare function orderObjArrByDate(objectArray: any[], options?: {
19
+ key?: string;
20
+ order?: 'asc' | 'desc';
21
+ }): any[];
22
+ export declare function calculateWeights(data?: Array<any>, weightProperty?: string): any[];
23
+ export declare function calculateWeightedAverage(data?: Array<any>, valueProperty?: string, weightProperty?: string): any;
@@ -0,0 +1,210 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.filterOutBySize = void 0;
4
+ exports.toNormalizedBn = toNormalizedBn;
5
+ exports.getFallbackRpcUrls = getFallbackRpcUrls;
6
+ exports.toTitleCase = toTitleCase;
7
+ exports.truncate = truncate;
8
+ exports.round = round;
9
+ exports.loanStateToReadable = loanStateToReadable;
10
+ exports.dateToUnix = dateToUnix;
11
+ exports.unixToDate = unixToDate;
12
+ exports.isEarlierThanNow = isEarlierThanNow;
13
+ exports.daysAgo = daysAgo;
14
+ exports.prepareDateForDb = prepareDateForDb;
15
+ exports.orderObjArrByDate = orderObjArrByDate;
16
+ exports.calculateWeights = calculateWeights;
17
+ exports.calculateWeightedAverage = calculateWeightedAverage;
18
+ const constants_1 = require("./constants");
19
+ const ethers_1 = require("ethers");
20
+ function toNormalizedBn(value, decimals = 18) {
21
+ if (!value)
22
+ return { normalized: '0', raw: BigInt(0).toString() };
23
+ const sanitize = (val, decimals) => {
24
+ const [whole, frac = ''] = val.split('.');
25
+ const trimmedFrac = frac.slice(0, decimals);
26
+ return trimmedFrac ? `${whole}.${trimmedFrac}` : whole;
27
+ };
28
+ if (typeof value === 'string' || typeof value === 'number') {
29
+ const strVal = String(value);
30
+ const safeVal = sanitize(strVal, Number(decimals));
31
+ return {
32
+ normalized: safeVal,
33
+ raw: (0, ethers_1.parseUnits)(safeVal, Number(decimals)).toString(),
34
+ };
35
+ }
36
+ else {
37
+ return {
38
+ normalized: (0, ethers_1.formatUnits)(value, Number(decimals)) ?? '0',
39
+ raw: value.toString(),
40
+ };
41
+ }
42
+ }
43
+ function getFallbackRpcUrls(chainId) {
44
+ return constants_1.FALLBACK_RPC_URLS[chainId] || [];
45
+ }
46
+ const filterOutBySize = (usdAmount) => usdAmount > 3000;
47
+ exports.filterOutBySize = filterOutBySize;
48
+ function toTitleCase(str, type) {
49
+ if (!str)
50
+ return;
51
+ switch (type) {
52
+ case 'camel': {
53
+ const words = Array.from(str)
54
+ .map((letter) => {
55
+ if (letter === letter.toUpperCase()) {
56
+ return ` ${letter}`;
57
+ }
58
+ return letter;
59
+ })
60
+ .join('');
61
+ const _words = str.split(' ')?.map((w) => w.toLowerCase());
62
+ for (let i = 0; i < words.length; i++) {
63
+ _words[i] = _words[i][0].toUpperCase() + _words[i].substr(1);
64
+ }
65
+ return _words.join(' ');
66
+ }
67
+ default: {
68
+ const words = str.split(' ')?.map((w) => w.toLowerCase());
69
+ for (let i = 0; i < words.length; i++) {
70
+ words[i] = words[i][0].toUpperCase() + words[i].substr(1);
71
+ }
72
+ return words.join(' ');
73
+ }
74
+ }
75
+ }
76
+ function truncate(s, amount) {
77
+ if (typeof s !== 'string') {
78
+ if (s !== undefined)
79
+ console.error('#truncate: not a string', s);
80
+ return '';
81
+ }
82
+ if (!s)
83
+ return s;
84
+ if (s === 'N/A')
85
+ return s;
86
+ return `${s.slice(0, amount ? amount : 4)}...${s.slice(amount ? amount * -1 : -4)}`;
87
+ }
88
+ function round(value, options) {
89
+ let _value;
90
+ if (typeof value === 'bigint') {
91
+ _value = toNormalizedBn(value, options.decimals ?? constants_1.FALLBACK_DECIMALS).normalized;
92
+ }
93
+ else {
94
+ _value = String(value);
95
+ if (_value.includes(' '))
96
+ _value = _value.split(' ')[0];
97
+ }
98
+ if (options?.usd) {
99
+ const usdFormatter = new Intl.NumberFormat('en-US', {
100
+ style: 'currency',
101
+ currency: 'USD',
102
+ });
103
+ const valueNumber = Number(_value);
104
+ return usdFormatter.format(valueNumber) !== 'NaN'
105
+ ? usdFormatter.format(valueNumber)
106
+ : '0';
107
+ }
108
+ if (_value === '0' || _value === '0.0')
109
+ return '0.000';
110
+ if (options?.showing === 'all') {
111
+ return _value;
112
+ }
113
+ else {
114
+ const _showing = () => {
115
+ if (options?.showing && typeof options.showing === 'number')
116
+ return options?.showing;
117
+ if (options?.usd)
118
+ return 2;
119
+ if (_value?.includes('.') && _value.split('.')[0].length > 2)
120
+ return 3;
121
+ if (_value?.length && _value?.length > 6)
122
+ return 6;
123
+ return 4;
124
+ };
125
+ const numberFormatter = new Intl.NumberFormat('en-US', {
126
+ minimumFractionDigits: _showing(),
127
+ maximumFractionDigits: _showing(),
128
+ });
129
+ return numberFormatter.format(Number(_value)) !== 'NaN'
130
+ ? numberFormatter.format(Number(_value))
131
+ : '0';
132
+ }
133
+ }
134
+ function loanStateToReadable(loanState) {
135
+ switch (Number(loanState)) {
136
+ case 1:
137
+ return 'PREAPPROVED';
138
+ case 2:
139
+ return 'FUNDING_REQUIRED';
140
+ case 3:
141
+ return 'FUNDED';
142
+ case 4:
143
+ return 'ACTIVE';
144
+ case 5:
145
+ return 'CANCELLED';
146
+ case 6:
147
+ return 'MATURED';
148
+ case 7:
149
+ return 'CLOSED';
150
+ }
151
+ }
152
+ function dateToUnix(date) {
153
+ if (!date)
154
+ return Math.floor(new Date().getTime());
155
+ return Math.floor(new Date(date).getTime());
156
+ }
157
+ function unixToDate(epoch) {
158
+ if (!epoch)
159
+ return new Date();
160
+ return new Date(new Date(epoch).getTime());
161
+ }
162
+ function isEarlierThanNow(startTime) {
163
+ if (!startTime)
164
+ return true;
165
+ if (startTime <= new Date())
166
+ return true;
167
+ return false;
168
+ }
169
+ function daysAgo(days) {
170
+ const today = new Date();
171
+ return new Date(new Date().setDate(today.getDate() - days));
172
+ }
173
+ function prepareDateForDb(date) {
174
+ return new Date(date).toISOString();
175
+ }
176
+ function orderObjArrByDate(objectArray, options) {
177
+ const selectedOrder = options?.order ?? 'desc';
178
+ const selectedKey = options?.key ?? 'date';
179
+ return objectArray.sort(function (a, b) {
180
+ if (selectedOrder === 'asc')
181
+ return (new Date(a[selectedKey]).valueOf() - new Date(b[selectedKey]).valueOf());
182
+ return (new Date(b[selectedKey]).valueOf() - new Date(a[selectedKey]).valueOf());
183
+ });
184
+ }
185
+ function calculateWeights(data, weightProperty) {
186
+ if (!data || data.length === 0 || !weightProperty)
187
+ return [];
188
+ const total = data.reduce((sum, item) => sum + item[weightProperty], 0);
189
+ return data.map((item) => ({
190
+ ...item,
191
+ weight: item[weightProperty] / total,
192
+ }));
193
+ }
194
+ function calculateWeightedAverage(data, valueProperty, weightProperty) {
195
+ if (!data || data.length === 0 || !valueProperty)
196
+ return 0;
197
+ let weightedData = data;
198
+ if (!weightProperty) {
199
+ weightedData = data.map((item) => ({
200
+ ...item,
201
+ weight: 1 / data.length,
202
+ }));
203
+ }
204
+ else {
205
+ weightedData = calculateWeights(data, weightProperty);
206
+ }
207
+ const weightedAverage = weightedData.reduce((acc, item) => acc + item[valueProperty] * item.weight, 0);
208
+ return weightedAverage;
209
+ }
210
+ //# sourceMappingURL=core.helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.helpers.js","sourceRoot":"","sources":["../../src.ts/core/core.helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { IContractWriteOptions } from './write.actions';
2
+ import { IContractRunner } from '../types';
3
+ export declare function allowance(signer: IContractRunner, options: IContractWriteOptions): Promise<import("..").INormalizedNumber>;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.allowance = allowance;
4
+ const abis_1 = require("../abis");
5
+ const __1 = require("..");
6
+ const web3_helpers_1 = require("./web3.helpers");
7
+ async function allowance(signer, options) {
8
+ const { wallet, target } = options;
9
+ const [goodWallet, goodPool] = [
10
+ (0, web3_helpers_1.checkAddress)(wallet, console, 'wallet'),
11
+ (0, web3_helpers_1.checkAddress)(target, console),
12
+ ];
13
+ if (!goodWallet || !goodPool)
14
+ return;
15
+ try {
16
+ const poolContract = (0, web3_helpers_1.createContract)({
17
+ address: target,
18
+ abi: abis_1.ABI_LENDING_POOLS,
19
+ provider: signer,
20
+ });
21
+ const [asset, decimals] = await Promise.all([
22
+ poolContract.asset(),
23
+ poolContract.decimals(),
24
+ ]);
25
+ const depositTokenContract = (0, web3_helpers_1.createContract)({
26
+ address: asset,
27
+ abi: abis_1.ABI_ERC20,
28
+ provider: signer,
29
+ });
30
+ const _allowance = (await depositTokenContract.allowance(wallet, target));
31
+ const normalized = (0, __1.toNormalizedBn)(_allowance, decimals);
32
+ console.log('#allowance:', normalized);
33
+ return normalized;
34
+ }
35
+ catch (e) {
36
+ console.error('#allowance', e);
37
+ }
38
+ }
39
+ //# sourceMappingURL=read.actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read.actions.js","sourceRoot":"","sources":["../../src.ts/core/read.actions.ts"],"names":[],"mappings":";;AAYA,8BAuCC;AAnDD,kCAAuD;AACvD,0BAAoC;AACpC,iDAA8D;AAUvD,KAAK,UAAU,SAAS,CAC7B,MAAuB,EACvB,OAA8B;IAE9B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACnC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG;QAC7B,IAAA,2BAAY,EAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;QACvC,IAAA,2BAAY,EAAC,MAAM,EAAE,OAAO,CAAC;KAC9B,CAAC;IACF,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ;QAAE,OAAO;IAErC,IAAI,CAAC;QAEH,MAAM,YAAY,GAAG,IAAA,6BAAc,EAAC;YAClC,OAAO,EAAE,MAAM;YACf,GAAG,EAAE,wBAAiB;YACtB,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC1C,YAAY,CAAC,KAAK,EAAqB;YACvC,YAAY,CAAC,QAAQ,EAAqB;SAC3C,CAAC,CAAC;QAEH,MAAM,oBAAoB,GAAG,IAAA,6BAAc,EAAC;YAC1C,OAAO,EAAE,KAAK;YACd,GAAG,EAAE,gBAAS;YACd,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,CAAC,MAAM,oBAAoB,CAAC,SAAS,CACtD,MAAM,EACN,MAAM,CACP,CAAW,CAAC;QACb,MAAM,UAAU,GAAG,IAAA,kBAAc,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QACvC,OAAO,UAAU,CAAC;IACpB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC;AACH,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { Contract, ethers, Interface, InterfaceAbi } from 'ethers';
2
+ import { IAddress, IChainId, IContractRunner, IExplorerType, IInfuraOptions } from '../types';
3
+ export declare const determineBlockCutoff: (chain: number) => 120000 | 150000;
4
+ export declare const determineBlockSkipInternal: (chain: number) => 8000 | 50000;
5
+ export declare const getChainId: (provider: IContractRunner) => Promise<number>;
6
+ export declare function createContract({ provider, address, abi, }: {
7
+ address: string;
8
+ provider: IContractRunner;
9
+ abi: Interface | InterfaceAbi;
10
+ }): Contract;
11
+ export declare const createProvider: (rpcUrl: string) => any;
12
+ export declare const getInfuraProvider: (infura: IInfuraOptions) => ethers.JsonRpcProvider;
13
+ export declare const explorerLink: (hex: IAddress, chain: IChainId, type: IExplorerType) => string;
14
+ export declare const getDecimals: (provider: IContractRunner, address: IAddress) => Promise<any>;
15
+ export declare const getReceiptTokenAddress: (provider: IContractRunner, address: IAddress) => Promise<any>;
16
+ export declare const getSymbol: (provider: IContractRunner, address: IAddress | undefined) => Promise<any>;
17
+ export declare function getTokenMetadata(provider: IContractRunner, asset: IAddress, meta: ('symbol' | 'decimals' | 'name' | 'totalSupply')[]): Promise<any[]>;
18
+ export declare const getManagementFeePercent: (provider: IContractRunner, address: IAddress) => Promise<number>;
19
+ export declare function simulateTransaction(provider: IContractRunner, abi: string[] | any, functionName: string, options?: {
20
+ args?: (string | number | bigint)[][];
21
+ from?: string;
22
+ to?: string;
23
+ }): Promise<boolean | ethers.Result>;
24
+ export declare function checkAddress(address: string, logger?: any, type?: 'wallet' | 'contract'): boolean;
25
+ type ILoanOracleFeeCategories = 'LOAN.REPAY.INTERESTS';
26
+ export declare function getLoanOracleFeeRate(provider: IContractRunner, category_id: ILoanOracleFeeCategories, address: IAddress, chainId?: number): Promise<number>;
27
+ export declare function getHistoricalContractData(provider: IContractRunner, contractAddress: IAddress, abi: Interface | InterfaceAbi, methodName: string, args: (string | number | bigint | boolean)[], startBlock: number, endBlock: number, blockInterval?: number): Promise<any[]>;
28
+ export declare function getHistoricalContractDataByDate(provider: IContractRunner, contractAddress: IAddress, abi: Interface | InterfaceAbi, methodName: string, args: (string | number | bigint | boolean)[], startDate: string | number, endDate: string | number, intervalHours?: number): Promise<any[]>;
29
+ export {};