@allbridge/bridge-core-sdk 3.19.1-alpha.1 → 3.20.0-alpha.1

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 (197) hide show
  1. package/dist/browser/index.js +5 -5
  2. package/dist/browser/index.js.map +4 -4
  3. package/dist/cjs/index.js +3 -3
  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/chains/chain.enums.js +2 -2
  8. package/dist/src/chains/chain.enums.js.map +1 -1
  9. package/dist/src/chains/index.js.map +1 -1
  10. package/dist/src/chains/models.js.map +1 -1
  11. package/dist/src/client/core-api/api-client-caching.js +5 -0
  12. package/dist/src/client/core-api/api-client-caching.js.map +1 -1
  13. package/dist/src/client/core-api/api-client.js +1 -0
  14. package/dist/src/client/core-api/api-client.js.map +1 -1
  15. package/dist/src/client/core-api/core-api-mapper.js +6 -8
  16. package/dist/src/client/core-api/core-api-mapper.js.map +1 -1
  17. package/dist/src/client/core-api/core-api.model.js +3 -3
  18. package/dist/src/client/core-api/core-api.model.js.map +1 -1
  19. package/dist/src/client/core-api/core-client-base.js +1 -0
  20. package/dist/src/client/core-api/core-client-base.js.map +1 -1
  21. package/dist/src/client/core-api/core-client-filtered.js +2 -0
  22. package/dist/src/client/core-api/core-client-filtered.js.map +1 -1
  23. package/dist/src/client/core-api/core-client-pool-info-caching.js +3 -1
  24. package/dist/src/client/core-api/core-client-pool-info-caching.js.map +1 -1
  25. package/dist/src/configs/index.js.map +1 -1
  26. package/dist/src/configs/mainnet.d.ts +1 -1
  27. package/dist/src/configs/mainnet.js +1 -1
  28. package/dist/src/configs/mainnet.js.map +1 -1
  29. package/dist/src/exceptions/exceptions.js +2 -1
  30. package/dist/src/exceptions/exceptions.js.map +1 -1
  31. package/dist/src/exceptions/index.js.map +1 -1
  32. package/dist/src/index.d.ts +7 -7
  33. package/dist/src/index.js +11 -6
  34. package/dist/src/index.js.map +1 -1
  35. package/dist/src/models/index.js +2 -2
  36. package/dist/src/models/index.js.map +1 -1
  37. package/dist/src/services/bridge/evm/index.d.ts +6 -8
  38. package/dist/src/services/bridge/evm/index.js +14 -12
  39. package/dist/src/services/bridge/evm/index.js.map +1 -1
  40. package/dist/src/services/bridge/index.d.ts +3 -4
  41. package/dist/src/services/bridge/index.js +16 -11
  42. package/dist/src/services/bridge/index.js.map +1 -1
  43. package/dist/src/services/bridge/models/bridge.d.ts +1 -1
  44. package/dist/src/services/bridge/models/bridge.js.map +1 -1
  45. package/dist/src/services/bridge/models/bridge.model.d.ts +18 -10
  46. package/dist/src/services/bridge/models/bridge.model.js.map +1 -1
  47. package/dist/src/services/bridge/models/index.js.map +1 -1
  48. package/dist/src/services/bridge/raw-bridge-transaction-builder.js +4 -0
  49. package/dist/src/services/bridge/raw-bridge-transaction-builder.js.map +1 -1
  50. package/dist/src/services/bridge/sol/index.d.ts +2 -2
  51. package/dist/src/services/bridge/sol/index.js +5 -5
  52. package/dist/src/services/bridge/sol/index.js.map +1 -1
  53. package/dist/src/services/bridge/sol/jupiter.js +2 -0
  54. package/dist/src/services/bridge/sol/jupiter.js.map +1 -1
  55. package/dist/src/services/bridge/srb/index.d.ts +3 -3
  56. package/dist/src/services/bridge/srb/index.js +4 -1
  57. package/dist/src/services/bridge/srb/index.js.map +1 -1
  58. package/dist/src/services/bridge/trx/index.d.ts +6 -6
  59. package/dist/src/services/bridge/trx/index.js +5 -3
  60. package/dist/src/services/bridge/trx/index.js.map +1 -1
  61. package/dist/src/services/bridge/utils.d.ts +12 -3
  62. package/dist/src/services/bridge/utils.js +22 -40
  63. package/dist/src/services/bridge/utils.js.map +1 -1
  64. package/dist/src/services/index.js +7 -3
  65. package/dist/src/services/index.js.map +1 -1
  66. package/dist/src/services/liquidity-pool/evm/index.d.ts +4 -6
  67. package/dist/src/services/liquidity-pool/evm/index.js +102 -47
  68. package/dist/src/services/liquidity-pool/evm/index.js.map +1 -1
  69. package/dist/src/services/liquidity-pool/index.d.ts +1 -1
  70. package/dist/src/services/liquidity-pool/index.js +14 -7
  71. package/dist/src/services/liquidity-pool/index.js.map +1 -1
  72. package/dist/src/services/liquidity-pool/models/index.js.map +1 -1
  73. package/dist/src/services/liquidity-pool/models/pool.js.map +1 -1
  74. package/dist/src/services/liquidity-pool/models/pool.model.js +2 -0
  75. package/dist/src/services/liquidity-pool/models/pool.model.js.map +1 -1
  76. package/dist/src/services/liquidity-pool/raw-pool-transaction-builder.js +4 -0
  77. package/dist/src/services/liquidity-pool/raw-pool-transaction-builder.js.map +1 -1
  78. package/dist/src/services/liquidity-pool/sol/index.js +7 -5
  79. package/dist/src/services/liquidity-pool/sol/index.js.map +1 -1
  80. package/dist/src/services/liquidity-pool/srb/index.js +5 -2
  81. package/dist/src/services/liquidity-pool/srb/index.js.map +1 -1
  82. package/dist/src/services/liquidity-pool/trx/index.d.ts +4 -5
  83. package/dist/src/services/liquidity-pool/trx/index.js +94 -38
  84. package/dist/src/services/liquidity-pool/trx/index.js.map +1 -1
  85. package/dist/src/services/models/abi/Bridge.d.ts +715 -0
  86. package/dist/src/services/models/abi/Bridge.js +925 -0
  87. package/dist/src/services/models/abi/Bridge.js.map +1 -0
  88. package/dist/src/services/models/abi/CctpBridge.d.ts +446 -0
  89. package/dist/src/services/models/abi/CctpBridge.js +575 -0
  90. package/dist/src/services/models/abi/CctpBridge.js.map +1 -0
  91. package/dist/src/services/models/abi/ERC20.d.ts +222 -0
  92. package/dist/src/services/models/abi/ERC20.js +294 -0
  93. package/dist/src/services/models/abi/ERC20.js.map +1 -0
  94. package/dist/src/services/models/abi/Pool.d.ts +746 -0
  95. package/dist/src/services/models/abi/Pool.js +965 -0
  96. package/dist/src/services/models/abi/Pool.js.map +1 -0
  97. package/dist/src/services/models/index.d.ts +35 -9
  98. package/dist/src/services/models/index.js.map +1 -1
  99. package/dist/src/services/models/sol/index.d.ts +2 -4
  100. package/dist/src/services/models/sol/index.js +1 -1
  101. package/dist/src/services/models/sol/index.js.map +1 -1
  102. package/dist/src/services/models/sol/types/bridge.js.map +1 -1
  103. package/dist/src/services/models/sol/types/cctp_bridge.js.map +1 -1
  104. package/dist/src/services/models/sol/types/gas_oracle.js.map +1 -1
  105. package/dist/src/services/models/srb/bridge-contract.d.ts +0 -1
  106. package/dist/src/services/models/srb/bridge-contract.js +32 -31
  107. package/dist/src/services/models/srb/bridge-contract.js.map +1 -1
  108. package/dist/src/services/models/srb/gas-oracle-contract.d.ts +0 -1
  109. package/dist/src/services/models/srb/gas-oracle-contract.js +13 -12
  110. package/dist/src/services/models/srb/gas-oracle-contract.js.map +1 -1
  111. package/dist/src/services/models/srb/messenger-contract.d.ts +0 -1
  112. package/dist/src/services/models/srb/messenger-contract.js +23 -22
  113. package/dist/src/services/models/srb/messenger-contract.js.map +1 -1
  114. package/dist/src/services/models/srb/pool-contract.d.ts +0 -1
  115. package/dist/src/services/models/srb/pool-contract.js +28 -27
  116. package/dist/src/services/models/srb/pool-contract.js.map +1 -1
  117. package/dist/src/services/models/srb/token-contract.js +19 -18
  118. package/dist/src/services/models/srb/token-contract.js.map +1 -1
  119. package/dist/src/services/models/srb/utils.js +3 -4
  120. package/dist/src/services/models/srb/utils.js.map +1 -1
  121. package/dist/src/services/token/evm/index.d.ts +5 -7
  122. package/dist/src/services/token/evm/index.js +24 -23
  123. package/dist/src/services/token/evm/index.js.map +1 -1
  124. package/dist/src/services/token/index.js +7 -8
  125. package/dist/src/services/token/index.js.map +1 -1
  126. package/dist/src/services/token/models/index.js.map +1 -1
  127. package/dist/src/services/token/models/token.js.map +1 -1
  128. package/dist/src/services/token/models/token.model.js.map +1 -1
  129. package/dist/src/services/token/sol/index.js +3 -2
  130. package/dist/src/services/token/sol/index.js.map +1 -1
  131. package/dist/src/services/token/srb/index.js +4 -1
  132. package/dist/src/services/token/srb/index.js.map +1 -1
  133. package/dist/src/services/token/trx/index.d.ts +3 -3
  134. package/dist/src/services/token/trx/index.js +7 -5
  135. package/dist/src/services/token/trx/index.js.map +1 -1
  136. package/dist/src/services/utils/calculation/index.js +2 -3
  137. package/dist/src/services/utils/calculation/index.js.map +1 -1
  138. package/dist/src/services/utils/index.js +5 -9
  139. package/dist/src/services/utils/index.js.map +1 -1
  140. package/dist/src/services/utils/sol/accounts.d.ts +0 -1
  141. package/dist/src/services/utils/sol/accounts.js +19 -20
  142. package/dist/src/services/utils/sol/accounts.js.map +1 -1
  143. package/dist/src/services/utils/sol/anchor-provider.js +1 -2
  144. package/dist/src/services/utils/sol/anchor-provider.js.map +1 -1
  145. package/dist/src/services/utils/sol/compute-budget.js +2 -3
  146. package/dist/src/services/utils/sol/compute-budget.js.map +1 -1
  147. package/dist/src/services/utils/sol/index.d.ts +0 -1
  148. package/dist/src/services/utils/sol/index.js +8 -9
  149. package/dist/src/services/utils/sol/index.js.map +1 -1
  150. package/dist/src/services/utils/trx/index.d.ts +1 -1
  151. package/dist/src/services/utils/trx/index.js +3 -6
  152. package/dist/src/services/utils/trx/index.js.map +1 -1
  153. package/dist/src/tokens-info/index.js +4 -0
  154. package/dist/src/tokens-info/index.js.map +1 -1
  155. package/dist/src/tokens-info/tokens-info.model.d.ts +1 -1
  156. package/dist/src/tokens-info/tokens-info.model.js.map +1 -1
  157. package/dist/src/utils/calculation/constants.js.map +1 -1
  158. package/dist/src/utils/calculation/index.js +17 -18
  159. package/dist/src/utils/calculation/index.js.map +1 -1
  160. package/dist/src/utils/calculation/swap-and-bridge-details.js +1 -2
  161. package/dist/src/utils/calculation/swap-and-bridge-details.js.map +1 -1
  162. package/dist/src/utils/calculation/swap-and-bridge-fee-calc.js +2 -3
  163. package/dist/src/utils/calculation/swap-and-bridge-fee-calc.js.map +1 -1
  164. package/dist/src/utils/index.js +3 -0
  165. package/dist/src/utils/index.js.map +1 -1
  166. package/dist/src/utils/sol/index.js +2 -0
  167. package/dist/src/utils/sol/index.js.map +1 -1
  168. package/dist/src/utils/sol/utils.js +1 -2
  169. package/dist/src/utils/sol/utils.js.map +1 -1
  170. package/dist/src/utils/srb/index.d.ts +1 -1
  171. package/dist/src/utils/srb/index.js +7 -5
  172. package/dist/src/utils/srb/index.js.map +1 -1
  173. package/dist/src/utils/utils.js +7 -9
  174. package/dist/src/utils/utils.js.map +1 -1
  175. package/dist/src/version.d.ts +1 -1
  176. package/dist/src/version.js +1 -1
  177. package/dist/src/version.js.map +1 -1
  178. package/package.json +55 -53
  179. package/dist/src/services/models/abi/Bridge.json +0 -919
  180. package/dist/src/services/models/abi/CctpBridge.json +0 -569
  181. package/dist/src/services/models/abi/ERC20.json +0 -288
  182. package/dist/src/services/models/abi/Pool.json +0 -959
  183. package/dist/src/services/models/abi/types/Bridge.d.ts +0 -145
  184. package/dist/src/services/models/abi/types/Bridge.js +0 -6
  185. package/dist/src/services/models/abi/types/Bridge.js.map +0 -1
  186. package/dist/src/services/models/abi/types/CctpBridge.d.ts +0 -117
  187. package/dist/src/services/models/abi/types/CctpBridge.js +0 -6
  188. package/dist/src/services/models/abi/types/CctpBridge.js.map +0 -1
  189. package/dist/src/services/models/abi/types/Pool.d.ts +0 -164
  190. package/dist/src/services/models/abi/types/Pool.js +0 -6
  191. package/dist/src/services/models/abi/types/Pool.js.map +0 -1
  192. package/dist/src/services/models/abi/types/index.d.ts +0 -2
  193. package/dist/src/services/models/abi/types/index.js +0 -3
  194. package/dist/src/services/models/abi/types/index.js.map +0 -1
  195. package/dist/src/services/models/abi/types/types.d.ts +0 -54
  196. package/dist/src/services/models/abi/types/types.js +0 -3
  197. package/dist/src/services/models/abi/types/types.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { BigSource } from \"big.js\";\nimport { AdditionalBasicChainProperties } from \"./chains/models\";\nimport { mainnet } from \"./configs\";\nimport {\n AmountFormat,\n AmountFormatted,\n AmountsAndGasFeeOptions,\n BridgeService,\n ChainDetailsMap,\n CheckAddressResponse,\n ExtraGasMaxLimitResponse,\n GasBalanceResponse,\n GasFeeOptions,\n GetNativeTokenBalanceParams,\n GetTokenBalanceParams,\n LiquidityPoolService,\n Messenger,\n PendingStatusInfoResponse,\n PoolInfo,\n Provider,\n SendAmountDetails,\n SwapAndBridgeCalculationData,\n TokenWithChainDetails,\n TransferStatusResponse,\n} from \"./models\";\nimport { AllbridgeCoreSdkService, NodeRpcUrlsConfig } from \"./services\";\nimport { CctpParams } from \"./services/bridge/sol\";\nimport { DefaultUtils, Utils } from \"./utils\";\n\nexport * from \"./configs\";\nexport * from \"./models\";\n\nexport interface AllbridgeCoreSdkOptions {\n coreApiUrl: string;\n /**\n * A set of query parameters to be added to all requests to the Core API.\n */\n coreApiQueryParams?: Record<string, string>;\n /**\n * A set of headers to be added to all requests to the Core API.\n */\n coreApiHeaders?: Record<string, string>;\n /**\n * Jupiter v6 Swap Api\n */\n jupiterUrl: string;\n wormholeMessengerProgramId: string;\n solanaLookUpTable: string;\n sorobanNetworkPassphrase: string;\n /**\n * Optional. Will be used in methods</br>\n * {@link LiquidityPoolService.getPoolInfoFromChain} and {@link LiquidityPoolService.getAmountToBeWithdrawn}</br>\n * to fetch information from the blockchain with fewer HTTP requests using JSON-RPC API\n */\n tronJsonRpc?: string;\n cctpParams: CctpParams;\n /**\n * The number of seconds that pool information taken from the chain will be cached.\n *\n * @type {number}\n */\n cachePoolInfoChainSec: number;\n\n /**\n * @internal\n * Optional additional properties to merge with the default properties.\n */\n additionalChainsProperties?: Record<string, AdditionalBasicChainProperties>;\n}\n\n/**\n * Type representing RPC node URLs for different blockchain chains.</br>\n * Provide node RPC URL for chain connection you intend to communicate with</br>\n * - required for SOL, TRX chains</br>\n * - optional for EVM chains -- you can interact by passing a {@link Provider} that will be used to communicate with the chain</br>\n * @typedef {Record<string, string>} NodeRpcUrls\n * @property {string} chainSymbol - The symbol of the chain representing one of the supported blockchain networks (e.g., \"ETH\" for Ethereum). For more details, see: {@link ChainSymbol}.\n * @property {string} rpcUrl - The RPC node URL for the specified chain.\n */\nexport type NodeRpcUrls = Record<string, string>;\n\n/**\n * @deprecated Use {@link NodeRpcUrls}\n */\nexport interface NodeUrlsConfig {\n solanaRpcUrl: string;\n tronRpcUrl: string;\n}\n\n/**\n * @deprecated Use {@link NodeRpcUrls}\n */\nfunction isNodeUrlsConfig(nodeUrls: NodeUrlsConfig | NodeRpcUrls): nodeUrls is NodeUrlsConfig {\n return \"solanaRpcUrl\" in nodeUrls;\n}\n\nexport class AllbridgeCoreSdk {\n readonly params: AllbridgeCoreSdkOptions;\n\n bridge: BridgeService;\n pool: LiquidityPoolService;\n utils: Utils;\n\n private service: AllbridgeCoreSdkService;\n\n /**\n * Initializes the SDK object.\n * @param nodeUrls node rpc urls for full functionality\n * @param params\n * Optional.\n * If not defined, the default {@link mainnet} parameters are used.\n */\n constructor(nodeUrls: NodeUrlsConfig | NodeRpcUrls, params: AllbridgeCoreSdkOptions = mainnet) {\n let nodeRpcUrlsConfig: NodeRpcUrlsConfig;\n if (isNodeUrlsConfig(nodeUrls)) {\n nodeRpcUrlsConfig = new NodeRpcUrlsConfig({ SOL: nodeUrls.solanaRpcUrl, TRX: nodeUrls.tronRpcUrl });\n } else {\n nodeRpcUrlsConfig = new NodeRpcUrlsConfig(nodeUrls);\n }\n this.service = new AllbridgeCoreSdkService(nodeRpcUrlsConfig, params);\n this.bridge = this.service.bridge;\n this.pool = this.service.pool;\n this.utils = new DefaultUtils(nodeRpcUrlsConfig, params);\n this.params = params;\n }\n\n /**\n * Returns {@link ChainDetailsMap} containing a list of supported tokens groped by chain.\n *\n * @param type - A string value which specifies ChainDetailsMap to retrieve.\n * Can be either 'swap' for send or 'pool' for liquidity pools setup.\n * Defaults to 'swap'.\n */\n async chainDetailsMap(type: \"swap\" | \"pool\" = \"swap\"): Promise<ChainDetailsMap> {\n return this.service.chainDetailsMap(type);\n }\n\n /**\n * Returns a list of supported {@link TokenWithChainDetails | tokens}.\n *\n * @param type - A string value which specifies a set of tokens to retrieve.\n * Can be either 'swap' for tokens to send or 'pool' for liquidity pools operations.\n * Defaults to 'swap'.\n * @returns A promise that resolves to an array of {@link TokenWithChainDetails}.\n */\n async tokens(type: \"swap\" | \"pool\" = \"swap\"): Promise<TokenWithChainDetails[]> {\n return this.service.tokens(type);\n }\n\n /**\n * Returns a list of supported {@link TokenWithChainDetails | tokens} on the selected chain.\n * @param chainSymbol - The symbol of the chain representing one of the supported blockchain networks (e.g., \"ETH\" for Ethereum). For more details, see: {@link ChainSymbol}.\n * @param type - A string value which specifies a set of tokens to retrieve.\n * Can be either 'swap' for tokens to send or 'pool' for liquidity pools operations.\n * Defaults to 'swap'.\n */\n async tokensByChain(chainSymbol: string, type: \"swap\" | \"pool\" = \"swap\"): Promise<TokenWithChainDetails[]> {\n return this.service.tokensByChain(chainSymbol, type);\n }\n\n /**\n * Fetches information about tokens transfer by chosen chainSymbol and transaction Id from the Allbridge Core API.\n * @param chainSymbol - The symbol of the chain representing one of the supported blockchain networks (e.g., \"ETH\" for Ethereum). For more details, see: {@link ChainSymbol}.\n * @param txId\n */\n async getTransferStatus(chainSymbol: string, txId: string): Promise<TransferStatusResponse> {\n return this.service.getTransferStatus(chainSymbol, txId);\n }\n\n /**\n * Get gas balance\n * @param chainSymbol - The symbol of the chain representing one of the supported blockchain networks (e.g., \"ETH\" for Ethereum). For more details, see: {@link ChainSymbol}.\n * @param address\n */\n async getGasBalance(chainSymbol: string, address: string): Promise<GasBalanceResponse> {\n return this.service.getGasBalance(chainSymbol, address);\n }\n\n /**\n * Check address and show gas balance\n * @deprecated\n * @param chainSymbol - The symbol of the chain representing one of the supported blockchain networks (e.g., \"ETH\" for Ethereum). For more details, see: {@link ChainSymbol}.\n * @param recipientAddress\n * @param tokenAddress\n */\n async checkAddress(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n chainSymbol: string,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n recipientAddress: string,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n tokenAddress?: string,\n ): Promise<CheckAddressResponse> {\n return await this.service.checkAddress();\n }\n\n /**\n * Returns information about pending transactions for the same destination chain and the amount of tokens can be received as a result of transfer considering pending transactions.\n * @param amount the amount of tokens that will be sent\n * @param amountFormat amount format\n * @param sourceToken selected token transfer from\n * @param destToken selected token transfer to\n * @returns range of possible amount based on already pending transactions\n */\n async getPendingStatusInfo(\n amount: string,\n amountFormat: AmountFormat,\n sourceToken: TokenWithChainDetails,\n destToken: TokenWithChainDetails,\n ): Promise<PendingStatusInfoResponse> {\n return this.service.getPendingStatusInfo(amount, amountFormat, sourceToken, destToken);\n }\n\n /**\n * Get token balance\n * @param params\n * @param provider\n * @returns Token balance\n */\n async getTokenBalance(params: GetTokenBalanceParams, provider?: Provider): Promise<string> {\n return this.service.getTokenBalance(params, provider);\n }\n\n /**\n * Get native (gas) token balance\n * @param params\n * @param provider\n * @returns Token balance\n */\n async getNativeTokenBalance(params: GetNativeTokenBalanceParams, provider?: Provider): Promise<AmountFormatted> {\n return this.service.getNativeTokenBalance(params, provider);\n }\n\n /**\n * @deprecated\n * Calculates the percentage of fee from the initial amount that is charged when swapping from the selected source chain.\n * (Does not include fee related to the destination chain. Does not include gas fee)\n * @param amountFloat initial amount of tokens to swap\n * @param sourceChainToken selected token on the source chain\n * @returns fee percent\n */\n async calculateFeePercentOnSourceChain(\n amountFloat: BigSource,\n sourceChainToken: TokenWithChainDetails,\n ): Promise<number> {\n return this.service.calculateFeePercentOnSourceChain(amountFloat, sourceChainToken);\n }\n\n /**\n * @deprecated\n * Calculates the percentage of fee that is charged when swapping to the selected destination chain. The destination chain fee percent applies to the amount after the source chain fee.\n * (Does not include fee related to the source chain. Does not include gas fee)\n * @see {@link calculateFeePercentOnSourceChain}\n * @param amountFloat initial amount of tokens to swap\n * @param sourceChainToken selected token on the source chain\n * @param destinationChainToken selected token on the destination chain\n * @returns fee percent\n */\n async calculateFeePercentOnDestinationChain(\n amountFloat: BigSource,\n sourceChainToken: TokenWithChainDetails,\n destinationChainToken: TokenWithChainDetails,\n ): Promise<number> {\n return this.service.calculateFeePercentOnDestinationChain(amountFloat, sourceChainToken, destinationChainToken);\n }\n\n /**\n * Calculates the amount of tokens to be received as a result of transfer\n * and fetches {@link GasFeeOptions} which contains available ways to pay the gas fee.\n * @param amountToSendFloat the amount of tokens that will be sent\n * @param sourceChainToken selected token on the source chain\n * @param destinationChainToken selected token on the destination chain\n * @param messenger\n */\n async getAmountToBeReceivedAndGasFeeOptions(\n amountToSendFloat: BigSource,\n sourceChainToken: TokenWithChainDetails,\n destinationChainToken: TokenWithChainDetails,\n messenger: Messenger,\n ): Promise<AmountsAndGasFeeOptions> {\n return this.service.getAmountToBeReceivedAndGasFeeOptions(\n amountToSendFloat,\n sourceChainToken,\n destinationChainToken,\n messenger,\n );\n }\n\n /**\n * Calculates the amount of tokens to send based on requested tokens amount be received as a result of transfer.\n * and fetches {@link GasFeeOptions} which contains available ways to pay the gas fee.\n * @param amountToBeReceivedFloat the amount of tokens that should be received\n * @param sourceChainToken selected token on the source chain\n * @param destinationChainToken selected token on the destination chain\n * @param messenger\n */\n async getAmountToSendAndGasFeeOptions(\n amountToBeReceivedFloat: BigSource,\n sourceChainToken: TokenWithChainDetails,\n destinationChainToken: TokenWithChainDetails,\n messenger: Messenger,\n ): Promise<AmountsAndGasFeeOptions> {\n return this.service.getAmountToSendAndGasFeeOptions(\n amountToBeReceivedFloat,\n sourceChainToken,\n destinationChainToken,\n messenger,\n );\n }\n\n /**\n * Calculates the amount of tokens to be received as a result of transfer.\n * @param amountToSendFloat the amount of tokens that will be sent\n * @param sourceChainToken selected token on the source chain\n * @param destinationChainToken selected token on the destination chain\n * @param messenger Optional. selected messenger\n */\n async getAmountToBeReceived(\n amountToSendFloat: BigSource,\n sourceChainToken: TokenWithChainDetails,\n destinationChainToken: TokenWithChainDetails,\n /**\n * The Messengers for different routes.\n * Optional.\n * The {@link Messenger.ALLBRIDGE}, {@link Messenger.WORMHOLE} by default.\n */\n messenger?: Messenger,\n ): Promise<string> {\n return this.service.getAmountToBeReceived(amountToSendFloat, sourceChainToken, destinationChainToken, messenger);\n }\n\n /**\n * Calculates the amount of tokens to be received as a result of transfer based on actual blockchain pool state.\n * @param amountToSendFloat the amount of tokens that will be sent\n * @param sourceChainToken selected token on the source chain\n * @param destinationChainToken selected token on the destination chain\n * @param messenger Optional. selected messenger\n * @param sourceProvider Optional. source chain Provider\n * @param destinationProvider Optional. destination chain Provider\n */\n async getAmountToBeReceivedFromChain(\n amountToSendFloat: BigSource,\n sourceChainToken: TokenWithChainDetails,\n destinationChainToken: TokenWithChainDetails,\n /**\n * The Messengers for different routes.\n * Optional.\n * The {@link Messenger.ALLBRIDGE}, {@link Messenger.WORMHOLE} by default.\n */\n messenger?: Messenger,\n sourceProvider?: Provider,\n destinationProvider?: Provider,\n ): Promise<string> {\n return this.service.getAmountToBeReceivedFromChain(\n amountToSendFloat,\n sourceChainToken,\n destinationChainToken,\n messenger,\n sourceProvider,\n destinationProvider,\n );\n }\n\n /**\n * Calculates the amount of tokens to be received as a result of transfer based on passed pool state.\n * @param amountToSendFloat the amount of tokens that will be sent\n * @param sourceChainToken selected token on the source chain\n * @param destinationChainToken selected token on the destination chain\n * @param sourcePool source token pool state\n * @param destinationPool destination token pool state\n * @param messenger Optional. selected messenger\n */\n getAmountToBeReceivedFromPools(\n amountToSendFloat: BigSource,\n sourceChainToken: TokenWithChainDetails,\n destinationChainToken: TokenWithChainDetails,\n sourcePool: PoolInfo,\n destinationPool: PoolInfo,\n messenger?: Messenger,\n ): string {\n return this.service.getAmountToBeReceivedFromPools(\n amountToSendFloat,\n sourceChainToken,\n destinationChainToken,\n sourcePool,\n destinationPool,\n messenger,\n );\n }\n\n /**\n * Calculates the amount of tokens to send based on requested tokens amount be received as a result of transfer.\n * @param amountToBeReceivedFloat the amount of tokens that should be received\n * @param sourceChainToken selected token on the source chain\n * @param destinationChainToken selected token on the destination chain\n * @param messenger Optional. selected messenger\n */\n async getAmountToSend(\n amountToBeReceivedFloat: BigSource,\n sourceChainToken: TokenWithChainDetails,\n destinationChainToken: TokenWithChainDetails,\n /**\n * The Messengers for different routes.\n * Optional.\n * The {@link Messenger.ALLBRIDGE}, {@link Messenger.WORMHOLE} by default.\n */\n messenger?: Messenger,\n ): Promise<string> {\n return this.service.getAmountToSend(amountToBeReceivedFloat, sourceChainToken, destinationChainToken, messenger);\n }\n\n /**\n * Calculates the amount of tokens to send based on requested tokens amount be received as a result of transfer based on actual blockchain pool state.\n * @param amountToBeReceivedFloat the amount of tokens that should be received\n * @param sourceChainToken selected token on the source chain\n * @param destinationChainToken selected token on the destination chain\n * @param messenger Optional. selected messenger\n * @param sourceProvider Optional. source chain Provider\n * @param destinationProvider Optional. destination chain Provider\n */\n async getAmountToSendFromChain(\n amountToBeReceivedFloat: BigSource,\n sourceChainToken: TokenWithChainDetails,\n destinationChainToken: TokenWithChainDetails,\n /**\n * The Messengers for different routes.\n * Optional.\n * The {@link Messenger.ALLBRIDGE}, {@link Messenger.WORMHOLE} by default.\n */\n messenger?: Messenger,\n sourceProvider?: Provider,\n destinationProvider?: Provider,\n ): Promise<string> {\n return this.service.getAmountToSendFromChain(\n amountToBeReceivedFloat,\n sourceChainToken,\n destinationChainToken,\n messenger,\n sourceProvider,\n destinationProvider,\n );\n }\n\n /**\n * Calculates the amount of tokens to send based on requested tokens amount be received as a result of transfer based on passed pool state.\n * @param amountToBeReceivedFloat the amount of tokens that should be received\n * @param sourceChainToken selected token on the source chain\n * @param destinationChainToken selected token on the destination chain\n * @param sourcePool source token pool state\n * @param destinationPool destination token pool state\n * @param messenger Optional. selected messenger\n */\n getAmountToSendFromPools(\n amountToBeReceivedFloat: BigSource,\n sourceChainToken: TokenWithChainDetails,\n destinationChainToken: TokenWithChainDetails,\n sourcePool: PoolInfo,\n destinationPool: PoolInfo,\n messenger?: Messenger,\n ): string {\n return this.service.getAmountToSendFromPools(\n amountToBeReceivedFloat,\n sourceChainToken,\n destinationChainToken,\n sourcePool,\n destinationPool,\n messenger,\n );\n }\n\n /**\n * Fetches possible ways to pay the transfer gas fee.\n * @param sourceChainToken selected token on the source chain\n * @param destinationChainToken selected token on the destination chain\n * @param messenger\n * @returns {@link GasFeeOptions}\n */\n async getGasFeeOptions(\n sourceChainToken: TokenWithChainDetails,\n destinationChainToken: TokenWithChainDetails,\n messenger: Messenger,\n ): Promise<GasFeeOptions> {\n return this.service.getGasFeeOptions(sourceChainToken, destinationChainToken, messenger);\n }\n\n /**\n * Gets the average time in ms to complete a transfer for given tokens and messenger.\n * @param sourceChainToken selected token on the source chain.\n * @param destinationChainToken selected token on the destination chain.\n * @param messenger\n * @returns Average transfer time in milliseconds or null if a given combination of tokens and messenger is not supported.\n */\n getAverageTransferTime(\n sourceChainToken: TokenWithChainDetails,\n destinationChainToken: TokenWithChainDetails,\n messenger: Messenger,\n ): number | null {\n return this.service.getAverageTransferTime(sourceChainToken, destinationChainToken, messenger);\n }\n\n /**\n * Gets information about the poolInfo by token\n * @param token\n * @returns poolInfo\n */\n async getPoolInfoByToken(token: TokenWithChainDetails): Promise<PoolInfo> {\n return this.service.getPoolInfoByToken(token);\n }\n\n /**\n * Forces refresh of cached information about the state of liquidity pools.\n * Outdated cache leads to calculated amounts being less accurate.\n * The cache is invalidated at regular intervals, but it can be forced to be refreshed by calling this method.+\n *\n * @param tokens if present, the corresponding liquidity pools will be updated\n */\n async refreshPoolInfo(tokens?: TokenWithChainDetails | TokenWithChainDetails[]): Promise<void> {\n return this.service.refreshPoolInfo(tokens);\n }\n\n /**\n * Convert APR to percentage view\n * @param apr\n * @returns aprPercentageView\n */\n aprInPercents(apr: string): string {\n return this.service.aprInPercents(apr);\n }\n\n /**\n * Get possible limit of extra gas amount.\n * @param sourceChainToken selected token on the source chain\n * @param destinationChainToken selected token on the destination chain\n * @returns {@link ExtraGasMaxLimitResponse}\n */\n async getExtraGasMaxLimits(\n sourceChainToken: TokenWithChainDetails,\n destinationChainToken: TokenWithChainDetails,\n ): Promise<ExtraGasMaxLimitResponse> {\n return this.service.getExtraGasMaxLimits(sourceChainToken, destinationChainToken);\n }\n\n /**\n * @param amount - amount\n * @param amountFormat - AmountFormat\n * @param sourceToken - selected token on the source chain\n * @return virtual amount\n */\n async getVUsdFromAmount(\n amount: string,\n amountFormat: AmountFormat,\n sourceToken: TokenWithChainDetails,\n ): Promise<AmountFormatted> {\n return this.service.getVUsdFromAmount(amount, amountFormat, sourceToken);\n }\n\n /**\n * @param vUsdAmount - amount of vUsd, int format\n * @param destToken selected token on the destination chain\n * @return amount of destToken\n */\n async getAmountFromVUsd(vUsdAmount: string, destToken: TokenWithChainDetails): Promise<AmountFormatted> {\n return this.service.getAmountFromVUsd(vUsdAmount, destToken);\n }\n\n /**\n * @deprecated Use {@link getSendAmountDetails}\n * @param amountInTokenPrecision\n * @param sourceToken\n * @param destToken\n */\n async swapAndBridgeFeeCalculation(\n amountInTokenPrecision: string,\n sourceToken: TokenWithChainDetails,\n destToken: TokenWithChainDetails,\n ): Promise<SwapAndBridgeCalculationData> {\n return this.service.swapAndBridgeFeeCalculation(amountInTokenPrecision, sourceToken, destToken);\n }\n\n /**\n * @deprecated Use {@link getAmountToBeReceived} and then {@link getSendAmountDetails}\n * @param amountInTokenPrecision\n * @param sourceToken\n * @param destToken\n */\n async swapAndBridgeFeeCalculationReverse(\n amountInTokenPrecision: string,\n sourceToken: TokenWithChainDetails,\n destToken: TokenWithChainDetails,\n ): Promise<SwapAndBridgeCalculationData> {\n return this.service.swapAndBridgeFeeCalculationReverse(amountInTokenPrecision, sourceToken, destToken);\n }\n\n /**\n * Show amount changes (fee and amount adjustment) during send through pools on source and destination chains\n */\n async getSendAmountDetails(\n amount: string,\n amountFormat: AmountFormat,\n sourceToken: TokenWithChainDetails,\n destToken: TokenWithChainDetails,\n ): Promise<SendAmountDetails> {\n return this.service.getSendAmountDetails(amount, amountFormat, sourceToken, destToken);\n }\n}\n"]}
