@allbridge/bridge-core-sdk 3.27.0-alpha.3 → 3.27.0-alpha.5

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 (34) hide show
  1. package/dist/browser/index.js +2 -2
  2. package/dist/browser/index.js.map +4 -4
  3. package/dist/cjs/index.js +2 -2
  4. package/dist/cjs/index.js.map +4 -4
  5. package/dist/esm/index.js +2 -2
  6. package/dist/esm/index.js.map +4 -4
  7. package/dist/src/index.d.ts +5 -4
  8. package/dist/src/index.js +5 -11
  9. package/dist/src/index.js.map +1 -1
  10. package/dist/src/services/bridge/index.js +1 -1
  11. package/dist/src/services/bridge/index.js.map +1 -1
  12. package/dist/src/services/bridge/stx/index.d.ts +4 -3
  13. package/dist/src/services/bridge/stx/index.js +14 -8
  14. package/dist/src/services/bridge/stx/index.js.map +1 -1
  15. package/dist/src/services/liquidity-pool/index.js +1 -1
  16. package/dist/src/services/liquidity-pool/index.js.map +1 -1
  17. package/dist/src/services/liquidity-pool/stx/index.d.ts +3 -1
  18. package/dist/src/services/liquidity-pool/stx/index.js +13 -7
  19. package/dist/src/services/liquidity-pool/stx/index.js.map +1 -1
  20. package/dist/src/services/token/index.js +1 -1
  21. package/dist/src/services/token/index.js.map +1 -1
  22. package/dist/src/services/token/stx/index.d.ts +4 -1
  23. package/dist/src/services/token/stx/index.js +11 -5
  24. package/dist/src/services/token/stx/index.js.map +1 -1
  25. package/dist/src/services/utils/stx/get-token-name.d.ts +2 -0
  26. package/dist/src/services/utils/stx/get-token-name.js +15 -0
  27. package/dist/src/services/utils/stx/get-token-name.js.map +1 -0
  28. package/dist/src/version.d.ts +1 -1
  29. package/dist/src/version.js +1 -1
  30. package/dist/src/version.js.map +1 -1
  31. package/package.json +1 -1
  32. package/dist/src/services/utils/stx/get-network.d.ts +0 -2
  33. package/dist/src/services/utils/stx/get-network.js +0 -11
  34. package/dist/src/services/utils/stx/get-network.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/liquidity-pool/stx/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { ClarigenClient, contractFactory } from \"@clarigen/core\";\nimport {\n makeRandomPrivKey,\n makeUnsignedContractCall,\n PostConditionMode,\n privateKeyToPublic,\n} from \"@stacks/transactions\";\nimport { Big } from \"big.js\";\nimport { ChainType } from \"../../../chains/chain.enums\";\nimport { AllbridgeCoreClient } from \"../../../client/core-api/core-client-base\";\nimport { SdkError } from \"../../../exceptions\";\nimport { PoolInfo, TokenWithChainDetails } from \"../../../tokens-info\";\nimport { calculatePoolInfoImbalance, fromSystemPrecision } from \"../../../utils/calculation\";\nimport { RawStxTransaction } from \"../../models\";\nimport { stacksContracts as contracts } from \"../../models/stx/clarigen-types\";\nimport { getStxNetwork } from \"../../utils/stx/get-network\";\nimport { getFungiblePostCondition } from \"../../utils/stx/post-conditions\";\nimport {\n ChainPoolService,\n LiquidityPoolsParams,\n LiquidityPoolsParamsWithAmount,\n UserBalance,\n UserBalanceInfo,\n} from \"../models\";\n\nexport class StxPoolService extends ChainPoolService {\n chainType: ChainType.STX = ChainType.STX;\n\n private P = 48;\n private A = \"20\";\n private client: ClarigenClient;\n\n constructor(\n public nodeRpcUrl: string,\n public api: AllbridgeCoreClient\n ) {\n super();\n const network = getStxNetwork(this.nodeRpcUrl);\n this.client = new ClarigenClient(network);\n }\n\n async getUserBalanceInfo(accountAddress: string, token: TokenWithChainDetails): Promise<UserBalanceInfo> {\n const pool = contractFactory(contracts.pool, token.poolAddress);\n\n const lpAmount = await this.client.ro(pool.getLpBalance({ user: accountAddress }));\n const rewardDebt = await this.client.ro(pool.getUserRewardDebt({ user: accountAddress }));\n\n return new UserBalance({ lpAmount: lpAmount.toString(), rewardDebt: rewardDebt.toString() });\n }\n\n async getPoolInfoFromChain(token: TokenWithChainDetails): Promise<PoolInfo> {\n const pool = contractFactory(contracts.pool, token.poolAddress);\n\n const [dValueRaw, tokenBalanceRaw, vUsdBalanceRaw, totalLpAmountRaw, accRewardPerSharePRaw] = await Promise.all([\n this.client.ro(pool.getD()),\n this.client.ro(pool.getTokenBalance()),\n this.client.ro(pool.getVusdBalance()),\n this.client.ro(pool.getLpTotalSupply()),\n this.client.ro(pool.getAccRewardPerShareP()),\n ]);\n\n const dValue = dValueRaw.toString();\n const tokenBalance = tokenBalanceRaw.toString();\n const vUsdBalance = vUsdBalanceRaw.toString();\n const totalLpAmount = totalLpAmountRaw.toString();\n const accRewardPerShareP = accRewardPerSharePRaw.toString();\n if (dValue && tokenBalance && vUsdBalance && totalLpAmount && accRewardPerShareP) {\n const imbalance = calculatePoolInfoImbalance({ tokenBalance, vUsdBalance });\n return {\n aValue: this.A,\n dValue,\n tokenBalance,\n vUsdBalance,\n totalLpAmount,\n accRewardPerShareP,\n p: this.P,\n imbalance,\n };\n }\n throw new SdkError(\"Unable to pool info from chain\");\n }\n\n async buildRawTransactionDeposit(params: LiquidityPoolsParamsWithAmount): Promise<RawStxTransaction> {\n const pool = contractFactory(contracts.pool, params.token.poolAddress);\n\n const { contractAddress, contractName, functionName, functionArgs } = pool.deposit({\n amount: BigInt(params.amount),\n ftRef: params.token.tokenAddress,\n });\n\n const privateKey = makeRandomPrivKey();\n const publicKey = privateKeyToPublic(privateKey);\n\n const userPostFungibleCondition = getFungiblePostCondition(\n params.amount,\n \"lte\",\n params.accountAddress,\n params.token.tokenAddress,\n \"example-token\"\n );\n\n const claimRewardsPostFungibleCondition = getFungiblePostCondition(\n 0,\n \"gte\",\n params.token.poolAddress,\n params.token.tokenAddress,\n \"example-token\"\n );\n\n const txOptions = {\n contractAddress,\n contractName,\n functionName,\n functionArgs,\n publicKey,\n validateWithAbi: true,\n network: this.client.network,\n postConditions: [userPostFungibleCondition, claimRewardsPostFungibleCondition],\n postConditionMode: PostConditionMode.Deny,\n };\n const transaction = await makeUnsignedContractCall(txOptions);\n return transaction.serialize();\n }\n\n async buildRawTransactionWithdraw(params: LiquidityPoolsParamsWithAmount): Promise<RawStxTransaction> {\n const pool = contractFactory(contracts.pool, params.token.poolAddress);\n\n const { contractAddress, contractName, functionName, functionArgs } = pool.withdraw({\n amountLp: BigInt(params.amount),\n ftRef: params.token.tokenAddress,\n });\n\n const privateKey = makeRandomPrivKey();\n const publicKey = privateKeyToPublic(privateKey);\n\n const poolPostFungibleCondition = getFungiblePostCondition(\n fromSystemPrecision(params.amount, params.token.decimals).toFixed(0, Big.roundDown),\n \"gte\",\n params.token.poolAddress,\n params.token.tokenAddress,\n \"example-token\"\n );\n const txOptions = {\n contractAddress,\n contractName,\n functionName,\n functionArgs,\n publicKey,\n validateWithAbi: true,\n network: this.client.network,\n postConditions: [poolPostFungibleCondition],\n postConditionMode: PostConditionMode.Deny,\n };\n const transaction = await makeUnsignedContractCall(txOptions);\n return transaction.serialize();\n }\n\n async buildRawTransactionClaimRewards(params: LiquidityPoolsParams): Promise<RawStxTransaction> {\n const pool = contractFactory(contracts.pool, params.token.poolAddress);\n\n const { contractAddress, contractName, functionName, functionArgs } = pool.claimRewards({\n ftRef: params.token.tokenAddress,\n });\n\n const privateKey = makeRandomPrivKey();\n const publicKey = privateKeyToPublic(privateKey);\n\n const poolPostFungibleCondition = getFungiblePostCondition(\n 0,\n \"gte\",\n params.token.poolAddress,\n params.token.tokenAddress,\n \"example-token\"\n );\n const txOptions = {\n contractAddress,\n contractName,\n functionName,\n functionArgs,\n publicKey,\n validateWithAbi: true,\n network: this.client.network,\n postConditions: [poolPostFungibleCondition],\n postConditionMode: PostConditionMode.Deny,\n };\n const transaction = await makeUnsignedContractCall(txOptions);\n return transaction.serialize();\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/liquidity-pool/stx/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { ClarigenClient, contractFactory } from \"@clarigen/core\";\nimport { createNetwork } from \"@stacks/network\";\nimport {\n makeRandomPrivKey,\n makeUnsignedContractCall,\n PostConditionMode,\n privateKeyToPublic,\n} from \"@stacks/transactions\";\nimport { Big } from \"big.js\";\nimport { ChainType } from \"../../../chains/chain.enums\";\nimport { AllbridgeCoreClient } from \"../../../client/core-api/core-client-base\";\nimport { SdkError } from \"../../../exceptions\";\nimport { AllbridgeCoreSdkOptions } from \"../../../index\";\nimport { PoolInfo, TokenWithChainDetails } from \"../../../tokens-info\";\nimport { calculatePoolInfoImbalance, fromSystemPrecision } from \"../../../utils/calculation\";\nimport { RawStxTransaction } from \"../../models\";\nimport { stacksContracts as contracts } from \"../../models/stx/clarigen-types\";\nimport { getTokenName } from \"../../utils/stx/get-token-name\";\nimport { getFungiblePostCondition } from \"../../utils/stx/post-conditions\";\nimport {\n ChainPoolService,\n LiquidityPoolsParams,\n LiquidityPoolsParamsWithAmount,\n UserBalance,\n UserBalanceInfo,\n} from \"../models\";\n\nexport class StxPoolService extends ChainPoolService {\n chainType: ChainType.STX = ChainType.STX;\n\n private P = 48;\n private A = \"20\";\n private client: ClarigenClient;\n\n constructor(\n public nodeRpcUrl: string,\n public params: AllbridgeCoreSdkOptions,\n public api: AllbridgeCoreClient\n ) {\n super();\n const network = createNetwork({\n network: this.params.stxIsTestnet ? \"testnet\" : \"mainnet\",\n client: { baseUrl: this.nodeRpcUrl },\n });\n this.client = new ClarigenClient(network);\n }\n\n async getUserBalanceInfo(accountAddress: string, token: TokenWithChainDetails): Promise<UserBalanceInfo> {\n const pool = contractFactory(contracts.pool, token.poolAddress);\n\n const lpAmount = await this.client.ro(pool.getLpBalance({ user: accountAddress }));\n const rewardDebt = await this.client.ro(pool.getUserRewardDebt({ user: accountAddress }));\n\n return new UserBalance({ lpAmount: lpAmount.toString(), rewardDebt: rewardDebt.toString() });\n }\n\n async getPoolInfoFromChain(token: TokenWithChainDetails): Promise<PoolInfo> {\n const pool = contractFactory(contracts.pool, token.poolAddress);\n\n const [dValueRaw, tokenBalanceRaw, vUsdBalanceRaw, totalLpAmountRaw, accRewardPerSharePRaw] = await Promise.all([\n this.client.ro(pool.getD()),\n this.client.ro(pool.getTokenBalance()),\n this.client.ro(pool.getVusdBalance()),\n this.client.ro(pool.getLpTotalSupply()),\n this.client.ro(pool.getAccRewardPerShareP()),\n ]);\n\n const dValue = dValueRaw.toString();\n const tokenBalance = tokenBalanceRaw.toString();\n const vUsdBalance = vUsdBalanceRaw.toString();\n const totalLpAmount = totalLpAmountRaw.toString();\n const accRewardPerShareP = accRewardPerSharePRaw.toString();\n if (dValue && tokenBalance && vUsdBalance && totalLpAmount && accRewardPerShareP) {\n const imbalance = calculatePoolInfoImbalance({ tokenBalance, vUsdBalance });\n return {\n aValue: this.A,\n dValue,\n tokenBalance,\n vUsdBalance,\n totalLpAmount,\n accRewardPerShareP,\n p: this.P,\n imbalance,\n };\n }\n throw new SdkError(\"Unable to pool info from chain\");\n }\n\n async buildRawTransactionDeposit(params: LiquidityPoolsParamsWithAmount): Promise<RawStxTransaction> {\n const pool = contractFactory(contracts.pool, params.token.poolAddress);\n\n const { contractAddress, contractName, functionName, functionArgs } = pool.deposit({\n amount: BigInt(params.amount),\n ftRef: params.token.tokenAddress,\n });\n\n const privateKey = makeRandomPrivKey();\n const publicKey = privateKeyToPublic(privateKey);\n\n const userPostFungibleCondition = getFungiblePostCondition(\n params.amount,\n \"lte\",\n params.accountAddress,\n params.token.tokenAddress,\n getTokenName(params.token)\n );\n\n const claimRewardsPostFungibleCondition = getFungiblePostCondition(\n 0,\n \"gte\",\n params.token.poolAddress,\n params.token.tokenAddress,\n getTokenName(params.token)\n );\n\n const txOptions = {\n contractAddress,\n contractName,\n functionName,\n functionArgs,\n publicKey,\n validateWithAbi: true,\n network: this.client.network,\n postConditions: [userPostFungibleCondition, claimRewardsPostFungibleCondition],\n postConditionMode: PostConditionMode.Deny,\n };\n const transaction = await makeUnsignedContractCall(txOptions);\n return transaction.serialize();\n }\n\n async buildRawTransactionWithdraw(params: LiquidityPoolsParamsWithAmount): Promise<RawStxTransaction> {\n const pool = contractFactory(contracts.pool, params.token.poolAddress);\n\n const { contractAddress, contractName, functionName, functionArgs } = pool.withdraw({\n amountLp: BigInt(params.amount),\n ftRef: params.token.tokenAddress,\n });\n\n const privateKey = makeRandomPrivKey();\n const publicKey = privateKeyToPublic(privateKey);\n\n const poolPostFungibleCondition = getFungiblePostCondition(\n fromSystemPrecision(params.amount, params.token.decimals).toFixed(0, Big.roundDown),\n \"gte\",\n params.token.poolAddress,\n params.token.tokenAddress,\n getTokenName(params.token)\n );\n const txOptions = {\n contractAddress,\n contractName,\n functionName,\n functionArgs,\n publicKey,\n validateWithAbi: true,\n network: this.client.network,\n postConditions: [poolPostFungibleCondition],\n postConditionMode: PostConditionMode.Deny,\n };\n const transaction = await makeUnsignedContractCall(txOptions);\n return transaction.serialize();\n }\n\n async buildRawTransactionClaimRewards(params: LiquidityPoolsParams): Promise<RawStxTransaction> {\n const pool = contractFactory(contracts.pool, params.token.poolAddress);\n\n const { contractAddress, contractName, functionName, functionArgs } = pool.claimRewards({\n ftRef: params.token.tokenAddress,\n });\n\n const privateKey = makeRandomPrivKey();\n const publicKey = privateKeyToPublic(privateKey);\n\n const poolPostFungibleCondition = getFungiblePostCondition(\n 0,\n \"gte\",\n params.token.poolAddress,\n params.token.tokenAddress,\n getTokenName(params.token)\n );\n const txOptions = {\n contractAddress,\n contractName,\n functionName,\n functionArgs,\n publicKey,\n validateWithAbi: true,\n network: this.client.network,\n postConditions: [poolPostFungibleCondition],\n postConditionMode: PostConditionMode.Deny,\n };\n const transaction = await makeUnsignedContractCall(txOptions);\n return transaction.serialize();\n }\n}\n"]}
