@augustdigital/sdk 4.1.0-alpha → 4.1.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/README.md +189 -11
- package/lib/abis/Multicall3.js.map +1 -1
- package/lib/abis/PoolAdapter.d.ts +36 -76
- package/lib/abis/PoolAdapter.js +18 -379
- package/lib/abis/PoolAdapter.js.map +1 -1
- package/lib/abis/WrapperAdapter.d.ts +71 -60
- package/lib/abis/WrapperAdapter.js +41 -114
- package/lib/abis/WrapperAdapter.js.map +1 -1
- package/lib/abis/index.d.ts +3 -0
- package/lib/abis/index.js +3 -0
- package/lib/abis/index.js.map +1 -1
- package/lib/adapters/evm/getters.d.ts +1 -1
- package/lib/adapters/evm/getters.js +26 -37
- package/lib/adapters/evm/getters.js.map +1 -1
- package/lib/adapters/evm/index.d.ts +8 -6
- package/lib/adapters/evm/index.js +27 -21
- package/lib/adapters/evm/index.js.map +1 -1
- package/lib/adapters/evm/utils.d.ts +2 -28
- package/lib/adapters/evm/utils.js +29 -322
- package/lib/adapters/evm/utils.js.map +1 -1
- package/lib/adapters/solana/getters.js +35 -28
- package/lib/adapters/solana/getters.js.map +1 -1
- package/lib/adapters/solana/index.d.ts +27 -2
- package/lib/adapters/solana/utils.d.ts +15 -2
- package/lib/adapters/solana/utils.js +96 -21
- package/lib/adapters/solana/utils.js.map +1 -1
- package/lib/adapters/solana/vault.actions.js +11 -2
- package/lib/adapters/solana/vault.actions.js.map +1 -1
- package/lib/adapters/sui/constants.d.ts +13 -0
- package/lib/adapters/sui/constants.js +17 -0
- package/lib/adapters/sui/constants.js.map +1 -0
- package/lib/adapters/sui/getters.d.ts +3 -0
- package/lib/adapters/sui/getters.js +53 -0
- package/lib/adapters/sui/getters.js.map +1 -0
- package/lib/adapters/sui/index.d.ts +30 -0
- package/lib/adapters/sui/index.js +83 -0
- package/lib/adapters/sui/index.js.map +1 -1
- package/lib/adapters/sui/transformer.d.ts +4 -0
- package/lib/adapters/sui/transformer.js +87 -0
- package/lib/adapters/sui/transformer.js.map +1 -0
- package/lib/adapters/sui/types.d.ts +62 -0
- package/lib/{services/solana → adapters/sui}/types.js.map +1 -1
- package/lib/adapters/sui/utils.d.ts +4 -0
- package/lib/adapters/sui/utils.js +27 -0
- package/lib/adapters/sui/utils.js.map +1 -0
- package/lib/core/auth/verify.js +2 -2
- package/lib/core/auth/verify.js.map +1 -1
- package/lib/core/base.class.d.ts +1 -2
- package/lib/core/base.class.js +11 -6
- package/lib/core/base.class.js.map +1 -1
- package/lib/core/constants.adapters.d.ts +89 -0
- package/lib/core/constants.adapters.js +160 -0
- package/lib/core/constants.adapters.js.map +1 -0
- package/lib/{utils/constants/august.d.ts → core/constants.core.d.ts} +10 -1
- package/lib/{utils/constants/august.js → core/constants.core.js} +11 -2
- package/lib/core/constants.core.js.map +1 -0
- package/lib/core/constants.vaults.d.ts +19 -0
- package/lib/{utils/vaults.js → core/constants.vaults.js} +56 -75
- package/lib/core/constants.vaults.js.map +1 -0
- package/lib/{utils/constants/web3.d.ts → core/constants.web3.d.ts} +4 -6
- package/lib/{utils/constants/web3.js → core/constants.web3.js} +21 -27
- package/lib/core/constants.web3.js.map +1 -0
- package/lib/core/fetcher.d.ts +1 -1
- package/lib/core/fetcher.js +177 -64
- package/lib/core/fetcher.js.map +1 -1
- package/lib/core/helpers.adapters.d.ts +4 -0
- package/lib/core/helpers.adapters.js +28 -0
- package/lib/core/helpers.adapters.js.map +1 -0
- package/lib/core/helpers.core.d.ts +1 -1
- package/lib/core/helpers.core.js +6 -6
- package/lib/core/helpers.core.js.map +1 -1
- package/lib/core/helpers.signer.d.ts +5 -0
- package/lib/core/helpers.signer.js +54 -0
- package/lib/core/helpers.signer.js.map +1 -0
- package/lib/core/helpers.vaults.d.ts +15 -0
- package/lib/core/helpers.vaults.js +123 -0
- package/lib/core/helpers.vaults.js.map +1 -0
- package/lib/core/helpers.web3.d.ts +5 -2
- package/lib/core/helpers.web3.js +84 -26
- package/lib/core/helpers.web3.js.map +1 -1
- package/lib/core/index.d.ts +9 -5
- package/lib/core/index.js +9 -5
- package/lib/core/index.js.map +1 -1
- package/lib/core/logger/index.d.ts +9 -0
- package/lib/core/logger/index.js +29 -0
- package/lib/core/logger/index.js.map +1 -1
- package/lib/core/logger/slack.js +3 -3
- package/lib/index.d.ts +6 -6
- package/lib/index.js +14 -7
- package/lib/index.js.map +1 -1
- package/lib/main.d.ts +90 -14
- package/lib/main.js +56 -17
- package/lib/main.js.map +1 -1
- package/lib/modules/vaults/adapter.helpers.d.ts +46 -0
- package/lib/modules/vaults/adapter.helpers.js +149 -0
- package/lib/modules/vaults/adapter.helpers.js.map +1 -0
- package/lib/{vaults/utils.d.ts → modules/vaults/fetcher.d.ts} +0 -20
- package/lib/{vaults/utils.js → modules/vaults/fetcher.js} +19 -176
- package/lib/modules/vaults/fetcher.js.map +1 -0
- package/lib/modules/vaults/getters.d.ts +32 -3
- package/lib/modules/vaults/getters.js +367 -71
- package/lib/modules/vaults/getters.js.map +1 -1
- package/lib/modules/vaults/index.d.ts +2 -83
- package/lib/modules/vaults/index.js +2 -480
- package/lib/modules/vaults/index.js.map +1 -1
- package/lib/modules/vaults/main.d.ts +29 -47
- package/lib/modules/vaults/main.js +142 -201
- package/lib/modules/vaults/main.js.map +1 -1
- package/lib/modules/vaults/read.actions.d.ts +3 -0
- package/lib/{adapters/evm → modules/vaults}/read.actions.js +12 -12
- package/lib/modules/vaults/read.actions.js.map +1 -0
- package/lib/modules/vaults/utils.d.ts +2 -106
- package/lib/modules/vaults/utils.js +139 -337
- package/lib/modules/vaults/utils.js.map +1 -1
- package/lib/modules/vaults/{vault.actions.d.ts → write.actions.d.ts} +11 -1
- package/lib/modules/vaults/write.actions.js +301 -0
- package/lib/modules/vaults/write.actions.js.map +1 -0
- package/lib/services/debank/utils.js +4 -4
- package/lib/services/subgraph/fetcher.js +3 -2
- package/lib/services/subgraph/fetcher.js.map +1 -1
- package/lib/services/subgraph/vaults.js +25 -27
- package/lib/services/subgraph/vaults.js.map +1 -1
- package/lib/types/pools.d.ts +1 -1
- package/lib/types/vaults.d.ts +21 -1
- package/lib/types/webserver.d.ts +15 -1
- package/package.json +24 -10
- package/lib/adapters/evm/core.actions.d.ts +0 -9
- package/lib/adapters/evm/core.actions.js +0 -51
- package/lib/adapters/evm/core.actions.js.map +0 -1
- package/lib/adapters/evm/read.actions.d.ts +0 -3
- package/lib/adapters/evm/read.actions.js.map +0 -1
- package/lib/adapters/evm/vaults.actions.d.ts +0 -10
- package/lib/adapters/evm/vaults.actions.js +0 -97
- package/lib/adapters/evm/vaults.actions.js.map +0 -1
- package/lib/adapters/solana/actions.d.ts +0 -20
- package/lib/adapters/solana/actions.js +0 -225
- package/lib/adapters/solana/actions.js.map +0 -1
- package/lib/adapters/solana/class.d.ts +0 -45
- package/lib/adapters/solana/class.js +0 -135
- package/lib/adapters/solana/class.js.map +0 -1
- package/lib/adapters/solana/vault-idl.d.ts +0 -338
- package/lib/adapters/solana/vault-idl.js +0 -1075
- package/lib/adapters/solana/vault-idl.js.map +0 -1
- package/lib/core/base-class.d.ts +0 -34
- package/lib/core/base-class.js +0 -55
- package/lib/core/base-class.js.map +0 -1
- package/lib/core/constants.d.ts +0 -86
- package/lib/core/constants.js +0 -146
- package/lib/core/constants.js.map +0 -1
- package/lib/core/core.helpers.d.ts +0 -23
- package/lib/core/core.helpers.js +0 -210
- package/lib/core/core.helpers.js.map +0 -1
- package/lib/core/helpers.d.ts +0 -23
- package/lib/core/helpers.js +0 -210
- package/lib/core/helpers.js.map +0 -1
- package/lib/core/read.actions.d.ts +0 -3
- package/lib/core/read.actions.js +0 -39
- package/lib/core/read.actions.js.map +0 -1
- package/lib/core/web3.helpers.d.ts +0 -28
- package/lib/core/web3.helpers.js +0 -336
- package/lib/core/web3.helpers.js.map +0 -1
- package/lib/core/write.actions.d.ts +0 -9
- package/lib/core/write.actions.js +0 -51
- package/lib/core/write.actions.js.map +0 -1
- package/lib/modules/vaults/admin-actions.d.ts +0 -0
- package/lib/modules/vaults/admin-actions.js +0 -1
- package/lib/modules/vaults/admin-actions.js.map +0 -1
- package/lib/modules/vaults/constants.d.ts +0 -63
- package/lib/modules/vaults/constants.js +0 -190
- package/lib/modules/vaults/constants.js.map +0 -1
- package/lib/modules/vaults/user-actions.d.ts +0 -19
- package/lib/modules/vaults/user-actions.js +0 -172
- package/lib/modules/vaults/user-actions.js.map +0 -1
- package/lib/modules/vaults/user.actions.d.ts +0 -10
- package/lib/modules/vaults/user.actions.js +0 -95
- package/lib/modules/vaults/user.actions.js.map +0 -1
- package/lib/modules/vaults/vault.actions.js +0 -95
- package/lib/modules/vaults/vault.actions.js.map +0 -1
- package/lib/services/auth/index.d.ts +0 -1
- package/lib/services/auth/index.js +0 -18
- package/lib/services/auth/index.js.map +0 -1
- package/lib/services/auth/verify.d.ts +0 -2
- package/lib/services/auth/verify.js +0 -20
- package/lib/services/auth/verify.js.map +0 -1
- package/lib/services/index.d.ts +0 -4
- package/lib/services/index.js +0 -21
- package/lib/services/index.js.map +0 -1
- package/lib/services/logger/index.d.ts +0 -12
- package/lib/services/logger/index.js +0 -51
- package/lib/services/logger/index.js.map +0 -1
- package/lib/services/logger/slack.d.ts +0 -12
- package/lib/services/logger/slack.js +0 -48
- package/lib/services/logger/slack.js.map +0 -1
- package/lib/services/solana/actions.d.ts +0 -20
- package/lib/services/solana/actions.js +0 -225
- package/lib/services/solana/actions.js.map +0 -1
- package/lib/services/solana/class.d.ts +0 -45
- package/lib/services/solana/class.js +0 -135
- package/lib/services/solana/class.js.map +0 -1
- package/lib/services/solana/constants.d.ts +0 -25
- package/lib/services/solana/constants.js +0 -32
- package/lib/services/solana/constants.js.map +0 -1
- package/lib/services/solana/index.d.ts +0 -84
- package/lib/services/solana/index.js +0 -50
- package/lib/services/solana/index.js.map +0 -1
- package/lib/services/solana/types.d.ts +0 -58
- package/lib/services/solana/utils.d.ts +0 -96
- package/lib/services/solana/utils.js +0 -355
- package/lib/services/solana/utils.js.map +0 -1
- package/lib/services/solana/vault-idl.d.ts +0 -338
- package/lib/services/solana/vault-idl.js +0 -1075
- package/lib/services/solana/vault-idl.js.map +0 -1
- package/lib/utils/base-class.d.ts +0 -34
- package/lib/utils/base-class.js +0 -55
- package/lib/utils/base-class.js.map +0 -1
- package/lib/utils/constants/august.js.map +0 -1
- package/lib/utils/constants/fallbacks.d.ts +0 -3
- package/lib/utils/constants/fallbacks.js +0 -26
- package/lib/utils/constants/fallbacks.js.map +0 -1
- package/lib/utils/constants/index.d.ts +0 -3
- package/lib/utils/constants/index.js +0 -20
- package/lib/utils/constants/index.js.map +0 -1
- package/lib/utils/constants/web3.js.map +0 -1
- package/lib/utils/fetcher.d.ts +0 -25
- package/lib/utils/fetcher.js +0 -334
- package/lib/utils/fetcher.js.map +0 -1
- package/lib/utils/helpers/array.d.ts +0 -6
- package/lib/utils/helpers/array.js +0 -40
- package/lib/utils/helpers/array.js.map +0 -1
- package/lib/utils/helpers/datetime.d.ts +0 -5
- package/lib/utils/helpers/datetime.js +0 -32
- package/lib/utils/helpers/datetime.js.map +0 -1
- package/lib/utils/helpers/formatters.d.ts +0 -8
- package/lib/utils/helpers/formatters.js +0 -113
- package/lib/utils/helpers/formatters.js.map +0 -1
- package/lib/utils/helpers/index.d.ts +0 -6
- package/lib/utils/helpers/index.js +0 -23
- package/lib/utils/helpers/index.js.map +0 -1
- package/lib/utils/helpers/responses.d.ts +0 -32
- package/lib/utils/helpers/responses.js +0 -229
- package/lib/utils/helpers/responses.js.map +0 -1
- package/lib/utils/helpers/verify-keys.d.ts +0 -2
- package/lib/utils/helpers/verify-keys.js +0 -21
- package/lib/utils/helpers/verify-keys.js.map +0 -1
- package/lib/utils/helpers/web3.d.ts +0 -27
- package/lib/utils/helpers/web3.js +0 -339
- package/lib/utils/helpers/web3.js.map +0 -1
- package/lib/utils/index.d.ts +0 -5
- package/lib/utils/index.js +0 -22
- package/lib/utils/index.js.map +0 -1
- package/lib/utils/vaults.d.ts +0 -53
- package/lib/utils/vaults.js.map +0 -1
- package/lib/vaults/admin-actions.d.ts +0 -0
- package/lib/vaults/admin-actions.js +0 -1
- package/lib/vaults/admin-actions.js.map +0 -1
- package/lib/vaults/getters.d.ts +0 -38
- package/lib/vaults/getters.js +0 -760
- package/lib/vaults/getters.js.map +0 -1
- package/lib/vaults/index.d.ts +0 -4
- package/lib/vaults/index.js +0 -21
- package/lib/vaults/index.js.map +0 -1
- package/lib/vaults/main.d.ts +0 -118
- package/lib/vaults/main.js +0 -591
- package/lib/vaults/main.js.map +0 -1
- package/lib/vaults/rpc-config.d.ts +0 -4
- package/lib/vaults/rpc-config.js +0 -27
- package/lib/vaults/rpc-config.js.map +0 -1
- package/lib/vaults/subgraph.d.ts +0 -10
- package/lib/vaults/subgraph.js +0 -470
- package/lib/vaults/subgraph.js.map +0 -1
- package/lib/vaults/user-actions.d.ts +0 -19
- package/lib/vaults/user-actions.js +0 -172
- package/lib/vaults/user-actions.js.map +0 -1
- package/lib/vaults/utils.js.map +0 -1
- package/lib/verify.d.ts +0 -2
- package/lib/verify.js +0 -20
- package/lib/verify.js.map +0 -1
- /package/lib/{services/solana → adapters/sui}/types.js +0 -0
|
@@ -1,51 +1,61 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.getVaultSymbol = getVaultSymbol;
|
|
5
|
-
const helpers_1 = require("./helpers");
|
|
3
|
+
exports.VAULT_SYMBOLS_REVERSE = exports.VAULT_SYMBOLS = exports.SUBGRAPH_VAULT_URLS = exports.VAULT_FUNCTIONS_V2_WHITELISTED_ASSETS = exports.VAULT_FUNCTIONS_V2_RECEIPT = exports.VAULT_FUNCTIONS_V2 = exports.VAULT_FUNCTIONS_V1 = exports.IDLE_CAPITAL_BORROWER_ADDRESS = exports.OLD_LENDING_POOLS = exports.WRAPPER_ADAPTOR = exports.MULTI_ASSET_VAULTS = exports.SUBACCOUNT_CALEB = exports.VAULT_AgoraAUSD = void 0;
|
|
6
4
|
const ethers_1 = require("ethers");
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
default:
|
|
22
|
-
throw new Error(`Unsupported pool for chainId ${chainId}: ${pool}`);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
const urls = {
|
|
26
|
-
1: `https://gateway.thegraph.com/api/${apiKey}/subgraphs/id/BtbHLe7XtX2x9Ude9PKv2uagNHj6JYhjjFcimxvk7NPD`,
|
|
27
|
-
8453: `https://gateway.thegraph.com/api/${apiKey}/subgraphs/id/E96gN4ZAmtCwLfsYccy3TqCTBbizGPWssFFeZfJ5QSQP`,
|
|
28
|
-
43114: `https://gateway.thegraph.com/api/${apiKey}/subgraphs/id/Ho15f2DBGndTMAYx9bPxJzasQRsAd5oLdci4oZvWs2u6`,
|
|
29
|
-
42161: `https://gateway.thegraph.com/api/${apiKey}/subgraphs/id/BrqNoj6FWm678yFRKdVWBncwt3zUnpbA3u4n9A9puUSg`,
|
|
30
|
-
56: `https://gateway.thegraph.com/api/${apiKey}/subgraphs/id/4BDCXZvSBuNGX3ck6C6nTGos7Dg5SxjfHMjrKnQz4YE2`,
|
|
31
|
-
};
|
|
32
|
-
if (chainId && !(chainId in urls)) {
|
|
33
|
-
throw new Error(`Unsupported chainId: ${chainId}. Supported chains: ${Object.keys(urls).join(', ')}`);
|
|
34
|
-
}
|
|
35
|
-
return urls;
|
|
5
|
+
exports.VAULT_AgoraAUSD = (0, ethers_1.getAddress)('0x828BC5895b78b2fb591018Ca5bDC2064742D6D0f');
|
|
6
|
+
exports.SUBACCOUNT_CALEB = (0, ethers_1.getAddress)('0xFff71B0b66f076C60Fa2f176a34a6EA709ccF21B');
|
|
7
|
+
exports.MULTI_ASSET_VAULTS = [
|
|
8
|
+
(0, ethers_1.getAddress)('0x18EE038C114a07f4B08b420fb1E4149a4F357249'),
|
|
9
|
+
(0, ethers_1.getAddress)('0x517677A19D8ae6FF600FB86C3C7bFCCD651e3eec'),
|
|
10
|
+
(0, ethers_1.getAddress)('0x8fFDcd8A96d293f45aA044d10b899F9D71897E8a'),
|
|
11
|
+
(0, ethers_1.getAddress)('0xd411aCaE2Bc7019322277A21ff005d94705661C5'),
|
|
12
|
+
(0, ethers_1.getAddress)('0xAEEb2fB279a5aA837367B9D2582F898a63b06ca1'),
|
|
13
|
+
(0, ethers_1.getAddress)('0x0C949AAf28bF0318bAa5f2cbF2F2D970f57879aB'),
|
|
14
|
+
(0, ethers_1.getAddress)('0xA38d92eC538e9aa3edb980b89701A9d38a1FE015'),
|
|
15
|
+
];
|
|
16
|
+
exports.WRAPPER_ADAPTOR = {
|
|
17
|
+
43114: (0, ethers_1.getAddress)('0xb2C57614B93c41A7Ec3B91980C0Bb7453904c6e8'),
|
|
18
|
+
1: (0, ethers_1.getAddress)('0x044155804b2ef8fc53C69E3661ceA9b905EDE7Bc'),
|
|
36
19
|
};
|
|
37
|
-
exports.SUBGRAPH_POOL_URLS = SUBGRAPH_POOL_URLS;
|
|
38
20
|
exports.OLD_LENDING_POOLS = [
|
|
39
|
-
'0xe1B4d34E8754600962Cd944B535180Bd758E6c2e',
|
|
40
|
-
'0xEBac5e50003d4B17Be422ff9775043cD61002f7f',
|
|
41
|
-
'0x80E1048eDE66ec4c364b4F22C8768fc657FF6A42',
|
|
21
|
+
(0, ethers_1.getAddress)('0xe1B4d34E8754600962Cd944B535180Bd758E6c2e'),
|
|
22
|
+
(0, ethers_1.getAddress)('0xEBac5e50003d4B17Be422ff9775043cD61002f7f'),
|
|
23
|
+
(0, ethers_1.getAddress)('0x80E1048eDE66ec4c364b4F22C8768fc657FF6A42'),
|
|
42
24
|
];
|
|
43
25
|
exports.IDLE_CAPITAL_BORROWER_ADDRESS = [
|
|
44
|
-
'0x2151C90C93F52bE82186f162c86DaEABc8911188',
|
|
45
|
-
'0xb74c137E5f976dbdCC638Ec9fd3e05d6D9124E55',
|
|
26
|
+
(0, ethers_1.getAddress)('0x2151C90C93F52bE82186f162c86DaEABc8911188'),
|
|
27
|
+
(0, ethers_1.getAddress)('0xb74c137E5f976dbdCC638Ec9fd3e05d6D9124E55'),
|
|
28
|
+
];
|
|
29
|
+
exports.VAULT_FUNCTIONS_V1 = [
|
|
30
|
+
'decimals',
|
|
31
|
+
'asset',
|
|
32
|
+
'totalSupply',
|
|
33
|
+
'totalAssets',
|
|
34
|
+
'maxSupply',
|
|
35
|
+
'withdrawalFee',
|
|
36
|
+
'lagDuration',
|
|
37
|
+
'withdrawalsPaused',
|
|
38
|
+
];
|
|
39
|
+
exports.VAULT_FUNCTIONS_V2 = [
|
|
40
|
+
'assetsWhitelistAddress',
|
|
41
|
+
'getTotalAssets',
|
|
42
|
+
'asset',
|
|
43
|
+
'withdrawalFee',
|
|
44
|
+
'maxDepositAmount',
|
|
45
|
+
'lagDuration',
|
|
46
|
+
'withdrawalsPaused',
|
|
47
|
+
'lpTokenAddress',
|
|
48
|
+
];
|
|
49
|
+
exports.VAULT_FUNCTIONS_V2_RECEIPT = [
|
|
50
|
+
'decimals',
|
|
51
|
+
'totalSupply',
|
|
52
|
+
];
|
|
53
|
+
exports.VAULT_FUNCTIONS_V2_WHITELISTED_ASSETS = [
|
|
54
|
+
'getWhitelistedAssets',
|
|
46
55
|
];
|
|
47
56
|
const GOLDSKY_BASE_URL = 'https://api.goldsky.com/api/private/project_cm9g0xy3o4j6v01vd34r3hvv9/subgraphs';
|
|
48
57
|
exports.SUBGRAPH_VAULT_URLS = {
|
|
58
|
+
testWETHTSA: ``,
|
|
49
59
|
tacUSR: `${GOLDSKY_BASE_URL}/august-eth-tacUSR/1.0.0/gn`,
|
|
50
60
|
upINJUSDT: `${GOLDSKY_BASE_URL}/august-eth-upINJUSDT/1.0.0/gn`,
|
|
51
61
|
'tac-tETH': `${GOLDSKY_BASE_URL}/august-eth-tactETH/1.0.0/gn`,
|
|
@@ -72,6 +82,7 @@ exports.SUBGRAPH_VAULT_URLS = {
|
|
|
72
82
|
upAVAX: `${GOLDSKY_BASE_URL}/august-avax-upAVAX/1.0.0/gn`,
|
|
73
83
|
TACrsEth: `${GOLDSKY_BASE_URL}/august-eth-TACrsEth/1.0.0/gn`,
|
|
74
84
|
mUSD: `${GOLDSKY_BASE_URL}/august-mezo-mUSD/1.0.0/gn`,
|
|
85
|
+
wildUSD: `${GOLDSKY_BASE_URL}/august-eth-wildUSD/1.0.0/gn`,
|
|
75
86
|
earnAUSD: `${GOLDSKY_BASE_URL}/august-eth-earnAUSD/1.0.0/gn`,
|
|
76
87
|
AlpineCoinshiftUSDC: `${GOLDSKY_BASE_URL}/august-eth-AlpineCoinshiftUSDC/1.0.0/gn`,
|
|
77
88
|
AlpineUSDCFlagship: `${GOLDSKY_BASE_URL}/august-eth-AlpineUSDCFlagship/1.0.0/gn`,
|
|
@@ -79,6 +90,9 @@ exports.SUBGRAPH_VAULT_URLS = {
|
|
|
79
90
|
maxiUSR: `${GOLDSKY_BASE_URL}/august-eth-maxiUSR/1.0.0/gn`,
|
|
80
91
|
upGAMMAusdc: `${GOLDSKY_BASE_URL}/august-eth-upGAMMAusdc/1.0.0/gn`,
|
|
81
92
|
xHYPE: `${GOLDSKY_BASE_URL}/august-hyperevm-xHYPE/1.0.0/gn`,
|
|
93
|
+
AlpineBTC: `${GOLDSKY_BASE_URL}/august-eth-AlpineBTC/1.0.0/gn`,
|
|
94
|
+
preNUSD: `${GOLDSKY_BASE_URL}/august-eth-preNUSD/1.0.0/gn`,
|
|
95
|
+
upyzUSD: `${GOLDSKY_BASE_URL}/august-plasma-upyzUSD/1.0.0/gn`,
|
|
82
96
|
};
|
|
83
97
|
exports.VAULT_SYMBOLS = {
|
|
84
98
|
'0x686c83Aa81ba206354fDcbc2cd282B4531365E29': 'tacUSR',
|
|
@@ -115,42 +129,9 @@ exports.VAULT_SYMBOLS = {
|
|
|
115
129
|
'0xdA89af5bF2eb0B225d787aBfA9095610f2E79e7D': 'maxiUSR',
|
|
116
130
|
'0x998D7b14c123c1982404562b68edDB057b0477cB': 'upGAMMAusdc',
|
|
117
131
|
'0x3a214b33A648f17fdcb78eD895dD0579dc3cc330': 'xHYPE',
|
|
132
|
+
'0x18EE038C114a07f4B08b420fb1E4149a4F357249': 'wildUSD',
|
|
133
|
+
'0x6625bA54DC861e9f5c678983dBa5BA96d19a9224': 'AlpineBTC',
|
|
134
|
+
'0x866C6c6627303Be103814150fC0e886BE5D9ea83': 'preNUSD',
|
|
118
135
|
};
|
|
119
136
|
exports.VAULT_SYMBOLS_REVERSE = Object.fromEntries(Object.entries(exports.VAULT_SYMBOLS).map(([key, value]) => [value, key]));
|
|
120
|
-
|
|
121
|
-
if (!address)
|
|
122
|
-
return false;
|
|
123
|
-
switch (address) {
|
|
124
|
-
case '0x706162790b601A8514c18718d0c63C9D1268e89C':
|
|
125
|
-
return true;
|
|
126
|
-
case '0xd684AF965b1c17D628ee0d77cae94259c41260F4':
|
|
127
|
-
return true;
|
|
128
|
-
case '0xB78dAf3fD674B81ebeaaa88d711506fa069E1C5E':
|
|
129
|
-
return true;
|
|
130
|
-
case '0x4e2D90f0307A93b54ACA31dc606F93FE6b9132d2':
|
|
131
|
-
return true;
|
|
132
|
-
case '0x18a5a3D575F34e5eBa92ac99B0976dBe26f9F869':
|
|
133
|
-
return true;
|
|
134
|
-
case '0xD0b717ef23817b1a127139830Cf0FcD449ef74F0':
|
|
135
|
-
return true;
|
|
136
|
-
case '0xeb402fc96C7ed2f889d837C9976D6d821c1B5f01':
|
|
137
|
-
return true;
|
|
138
|
-
case '0xEBac5e50003d4B17Be422ff9775043cD61002f7f':
|
|
139
|
-
return true;
|
|
140
|
-
case '0x419386E3Ef42368e602720CC458e00c0B28c47A7':
|
|
141
|
-
return true;
|
|
142
|
-
default:
|
|
143
|
-
return false;
|
|
144
|
-
}
|
|
145
|
-
};
|
|
146
|
-
exports.isBadVault = isBadVault;
|
|
147
|
-
async function getVaultSymbol(vault, provider) {
|
|
148
|
-
const address = (0, ethers_1.getAddress)(vault);
|
|
149
|
-
if (address in exports.VAULT_SYMBOLS)
|
|
150
|
-
return exports.VAULT_SYMBOLS[address];
|
|
151
|
-
else {
|
|
152
|
-
const symbol = await (0, helpers_1.getSymbol)(provider, vault);
|
|
153
|
-
return symbol;
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
//# sourceMappingURL=vaults.js.map
|
|
137
|
+
//# sourceMappingURL=constants.vaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.vaults.js","sourceRoot":"","sources":["../../src.ts/core/constants.vaults.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IChainId, IChainObj } from '
|
|
1
|
+
import { IChainId, IChainObj } from '../types';
|
|
2
2
|
export declare const SPECIAL_CHAINS: {
|
|
3
3
|
solana: {
|
|
4
4
|
name: string;
|
|
@@ -23,10 +23,8 @@ export declare const ORACLE_CONTRACTS: {
|
|
|
23
23
|
8453: string;
|
|
24
24
|
10: string;
|
|
25
25
|
};
|
|
26
|
-
export declare const REWARD_DISTRIBUTOR_ADDRESS: (chainId: number) => string[];
|
|
27
|
-
export declare const AVAX_PRICE_FEED_ADDRESS: (chainId: number) => "0xFF3EEb22B5E3dE6e705b44749C2559d704923FD7" | "0x";
|
|
28
|
-
export declare const WRAPPER_ADAPTOR: {
|
|
29
|
-
[key: number]: `0x${string}`;
|
|
30
|
-
};
|
|
31
26
|
export declare const NETWORKS: Record<IChainId, IChainObj>;
|
|
32
27
|
export declare const AVAILABLE_CHAINS: IChainId[];
|
|
28
|
+
export declare const FALLBACK_DECIMALS = 18;
|
|
29
|
+
export declare const FALLBACK_CHAINID = 42161;
|
|
30
|
+
export declare const FALLBACK_RPC_URLS: Record<number, string[]>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
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 = void 0;
|
|
4
4
|
exports.SPECIAL_CHAINS = {
|
|
5
5
|
solana: {
|
|
6
6
|
name: 'Solana',
|
|
@@ -25,31 +25,6 @@ exports.ORACLE_CONTRACTS = {
|
|
|
25
25
|
8453: '0x07858dF2D8D9aB1DCAAA8b743eb80C6250DFA947',
|
|
26
26
|
10: '0xe0049eBCCB23Cb81c3d4C9Fa175b32876b70C2AB',
|
|
27
27
|
};
|
|
28
|
-
const REWARD_DISTRIBUTOR_ADDRESS = (chainId) => {
|
|
29
|
-
switch (chainId) {
|
|
30
|
-
case 43114:
|
|
31
|
-
return [
|
|
32
|
-
'0xAeAc5f82B140c0f7309f7E9Ec43019062A5e5BE2',
|
|
33
|
-
'0xd3e653A9f6F3d96B26Dd4487a53D151140B697C4',
|
|
34
|
-
];
|
|
35
|
-
default:
|
|
36
|
-
return ['0x0000000000000000000000000000000000000000'];
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
exports.REWARD_DISTRIBUTOR_ADDRESS = REWARD_DISTRIBUTOR_ADDRESS;
|
|
40
|
-
const AVAX_PRICE_FEED_ADDRESS = (chainId) => {
|
|
41
|
-
switch (chainId) {
|
|
42
|
-
case 1:
|
|
43
|
-
return '0xFF3EEb22B5E3dE6e705b44749C2559d704923FD7';
|
|
44
|
-
default:
|
|
45
|
-
return '0x';
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
exports.AVAX_PRICE_FEED_ADDRESS = AVAX_PRICE_FEED_ADDRESS;
|
|
49
|
-
exports.WRAPPER_ADAPTOR = {
|
|
50
|
-
43114: '0xb2C57614B93c41A7Ec3B91980C0Bb7453904c6e8',
|
|
51
|
-
1: '0x044155804b2ef8fc53C69E3661ceA9b905EDE7Bc',
|
|
52
|
-
};
|
|
53
28
|
exports.NETWORKS = {
|
|
54
29
|
1: {
|
|
55
30
|
name: 'Ethereum',
|
|
@@ -96,6 +71,25 @@ exports.NETWORKS = {
|
|
|
96
71
|
chainId: 31612,
|
|
97
72
|
explorer: 'https://explorer.mezo.org',
|
|
98
73
|
},
|
|
74
|
+
9745: {
|
|
75
|
+
name: 'Plasma',
|
|
76
|
+
chainId: 9745,
|
|
77
|
+
explorer: 'https://plasmascan.to',
|
|
78
|
+
},
|
|
99
79
|
};
|
|
100
80
|
exports.AVAILABLE_CHAINS = Object.keys(exports.NETWORKS).map((c) => Number(c));
|
|
101
|
-
|
|
81
|
+
exports.FALLBACK_DECIMALS = 18;
|
|
82
|
+
exports.FALLBACK_CHAINID = 42161;
|
|
83
|
+
exports.FALLBACK_RPC_URLS = {
|
|
84
|
+
1: ['https://ethereum-rpc.publicnode.com'],
|
|
85
|
+
999: ['https://rpc.hyperliquid.xyz/evm'],
|
|
86
|
+
239: ['https://rpc.ankr.com/tac'],
|
|
87
|
+
80094: ['https://berachain-rpc.publicnode.com'],
|
|
88
|
+
59144: ['https://linea-rpc.publicnode.com'],
|
|
89
|
+
43111: ['https://rpc.hemi.network/rpc'],
|
|
90
|
+
146: ['https://rpc.soniclabs.com'],
|
|
91
|
+
534352: ['https://scroll.api.onfinality.io/public'],
|
|
92
|
+
10: ['https://optimism-mainnet.public.blastapi.io'],
|
|
93
|
+
9745: ['https://rpc.plasma.to'],
|
|
94
|
+
};
|
|
95
|
+
//# sourceMappingURL=constants.web3.js.map
|
|
@@ -0,0 +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"}
|
package/lib/core/fetcher.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IAddress, IContractRunner, ITokenizedVault, IWSMonitorHeaders, IWSVaultLoan } from '../types';
|
|
2
|
-
import { WEBSERVER_URL } from './constants';
|
|
3
2
|
import { LRUCache } from 'lru-cache';
|
|
3
|
+
import { WEBSERVER_URL } from './constants.core';
|
|
4
4
|
type IFetchAugustMethods = 'get' | 'post' | 'put';
|
|
5
5
|
type IFetchAugustOptions = {
|
|
6
6
|
method?: IFetchAugustMethods;
|
package/lib/core/fetcher.js
CHANGED
|
@@ -10,20 +10,32 @@ exports.fetchTokenizedVaults = fetchTokenizedVaults;
|
|
|
10
10
|
exports.fetchTokenPrice = fetchTokenPrice;
|
|
11
11
|
exports.fetchTokenizedVaultLoans = fetchTokenizedVaultLoans;
|
|
12
12
|
exports.promiseSettle = promiseSettle;
|
|
13
|
-
const
|
|
14
|
-
const core_helpers_1 = require("./core.helpers");
|
|
13
|
+
const helpers_core_1 = require("./helpers.core");
|
|
15
14
|
const ethers_1 = require("ethers");
|
|
16
15
|
const abis_1 = require("../abis");
|
|
17
16
|
const lru_cache_1 = require("lru-cache");
|
|
18
17
|
const solana_1 = require("../adapters/solana");
|
|
19
18
|
const fetcher_1 = require("../services/coingecko/fetcher");
|
|
20
19
|
const logger_1 = require("./logger");
|
|
21
|
-
const
|
|
20
|
+
const helpers_web3_1 = require("./helpers.web3");
|
|
21
|
+
const constants_core_1 = require("./constants.core");
|
|
22
|
+
const helpers_vaults_1 = require("./helpers.vaults");
|
|
22
23
|
exports.CACHE = new lru_cache_1.LRUCache({
|
|
23
24
|
max: 1000,
|
|
24
25
|
ttl: 1000 * 60 * 60 * 24,
|
|
25
26
|
allowStale: true,
|
|
26
27
|
});
|
|
28
|
+
const PRICE_CACHE = new lru_cache_1.LRUCache({
|
|
29
|
+
max: 500,
|
|
30
|
+
ttl: 1000 * 30,
|
|
31
|
+
allowStale: false,
|
|
32
|
+
});
|
|
33
|
+
const PRICE_ERROR_CACHE = new lru_cache_1.LRUCache({
|
|
34
|
+
max: 100,
|
|
35
|
+
ttl: 1000 * 5,
|
|
36
|
+
allowStale: false,
|
|
37
|
+
});
|
|
38
|
+
const PRICE_REQUESTS = new Map();
|
|
27
39
|
async function fetchAugustWithKey(apiKey, relativeUrl, options) {
|
|
28
40
|
if (!apiKey && !options.override) {
|
|
29
41
|
return { status: 500, statusText: 'x-api-key is undefined' };
|
|
@@ -33,50 +45,80 @@ async function fetchAugustWithKey(apiKey, relativeUrl, options) {
|
|
|
33
45
|
'content-type': 'application/json',
|
|
34
46
|
accept: 'application/json',
|
|
35
47
|
};
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
48
|
+
const controller = new AbortController();
|
|
49
|
+
const timeoutId = setTimeout(() => controller.abort(), constants_core_1.REQUEST_TIMEOUT_MS);
|
|
50
|
+
try {
|
|
51
|
+
const res = await fetch(`${constants_core_1.WEBSERVER_URL[(options?.server || 'production')]}${relativeUrl}`, {
|
|
52
|
+
headers: {
|
|
53
|
+
...defaultHeaders,
|
|
54
|
+
...options?.headers,
|
|
55
|
+
},
|
|
56
|
+
method: options?.method ?? 'GET',
|
|
57
|
+
body: JSON.stringify(options?.data),
|
|
58
|
+
signal: controller.signal,
|
|
59
|
+
});
|
|
60
|
+
clearTimeout(timeoutId);
|
|
61
|
+
const correlationId = res.headers['x-correlation-id'];
|
|
62
|
+
const logger = logger_1.Logger.getLogger();
|
|
63
|
+
if (!res.ok || res.status !== 200) {
|
|
64
|
+
if (correlationId && logger) {
|
|
65
|
+
logger.setTag('correlation_id', correlationId);
|
|
66
|
+
}
|
|
67
|
+
const error = new Error(`Request failed: ${res.status}`);
|
|
68
|
+
logger?.captureException(error, { correlationId, status: res.status });
|
|
69
|
+
throw error;
|
|
70
|
+
}
|
|
71
|
+
return res;
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
clearTimeout(timeoutId);
|
|
75
|
+
if (error.name === 'AbortError') {
|
|
76
|
+
const timeoutError = new Error(`Request timeout after ${constants_core_1.REQUEST_TIMEOUT_MS / 1000}s: ${relativeUrl}`);
|
|
77
|
+
logger_1.Logger.log.error('fetchAugustWithKey', timeoutError, { relativeUrl });
|
|
78
|
+
throw timeoutError;
|
|
49
79
|
}
|
|
50
|
-
const error = new Error(`Request failed: ${res.status}`);
|
|
51
|
-
logger?.captureException(error, { correlationId, status: res.status });
|
|
52
80
|
throw error;
|
|
53
81
|
}
|
|
54
|
-
return res;
|
|
55
82
|
}
|
|
56
83
|
async function fetchAugustPublic(relativeUrl, options) {
|
|
57
84
|
const defaultHeaders = {
|
|
58
85
|
'content-type': 'application/json',
|
|
59
86
|
accept: 'application/json',
|
|
60
87
|
};
|
|
61
|
-
const
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
88
|
+
const controller = new AbortController();
|
|
89
|
+
const timeoutId = setTimeout(() => controller.abort(), constants_core_1.REQUEST_TIMEOUT_MS);
|
|
90
|
+
try {
|
|
91
|
+
const res = await fetch(`${constants_core_1.WEBSERVER_URL['public']}${relativeUrl}`, {
|
|
92
|
+
headers: {
|
|
93
|
+
...defaultHeaders,
|
|
94
|
+
...options?.headers,
|
|
95
|
+
},
|
|
96
|
+
method: options?.method ?? 'GET',
|
|
97
|
+
body: JSON.stringify(options?.data),
|
|
98
|
+
signal: controller.signal,
|
|
99
|
+
});
|
|
100
|
+
clearTimeout(timeoutId);
|
|
101
|
+
const correlationId = res.headers['x-correlation-id'];
|
|
102
|
+
const logger = logger_1.Logger.getLogger();
|
|
103
|
+
if (!res.ok || res.status !== 200) {
|
|
104
|
+
if (correlationId && logger) {
|
|
105
|
+
logger.setTag('correlation_id', correlationId);
|
|
106
|
+
}
|
|
107
|
+
const error = new Error(`Request failed: ${res.status}`);
|
|
108
|
+
logger?.captureException(error, { correlationId, status: res.status });
|
|
109
|
+
throw error;
|
|
110
|
+
}
|
|
111
|
+
return res;
|
|
112
|
+
}
|
|
113
|
+
catch (error) {
|
|
114
|
+
clearTimeout(timeoutId);
|
|
115
|
+
if (error.name === 'AbortError') {
|
|
116
|
+
const timeoutError = new Error(`Request timeout after ${constants_core_1.REQUEST_TIMEOUT_MS / 1000}s: ${relativeUrl}`);
|
|
117
|
+
logger_1.Logger.log.error('fetchAugustPublic', timeoutError, { relativeUrl });
|
|
118
|
+
throw timeoutError;
|
|
74
119
|
}
|
|
75
|
-
const error = new Error(`Request failed: ${res.status}`);
|
|
76
|
-
logger?.captureException(error, { correlationId, status: res.status });
|
|
77
120
|
throw error;
|
|
78
121
|
}
|
|
79
|
-
return res;
|
|
80
122
|
}
|
|
81
123
|
async function fetchAugustWithBearer(bearerToken, relativeUrl, options) {
|
|
82
124
|
const defaultHeaders = {
|
|
@@ -84,25 +126,40 @@ async function fetchAugustWithBearer(bearerToken, relativeUrl, options) {
|
|
|
84
126
|
'content-type': 'application/json',
|
|
85
127
|
accept: 'application/json',
|
|
86
128
|
};
|
|
87
|
-
const
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
129
|
+
const controller = new AbortController();
|
|
130
|
+
const timeoutId = setTimeout(() => controller.abort(), constants_core_1.REQUEST_TIMEOUT_MS);
|
|
131
|
+
try {
|
|
132
|
+
const res = await fetch(`${constants_core_1.WEBSERVER_URL[(options?.server ?? 'production')]}${relativeUrl}`, {
|
|
133
|
+
headers: {
|
|
134
|
+
...defaultHeaders,
|
|
135
|
+
...options.headers,
|
|
136
|
+
},
|
|
137
|
+
method: options.method,
|
|
138
|
+
body: JSON.stringify(options.data),
|
|
139
|
+
signal: controller.signal,
|
|
140
|
+
});
|
|
141
|
+
clearTimeout(timeoutId);
|
|
142
|
+
const correlationId = res.headers['x-correlation-id'];
|
|
143
|
+
const logger = logger_1.Logger.getLogger();
|
|
144
|
+
if (!res.ok || res.status !== 200) {
|
|
145
|
+
if (correlationId && logger) {
|
|
146
|
+
logger.setTag('correlation_id', correlationId);
|
|
147
|
+
}
|
|
148
|
+
const error = new Error(`Request failed: ${res.status}`);
|
|
149
|
+
logger?.captureException(error, { correlationId, status: res.status });
|
|
150
|
+
throw error;
|
|
151
|
+
}
|
|
152
|
+
return res;
|
|
153
|
+
}
|
|
154
|
+
catch (error) {
|
|
155
|
+
clearTimeout(timeoutId);
|
|
156
|
+
if (error.name === 'AbortError') {
|
|
157
|
+
const timeoutError = new Error(`Request timeout after ${constants_core_1.REQUEST_TIMEOUT_MS / 1000}s: ${relativeUrl}`);
|
|
158
|
+
logger_1.Logger.log.error('fetchAugustWithBearer', timeoutError, { relativeUrl });
|
|
159
|
+
throw timeoutError;
|
|
100
160
|
}
|
|
101
|
-
const error = new Error(`Request failed: ${res.status}`);
|
|
102
|
-
logger?.captureException(error, { correlationId, status: res.status });
|
|
103
161
|
throw error;
|
|
104
162
|
}
|
|
105
|
-
return res;
|
|
106
163
|
}
|
|
107
164
|
function isRetryableError(error) {
|
|
108
165
|
return ((error instanceof TypeError && error.message.includes('fetch failed')) ||
|
|
@@ -123,7 +180,7 @@ async function withRetry(fn, maxRetries = 3, baseDelay = 1000, shouldRetry = isR
|
|
|
123
180
|
lastError = error;
|
|
124
181
|
if (attempt < maxRetries && shouldRetry(error)) {
|
|
125
182
|
const delay = baseDelay * Math.pow(2, attempt);
|
|
126
|
-
|
|
183
|
+
logger_1.Logger.log.warn('withRetry', `Attempt ${attempt + 1} failed, retrying in ${delay}ms: ${error.message}`);
|
|
127
184
|
await new Promise((resolve) => setTimeout(resolve, delay));
|
|
128
185
|
continue;
|
|
129
186
|
}
|
|
@@ -139,7 +196,7 @@ async function fetchTokenizedVaults(pool, headers) {
|
|
|
139
196
|
tokenizedVaults = exports.CACHE.get(key);
|
|
140
197
|
}
|
|
141
198
|
else {
|
|
142
|
-
const tokenizedVaultsResponse = await fetchAugustPublic(
|
|
199
|
+
const tokenizedVaultsResponse = await fetchAugustPublic(constants_core_1.WEBSERVER_ENDPOINTS.public.tokenizedVault.list, { headers: headers });
|
|
143
200
|
tokenizedVaults =
|
|
144
201
|
(await tokenizedVaultsResponse.json());
|
|
145
202
|
exports.CACHE.set(key, tokenizedVaults);
|
|
@@ -155,35 +212,91 @@ async function fetchTokenPrice(symbol, provider, coinGeckoKey, headers) {
|
|
|
155
212
|
console.error('#fetchTokenPrice: symbol parameter is undefined');
|
|
156
213
|
return 0;
|
|
157
214
|
}
|
|
215
|
+
let normalizedSymbol = symbol.toLowerCase();
|
|
216
|
+
normalizedSymbol = normalizedSymbol === 'xbtc' ? 'btc' : normalizedSymbol;
|
|
217
|
+
normalizedSymbol = normalizedSymbol === 'strbtc' ? 'btc' : normalizedSymbol;
|
|
218
|
+
const cacheKey = `price:${normalizedSymbol}:${provider ? 'with-provider' : 'no-provider'}`;
|
|
219
|
+
const cachedError = PRICE_ERROR_CACHE.get(cacheKey);
|
|
220
|
+
if (cachedError) {
|
|
221
|
+
logger_1.Logger.log.info('fetchTokenPrice', `Error cache HIT for ${normalizedSymbol} - throwing cached error`);
|
|
222
|
+
throw cachedError;
|
|
223
|
+
}
|
|
224
|
+
const cachedPrice = PRICE_CACHE.get(cacheKey);
|
|
225
|
+
if (cachedPrice !== undefined) {
|
|
226
|
+
logger_1.Logger.log.info('fetchTokenPrice', `Cache HIT for ${normalizedSymbol}: $${cachedPrice}`);
|
|
227
|
+
return cachedPrice;
|
|
228
|
+
}
|
|
229
|
+
const inflightRequest = PRICE_REQUESTS.get(cacheKey);
|
|
230
|
+
if (inflightRequest) {
|
|
231
|
+
logger_1.Logger.log.info('fetchTokenPrice', `In-flight request deduplication for ${normalizedSymbol}`);
|
|
232
|
+
return inflightRequest;
|
|
233
|
+
}
|
|
234
|
+
const pricePromise = (async () => {
|
|
235
|
+
try {
|
|
236
|
+
const price = await _fetchTokenPriceInternal(symbol, provider, coinGeckoKey, headers);
|
|
237
|
+
PRICE_CACHE.set(cacheKey, price);
|
|
238
|
+
PRICE_ERROR_CACHE.delete(cacheKey);
|
|
239
|
+
return price;
|
|
240
|
+
}
|
|
241
|
+
catch (error) {
|
|
242
|
+
const err = error instanceof Error ? error : new Error(String(error));
|
|
243
|
+
PRICE_ERROR_CACHE.set(cacheKey, err);
|
|
244
|
+
logger_1.Logger.log.info('fetchTokenPrice', `Cached error for ${normalizedSymbol}: ${err.message}`);
|
|
245
|
+
throw err;
|
|
246
|
+
}
|
|
247
|
+
finally {
|
|
248
|
+
PRICE_REQUESTS.delete(cacheKey);
|
|
249
|
+
}
|
|
250
|
+
})();
|
|
251
|
+
PRICE_REQUESTS.set(cacheKey, pricePromise);
|
|
252
|
+
return pricePromise;
|
|
253
|
+
}
|
|
254
|
+
async function _fetchTokenPriceInternal(symbol, provider, coinGeckoKey, headers) {
|
|
158
255
|
let tokenizedVaults;
|
|
159
|
-
if (exports.CACHE.get(
|
|
160
|
-
tokenizedVaults = exports.CACHE.get(
|
|
256
|
+
if (exports.CACHE.get(constants_core_1.WEBSERVER_ENDPOINTS.public.tokenizedVault.list)) {
|
|
257
|
+
tokenizedVaults = exports.CACHE.get(constants_core_1.WEBSERVER_ENDPOINTS.public.tokenizedVault.list);
|
|
161
258
|
}
|
|
162
259
|
else {
|
|
163
|
-
const tokenizedVaultsResponse = await withRetry(async () => await fetchAugustPublic(
|
|
260
|
+
const tokenizedVaultsResponse = await withRetry(async () => await fetchAugustPublic(constants_core_1.WEBSERVER_ENDPOINTS.public.tokenizedVault.list, { headers: headers }), 5, 2000);
|
|
164
261
|
if (!tokenizedVaultsResponse.ok) {
|
|
165
262
|
throw new Error(`fetching tokenized vaults: ${tokenizedVaultsResponse?.statusText}`);
|
|
166
263
|
}
|
|
167
264
|
tokenizedVaults =
|
|
168
265
|
(await tokenizedVaultsResponse.json());
|
|
169
|
-
exports.CACHE.set(
|
|
266
|
+
exports.CACHE.set(constants_core_1.WEBSERVER_ENDPOINTS.public.tokenizedVault.list, tokenizedVaults);
|
|
170
267
|
}
|
|
171
268
|
const vaultArray = tokenizedVaults.map((vault) => ({
|
|
172
269
|
vault: vault.address,
|
|
173
270
|
symbol: vault.receipt_token_symbol,
|
|
174
271
|
}));
|
|
175
272
|
const foundVaultLpAsset = vaultArray.find((v) => v.symbol?.toLowerCase() === symbol?.toLowerCase());
|
|
273
|
+
const version = (0, helpers_vaults_1.getVaultVersion)(foundVaultLpAsset?.vault);
|
|
274
|
+
if (foundVaultLpAsset?.vault && provider && version === 'evm-2') {
|
|
275
|
+
try {
|
|
276
|
+
const vaultContract = (0, helpers_web3_1.createContract)({
|
|
277
|
+
provider,
|
|
278
|
+
address: (0, ethers_1.getAddress)(foundVaultLpAsset.vault),
|
|
279
|
+
abi: abis_1.ABI_TOKENIZED_VAULT_V2,
|
|
280
|
+
});
|
|
281
|
+
const decimals = await (0, helpers_web3_1.getDecimals)(provider, await (0, helpers_web3_1.getReceiptTokenAddress)(provider, foundVaultLpAsset.vault));
|
|
282
|
+
const sharePrice = await vaultContract.getSharePrice();
|
|
283
|
+
return Number((0, helpers_core_1.toNormalizedBn)(sharePrice, decimals).normalized);
|
|
284
|
+
}
|
|
285
|
+
catch (e) {
|
|
286
|
+
throw new Error('failed to fetch token price for evm-2 vault');
|
|
287
|
+
}
|
|
288
|
+
}
|
|
176
289
|
let _symbol = symbol?.toLowerCase();
|
|
290
|
+
_symbol = _symbol === 'xbtc' ? 'btc' : _symbol;
|
|
291
|
+
_symbol = _symbol === 'strbtc' ? 'btc' : _symbol;
|
|
177
292
|
try {
|
|
178
|
-
_symbol = _symbol === 'xbtc' ? 'btc' : _symbol;
|
|
179
|
-
_symbol = _symbol === 'strbtc' ? 'btc' : _symbol;
|
|
180
293
|
const res = await fetch(`https://prices.augustdigital.io/price/${_symbol}`, { headers: headers });
|
|
181
294
|
if (res.status !== 200) {
|
|
182
295
|
throw new Error(`fetching ${_symbol} price: ${res?.statusText}`);
|
|
183
296
|
}
|
|
184
297
|
const json = (await res.json());
|
|
185
298
|
if (foundVaultLpAsset && provider) {
|
|
186
|
-
const vaultContract = (0,
|
|
299
|
+
const vaultContract = (0, helpers_web3_1.createContract)({
|
|
187
300
|
provider,
|
|
188
301
|
address: (0, ethers_1.getAddress)(foundVaultLpAsset.vault),
|
|
189
302
|
abi: abis_1.ABI_LENDING_POOL_V2,
|
|
@@ -194,14 +307,14 @@ async function fetchTokenPrice(symbol, provider, coinGeckoKey, headers) {
|
|
|
194
307
|
vaultContract.decimals(),
|
|
195
308
|
]));
|
|
196
309
|
const ratio = (totalAssets || BigInt(0)) / (totalSupply || BigInt(0)) || 1;
|
|
197
|
-
return json.price * Number((0,
|
|
310
|
+
return json.price * Number((0, helpers_core_1.toNormalizedBn)(ratio, decimals).normalized);
|
|
198
311
|
}
|
|
199
312
|
return json.price;
|
|
200
313
|
}
|
|
201
314
|
catch (e) {
|
|
202
315
|
const fallbackPrice = await (0, fetcher_1.fetchTokenPricesFromCoinGecko)(symbol, coinGeckoKey);
|
|
203
316
|
if (foundVaultLpAsset && provider) {
|
|
204
|
-
const vaultContract = (0,
|
|
317
|
+
const vaultContract = (0, helpers_web3_1.createContract)({
|
|
205
318
|
provider,
|
|
206
319
|
address: (0, ethers_1.getAddress)(foundVaultLpAsset.vault),
|
|
207
320
|
abi: abis_1.ABI_LENDING_POOL_V2,
|
|
@@ -212,7 +325,7 @@ async function fetchTokenPrice(symbol, provider, coinGeckoKey, headers) {
|
|
|
212
325
|
vaultContract.decimals(),
|
|
213
326
|
]));
|
|
214
327
|
const ratio = (totalAssets || BigInt(0)) / (totalSupply || BigInt(0)) || 1;
|
|
215
|
-
return fallbackPrice * Number((0,
|
|
328
|
+
return fallbackPrice * Number((0, helpers_core_1.toNormalizedBn)(ratio, decimals).normalized);
|
|
216
329
|
}
|
|
217
330
|
if (fallbackPrice) {
|
|
218
331
|
return fallbackPrice;
|
|
@@ -229,7 +342,7 @@ async function fetchTokenizedVaultLoans(pool, chainId, headers) {
|
|
|
229
342
|
loans = exports.CACHE.get(key);
|
|
230
343
|
}
|
|
231
344
|
else {
|
|
232
|
-
const tokenizedVaultsResponse = await fetchAugustPublic(
|
|
345
|
+
const tokenizedVaultsResponse = await fetchAugustPublic(constants_core_1.WEBSERVER_ENDPOINTS.public.tokenizedVault.loans(pool, chainId, true), { headers: headers });
|
|
233
346
|
loans = (await tokenizedVaultsResponse.json()).loans;
|
|
234
347
|
exports.CACHE.set(key, loans);
|
|
235
348
|
}
|