@@ -33,7 +33,7 @@ var FeePaymentMethod;
33
33
  * The fee is paid with the stablecoin token.
34
34
  */
35
35
  FeePaymentMethod["WITH_STABLECOIN"] = "stablecoin";
36
- })(FeePaymentMethod = exports.FeePaymentMethod || (exports.FeePaymentMethod = {}));
36
+ })(FeePaymentMethod || (exports.FeePaymentMethod = FeePaymentMethod = {}));
37
37
  /**
38
38
  * Define the type of amount data<p/>
39
39
  * Example:<p/>
@@ -49,5 +49,5 @@ var AmountFormat;
49
49
  * denominated in the unit of the source token
50
50
  */
51
51
  AmountFormat["FLOAT"] = "float";
52
- })(AmountFormat = exports.AmountFormat || (exports.AmountFormat = {}));
52
+ })(AmountFormat || (exports.AmountFormat = AmountFormat = {}));
53
53
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAaA,oEAO2C;AANzC,2GAAA,SAAS,OAAA;AAKT,+GAAA,aAAa,OAAA;AAoBf,2DAAyC;AAWzC,gDAA8B;AAC9B,qDAA+D;AAAtD,0GAAA,WAAW,OAAA;AAAE,wGAAA,SAAS,OAAA;AAG/B,IAAY,gBAUX;AAVD,WAAY,gBAAgB;IAC1B;;OAEG;IACH,mDAA+B,CAAA;IAE/B;;OAEG;IACH,kDAA8B,CAAA;AAChC,CAAC,EAVW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAU3B;AAmCD;;;;GAIG;AACH,IAAY,YASX;AATD,WAAY,YAAY;IACtB;;OAEG;IACH,2BAAW,CAAA;IACX;;OAEG;IACH,+BAAe,CAAA;AACjB,CAAC,EATW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QASvB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAaA,oEAO2C;AANzC,2GAAA,SAAS,OAAA;AAKT,+GAAA,aAAa,OAAA;AAoBf,2DAAyC;AAWzC,gDAA8B;AAC9B,qDAA+D;AAAtD,0GAAA,WAAW,OAAA;AAAE,wGAAA,SAAS,OAAA;AAG/B,IAAY,gBAUX;AAVD,WAAY,gBAAgB;IAC1B;;OAEG;IACH,mDAA+B,CAAA;IAE/B;;OAEG;IACH,kDAA8B,CAAA;AAChC,CAAC,EAVW,gBAAgB,gCAAhB,gBAAgB,QAU3B;AAmCD;;;;GAIG;AACH,IAAY,YASX;AATD,WAAY,YAAY;IACtB;;OAEG;IACH,2BAAW,CAAA;IACX;;OAEG;IACH,+BAAe,CAAA;AACjB,CAAC,EATW,YAAY,4BAAZ,YAAY,QASvB","sourcesContent":["export {\n ApproveParams as BridgeApproveParams,\n BaseSendParams,\n CheckAllowanceParams,\n GetAllowanceParams,\n GetTokenBalanceParams,\n SendParams,\n SwapParams,\n GetNativeTokenBalanceParams,\n} from \"../services/bridge/models/bridge.model\";\nexport { BridgeService } from \"../services/bridge/index\";\nexport { CctpParams, CctpDomains } from \"../services/bridge/sol\";\nexport { LiquidityPoolService } from \"../services/liquidity-pool/index\";\nexport {\n Messenger,\n TransferStatusResponse,\n BridgeTransaction,\n GasBalanceResponse,\n CheckAddressResponse,\n AddressStatus,\n} from \"../client/core-api/core-api.model\";\nexport { RawBridgeTransactionBuilder } from \"../services/bridge/raw-bridge-transaction-builder\";\nexport { RawPoolTransactionBuilder } from \"../services/liquidity-pool/raw-pool-transaction-builder\";\nexport {\n PoolInfo,\n TokenWithChainDetails,\n TransferTime,\n TxCostAmount,\n MessengerTransferTime,\n} from \"../tokens-info/tokens-info.model\";\nexport {\n UserBalanceInfo,\n UserBalanceInfoDTO,\n LiquidityPoolsParams,\n LiquidityPoolsParamsWithAmount,\n ApproveParams as LiquidityPoolsApproveParams,\n CheckAllowanceParams as LiquidityPoolsCheckAllowanceParams,\n GetAllowanceParams as LiquidityPoolsGetAllowanceParams,\n} from \"../services/liquidity-pool/models/pool.model\";\nexport * from \"../services/models/index\";\nexport {\n SwapAndBridgeCalculationData,\n SwapFromVUsdCalcResult,\n SwapToVUsdCalcResult,\n} from \"../utils/calculation/swap-and-bridge-fee-calc\";\nexport { SendAmountDetails, AmountImpact } from \"../utils/calculation/swap-and-bridge-details\";\nexport { ChainDetailsMap, ChainDetailsWithTokens } from \"../tokens-info\";\nexport { Utils } from \"../utils\";\nexport { SrbUtils, TrustLineParams } from \"../utils/srb\";\nexport { SolUtils } from \"../utils/sol\";\nexport * from \"../exceptions\";\nexport { ChainSymbol, ChainType } from \"../chains/chain.enums\";\nexport { AdditionalBasicChainProperties, BasicChainProperties } from \"../chains/models\";\n\nexport enum FeePaymentMethod {\n /**\n * The fee is paid in the native currency of the source chain.\n */\n WITH_NATIVE_CURRENCY = \"native\",\n\n /**\n * The fee is paid with the stablecoin token.\n */\n WITH_STABLECOIN = \"stablecoin\",\n}\n\nexport interface AmountsAndGasFeeOptions {\n /**\n * The floating point amount of tokens to be sent (not including gas fee).\n */\n amountToSendFloat: string;\n\n /**\n * The floating point amount of tokens to be received.\n */\n amountToBeReceivedFloat: string;\n\n /**\n * Available ways to pay the transfer gas fee and gas fee amount.\n */\n gasFeeOptions: GasFeeOptions;\n}\n\ntype GasFeeOptionsType = {\n [key in FeePaymentMethod]?: AmountFormatted;\n};\n\n/**\n * Describes available options of paying the gas fee and the amount to pay when using the corresponding method.\n *\n * For {@link FeePaymentMethod.WITH_NATIVE_CURRENCY} value contains the amount in the smallest denomination of the source chain currency\n *\n * For {@link FeePaymentMethod.WITH_STABLECOIN} value contains the amount in the smallest denomination of the source token\n */\nexport interface GasFeeOptions extends GasFeeOptionsType {\n [FeePaymentMethod.WITH_NATIVE_CURRENCY]: AmountFormatted;\n [FeePaymentMethod.WITH_STABLECOIN]?: AmountFormatted;\n}\n\n/**\n * Define the type of amount data<p/>\n * Example:<p/>\n * \"1500000\" USDC {@link AmountFormat.INT} = \"1.5\" USDC {@link AmountFormat.FLOAT}, if USDC.decimals = 6\n */\nexport enum AmountFormat {\n /**\n * denominated in the smallest unit of the source token\n */\n INT = \"int\",\n /**\n * denominated in the unit of the source token\n */\n FLOAT = \"float\",\n}\n\n/**\n * Describes the same amount in two variation formats.\n *\n * For {@link AmountFormat.INT} value contains the amount in the smallest denomination\n *\n * For {@link AmountFormat.FLOAT} value contains the amount in tokens denomination\n */\nexport type AmountFormatted = {\n [key in AmountFormat]: string;\n};\n\n/**\n * Describes MAX extra gas value can to be passed when using the corresponding method.\n *\n * For {@link FeePaymentMethod.WITH_NATIVE_CURRENCY} value contains {@link ExtraGasMaxLimit} the amount of the source chain currency\n *\n * For {@link FeePaymentMethod.WITH_STABLECOIN} value contains {@link ExtraGasMaxLimit} the amount of the source token\n */\nexport type ExtraGasMaxLimits = {\n [key in FeePaymentMethod]?: ExtraGasMaxLimit;\n};\n\n/**\n * Describes the same MAX extra gas amount.\n */\nexport type ExtraGasMaxLimit = AmountFormatted;\n\n/**\n * Provide extra gas information\n */\nexport interface ExtraGasMaxLimitResponse {\n /**\n * See {@link ExtraGasMaxLimits}\n */\n extraGasMax: ExtraGasMaxLimits;\n /**\n * Information due to destination chain\n */\n destinationChain: {\n /**\n * gasAmountMax maximum amount you can receive as extra gas on dest chain\n */\n gasAmountMax: ExtraGasMaxLimit;\n /**\n * cost of swap tx on chain\n */\n swap: AmountFormatted;\n /**\n * cost of send tx on chain\n */\n transfer: AmountFormatted;\n };\n /**\n * Exchange rate\n */\n exchangeRate: string;\n /**\n * Source native token price\n */\n sourceNativeTokenPrice: string;\n}\n\n/**\n * Provide pending status information\n */\nexport interface PendingStatusInfoResponse {\n /**\n * Number of pending transactions\n */\n pendingTxs: number;\n /**\n * Total amount of pending transactions\n */\n pendingAmount: AmountFormatted;\n /**\n * The amount of tokens can be received as a result of transfer considering pending transactions\n */\n estimatedAmount: { min: AmountFormatted; max: AmountFormatted };\n}\n"]}
@@ -1,22 +1,20 @@
1
- import Web3 from "web3";
2
1
  import { AllbridgeCoreClient } from "../../../client/core-api/core-client-base";
