import { Network } from "./networks.js"; /** * Known contract addresses for mainnet */ export declare const MAINNET_CONTRACTS: { readonly SBTC_TOKEN: "SM3VDXK3WZZSA84XXFKAFAF15NNZX32CTSG82JFQ4.sbtc-token"; readonly SBTC_DEPOSIT: "SM3VDXK3WZZSA84XXFKAFAF15NNZX32CTSG82JFQ4.sbtc-deposit"; readonly SBTC_REGISTRY: "SM3VDXK3WZZSA84XXFKAFAF15NNZX32CTSG82JFQ4.sbtc-registry"; readonly SBTC_WITHDRAWAL: "SM3VDXK3WZZSA84XXFKAFAF15NNZX32CTSG82JFQ4.sbtc-withdrawal"; readonly USDCX: "SP120SBRBQJ00MCWS7TM5R8WJNTTKD5K0HFRC2CNE.usdcx"; readonly BNS: "SP000000000000000000002Q6VF78.bns"; readonly POX_4: "SP000000000000000000002Q6VF78.pox-4"; readonly ALEX_AMM_POOL: "SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.amm-swap-pool-v1-1"; readonly ALEX_TOKEN: "SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-alex"; readonly ALEX_WSTX: "SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.token-wstx-v2"; readonly ZEST_MARKET: "SP1A27KFY4XERQCCRCARCYD1CC5N7M6688BSYADJ7.v0-4-market"; readonly ZEST_DATA: "SP1A27KFY4XERQCCRCARCYD1CC5N7M6688BSYADJ7.v0-1-data"; readonly ZEST_MARKET_VAULT: "SP1A27KFY4XERQCCRCARCYD1CC5N7M6688BSYADJ7.v0-market-vault"; readonly ZEST_VAULT_STX: "SP1A27KFY4XERQCCRCARCYD1CC5N7M6688BSYADJ7.v0-vault-stx"; readonly ZEST_VAULT_SBTC: "SP1A27KFY4XERQCCRCARCYD1CC5N7M6688BSYADJ7.v0-vault-sbtc"; readonly ZEST_VAULT_STSTX: "SP1A27KFY4XERQCCRCARCYD1CC5N7M6688BSYADJ7.v0-vault-ststx"; readonly ZEST_VAULT_USDC: "SP1A27KFY4XERQCCRCARCYD1CC5N7M6688BSYADJ7.v0-vault-usdc"; readonly ZEST_VAULT_USDH: "SP1A27KFY4XERQCCRCARCYD1CC5N7M6688BSYADJ7.v0-vault-usdh"; readonly ZEST_VAULT_STSTXBTC: "SP1A27KFY4XERQCCRCARCYD1CC5N7M6688BSYADJ7.v0-vault-ststxbtc"; readonly ZEST_WSTX: "SP1A27KFY4XERQCCRCARCYD1CC5N7M6688BSYADJ7.wstx"; readonly IDENTITY_REGISTRY: "SP1NMR7MY0TJ1QA7WQBZ6504KC79PZNTRQH4YGFJD.identity-registry-v2"; readonly REPUTATION_REGISTRY: "SP1NMR7MY0TJ1QA7WQBZ6504KC79PZNTRQH4YGFJD.reputation-registry-v2"; readonly VALIDATION_REGISTRY: "SP1NMR7MY0TJ1QA7WQBZ6504KC79PZNTRQH4YGFJD.validation-registry-v2"; }; /** * Zest Protocol v2 asset configuration * Each asset has: token, vault, assetId, decimals, symbol, name */ export interface ZestAssetConfig { token: string; /** FT asset name for the underlying (e.g. "sbtc-token" from sbtc-token::sbtc-token). null for wSTX which uses native STX transfers. */ tokenAssetName: string | null; vault: string; assetId: number; decimals: number; symbol: string; name: string; /** Whether the token uses native STX transfers (true for wSTX) */ isNativeStx: boolean; } export declare const ZEST_V2_DEPLOYER = "SP1A27KFY4XERQCCRCARCYD1CC5N7M6688BSYADJ7"; export declare const ZEST_V2_MARKET = "SP1A27KFY4XERQCCRCARCYD1CC5N7M6688BSYADJ7.v0-4-market"; export declare const ZEST_V2_MARKET_VAULT = "SP1A27KFY4XERQCCRCARCYD1CC5N7M6688BSYADJ7.v0-market-vault"; export declare const ZEST_ASSETS: Record; /** * Known contract addresses for testnet */ export declare const TESTNET_CONTRACTS: { readonly SBTC_TOKEN: "ST1F7QA2MDF17S807EPA36TSS8AMEFY4KA9TVGWXT.sbtc-token"; readonly SBTC_DEPOSIT: "ST1F7QA2MDF17S807EPA36TSS8AMEFY4KA9TVGWXT.sbtc-deposit"; readonly SBTC_REGISTRY: "ST1F7QA2MDF17S807EPA36TSS8AMEFY4KA9TVGWXT.sbtc-registry"; readonly SBTC_WITHDRAWAL: "ST1F7QA2MDF17S807EPA36TSS8AMEFY4KA9TVGWXT.sbtc-withdrawal"; readonly USDCX: "ST1F7QA2MDF17S807EPA36TSS8AMEFY4KA9TVGWXT.usdcx"; readonly BNS: "ST000000000000000000002AMW42H.bns"; readonly POX_4: "ST000000000000000000002AMW42H.pox-4"; readonly IDENTITY_REGISTRY: "ST3YT0XW92E6T2FE59B2G5N2WNNFSBZ6MZKQS5D18.identity-registry-v2"; readonly REPUTATION_REGISTRY: "ST3YT0XW92E6T2FE59B2G5N2WNNFSBZ6MZKQS5D18.reputation-registry-v2"; readonly VALIDATION_REGISTRY: "ST3YT0XW92E6T2FE59B2G5N2WNNFSBZ6MZKQS5D18.validation-registry-v2"; }; /** * Get contract addresses for the specified network */ export declare function getContracts(network: Network): { readonly SBTC_TOKEN: "SM3VDXK3WZZSA84XXFKAFAF15NNZX32CTSG82JFQ4.sbtc-token"; readonly SBTC_DEPOSIT: "SM3VDXK3WZZSA84XXFKAFAF15NNZX32CTSG82JFQ4.sbtc-deposit"; readonly SBTC_REGISTRY: "SM3VDXK3WZZSA84XXFKAFAF15NNZX32CTSG82JFQ4.sbtc-registry"; readonly SBTC_WITHDRAWAL: "SM3VDXK3WZZSA84XXFKAFAF15NNZX32CTSG82JFQ4.sbtc-withdrawal"; readonly USDCX: "SP120SBRBQJ00MCWS7TM5R8WJNTTKD5K0HFRC2CNE.usdcx"; readonly BNS: "SP000000000000000000002Q6VF78.bns"; readonly POX_4: "SP000000000000000000002Q6VF78.pox-4"; readonly ALEX_AMM_POOL: "SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.amm-swap-pool-v1-1"; readonly ALEX_TOKEN: "SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-alex"; readonly ALEX_WSTX: "SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.token-wstx-v2"; readonly ZEST_MARKET: "SP1A27KFY4XERQCCRCARCYD1CC5N7M6688BSYADJ7.v0-4-market"; readonly ZEST_DATA: "SP1A27KFY4XERQCCRCARCYD1CC5N7M6688BSYADJ7.v0-1-data"; readonly ZEST_MARKET_VAULT: "SP1A27KFY4XERQCCRCARCYD1CC5N7M6688BSYADJ7.v0-market-vault"; readonly ZEST_VAULT_STX: "SP1A27KFY4XERQCCRCARCYD1CC5N7M6688BSYADJ7.v0-vault-stx"; readonly ZEST_VAULT_SBTC: "SP1A27KFY4XERQCCRCARCYD1CC5N7M6688BSYADJ7.v0-vault-sbtc"; readonly ZEST_VAULT_STSTX: "SP1A27KFY4XERQCCRCARCYD1CC5N7M6688BSYADJ7.v0-vault-ststx"; readonly ZEST_VAULT_USDC: "SP1A27KFY4XERQCCRCARCYD1CC5N7M6688BSYADJ7.v0-vault-usdc"; readonly ZEST_VAULT_USDH: "SP1A27KFY4XERQCCRCARCYD1CC5N7M6688BSYADJ7.v0-vault-usdh"; readonly ZEST_VAULT_STSTXBTC: "SP1A27KFY4XERQCCRCARCYD1CC5N7M6688BSYADJ7.v0-vault-ststxbtc"; readonly ZEST_WSTX: "SP1A27KFY4XERQCCRCARCYD1CC5N7M6688BSYADJ7.wstx"; readonly IDENTITY_REGISTRY: "SP1NMR7MY0TJ1QA7WQBZ6504KC79PZNTRQH4YGFJD.identity-registry-v2"; readonly REPUTATION_REGISTRY: "SP1NMR7MY0TJ1QA7WQBZ6504KC79PZNTRQH4YGFJD.reputation-registry-v2"; readonly VALIDATION_REGISTRY: "SP1NMR7MY0TJ1QA7WQBZ6504KC79PZNTRQH4YGFJD.validation-registry-v2"; } | { readonly SBTC_TOKEN: "ST1F7QA2MDF17S807EPA36TSS8AMEFY4KA9TVGWXT.sbtc-token"; readonly SBTC_DEPOSIT: "ST1F7QA2MDF17S807EPA36TSS8AMEFY4KA9TVGWXT.sbtc-deposit"; readonly SBTC_REGISTRY: "ST1F7QA2MDF17S807EPA36TSS8AMEFY4KA9TVGWXT.sbtc-registry"; readonly SBTC_WITHDRAWAL: "ST1F7QA2MDF17S807EPA36TSS8AMEFY4KA9TVGWXT.sbtc-withdrawal"; readonly USDCX: "ST1F7QA2MDF17S807EPA36TSS8AMEFY4KA9TVGWXT.usdcx"; readonly BNS: "ST000000000000000000002AMW42H.bns"; readonly POX_4: "ST000000000000000000002AMW42H.pox-4"; readonly IDENTITY_REGISTRY: "ST3YT0XW92E6T2FE59B2G5N2WNNFSBZ6MZKQS5D18.identity-registry-v2"; readonly REPUTATION_REGISTRY: "ST3YT0XW92E6T2FE59B2G5N2WNNFSBZ6MZKQS5D18.reputation-registry-v2"; readonly VALIDATION_REGISTRY: "ST3YT0XW92E6T2FE59B2G5N2WNNFSBZ6MZKQS5D18.validation-registry-v2"; }; /** * Parse a contract identifier into address and name */ export declare function parseContractId(contractId: string): { address: string; name: string; }; /** * Fallback token contract IDs (used only when dynamic resolution fails) * Prefer using resolveTokenSymbol() which checks user balances first */ export declare const WELL_KNOWN_TOKENS: { readonly mainnet: { readonly STX: "native"; readonly sBTC: "SM3VDXK3WZZSA84XXFKAFAF15NNZX32CTSG82JFQ4.sbtc-token"; readonly USDCx: "SP120SBRBQJ00MCWS7TM5R8WJNTTKD5K0HFRC2CNE.usdcx"; readonly ALEX: "SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-alex"; readonly wSTX: "SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.token-wstx-v2"; }; readonly testnet: { readonly STX: "native"; readonly sBTC: "ST1F7QA2MDF17S807EPA36TSS8AMEFY4KA9TVGWXT.sbtc-token"; readonly USDCx: "ST1F7QA2MDF17S807EPA36TSS8AMEFY4KA9TVGWXT.usdcx"; }; }; /** * Get ALEX DEX contract addresses for the network * Note: Most ALEX operations use the alex-sdk, but we need the pool contract for queries */ export declare function getAlexContracts(network: Network): { ammPool: "SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.amm-swap-pool-v1-1"; } | null; /** * Get Zest Protocol v2 contract addresses for the network */ export declare function getZestContracts(network: Network): { market: "SP1A27KFY4XERQCCRCARCYD1CC5N7M6688BSYADJ7.v0-4-market"; data: "SP1A27KFY4XERQCCRCARCYD1CC5N7M6688BSYADJ7.v0-1-data"; marketVault: "SP1A27KFY4XERQCCRCARCYD1CC5N7M6688BSYADJ7.v0-market-vault"; } | null; export declare function getWellKnownTokens(network: Network): { readonly STX: "native"; readonly sBTC: "SM3VDXK3WZZSA84XXFKAFAF15NNZX32CTSG82JFQ4.sbtc-token"; readonly USDCx: "SP120SBRBQJ00MCWS7TM5R8WJNTTKD5K0HFRC2CNE.usdcx"; readonly ALEX: "SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-alex"; readonly wSTX: "SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.token-wstx-v2"; } | { readonly STX: "native"; readonly sBTC: "ST1F7QA2MDF17S807EPA36TSS8AMEFY4KA9TVGWXT.sbtc-token"; readonly USDCx: "ST1F7QA2MDF17S807EPA36TSS8AMEFY4KA9TVGWXT.usdcx"; }; /** * Bitflow DEX contract addresses */ export declare const BITFLOW_CONTRACTS: { readonly mainnet: { readonly PRIMARY: "SPQC38PW542EQJ5M11CR25P7BS1CA6QT4TBXGB3M"; readonly XYK: "SM1793C4R5PZ4NS4VQ4WMP7SKKYVH8JZEWSZ9HCCR"; }; readonly testnet: { readonly PRIMARY: "STRP7MYBHSMFH5EGN3HGX6KNQ7QBHVTBPF1669DW"; readonly XYK: null; }; }; /** * Bitflow configuration */ export interface BitflowConfig { apiHost: string; apiKey: string | undefined; readOnlyCallApiHost: string; keeperApiHost?: string; keeperApiKey?: string; } /** * Get Bitflow configuration from environment. * * As of @bitflowlabs/core-sdk v2.4.2, API keys are fully optional. * All public endpoints (tokens, quotes, routes, swaps) are accessible * without a key at 500 req/min per IP. Keys only needed for higher limits. * * Optional env vars: * - BITFLOW_API_KEY: Core API key (higher rate limits) * - BITFLOW_API_HOST: Override default API host * - BITFLOW_KEEPER_API_KEY: Keeper automation features * - BITFLOW_KEEPER_API_HOST: Override Keeper API host * - BITFLOW_READONLY_API_HOST: Override Stacks read-only node (default: api.hiro.so) */ export declare function getBitflowConfig(): BitflowConfig; /** * Get Bitflow contract addresses for the network */ export declare function getBitflowContracts(network: Network): { readonly PRIMARY: "SPQC38PW542EQJ5M11CR25P7BS1CA6QT4TBXGB3M"; readonly XYK: "SM1793C4R5PZ4NS4VQ4WMP7SKKYVH8JZEWSZ9HCCR"; } | { readonly PRIMARY: "STRP7MYBHSMFH5EGN3HGX6KNQ7QBHVTBPF1669DW"; readonly XYK: null; }; /** * Bitflow public API base URL (no API key required) */ export declare const BITFLOW_PUBLIC_API = "https://bitflow-sdk-api-gateway-7owjsmt8.uc.gateway.dev"; /** * Get ERC-8004 contract addresses for the network */ export declare function getErc8004Contracts(network: Network): { identityRegistry: "SP1NMR7MY0TJ1QA7WQBZ6504KC79PZNTRQH4YGFJD.identity-registry-v2" | "ST3YT0XW92E6T2FE59B2G5N2WNNFSBZ6MZKQS5D18.identity-registry-v2"; reputationRegistry: "SP1NMR7MY0TJ1QA7WQBZ6504KC79PZNTRQH4YGFJD.reputation-registry-v2" | "ST3YT0XW92E6T2FE59B2G5N2WNNFSBZ6MZKQS5D18.reputation-registry-v2"; validationRegistry: "SP1NMR7MY0TJ1QA7WQBZ6504KC79PZNTRQH4YGFJD.validation-registry-v2" | "ST3YT0XW92E6T2FE59B2G5N2WNNFSBZ6MZKQS5D18.validation-registry-v2"; }; //# sourceMappingURL=contracts.d.ts.map