From 9fbd5706dfe28cf6711cb6e41f9fc2cb4c078553 Mon Sep 17 00:00:00 2001 From: mpsc0x Date: Fri, 1 Nov 2024 19:06:14 +0200 Subject: [PATCH] added new configuration types --- examples/admin/setupTestnet.ts | 4 +- examples/quiries/getAddresses.ts | 4 +- examples/quiries/getProtocolData.ts | 4 +- package.json | 4 +- pnpm-lock.yaml | 81 +++++++++++++++++------------ src/configs/index.ts | 6 ++- src/configs/testnet.ts | 45 +++++++++++++++- 7 files changed, 106 insertions(+), 42 deletions(-) diff --git a/examples/admin/setupTestnet.ts b/examples/admin/setupTestnet.ts index bb00431..09ac2de 100644 --- a/examples/admin/setupTestnet.ts +++ b/examples/admin/setupTestnet.ts @@ -1,7 +1,7 @@ import dotenv from "dotenv"; import { Account, AccountAddress, Ed25519PrivateKey } from "@aptos-labs/ts-sdk"; import { AptosProvider } from "../../src/clients/aptosProvider"; -import { testnetConfig } from "../../src/configs/testnet"; +import { DEFAULT_TESTNET_CONFIG } from "../../src/configs/testnet"; import { PoolClient, UnderlyingTokensClient } from "../../src/clients"; dotenv.config(); @@ -129,7 +129,7 @@ const poolSigner = Account.fromPrivateKey({ }); (async () => { - const aptosProvider = AptosProvider.fromConfig(testnetConfig); + const aptosProvider = AptosProvider.fromConfig(DEFAULT_TESTNET_CONFIG); const poolClient = new PoolClient(aptosProvider, poolSigner); const underlyingTokenClient = new UnderlyingTokensClient( diff --git a/examples/quiries/getAddresses.ts b/examples/quiries/getAddresses.ts index 74c9f98..0798783 100644 --- a/examples/quiries/getAddresses.ts +++ b/examples/quiries/getAddresses.ts @@ -1,10 +1,10 @@ import { AptosProvider } from "../../src/clients"; import { PoolAddressesProviderClient } from "../../src/clients/poolAddressesProviderClient"; -import { testnetConfig } from "../../src/configs/testnet"; +import { DEFAULT_TESTNET_CONFIG } from "../../src/configs/testnet"; (async () => { // global aptos provider - const aptosProvider = AptosProvider.fromConfig(testnetConfig); + const aptosProvider = AptosProvider.fromConfig(DEFAULT_TESTNET_CONFIG); // pool addresses provider const poolAddressesProviderClient = new PoolAddressesProviderClient( diff --git a/examples/quiries/getProtocolData.ts b/examples/quiries/getProtocolData.ts index 57b5e3b..205b1ea 100644 --- a/examples/quiries/getProtocolData.ts +++ b/examples/quiries/getProtocolData.ts @@ -3,12 +3,12 @@ import { UnderlyingTokensClient } from "../../src/clients/underlyingTokensClient import { UiPoolDataProviderClient } from "../../src/clients/uiPoolDataProvider"; import { PoolClient } from "../../src/clients/poolClient"; import { AptosProvider } from "../../src/clients/aptosProvider"; -import { testnetConfig } from "../../src/configs/testnet"; +import { DEFAULT_TESTNET_CONFIG } from "../../src/configs/testnet"; import { VariableTokensClient } from "../../src/clients/variableTokensClient"; (async () => { // global aptos provider - const aptosProvider = AptosProvider.fromConfig(testnetConfig); + const aptosProvider = AptosProvider.fromConfig(DEFAULT_TESTNET_CONFIG); // all atokens-related operations client const aTokensClient = new ATokensClient(aptosProvider); diff --git a/package.json b/package.json index 798c938..1c5eddb 100644 --- a/package.json +++ b/package.json @@ -106,10 +106,10 @@ "ts-jest": "^29.2.5", "ts-loader": "^9.5.1", "ts-node": "^10.9.2", - "typedoc": "^0.26.10", + "typedoc": "^0.26.11", "typescript": "^5.6.3", "typescript-eslint": "^8.12.2", - "webpack": "^5.96.0", + "webpack": "^5.96.1", "webpack-cli": "^5.1.4" }, "optionalDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 554d01b..56042da 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -132,13 +132,13 @@ importers: version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.8.6)(ts-node@10.9.2(@types/node@22.8.6)(typescript@5.6.3)))(typescript@5.6.3) ts-loader: specifier: ^9.5.1 - version: 9.5.1(typescript@5.6.3)(webpack@5.96.0) + version: 9.5.1(typescript@5.6.3)(webpack@5.96.1) ts-node: specifier: ^10.9.2 version: 10.9.2(@types/node@22.8.6)(typescript@5.6.3) typedoc: - specifier: ^0.26.10 - version: 0.26.10(typescript@5.6.3) + specifier: ^0.26.11 + version: 0.26.11(typescript@5.6.3) typescript: specifier: ^5.6.3 version: 5.6.3 @@ -146,11 +146,11 @@ importers: specifier: ^8.12.2 version: 8.12.2(eslint@9.13.0)(typescript@5.6.3) webpack: - specifier: ^5.96.0 - version: 5.96.0(webpack-cli@5.1.4) + specifier: ^5.96.1 + version: 5.96.1(webpack-cli@5.1.4) webpack-cli: specifier: ^5.1.4 - version: 5.1.4(webpack@5.96.0) + version: 5.1.4(webpack@5.96.1) packages: @@ -676,6 +676,12 @@ packages: '@types/cacheable-request@6.0.3': resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} + '@types/eslint-scope@3.7.7': + resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} + + '@types/eslint@9.6.1': + resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} + '@types/estree@1.0.6': resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} @@ -4103,8 +4109,8 @@ packages: resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} engines: {node: '>= 0.4'} - typedoc@0.26.10: - resolution: {integrity: sha512-xLmVKJ8S21t+JeuQLNueebEuTVphx6IrP06CdV7+0WVflUSW3SPmR+h1fnWVdAR/FQePEgsSWCUHXqKKjzuUAw==} + typedoc@0.26.11: + resolution: {integrity: sha512-sFEgRRtrcDl2FxVP58Ze++ZK2UQAEvtvvH8rRlig1Ja3o7dDaMHmaBfvJmdGnNEFaLTpQsN8dpvZaTqJSu/Ugw==} engines: {node: '>= 18'} hasBin: true peerDependencies: @@ -4290,8 +4296,8 @@ packages: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} - webpack@5.96.0: - resolution: {integrity: sha512-gvn84AfQ4f6vUeNWmFuRp3vGERyxK4epADKTaAo60K0EQbY/YBNQbXH3Ji/ZRK5M25O/XneAOuChF4xQZjQ4xA==} + webpack@5.96.1: + resolution: {integrity: sha512-l2LlBSvVZGhL4ZrPwyr8+37AunkcYj5qh8o6u2/2rzoPc8gxFJkLj1WxNgooi9pnoc06jh0BjuXnamM4qlujZA==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -5161,6 +5167,16 @@ snapshots: '@types/node': 22.8.6 '@types/responselike': 1.0.3 + '@types/eslint-scope@3.7.7': + dependencies: + '@types/eslint': 9.6.1 + '@types/estree': 1.0.6 + + '@types/eslint@9.6.1': + dependencies: + '@types/estree': 1.0.6 + '@types/json-schema': 7.0.15 + '@types/estree@1.0.6': {} '@types/glob@7.2.0': @@ -5453,20 +5469,20 @@ snapshots: '@webassemblyjs/ast': 1.12.1 '@xtuc/long': 4.2.2 - '@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4)(webpack@5.96.0)': + '@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4)(webpack@5.96.1)': dependencies: - webpack: 5.96.0(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack@5.96.0) + webpack: 5.96.1(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack@5.96.1) - '@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.96.0)': + '@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.96.1)': dependencies: - webpack: 5.96.0(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack@5.96.0) + webpack: 5.96.1(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack@5.96.1) - '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack@5.96.0)': + '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack@5.96.1)': dependencies: - webpack: 5.96.0(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack@5.96.0) + webpack: 5.96.1(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack@5.96.1) '@xtuc/ieee754@1.2.0': {} @@ -8949,14 +8965,14 @@ snapshots: tapable@2.2.1: {} - terser-webpack-plugin@5.3.10(webpack@5.96.0): + terser-webpack-plugin@5.3.10(webpack@5.96.1): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.36.0 - webpack: 5.96.0(webpack-cli@5.1.4) + webpack: 5.96.1(webpack-cli@5.1.4) terser@5.36.0: dependencies: @@ -9041,7 +9057,7 @@ snapshots: '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.26.0) - ts-loader@9.5.1(typescript@5.6.3)(webpack@5.96.0): + ts-loader@9.5.1(typescript@5.6.3)(webpack@5.96.1): dependencies: chalk: 4.1.2 enhanced-resolve: 5.17.1 @@ -9049,7 +9065,7 @@ snapshots: semver: 7.6.3 source-map: 0.7.4 typescript: 5.6.3 - webpack: 5.96.0(webpack-cli@5.1.4) + webpack: 5.96.1(webpack-cli@5.1.4) ts-node@10.9.2(@types/node@22.8.6)(typescript@5.6.3): dependencies: @@ -9135,7 +9151,7 @@ snapshots: is-typed-array: 1.1.13 possible-typed-array-names: 1.0.0 - typedoc@0.26.10(typescript@5.6.3): + typedoc@0.26.11(typescript@5.6.3): dependencies: lunr: 2.3.9 markdown-it: 14.1.0 @@ -9343,12 +9359,12 @@ snapshots: webidl-conversions@7.0.0: {} - webpack-cli@5.1.4(webpack@5.96.0): + webpack-cli@5.1.4(webpack@5.96.1): dependencies: '@discoveryjs/json-ext': 0.5.7 - '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.96.0) - '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.96.0) - '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack@5.96.0) + '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.96.1) + '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.96.1) + '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack@5.96.1) colorette: 2.0.20 commander: 10.0.1 cross-spawn: 7.0.3 @@ -9357,7 +9373,7 @@ snapshots: import-local: 3.2.0 interpret: 3.1.1 rechoir: 0.8.0 - webpack: 5.96.0(webpack-cli@5.1.4) + webpack: 5.96.1(webpack-cli@5.1.4) webpack-merge: 5.10.0 webpack-merge@5.10.0: @@ -9368,8 +9384,9 @@ snapshots: webpack-sources@3.2.3: {} - webpack@5.96.0(webpack-cli@5.1.4): + webpack@5.96.1(webpack-cli@5.1.4): dependencies: + '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.6 '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/wasm-edit': 1.12.1 @@ -9389,11 +9406,11 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(webpack@5.96.0) + terser-webpack-plugin: 5.3.10(webpack@5.96.1) watchpack: 2.4.2 webpack-sources: 3.2.3 optionalDependencies: - webpack-cli: 5.1.4(webpack@5.96.0) + webpack-cli: 5.1.4(webpack@5.96.1) transitivePeerDependencies: - '@swc/core' - esbuild diff --git a/src/configs/index.ts b/src/configs/index.ts index bfae6cd..e55f341 100644 --- a/src/configs/index.ts +++ b/src/configs/index.ts @@ -1 +1,5 @@ -export { testnetConfig } from "./testnet"; +export { + DEFAULT_TESTNET_CONFIG, + EMPTY_LOCAL_CONFIG, + EMPTY_TESTNET_CONFIG, +} from "./testnet"; diff --git a/src/configs/testnet.ts b/src/configs/testnet.ts index 7b04a4c..dd70deb 100644 --- a/src/configs/testnet.ts +++ b/src/configs/testnet.ts @@ -1,7 +1,8 @@ import { Network } from "@aptos-labs/ts-sdk"; import { AptosProviderConfig } from "../clients/aptosProvider"; +import { ZERO_ADDRESS } from "../helpers"; -export const testnetConfig: AptosProviderConfig = { +export const DEFAULT_TESTNET_CONFIG: AptosProviderConfig = { network: Network.TESTNET, addresses: { A_TOKENS: @@ -29,3 +30,45 @@ export const testnetConfig: AptosProviderConfig = { "0x5bc11445584a763c1fa7ed39081f1b920954da14e04b32440cba863d03e19625", }, }; + +export const EMPTY_TESTNET_CONFIG = (): AptosProviderConfig => { + return { + network: Network.TESTNET, + addresses: { + A_TOKENS: ZERO_ADDRESS.toString(), + UNDERLYING_TOKENS: ZERO_ADDRESS.toString(), + VARIABLE_TOKENS: ZERO_ADDRESS.toString(), + AAVE_ACL: ZERO_ADDRESS.toString(), + AAVE_CONFIG: ZERO_ADDRESS.toString(), + AAVE_MOCK_ORACLE: ZERO_ADDRESS.toString(), + AAVE_POOL: ZERO_ADDRESS.toString(), + }, + oracle: { + URL: "https://hermes-beta.pyth.network", + CONTRACT_ACCOUNT: ZERO_ADDRESS.toString(), + DEPLOYER_ACCOUNT: ZERO_ADDRESS.toString(), + WORMHOLE: ZERO_ADDRESS.toString(), + }, + } as AptosProviderConfig; +}; + +export const EMPTY_LOCAL_CONFIG = (): AptosProviderConfig => { + return { + network: Network.LOCAL, + addresses: { + A_TOKENS: ZERO_ADDRESS.toString(), + UNDERLYING_TOKENS: ZERO_ADDRESS.toString(), + VARIABLE_TOKENS: ZERO_ADDRESS.toString(), + AAVE_ACL: ZERO_ADDRESS.toString(), + AAVE_CONFIG: ZERO_ADDRESS.toString(), + AAVE_MOCK_ORACLE: ZERO_ADDRESS.toString(), + AAVE_POOL: ZERO_ADDRESS.toString(), + }, + oracle: { + URL: "https://hermes-beta.pyth.network", + CONTRACT_ACCOUNT: ZERO_ADDRESS.toString(), + DEPLOYER_ACCOUNT: ZERO_ADDRESS.toString(), + WORMHOLE: ZERO_ADDRESS.toString(), + }, + } as AptosProviderConfig; +};