@augustdigital/sdk 4.0.1-alpha → 4.0.1-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (226) hide show
  1. package/README.md +169 -11
  2. package/lib/abis/AddressResolver.d.ts +28 -0
  3. package/lib/abis/AddressResolver.js +23 -0
  4. package/lib/abis/AddressResolver.js.map +1 -0
  5. package/lib/abis/ChainlinkV3.d.ts +87 -0
  6. package/lib/abis/ChainlinkV3.js +117 -0
  7. package/lib/abis/ChainlinkV3.js.map +1 -0
  8. package/lib/abis/ERC20.d.ts +168 -0
  9. package/lib/abis/ERC20.js +226 -0
  10. package/lib/abis/ERC20.js.map +1 -0
  11. package/lib/abis/ERC20_Bytes32.d.ts +135 -0
  12. package/lib/abis/ERC20_Bytes32.js +192 -0
  13. package/lib/abis/ERC20_Bytes32.js.map +1 -0
  14. package/lib/abis/ERC4626.d.ts +363 -0
  15. package/lib/abis/ERC4626.js +506 -0
  16. package/lib/abis/ERC4626.js.map +1 -0
  17. package/lib/abis/ERC721.d.ts +230 -0
  18. package/lib/abis/ERC721.js +320 -0
  19. package/lib/abis/ERC721.js.map +1 -0
  20. package/lib/abis/FeeOracle.d.ts +120 -0
  21. package/lib/abis/FeeOracle.js +161 -0
  22. package/lib/abis/FeeOracle.js.map +1 -0
  23. package/lib/abis/LendingPool.d.ts +1393 -0
  24. package/lib/abis/LendingPool.js +1806 -0
  25. package/lib/abis/LendingPool.js.map +1 -0
  26. package/lib/abis/LendingPoolV2.d.ts +55 -0
  27. package/lib/abis/LendingPoolV2.js +1832 -0
  28. package/lib/abis/LendingPoolV2.js.map +1 -0
  29. package/lib/abis/LendingPoolV3.d.ts +35 -0
  30. package/lib/abis/LendingPoolV3.js +1160 -0
  31. package/lib/abis/LendingPoolV3.js.map +1 -0
  32. package/lib/abis/Loan.d.ts +837 -0
  33. package/lib/abis/Loan.js +1080 -0
  34. package/lib/abis/Loan.js.map +1 -0
  35. package/lib/abis/Multicall3.d.ts +30 -0
  36. package/lib/abis/Multicall3.js +94 -0
  37. package/lib/abis/Multicall3.js.map +1 -0
  38. package/lib/abis/PoolAdapter.d.ts +76 -0
  39. package/lib/abis/PoolAdapter.js +412 -0
  40. package/lib/abis/PoolAdapter.js.map +1 -0
  41. package/lib/abis/RewardDistributor.d.ts +46 -0
  42. package/lib/abis/RewardDistributor.js +352 -0
  43. package/lib/abis/RewardDistributor.js.map +1 -0
  44. package/lib/abis/SmartAccount.d.ts +16 -0
  45. package/lib/abis/SmartAccount.js +16 -0
  46. package/lib/abis/SmartAccount.js.map +1 -0
  47. package/lib/abis/TextResolver.d.ts +16 -0
  48. package/lib/abis/TextResolver.js +16 -0
  49. package/lib/abis/TextResolver.js.map +1 -0
  50. package/lib/abis/TokenizedVaultV2.d.ts +1354 -0
  51. package/lib/abis/TokenizedVaultV2.js +1028 -0
  52. package/lib/abis/TokenizedVaultV2.js.map +1 -0
  53. package/lib/abis/TokenizedVaultV2Receipt.d.ts +1568 -0
  54. package/lib/abis/TokenizedVaultV2Receipt.js +1061 -0
  55. package/lib/abis/TokenizedVaultV2Receipt.js.map +1 -0
  56. package/lib/abis/TokenizedVaultV2WhitelistedAssets.d.ts +274 -0
  57. package/lib/abis/TokenizedVaultV2WhitelistedAssets.js +167 -0
  58. package/lib/abis/TokenizedVaultV2WhitelistedAssets.js.map +1 -0
  59. package/lib/abis/UniversalResolverResolve.d.ts +69 -0
  60. package/lib/abis/UniversalResolverResolve.js +35 -0
  61. package/lib/abis/UniversalResolverResolve.js.map +1 -0
  62. package/lib/abis/UniversalSignatureValidator.d.ts +17 -0
  63. package/lib/abis/UniversalSignatureValidator.js +27 -0
  64. package/lib/abis/UniversalSignatureValidator.js.map +1 -0
  65. package/lib/abis/WrapperAdapter.d.ts +60 -0
  66. package/lib/abis/WrapperAdapter.js +150 -0
  67. package/lib/abis/WrapperAdapter.js.map +1 -0
  68. package/lib/abis/index.d.ts +22 -0
  69. package/lib/abis/index.js +39 -0
  70. package/lib/abis/index.js.map +1 -0
  71. package/lib/adapters/evm/getters.d.ts +4 -0
  72. package/lib/adapters/evm/getters.js +153 -0
  73. package/lib/adapters/evm/getters.js.map +1 -0
  74. package/lib/adapters/evm/index.d.ts +19 -0
  75. package/lib/adapters/evm/index.js +54 -0
  76. package/lib/adapters/evm/index.js.map +1 -0
  77. package/lib/adapters/evm/utils.d.ts +2 -0
  78. package/lib/adapters/evm/utils.js +43 -0
  79. package/lib/adapters/evm/utils.js.map +1 -0
  80. package/lib/adapters/solana/constants.d.ts +25 -0
  81. package/lib/adapters/solana/constants.js +32 -0
  82. package/lib/adapters/solana/constants.js.map +1 -0
  83. package/lib/adapters/solana/getters.d.ts +3 -0
  84. package/lib/adapters/solana/getters.js +135 -0
  85. package/lib/adapters/solana/getters.js.map +1 -0
  86. package/lib/adapters/solana/idl/vault-idl.d.ts +338 -0
  87. package/lib/adapters/solana/idl/vault-idl.js +1075 -0
  88. package/lib/adapters/solana/idl/vault-idl.js.map +1 -0
  89. package/lib/adapters/solana/index.d.ts +136 -0
  90. package/lib/adapters/solana/index.js +174 -0
  91. package/lib/adapters/solana/index.js.map +1 -0
  92. package/lib/adapters/solana/types.d.ts +58 -0
  93. package/lib/adapters/solana/types.js +3 -0
  94. package/lib/adapters/solana/types.js.map +1 -0
  95. package/lib/adapters/solana/utils.d.ts +104 -0
  96. package/lib/adapters/solana/utils.js +380 -0
  97. package/lib/adapters/solana/utils.js.map +1 -0
  98. package/lib/adapters/solana/vault.actions.d.ts +18 -0
  99. package/lib/adapters/solana/vault.actions.js +235 -0
  100. package/lib/adapters/solana/vault.actions.js.map +1 -0
  101. package/lib/adapters/sui/index.d.ts +0 -0
  102. package/lib/adapters/sui/index.js +1 -0
  103. package/lib/adapters/sui/index.js.map +1 -0
  104. package/lib/core/auth/index.d.ts +1 -0
  105. package/lib/core/auth/index.js +18 -0
  106. package/lib/core/auth/index.js.map +1 -0
  107. package/lib/core/auth/verify.d.ts +2 -0
  108. package/lib/core/auth/verify.js +21 -0
  109. package/lib/core/auth/verify.js.map +1 -0
  110. package/lib/core/base.class.d.ts +33 -0
  111. package/lib/core/base.class.js +66 -0
  112. package/lib/core/base.class.js.map +1 -0
  113. package/lib/core/constants.d.ts +88 -0
  114. package/lib/core/constants.js +148 -0
  115. package/lib/core/constants.js.map +1 -0
  116. package/lib/core/core.helpers.d.ts +23 -0
  117. package/lib/core/core.helpers.js +210 -0
  118. package/lib/core/core.helpers.js.map +1 -0
  119. package/lib/core/fetcher.d.ts +22 -0
  120. package/lib/core/fetcher.js +321 -0
  121. package/lib/core/fetcher.js.map +1 -0
  122. package/lib/core/index.d.ts +7 -0
  123. package/lib/core/index.js +24 -0
  124. package/lib/core/index.js.map +1 -0
  125. package/lib/core/logger/index.d.ts +21 -0
  126. package/lib/core/logger/index.js +80 -0
  127. package/lib/core/logger/index.js.map +1 -0
  128. package/lib/core/logger/slack.d.ts +12 -0
  129. package/lib/core/logger/slack.js +49 -0
  130. package/lib/core/logger/slack.js.map +1 -0
  131. package/lib/core/read.actions.d.ts +3 -0
  132. package/lib/core/read.actions.js +39 -0
  133. package/lib/core/read.actions.js.map +1 -0
  134. package/lib/core/web3.helpers.d.ts +29 -0
  135. package/lib/core/web3.helpers.js +356 -0
  136. package/lib/core/web3.helpers.js.map +1 -0
  137. package/lib/core/write.actions.d.ts +9 -0
  138. package/lib/core/write.actions.js +51 -0
  139. package/lib/core/write.actions.js.map +1 -0
  140. package/lib/index.d.ts +6 -5
  141. package/lib/index.js +9 -7
  142. package/lib/index.js.map +1 -1
  143. package/lib/main.d.ts +102 -14
  144. package/lib/main.js +63 -13
  145. package/lib/main.js.map +1 -1
  146. package/lib/modules/vaults/constants.d.ts +65 -0
  147. package/lib/modules/vaults/constants.js +194 -0
  148. package/lib/modules/vaults/constants.js.map +1 -0
  149. package/lib/modules/vaults/fetcher.d.ts +101 -0
  150. package/lib/modules/vaults/fetcher.js +257 -0
  151. package/lib/modules/vaults/fetcher.js.map +1 -0
  152. package/lib/modules/vaults/getters.d.ts +85 -0
  153. package/lib/modules/vaults/getters.js +983 -0
  154. package/lib/modules/vaults/getters.js.map +1 -0
  155. package/lib/modules/vaults/index.d.ts +4 -0
  156. package/lib/modules/vaults/index.js +21 -0
  157. package/lib/modules/vaults/index.js.map +1 -0
  158. package/lib/modules/vaults/main.d.ts +111 -0
  159. package/lib/modules/vaults/main.js +557 -0
  160. package/lib/modules/vaults/main.js.map +1 -0
  161. package/lib/modules/vaults/read.actions.d.ts +3 -0
  162. package/lib/modules/vaults/read.actions.js +39 -0
  163. package/lib/modules/vaults/read.actions.js.map +1 -0
  164. package/lib/modules/vaults/utils.d.ts +15 -0
  165. package/lib/modules/vaults/utils.js +215 -0
  166. package/lib/modules/vaults/utils.js.map +1 -0
  167. package/lib/modules/vaults/vault.actions.d.ts +10 -0
  168. package/lib/modules/vaults/vault.actions.js +95 -0
  169. package/lib/modules/vaults/vault.actions.js.map +1 -0
  170. package/lib/modules/vaults/write.actions.d.ts +17 -0
  171. package/lib/modules/vaults/write.actions.js +143 -0
  172. package/lib/modules/vaults/write.actions.js.map +1 -0
  173. package/lib/services/coingecko/fetcher.d.ts +1 -0
  174. package/lib/services/coingecko/fetcher.js +36 -0
  175. package/lib/services/coingecko/fetcher.js.map +1 -0
  176. package/lib/services/coingecko/index.d.ts +2 -0
  177. package/lib/services/coingecko/index.js +19 -0
  178. package/lib/services/coingecko/index.js.map +1 -0
  179. package/lib/services/coingecko/utils.d.ts +1 -0
  180. package/lib/services/coingecko/utils.js +24 -0
  181. package/lib/services/coingecko/utils.js.map +1 -0
  182. package/lib/services/debank/fetcher.d.ts +2 -0
  183. package/lib/services/debank/fetcher.js +16 -0
  184. package/lib/services/debank/fetcher.js.map +1 -0
  185. package/lib/services/debank/index.d.ts +2 -0
  186. package/lib/services/debank/index.js +19 -0
  187. package/lib/services/debank/index.js.map +1 -0
  188. package/lib/services/debank/utils.d.ts +32 -0
  189. package/lib/services/debank/utils.js +229 -0
  190. package/lib/services/debank/utils.js.map +1 -0
  191. package/lib/services/subgraph/fetcher.d.ts +2 -0
  192. package/lib/services/subgraph/fetcher.js +59 -0
  193. package/lib/services/subgraph/fetcher.js.map +1 -0
  194. package/lib/services/subgraph/index.d.ts +2 -0
  195. package/lib/services/subgraph/index.js +19 -0
  196. package/lib/services/subgraph/index.js.map +1 -0
  197. package/lib/services/subgraph/vaults.d.ts +10 -0
  198. package/lib/services/subgraph/vaults.js +473 -0
  199. package/lib/services/subgraph/vaults.js.map +1 -0
  200. package/lib/types/index.d.ts +8 -0
  201. package/lib/types/index.js +24 -0
  202. package/lib/types/index.js.map +1 -0
  203. package/lib/types/pools.d.ts +141 -0
  204. package/lib/types/pools.js +3 -0
  205. package/lib/types/pools.js.map +1 -0
  206. package/lib/types/staking.d.ts +28 -0
  207. package/lib/types/staking.js +3 -0
  208. package/lib/types/staking.js.map +1 -0
  209. package/lib/types/subgraph.d.ts +45 -0
  210. package/lib/types/subgraph.js +3 -0
  211. package/lib/types/subgraph.js.map +1 -0
  212. package/lib/types/user.d.ts +1 -0
  213. package/lib/types/user.js +3 -0
  214. package/lib/types/user.js.map +1 -0
  215. package/lib/types/vaults.d.ts +170 -0
  216. package/lib/types/vaults.js +3 -0
  217. package/lib/types/vaults.js.map +1 -0
  218. package/lib/types/web3.d.ts +24 -0
  219. package/lib/types/web3.js +3 -0
  220. package/lib/types/web3.js.map +1 -0
  221. package/lib/types/webserver.d.ts +489 -0
  222. package/lib/types/webserver.js +3 -0
  223. package/lib/types/webserver.js.map +1 -0
  224. package/lib/verify.js +25 -12
  225. package/lib/verify.js.map +1 -1
  226. package/package.json +15 -10
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.approve = approve;
4
+ const _1 = require(".");
5
+ const abis_1 = require("../abis");
6
+ const abis_2 = require("../abis");
7
+ const web3_helpers_1 = require("./web3.helpers");
8
+ const read_actions_1 = require("./read.actions");
9
+ async function approve(signer, options) {
10
+ const { wallet, target, wait, amount } = options;
11
+ const [goodWallet, goodPool] = [
12
+ (0, web3_helpers_1.checkAddress)(wallet, console, 'wallet'),
13
+ (0, web3_helpers_1.checkAddress)(target, console),
14
+ ];
15
+ if (!goodWallet || !goodPool || !amount)
16
+ return;
17
+ const _allowance = await (0, read_actions_1.allowance)(signer, { target, wallet });
18
+ if (!_allowance || _allowance?.raw === '0') {
19
+ try {
20
+ const poolContract = (0, web3_helpers_1.createContract)({
21
+ address: target,
22
+ provider: signer,
23
+ abi: abis_2.ABI_LENDING_POOLS,
24
+ });
25
+ const [asset, decimals] = await Promise.all([
26
+ poolContract.asset(),
27
+ poolContract.decimals(),
28
+ ]);
29
+ const normalizedAmt = (0, _1.toNormalizedBn)(amount, decimals);
30
+ const depositTokenContract = (0, web3_helpers_1.createContract)({
31
+ address: asset,
32
+ abi: abis_1.ABI_ERC20,
33
+ provider: signer,
34
+ });
35
+ const approvalTx = await depositTokenContract
36
+ .connect(signer)
37
+ .approve(target, normalizedAmt.raw);
38
+ if (wait)
39
+ await approvalTx.wait();
40
+ console.log('#approve::tx_hash:', approvalTx?.hash);
41
+ return approvalTx?.hash;
42
+ }
43
+ catch (e) {
44
+ console.error('#approve:', e);
45
+ }
46
+ }
47
+ else {
48
+ console.log('#approve::allowance:', _allowance.normalized, '\n#approve::amount:', amount);
49
+ }
50
+ }
51
+ //# sourceMappingURL=write.actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write.actions.js","sourceRoot":"","sources":["../../src.ts/core/write.actions.ts"],"names":[],"mappings":";;AAqBA,0BAoDC;AAzED,wBAAmC;AACnC,kCAAoC;AAEpC,kCAA4C;AAE5C,iDAA8D;AAC9D,iDAA2C;AAepC,KAAK,UAAU,OAAO,CAC3B,MAAuB,EACvB,OAA8B;IAE9B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACjD,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,IAAI,CAAC,MAAM;QAAE,OAAO;IAGhD,MAAM,UAAU,GAAG,MAAM,IAAA,wBAAS,EAAC,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAE/D,IAAI,CAAC,UAAU,IAAI,UAAU,EAAE,GAAG,KAAK,GAAG,EAAE,CAAC;QAC3C,IAAI,CAAC;YAEH,MAAM,YAAY,GAAG,IAAA,6BAAc,EAAC;gBAClC,OAAO,EAAE,MAAM;gBACf,QAAQ,EAAE,MAAM;gBAChB,GAAG,EAAE,wBAAiB;aACvB,CAAC,CAAC;YACH,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC1C,YAAY,CAAC,KAAK,EAAqB;gBACvC,YAAY,CAAC,QAAQ,EAAqB;aAC3C,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,IAAA,iBAAc,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAEvD,MAAM,oBAAoB,GAAG,IAAA,6BAAc,EAAC;gBAC1C,OAAO,EAAE,KAAK;gBACd,GAAG,EAAE,gBAAS;gBACd,QAAQ,EAAE,MAAM;aACjB,CAAwB,CAAC;YAC1B,MAAM,UAAU,GAAG,MAAM,oBAAoB;iBAC1C,OAAO,CAAC,MAAM,CAAC;iBACf,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;YAEtC,IAAI,IAAI;gBAAE,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;YACpD,OAAO,UAAU,EAAE,IAAc,CAAC;QACpC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CACT,sBAAsB,EACtB,UAAU,CAAC,UAAU,EACrB,qBAAqB,EACrB,MAAM,CACP,CAAC;IACJ,CAAC;AACH,CAAC"}
package/lib/index.d.ts CHANGED
@@ -1,7 +1,8 @@
1
- export * from '@augustdigital/types';
2
- export * from '@augustdigital/utils';
3
- export * from '@augustdigital/abis';
4
- export * from '@augustdigital/services';
5
- export declare const VAULT_ADDRESSES: Record<"testWETHTSA" | "tacUSR" | "upINJUSDT" | "tac-tETH" | "upAUSD" | "TACcbBTC" | "xUpUSDC" | "uptBTC" | "gtETH" | "agETH" | "upUSDC" | "hgETH" | "upsSYLVA" | "hbBTC" | "hbHYPE" | "upAZT" | "sUSDT" | "upEDGE" | "coreUSDC" | "upcUSDO" | "shiftETH" | "upsUSDe" | "upLBTC" | "upAVAX" | "TACrsEth" | "mUSD" | "earnAUSD" | "AlpineUSDCFlagship" | "AlpineCoinshiftUSDC" | "upBTC" | "UpStrBTC" | "maxiUSR" | "upGAMMAusdc" | "xHYPE", `0x${string}`>;
1
+ export * from './types';
2
+ export * from './core';
3
+ export * from './abis';
4
+ export * from './modules/vaults';
5
+ export declare const VAULT_ADDRESSES: Record<"testWETHTSA" | "tacUSR" | "upINJUSDT" | "tac-tETH" | "upAUSD" | "TACcbBTC" | "xUpUSDC" | "uptBTC" | "gtETH" | "agETH" | "upUSDC" | "hgETH" | "upsSYLVA" | "hbBTC" | "hbHYPE" | "upAZT" | "sUSDT" | "upEDGE" | "coreUSDC" | "upcUSDO" | "shiftETH" | "upsUSDe" | "upLBTC" | "upAVAX" | "TACrsEth" | "mUSD" | "earnAUSD" | "AlpineUSDCFlagship" | "AlpineCoinshiftUSDC" | "upBTC" | "UpStrBTC" | "maxiUSR" | "upGAMMAusdc" | "xHYPE" | "wildUSD", `0x${string}`>;
6
+ export { SUBGRAPH_POOL_URLS } from './modules/vaults/constants';
6
7
  import { AugustSDK } from './main';