3
- import { ChainType, SwapParams, TransactionResponse } from "../../../models";
2
+ import { ChainType, EssentialWeb3, SwapParams, TransactionResponse } from "../../../models";
4
3
  import { NodeRpcUrlsConfig } from "../../index";
5
4
  import { RawTransaction } from "../../models";
6
- import { SendParams, TxSwapParams } from "../models";
7
- import { ChainBridgeService } from "../models/bridge";
5
+ import { SendParams, ChainBridgeService, TxSwapParamsEvm } from "../models";
8
6
  export declare class EvmBridgeService extends ChainBridgeService {
9
- web3: Web3;
7
+ web3: EssentialWeb3;
10
8
  api: AllbridgeCoreClient;
11
9
  private nodeRpcUrlsConfig;
12
10
  chainType: ChainType.EVM;
13
- constructor(web3: Web3, api: AllbridgeCoreClient, nodeRpcUrlsConfig: NodeRpcUrlsConfig);
11
+ constructor(web3: EssentialWeb3, api: AllbridgeCoreClient, nodeRpcUrlsConfig: NodeRpcUrlsConfig);
14
12
  send(params: SendParams): Promise<TransactionResponse>;
15
13
  buildRawTransactionSwap(params: SwapParams): Promise<RawTransaction>;
16
- buildRawTransactionSwapFromParams(params: TxSwapParams): Promise<RawTransaction>;
14
+ buildRawTransactionSwapFromParams(params: TxSwapParamsEvm): Promise<RawTransaction>;
17
15
  buildRawTransactionSend(params: SendParams): Promise<RawTransaction>;
18
16
  private buildRawTransactionCctpSend;
19
17
  private sendRawTransaction;
20
- private getContract;
21
18
  private getBridgeContract;
19
+ private getCctpBridgeContract;
22
20
  }