@@ -111,7 +111,7 @@ class DefaultTokenService {
111
111
  }
112
112
  case index_1.ChainType.STX: {
113
113
  const nodeRpcUrl = this.nodeRpcUrlsConfig.getNodeRpcUrl(chainSymbol);
114
- return new stx_1.StxTokenService(nodeRpcUrl, this.api);
114
+ return new stx_1.StxTokenService(nodeRpcUrl, this.params, this.api);
115
115
  }
116
116
  }
117
117
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/token/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { AlgorandClient } from \"@algorandfoundation/algokit-utils\";\nimport { Algodv2 } from \"algosdk\";\nimport { Big } from \"big.js\";\nimport { TronWeb } from \"tronweb\";\nimport { Web3 } from \"web3\";\nimport { Chains } from \"../../chains\";\nimport { AllbridgeCoreClient } from \"../../client/core-api/core-client-base\";\nimport { AllbridgeCoreSdkOptions, ChainType, EssentialWeb3 } from \"../../index\";\nimport { AmountFormat, AmountFormatted } from \"../../models\";\nimport { convertFloatAmountToInt, convertIntAmountToFloat } from \"../../utils/calculation\";\nimport { validateAmountDecimals, validateAmountGtZero } from \"../../utils/utils\";\nimport { GetNativeTokenBalanceParams } from \"../bridge/models\";\nimport { NodeRpcUrlsConfig } from \"../index\";\nimport { Provider, RawTransaction, TransactionResponse } from \"../models\";\nimport { AlgTokenService } from \"./alg\";\nimport { EvmTokenService } from \"./evm\";\nimport {\n ApproveParams,\n ApproveParamsDto,\n ChainTokenService,\n CheckAllowanceParams,\n CheckAllowanceParamsDto,\n GetAllowanceParams,\n GetTokenBalanceParams,\n} from \"./models\";\nimport { SolanaTokenService } from \"./sol\";\nimport { SrbTokenService } from \"./srb\";\nimport { StxTokenService } from \"./stx\";\nimport { SuiTokenService } from \"./sui\";\nimport { TronTokenService } from \"./trx\";\n\nexport interface TokenService {\n getAllowance(params: GetAllowanceParams, provider?: Provider): Promise<string>;\n\n checkAllowance(params: CheckAllowanceParams, provider?: Provider): Promise<boolean>;\n\n approve(provider: Provider, approveData: ApproveParams): Promise<TransactionResponse>;\n\n buildRawTransactionApprove(approveData: ApproveParams, provider?: Provider): Promise<RawTransaction>;\n\n getTokenBalance(params: GetTokenBalanceParams, provider?: Provider): Promise<string>;\n\n getNativeTokenBalance(params: GetNativeTokenBalanceParams, provider?: Provider): Promise<AmountFormatted>;\n}\n\nexport class DefaultTokenService implements TokenService {\n constructor(\n readonly api: AllbridgeCoreClient,\n readonly nodeRpcUrlsConfig: NodeRpcUrlsConfig,\n readonly params: AllbridgeCoreSdkOptions\n ) {}\n\n async getAllowance(params: GetAllowanceParams, provider?: Provider): Promise<string> {\n const allowanceInt = await this.getChainTokenService(params.token.chainSymbol, params.owner, provider).getAllowance(\n params\n );\n return convertIntAmountToFloat(allowanceInt, params.token.decimals).toFixed();\n }\n\n async checkAllowance(params: CheckAllowanceParams, provider?: Provider): Promise<boolean> {\n validateAmountGtZero(params.amount);\n validateAmountDecimals(\"amount\", params.amount, params.token.decimals);\n return this.getChainTokenService(params.token.chainSymbol, params.owner, provider).checkAllowance(\n this.prepareCheckAllowanceParams(params)\n );\n }\n\n async approve(provider: Provider, approveData: ApproveParams): Promise<TransactionResponse> {\n if (approveData.amount) {\n validateAmountGtZero(approveData.amount);\n validateAmountDecimals(\"amount\", approveData.amount, approveData.token.decimals);\n }\n return this.getChainTokenService(approveData.token.chainSymbol, approveData.owner, provider).approve(\n this.prepareApproveParams(approveData)\n );\n }\n\n async buildRawTransactionApprove(approveData: ApproveParams, provider?: Provider): Promise<RawTransaction> {\n if (approveData.amount) {\n validateAmountGtZero(approveData.amount);\n validateAmountDecimals(\"amount\", approveData.amount, approveData.token.decimals);\n }\n return this.getChainTokenService(\n approveData.token.chainSymbol,\n approveData.owner,\n provider\n ).buildRawTransactionApprove(this.prepareApproveParams(approveData));\n }\n\n async getTokenBalance(params: GetTokenBalanceParams, provider?: Provider): Promise<string> {\n const tokenBalance = await this.getChainTokenService(\n params.token.chainSymbol,\n params.account,\n provider\n ).getTokenBalance(params);\n if (params.token.decimals) {\n return convertIntAmountToFloat(tokenBalance, params.token.decimals).toFixed();\n }\n return tokenBalance;\n }\n\n async getNativeTokenBalance(params: GetNativeTokenBalanceParams, provider?: Provider): Promise<AmountFormatted> {\n const tokenBalance = await this.getChainTokenService(\n params.chainSymbol,\n params.account,\n provider\n ).getNativeTokenBalance(params);\n return {\n [AmountFormat.INT]: tokenBalance,\n [AmountFormat.FLOAT]: convertIntAmountToFloat(\n tokenBalance,\n Chains.getChainDecimalsByType(Chains.getChainProperty(params.chainSymbol).chainType)\n ).toFixed(),\n };\n }\n\n private getChainTokenService(chainSymbol: string, ownerAddress: string, provider?: Provider): ChainTokenService {\n switch (Chains.getChainProperty(chainSymbol).chainType) {\n case ChainType.EVM: {\n if (provider) {\n return new EvmTokenService(provider as EssentialWeb3, this.api);\n } else {\n const nodeRpcUrl = this.nodeRpcUrlsConfig.getNodeRpcUrl(chainSymbol);\n return new EvmTokenService(new Web3(nodeRpcUrl), this.api);\n }\n }\n case ChainType.TRX: {\n if (provider) {\n return new TronTokenService(provider as TronWeb, this.api);\n } else {\n const nodeRpcUrl = this.nodeRpcUrlsConfig.getNodeRpcUrl(chainSymbol);\n const tronWeb = new TronWeb({ fullHost: nodeRpcUrl });\n tronWeb.setAddress(ownerAddress);\n return new TronTokenService(tronWeb, this.api);\n }\n }\n case ChainType.SOLANA: {\n const nodeRpcUrl = this.nodeRpcUrlsConfig.getNodeRpcUrl(chainSymbol);\n return new SolanaTokenService(nodeRpcUrl, this.api);\n }\n case ChainType.SRB: {\n return new SrbTokenService(this.nodeRpcUrlsConfig, this.params, this.api);\n }\n case ChainType.SUI: {\n return new SuiTokenService(this.nodeRpcUrlsConfig.getNodeRpcUrl(chainSymbol), this.api);\n }\n case ChainType.ALG: {\n if (provider) {\n const algod = provider as Algodv2;\n const algorand = AlgorandClient.fromClients({ algod });\n return new AlgTokenService(algorand, this.api);\n } else {\n const nodeRpcUrl = this.nodeRpcUrlsConfig.getNodeRpcUrl(chainSymbol);\n const algorand = AlgorandClient.fromConfig({\n algodConfig: { server: nodeRpcUrl },\n });\n return new AlgTokenService(algorand, this.api);\n }\n }\n case ChainType.STX: {\n const nodeRpcUrl = this.nodeRpcUrlsConfig.getNodeRpcUrl(chainSymbol);\n return new StxTokenService(nodeRpcUrl, this.api);\n }\n }\n }\n\n prepareCheckAllowanceParams(params: CheckAllowanceParams): CheckAllowanceParamsDto {\n return {\n ...params,\n amount: convertFloatAmountToInt(params.amount, params.token.decimals),\n };\n }\n\n private prepareApproveParams(approveData: ApproveParams): ApproveParamsDto {\n return {\n tokenAddress: approveData.token.tokenAddress,\n owner: approveData.owner,\n spender: approveData.spender,\n chainSymbol: approveData.token.chainSymbol,\n amount: approveData.amount == undefined ? undefined : Big(approveData.amount).toFixed(),\n };\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/token/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { AlgorandClient } from \"@algorandfoundation/algokit-utils\";\nimport { Algodv2 } from \"algosdk\";\nimport { Big } from \"big.js\";\nimport { TronWeb } from \"tronweb\";\nimport { Web3 } from \"web3\";\nimport { Chains } from \"../../chains\";\nimport { AllbridgeCoreClient } from \"../../client/core-api/core-client-base\";\nimport { AllbridgeCoreSdkOptions, ChainType, EssentialWeb3 } from \"../../index\";\nimport { AmountFormat, AmountFormatted } from \"../../models\";\nimport { convertFloatAmountToInt, convertIntAmountToFloat } from \"../../utils/calculation\";\nimport { validateAmountDecimals, validateAmountGtZero } from \"../../utils/utils\";\nimport { GetNativeTokenBalanceParams } from \"../bridge/models\";\nimport { NodeRpcUrlsConfig } from \"../index\";\nimport { Provider, RawTransaction, TransactionResponse } from \"../models\";\nimport { AlgTokenService } from \"./alg\";\nimport { EvmTokenService } from \"./evm\";\nimport {\n ApproveParams,\n ApproveParamsDto,\n ChainTokenService,\n CheckAllowanceParams,\n CheckAllowanceParamsDto,\n GetAllowanceParams,\n GetTokenBalanceParams,\n} from \"./models\";\nimport { SolanaTokenService } from \"./sol\";\nimport { SrbTokenService } from \"./srb\";\nimport { StxTokenService } from \"./stx\";\nimport { SuiTokenService } from \"./sui\";\nimport { TronTokenService } from \"./trx\";\n\nexport interface TokenService {\n getAllowance(params: GetAllowanceParams, provider?: Provider): Promise<string>;\n\n checkAllowance(params: CheckAllowanceParams, provider?: Provider): Promise<boolean>;\n\n approve(provider: Provider, approveData: ApproveParams): Promise<TransactionResponse>;\n\n buildRawTransactionApprove(approveData: ApproveParams, provider?: Provider): Promise<RawTransaction>;\n\n getTokenBalance(params: GetTokenBalanceParams, provider?: Provider): Promise<string>;\n\n getNativeTokenBalance(params: GetNativeTokenBalanceParams, provider?: Provider): Promise<AmountFormatted>;\n}\n\nexport class DefaultTokenService implements TokenService {\n constructor(\n readonly api: AllbridgeCoreClient,\n readonly nodeRpcUrlsConfig: NodeRpcUrlsConfig,\n readonly params: AllbridgeCoreSdkOptions\n ) {}\n\n async getAllowance(params: GetAllowanceParams, provider?: Provider): Promise<string> {\n const allowanceInt = await this.getChainTokenService(params.token.chainSymbol, params.owner, provider).getAllowance(\n params\n );\n return convertIntAmountToFloat(allowanceInt, params.token.decimals).toFixed();\n }\n\n async checkAllowance(params: CheckAllowanceParams, provider?: Provider): Promise<boolean> {\n validateAmountGtZero(params.amount);\n validateAmountDecimals(\"amount\", params.amount, params.token.decimals);\n return this.getChainTokenService(params.token.chainSymbol, params.owner, provider).checkAllowance(\n this.prepareCheckAllowanceParams(params)\n );\n }\n\n async approve(provider: Provider, approveData: ApproveParams): Promise<TransactionResponse> {\n if (approveData.amount) {\n validateAmountGtZero(approveData.amount);\n validateAmountDecimals(\"amount\", approveData.amount, approveData.token.decimals);\n }\n return this.getChainTokenService(approveData.token.chainSymbol, approveData.owner, provider).approve(\n this.prepareApproveParams(approveData)\n );\n }\n\n async buildRawTransactionApprove(approveData: ApproveParams, provider?: Provider): Promise<RawTransaction> {\n if (approveData.amount) {\n validateAmountGtZero(approveData.amount);\n validateAmountDecimals(\"amount\", approveData.amount, approveData.token.decimals);\n }\n return this.getChainTokenService(\n approveData.token.chainSymbol,\n approveData.owner,\n provider\n ).buildRawTransactionApprove(this.prepareApproveParams(approveData));\n }\n\n async getTokenBalance(params: GetTokenBalanceParams, provider?: Provider): Promise<string> {\n const tokenBalance = await this.getChainTokenService(\n params.token.chainSymbol,\n params.account,\n provider\n ).getTokenBalance(params);\n if (params.token.decimals) {\n return convertIntAmountToFloat(tokenBalance, params.token.decimals).toFixed();\n }\n return tokenBalance;\n }\n\n async getNativeTokenBalance(params: GetNativeTokenBalanceParams, provider?: Provider): Promise<AmountFormatted> {\n const tokenBalance = await this.getChainTokenService(\n params.chainSymbol,\n params.account,\n provider\n ).getNativeTokenBalance(params);\n return {\n [AmountFormat.INT]: tokenBalance,\n [AmountFormat.FLOAT]: convertIntAmountToFloat(\n tokenBalance,\n Chains.getChainDecimalsByType(Chains.getChainProperty(params.chainSymbol).chainType)\n ).toFixed(),\n };\n }\n\n private getChainTokenService(chainSymbol: string, ownerAddress: string, provider?: Provider): ChainTokenService {\n switch (Chains.getChainProperty(chainSymbol).chainType) {\n case ChainType.EVM: {\n if (provider) {\n return new EvmTokenService(provider as EssentialWeb3, this.api);\n } else {\n const nodeRpcUrl = this.nodeRpcUrlsConfig.getNodeRpcUrl(chainSymbol);\n return new EvmTokenService(new Web3(nodeRpcUrl), this.api);\n }\n }\n case ChainType.TRX: {\n if (provider) {\n return new TronTokenService(provider as TronWeb, this.api);\n } else {\n const nodeRpcUrl = this.nodeRpcUrlsConfig.getNodeRpcUrl(chainSymbol);\n const tronWeb = new TronWeb({ fullHost: nodeRpcUrl });\n tronWeb.setAddress(ownerAddress);\n return new TronTokenService(tronWeb, this.api);\n }\n }\n case ChainType.SOLANA: {\n const nodeRpcUrl = this.nodeRpcUrlsConfig.getNodeRpcUrl(chainSymbol);\n return new SolanaTokenService(nodeRpcUrl, this.api);\n }\n case ChainType.SRB: {\n return new SrbTokenService(this.nodeRpcUrlsConfig, this.params, this.api);\n }\n case ChainType.SUI: {\n return new SuiTokenService(this.nodeRpcUrlsConfig.getNodeRpcUrl(chainSymbol), this.api);\n }\n case ChainType.ALG: {\n if (provider) {\n const algod = provider as Algodv2;\n const algorand = AlgorandClient.fromClients({ algod });\n return new AlgTokenService(algorand, this.api);\n } else {\n const nodeRpcUrl = this.nodeRpcUrlsConfig.getNodeRpcUrl(chainSymbol);\n const algorand = AlgorandClient.fromConfig({\n algodConfig: { server: nodeRpcUrl },\n });\n return new AlgTokenService(algorand, this.api);\n }\n }\n case ChainType.STX: {\n const nodeRpcUrl = this.nodeRpcUrlsConfig.getNodeRpcUrl(chainSymbol);\n return new StxTokenService(nodeRpcUrl, this.params, this.api);\n }\n }\n }\n\n prepareCheckAllowanceParams(params: CheckAllowanceParams): CheckAllowanceParamsDto {\n return {\n ...params,\n amount: convertFloatAmountToInt(params.amount, params.token.decimals),\n };\n }\n\n private prepareApproveParams(approveData: ApproveParams): ApproveParamsDto {\n return {\n tokenAddress: approveData.token.tokenAddress,\n owner: approveData.owner,\n spender: approveData.spender,\n chainSymbol: approveData.token.chainSymbol,\n amount: approveData.amount == undefined ? undefined : Big(approveData.amount).toFixed(),\n };\n }\n}\n"]}
@@ -1,13 +1,16 @@
1
1
  import { ChainType } from "../../../chains/chain.enums";