7
8
  export default AugustSDK;
package/lib/index.js CHANGED
@@ -14,13 +14,15 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.VAULT_ADDRESSES = void 0;
18
- __exportStar(require("@augustdigital/types"), exports);
19
- __exportStar(require("@augustdigital/utils"), exports);
20
- __exportStar(require("@augustdigital/abis"), exports);
21
- __exportStar(require("@augustdigital/services"), exports);
22
- const utils_1 = require("@augustdigital/utils");
23
- exports.VAULT_ADDRESSES = utils_1.VAULT_SYMBOLS_REVERSE;
17
+ exports.SUBGRAPH_POOL_URLS = exports.VAULT_ADDRESSES = void 0;
18
+ __exportStar(require("./types"), exports);
19
+ __exportStar(require("./core"), exports);
20
+ __exportStar(require("./abis"), exports);
21
+ __exportStar(require("./modules/vaults"), exports);
22
+ const constants_1 = require("./modules/vaults/constants");
23
+ exports.VAULT_ADDRESSES = constants_1.VAULT_SYMBOLS_REVERSE;
24
+ var constants_2 = require("./modules/vaults/constants");
25
+ Object.defineProperty(exports, "SUBGRAPH_POOL_URLS", { enumerable: true, get: function () { return constants_2.SUBGRAPH_POOL_URLS; } });
24
26
  const main_1 = require("./main");
