@megatao/sdk 1.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/.env.example +37 -0
- package/CHANGELOG.md +19 -0
- package/README.md +199 -0
- package/bin/alf +4 -0
- package/cli/README.md +198 -0
- package/cli/TEST_MANUAL.md +577 -0
- package/cli/commands/account.ts +545 -0
- package/cli/commands/funding.ts +481 -0
- package/cli/commands/liquidation.ts +523 -0
- package/cli/commands/market.ts +590 -0
- package/cli/commands/orders.ts +395 -0
- package/cli/commands/position.ts +1085 -0
- package/cli/commands/shared/positionUtils.ts +239 -0
- package/cli/commands/trading.ts +483 -0
- package/cli/commands/utils.ts +281 -0
- package/cli/commands/vault.ts +522 -0
- package/cli/index.ts +169 -0
- package/cli/interactive.ts +530 -0
- package/cli/utils/client.ts +457 -0
- package/cli/utils/config.ts +226 -0
- package/cli/utils/display.ts +258 -0
- package/cli/utils/index.ts +10 -0
- package/cli/utils/prompts.ts +364 -0
- package/config.example.json +23 -0
- package/dist/AlphaFuturesClient.d.ts +36 -0
- package/dist/AlphaFuturesClient.d.ts.map +1 -0
- package/dist/AlphaFuturesClient.js +116 -0
- package/dist/AlphaFuturesClient.js.map +1 -0
- package/dist/abi/Alpha.json +5987 -0
- package/dist/abi/abis.d.ts +319 -0
- package/dist/abi/abis.d.ts.map +1 -0
- package/dist/abi/abis.js +128 -0
- package/dist/abi/abis.js.map +1 -0
- package/dist/abi/index.d.ts +11 -0
- package/dist/abi/index.d.ts.map +1 -0
- package/dist/abi/index.js +15 -0
- package/dist/abi/index.js.map +1 -0
- package/dist/config/contracts.config.d.ts +70 -0
- package/dist/config/contracts.config.d.ts.map +1 -0
- package/dist/config/contracts.config.js +137 -0
- package/dist/config/contracts.config.js.map +1 -0
- package/dist/config/environments/alpha.config.d.ts +17 -0
- package/dist/config/environments/alpha.config.d.ts.map +1 -0
- package/dist/config/environments/alpha.config.js +140 -0
- package/dist/config/environments/alpha.config.js.map +1 -0
- package/dist/config/environments/beta.config.d.ts +16 -0
- package/dist/config/environments/beta.config.d.ts.map +1 -0
- package/dist/config/environments/beta.config.js +131 -0
- package/dist/config/environments/beta.config.js.map +1 -0
- package/dist/config/environments/dev.config.d.ts +13 -0
- package/dist/config/environments/dev.config.d.ts.map +1 -0
- package/dist/config/environments/dev.config.js +123 -0
- package/dist/config/environments/dev.config.js.map +1 -0
- package/dist/config/environments/index.d.ts +48 -0
- package/dist/config/environments/index.d.ts.map +1 -0
- package/dist/config/environments/index.js +81 -0
- package/dist/config/environments/index.js.map +1 -0
- package/dist/config/environments/localhost.config.d.ts +16 -0
- package/dist/config/environments/localhost.config.d.ts.map +1 -0
- package/dist/config/environments/localhost.config.js +152 -0
- package/dist/config/environments/localhost.config.js.map +1 -0
- package/dist/config/environments/prod.config.d.ts +20 -0
- package/dist/config/environments/prod.config.d.ts.map +1 -0
- package/dist/config/environments/prod.config.js +143 -0
- package/dist/config/environments/prod.config.js.map +1 -0
- package/dist/config/index.d.ts +7 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +41 -0
- package/dist/config/index.js.map +1 -0
- package/dist/constants/assets.d.ts +76 -0
- package/dist/constants/assets.d.ts.map +1 -0
- package/dist/constants/assets.js +277 -0
- package/dist/constants/assets.js.map +1 -0
- package/dist/constants/contracts.d.ts +41 -0
- package/dist/constants/contracts.d.ts.map +1 -0
- package/dist/constants/contracts.js +57 -0
- package/dist/constants/contracts.js.map +1 -0
- package/dist/constants/index.d.ts +36 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/index.js +75 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/constants/networks.d.ts +32 -0
- package/dist/constants/networks.d.ts.map +1 -0
- package/dist/constants/networks.js +174 -0
- package/dist/constants/networks.js.map +1 -0
- package/dist/contracts/index.d.ts +5 -0
- package/dist/contracts/index.d.ts.map +1 -0
- package/dist/contracts/index.js +21 -0
- package/dist/contracts/index.js.map +1 -0
- package/dist/contracts/viem/AlphaViem.d.ts +518 -0
- package/dist/contracts/viem/AlphaViem.d.ts.map +1 -0
- package/dist/contracts/viem/AlphaViem.js +1287 -0
- package/dist/contracts/viem/AlphaViem.js.map +1 -0
- package/dist/contracts/viem/PriceOracleViem.d.ts +71 -0
- package/dist/contracts/viem/PriceOracleViem.d.ts.map +1 -0
- package/dist/contracts/viem/PriceOracleViem.js +212 -0
- package/dist/contracts/viem/PriceOracleViem.js.map +1 -0
- package/dist/contracts/viem/index.d.ts +9 -0
- package/dist/contracts/viem/index.d.ts.map +1 -0
- package/dist/contracts/viem/index.js +17 -0
- package/dist/contracts/viem/index.js.map +1 -0
- package/dist/errors/index.d.ts +44 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +83 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +60 -0
- package/dist/index.js.map +1 -0
- package/dist/types/alpha.d.ts +299 -0
- package/dist/types/alpha.d.ts.map +1 -0
- package/dist/types/alpha.js +6 -0
- package/dist/types/alpha.js.map +1 -0
- package/dist/types/client.d.ts +24 -0
- package/dist/types/client.d.ts.map +1 -0
- package/dist/types/client.js +13 -0
- package/dist/types/client.js.map +1 -0
- package/dist/types/contracts.d.ts +48 -0
- package/dist/types/contracts.d.ts.map +1 -0
- package/dist/types/contracts.js +6 -0
- package/dist/types/contracts.js.map +1 -0
- package/dist/types/funding.d.ts +27 -0
- package/dist/types/funding.d.ts.map +1 -0
- package/dist/types/funding.js +6 -0
- package/dist/types/funding.js.map +1 -0
- package/dist/types/index.d.ts +92 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +47 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/liquidation.d.ts +20 -0
- package/dist/types/liquidation.d.ts.map +1 -0
- package/dist/types/liquidation.js +6 -0
- package/dist/types/liquidation.js.map +1 -0
- package/dist/types/margin.d.ts +29 -0
- package/dist/types/margin.d.ts.map +1 -0
- package/dist/types/margin.js +6 -0
- package/dist/types/margin.js.map +1 -0
- package/dist/types/oracle.d.ts +21 -0
- package/dist/types/oracle.d.ts.map +1 -0
- package/dist/types/oracle.js +6 -0
- package/dist/types/oracle.js.map +1 -0
- package/dist/types/positions.d.ts +43 -0
- package/dist/types/positions.d.ts.map +1 -0
- package/dist/types/positions.js +13 -0
- package/dist/types/positions.js.map +1 -0
- package/dist/utils/calculations.d.ts +84 -0
- package/dist/utils/calculations.d.ts.map +1 -0
- package/dist/utils/calculations.js +155 -0
- package/dist/utils/calculations.js.map +1 -0
- package/dist/utils/errors.d.ts +24 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +129 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/events.d.ts +40 -0
- package/dist/utils/events.d.ts.map +1 -0
- package/dist/utils/events.js +73 -0
- package/dist/utils/events.js.map +1 -0
- package/dist/utils/format.d.ts +40 -0
- package/dist/utils/format.d.ts.map +1 -0
- package/dist/utils/format.js +86 -0
- package/dist/utils/format.js.map +1 -0
- package/dist/utils/index.d.ts +10 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +26 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/network.d.ts +52 -0
- package/dist/utils/network.d.ts.map +1 -0
- package/dist/utils/network.js +192 -0
- package/dist/utils/network.js.map +1 -0
- package/dist/utils/positionCalculations.d.ts +145 -0
- package/dist/utils/positionCalculations.d.ts.map +1 -0
- package/dist/utils/positionCalculations.js +278 -0
- package/dist/utils/positionCalculations.js.map +1 -0
- package/dist/utils/validation.d.ts +28 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +68 -0
- package/dist/utils/validation.js.map +1 -0
- package/docs/README.md +40 -0
- package/docs/api/API.md +831 -0
- package/docs/guides/GETTING_STARTED.md +316 -0
- package/docs/guides/TRADING_GUIDE.md +677 -0
- package/docs/integration/INTEGRATION_GUIDE.md +1679 -0
- package/docs/integration/VIEM_INTEGRATION.md +294 -0
- package/docs/reference/CLI_QUICK_REFERENCE.md +197 -0
- package/docs/reference/TROUBLESHOOTING.md +922 -0
- package/package.json +113 -0
- package/src/AlphaFuturesClient.ts +158 -0
- package/src/abi/.gitkeep +1 -0
- package/src/abi/Alpha.json +5987 -0
- package/src/abi/README.md +99 -0
- package/src/abi/abis.ts +131 -0
- package/src/abi/index.ts +13 -0
- package/src/config/contracts.config.ts +186 -0
- package/src/config/environments/alpha.config.ts +139 -0
- package/src/config/environments/beta.config.ts +130 -0
- package/src/config/environments/dev.config.ts +122 -0
- package/src/config/environments/index.ts +87 -0
- package/src/config/environments/localhost.config.ts +153 -0
- package/src/config/environments/prod.config.ts +142 -0
- package/src/config/index.ts +29 -0
- package/src/constants/assets.ts +299 -0
- package/src/constants/contracts.ts +64 -0
- package/src/constants/index.ts +69 -0
- package/src/constants/networks.ts +182 -0
- package/src/contracts/index.ts +5 -0
- package/src/contracts/viem/AlphaViem.ts +1615 -0
- package/src/contracts/viem/PriceOracleViem.ts +272 -0
- package/src/contracts/viem/index.ts +11 -0
- package/src/errors/index.ts +87 -0
- package/src/index.ts +59 -0
- package/src/types/VIEM_TYPES_README.md +70 -0
- package/src/types/alpha.ts +358 -0
- package/src/types/client.ts +27 -0
- package/src/types/contracts.ts +74 -0
- package/src/types/funding.ts +31 -0
- package/src/types/index.ts +108 -0
- package/src/types/liquidation.ts +23 -0
- package/src/types/margin.ts +34 -0
- package/src/types/oracle.ts +24 -0
- package/src/types/positions.ts +48 -0
- package/src/utils/calculations.ts +175 -0
- package/src/utils/errors.ts +147 -0
- package/src/utils/events.ts +98 -0
- package/src/utils/format.ts +84 -0
- package/src/utils/index.ts +10 -0
- package/src/utils/network.ts +212 -0
- package/src/utils/positionCalculations.ts +317 -0
- package/src/utils/validation.ts +76 -0
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Environment configurations for Alpha Futures Protocol
|
|
4
|
+
*
|
|
5
|
+
* Provides environment-specific configurations for different deployment stages:
|
|
6
|
+
* - dev: Development environment with Mock TAO
|
|
7
|
+
* - alpha: Internal testing with Mock USDC
|
|
8
|
+
* - beta: Staging environment with Mock USDC
|
|
9
|
+
* - prod: Production environment with Real USDC
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.PROD_CONFIG = exports.BETA_CONFIG = exports.ALPHA_CONFIG = exports.DEV_CONFIG = exports.LOCALHOST_CONFIG = exports.ENVIRONMENT_CONFIGS = void 0;
|
|
13
|
+
exports.getEnvironmentConfig = getEnvironmentConfig;
|
|
14
|
+
exports.isValidEnvironment = isValidEnvironment;
|
|
15
|
+
exports.getAvailableEnvironments = getAvailableEnvironments;
|
|
16
|
+
exports.getEnvironmentByAddress = getEnvironmentByAddress;
|
|
17
|
+
const dev_config_1 = require("./dev.config");
|
|
18
|
+
Object.defineProperty(exports, "DEV_CONFIG", { enumerable: true, get: function () { return dev_config_1.DEV_CONFIG; } });
|
|
19
|
+
const alpha_config_1 = require("./alpha.config");
|
|
20
|
+
Object.defineProperty(exports, "ALPHA_CONFIG", { enumerable: true, get: function () { return alpha_config_1.ALPHA_CONFIG; } });
|
|
21
|
+
const beta_config_1 = require("./beta.config");
|
|
22
|
+
Object.defineProperty(exports, "BETA_CONFIG", { enumerable: true, get: function () { return beta_config_1.BETA_CONFIG; } });
|
|
23
|
+
const prod_config_1 = require("./prod.config");
|
|
24
|
+
Object.defineProperty(exports, "PROD_CONFIG", { enumerable: true, get: function () { return prod_config_1.PROD_CONFIG; } });
|
|
25
|
+
const localhost_config_1 = require("./localhost.config");
|
|
26
|
+
Object.defineProperty(exports, "LOCALHOST_CONFIG", { enumerable: true, get: function () { return localhost_config_1.LOCALHOST_CONFIG; } });
|
|
27
|
+
/**
|
|
28
|
+
* Environment configurations mapped by environment name
|
|
29
|
+
*/
|
|
30
|
+
exports.ENVIRONMENT_CONFIGS = {
|
|
31
|
+
localhost: localhost_config_1.LOCALHOST_CONFIG,
|
|
32
|
+
dev: dev_config_1.DEV_CONFIG,
|
|
33
|
+
alpha: alpha_config_1.ALPHA_CONFIG,
|
|
34
|
+
beta: beta_config_1.BETA_CONFIG,
|
|
35
|
+
prod: prod_config_1.PROD_CONFIG,
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Get configuration for a specific environment
|
|
39
|
+
* @param environment - The environment to get configuration for
|
|
40
|
+
* @returns Network configuration for the specified environment
|
|
41
|
+
* @throws Error if environment is invalid
|
|
42
|
+
*/
|
|
43
|
+
function getEnvironmentConfig(environment) {
|
|
44
|
+
const config = exports.ENVIRONMENT_CONFIGS[environment];
|
|
45
|
+
if (!config) {
|
|
46
|
+
throw new Error(`Invalid environment: ${environment}. Valid environments are: ${Object.keys(exports.ENVIRONMENT_CONFIGS).join(', ')}`);
|
|
47
|
+
}
|
|
48
|
+
return config;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Check if an environment name is valid
|
|
52
|
+
* @param environment - The environment name to validate
|
|
53
|
+
* @returns True if the environment is valid
|
|
54
|
+
*/
|
|
55
|
+
function isValidEnvironment(environment) {
|
|
56
|
+
return environment in exports.ENVIRONMENT_CONFIGS;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Get all available environments
|
|
60
|
+
* @returns Array of all valid environment names
|
|
61
|
+
*/
|
|
62
|
+
function getAvailableEnvironments() {
|
|
63
|
+
return Object.keys(exports.ENVIRONMENT_CONFIGS);
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Get environment name by chain ID and contract address
|
|
67
|
+
* Useful for determining which environment a user is connected to
|
|
68
|
+
* @param chainId - The chain ID to match
|
|
69
|
+
* @param alphaAddress - The alpha contract address to match
|
|
70
|
+
* @returns The environment name or undefined if not found
|
|
71
|
+
*/
|
|
72
|
+
function getEnvironmentByAddress(chainId, alphaAddress) {
|
|
73
|
+
const normalizedAddress = alphaAddress.toLowerCase();
|
|
74
|
+
for (const [env, config] of Object.entries(exports.ENVIRONMENT_CONFIGS)) {
|
|
75
|
+
if (config.chainId === chainId && config.contracts.alpha?.toLowerCase() === normalizedAddress) {
|
|
76
|
+
return env;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return undefined;
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/environments/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AA4BH,oDAQC;AAOD,gDAEC;AAMD,4DAEC;AASD,0DAaC;AAxED,6CAA0C;AA2Ef,2FA3ElB,uBAAU,OA2EkB;AA1ErC,iDAA8C;AA0EP,6FA1E9B,2BAAY,OA0E8B;AAzEnD,+CAA4C;AAyES,4FAzE5C,yBAAW,OAyE4C;AAxEhE,+CAA4C;AAwEsB,4FAxEzD,yBAAW,OAwEyD;AAvE7E,yDAAsD;AAuE7C,iGAvEA,mCAAgB,OAuEA;AAnEzB;;GAEG;AACU,QAAA,mBAAmB,GAAuC;IACrE,SAAS,EAAE,mCAAgB;IAC3B,GAAG,EAAE,uBAAU;IACf,KAAK,EAAE,2BAAY;IACnB,IAAI,EAAE,yBAAW;IACjB,IAAI,EAAE,yBAAW;CAClB,CAAC;AAEF;;;;;GAKG;AACH,SAAgB,oBAAoB,CAAC,WAAwB;IAC3D,MAAM,MAAM,GAAG,2BAAmB,CAAC,WAAW,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,wBAAwB,WAAW,6BAA6B,MAAM,CAAC,IAAI,CAAC,2BAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC9G,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,WAAmB;IACpD,OAAO,WAAW,IAAI,2BAAmB,CAAC;AAC5C,CAAC;AAED;;;GAGG;AACH,SAAgB,wBAAwB;IACtC,OAAO,MAAM,CAAC,IAAI,CAAC,2BAAmB,CAAkB,CAAC;AAC3D,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,uBAAuB,CACrC,OAAe,EACf,YAAoB;IAEpB,MAAM,iBAAiB,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;IAErD,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,2BAAmB,CAAC,EAAE,CAAC;QAChE,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,CAAC;YAC9F,OAAO,GAAkB,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Localhost Environment Configuration
|
|
3
|
+
*
|
|
4
|
+
* Used for local Anvil development and E2E testing
|
|
5
|
+
* Reads contract addresses from environment variables set by .env.anvil
|
|
6
|
+
*
|
|
7
|
+
* Environment variables (from .env.anvil):
|
|
8
|
+
* ALPHA - Main protocol contract
|
|
9
|
+
* TAO_TOKEN - Collateral token
|
|
10
|
+
* PRICE_ORACLE - Price oracle contract
|
|
11
|
+
* ALPHA_BTC - BTC market address
|
|
12
|
+
* ALPHA_ETH - ETH market address
|
|
13
|
+
*/
|
|
14
|
+
import { NetworkConfig } from '../../types';
|
|
15
|
+
export declare const LOCALHOST_CONFIG: NetworkConfig;
|
|
16
|
+
//# sourceMappingURL=localhost.config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"localhost.config.d.ts","sourceRoot":"","sources":["../../../src/config/environments/localhost.config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAS5C,eAAO,MAAM,gBAAgB,EAAE,aAiI9B,CAAC"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Localhost Environment Configuration
|
|
4
|
+
*
|
|
5
|
+
* Used for local Anvil development and E2E testing
|
|
6
|
+
* Reads contract addresses from environment variables set by .env.anvil
|
|
7
|
+
*
|
|
8
|
+
* Environment variables (from .env.anvil):
|
|
9
|
+
* ALPHA - Main protocol contract
|
|
10
|
+
* TAO_TOKEN - Collateral token
|
|
11
|
+
* PRICE_ORACLE - Price oracle contract
|
|
12
|
+
* ALPHA_BTC - BTC market address
|
|
13
|
+
* ALPHA_ETH - ETH market address
|
|
14
|
+
*/
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.LOCALHOST_CONFIG = void 0;
|
|
17
|
+
// Helper to get address from env with fallback
|
|
18
|
+
const getEnvAddress = (key, fallback) => {
|
|
19
|
+
return (process.env[key] || fallback);
|
|
20
|
+
};
|
|
21
|
+
// Create config as a getter so env vars are read at access time, not import time
|
|
22
|
+
exports.LOCALHOST_CONFIG = {
|
|
23
|
+
chainId: 31337,
|
|
24
|
+
name: 'Alpha Futures - Localhost',
|
|
25
|
+
rpcUrl: process.env.RPC_URL || 'http://localhost:8545',
|
|
26
|
+
blockExplorer: 'http://localhost:8545',
|
|
27
|
+
get contracts() {
|
|
28
|
+
return {
|
|
29
|
+
alpha: getEnvAddress('ALPHA', '0x610178dA211FEF7D417bC0e6FeD39F05609AD788'),
|
|
30
|
+
priceOracle: getEnvAddress('PRICE_ORACLE', '0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9'),
|
|
31
|
+
collateralToken: getEnvAddress('TAO_TOKEN', '0x5FbDB2315678afecb367f032d93F642f64180aa3'),
|
|
32
|
+
};
|
|
33
|
+
},
|
|
34
|
+
get markets() {
|
|
35
|
+
return [
|
|
36
|
+
{
|
|
37
|
+
id: 64,
|
|
38
|
+
name: 'Chutes',
|
|
39
|
+
marketAddress: '0x0000000000000000000000000000000000000040',
|
|
40
|
+
symbol: 'CHUTES',
|
|
41
|
+
displayName: 'Chutes (SN64)',
|
|
42
|
+
hasOraclePrice: false,
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
id: 51,
|
|
46
|
+
name: 'lium.io',
|
|
47
|
+
marketAddress: '0x0000000000000000000000000000000000000033',
|
|
48
|
+
symbol: 'LIUM',
|
|
49
|
+
displayName: 'lium.io (SN51)',
|
|
50
|
+
hasOraclePrice: false,
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
id: 62,
|
|
54
|
+
name: 'Ridges',
|
|
55
|
+
marketAddress: '0x000000000000000000000000000000000000003e',
|
|
56
|
+
symbol: 'RIDGES',
|
|
57
|
+
displayName: 'Ridges (SN62)',
|
|
58
|
+
hasOraclePrice: false,
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
id: 4,
|
|
62
|
+
name: 'Targon',
|
|
63
|
+
marketAddress: '0x0000000000000000000000000000000000000004',
|
|
64
|
+
symbol: 'TARGON',
|
|
65
|
+
displayName: 'Targon (SN4)',
|
|
66
|
+
hasOraclePrice: false,
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
id: 8,
|
|
70
|
+
name: 'Vanta',
|
|
71
|
+
marketAddress: '0x0000000000000000000000000000000000000008',
|
|
72
|
+
symbol: 'VANTA',
|
|
73
|
+
displayName: 'Vanta (SN8)',
|
|
74
|
+
hasOraclePrice: false,
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
id: 120,
|
|
78
|
+
name: 'Affine',
|
|
79
|
+
marketAddress: '0x0000000000000000000000000000000000000078',
|
|
80
|
+
symbol: 'AFFINE',
|
|
81
|
+
displayName: 'Affine (SN120)',
|
|
82
|
+
hasOraclePrice: false,
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
id: 3,
|
|
86
|
+
name: 'templar',
|
|
87
|
+
marketAddress: '0x0000000000000000000000000000000000000003',
|
|
88
|
+
symbol: 'TEMPLAR',
|
|
89
|
+
displayName: 'templar (SN3)',
|
|
90
|
+
hasOraclePrice: false,
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
id: 44,
|
|
94
|
+
name: 'Score',
|
|
95
|
+
marketAddress: '0x000000000000000000000000000000000000002c',
|
|
96
|
+
symbol: 'SCORE',
|
|
97
|
+
displayName: 'Score (SN44)',
|
|
98
|
+
hasOraclePrice: false,
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
id: 9,
|
|
102
|
+
name: 'iota',
|
|
103
|
+
marketAddress: '0x0000000000000000000000000000000000000009',
|
|
104
|
+
symbol: 'IOTA',
|
|
105
|
+
displayName: 'iota (SN9)',
|
|
106
|
+
hasOraclePrice: false,
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
id: 56,
|
|
110
|
+
name: 'Gradients',
|
|
111
|
+
marketAddress: '0x0000000000000000000000000000000000000038',
|
|
112
|
+
symbol: 'GRADIENTS',
|
|
113
|
+
displayName: 'Gradients (SN56)',
|
|
114
|
+
hasOraclePrice: false,
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
id: 75,
|
|
118
|
+
name: 'Hippius',
|
|
119
|
+
marketAddress: '0x000000000000000000000000000000000000004b',
|
|
120
|
+
symbol: 'HIPPIUS',
|
|
121
|
+
displayName: 'Hippius (SN75)',
|
|
122
|
+
hasOraclePrice: false,
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
id: 34,
|
|
126
|
+
name: 'BitMind',
|
|
127
|
+
marketAddress: '0x0000000000000000000000000000000000000022',
|
|
128
|
+
symbol: 'BITMIND',
|
|
129
|
+
displayName: 'BitMind (SN34)',
|
|
130
|
+
hasOraclePrice: false,
|
|
131
|
+
},
|
|
132
|
+
// Legacy test markets (for localhost testing)
|
|
133
|
+
{
|
|
134
|
+
id: 1,
|
|
135
|
+
name: 'Alpha BTC',
|
|
136
|
+
marketAddress: getEnvAddress('ALPHA_BTC', '0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512'),
|
|
137
|
+
symbol: 'BTC',
|
|
138
|
+
displayName: 'Alpha BTC',
|
|
139
|
+
hasOraclePrice: true,
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
id: 2,
|
|
143
|
+
name: 'Alpha ETH',
|
|
144
|
+
marketAddress: getEnvAddress('ALPHA_ETH', '0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0'),
|
|
145
|
+
symbol: 'ETH',
|
|
146
|
+
displayName: 'Alpha ETH',
|
|
147
|
+
hasOraclePrice: true,
|
|
148
|
+
},
|
|
149
|
+
];
|
|
150
|
+
},
|
|
151
|
+
};
|
|
152
|
+
//# sourceMappingURL=localhost.config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"localhost.config.js","sourceRoot":"","sources":["../../../src/config/environments/localhost.config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Production Environment Configuration
|
|
3
|
+
*
|
|
4
|
+
* Uses Real USDC with 6 decimals
|
|
5
|
+
* 1 market: ALPHA_BTC
|
|
6
|
+
* No initial vault seeding
|
|
7
|
+
*
|
|
8
|
+
* LAST SYNCED: 2026-02-13
|
|
9
|
+
* DEPLOYMENT: deployments/prod/deployment.json
|
|
10
|
+
*
|
|
11
|
+
* NOTE: This environment has not been deployed yet.
|
|
12
|
+
* Production deployment requires CONFIRM_PROD=true environment variable.
|
|
13
|
+
* Run `CONFIRM_PROD=true npm run deploy -- --env prod` to deploy contracts.
|
|
14
|
+
* Then run `npm run sync -- --env prod` to update these addresses.
|
|
15
|
+
*
|
|
16
|
+
* ⚠️ WARNING: Production deployment uses real USDC. Handle with extreme care.
|
|
17
|
+
*/
|
|
18
|
+
import { NetworkConfig } from '../../types';
|
|
19
|
+
export declare const PROD_CONFIG: NetworkConfig;
|
|
20
|
+
//# sourceMappingURL=prod.config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prod.config.d.ts","sourceRoot":"","sources":["../../../src/config/environments/prod.config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,eAAO,MAAM,WAAW,EAAE,aAyHzB,CAAC"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Production Environment Configuration
|
|
4
|
+
*
|
|
5
|
+
* Uses Real USDC with 6 decimals
|
|
6
|
+
* 1 market: ALPHA_BTC
|
|
7
|
+
* No initial vault seeding
|
|
8
|
+
*
|
|
9
|
+
* LAST SYNCED: 2026-02-13
|
|
10
|
+
* DEPLOYMENT: deployments/prod/deployment.json
|
|
11
|
+
*
|
|
12
|
+
* NOTE: This environment has not been deployed yet.
|
|
13
|
+
* Production deployment requires CONFIRM_PROD=true environment variable.
|
|
14
|
+
* Run `CONFIRM_PROD=true npm run deploy -- --env prod` to deploy contracts.
|
|
15
|
+
* Then run `npm run sync -- --env prod` to update these addresses.
|
|
16
|
+
*
|
|
17
|
+
* ⚠️ WARNING: Production deployment uses real USDC. Handle with extreme care.
|
|
18
|
+
*/
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.PROD_CONFIG = void 0;
|
|
21
|
+
exports.PROD_CONFIG = {
|
|
22
|
+
chainId: 964,
|
|
23
|
+
name: 'Alpha Futures - Production',
|
|
24
|
+
rpcUrl: 'https://bittensor-finney.api.onfinality.io/public',
|
|
25
|
+
blockExplorer: 'https://evm.taostats.io/',
|
|
26
|
+
contracts: {
|
|
27
|
+
alpha: '0xdA50070976Da21A0E7afaB1BB0c81CD51926AE64', // Placeholder - will be updated after deployment
|
|
28
|
+
priceOracle: '0x446A342221ed83b56fc17eA3e046dd19153beA85',
|
|
29
|
+
collateralToken: '0x0000000000000000000000000000000000000000', // Real USDC
|
|
30
|
+
},
|
|
31
|
+
collateralTokenInfo: {
|
|
32
|
+
symbol: 'TAO',
|
|
33
|
+
decimals: 18,
|
|
34
|
+
name: 'TAO',
|
|
35
|
+
},
|
|
36
|
+
markets: [
|
|
37
|
+
{
|
|
38
|
+
id: 64,
|
|
39
|
+
name: 'Chutes',
|
|
40
|
+
marketAddress: '0x0000000000000000000000000000000000000040',
|
|
41
|
+
symbol: 'CHUTES',
|
|
42
|
+
displayName: 'Chutes (SN64)',
|
|
43
|
+
hasOraclePrice: true,
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
id: 51,
|
|
47
|
+
name: 'lium.io',
|
|
48
|
+
marketAddress: '0x0000000000000000000000000000000000000033',
|
|
49
|
+
symbol: 'LIUM',
|
|
50
|
+
displayName: 'lium.io (SN51)',
|
|
51
|
+
hasOraclePrice: true,
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
id: 62,
|
|
55
|
+
name: 'Ridges',
|
|
56
|
+
marketAddress: '0x000000000000000000000000000000000000003e',
|
|
57
|
+
symbol: 'RIDGES',
|
|
58
|
+
displayName: 'Ridges (SN62)',
|
|
59
|
+
hasOraclePrice: true,
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
id: 4,
|
|
63
|
+
name: 'Targon',
|
|
64
|
+
marketAddress: '0x0000000000000000000000000000000000000004',
|
|
65
|
+
symbol: 'TARGON',
|
|
66
|
+
displayName: 'Targon (SN4)',
|
|
67
|
+
hasOraclePrice: true,
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
id: 8,
|
|
71
|
+
name: 'Vanta',
|
|
72
|
+
marketAddress: '0x0000000000000000000000000000000000000008',
|
|
73
|
+
symbol: 'VANTA',
|
|
74
|
+
displayName: 'Vanta (SN8)',
|
|
75
|
+
hasOraclePrice: true,
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
id: 120,
|
|
79
|
+
name: 'Affine',
|
|
80
|
+
marketAddress: '0x0000000000000000000000000000000000000078',
|
|
81
|
+
symbol: 'AFFINE',
|
|
82
|
+
displayName: 'Affine (SN120)',
|
|
83
|
+
hasOraclePrice: true,
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
id: 3,
|
|
87
|
+
name: 'templar',
|
|
88
|
+
marketAddress: '0x0000000000000000000000000000000000000003',
|
|
89
|
+
symbol: 'TEMPLAR',
|
|
90
|
+
displayName: 'templar (SN3)',
|
|
91
|
+
hasOraclePrice: true,
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
id: 44,
|
|
95
|
+
name: 'Score',
|
|
96
|
+
marketAddress: '0x000000000000000000000000000000000000002c',
|
|
97
|
+
symbol: 'SCORE',
|
|
98
|
+
displayName: 'Score (SN44)',
|
|
99
|
+
hasOraclePrice: true,
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
id: 9,
|
|
103
|
+
name: 'iota',
|
|
104
|
+
marketAddress: '0x0000000000000000000000000000000000000009',
|
|
105
|
+
symbol: 'IOTA',
|
|
106
|
+
displayName: 'iota (SN9)',
|
|
107
|
+
hasOraclePrice: true,
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
id: 56,
|
|
111
|
+
name: 'Gradients',
|
|
112
|
+
marketAddress: '0x0000000000000000000000000000000000000038',
|
|
113
|
+
symbol: 'GRADIENTS',
|
|
114
|
+
displayName: 'Gradients (SN56)',
|
|
115
|
+
hasOraclePrice: true,
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
id: 75,
|
|
119
|
+
name: 'Hippius',
|
|
120
|
+
marketAddress: '0x000000000000000000000000000000000000004b',
|
|
121
|
+
symbol: 'HIPPIUS',
|
|
122
|
+
displayName: 'Hippius (SN75)',
|
|
123
|
+
hasOraclePrice: true,
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
id: 34,
|
|
127
|
+
name: 'BitMind',
|
|
128
|
+
marketAddress: '0x0000000000000000000000000000000000000022',
|
|
129
|
+
symbol: 'BITMIND',
|
|
130
|
+
displayName: 'BitMind (SN34)',
|
|
131
|
+
hasOraclePrice: true,
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
id: 65534,
|
|
135
|
+
name: 'MTSOS',
|
|
136
|
+
marketAddress: '0x000000000000000000000000000000000000FFFE',
|
|
137
|
+
symbol: 'MTSOS',
|
|
138
|
+
displayName: 'MegaTAO Sum-of-Subnets Index',
|
|
139
|
+
hasOraclePrice: true,
|
|
140
|
+
},
|
|
141
|
+
],
|
|
142
|
+
};
|
|
143
|
+
//# sourceMappingURL=prod.config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prod.config.js","sourceRoot":"","sources":["../../../src/config/environments/prod.config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration module exports
|
|
3
|
+
*/
|
|
4
|
+
export * from './contracts.config';
|
|
5
|
+
export { detectNetwork, switchNetwork, addNetwork, createNetworkClient, validateChainId, getSupportedNetworks, formatNetworkName, NetworkInfo, createCustomChain, getChainById, } from '../utils/network';
|
|
6
|
+
export { NETWORK_CONFIGS, DEFAULT_NETWORK, getCurrentNetwork, getNetworkByChainId, isValidNetwork, getNetworkName, } from '../constants/networks';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,oBAAoB,CAAC;AAGnC,OAAO,EACL,aAAa,EACb,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,YAAY,GACb,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,cAAc,GACf,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Configuration module exports
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
17
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.getNetworkName = exports.isValidNetwork = exports.getNetworkByChainId = exports.getCurrentNetwork = exports.DEFAULT_NETWORK = exports.NETWORK_CONFIGS = exports.getChainById = exports.createCustomChain = exports.formatNetworkName = exports.getSupportedNetworks = exports.validateChainId = exports.createNetworkClient = exports.addNetwork = exports.switchNetwork = exports.detectNetwork = void 0;
|
|
21
|
+
__exportStar(require("./contracts.config"), exports);
|
|
22
|
+
// Re-export network utilities for convenience
|
|
23
|
+
var network_1 = require("../utils/network");
|
|
24
|
+
Object.defineProperty(exports, "detectNetwork", { enumerable: true, get: function () { return network_1.detectNetwork; } });
|
|
25
|
+
Object.defineProperty(exports, "switchNetwork", { enumerable: true, get: function () { return network_1.switchNetwork; } });
|
|
26
|
+
Object.defineProperty(exports, "addNetwork", { enumerable: true, get: function () { return network_1.addNetwork; } });
|
|
27
|
+
Object.defineProperty(exports, "createNetworkClient", { enumerable: true, get: function () { return network_1.createNetworkClient; } });
|
|
28
|
+
Object.defineProperty(exports, "validateChainId", { enumerable: true, get: function () { return network_1.validateChainId; } });
|
|
29
|
+
Object.defineProperty(exports, "getSupportedNetworks", { enumerable: true, get: function () { return network_1.getSupportedNetworks; } });
|
|
30
|
+
Object.defineProperty(exports, "formatNetworkName", { enumerable: true, get: function () { return network_1.formatNetworkName; } });
|
|
31
|
+
Object.defineProperty(exports, "createCustomChain", { enumerable: true, get: function () { return network_1.createCustomChain; } });
|
|
32
|
+
Object.defineProperty(exports, "getChainById", { enumerable: true, get: function () { return network_1.getChainById; } });
|
|
33
|
+
// Re-export network constants
|
|
34
|
+
var networks_1 = require("../constants/networks");
|
|
35
|
+
Object.defineProperty(exports, "NETWORK_CONFIGS", { enumerable: true, get: function () { return networks_1.NETWORK_CONFIGS; } });
|
|
36
|
+
Object.defineProperty(exports, "DEFAULT_NETWORK", { enumerable: true, get: function () { return networks_1.DEFAULT_NETWORK; } });
|
|
37
|
+
Object.defineProperty(exports, "getCurrentNetwork", { enumerable: true, get: function () { return networks_1.getCurrentNetwork; } });
|
|
38
|
+
Object.defineProperty(exports, "getNetworkByChainId", { enumerable: true, get: function () { return networks_1.getNetworkByChainId; } });
|
|
39
|
+
Object.defineProperty(exports, "isValidNetwork", { enumerable: true, get: function () { return networks_1.isValidNetwork; } });
|
|
40
|
+
Object.defineProperty(exports, "getNetworkName", { enumerable: true, get: function () { return networks_1.getNetworkName; } });
|
|
41
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;AAEH,qDAAmC;AAEnC,8CAA8C;AAC9C,4CAW0B;AAVxB,wGAAA,aAAa,OAAA;AACb,wGAAA,aAAa,OAAA;AACb,qGAAA,UAAU,OAAA;AACV,8GAAA,mBAAmB,OAAA;AACnB,0GAAA,eAAe,OAAA;AACf,+GAAA,oBAAoB,OAAA;AACpB,4GAAA,iBAAiB,OAAA;AAEjB,4GAAA,iBAAiB,OAAA;AACjB,uGAAA,YAAY,OAAA;AAGd,8BAA8B;AAC9B,kDAO+B;AAN7B,2GAAA,eAAe,OAAA;AACf,2GAAA,eAAe,OAAA;AACf,6GAAA,iBAAiB,OAAA;AACjB,+GAAA,mBAAmB,OAAA;AACnB,0GAAA,cAAc,OAAA;AACd,0GAAA,cAAc,OAAA"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Asset mappings and constants for Alpha Futures
|
|
3
|
+
* Includes both legacy assets and new subnet markets
|
|
4
|
+
*/
|
|
5
|
+
import { Address } from 'viem';
|
|
6
|
+
/**
|
|
7
|
+
* Subnet market configuration for trading
|
|
8
|
+
*/
|
|
9
|
+
export interface SubnetMarketAsset {
|
|
10
|
+
/** Subnet ID on the Bittensor network */
|
|
11
|
+
subnetId: number;
|
|
12
|
+
/** Human-readable name of the subnet */
|
|
13
|
+
name: string;
|
|
14
|
+
/** Market contract address for this subnet */
|
|
15
|
+
marketAddress: Address;
|
|
16
|
+
/** Symbol used for trading */
|
|
17
|
+
symbol: string;
|
|
18
|
+
/** Full display name */
|
|
19
|
+
displayName: string;
|
|
20
|
+
/** Asset decimals (typically 18 for subnet tokens) */
|
|
21
|
+
decimals: number;
|
|
22
|
+
/** Whether oracle pricing is currently available */
|
|
23
|
+
hasOraclePrice: boolean;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Bittensor subnet markets available for Alpha Futures trading
|
|
27
|
+
* Top 12 subnets by emission (as of 2025)
|
|
28
|
+
*/
|
|
29
|
+
export declare const SUBNET_MARKETS: Record<string, SubnetMarketAsset>;
|
|
30
|
+
/**
|
|
31
|
+
* Legacy asset addresses (maintained for backward compatibility)
|
|
32
|
+
*/
|
|
33
|
+
export declare const ASSET_ADDRESSES: Record<string, Address>;
|
|
34
|
+
export declare const ASSET_NAMES: Record<Address, string>;
|
|
35
|
+
export declare const ASSET_DECIMALS: Record<string, number>;
|
|
36
|
+
/**
|
|
37
|
+
* Convert asset symbol to address
|
|
38
|
+
*/
|
|
39
|
+
export declare function getAssetAddress(symbol: string): Address;
|
|
40
|
+
/**
|
|
41
|
+
* Convert asset address to symbol
|
|
42
|
+
*/
|
|
43
|
+
export declare function getAssetSymbol(address: Address): string;
|
|
44
|
+
/**
|
|
45
|
+
* Check if asset is supported
|
|
46
|
+
*/
|
|
47
|
+
export declare function isAssetSupported(symbolOrAddress: string): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Get asset decimals
|
|
50
|
+
*/
|
|
51
|
+
export declare function getAssetDecimals(symbol: string): number;
|
|
52
|
+
/**
|
|
53
|
+
* Get subnet market by symbol
|
|
54
|
+
*/
|
|
55
|
+
export declare function getSubnetMarket(symbol: string): SubnetMarketAsset;
|
|
56
|
+
/**
|
|
57
|
+
* Get all available subnet markets
|
|
58
|
+
*/
|
|
59
|
+
export declare function getAvailableSubnetMarkets(): SubnetMarketAsset[];
|
|
60
|
+
/**
|
|
61
|
+
* Check if symbol is a subnet market
|
|
62
|
+
*/
|
|
63
|
+
export declare function isSubnetMarket(symbol: string): boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Get subnet market by subnet ID
|
|
66
|
+
*/
|
|
67
|
+
export declare function getSubnetMarketById(subnetId: number): SubnetMarketAsset | undefined;
|
|
68
|
+
/**
|
|
69
|
+
* List all supported assets (legacy + subnet markets)
|
|
70
|
+
*/
|
|
71
|
+
export declare function getSupportedAssets(): string[];
|
|
72
|
+
/**
|
|
73
|
+
* List only subnet market symbols
|
|
74
|
+
*/
|
|
75
|
+
export declare function getSupportedSubnetMarkets(): string[];
|
|
76
|
+
//# sourceMappingURL=assets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../src/constants/assets.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,aAAa,EAAE,OAAO,CAAC;IACvB,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,QAAQ,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAsHnD,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAkB1C,CAAC;AAEX,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAiBtC,CAAC;AAEX,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAkBxC,CAAC;AAEX;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAMvD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAMvD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAGjE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAMvD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,CAMjE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,iBAAiB,EAAE,CAE/D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAEnF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,EAAE,CAEpD"}
|