2
2
  import { AllbridgeCoreClient } from "../../../client/core-api/core-client-base";
3
+ import { AllbridgeCoreSdkOptions } from "../../../index";
3
4
  import { GetNativeTokenBalanceParams } from "../../bridge/models";
4
5
  import { RawTransaction, TransactionResponse } from "../../models";
5
6
  import { ApproveParamsDto, ChainTokenService, CheckAllowanceParamsDto, GetAllowanceParamsDto, GetTokenBalanceParams } from "../models";
6
7
  export declare class StxTokenService extends ChainTokenService {
7
8
  nodeRpcUrl: string;
9
+ params: AllbridgeCoreSdkOptions;
8
10
  api: AllbridgeCoreClient;
9
11
  chainType: ChainType.STX;
10
- constructor(nodeRpcUrl: string, api: AllbridgeCoreClient);
12
+ private client;
13
+ constructor(nodeRpcUrl: string, params: AllbridgeCoreSdkOptions, api: AllbridgeCoreClient);
11
14
  getTokenBalance(params: GetTokenBalanceParams): Promise<string>;
12
15
  getNativeTokenBalance(params: GetNativeTokenBalanceParams): Promise<string>;
13
16
  getAllowance(_params: GetAllowanceParamsDto): Promise<string>;
@@ -2,25 +2,31 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StxTokenService = void 0;
4
4
  const core_1 = require("@clarigen/core");
5
+ const network_1 = require("@stacks/network");
5
6
  const chain_enums_1 = require("../../../chains/chain.enums");
6
7
  const exceptions_1 = require("../../../exceptions");
7
8
  const clarigen_types_1 = require("../../models/stx/clarigen-types");
8
- const get_network_1 = require("../../utils/stx/get-network");
9
9
  const models_1 = require("../models");
10
10
  class StxTokenService extends models_1.ChainTokenService {
11
11
  nodeRpcUrl;
12
+ params;
12
13
  api;
13
14
  chainType = chain_enums_1.ChainType.STX;
14
- constructor(nodeRpcUrl, api) {
15
+ client;
16
+ constructor(nodeRpcUrl, params, api) {
15
17
  super();
16
18
  this.nodeRpcUrl = nodeRpcUrl;
19
+ this.params = params;
17
20
  this.api = api;
21
+ const network = (0, network_1.createNetwork)({
22
+ network: this.params.stxIsTestnet ? "testnet" : "mainnet",
23
+ client: { baseUrl: this.nodeRpcUrl },
24
+ });
25
+ this.client = new core_1.ClarigenClient(network);
18
26
  }
19
27
  async getTokenBalance(params) {
20
- const network = (0, get_network_1.getStxNetwork)(this.nodeRpcUrl);
21
- const client = new core_1.ClarigenClient(network);
22
28
  const token = (0, core_1.contractFactory)(clarigen_types_1.stacksContracts.ftToken, params.token.tokenAddress);
23
- const response = await client.roOk(token.getBalance({ owner: params.account }));
29
+ const response = await this.client.roOk(token.getBalance({ owner: params.account }));
24
30
  return response.toString();
25
31
  }
26
32
  async getNativeTokenBalance(params) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/token/stx/index.ts"],"names":[],"mappings":";;;AAAA,yCAAiE;AACjE,6DAAwD;AAExD,oDAA8D;AAG9D,oEAA+E;AAC/E,6DAA4D;AAC5D,sCAMmB;AAEnB,MAAa,eAAgB,SAAQ,0BAAiB;IAG3C;IACA;IAHT,SAAS,GAAkB,uBAAS,CAAC,GAAG,CAAC;IACzC,YACS,UAAkB,EAClB,GAAwB;QAE/B,KAAK,EAAE,CAAC;QAHD,eAAU,GAAV,UAAU,CAAQ;QAClB,QAAG,GAAH,GAAG,CAAqB;IAGjC,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAA6B;QACjD,MAAM,OAAO,GAAG,IAAA,2BAAa,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE/C,MAAM,MAAM,GAAG,IAAI,qBAAc,CAAC,OAAO,CAAC,CAAC;QAE3C,MAAM,KAAK,GAAG,IAAA,sBAAe,EAAC,gCAAS,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAE5E,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAChF,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,MAAmC;QAC7D,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,wBAAwB,MAAM,CAAC,OAAO,MAAM,CAAC;QAE3E,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAwB,CAAC;QACvD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;IACpC,CAAC;IAED,YAAY,CAAC,OAA8B;QACzC,MAAM,IAAI,oCAAuB,EAAE,CAAC;IACtC,CAAC;IAED,cAAc,CAAC,OAAgC;QAC7C,MAAM,IAAI,oCAAuB,EAAE,CAAC;IACtC,CAAC;IAED,OAAO,CAAC,OAAyB;QAC/B,MAAM,IAAI,oCAAuB,EAAE,CAAC;IACtC,CAAC;IAED,0BAA0B,CAAC,OAAyB;QAClD,MAAM,IAAI,oCAAuB,EAAE,CAAC;IACtC,CAAC;CACF;AA/CD,0CA+CC","sourcesContent":["import { ClarigenClient, contractFactory } from \"@clarigen/core\";\nimport { ChainType } from \"../../../chains/chain.enums\";\nimport { AllbridgeCoreClient } from \"../../../client/core-api/core-client-base\";\nimport { MethodNotSupportedError } from \"../../../exceptions\";\nimport { GetNativeTokenBalanceParams } from \"../../bridge/models\";\nimport { RawTransaction, TransactionResponse } from \"../../models\";\nimport { stacksContracts as contracts } from \"../../models/stx/clarigen-types\";\nimport { getStxNetwork } from \"../../utils/stx/get-network\";\nimport {\n ApproveParamsDto,\n ChainTokenService,\n CheckAllowanceParamsDto,\n GetAllowanceParamsDto,\n GetTokenBalanceParams,\n} from \"../models\";\n\nexport class StxTokenService extends ChainTokenService {\n chainType: ChainType.STX = ChainType.STX;\n constructor(\n public nodeRpcUrl: string,\n public api: AllbridgeCoreClient\n ) {\n super();\n }\n\n async getTokenBalance(params: GetTokenBalanceParams): Promise<string> {\n const network = getStxNetwork(this.nodeRpcUrl);\n\n const client = new ClarigenClient(network);\n\n const token = contractFactory(contracts.ftToken, params.token.tokenAddress);\n\n const response = await client.roOk(token.getBalance({ owner: params.account }));\n return response.toString();\n }\n\n async getNativeTokenBalance(params: GetNativeTokenBalanceParams): Promise<string> {\n const url = `${this.nodeRpcUrl}/extended/v1/address/${params.account}/stx`;\n\n const res = await fetch(url);\n if (!res.ok) {\n throw new Error(`Failed to fetch account: ${res.status}`);\n }\n const data = (await res.json()) as { balance: string };\n const balance = data.balance;\n return BigInt(balance).toString();\n }\n\n getAllowance(_params: GetAllowanceParamsDto): Promise<string> {\n throw new MethodNotSupportedError();\n }\n\n checkAllowance(_params: CheckAllowanceParamsDto): Promise<boolean> {\n throw new MethodNotSupportedError();\n }\n\n approve(_params: ApproveParamsDto): Promise<TransactionResponse> {\n throw new MethodNotSupportedError();\n }\n\n buildRawTransactionApprove(_params: ApproveParamsDto): Promise<RawTransaction> {\n throw new MethodNotSupportedError();\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/token/stx/index.ts"],"names":[],"mappings":";;;AAAA,yCAAiE;AACjE,6CAAgD;AAChD,6DAAwD;AAExD,oDAA8D;AAI9D,oEAA+E;AAC/E,sCAMmB;AAEnB,MAAa,eAAgB,SAAQ,0BAAiB;IAM3C;IACA;IACA;IAPT,SAAS,GAAkB,uBAAS,CAAC,GAAG,CAAC;IAEjC,MAAM,CAAiB;IAE/B,YACS,UAAkB,EAClB,MAA+B,EAC/B,GAAwB;QAE/B,KAAK,EAAE,CAAC;QAJD,eAAU,GAAV,UAAU,CAAQ;QAClB,WAAM,GAAN,MAAM,CAAyB;QAC/B,QAAG,GAAH,GAAG,CAAqB;QAG/B,MAAM,OAAO,GAAG,IAAA,uBAAa,EAAC;YAC5B,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YACzD,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE;SACrC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,qBAAc,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAA6B;QACjD,MAAM,KAAK,GAAG,IAAA,sBAAe,EAAC,gCAAS,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAE5E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACrF,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,MAAmC;QAC7D,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,wBAAwB,MAAM,CAAC,OAAO,MAAM,CAAC;QAE3E,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAwB,CAAC;QACvD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;IACpC,CAAC;IAED,YAAY,CAAC,OAA8B;QACzC,MAAM,IAAI,oCAAuB,EAAE,CAAC;IACtC,CAAC;IAED,cAAc,CAAC,OAAgC;QAC7C,MAAM,IAAI,oCAAuB,EAAE,CAAC;IACtC,CAAC;IAED,OAAO,CAAC,OAAyB;QAC/B,MAAM,IAAI,oCAAuB,EAAE,CAAC;IACtC,CAAC;IAED,0BAA0B,CAAC,OAAyB;QAClD,MAAM,IAAI,oCAAuB,EAAE,CAAC;IACtC,CAAC;CACF;AApDD,0CAoDC","sourcesContent":["import { ClarigenClient, contractFactory } from \"@clarigen/core\";\nimport { createNetwork } from \"@stacks/network\";\nimport { ChainType } from \"../../../chains/chain.enums\";\nimport { AllbridgeCoreClient } from \"../../../client/core-api/core-client-base\";\nimport { MethodNotSupportedError } from \"../../../exceptions\";\nimport { AllbridgeCoreSdkOptions } from \"../../../index\";\nimport { GetNativeTokenBalanceParams } from \"../../bridge/models\";\nimport { RawTransaction, TransactionResponse } from \"../../models\";\nimport { stacksContracts as contracts } from \"../../models/stx/clarigen-types\";\nimport {\n ApproveParamsDto,\n ChainTokenService,\n CheckAllowanceParamsDto,\n GetAllowanceParamsDto,\n GetTokenBalanceParams,\n} from \"../models\";\n\nexport class StxTokenService extends ChainTokenService {\n chainType: ChainType.STX = ChainType.STX;\n\n private client: ClarigenClient;\n\n constructor(\n public nodeRpcUrl: string,\n public params: AllbridgeCoreSdkOptions,\n public api: AllbridgeCoreClient\n ) {\n super();\n const network = createNetwork({\n network: this.params.stxIsTestnet ? \"testnet\" : \"mainnet\",\n client: { baseUrl: this.nodeRpcUrl },\n });\n this.client = new ClarigenClient(network);\n }\n\n async getTokenBalance(params: GetTokenBalanceParams): Promise<string> {\n const token = contractFactory(contracts.ftToken, params.token.tokenAddress);\n\n const response = await this.client.roOk(token.getBalance({ owner: params.account }));\n return response.toString();\n }\n\n async getNativeTokenBalance(params: GetNativeTokenBalanceParams): Promise<string> {\n const url = `${this.nodeRpcUrl}/extended/v1/address/${params.account}/stx`;\n\n const res = await fetch(url);\n if (!res.ok) {\n throw new Error(`Failed to fetch account: ${res.status}`);\n }\n const data = (await res.json()) as { balance: string };\n const balance = data.balance;\n return BigInt(balance).toString();\n }\n\n getAllowance(_params: GetAllowanceParamsDto): Promise<string> {\n throw new MethodNotSupportedError();\n }\n\n checkAllowance(_params: CheckAllowanceParamsDto): Promise<boolean> {\n throw new MethodNotSupportedError();\n }\n\n approve(_params: ApproveParamsDto): Promise<TransactionResponse> {\n throw new MethodNotSupportedError();\n }\n\n buildRawTransactionApprove(_params: ApproveParamsDto): Promise<RawTransaction> {\n throw new MethodNotSupportedError();\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import { TokenWithChainDetails } from "../../../tokens-info";
2
+ export declare function getTokenName(token: TokenWithChainDetails): string;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTokenName = getTokenName;
4
+ const exceptions_1 = require("../../../exceptions");
5
+ function getTokenName(token) {
6
+ if (!token.originTokenAddress) {
7
+ throw new exceptions_1.SdkError("STX token must contain 'originTokenAddress'");
8
+ }
9
+ const [_address, name] = token.originTokenAddress.split("::");
10
+ if (!name) {
11
+ throw new exceptions_1.SdkError("STX token must contain 'originTokenAddress' ends with '::<tokenName>'");
12
+ }
13
+ return name;
14
+ }
15
+ //# sourceMappingURL=get-token-name.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-token-name.js","sourceRoot":"","sources":["../../../../../src/services/utils/stx/get-token-name.ts"],"names":[],"mappings":";;AAGA,oCASC;AAZD,oDAA+C;AAG/C,SAAgB,YAAY,CAAC,KAA4B;IACvD,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAC9B,MAAM,IAAI,qBAAQ,CAAC,6CAA6C,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,qBAAQ,CAAC,uEAAuE,CAAC,CAAC;IAC9F,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import { SdkError } from \"../../../exceptions\";\nimport { TokenWithChainDetails } from \"../../../tokens-info\";\n\nexport function getTokenName(token: TokenWithChainDetails): string {\n if (!token.originTokenAddress) {\n throw new SdkError(\"STX token must contain 'originTokenAddress'\");\n }\n const [_address, name] = token.originTokenAddress.split(\"::\");\n if (!name) {\n throw new SdkError(\"STX token must contain 'originTokenAddress' ends with '::<tokenName>'\");\n }\n return name;\n}\n"]}
@@ -1 +1 @@
1
- export declare const VERSION = "3.27.0-alpha.3";
1
+ export declare const VERSION = "3.27.0-alpha.5";
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
- exports.VERSION = "3.27.0-alpha.3";
4
+ exports.VERSION = "3.27.0-alpha.5";
5
5
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG,gBAAgB,CAAC","sourcesContent":["export const VERSION = \"3.27.0-alpha.3\";\n"]}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG,gBAAgB,CAAC","sourcesContent":["export const VERSION = \"3.27.0-alpha.5\";\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@allbridge/bridge-core-sdk",
3
- "version": "3.27.0-alpha.3",
3
+ "version": "3.27.0-alpha.5",
4
4
  "main": "./dist/cjs/index.js",
5
5
  "module": "./dist/esm/index.js",
6
6
  "types": "./dist/src/index.d.ts",
@@ -1,2 +0,0 @@
1
- import { StacksNetwork } from "@stacks/network/src/network";
2
- export declare function getStxNetwork(nodeUrl: string): StacksNetwork;
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getStxNetwork = getStxNetwork;
4
- const network_1 = require("@stacks/network");
5
- function getStxNetwork(nodeUrl) {
6
- const isTestnet = nodeUrl.includes("testnet");
7
- return isTestnet
8
- ? { ...network_1.STACKS_TESTNET, client: { baseUrl: nodeUrl } }
9
- : { ...network_1.STACKS_MAINNET, client: { baseUrl: nodeUrl } };
10
- }
11
- //# sourceMappingURL=get-network.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-network.js","sourceRoot":"","sources":["../../../../../src/services/utils/stx/get-network.ts"],"names":[],"mappings":";;AAGA,sCAMC;AATD,6CAAiE;AAGjE,SAAgB,aAAa,CAAC,OAAe;IAC3C,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAE9C,OAAO,SAAS;QACd,CAAC,CAAC,EAAE,GAAG,wBAAc,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QACrD,CAAC,CAAC,EAAE,GAAG,wBAAc,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC;AAC1D,CAAC","sourcesContent":["import { STACKS_MAINNET, STACKS_TESTNET } from \"@stacks/network\";\nimport { StacksNetwork } from \"@stacks/network/src/network\";\n\nexport function getStxNetwork(nodeUrl: string): StacksNetwork {\n const isTestnet = nodeUrl.includes(\"testnet\");\n\n return isTestnet\n ? { ...STACKS_TESTNET, client: { baseUrl: nodeUrl } }\n : { ...STACKS_MAINNET, client: { baseUrl: nodeUrl } };\n}\n"]}