@@ -31,19 +31,22 @@ const anchor = __importStar(require("@project-serum/anchor"));
31
31
  const web3_js_1 = require("@solana/web3.js");
32
32
  const big_js_1 = require("big.js");
33
33
  const models_1 = require("../../../models");
34
- const Bridge_json_1 = __importDefault(require("../../models/abi/Bridge.json"));
35
- const CctpBridge_json_1 = __importDefault(require("../../models/abi/CctpBridge.json"));
34
+ const Bridge_1 = __importDefault(require("../../models/abi/Bridge"));
35
+ const CctpBridge_1 = __importDefault(require("../../models/abi/CctpBridge"));
36
36
  const accounts_1 = require("../../utils/sol/accounts");
37
37
  const anchor_provider_1 = require("../../utils/sol/anchor-provider");
38
- const bridge_1 = require("../models/bridge");
38
+ const models_2 = require("../models");
39
39
  const utils_1 = require("../utils");
40
- class EvmBridgeService extends bridge_1.ChainBridgeService {
40
+ class EvmBridgeService extends models_2.ChainBridgeService {
41
+ web3;
42
+ api;
43
+ nodeRpcUrlsConfig;
44
+ chainType = models_1.ChainType.EVM;
41
45
  constructor(web3, api, nodeRpcUrlsConfig) {
42
46
  super();
43
47
  this.web3 = web3;
44
48
  this.api = api;
45
49
  this.nodeRpcUrlsConfig = nodeRpcUrlsConfig;
46
- this.chainType = models_1.ChainType.EVM;
47
50
  }
48
51
  async send(params) {
49
52
  const rawTransaction = await this.buildRawTransactionSend(params);
@@ -98,7 +101,7 @@ class EvmBridgeService extends bridge_1.ChainBridgeService {
98
101
  }
99
102
  async buildRawTransactionCctpSend(params, txSendParams, totalFee) {
100
103
  const { amount, contractAddress, toChainId, toAccountAddress, gasFeePaymentMethod } = txSendParams;
101
- const cctpBridgeContract = this.getContract(CctpBridge_json_1.default, contractAddress);
104
+ const cctpBridgeContract = this.getCctpBridgeContract(contractAddress);
102
105
  let sendMethod;
103
106
  let value;
104
107
  if (params.destinationToken.chainType === models_1.ChainType.SOLANA) {
@@ -153,7 +156,6 @@ class EvmBridgeService extends bridge_1.ChainBridgeService {
153
156
  }
154
157
  async sendRawTransaction(rawTransaction) {
155
158
  const estimateGas = await this.web3.eth.estimateGas(rawTransaction);
156
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
157
159
  // @ts-expect-error DISABLE SITE SUGGESTED GAS FEE IN METAMASK
158
160
  // prettier-ignore
159
161
  const feeOptions = { maxPriorityFeePerGas: null, maxFeePerGas: null };
@@ -162,13 +164,13 @@ class EvmBridgeService extends bridge_1.ChainBridgeService {
162
164
  gas: estimateGas,
163
165
  ...feeOptions,
164
166
  });
165
- return { txId: transactionHash };
166
- }
167
- getContract(abiItem, contractAddress) {
168
- return new this.web3.eth.Contract(abiItem, contractAddress);
167
+ return { txId: transactionHash.toString() };
169
168
  }
170
169
  getBridgeContract(contractAddress) {
171
- return this.getContract(Bridge_json_1.default, contractAddress);
170
+ return new this.web3.eth.Contract(Bridge_1.default.abi, contractAddress);
171
+ }
172
+ getCctpBridgeContract(contractAddress) {
173
+ return new this.web3.eth.Contract(CctpBridge_1.default.abi, contractAddress);
172
174
  }
173
175
  }
174
176
  exports.EvmBridgeService = EvmBridgeService;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/bridge/evm/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/bridge/evm/index.ts"],"names":[],"mappings":"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","sourcesContent":["import * as anchor from \"@project-serum/anchor\";\nimport { PublicKey } from \"@solana/web3.js\";\nimport { Big } from \"big.js\";\nimport BN from \"bn.js\";\nimport { Contract, Transaction as Web3Transaction } from \"web3\";\nimport { PayableMethodObject } from \"web3-eth-contract\";\nimport { AllbridgeCoreClient } from \"../../../client/core-api/core-client-base\";\nimport {\n ChainSymbol,\n ChainType,\n FeePaymentMethod,\n Messenger,\n EssentialWeb3,\n SdkError,\n SwapParams,\n TransactionResponse,\n} from \"../../../models\";\nimport { NodeRpcUrlsConfig } from \"../../index\";\nimport { RawTransaction } from \"../../models\";\nimport Bridge from \"../../models/abi/Bridge\";\nimport CctpBridge from \"../../models/abi/CctpBridge\";\nimport { getAssociatedAccount } from \"../../utils/sol/accounts\";\nimport { buildAnchorProvider } from \"../../utils/sol/anchor-provider\";\nimport { SendParams, ChainBridgeService, TxSwapParamsEvm, TxSendParamsEvm } from \"../models\";\nimport { formatAddress, getNonce, prepareTxSendParams, prepareTxSwapParams } from \"../utils\";\n\nexport class EvmBridgeService extends ChainBridgeService {\n chainType: ChainType.EVM = ChainType.EVM;\n\n constructor(\n public web3: EssentialWeb3,\n public api: AllbridgeCoreClient,\n private nodeRpcUrlsConfig: NodeRpcUrlsConfig,\n ) {\n super();\n }\n\n async send(params: SendParams): Promise<TransactionResponse> {\n const rawTransaction = await this.buildRawTransactionSend(params);\n return this.sendRawTransaction(rawTransaction);\n }\n\n async buildRawTransactionSwap(params: SwapParams): Promise<RawTransaction> {\n const txSwapParams = prepareTxSwapParams(this.chainType, params);\n return await this.buildRawTransactionSwapFromParams(txSwapParams);\n }\n\n async buildRawTransactionSwapFromParams(params: TxSwapParamsEvm): Promise<RawTransaction> {\n const {\n amount,\n contractAddress,\n fromAccountAddress,\n fromTokenAddress,\n toAccountAddress,\n toTokenAddress,\n minimumReceiveAmount,\n } = params;\n\n const bridgeContract = this.getBridgeContract(contractAddress);\n\n const swapMethod = bridgeContract.methods.swap(\n amount,\n fromTokenAddress,\n toTokenAddress,\n toAccountAddress,\n minimumReceiveAmount,\n );\n\n return Promise.resolve({\n from: fromAccountAddress,\n to: contractAddress,\n data: swapMethod.encodeABI(),\n });\n }\n\n async buildRawTransactionSend(params: SendParams): Promise<RawTransaction> {\n const txSendParams = await prepareTxSendParams(this.chainType, params, this.api);\n const {\n amount,\n contractAddress,\n fromAccountAddress,\n fromTokenAddress,\n toChainId,\n toAccountAddress,\n toTokenAddress,\n messenger,\n fee,\n gasFeePaymentMethod,\n extraGas,\n } = txSendParams;\n\n const nonce = \"0x\" + getNonce().toString(\"hex\");\n let sendMethod: PayableMethodObject;\n let value: string;\n\n let totalFee = fee;\n if (extraGas) {\n totalFee = Big(totalFee).plus(extraGas).toFixed();\n }\n if (messenger === Messenger.CCTP) {\n const cctp = await this.buildRawTransactionCctpSend(params, txSendParams, totalFee);\n sendMethod = cctp.sendMethod;\n value = cctp.value;\n } else {\n const bridgeContract = this.getBridgeContract(contractAddress);\n if (gasFeePaymentMethod === FeePaymentMethod.WITH_STABLECOIN) {\n sendMethod = bridgeContract.methods.swapAndBridge(\n fromTokenAddress,\n amount,\n toAccountAddress,\n toChainId,\n toTokenAddress,\n nonce,\n messenger,\n totalFee,\n );\n value = \"0\";\n } else {\n sendMethod = bridgeContract.methods.swapAndBridge(\n fromTokenAddress,\n amount,\n toAccountAddress,\n toChainId,\n toTokenAddress,\n nonce,\n messenger,\n 0,\n );\n value = totalFee;\n }\n }\n\n return Promise.resolve({\n from: fromAccountAddress,\n to: contractAddress,\n value: value,\n data: sendMethod.encodeABI(),\n });\n }\n\n private async buildRawTransactionCctpSend(\n params: SendParams,\n txSendParams: TxSendParamsEvm,\n totalFee: string,\n ): Promise<{\n sendMethod: PayableMethodObject;\n value: string;\n }> {\n const { amount, contractAddress, toChainId, toAccountAddress, gasFeePaymentMethod } = txSendParams;\n\n const cctpBridgeContract = this.getCctpBridgeContract(contractAddress);\n let sendMethod: PayableMethodObject;\n let value: string;\n\n if (params.destinationToken.chainType === ChainType.SOLANA) {\n let recipientWalletAddress: string;\n const receiverAccount = new PublicKey(params.toAccountAddress);\n const receiveMint = new PublicKey(params.destinationToken.tokenAddress);\n const receiveUserToken = await getAssociatedAccount(receiverAccount, receiveMint);\n const provider = buildAnchorProvider(\n this.nodeRpcUrlsConfig.getNodeRpcUrl(ChainSymbol.SOL),\n params.toAccountAddress,\n );\n anchor.setProvider(provider);\n const accountData = await anchor.Spl.token(provider).account.token.fetchNullable(receiveUserToken);\n if (accountData?.authority.equals(receiverAccount)) {\n recipientWalletAddress = formatAddress(receiveUserToken.toBase58(), ChainType.SOLANA, this.chainType);\n } else {\n const tokenAccounts = await provider.connection.getTokenAccountsByOwner(receiverAccount, {\n mint: receiveMint,\n });\n if (tokenAccounts.value.length === 0 && !accountData) {\n recipientWalletAddress = formatAddress(receiveUserToken.toBase58(), ChainType.SOLANA, this.chainType);\n } else if (tokenAccounts.value.length > 0) {\n const firstTokenAccount = tokenAccounts.value[0];\n\n if (!firstTokenAccount?.pubkey) {\n throw new SdkError(\"First token account or its public key is undefined\");\n }\n recipientWalletAddress = formatAddress(firstTokenAccount.pubkey.toBase58(), ChainType.SOLANA, this.chainType);\n } else {\n throw new SdkError(\"Associated account has wrong owner\");\n }\n }\n\n if (gasFeePaymentMethod === FeePaymentMethod.WITH_STABLECOIN) {\n sendMethod = cctpBridgeContract.methods.bridgeWithWalletAddress(\n amount,\n recipientWalletAddress,\n toAccountAddress,\n toChainId,\n totalFee,\n );\n value = \"0\";\n } else {\n sendMethod = cctpBridgeContract.methods.bridgeWithWalletAddress(\n amount,\n recipientWalletAddress,\n toAccountAddress,\n toChainId,\n 0,\n );\n value = totalFee;\n }\n } else {\n if (gasFeePaymentMethod === FeePaymentMethod.WITH_STABLECOIN) {\n sendMethod = cctpBridgeContract.methods.bridge(amount, toAccountAddress, toChainId, totalFee);\n value = \"0\";\n } else {\n sendMethod = cctpBridgeContract.methods.bridge(amount, toAccountAddress, toChainId, 0);\n value = totalFee;\n }\n }\n return { sendMethod, value };\n }\n\n private async sendRawTransaction(rawTransaction: RawTransaction) {\n const estimateGas = await this.web3.eth.estimateGas(rawTransaction as Web3Transaction);\n\n // @ts-expect-error DISABLE SITE SUGGESTED GAS FEE IN METAMASK\n // prettier-ignore\n const feeOptions: { maxPriorityFeePerGas?: number | string | BN; maxFeePerGas?: number | string | BN } = { maxPriorityFeePerGas: null, maxFeePerGas: null };\n const { transactionHash } = await this.web3.eth.sendTransaction({\n ...(rawTransaction as object),\n gas: estimateGas,\n ...feeOptions,\n } as Web3Transaction);\n return { txId: transactionHash.toString() };\n }\n\n private getBridgeContract(contractAddress: string) {\n return new this.web3.eth.Contract(Bridge.abi, contractAddress) as Contract<typeof Bridge.abi>;\n }\n\n private getCctpBridgeContract(contractAddress: string) {\n return new this.web3.eth.Contract(CctpBridge.abi, contractAddress) as Contract<typeof CctpBridge.abi>;\n }\n}\n"]}
@@ -5,8 +5,7 @@ import { AllbridgeCoreSdkOptions } from "../../index";
5
5
  import { TokenWithChainDetails } from "../../tokens-info";
6
6
  import { Provider, TransactionResponse } from "../models";
7
7
  import { TokenService } from "../token";
8
- import { ApproveParams, CheckAllowanceParams, GetAllowanceParams, SendParams } from "./models";
9
- import { ChainBridgeService } from "./models/bridge";
8
+ import { ApproveParams, CheckAllowanceParams, GetAllowanceParams, SendParams, ChainBridgeService } from "./models";
10
9
  import { RawBridgeTransactionBuilder } from "./raw-bridge-transaction-builder";
11
10
  export interface BridgeService {
12
11
  rawTxBuilder: RawBridgeTransactionBuilder;
@@ -37,7 +36,7 @@ export interface BridgeService {
37
36
  */
38
37
  checkAllowance(params: CheckAllowanceParams): Promise<boolean>;
39
38
  /**
40
- * @Deprecated Use {@link rawTxBuilder}.{@link RawBridgeTransactionBuilder.approve}<p>
39
+ * @deprecated Use {@link rawTxBuilder}.{@link RawBridgeTransactionBuilder.approve}<p>
41
40
  * Approve tokens usage by another address on chains
42
41
  * <p>
43
42
  * For ETH/USDT: due to specificity of the USDT contract:<br/>
@@ -47,7 +46,7 @@ export interface BridgeService {
47
46
  */
48
47
  approve(provider: Provider, approveData: ApproveParams): Promise<TransactionResponse>;
49
48
  /**
50
- * @Deprecated Use {@link rawTxBuilder}.{@link RawBridgeTransactionBuilder.send}<p>
49
+ * @deprecated Use {@link rawTxBuilder}.{@link RawBridgeTransactionBuilder.send}<p>
51
50
  * Send tokens through the ChainBridgeService
52
51
  * @param provider - will be used to access the network
53
52
  * @param params
@@ -1,12 +1,10 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getChainBridgeService = exports.getSpender = exports.DefaultBridgeService = void 0;
7
- // @ts-expect-error import tron
8
- const tronweb_1 = __importDefault(require("tronweb"));
9
- const web3_1 = __importDefault(require("web3"));
3
+ exports.DefaultBridgeService = void 0;
4
+ exports.getSpender = getSpender;
5
+ exports.getChainBridgeService = getChainBridgeService;
6
+ const tronweb_1 = require("tronweb");
7
+ const web3_1 = require("web3");
10
8
  const chains_1 = require("../../chains");
11
9
  const core_api_model_1 = require("../../client/core-api/core-api.model");
12
10
  const exceptions_1 = require("../../exceptions");
@@ -18,6 +16,11 @@ const sol_1 = require("./sol");
18
16
  const srb_1 = require("./srb");
19
17
  const trx_1 = require("./trx");
20
18
  class DefaultBridgeService {
19
+ api;
20
+ nodeRpcUrlsConfig;
21
+ params;
22
+ tokenService;
23
+ rawTxBuilder;
21
24
  constructor(api, nodeRpcUrlsConfig, params, tokenService) {
22
25
  this.api = api;
23
26
  this.nodeRpcUrlsConfig = nodeRpcUrlsConfig;
@@ -75,7 +78,6 @@ function getSpender(token, messenger) {
75
78
  return token.bridgeAddress;
76
79
  }
77
80
  }
78
- exports.getSpender = getSpender;
79
81
  function getChainBridgeService(chainSymbol, api, nodeRpcUrlsConfig, params, provider) {
80
82
  switch (chains_1.Chains.getChainProperty(chainSymbol).chainType) {
81
83
  case index_1.ChainType.EVM: {
@@ -84,7 +86,7 @@ function getChainBridgeService(chainSymbol, api, nodeRpcUrlsConfig, params, prov
84
86
  }
85
87
  else {
86
88
  const nodeRpcUrl = nodeRpcUrlsConfig.getNodeRpcUrl(chainSymbol);
87
- return new evm_1.EvmBridgeService(new web3_1.default(nodeRpcUrl), api, nodeRpcUrlsConfig);
89
+ return new evm_1.EvmBridgeService(new web3_1.Web3(nodeRpcUrl), api, nodeRpcUrlsConfig);
88
90
  }
89
91
  }
90
92
  case index_1.ChainType.TRX: {
@@ -93,7 +95,11 @@ function getChainBridgeService(chainSymbol, api, nodeRpcUrlsConfig, params, prov
93
95
  }
94
96
  else {
95
97
  const nodeRpcUrl = nodeRpcUrlsConfig.getNodeRpcUrl(chainSymbol);
96
- return new trx_1.TronBridgeService(new tronweb_1.default({ fullHost: nodeRpcUrl }), api);
98
+ return new trx_1.TronBridgeService(new tronweb_1.TronWeb({
99
+ fullHost: nodeRpcUrl,
100
+ solidityNode: nodeRpcUrl,
101
+ eventServer: nodeRpcUrl,
102
+ }), api);
97
103
  }
98
104
  }
99
105
  case index_1.ChainType.SOLANA: {
@@ -109,5 +115,4 @@ function getChainBridgeService(chainSymbol, api, nodeRpcUrlsConfig, params, prov
109
115
  }
110
116
  }
111
117
  }
112
- exports.getChainBridgeService = getChainBridgeService;
113
118
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/bridge/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/bridge/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { TronWeb } from \"tronweb\";\nimport { Web3 } from \"web3\";\nimport { NodeRpcUrlsConfig } from \"..\";\nimport { Chains } from \"../../chains\";\nimport { Messenger } from \"../../client/core-api/core-api.model\";\nimport { AllbridgeCoreClient } from \"../../client/core-api/core-client-base\";\nimport { CCTPDoesNotSupportedError } from \"../../exceptions\";\nimport { AllbridgeCoreSdkOptions, ChainSymbol, ChainType, EssentialWeb3 } from \"../../index\";\nimport { TokenWithChainDetails } from \"../../tokens-info\";\nimport { validateAmountDecimals, validateAmountGtZero } from \"../../utils/utils\";\nimport { Provider, TransactionResponse } from \"../models\";\nimport { TokenService } from \"../token\";\nimport { EvmBridgeService } from \"./evm\";\nimport { ApproveParams, CheckAllowanceParams, GetAllowanceParams, SendParams, ChainBridgeService } from \"./models\";\nimport { DefaultRawBridgeTransactionBuilder, RawBridgeTransactionBuilder } from \"./raw-bridge-transaction-builder\";\nimport { SolanaBridgeService } from \"./sol\";\nimport { SrbBridgeService } from \"./srb\";\nimport { TronBridgeService } from \"./trx\";\n\nexport interface BridgeService {\n rawTxBuilder: RawBridgeTransactionBuilder;\n\n /**\n * Get amount of tokens approved to be sent by the bridge\n * @param provider - will be used to access the network\n * @param params See {@link GetAllowanceParams}\n * @returns the amount of approved tokens\n */\n getAllowance(provider: Provider, params: GetAllowanceParams): Promise<string>;\n\n /**\n * Get amount of tokens approved to be sent by the bridge\n * @param params See {@link GetAllowanceParams}\n * @returns the amount of approved tokens\n */\n getAllowance(params: GetAllowanceParams): Promise<string>;\n\n /**\n * Check if the amount of approved tokens is enough to make a transfer\n * @param provider - will be used to access the network\n * @param params See {@link CheckAllowanceParams}\n * @returns true if the amount of approved tokens is enough to make a transfer\n */\n checkAllowance(provider: Provider, params: CheckAllowanceParams): Promise<boolean>;\n\n /**\n * Check if the amount of approved tokens is enough to make a transfer\n * @param params See {@link CheckAllowanceParams}\n * @returns true if the amount of approved tokens is enough to make a transfer\n */\n checkAllowance(params: CheckAllowanceParams): Promise<boolean>;\n\n /**\n * @deprecated Use {@link rawTxBuilder}.{@link RawBridgeTransactionBuilder.approve}<p>\n * Approve tokens usage by another address on chains\n * <p>\n * For ETH/USDT: due to specificity of the USDT contract:<br/>\n * If the current allowance is not 0, this function will perform an additional transaction to set allowance to 0 before setting the new allowance value.\n * @param provider - will be used to access the network\n * @param approveData\n */\n approve(provider: Provider, approveData: ApproveParams): Promise<TransactionResponse>;\n\n /**\n * @deprecated Use {@link rawTxBuilder}.{@link RawBridgeTransactionBuilder.send}<p>\n * Send tokens through the ChainBridgeService\n * @param provider - will be used to access the network\n * @param params\n */\n send(provider: Provider, params: SendParams): Promise<TransactionResponse>;\n}\n\nexport class DefaultBridgeService implements BridgeService {\n public rawTxBuilder: RawBridgeTransactionBuilder;\n\n constructor(\n private api: AllbridgeCoreClient,\n private nodeRpcUrlsConfig: NodeRpcUrlsConfig,\n private params: AllbridgeCoreSdkOptions,\n private tokenService: TokenService,\n ) {\n this.rawTxBuilder = new DefaultRawBridgeTransactionBuilder(api, nodeRpcUrlsConfig, params, tokenService);\n }\n\n async getAllowance(a: Provider | GetAllowanceParams, b?: GetAllowanceParams): Promise<string> {\n let provider: Provider | undefined;\n let params: GetAllowanceParams;\n if (b) {\n provider = a as Provider;\n params = b;\n } else {\n params = a as GetAllowanceParams;\n }\n const spender = getSpender(params.token, params.messenger);\n return await this.tokenService.getAllowance({ ...params, spender }, provider);\n }\n\n async checkAllowance(a: Provider | CheckAllowanceParams, b?: CheckAllowanceParams): Promise<boolean> {\n let provider: Provider | undefined;\n let params: CheckAllowanceParams;\n if (b) {\n provider = a as Provider;\n params = b;\n } else {\n params = a as CheckAllowanceParams;\n }\n const spender = getSpender(params.token, params.messenger);\n return this.tokenService.checkAllowance({ ...params, spender }, provider);\n }\n\n async approve(provider: Provider, approveData: ApproveParams): Promise<TransactionResponse> {\n const spender = getSpender(approveData.token, approveData.messenger);\n return this.tokenService.approve(provider, { ...approveData, spender });\n }\n\n async send(provider: Provider, params: SendParams): Promise<TransactionResponse> {\n validateAmountGtZero(params.amount);\n validateAmountDecimals(\"amount\", params.amount, params.sourceToken.decimals);\n return getChainBridgeService(\n params.sourceToken.chainSymbol,\n this.api,\n this.nodeRpcUrlsConfig,\n this.params,\n provider,\n ).send(params);\n }\n}\n\nexport function getSpender(token: TokenWithChainDetails, messenger?: Messenger): string {\n if (messenger && messenger == Messenger.CCTP) {\n if (token.cctpAddress) {\n return token.cctpAddress;\n } else {\n throw new CCTPDoesNotSupportedError(\"Such route does not support CCTP protocol\");\n }\n } else {\n return token.bridgeAddress;\n }\n}\n\nexport function getChainBridgeService(\n chainSymbol: string,\n api: AllbridgeCoreClient,\n nodeRpcUrlsConfig: NodeRpcUrlsConfig,\n params: AllbridgeCoreSdkOptions,\n provider?: Provider,\n): ChainBridgeService {\n switch (Chains.getChainProperty(chainSymbol).chainType) {\n case ChainType.EVM: {\n if (provider) {\n return new EvmBridgeService(provider as EssentialWeb3, api, nodeRpcUrlsConfig);\n } else {\n const nodeRpcUrl = nodeRpcUrlsConfig.getNodeRpcUrl(chainSymbol);\n return new EvmBridgeService(new Web3(nodeRpcUrl), api, nodeRpcUrlsConfig);\n }\n }\n case ChainType.TRX: {\n if (provider) {\n return new TronBridgeService(provider as TronWeb, api);\n } else {\n const nodeRpcUrl = nodeRpcUrlsConfig.getNodeRpcUrl(chainSymbol);\n return new TronBridgeService(\n new TronWeb({\n fullHost: nodeRpcUrl,\n solidityNode: nodeRpcUrl,\n eventServer: nodeRpcUrl,\n }),\n api,\n );\n }\n }\n case ChainType.SOLANA: {\n return new SolanaBridgeService(\n nodeRpcUrlsConfig.getNodeRpcUrl(ChainSymbol.SOL),\n {\n wormholeMessengerProgramId: params.wormholeMessengerProgramId,\n solanaLookUpTable: params.solanaLookUpTable,\n cctpParams: params.cctpParams,\n jupiterUrl: params.jupiterUrl,\n },\n api,\n );\n }\n case ChainType.SRB: {\n return new SrbBridgeService(nodeRpcUrlsConfig, params, api);\n }\n }\n}\n"]}
@@ -6,7 +6,7 @@ export declare abstract class ChainBridgeService {
6
6
  abstract chainType: ChainType;
7
7
  abstract api: AllbridgeCoreClient;
8
8
  /**
9
- * @Deprecated Use {@link buildRawTransactionSend} or {@link buildRawTransactionSwap} instead<p>
9
+ * @deprecated Use {@link buildRawTransactionSend} or {@link buildRawTransactionSwap} instead<p>
10
10
  * Send tokens through the ChainBridgeService
11
11
  * @param params
12
12
  */
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../../../../src/services/bridge/models/bridge.ts"],"names":[],"mappings":";;;AAKA,MAAsB,kBAAkB;CAYvC;AAZD,gDAYC"}
1
+ {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../../../../src/services/bridge/models/bridge.ts"],"names":[],"mappings":";;;AAKA,MAAsB,kBAAkB;CAYvC;AAZD,gDAYC","sourcesContent":["import { ChainType } from \"../../../chains/chain.enums\";\nimport { AllbridgeCoreClient } from \"../../../client/core-api/core-client-base\";\nimport { RawTransaction, TransactionResponse } from \"../../models\";\nimport { SendParams, SwapParams } from \"./bridge.model\";\n\nexport abstract class ChainBridgeService {\n abstract chainType: ChainType;\n abstract api: AllbridgeCoreClient;\n\n /**\n * @deprecated Use {@link buildRawTransactionSend} or {@link buildRawTransactionSwap} instead<p>\n * Send tokens through the ChainBridgeService\n * @param params\n */\n abstract send(params: SendParams): Promise<TransactionResponse>;\n abstract buildRawTransactionSend(params: SendParams): Promise<RawTransaction>;\n abstract buildRawTransactionSwap(params: SwapParams): Promise<RawTransaction>;\n}\n"]}
@@ -152,32 +152,40 @@ export interface CheckAllowanceParams extends GetAllowanceParams {
152
152
  */
153
153
  amount: string | number | Big;
154
154
  }
155
- type AccountAddress = string | number[];
156
155
  /**
157
156
  * @internal
158
157
  */
159
- export interface TxSwapParams {
158
+ export type TxSwapParamsEvm = TxSwapParamsTyped<string>;
159
+ export type TxSwapParamsTrx = TxSwapParamsTyped<Buffer>;
160
+ export type TxSwapParamsSol = TxSwapParamsTyped<number[]>;
161
+ export type TxSwapParamsSrb = TxSwapParamsTyped<number[]>;
162
+ export interface TxSwapParamsTyped<T> {
160
163
  amount: string;
161
164
  contractAddress: string;
162
165
  fromAccountAddress: string;
163
- fromTokenAddress: AccountAddress;
164
- toAccountAddress: AccountAddress;
165
- toTokenAddress: AccountAddress;
166
+ fromTokenAddress: T;
167
+ toAccountAddress: string;
168
+ toTokenAddress: T;
166
169
  minimumReceiveAmount: string;
167
170
  }
171
+ export type TxSwapParams = TxSwapParamsEvm | TxSwapParamsTrx | TxSwapParamsSol | TxSwapParamsSrb;
168
172
  /**
169
173
  * @internal
170
174
  */
171
- export interface TxSendParams {
175
+ export type TxSendParamsEvm = TxSendParamsTyped<string>;
176
+ export type TxSendParamsTrx = TxSendParamsTyped<Buffer>;
177
+ export type TxSendParamsSol = TxSendParamsTyped<number[]>;
178
+ export type TxSendParamsSrb = TxSendParamsTyped<number[]>;
179
+ export interface TxSendParamsTyped<T> {
172
180
  amount: string;
173
181
  contractAddress: string;
174
182
  fromChainId: number;
175
183
  fromChainSymbol: string;
176
184
  fromAccountAddress: string;
177
- fromTokenAddress: AccountAddress;
185
+ fromTokenAddress: T;
178
186
  toChainId: number;
179
- toAccountAddress: AccountAddress;
180
- toTokenAddress: AccountAddress;
187
+ toAccountAddress: T;
188
+ toTokenAddress: T;
181
189
  messenger: Messenger;
182
190
  /**
183
191
  * int format
@@ -189,4 +197,4 @@ export interface TxSendParams {
189
197
  extraGas?: string;
190
198
  gasFeePaymentMethod: FeePaymentMethod;
191
199
  }
192
- export {};
200
+ export type TxSendParams = TxSendParamsEvm | TxSendParamsTrx | TxSendParamsSol | TxSendParamsSrb;
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.model.js","sourceRoot":"","sources":["../../../../../src/services/bridge/models/bridge.model.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"bridge.model.js","sourceRoot":"","sources":["../../../../../src/services/bridge/models/bridge.model.ts"],"names":[],"mappings":"","sourcesContent":["import { Big } from \"big.js\";\nimport { Messenger } from \"../../../client/core-api/core-api.model\";\nimport { AmountFormat, FeePaymentMethod, TxFeeParams } from \"../../../models\";\nimport { TokenWithChainDetails } from \"../../../tokens-info\";\n\nexport interface ApproveParams {\n /**\n * The token info\n */\n token: TokenWithChainDetails;\n\n /**\n * The address of the token owner who is granting permission to use tokens\n */\n owner: string;\n\n /**\n * The integer amount of tokens to approve.\n * Optional.\n * The maximum amount by default.\n */\n amount?: string | number | Big;\n\n /**\n * The Messengers for different routes to approve.\n * Optional.\n * The {@link Messenger.ALLBRIDGE}, {@link Messenger.WORMHOLE} by default.\n */\n messenger?: Messenger;\n}\n\nexport interface GetTokenBalanceParams {\n /**\n * The address for which we will find out the token balance\n */\n account: string;\n token: TokenWithChainDetails;\n}\n\nexport interface GetNativeTokenBalanceParams {\n /**\n * The address for which we will find out the token balance\n */\n account: string;\n /**\n * The symbol of the chain representing one of the supported blockchain networks (e.g., \"ETH\" for Ethereum). For more details, see: {@link ChainSymbol}.\n */\n chainSymbol: string;\n}\n\nexport interface BaseSendParams {\n /**\n * The float amount of Total tokens to transfer.\n *\n * In Send case\n * If {@link SendParams#gasFeePaymentMethod} is {@link FeePaymentMethod#WITH_STABLECOIN}:<br/>\n * Includes gas fee<br/>\n * Includes extra gas\n */\n amount: string;\n /**\n * The account address to transfer tokens from.\n */\n fromAccountAddress: string;\n /**\n * The account address to transfer tokens to.\n */\n toAccountAddress: string;\n /**\n * {@link TokenWithChainDetails |The token info object} on the source chain.\n */\n sourceToken: TokenWithChainDetails;\n /**\n * {@link TokenWithChainDetails |The token info object} on the destination chain.\n */\n destinationToken: TokenWithChainDetails;\n\n txFeeParams?: TxFeeParams;\n}\n\n/**\n * Required params to handle swap transfer (different tokens on the same chain)\n */\nexport interface SwapParams extends BaseSendParams {\n /**\n * minimum amount to receive including possible slippage, see {@link AllbridgeCoreSdk#getAmountToBeReceived}\n */\n minimumReceiveAmount?: string;\n}\n\n/**\n * Required params to handle bridge transfer (transfer between chains)\n */\nexport interface SendParams extends BaseSendParams {\n /**\n * The Messenger to use.\n */\n messenger: Messenger;\n /**\n * The amount of gas fee to pay for the transfer.\n *\n * If {@link gasFeePaymentMethod} is {@link FeePaymentMethod#WITH_NATIVE_CURRENCY} then\n * it is amount of the source chain currency.<p/>\n * If {@link gasFeePaymentMethod} is {@link FeePaymentMethod#WITH_STABLECOIN} then\n * it is amount of the source token.\n *\n * Optional.\n * If not defined, the default fee amount will be applied according to gasFeePaymentMethod.\n * See method {@link AllbridgeCoreSdk#getGasFeeOptions} to get required gas fee amount.\n */\n fee?: string;\n /**\n * Format of fee value.<p/>\n * Optional.\n * {@link AmountFormat.INT} by default.\n */\n feeFormat?: AmountFormat;\n /**\n * The amount of extra gas to transfer to gas on destination chain with the transfer.<br/>\n * To get maximum supported value, look {@link AllbridgeCoreSdk#getExtraGasMaxLimits}\n *\n * If gasFeePaymentMethod is {@link FeePaymentMethod#WITH_NATIVE_CURRENCY} then\n * it is amount of the source chain currency.<p/>\n * if gasFeePaymentMethod is {@link FeePaymentMethod#WITH_STABLECOIN} then\n * it is amount of the source token.\n *\n * Optional.\n */\n extraGas?: string;\n /**\n * Format of extra gas value.<p/>\n * Optional.\n * {@link AmountFormat.INT} by default.\n */\n extraGasFormat?: AmountFormat;\n /**\n * Payment method for the gas fee and extra gas payment.\n *\n * WITH_NATIVE_CURRENCY - gas fee and extra gas will be added to transaction as native tokens value\n * WITH_STABLECOIN - gas fee and extra gas will be deducted from the transaction amount\n *\n * Optional.\n * WITH_NATIVE_CURRENCY by default.\n */\n gasFeePaymentMethod?: FeePaymentMethod;\n}\n\nexport interface GetAllowanceParams {\n token: TokenWithChainDetails;\n owner: string;\n gasFeePaymentMethod?: FeePaymentMethod;\n /**\n * The Messengers for different routes.\n * Optional.\n * The {@link Messenger.ALLBRIDGE}, {@link Messenger.WORMHOLE} by default.\n */\n messenger?: Messenger;\n}\n\nexport type GetAllowanceParamsDto = GetAllowanceParams;\n\nexport interface CheckAllowanceParams extends GetAllowanceParams {\n /**\n * The float amount of tokens to check the allowance.\n */\n amount: string | number | Big;\n}\n\n/**\n * @internal\n */\nexport type TxSwapParamsEvm = TxSwapParamsTyped<string>;\nexport type TxSwapParamsTrx = TxSwapParamsTyped<Buffer>;\nexport type TxSwapParamsSol = TxSwapParamsTyped<number[]>;\nexport type TxSwapParamsSrb = TxSwapParamsTyped<number[]>;\n\nexport interface TxSwapParamsTyped<T> {\n amount: string;\n contractAddress: string;\n fromAccountAddress: string;\n fromTokenAddress: T;\n toAccountAddress: string;\n toTokenAddress: T;\n minimumReceiveAmount: string;\n}\n\nexport type TxSwapParams = TxSwapParamsEvm | TxSwapParamsTrx | TxSwapParamsSol | TxSwapParamsSrb;\n\n/**\n * @internal\n */\nexport type TxSendParamsEvm = TxSendParamsTyped<string>;\nexport type TxSendParamsTrx = TxSendParamsTyped<Buffer>;\nexport type TxSendParamsSol = TxSendParamsTyped<number[]>;\nexport type TxSendParamsSrb = TxSendParamsTyped<number[]>;\n\nexport interface TxSendParamsTyped<T> {\n amount: string;\n contractAddress: string;\n fromChainId: number;\n fromChainSymbol: string;\n fromAccountAddress: string;\n fromTokenAddress: T;\n toChainId: number;\n toAccountAddress: T;\n toTokenAddress: T;\n messenger: Messenger;\n /**\n * int format\n */\n fee: string;\n /**\n * int format\n */\n extraGas?: string;\n gasFeePaymentMethod: FeePaymentMethod;\n}\n\nexport type TxSendParams = TxSendParamsEvm | TxSendParamsTrx | TxSendParamsSol | TxSendParamsSrb;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/bridge/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,mCAA8C;AAArC,4GAAA,kBAAkB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/bridge/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,mCAA8C;AAArC,4GAAA,kBAAkB,OAAA","sourcesContent":["export * from \"./bridge.model\";\nexport { ChainBridgeService } from \"./bridge\";\n"]}
@@ -5,6 +5,10 @@ const utils_1 = require("../../utils/utils");
5
5
  const utils_2 = require("./utils");
6
6
  const index_1 = require("./index");
7
7
  class DefaultRawBridgeTransactionBuilder {
8
+ api;
9
+ nodeRpcUrlsConfig;
10
+ params;
11
+ tokenService;
8
12
  constructor(api, nodeRpcUrlsConfig, params, tokenService) {
9
13
  this.api = api;
10
14
  this.nodeRpcUrlsConfig = nodeRpcUrlsConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"raw-bridge-transaction-builder.js","sourceRoot":"","sources":["../../../../src/services/bridge/raw-bridge-transaction-builder.ts"],"names":[],"mappings":";;;AAGA,6CAAiF;AAIjF,mCAAuC;AACvC,mCAA4D;AAsB5D,MAAa,kCAAkC;IAC7C,YACU,GAAwB,EACxB,iBAAoC,EACpC,MAA+B,EAC/B,YAA0B;QAH1B,QAAG,GAAH,GAAG,CAAqB;QACxB,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,WAAM,GAAN,MAAM,CAAyB;QAC/B,iBAAY,GAAZ,YAAY,CAAc;IACjC,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,CAA2B,EAAE,CAAiB;QAC1D,IAAI,QAA8B,CAAC;QACnC,IAAI,WAA0B,CAAC;QAC/B,IAAI,CAAC,EAAE;YACL,QAAQ,GAAG,CAAa,CAAC;YACzB,WAAW,GAAG,CAAC,CAAC;SACjB;aAAM;YACL,WAAW,GAAG,CAAkB,CAAC;SAClC;QACD,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC,YAAY,CAAC,0BAA0B,CACjD;YACE,GAAG,WAAW;YACd,OAAO;SACR,EACD,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAA+B,EAAE,QAAmB;QAC7D,IAAA,4BAAoB,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACpC,IAAA,8BAAsB,EAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC7E,IAAI,IAAA,oBAAY,EAAC,MAAM,CAAC,EAAE;YACxB,OAAO,IAAA,6BAAqB,EAC1B,MAAM,CAAC,WAAW,CAAC,WAAW,EAC9B,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,MAAM,EACX,QAAQ,CACT,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;SACnC;QACD,OAAO,IAAA,6BAAqB,EAC1B,MAAM,CAAC,WAAW,CAAC,WAAW,EAC9B,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,MAAM,EACX,QAAQ,CACT,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;CACF;AA/CD,gFA+CC"}
1
+ {"version":3,"file":"raw-bridge-transaction-builder.js","sourceRoot":"","sources":["../../../../src/services/bridge/raw-bridge-transaction-builder.ts"],"names":[],"mappings":";;;AAGA,6CAAiF;AAIjF,mCAAuC;AACvC,mCAA4D;AAsB5D,MAAa,kCAAkC;IAEnC;IACA;IACA;IACA;IAJV,YACU,GAAwB,EACxB,iBAAoC,EACpC,MAA+B,EAC/B,YAA0B;QAH1B,QAAG,GAAH,GAAG,CAAqB;QACxB,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,WAAM,GAAN,MAAM,CAAyB;QAC/B,iBAAY,GAAZ,YAAY,CAAc;IACjC,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,CAA2B,EAAE,CAAiB;QAC1D,IAAI,QAA8B,CAAC;QACnC,IAAI,WAA0B,CAAC;QAC/B,IAAI,CAAC,EAAE,CAAC;YACN,QAAQ,GAAG,CAAa,CAAC;YACzB,WAAW,GAAG,CAAC,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,CAAkB,CAAC;QACnC,CAAC;QACD,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC,YAAY,CAAC,0BAA0B,CACjD;YACE,GAAG,WAAW;YACd,OAAO;SACR,EACD,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAA+B,EAAE,QAAmB;QAC7D,IAAA,4BAAoB,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACpC,IAAA,8BAAsB,EAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC7E,IAAI,IAAA,oBAAY,EAAC,MAAM,CAAC,EAAE,CAAC;YACzB,OAAO,IAAA,6BAAqB,EAC1B,MAAM,CAAC,WAAW,CAAC,WAAW,EAC9B,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,MAAM,EACX,QAAQ,CACT,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,IAAA,6BAAqB,EAC1B,MAAM,CAAC,WAAW,CAAC,WAAW,EAC9B,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,MAAM,EACX,QAAQ,CACT,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;CACF;AA/CD,gFA+CC","sourcesContent":["import { NodeRpcUrlsConfig } from \"..\";\nimport { AllbridgeCoreClient } from \"../../client/core-api/core-client-base\";\nimport { AllbridgeCoreSdkOptions } from \"../../index\";\nimport { validateAmountDecimals, validateAmountGtZero } from \"../../utils/utils\";\nimport { Provider, RawTransaction } from \"../models\";\nimport { TokenService } from \"../token\";\nimport { ApproveParams, SendParams, SwapParams } from \"./models\";\nimport { isSendParams } from \"./utils\";\nimport { getChainBridgeService, getSpender } from \"./index\";\n\nexport interface RawBridgeTransactionBuilder {\n /**\n * Creates a Raw Transaction for approving tokens usage by the bridge\n * @param provider - will be used to access the network\n * @param approveData\n */\n approve(provider: Provider, approveData: ApproveParams): Promise<RawTransaction>;\n /**\n * Creates a Raw Transaction for approving tokens usage by the bridge\n * @param approveData\n */\n approve(approveData: ApproveParams): Promise<RawTransaction>;\n /**\n * Creates a Raw Transaction for initiating the transfer of tokens\n * @param params\n * @param provider - will be used to access the network\n */\n send(params: SwapParams | SendParams, provider?: Provider): Promise<RawTransaction>;\n}\n\nexport class DefaultRawBridgeTransactionBuilder implements RawBridgeTransactionBuilder {\n constructor(\n private api: AllbridgeCoreClient,\n private nodeRpcUrlsConfig: NodeRpcUrlsConfig,\n private params: AllbridgeCoreSdkOptions,\n private tokenService: TokenService,\n ) {}\n\n async approve(a: Provider | ApproveParams, b?: ApproveParams): Promise<RawTransaction> {\n let provider: Provider | undefined;\n let approveData: ApproveParams;\n if (b) {\n provider = a as Provider;\n approveData = b;\n } else {\n approveData = a as ApproveParams;\n }\n const spender = getSpender(approveData.token, approveData.messenger);\n return this.tokenService.buildRawTransactionApprove(\n {\n ...approveData,\n spender,\n },\n provider,\n );\n }\n\n async send(params: SwapParams | SendParams, provider?: Provider): Promise<RawTransaction> {\n validateAmountGtZero(params.amount);\n validateAmountDecimals(\"amount\", params.amount, params.sourceToken.decimals);\n if (isSendParams(params)) {\n return getChainBridgeService(\n params.sourceToken.chainSymbol,\n this.api,\n this.nodeRpcUrlsConfig,\n this.params,\n provider,\n ).buildRawTransactionSend(params);\n }\n return getChainBridgeService(\n params.sourceToken.chainSymbol,\n this.api,\n this.nodeRpcUrlsConfig,\n this.params,\n provider,\n ).buildRawTransactionSwap(params);\n }\n}\n"]}
@@ -3,7 +3,7 @@ import { AllbridgeCoreClient } from "../../../client/core-api/core-client-base";
3
3
  import { ChainType, FeePaymentMethod, SwapParams } from "../../../models";
4
4
  import { RawTransaction, TransactionResponse } from "../../models";
5
5
  import { SwapAndBridgeSolDataCctpData } from "../../models/sol";
6
- import { SendParams, TxSendParams } from "../models";
6
+ import { SendParams, TxSendParamsSol } from "../models";
7
7
  import { ChainBridgeService } from "../models/bridge";
8
8
  import { JupiterService } from "./jupiter";
9
9
  export interface SolanaBridgeParams {
@@ -54,7 +54,7 @@ export declare class SolanaBridgeService extends ChainBridgeService {
54
54
  }>;
55
55
  send(params: SendParams): Promise<TransactionResponse>;
56
56
  }
57
- interface SolTxSendParams extends TxSendParams {
57
+ interface SolTxSendParams extends TxSendParamsSol {
58
58
  poolAddress: string;
59
59
  }
60
60
  export {};
@@ -23,12 +23,16 @@ const jupiter_1 = require("./jupiter");
23
23
  const COMPUTE_UNIT_LIMIT = 1000000;
24
24
  const JUP_ADD_INDEX = 1.1;
25
25
  class SolanaBridgeService extends bridge_2.ChainBridgeService {
26
+ solanaRpcUrl;
27
+ params;
28
+ api;
29
+ chainType = models_1.ChainType.SOLANA;
30
+ jupiterService;
26
31
  constructor(solanaRpcUrl, params, api) {
27
32
  super();
28
33
  this.solanaRpcUrl = solanaRpcUrl;
29
34
  this.params = params;
30
35
  this.api = api;
31
- this.chainType = models_1.ChainType.SOLANA;
32
36
  this.jupiterService = new jupiter_1.JupiterService(solanaRpcUrl, params.jupiterUrl);
33
37
  }
34
38
  async buildRawTransactionSwap(params) {
@@ -274,9 +278,7 @@ class SolanaBridgeService extends bridge_2.ChainBridgeService {
274
278
  swapAndBridgeData.amount = new anchor_1.BN(amount);
275
279
  swapAndBridgeData.vusdAmount = new anchor_1.BN(vUsdAmount);
276
280
  swapAndBridgeData.nonce = nonce;
277
- // @ts-expect-error
278
281
  swapAndBridgeData.recipient = Array.from(receiverInBuffer32);
279
- // @ts-expect-error
280
282
  swapAndBridgeData.receiveToken = Array.from(receiveTokenAddress);
281
283
  swapAndBridgeData.poolAccount = poolAccount;
282
284
  swapAndBridgeData.lockAccount = lockAccount;
@@ -451,9 +453,7 @@ class SolanaBridgeService extends bridge_2.ChainBridgeService {
451
453
  swapAndBridgeData.cctpBridgeAccount = cctpBridgeAccount;
452
454
  swapAndBridgeData.cctpAddressAccount = new web3_js_1.PublicKey(cctpAddress);
453
455
  swapAndBridgeData.amount = new anchor_1.BN(amount);
454
- // @ts-expect-error
455
456
  swapAndBridgeData.recipient = Array.from(receiverInBuffer32);
456
- // @ts-expect-error
457
457
  swapAndBridgeData.receiveToken = Array.from(receiveTokenAddress);
458
458
  swapAndBridgeData.userToken = await (0, accounts_1.getAssociatedAccount)(userAccount, mint);
459
459
  swapAndBridgeData.bridgeAuthority = await (0, accounts_1.getCctpAuthorityAccount)(cctpBridgeAccount, cctpBridge.programId);