25
27
  exports.default = main_1.AugustSDK;
26
28
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src.ts/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAGA,uDAAqC;AACrC,uDAAqC;AACrC,sDAAoC;AACpC,0DAAwC;AAKxC,gDAA6D;AAChD,QAAA,eAAe,GAAG,6BAAqB,CAAC;AAKrD,iCAAmC;AACnC,kBAAe,gBAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src.ts/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAGA,0CAAwB;AACxB,yCAAuB;AACvB,yCAAuB;AACvB,mDAAiC;AAKjC,0DAAmE;AACtD,QAAA,eAAe,GAAG,iCAAqB,CAAC;AACrD,wDAAgE;AAAvD,+GAAA,kBAAkB,OAAA;AAK3B,iCAAmC;AACnC,kBAAe,gBAAS,CAAC"}
package/lib/main.d.ts CHANGED
@@ -1,20 +1,108 @@
1
- import AugustPools from '@augustdigital/pools';
2
- import AugustVaults from '@augustdigital/vaults';
3
- import { IChainId } from '@augustdigital/types';
4
- import { AugustBase, IAugustBase } from '@augustdigital/utils';
5
- import SolanaService from '@augustdigital/services/lib/solana/class';
1
+ import SolanaAdapter from './adapters/solana';
2
+ import EVMAdapter from './adapters/evm';
3
+ import { IAddress, IChainId, IVaultHistoricalParams, IWSMonitorHeaders } from './types';
4
+ import { AugustBase, IAugustBase } from './core';
5
+ import { IVaultBaseOptions, IVaultCustomOptions } from './modules/vaults';
6
6
  export declare class AugustSDK extends AugustBase {
7
- pools: AugustPools;
8
- vaults: AugustVaults;
9
- solana: SolanaService;
7
+ private vaults;
8
+ solana: SolanaAdapter;
9
+ evm: EVMAdapter;
10
+ name: string;
10
11
  constructor(baseConfig: IAugustBase);
11
12
  switchNetwork(chainId: IChainId): void;
13
+ updateWallet(address: IAddress): void;
14
+ clearWallet(): void;
12
15
  getPrice(symbol: string): Promise<any>;
13
- updateWallets({ evm, solana: { publicKey, signTransaction } }: {
14
- evm: any;
15
- solana: {
16
- publicKey: any;
17
- signTransaction: any;
16
+ getVaults(options?: {
17
+ chainIds?: number[];
18
+ headers?: IWSMonitorHeaders;
19
+ } & IVaultCustomOptions): Promise<import("./types").IVault[]>;
20
+ getVault(props: {
21
+ vault: IAddress;
22
+ chainId?: IChainId;
23
+ options?: IVaultCustomOptions;
24
+ }): Promise<import("./types").IVault>;
25
+ getVaultLoans(props: {
26
+ vault: IAddress;
27
+ chainId?: IChainId;
28
+ }): Promise<import("./types").IVaultLoan[]>;
29
+ getVaultAllocations(props: {
30
+ vault: IAddress;
31
+ chainId?: IChainId;
32
+ }): Promise<import("./types").IVaultAllocations | {
33
+ status: number;
34
+ message: string;
35
+ }>;
36
+ getVaultApy(props: {
37
+ vault: IAddress;
38
+ historical?: {
39
+ daysAgo?: number;
18
40
  };
19
- }): Promise<void>;
41
+ }): Promise<{
42
+ value: number;
43
+ timestamp: string;
44
+ }[]>;
45
+ getVaultTvl(props: {
46
+ vault: IAddress;
47
+ historical?: IVaultHistoricalParams;
48
+ }): Promise<{
49
+ value: import("./types").INormalizedNumber;
50
+ timestamp: string;
51
+ }[]>;
52
+ getTotalTvl(options?: {
53
+ chainIds?: number[];
54
+ includeClosed?: boolean;
55
+ vaults?: any[];
56
+ }): Promise<{
57
+ totalTvl: import("./types").INormalizedNumber;
58
+ emberTvl: import("./types").INormalizedNumber;
59
+ vaultsTvl: import("./types").INormalizedNumber;
60
+ timestamp: string;
61
+ vaultCount: number;
62
+ errorCount: number;
63
+ }>;
64
+ getVaultAvailableRedemptions(props: {
65
+ vault: IAddress;
66
+ chainId?: IChainId;
67
+ wallet?: IAddress;
68
+ }): Promise<{
69
+ availableRedemptions: import("./types").IVaultAvailableRedemption[];
70
+ pendingRedemptions: import("./types").IVaultAvailableRedemption[];
71
+ }>;
72
+ getVaultPositions(props: {
73
+ vault?: IAddress;
74
+ wallet?: IAddress;
75
+ chainId?: IChainId;
76
+ showAllVaults?: boolean;
77
+ solanaWallet?: string;
78
+ options?: IVaultBaseOptions;
79
+ }): Promise<import("./types").IVaultPosition[]>;
80
+ getVaultUserHistory(props: {
81
+ wallet: IAddress;
82
+ chainId?: IChainId;
83
+ vault?: IAddress;
84
+ options?: IVaultBaseOptions;
85
+ }): Promise<import("./types").IVaultUserHistoryItem[]>;
86
+ getVaultUserTransfers(props: {
87
+ wallet: IAddress;
88
+ chainId?: IChainId;
89
+ vault?: IAddress;
90
+ options?: IVaultBaseOptions;
91
+ }): Promise<{
92
+ id: string;
93
+ value: string;
94
+ to: string;
95
+ from: string;
96
+ pool: string;
97
+ block: number;
98
+ timestamp: number;
99
+ transactionHash: string;
100
+ }[]>;
101
+ getVaultStakingPositions(props: {
102
+ wallet?: IAddress;
103
+ chainId?: IChainId;
104
+ }): Promise<import("./types").IActiveStakingPosition[]>;
105
+ getVaultBorrowerHealthFactor(props?: {
106
+ chainId?: IChainId;
107
+ }): Promise<{}>;
20
108
  }
package/lib/main.js CHANGED
@@ -4,37 +4,87 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.AugustSDK = void 0;
7
- const pools_1 = __importDefault(require("@augustdigital/pools"));
8
- const vaults_1 = __importDefault(require("@augustdigital/vaults"));
9
- const utils_1 = require("@augustdigital/utils");
10
- const class_1 = __importDefault(require("@augustdigital/services/lib/solana/class"));
11
- class AugustSDK extends utils_1.AugustBase {
7
+ const solana_1 = __importDefault(require("./adapters/solana"));
8
+ const evm_1 = __importDefault(require("./adapters/evm"));
9
+ const core_1 = require("./core");
10
+ const vaults_1 = require("./modules/vaults");
11
+ class AugustSDK extends core_1.AugustBase {
12
12
  constructor(baseConfig) {
13
13
  super(baseConfig);
14
14
  this.authorized = true;
15
15
  if (Object.keys(this.providers).length === 0)
16
16
  throw new Error('Must pass at least 1 provider.');
17
- const solanaRpcUrl = baseConfig.providers?.[utils_1.SPECIAL_CHAINS.solana.chainId];
17
+ this.evm = new evm_1.default();
18
+ const solanaRpcUrl = baseConfig.providers?.[core_1.SPECIAL_CHAINS.solana.chainId];
18
19
  if (solanaRpcUrl) {
19
- const solanaService = new class_1.default(solanaRpcUrl, solanaRpcUrl.includes('devnet') ? 'devnet' : 'mainnet-beta');
20
+ const solanaService = new solana_1.default(solanaRpcUrl, solanaRpcUrl.includes('devnet') ? 'devnet' : 'mainnet-beta');
20
21
  this.solana = solanaService;
21
22
  }
22
- this.vaults = new vaults_1.default(baseConfig, this.solana);
23
- this.pools = new pools_1.default(baseConfig);
23
+ this.vaults = new vaults_1.AugustVaults(baseConfig, this.solana);
24
24
  }
25
25
  switchNetwork(chainId) {
26
- this.pools.switchNetwork(chainId);
26
+ super.switchNetwork(chainId);
27
27
  this.vaults.switchNetwork(chainId);
28
28
  }
29
+ updateWallet(address) {
30
+ if (!address)
31
+ return;
32
+ if (this.monitoring) {
33
+ this.monitoring['x-user-id'] = address;
34
+ }
35
+ this.vaults.updateWallet(address);
36
+ }
37
+ clearWallet() {
38
+ if (this.monitoring) {
39
+ this.monitoring['x-user-id'] = undefined;
40
+ }
41
+ this.vaults.clearWallet();
42
+ }
29
43
  async getPrice(symbol) {
30
44
  if (!this.authorized)
31
45
  throw new Error('Not authorized.');
32
46
  if (!symbol)
33
47
  throw new Error(`Symbol input parameter is not defined.`);
34
- return await (0, utils_1.fetchTokenPrice)(symbol, null, this.coinGeckoKey);
48
+ return await (0, core_1.fetchTokenPrice)(symbol, null, this.keys?.coingecko);
49
+ }
50
+ async getVaults(options) {
51
+ return await this.vaults.getVaults(options);
52
+ }
53
+ async getVault(props) {
54
+ return await this.vaults.getVault(props);
55
+ }
56
+ async getVaultLoans(props) {
57
+ return await this.vaults.getVaultLoans(props);
58
+ }
59
+ async getVaultAllocations(props) {
60
+ return await this.vaults.getVaultAllocations(props);
61
+ }
62
+ async getVaultApy(props) {
63
+ return await this.vaults.getVaultApy(props);
64
+ }
65
+ async getVaultTvl(props) {
66
+ return await this.vaults.getVaultTvl(props);
67
+ }
68
+ async getTotalTvl(options) {
69
+ return await this.vaults.getTotalTvl(options);
70
+ }
71
+ async getVaultAvailableRedemptions(props) {
72
+ return await this.vaults.getVaultAvailableRedemptions(props);
73
+ }
74
+ async getVaultPositions(props) {
75
+ return await this.vaults.getVaultPositions(props);
76
+ }
77
+ async getVaultUserHistory(props) {
78
+ return await this.vaults.getUserHistory(props);
79
+ }
80
+ async getVaultUserTransfers(props) {
81
+ return await this.vaults.getUserTransfers(props);
82
+ }
83
+ async getVaultStakingPositions(props) {
84
+ return await this.vaults.getStakingPositions(props.wallet, props.chainId);
35
85
  }
36
- async updateWallets({ evm, solana: { publicKey, signTransaction } }) {
37
- this.solana.setWalletProvider(publicKey, signTransaction);
86
+ async getVaultBorrowerHealthFactor(props) {
87
+ return await this.vaults.getVaultBorrowerHealthFactor(props?.chainId);
38
88
  }
39
89
  }
40
90
  exports.AugustSDK = AugustSDK;
package/lib/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src.ts/main.ts"],"names":[],"mappings":";;;;;;AAAA,iEAA+C;AAC/C,mEAAiD;AAEjD,gDAK8B;AAE9B,qFAAqE;AAErE,MAAa,SAAU,SAAQ,kBAAU;IAWvC,YAAY,UAAuB;QACjC,KAAK,CAAC,UAAU,CAAC,CAAC;QAGlB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAEpD,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,EAAE,CACzC,sBAAc,CAAC,MAAM,CAAC,OAAO,CACR,CAAC;QACxB,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,aAAa,GAAG,IAAI,eAAa,CACrC,YAAY,EACZ,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAC5D,CAAC;YACF,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;QAC9B,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAY,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,GAAG,IAAI,eAAW,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAMD,aAAa,CAAC,OAAiB;QAC7B,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAOD,KAAK,CAAC,QAAQ,CAAC,MAAc;QAC3B,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAEvE,OAAO,MAAM,IAAA,uBAAe,EAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAChE,CAAC;IAMD,KAAK,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE;QACjE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAE5D,CAAC;CACF;AAhED,8BAgEC"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src.ts/main.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ import { IAddress, IContractRunner, IPoolFunctions } from '../../types';
2
+ export declare const VAULT_AgoraAUSD: IAddress;
3
+ export declare const SUBACCOUNT_CALEB: IAddress;
4
+ export declare const MULTI_ASSET_VAULTS: `0x${string}`[];
5
+ export declare const WRAPPER_ADAPTOR: {
6
+ 43114: IAddress;
7
+ 1: IAddress;
8
+ };
9
+ export declare const VAULT_FUNCTIONS_V1: IPoolFunctions[];
10
+ export declare const VAULT_FUNCTIONS_V2: IPoolFunctions[];
11
+ export declare const VAULT_FUNCTIONS_V2_RECEIPT: IPoolFunctions[];
12
+ export declare const VAULT_FUNCTIONS_V2_WHITELISTED_ASSETS: IPoolFunctions[];
13
+ export declare const SUBGRAPH_POOL_URLS: (apiKey: string, chainId?: number, pool?: IAddress) => {
14
+ 1: string;
15
+ 8453: string;
16
+ 43114: string;
17
+ 42161: string;
18
+ 56: string;
19
+ } | {
20
+ 999: string;
21
+ };
22
+ export declare const OLD_LENDING_POOLS: `0x${string}`[];
23
+ export declare const IDLE_CAPITAL_BORROWER_ADDRESS: `0x${string}`[];
24
+ export declare const SUBGRAPH_VAULT_URLS: {
25
+ tacUSR: string;
26
+ upINJUSDT: string;
27
+ 'tac-tETH': string;
28
+ upBTC: string;
29
+ upAUSD: string;
30
+ TACcbBTC: string;
31
+ xUpUSDC: string;
32
+ uptBTC: string;
33
+ gtETH: string;
34
+ agETH: string;
35
+ upUSDC: string;
36
+ hgETH: string;
37
+ upsSYLVA: string;
38
+ hbBTC: string;
39
+ hbHYPE: string;
40
+ upAZT: string;
41
+ sUSDT: string;
42
+ upEDGE: string;
43
+ coreUSDC: string;
44
+ upcUSDO: string;
45
+ shiftETH: string;
46
+ upsUSDe: string;
47
+ upLBTC: string;
48
+ upAVAX: string;
49
+ TACrsEth: string;
50
+ mUSD: string;
51
+ wildUSD: string;
52
+ earnAUSD: string;
53
+ AlpineCoinshiftUSDC: string;
54
+ AlpineUSDCFlagship: string;
55
+ UpStrBTC: string;
56
+ maxiUSR: string;
57
+ upGAMMAusdc: string;
58
+ xHYPE: string;
59
+ };
60
+ type VaultSymbols = 'testWETHTSA' | 'tacUSR' | 'upINJUSDT' | 'tac-tETH' | 'upAUSD' | 'TACcbBTC' | 'xUpUSDC' | 'uptBTC' | 'gtETH' | 'agETH' | 'upUSDC' | 'hgETH' | 'upsSYLVA' | 'hbBTC' | 'hbHYPE' | 'upAZT' | 'sUSDT' | 'upEDGE' | 'coreUSDC' | 'upcUSDO' | 'shiftETH' | 'upsUSDe' | 'upLBTC' | 'upAVAX' | 'TACrsEth' | 'mUSD' | 'earnAUSD' | 'AlpineUSDCFlagship' | 'AlpineCoinshiftUSDC' | 'upBTC' | 'UpStrBTC' | 'maxiUSR' | 'upGAMMAusdc' | 'xHYPE' | 'wildUSD';
61
+ export declare const VAULT_SYMBOLS: Record<IAddress, VaultSymbols>;
62
+ export declare const VAULT_SYMBOLS_REVERSE: Record<VaultSymbols, IAddress>;
63
+ export declare const isBadVault: (address?: string) => boolean;
64
+ export declare function getVaultSymbol(vault: IAddress, provider: IContractRunner): Promise<string>;
65
+ export {};
@@ -0,0 +1,194 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isBadVault = exports.VAULT_SYMBOLS_REVERSE = exports.VAULT_SYMBOLS = exports.SUBGRAPH_VAULT_URLS = exports.IDLE_CAPITAL_BORROWER_ADDRESS = exports.OLD_LENDING_POOLS = exports.SUBGRAPH_POOL_URLS = exports.VAULT_FUNCTIONS_V2_WHITELISTED_ASSETS = exports.VAULT_FUNCTIONS_V2_RECEIPT = exports.VAULT_FUNCTIONS_V2 = exports.VAULT_FUNCTIONS_V1 = exports.WRAPPER_ADAPTOR = exports.MULTI_ASSET_VAULTS = exports.SUBACCOUNT_CALEB = exports.VAULT_AgoraAUSD = void 0;
4
+ exports.getVaultSymbol = getVaultSymbol;
5
+ const core_1 = require("../../core");
6
+ const ethers_1 = require("ethers");
7
+ exports.VAULT_AgoraAUSD = (0, ethers_1.getAddress)('0x828BC5895b78b2fb591018Ca5bDC2064742D6D0f');
8
+ exports.SUBACCOUNT_CALEB = (0, ethers_1.getAddress)('0xFff71B0b66f076C60Fa2f176a34a6EA709ccF21B');
9
+ exports.MULTI_ASSET_VAULTS = [
10
+ (0, ethers_1.getAddress)('0x18EE038C114a07f4B08b420fb1E4149a4F357249'),
11
+ ];
12
+ exports.WRAPPER_ADAPTOR = {
13
+ 43114: (0, ethers_1.getAddress)('0xb2C57614B93c41A7Ec3B91980C0Bb7453904c6e8'),
14
+ 1: (0, ethers_1.getAddress)('0x044155804b2ef8fc53C69E3661ceA9b905EDE7Bc'),
15
+ };
16
+ exports.VAULT_FUNCTIONS_V1 = [
17
+ 'decimals',
18
+ 'asset',
19
+ 'totalSupply',
20
+ 'totalAssets',
21
+ 'maxSupply',
22
+ 'withdrawalFee',
23
+ 'lagDuration',
24
+ 'withdrawalsPaused',
25
+ ];
26
+ exports.VAULT_FUNCTIONS_V2 = [
27
+ 'assetsWhitelistAddress',
28
+ 'getTotalAssets',
29
+ 'asset',
30
+ 'withdrawalFee',
31
+ 'maxDepositAmount',
32
+ 'lagDuration',
33
+ 'withdrawalsPaused',
34
+ 'lpTokenAddress',
35
+ ];
36
+ exports.VAULT_FUNCTIONS_V2_RECEIPT = [
37
+ 'decimals',
38
+ 'totalSupply',
39
+ ];
40
+ exports.VAULT_FUNCTIONS_V2_WHITELISTED_ASSETS = [
41
+ 'getWhitelistedAssets',
42
+ ];
43
+ const SUBGRAPH_POOL_URLS = (apiKey, chainId, pool) => {
44
+ if (chainId === 999) {
45
+ if (!pool) {
46
+ throw new Error(`Pool address is required for chainId ${chainId}`);
47
+ }
48
+ switch (pool) {
49
+ case exports.VAULT_SYMBOLS_REVERSE.hbHYPE:
50
+ return {
51
+ 999: 'https://api.goldsky.com/api/public/project_cm9g0xy3o4j6v01vd34r3hvv9/subgraphs/august-hyperevm-hyperbeat/1.0.0/gn',
52
+ };
53
+ case exports.VAULT_SYMBOLS_REVERSE.hbBTC:
54
+ return {
55
+ 999: 'https://api.goldsky.com/api/public/project_cm9g0xy3o4j6v01vd34r3hvv9/subgraphs/august-hyperevm-hbBTC/1.0.0/gn',
56
+ };
57
+ default:
58
+ throw new Error(`Unsupported pool for chainId ${chainId}: ${pool}`);
59
+ }
60
+ }
61
+ const urls = {
62
+ 1: `https://gateway.thegraph.com/api/${apiKey}/subgraphs/id/BtbHLe7XtX2x9Ude9PKv2uagNHj6JYhjjFcimxvk7NPD`,
63
+ 8453: `https://gateway.thegraph.com/api/${apiKey}/subgraphs/id/E96gN4ZAmtCwLfsYccy3TqCTBbizGPWssFFeZfJ5QSQP`,
64
+ 43114: `https://gateway.thegraph.com/api/${apiKey}/subgraphs/id/Ho15f2DBGndTMAYx9bPxJzasQRsAd5oLdci4oZvWs2u6`,
65
+ 42161: `https://gateway.thegraph.com/api/${apiKey}/subgraphs/id/BrqNoj6FWm678yFRKdVWBncwt3zUnpbA3u4n9A9puUSg`,
66
+ 56: `https://gateway.thegraph.com/api/${apiKey}/subgraphs/id/4BDCXZvSBuNGX3ck6C6nTGos7Dg5SxjfHMjrKnQz4YE2`,
67
+ };
68
+ if (chainId && !(chainId in urls)) {
69
+ throw new Error(`Unsupported chainId: ${chainId}. Supported chains: ${Object.keys(urls).join(', ')}`);
70
+ }
71
+ return urls;
72
+ };
73
+ exports.SUBGRAPH_POOL_URLS = SUBGRAPH_POOL_URLS;
74
+ exports.OLD_LENDING_POOLS = [
75
+ (0, ethers_1.getAddress)('0xe1B4d34E8754600962Cd944B535180Bd758E6c2e'),
76
+ (0, ethers_1.getAddress)('0xEBac5e50003d4B17Be422ff9775043cD61002f7f'),
77
+ (0, ethers_1.getAddress)('0x80E1048eDE66ec4c364b4F22C8768fc657FF6A42'),
78
+ ];
79
+ exports.IDLE_CAPITAL_BORROWER_ADDRESS = [
80
+ (0, ethers_1.getAddress)('0x2151C90C93F52bE82186f162c86DaEABc8911188'),
81
+ (0, ethers_1.getAddress)('0xb74c137E5f976dbdCC638Ec9fd3e05d6D9124E55'),
82
+ ];
83
+ const GOLDSKY_BASE_URL = 'https://api.goldsky.com/api/private/project_cm9g0xy3o4j6v01vd34r3hvv9/subgraphs';
84
+ exports.SUBGRAPH_VAULT_URLS = {
85
+ tacUSR: `${GOLDSKY_BASE_URL}/august-eth-tacUSR/1.0.0/gn`,
86
+ upINJUSDT: `${GOLDSKY_BASE_URL}/august-eth-upINJUSDT/1.0.0/gn`,
87
+ 'tac-tETH': `${GOLDSKY_BASE_URL}/august-eth-tactETH/1.0.0/gn`,
88
+ upBTC: `${GOLDSKY_BASE_URL}/august-eth-upBTC/1.0.0/gn`,
89
+ upAUSD: `${GOLDSKY_BASE_URL}/august-avax-upAUSD/1.0.0/gn`,
90
+ TACcbBTC: `${GOLDSKY_BASE_URL}/august-eth-TACcbBTC/1.0.0/gn`,
91
+ xUpUSDC: `${GOLDSKY_BASE_URL}/august-eth-xUpUSDC/1.0.0/gn`,
92
+ uptBTC: `${GOLDSKY_BASE_URL}/august-eth-uptBTC/1.0.0/gn`,
93
+ gtETH: `${GOLDSKY_BASE_URL}/august-eth-gtETH/1.0.0/gn`,
94
+ agETH: `${GOLDSKY_BASE_URL}/august-eth-agETH/1.0.0/gn`,
95
+ upUSDC: `${GOLDSKY_BASE_URL}/august-eth-upUSDC/1.0.0/gn`,
96
+ hgETH: `${GOLDSKY_BASE_URL}/august-eth-hgETH/1.0.0/gn`,
97
+ upsSYLVA: `${GOLDSKY_BASE_URL}/august-eth-upsSYLVA/1.0.0/gn`,
98
+ hbBTC: `${GOLDSKY_BASE_URL}/august-hyperevm-hbBTC/1.0.0/gn`,
99
+ hbHYPE: `${GOLDSKY_BASE_URL}/august-hyperevm-hyperbeat/1.0.0/gn`,
100
+ upAZT: `${GOLDSKY_BASE_URL}/august-eth-upAZT/1.0.0/gn`,
101
+ sUSDT: `${GOLDSKY_BASE_URL}/august-bsc-sUSDT/1.0.0/gn`,
102
+ upEDGE: `${GOLDSKY_BASE_URL}/august-eth-upEDGE/1.0.0/gn`,
103
+ coreUSDC: `${GOLDSKY_BASE_URL}/august-eth-coreUSDC/1.0.0/gn`,
104
+ upcUSDO: `${GOLDSKY_BASE_URL}/august-eth-upcUSDO/1.0.0/gn`,
105
+ shiftETH: `${GOLDSKY_BASE_URL}/august-eth-shiftETH/1.0.0/gn`,
106
+ upsUSDe: `${GOLDSKY_BASE_URL}/august-eth-upsUSDe/1.0.0/gn`,
107
+ upLBTC: `${GOLDSKY_BASE_URL}/august-eth-upLBTC/1.0.0/gn`,
108
+ upAVAX: `${GOLDSKY_BASE_URL}/august-avax-upAVAX/1.0.0/gn`,
109
+ TACrsEth: `${GOLDSKY_BASE_URL}/august-eth-TACrsEth/1.0.0/gn`,
110
+ mUSD: `${GOLDSKY_BASE_URL}/august-mezo-mUSD/1.0.0/gn`,
111
+ wildUSD: `${GOLDSKY_BASE_URL}/august-eth-wildUSD/1.0.0/gn`,
112
+ earnAUSD: `${GOLDSKY_BASE_URL}/august-eth-earnAUSD/1.0.0/gn`,
113
+ AlpineCoinshiftUSDC: `${GOLDSKY_BASE_URL}/august-eth-AlpineCoinshiftUSDC/1.0.0/gn`,
114
+ AlpineUSDCFlagship: `${GOLDSKY_BASE_URL}/august-eth-AlpineUSDCFlagship/1.0.0/gn`,
115
+ UpStrBTC: `${GOLDSKY_BASE_URL}/august-eth-UpStrBTC/1.0.0/gn`,
116
+ maxiUSR: `${GOLDSKY_BASE_URL}/august-eth-maxiUSR/1.0.0/gn`,
117
+ upGAMMAusdc: `${GOLDSKY_BASE_URL}/august-eth-upGAMMAusdc/1.0.0/gn`,
118
+ xHYPE: `${GOLDSKY_BASE_URL}/august-hyperevm-xHYPE/1.0.0/gn`,
119
+ };
120
+ exports.VAULT_SYMBOLS = {
121
+ '0x686c83Aa81ba206354fDcbc2cd282B4531365E29': 'tacUSR',
122
+ '0x02991EE6134dEE504668e2227C5879Dd78EfCDc3': 'upINJUSDT',
123
+ '0xf7b65fBA4d02110089fC6e2bE6d73809b45852f8': 'tac-tETH',
124
+ '0x3408b22d8895753C9A3e14e4222E981d4E9A599E': 'upAUSD',
125
+ '0xeb402fc96C7ed2f889d837C9976D6d821c1B5f01': 'TACcbBTC',
126
+ '0x396A3f77EE1faf5A3C46e878bA7b7a2dcbe55517': 'xUpUSDC',
127
+ '0x8AcA0841993ef4C87244d519166e767f49362C21': 'uptBTC',
128
+ '0x5Fde59415625401278c4d41C6beFCe3790eb357f': 'gtETH',
129
+ '0xe1B4d34E8754600962Cd944B535180Bd758E6c2e': 'agETH',
130
+ '0x80E1048eDE66ec4c364b4F22C8768fc657FF6A42': 'upUSDC',
131
+ '0xc824A08dB624942c5E5F330d56530cD1598859fD': 'hgETH',
132
+ '0xc428439fB7B1EFE56360Eb837Ca98F551fdD9B26': 'upsSYLVA',
133
+ '0xc061d38903b99aC12713B550C2CB44B221674F94': 'hbBTC',
134
+ '0x96C6cBB6251Ee1c257b2162ca0f39AA5Fa44B1FB': 'hbHYPE',
135
+ '0x69FC3f84FD837217377d9Dae0212068cEB65818e': 'upAZT',
136
+ '0xD0b717ef23817b1a127139830Cf0FcD449ef74F0': 'sUSDT',
137
+ '0xEAA3b922E9fEbCa37d1c02D2142A59595094C605': 'upEDGE',
138
+ '0xE9B725010A9E419412ed67d0fA5f3A5f40159D32': 'coreUSDC',
139
+ '0x7383c2454D23A1e34B35ba02674be0a41Bd5aa56': 'upcUSDO',
140
+ '0xB78dAf3fD674B81ebeaaa88d711506fa069E1C5E': 'shiftETH',
141
+ '0xd684AF965b1c17D628ee0d77cae94259c41260F4': 'upsUSDe',
142
+ '0x8EC5C8642397791cff83563C9C83b9C1409D5F48': 'testWETHTSA',
143
+ '0x4e2D90f0307A93b54ACA31dc606F93FE6b9132d2': 'upLBTC',
144
+ '0xB2bFb52cfc40584AC4e9e2B36a5B8d6554A56e0b': 'upAVAX',
145
+ '0x419386E3Ef42368e602720CC458e00c0B28c47A7': 'TACrsEth',
146
+ '0x221B2D9aD7B994861Af3f4c8A80c86C4aa86Bf53': 'mUSD',
147
+ '0x828BC5895b78b2fb591018Ca5bDC2064742D6D0f': 'earnAUSD',
148
+ '0xD066649Bcb7d8D3335fE29CaD0AED6E17D5828B5': 'AlpineUSDCFlagship',
149
+ '0x0985C88929A776a2E059615137a48bA5A473E25D': 'AlpineCoinshiftUSDC',
150
+ '0xEBac5e50003d4B17Be422ff9775043cD61002f7f': 'upBTC',
151
+ '0x787f5541Ee40cD0c94175251686DDBbcf69A7344': 'UpStrBTC',
152
+ '0xdA89af5bF2eb0B225d787aBfA9095610f2E79e7D': 'maxiUSR',
153
+ '0x998D7b14c123c1982404562b68edDB057b0477cB': 'upGAMMAusdc',
154
+ '0x3a214b33A648f17fdcb78eD895dD0579dc3cc330': 'xHYPE',
155
+ '0x18EE038C114a07f4B08b420fb1E4149a4F357249': 'wildUSD',
156
+ };
157
+ exports.VAULT_SYMBOLS_REVERSE = Object.fromEntries(Object.entries(exports.VAULT_SYMBOLS).map(([key, value]) => [value, key]));
158
+ const isBadVault = (address) => {
159
+ if (!address)
160
+ return false;
161
+ switch (address) {
162
+ case '0x706162790b601A8514c18718d0c63C9D1268e89C':
163
+ return true;
164
+ case '0xd684AF965b1c17D628ee0d77cae94259c41260F4':
165
+ return true;
166
+ case '0xB78dAf3fD674B81ebeaaa88d711506fa069E1C5E':
167
+ return true;
168
+ case '0x4e2D90f0307A93b54ACA31dc606F93FE6b9132d2':
169
+ return true;
170
+ case '0x18a5a3D575F34e5eBa92ac99B0976dBe26f9F869':
171
+ return true;
172
+ case '0xD0b717ef23817b1a127139830Cf0FcD449ef74F0':
173
+ return true;
174
+ case '0xeb402fc96C7ed2f889d837C9976D6d821c1B5f01':
175
+ return true;
176
+ case '0xEBac5e50003d4B17Be422ff9775043cD61002f7f':
177
+ return true;
178
+ case '0x419386E3Ef42368e602720CC458e00c0B28c47A7':
179
+ return true;
180
+ default:
181
+ return false;
182
+ }
183
+ };
184
+ exports.isBadVault = isBadVault;
185
+ async function getVaultSymbol(vault, provider) {
186
+ const address = (0, ethers_1.getAddress)(vault);
187
+ if (address in exports.VAULT_SYMBOLS)
188
+ return exports.VAULT_SYMBOLS[address];
189
+ else {
190
+ const symbol = await (0, core_1.getSymbol)(provider, vault);
191
+ return symbol;
192
+ }
193
+ }
194
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src.ts/modules/vaults/constants.ts"],"names":[],"mappings":"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"}