@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.
Files changed (228) hide show
  1. package/.env.example +37 -0
  2. package/CHANGELOG.md +19 -0
  3. package/README.md +199 -0
  4. package/bin/alf +4 -0
  5. package/cli/README.md +198 -0
  6. package/cli/TEST_MANUAL.md +577 -0
  7. package/cli/commands/account.ts +545 -0
  8. package/cli/commands/funding.ts +481 -0
  9. package/cli/commands/liquidation.ts +523 -0
  10. package/cli/commands/market.ts +590 -0
  11. package/cli/commands/orders.ts +395 -0
  12. package/cli/commands/position.ts +1085 -0
  13. package/cli/commands/shared/positionUtils.ts +239 -0
  14. package/cli/commands/trading.ts +483 -0
  15. package/cli/commands/utils.ts +281 -0
  16. package/cli/commands/vault.ts +522 -0
  17. package/cli/index.ts +169 -0
  18. package/cli/interactive.ts +530 -0
  19. package/cli/utils/client.ts +457 -0
  20. package/cli/utils/config.ts +226 -0
  21. package/cli/utils/display.ts +258 -0
  22. package/cli/utils/index.ts +10 -0
  23. package/cli/utils/prompts.ts +364 -0
  24. package/config.example.json +23 -0
  25. package/dist/AlphaFuturesClient.d.ts +36 -0
  26. package/dist/AlphaFuturesClient.d.ts.map +1 -0
  27. package/dist/AlphaFuturesClient.js +116 -0
  28. package/dist/AlphaFuturesClient.js.map +1 -0
  29. package/dist/abi/Alpha.json +5987 -0
  30. package/dist/abi/abis.d.ts +319 -0
  31. package/dist/abi/abis.d.ts.map +1 -0
  32. package/dist/abi/abis.js +128 -0
  33. package/dist/abi/abis.js.map +1 -0
  34. package/dist/abi/index.d.ts +11 -0
  35. package/dist/abi/index.d.ts.map +1 -0
  36. package/dist/abi/index.js +15 -0
  37. package/dist/abi/index.js.map +1 -0
  38. package/dist/config/contracts.config.d.ts +70 -0
  39. package/dist/config/contracts.config.d.ts.map +1 -0
  40. package/dist/config/contracts.config.js +137 -0
  41. package/dist/config/contracts.config.js.map +1 -0
  42. package/dist/config/environments/alpha.config.d.ts +17 -0
  43. package/dist/config/environments/alpha.config.d.ts.map +1 -0
  44. package/dist/config/environments/alpha.config.js +140 -0
  45. package/dist/config/environments/alpha.config.js.map +1 -0
  46. package/dist/config/environments/beta.config.d.ts +16 -0
  47. package/dist/config/environments/beta.config.d.ts.map +1 -0
  48. package/dist/config/environments/beta.config.js +131 -0
  49. package/dist/config/environments/beta.config.js.map +1 -0
  50. package/dist/config/environments/dev.config.d.ts +13 -0
  51. package/dist/config/environments/dev.config.d.ts.map +1 -0
  52. package/dist/config/environments/dev.config.js +123 -0
  53. package/dist/config/environments/dev.config.js.map +1 -0
  54. package/dist/config/environments/index.d.ts +48 -0
  55. package/dist/config/environments/index.d.ts.map +1 -0
  56. package/dist/config/environments/index.js +81 -0
  57. package/dist/config/environments/index.js.map +1 -0
  58. package/dist/config/environments/localhost.config.d.ts +16 -0
  59. package/dist/config/environments/localhost.config.d.ts.map +1 -0
  60. package/dist/config/environments/localhost.config.js +152 -0
  61. package/dist/config/environments/localhost.config.js.map +1 -0
  62. package/dist/config/environments/prod.config.d.ts +20 -0
  63. package/dist/config/environments/prod.config.d.ts.map +1 -0
  64. package/dist/config/environments/prod.config.js +143 -0
  65. package/dist/config/environments/prod.config.js.map +1 -0
  66. package/dist/config/index.d.ts +7 -0
  67. package/dist/config/index.d.ts.map +1 -0
  68. package/dist/config/index.js +41 -0
  69. package/dist/config/index.js.map +1 -0
  70. package/dist/constants/assets.d.ts +76 -0
  71. package/dist/constants/assets.d.ts.map +1 -0
  72. package/dist/constants/assets.js +277 -0
  73. package/dist/constants/assets.js.map +1 -0
  74. package/dist/constants/contracts.d.ts +41 -0
  75. package/dist/constants/contracts.d.ts.map +1 -0
  76. package/dist/constants/contracts.js +57 -0
  77. package/dist/constants/contracts.js.map +1 -0
  78. package/dist/constants/index.d.ts +36 -0
  79. package/dist/constants/index.d.ts.map +1 -0
  80. package/dist/constants/index.js +75 -0
  81. package/dist/constants/index.js.map +1 -0
  82. package/dist/constants/networks.d.ts +32 -0
  83. package/dist/constants/networks.d.ts.map +1 -0
  84. package/dist/constants/networks.js +174 -0
  85. package/dist/constants/networks.js.map +1 -0
  86. package/dist/contracts/index.d.ts +5 -0
  87. package/dist/contracts/index.d.ts.map +1 -0
  88. package/dist/contracts/index.js +21 -0
  89. package/dist/contracts/index.js.map +1 -0
  90. package/dist/contracts/viem/AlphaViem.d.ts +518 -0
  91. package/dist/contracts/viem/AlphaViem.d.ts.map +1 -0
  92. package/dist/contracts/viem/AlphaViem.js +1287 -0
  93. package/dist/contracts/viem/AlphaViem.js.map +1 -0
  94. package/dist/contracts/viem/PriceOracleViem.d.ts +71 -0
  95. package/dist/contracts/viem/PriceOracleViem.d.ts.map +1 -0
  96. package/dist/contracts/viem/PriceOracleViem.js +212 -0
  97. package/dist/contracts/viem/PriceOracleViem.js.map +1 -0
  98. package/dist/contracts/viem/index.d.ts +9 -0
  99. package/dist/contracts/viem/index.d.ts.map +1 -0
  100. package/dist/contracts/viem/index.js +17 -0
  101. package/dist/contracts/viem/index.js.map +1 -0
  102. package/dist/errors/index.d.ts +44 -0
  103. package/dist/errors/index.d.ts.map +1 -0
  104. package/dist/errors/index.js +83 -0
  105. package/dist/errors/index.js.map +1 -0
  106. package/dist/index.d.ts +19 -0
  107. package/dist/index.d.ts.map +1 -0
  108. package/dist/index.js +60 -0
  109. package/dist/index.js.map +1 -0
  110. package/dist/types/alpha.d.ts +299 -0
  111. package/dist/types/alpha.d.ts.map +1 -0
  112. package/dist/types/alpha.js +6 -0
  113. package/dist/types/alpha.js.map +1 -0
  114. package/dist/types/client.d.ts +24 -0
  115. package/dist/types/client.d.ts.map +1 -0
  116. package/dist/types/client.js +13 -0
  117. package/dist/types/client.js.map +1 -0
  118. package/dist/types/contracts.d.ts +48 -0
  119. package/dist/types/contracts.d.ts.map +1 -0
  120. package/dist/types/contracts.js +6 -0
  121. package/dist/types/contracts.js.map +1 -0
  122. package/dist/types/funding.d.ts +27 -0
  123. package/dist/types/funding.d.ts.map +1 -0
  124. package/dist/types/funding.js +6 -0
  125. package/dist/types/funding.js.map +1 -0
  126. package/dist/types/index.d.ts +92 -0
  127. package/dist/types/index.d.ts.map +1 -0
  128. package/dist/types/index.js +47 -0
  129. package/dist/types/index.js.map +1 -0
  130. package/dist/types/liquidation.d.ts +20 -0
  131. package/dist/types/liquidation.d.ts.map +1 -0
  132. package/dist/types/liquidation.js +6 -0
  133. package/dist/types/liquidation.js.map +1 -0
  134. package/dist/types/margin.d.ts +29 -0
  135. package/dist/types/margin.d.ts.map +1 -0
  136. package/dist/types/margin.js +6 -0
  137. package/dist/types/margin.js.map +1 -0
  138. package/dist/types/oracle.d.ts +21 -0
  139. package/dist/types/oracle.d.ts.map +1 -0
  140. package/dist/types/oracle.js +6 -0
  141. package/dist/types/oracle.js.map +1 -0
  142. package/dist/types/positions.d.ts +43 -0
  143. package/dist/types/positions.d.ts.map +1 -0
  144. package/dist/types/positions.js +13 -0
  145. package/dist/types/positions.js.map +1 -0
  146. package/dist/utils/calculations.d.ts +84 -0
  147. package/dist/utils/calculations.d.ts.map +1 -0
  148. package/dist/utils/calculations.js +155 -0
  149. package/dist/utils/calculations.js.map +1 -0
  150. package/dist/utils/errors.d.ts +24 -0
  151. package/dist/utils/errors.d.ts.map +1 -0
  152. package/dist/utils/errors.js +129 -0
  153. package/dist/utils/errors.js.map +1 -0
  154. package/dist/utils/events.d.ts +40 -0
  155. package/dist/utils/events.d.ts.map +1 -0
  156. package/dist/utils/events.js +73 -0
  157. package/dist/utils/events.js.map +1 -0
  158. package/dist/utils/format.d.ts +40 -0
  159. package/dist/utils/format.d.ts.map +1 -0
  160. package/dist/utils/format.js +86 -0
  161. package/dist/utils/format.js.map +1 -0
  162. package/dist/utils/index.d.ts +10 -0
  163. package/dist/utils/index.d.ts.map +1 -0
  164. package/dist/utils/index.js +26 -0
  165. package/dist/utils/index.js.map +1 -0
  166. package/dist/utils/network.d.ts +52 -0
  167. package/dist/utils/network.d.ts.map +1 -0
  168. package/dist/utils/network.js +192 -0
  169. package/dist/utils/network.js.map +1 -0
  170. package/dist/utils/positionCalculations.d.ts +145 -0
  171. package/dist/utils/positionCalculations.d.ts.map +1 -0
  172. package/dist/utils/positionCalculations.js +278 -0
  173. package/dist/utils/positionCalculations.js.map +1 -0
  174. package/dist/utils/validation.d.ts +28 -0
  175. package/dist/utils/validation.d.ts.map +1 -0
  176. package/dist/utils/validation.js +68 -0
  177. package/dist/utils/validation.js.map +1 -0
  178. package/docs/README.md +40 -0
  179. package/docs/api/API.md +831 -0
  180. package/docs/guides/GETTING_STARTED.md +316 -0
  181. package/docs/guides/TRADING_GUIDE.md +677 -0
  182. package/docs/integration/INTEGRATION_GUIDE.md +1679 -0
  183. package/docs/integration/VIEM_INTEGRATION.md +294 -0
  184. package/docs/reference/CLI_QUICK_REFERENCE.md +197 -0
  185. package/docs/reference/TROUBLESHOOTING.md +922 -0
  186. package/package.json +113 -0
  187. package/src/AlphaFuturesClient.ts +158 -0
  188. package/src/abi/.gitkeep +1 -0
  189. package/src/abi/Alpha.json +5987 -0
  190. package/src/abi/README.md +99 -0
  191. package/src/abi/abis.ts +131 -0
  192. package/src/abi/index.ts +13 -0
  193. package/src/config/contracts.config.ts +186 -0
  194. package/src/config/environments/alpha.config.ts +139 -0
  195. package/src/config/environments/beta.config.ts +130 -0
  196. package/src/config/environments/dev.config.ts +122 -0
  197. package/src/config/environments/index.ts +87 -0
  198. package/src/config/environments/localhost.config.ts +153 -0
  199. package/src/config/environments/prod.config.ts +142 -0
  200. package/src/config/index.ts +29 -0
  201. package/src/constants/assets.ts +299 -0
  202. package/src/constants/contracts.ts +64 -0
  203. package/src/constants/index.ts +69 -0
  204. package/src/constants/networks.ts +182 -0
  205. package/src/contracts/index.ts +5 -0
  206. package/src/contracts/viem/AlphaViem.ts +1615 -0
  207. package/src/contracts/viem/PriceOracleViem.ts +272 -0
  208. package/src/contracts/viem/index.ts +11 -0
  209. package/src/errors/index.ts +87 -0
  210. package/src/index.ts +59 -0
  211. package/src/types/VIEM_TYPES_README.md +70 -0
  212. package/src/types/alpha.ts +358 -0
  213. package/src/types/client.ts +27 -0
  214. package/src/types/contracts.ts +74 -0
  215. package/src/types/funding.ts +31 -0
  216. package/src/types/index.ts +108 -0
  217. package/src/types/liquidation.ts +23 -0
  218. package/src/types/margin.ts +34 -0
  219. package/src/types/oracle.ts +24 -0
  220. package/src/types/positions.ts +48 -0
  221. package/src/utils/calculations.ts +175 -0
  222. package/src/utils/errors.ts +147 -0
  223. package/src/utils/events.ts +98 -0
  224. package/src/utils/format.ts +84 -0
  225. package/src/utils/index.ts +10 -0
  226. package/src/utils/network.ts +212 -0
  227. package/src/utils/positionCalculations.ts +317 -0
  228. 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"}