@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":"utils.js","sourceRoot":"","sources":["../../../../src/services/bridge/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/services/bridge/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { PublicKey } from \"@solana/web3.js\";\nimport { Address } from \"@stellar/stellar-sdk\";\nimport { Big, BigSource } from \"big.js\";\nimport randomBytes from \"randombytes\";\nimport { utils as TronWebUtils } from \"tronweb\";\nimport { Chains } from \"../../chains\";\nimport { Messenger } from \"../../client/core-api/core-api.model\";\nimport { AllbridgeCoreClient } from \"../../client/core-api/core-client-base\";\nimport {\n AmountNotEnoughError,\n CCTPDoesNotSupportedError,\n ExtraGasMaxLimitExceededError,\n InvalidGasFeePaymentOptionError,\n SdkError,\n} from \"../../exceptions\";\nimport {\n AmountFormat,\n ChainType,\n ExtraGasMaxLimitResponse,\n ExtraGasMaxLimits,\n FeePaymentMethod,\n GasFeeOptions,\n SwapParams,\n} from \"../../models\";\nimport { ChainDetailsMap, TokenWithChainDetails } from \"../../tokens-info\";\nimport { convertAmountPrecision, convertFloatAmountToInt, convertIntAmountToFloat } from \"../../utils/calculation\";\nimport {\n SendParams,\n TxSendParams,\n TxSendParamsEvm,\n TxSendParamsSol,\n TxSendParamsSrb,\n TxSendParamsTrx,\n TxSwapParams,\n TxSwapParamsEvm,\n TxSwapParamsSol,\n TxSwapParamsSrb,\n TxSwapParamsTrx,\n} from \"./models\";\n\n// 1. OVERLOADS\nexport function formatAddress(address: string, from: ChainType, to: ChainType.EVM): string;\nexport function formatAddress(address: string, from: ChainType, to: ChainType.TRX): Buffer;\nexport function formatAddress(address: string, from: ChainType, to: ChainType.SOLANA | ChainType.SRB): number[];\nexport function formatAddress(address: string, from: ChainType, to: ChainType): string | number[] | Buffer;\n\n// 2. COMMON Realization\nexport function formatAddress(address: string, from: ChainType, to: ChainType): string | number[] | Buffer {\n let buffer: Buffer;\n switch (from) {\n case ChainType.EVM: {\n buffer = evmAddressToBuffer32(address);\n break;\n }\n case ChainType.SOLANA: {\n buffer = new PublicKey(address).toBuffer();\n break;\n }\n case ChainType.TRX: {\n buffer = tronAddressToBuffer32(address);\n break;\n }\n case ChainType.SRB: {\n buffer = new Address(address).toBuffer();\n break;\n }\n }\n\n switch (to) {\n case ChainType.EVM: {\n return \"0x\" + buffer.toString(\"hex\");\n }\n case ChainType.SOLANA: {\n return Array.from(buffer);\n }\n case ChainType.TRX: {\n return buffer;\n }\n case ChainType.SRB: {\n return buffer.toJSON().data;\n }\n }\n}\n\nexport function hexToBuffer(hex: string): Buffer {\n return Buffer.from(hex.replace(/^0x/i, \"\"), \"hex\");\n}\n\nexport function evmAddressToBuffer32(address: string): Buffer {\n const length = 32;\n const buff = hexToBuffer(address);\n return Buffer.concat([Buffer.alloc(length - buff.length, 0), buff], length);\n}\n\nexport function tronAddressToBuffer32(address: string): Buffer {\n const ethAddress = tronAddressToEthAddress(address);\n const buffer = hexToBuffer(ethAddress);\n return bufferToSize(buffer, 32);\n}\n\nexport function tronAddressToEthAddress(address: string): string {\n const bytes = TronWebUtils.crypto.decodeBase58Address(address);\n if (!bytes) return \"\";\n return TronWebUtils.bytes.byteArray2hexStr(bytes).replace(/^41/, \"0x\");\n}\n\nfunction bufferToSize(buffer: Buffer, size: number): Buffer {\n if (buffer.length >= size) {\n return buffer;\n }\n const result = Buffer.alloc(size, 0);\n buffer.copy(result, size - buffer.length);\n return result;\n}\n\nexport function getTokenByTokenAddress(\n chainDetailsMap: ChainDetailsMap,\n chainSymbol: string,\n tokenAddress: string,\n): TokenWithChainDetails {\n const chainDetail = chainDetailsMap[chainSymbol];\n if (!chainDetail) {\n throw new SdkError(\"Cannot find chain detail for \" + chainSymbol);\n }\n const token = chainDetail.tokens.find((value) => value.tokenAddress.toUpperCase() === tokenAddress.toUpperCase());\n if (!token) {\n throw new SdkError(\"Cannot find token info about token \" + tokenAddress + \" on chain \" + chainSymbol);\n }\n return token;\n}\n\nexport function getNonce(): Buffer {\n return randomBytes(32);\n}\n\nexport function getNonceBigInt(): bigint {\n const bigint = randomBytes(32).readBigInt64BE();\n if (bigint < 0) {\n return bigint * -1n;\n }\n return bigint;\n}\n\n// 1. OVERLOADS\nexport function prepareTxSwapParams(bridgeChainType: ChainType.EVM, params: SwapParams): TxSwapParamsEvm;\nexport function prepareTxSwapParams(bridgeChainType: ChainType.TRX, params: SwapParams): TxSwapParamsTrx;\nexport function prepareTxSwapParams(\n bridgeChainType: ChainType.SOLANA | ChainType.SRB,\n params: SwapParams,\n): TxSwapParamsSol | TxSwapParamsSrb;\nexport function prepareTxSwapParams(bridgeChainType: ChainType, params: SwapParams): TxSwapParams;\n\n// 2. COMMON Realization\nexport function prepareTxSwapParams(bridgeChainType: ChainType, params: SwapParams): TxSwapParams {\n const txSwapParams = {} as TxSwapParams;\n const sourceToken = params.sourceToken;\n txSwapParams.amount = convertFloatAmountToInt(params.amount, sourceToken.decimals).toFixed();\n txSwapParams.contractAddress = sourceToken.bridgeAddress;\n txSwapParams.fromAccountAddress = params.fromAccountAddress;\n txSwapParams.fromTokenAddress = formatAddress(sourceToken.tokenAddress, bridgeChainType, bridgeChainType);\n txSwapParams.toAccountAddress = params.toAccountAddress;\n txSwapParams.toTokenAddress = formatAddress(params.destinationToken.tokenAddress, bridgeChainType, bridgeChainType);\n txSwapParams.minimumReceiveAmount = params.minimumReceiveAmount\n ? convertFloatAmountToInt(params.minimumReceiveAmount, params.destinationToken.decimals).toFixed()\n : \"0\";\n return txSwapParams;\n}\n\n// 1. OVERLOADS\nexport function prepareTxSendParams(\n bridgeChainType: ChainType.EVM,\n params: SendParams,\n api: AllbridgeCoreClient,\n): Promise<TxSendParamsEvm>;\nexport function prepareTxSendParams(\n bridgeChainType: ChainType.TRX,\n params: SendParams,\n api: AllbridgeCoreClient,\n): Promise<TxSendParamsTrx>;\nexport function prepareTxSendParams(\n bridgeChainType: ChainType.SOLANA | ChainType.SRB,\n params: SendParams,\n api: AllbridgeCoreClient,\n): Promise<TxSendParamsSol | TxSendParamsSrb>;\nexport function prepareTxSendParams(\n bridgeChainType: ChainType,\n params: SendParams,\n api: AllbridgeCoreClient,\n): Promise<TxSendParams>;\n\n// 2. COMMON Realization\nexport async function prepareTxSendParams(\n bridgeChainType: ChainType,\n params: SendParams,\n api: AllbridgeCoreClient,\n): Promise<TxSendParams> {\n const txSendParams = {} as TxSendParams;\n\n txSendParams.fromChainId = params.sourceToken.allbridgeChainId;\n txSendParams.fromChainSymbol = params.sourceToken.chainSymbol;\n const toChainType = Chains.getChainProperty(params.destinationToken.chainSymbol).chainType;\n txSendParams.fromTokenAddress = params.sourceToken.tokenAddress;\n\n txSendParams.toChainId = params.destinationToken.allbridgeChainId;\n txSendParams.toTokenAddress = params.destinationToken.tokenAddress;\n\n if (params.gasFeePaymentMethod === FeePaymentMethod.WITH_STABLECOIN) {\n txSendParams.gasFeePaymentMethod = FeePaymentMethod.WITH_STABLECOIN;\n } else {\n // default FeePaymentMethod.WITH_NATIVE_CURRENCY\n txSendParams.gasFeePaymentMethod = FeePaymentMethod.WITH_NATIVE_CURRENCY;\n }\n const sourceToken = params.sourceToken;\n if (params.messenger === Messenger.CCTP) {\n if (!sourceToken.cctpAddress || !params.destinationToken.cctpAddress) {\n throw new CCTPDoesNotSupportedError(\"Such route does not support CCTP protocol\");\n }\n txSendParams.contractAddress = sourceToken.cctpAddress;\n } else {\n txSendParams.contractAddress = sourceToken.bridgeAddress;\n }\n txSendParams.messenger = params.messenger;\n txSendParams.fromAccountAddress = params.fromAccountAddress;\n txSendParams.amount = convertFloatAmountToInt(params.amount, sourceToken.decimals).toFixed();\n\n //Fee\n let { fee, feeFormat } = params;\n if (!fee) {\n const gasFeeOptions = await getGasFeeOptions(\n txSendParams.fromChainId,\n params.sourceToken.chainType,\n txSendParams.toChainId,\n sourceToken.decimals,\n txSendParams.messenger,\n api,\n );\n\n const gasFeeOption = gasFeeOptions[txSendParams.gasFeePaymentMethod];\n if (!gasFeeOption) {\n throw new InvalidGasFeePaymentOptionError();\n }\n fee = gasFeeOption[AmountFormat.INT];\n feeFormat = AmountFormat.INT;\n }\n if (feeFormat == AmountFormat.FLOAT) {\n switch (txSendParams.gasFeePaymentMethod) {\n case FeePaymentMethod.WITH_NATIVE_CURRENCY:\n txSendParams.fee = convertFloatAmountToInt(fee, Chains.getChainDecimalsByType(sourceToken.chainType)).toFixed(\n 0,\n );\n break;\n case FeePaymentMethod.WITH_STABLECOIN:\n txSendParams.fee = convertFloatAmountToInt(fee, sourceToken.decimals).toFixed(0);\n break;\n }\n } else {\n txSendParams.fee = fee;\n }\n\n //ExtraGas\n const { extraGas, extraGasFormat } = params;\n if (extraGas && +extraGas > 0) {\n if (extraGasFormat == AmountFormat.FLOAT) {\n switch (txSendParams.gasFeePaymentMethod) {\n case FeePaymentMethod.WITH_NATIVE_CURRENCY:\n txSendParams.extraGas = convertFloatAmountToInt(\n extraGas,\n Chains.getChainDecimalsByType(sourceToken.chainType),\n ).toFixed(0);\n break;\n case FeePaymentMethod.WITH_STABLECOIN:\n txSendParams.extraGas = convertFloatAmountToInt(extraGas, sourceToken.decimals).toFixed(0);\n break;\n }\n } else {\n txSendParams.extraGas = extraGas;\n }\n await validateExtraGasNotExceeded(\n txSendParams.extraGas,\n txSendParams.gasFeePaymentMethod,\n sourceToken,\n params.destinationToken,\n api,\n );\n }\n\n txSendParams.fromTokenAddress = formatAddress(txSendParams.fromTokenAddress, bridgeChainType, bridgeChainType);\n txSendParams.toAccountAddress = formatAddress(params.toAccountAddress, toChainType, bridgeChainType);\n txSendParams.toTokenAddress = formatAddress(txSendParams.toTokenAddress, toChainType, bridgeChainType);\n if (txSendParams.gasFeePaymentMethod == FeePaymentMethod.WITH_STABLECOIN) {\n validateAmountEnough(txSendParams.amount, sourceToken.decimals, txSendParams.fee, txSendParams.extraGas);\n }\n return txSendParams;\n}\n\nfunction validateAmountEnough(\n amountInt: BigSource,\n decimals: number,\n feeInt: BigSource,\n extraGasInt: BigSource | undefined,\n) {\n const amountTotal = Big(amountInt)\n .minus(feeInt)\n .minus(extraGasInt ?? 0);\n if (amountTotal.lte(0)) {\n throw new AmountNotEnoughError(\n `Amount not enough to pay fee, ${convertIntAmountToFloat(\n Big(amountTotal).minus(1).neg(),\n decimals,\n ).toFixed()} stables is missing`,\n );\n }\n}\n\nexport async function getGasFeeOptions(\n sourceAllbridgeChainId: number,\n sourceChainType: ChainType,\n destinationAllbridgeChainId: number,\n sourceChainTokenDecimals: number,\n messenger: Messenger,\n api: AllbridgeCoreClient,\n): Promise<GasFeeOptions> {\n const transactionCostResponse = await api.getReceiveTransactionCost({\n sourceChainId: sourceAllbridgeChainId,\n destinationChainId: destinationAllbridgeChainId,\n messenger,\n });\n\n const gasFeeOptions: GasFeeOptions = {\n [FeePaymentMethod.WITH_NATIVE_CURRENCY]: {\n [AmountFormat.INT]: transactionCostResponse.fee,\n [AmountFormat.FLOAT]: convertIntAmountToFloat(\n transactionCostResponse.fee,\n Chains.getChainDecimalsByType(sourceChainType),\n ).toFixed(),\n },\n };\n if (transactionCostResponse.sourceNativeTokenPrice) {\n const gasFeeIntWithStables = convertAmountPrecision(\n new Big(transactionCostResponse.fee).mul(transactionCostResponse.sourceNativeTokenPrice),\n Chains.getChainDecimalsByType(sourceChainType),\n sourceChainTokenDecimals,\n ).toFixed(0, Big.roundUp);\n gasFeeOptions[FeePaymentMethod.WITH_STABLECOIN] = {\n [AmountFormat.INT]: gasFeeIntWithStables,\n [AmountFormat.FLOAT]: convertIntAmountToFloat(gasFeeIntWithStables, sourceChainTokenDecimals).toFixed(),\n };\n }\n\n return gasFeeOptions;\n}\n\nasync function validateExtraGasNotExceeded(\n extraGasInt: string,\n gasFeePaymentMethod: FeePaymentMethod,\n sourceToken: TokenWithChainDetails,\n destinationToken: TokenWithChainDetails,\n api: AllbridgeCoreClient,\n) {\n const extraGasLimits = await getExtraGasMaxLimits(sourceToken, destinationToken, api);\n const extraGasMaxLimit = extraGasLimits.extraGasMax[gasFeePaymentMethod];\n if (!extraGasMaxLimit) {\n throw new InvalidGasFeePaymentOptionError(`Impossible to pay extra gas by '${gasFeePaymentMethod}' payment method`);\n }\n const extraGasMaxIntLimit = extraGasMaxLimit[AmountFormat.INT];\n if (Big(extraGasInt).gt(extraGasMaxIntLimit)) {\n throw new ExtraGasMaxLimitExceededError(\n `Extra gas ${extraGasInt} in int format, exceeded limit ${extraGasMaxIntLimit} for '${gasFeePaymentMethod}' payment method`,\n );\n }\n}\n\nexport async function getExtraGasMaxLimits(\n sourceChainToken: TokenWithChainDetails,\n destinationChainToken: TokenWithChainDetails,\n api: AllbridgeCoreClient,\n): Promise<ExtraGasMaxLimitResponse> {\n const extraGasMaxLimits: ExtraGasMaxLimits = {};\n const transactionCostResponse = await api.getReceiveTransactionCost({\n sourceChainId: sourceChainToken.allbridgeChainId,\n destinationChainId: destinationChainToken.allbridgeChainId,\n messenger: Messenger.ALLBRIDGE,\n });\n const maxAmount = destinationChainToken.txCostAmount.maxAmount;\n const maxAmountFloat = convertIntAmountToFloat(\n maxAmount,\n Chains.getChainDecimalsByType(destinationChainToken.chainType),\n ).toFixed();\n const maxAmountFloatInSourceNative = Big(maxAmountFloat)\n .div(transactionCostResponse.exchangeRate)\n .toFixed(Chains.getChainDecimalsByType(sourceChainToken.chainType), Big.roundDown);\n const maxAmountInSourceNative = convertFloatAmountToInt(\n maxAmountFloatInSourceNative,\n Chains.getChainDecimalsByType(sourceChainToken.chainType),\n ).toFixed(0);\n extraGasMaxLimits[FeePaymentMethod.WITH_NATIVE_CURRENCY] = {\n [AmountFormat.INT]: maxAmountInSourceNative,\n [AmountFormat.FLOAT]: maxAmountFloatInSourceNative,\n };\n if (transactionCostResponse.sourceNativeTokenPrice) {\n const maxAmountFloatInStable = Big(maxAmountFloatInSourceNative)\n .mul(transactionCostResponse.sourceNativeTokenPrice)\n .toFixed(sourceChainToken.decimals, Big.roundDown);\n extraGasMaxLimits[FeePaymentMethod.WITH_STABLECOIN] = {\n [AmountFormat.INT]: convertFloatAmountToInt(maxAmountFloatInStable, sourceChainToken.decimals).toFixed(0),\n [AmountFormat.FLOAT]: maxAmountFloatInStable,\n };\n }\n return {\n extraGasMax: extraGasMaxLimits,\n destinationChain: {\n gasAmountMax: {\n [AmountFormat.INT]: maxAmount,\n [AmountFormat.FLOAT]: maxAmountFloat,\n },\n swap: {\n [AmountFormat.INT]: destinationChainToken.txCostAmount.swap,\n [AmountFormat.FLOAT]: convertIntAmountToFloat(\n destinationChainToken.txCostAmount.swap,\n Chains.getChainDecimalsByType(destinationChainToken.chainType),\n ).toFixed(),\n },\n transfer: {\n [AmountFormat.INT]: destinationChainToken.txCostAmount.transfer,\n [AmountFormat.FLOAT]: convertIntAmountToFloat(\n destinationChainToken.txCostAmount.transfer,\n Chains.getChainDecimalsByType(destinationChainToken.chainType),\n ).toFixed(),\n },\n },\n exchangeRate: transactionCostResponse.exchangeRate,\n sourceNativeTokenPrice: transactionCostResponse.sourceNativeTokenPrice,\n };\n}\n\nexport function isSendParams(params: SwapParams | SendParams): params is SendParams {\n return params.sourceToken.chainSymbol !== params.destinationToken.chainSymbol;\n}\n"]}
@@ -22,6 +22,7 @@ const utils_2 = require("./bridge/utils");
22
22
  const liquidity_pool_1 = require("./liquidity-pool");
23
23
  const token_1 = require("./token");
24
24
  class NodeRpcUrlsConfig {
25
+ nodeRpcUrls;
25
26
  constructor(nodeRpcUrls) {
26
27
  this.nodeRpcUrls = nodeRpcUrls;
27
28
  }
@@ -37,6 +38,11 @@ class NodeRpcUrlsConfig {
37
38
  }
38
39
  exports.NodeRpcUrlsConfig = NodeRpcUrlsConfig;
39
40
  class AllbridgeCoreSdkService {
41
+ api;
42
+ tokenService;
43
+ params;
44
+ bridge;
45
+ pool;
40
46
  constructor(nodeRpcUrlsConfig, params = configs_1.mainnet) {
41
47
  chains_1.Chains.addChainsProperties(params.additionalChainsProperties);
42
48
  const apiClient = new api_client_1.ApiClientImpl(params);
@@ -235,9 +241,7 @@ class AllbridgeCoreSdkService {
235
241
  return (0, utils_2.getGasFeeOptions)(sourceChainToken.allbridgeChainId, sourceChainToken.chainType, destinationChainToken.allbridgeChainId, sourceChainToken.decimals, messenger, this.api);
236
242
  }
237
243
  getAverageTransferTime(sourceChainToken, destinationChainToken, messenger) {
238
- return (
239
- /* eslint-disable-next-line @typescript-eslint/no-unnecessary-condition */
240
- sourceChainToken.transferTime?.[destinationChainToken.chainSymbol]?.[messenger] ?? null);
244
+ return sourceChainToken.transferTime?.[destinationChainToken.chainSymbol]?.[messenger] ?? null;
241
245
  }
242
246
  async getPoolInfoByToken(token) {
243
247
  return await this.api.getPoolInfoByKey({ chainSymbol: token.chainSymbol, poolAddress: token.poolAddress });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { Big } from \"big.js\";\nimport { Chains } from \"../chains\";\nimport { ApiClientImpl } from \"../client/core-api/api-client\";\nimport { ApiClientCaching } from \"../client/core-api/api-client-caching\";\nimport {\n AddressStatus,\n CheckAddressResponse,\n GasBalanceResponse,\n Messenger,\n PendingInfoDTO,\n TransferStatusResponse,\n} from \"../client/core-api/core-api.model\";\nimport { AllbridgeCoreClientImpl } from \"../client/core-api/core-client-base\";\nimport { AllbridgeCoreClientFiltered, AllbridgeCoreClientFilteredImpl } from \"../client/core-api/core-client-filtered\";\nimport { AllbridgeCoreClientPoolInfoCaching } from \"../client/core-api/core-client-pool-info-caching\";\nimport { mainnet } from \"../configs\";\nimport { AllbridgeCoreSdkOptions, BasicChainProperties, NodeRpcUrls, SdkError } from \"../index\";\nimport {\n AmountFormat,\n AmountFormatted,\n AmountsAndGasFeeOptions,\n CCTPDoesNotSupportedError,\n ExtraGasMaxLimitResponse,\n GasFeeOptions,\n GetTokenBalanceParams,\n InsufficientPoolLiquidityError,\n NodeRpcUrlNotInitializedError,\n PendingStatusInfoResponse,\n Provider,\n SendAmountDetails,\n SwapAndBridgeCalculationData,\n} from \"../models\";\nimport { ChainDetailsMap, PoolInfo, PoolKeyObject, TokenWithChainDetails } from \"../tokens-info\";\nimport {\n aprInPercents,\n convertAmountPrecision,\n convertFloatAmountToInt,\n convertIntAmountToFloat,\n fromSystemPrecision,\n getFeePercent,\n getSwapFromVUsdPoolInfo,\n swapFromVUsd,\n swapFromVUsdReverse,\n swapToVUsd,\n swapToVUsdReverse,\n} from \"../utils/calculation\";\nimport { SYSTEM_PRECISION } from \"../utils/calculation/constants\";\nimport { getSendAmountDetails } from \"../utils/calculation/swap-and-bridge-details\";\nimport {\n swapAndBridgeFeeCalculation,\n swapAndBridgeFeeCalculationReverse,\n} from \"../utils/calculation/swap-and-bridge-fee-calc\";\nimport { getPoolInfoByToken, validateAmountDecimals, validateAmountGtZero } from \"../utils/utils\";\nimport { BridgeService, DefaultBridgeService } from \"./bridge\";\nimport { GetNativeTokenBalanceParams } from \"./bridge/models\";\nimport { getExtraGasMaxLimits, getGasFeeOptions } from \"./bridge/utils\";\nimport { DefaultLiquidityPoolService, LiquidityPoolService } from \"./liquidity-pool\";\nimport { DefaultTokenService, TokenService } from \"./token\";\n\nexport class NodeRpcUrlsConfig {\n constructor(private nodeRpcUrls: NodeRpcUrls) {}\n\n getNodeRpcUrl(chainSymbol: string): string {\n const nodeRpcUrl = this.nodeRpcUrls[chainSymbol];\n if (nodeRpcUrl !== undefined) {\n return nodeRpcUrl;\n } else {\n throw new NodeRpcUrlNotInitializedError(chainSymbol);\n }\n }\n}\n\nexport class AllbridgeCoreSdkService {\n private readonly api: AllbridgeCoreClientFiltered;\n\n private readonly tokenService: TokenService;\n\n readonly params: AllbridgeCoreSdkOptions;\n\n bridge: BridgeService;\n pool: LiquidityPoolService;\n\n constructor(nodeRpcUrlsConfig: NodeRpcUrlsConfig, params: AllbridgeCoreSdkOptions = mainnet) {\n Chains.addChainsProperties(params.additionalChainsProperties as Record<string, BasicChainProperties>);\n const apiClient = new ApiClientImpl(params);\n const apiClientCaching = new ApiClientCaching(apiClient);\n const coreClient = new AllbridgeCoreClientImpl(apiClientCaching);\n const coreClientPoolInfoCaching = new AllbridgeCoreClientPoolInfoCaching(coreClient);\n this.api = new AllbridgeCoreClientFilteredImpl(coreClientPoolInfoCaching, params);\n this.tokenService = new DefaultTokenService(this.api, nodeRpcUrlsConfig, params);\n this.bridge = new DefaultBridgeService(this.api, nodeRpcUrlsConfig, params, this.tokenService);\n this.pool = new DefaultLiquidityPoolService(this.api, nodeRpcUrlsConfig, params, this.tokenService);\n this.params = params;\n }\n\n async chainDetailsMap(type: \"swap\" | \"pool\"): Promise<ChainDetailsMap> {\n return this.api.getChainDetailsMap(type);\n }\n\n async tokens(type: \"swap\" | \"pool\"): Promise<TokenWithChainDetails[]> {\n return this.api.tokens(type);\n }\n\n async tokensByChain(chainSymbol: string, type: \"swap\" | \"pool\"): Promise<TokenWithChainDetails[]> {\n const map = await this.api.getChainDetailsMap(type);\n const chainDetails = map[chainSymbol];\n if (!chainDetails) {\n return [];\n }\n return chainDetails.tokens;\n }\n\n async getTransferStatus(chainSymbol: string, txId: string): Promise<TransferStatusResponse> {\n return this.api.getTransferStatus(chainSymbol, txId);\n }\n\n async getGasBalance(chainSymbol: string, address: string): Promise<GasBalanceResponse> {\n return this.api.getGasBalance(chainSymbol, address);\n }\n\n async checkAddress(): Promise<CheckAddressResponse> {\n return new Promise((resolve) => {\n resolve({\n status: AddressStatus.OK,\n gasBalance: null,\n });\n });\n }\n\n async getPendingStatusInfo(\n amount: string,\n amountFormat: AmountFormat,\n sourceToken: TokenWithChainDetails,\n destToken: TokenWithChainDetails,\n ): Promise<PendingStatusInfoResponse> {\n validateAmountGtZero(amount);\n let amountInTokenPrecision;\n if (amountFormat == AmountFormat.FLOAT) {\n validateAmountDecimals(\"amount\", amount, sourceToken.decimals);\n amountInTokenPrecision = convertFloatAmountToInt(amount, sourceToken.decimals).toFixed();\n } else {\n amountInTokenPrecision = amount;\n }\n\n const vUsdAmountInt = swapToVUsd(\n amountInTokenPrecision,\n sourceToken,\n await getPoolInfoByToken(this.api, sourceToken),\n );\n const destPoolInfo = await getPoolInfoByToken(this.api, destToken);\n const amountResultIntFormatted: AmountFormatted = this.getAmountFromVUsdFormatted(\n vUsdAmountInt,\n destToken,\n destPoolInfo,\n );\n\n let pendingInfoDTO: PendingInfoDTO | undefined;\n const pendingInfo = await this.api.getPendingInfo();\n for (const tokenAddress in pendingInfo[destToken.chainSymbol]) {\n const info = pendingInfo[destToken.chainSymbol];\n if (!info) {\n throw new SdkError(\"Cannot find pending info for \" + destToken.chainSymbol);\n }\n pendingInfoDTO = info[tokenAddress];\n }\n if (pendingInfoDTO) {\n const destPoolAfterPending = getSwapFromVUsdPoolInfo(pendingInfoDTO.totalSentAmount, destPoolInfo);\n const amountResultIntAfterPendingFormatted: AmountFormatted = this.getAmountFromVUsdFormatted(\n vUsdAmountInt,\n destToken,\n destPoolAfterPending,\n );\n\n let estimatedAmount: { min: AmountFormatted; max: AmountFormatted };\n if (Big(amountResultIntAfterPendingFormatted.int).gt(amountResultIntFormatted.int)) {\n estimatedAmount = { min: amountResultIntFormatted, max: amountResultIntAfterPendingFormatted };\n } else {\n estimatedAmount = { min: amountResultIntAfterPendingFormatted, max: amountResultIntFormatted };\n }\n\n return {\n pendingTxs: pendingInfoDTO.pendingTxs,\n pendingAmount: {\n [AmountFormat.INT]: convertAmountPrecision(\n pendingInfoDTO.totalSentAmount,\n SYSTEM_PRECISION,\n destToken.decimals,\n ).toFixed(0),\n [AmountFormat.FLOAT]: convertIntAmountToFloat(pendingInfoDTO.totalSentAmount, SYSTEM_PRECISION).toFixed(),\n },\n estimatedAmount,\n };\n }\n return {\n pendingTxs: 0,\n pendingAmount: {\n [AmountFormat.INT]: \"0\",\n [AmountFormat.FLOAT]: \"0\",\n },\n estimatedAmount: {\n min: amountResultIntFormatted,\n max: amountResultIntFormatted,\n },\n };\n }\n\n async getTokenBalance(params: GetTokenBalanceParams, provider?: Provider): Promise<string> {\n return this.tokenService.getTokenBalance(params, provider);\n }\n\n async getNativeTokenBalance(params: GetNativeTokenBalanceParams, provider?: Provider): Promise<AmountFormatted> {\n return this.tokenService.getNativeTokenBalance(params, provider);\n }\n\n async calculateFeePercentOnSourceChain(\n amountFloat: number | string | Big,\n sourceChainToken: TokenWithChainDetails,\n ): Promise<number> {\n validateAmountGtZero(amountFloat);\n validateAmountDecimals(\"amountFloat\", amountFloat, sourceChainToken.decimals);\n const amountInt = convertFloatAmountToInt(amountFloat, sourceChainToken.decimals);\n if (amountInt.eq(0)) {\n return 0;\n }\n const vUsdInSystemPrecision = swapToVUsd(\n amountInt,\n sourceChainToken,\n await getPoolInfoByToken(this.api, sourceChainToken),\n );\n const vUsdInSourcePrecision = fromSystemPrecision(vUsdInSystemPrecision, sourceChainToken.decimals);\n return getFeePercent(amountInt, vUsdInSourcePrecision);\n }\n\n async calculateFeePercentOnDestinationChain(\n amountFloat: number | string | Big,\n sourceChainToken: TokenWithChainDetails,\n destinationChainToken: TokenWithChainDetails,\n ): Promise<number> {\n validateAmountGtZero(amountFloat);\n validateAmountDecimals(\"amountFloat\", amountFloat, sourceChainToken.decimals);\n const amountInt = convertFloatAmountToInt(amountFloat, sourceChainToken.decimals);\n if (amountInt.eq(0)) {\n return 0;\n }\n const vUsdInSystemPrecision = swapToVUsd(\n amountInt,\n sourceChainToken,\n await getPoolInfoByToken(this.api, sourceChainToken),\n );\n const usd = swapFromVUsd(\n vUsdInSystemPrecision,\n destinationChainToken,\n await getPoolInfoByToken(this.api, destinationChainToken),\n );\n const vUsdInDestinationPrecision = fromSystemPrecision(vUsdInSystemPrecision, destinationChainToken.decimals);\n return getFeePercent(vUsdInDestinationPrecision, usd);\n }\n\n async getAmountToBeReceivedAndGasFeeOptions(\n amountToSendFloat: number | string | Big,\n sourceChainToken: TokenWithChainDetails,\n destinationChainToken: TokenWithChainDetails,\n messenger: Messenger,\n ): Promise<AmountsAndGasFeeOptions> {\n validateAmountGtZero(amountToSendFloat);\n validateAmountDecimals(\"amountToSendFloat\", amountToSendFloat, sourceChainToken.decimals);\n return {\n amountToSendFloat: Big(amountToSendFloat).toFixed(),\n amountToBeReceivedFloat: await this.getAmountToBeReceived(\n amountToSendFloat,\n sourceChainToken,\n destinationChainToken,\n messenger,\n ),\n gasFeeOptions: await this.getGasFeeOptions(sourceChainToken, destinationChainToken, messenger),\n };\n }\n\n async getAmountToSendAndGasFeeOptions(\n amountToBeReceivedFloat: number | string | Big,\n sourceChainToken: TokenWithChainDetails,\n destinationChainToken: TokenWithChainDetails,\n messenger: Messenger,\n ): Promise<AmountsAndGasFeeOptions> {\n validateAmountGtZero(amountToBeReceivedFloat);\n validateAmountDecimals(\"amountToBeReceivedFloat\", amountToBeReceivedFloat, destinationChainToken.decimals);\n return {\n amountToSendFloat: await this.getAmountToSend(\n amountToBeReceivedFloat,\n sourceChainToken,\n destinationChainToken,\n messenger,\n ),\n amountToBeReceivedFloat: Big(amountToBeReceivedFloat).toFixed(),\n gasFeeOptions: await this.getGasFeeOptions(sourceChainToken, destinationChainToken, messenger),\n };\n }\n\n async getAmountToBeReceived(\n amountToSendFloat: number | string | Big,\n sourceChainToken: TokenWithChainDetails,\n destinationChainToken: TokenWithChainDetails,\n messenger?: Messenger,\n ): Promise<string> {\n const sourcePool: PoolInfo = await getPoolInfoByToken(this.api, sourceChainToken);\n const destPool: PoolInfo = await getPoolInfoByToken(this.api, destinationChainToken);\n return this.getAmountToBeReceivedFromPools(\n amountToSendFloat,\n sourceChainToken,\n destinationChainToken,\n sourcePool,\n destPool,\n messenger,\n );\n }\n\n async getAmountToBeReceivedFromChain(\n amountToSendFloat: number | string | Big,\n sourceChainToken: TokenWithChainDetails,\n destinationChainToken: TokenWithChainDetails,\n messenger?: Messenger,\n sourceProvider?: Provider,\n destinationProvider?: Provider,\n ): Promise<string> {\n const sourcePool: PoolInfo = await this.pool.getPoolInfoFromChain(sourceChainToken, sourceProvider);\n const destPool: PoolInfo = await this.pool.getPoolInfoFromChain(destinationChainToken, destinationProvider);\n return this.getAmountToBeReceivedFromPools(\n amountToSendFloat,\n sourceChainToken,\n destinationChainToken,\n sourcePool,\n destPool,\n messenger,\n );\n }\n\n getAmountToBeReceivedFromPools(\n amountToSendFloat: number | string | Big,\n sourceChainToken: TokenWithChainDetails,\n destinationChainToken: TokenWithChainDetails,\n sourcePool: PoolInfo,\n destinationPool: PoolInfo,\n messenger?: Messenger,\n ): string {\n validateAmountGtZero(amountToSendFloat);\n validateAmountDecimals(\"amountToSendFloat\", amountToSendFloat, sourceChainToken.decimals);\n const amountToSend = convertFloatAmountToInt(amountToSendFloat, sourceChainToken.decimals);\n\n if (messenger && messenger == Messenger.CCTP) {\n if (!sourceChainToken.cctpAddress || !destinationChainToken.cctpAddress || !sourceChainToken.cctpFeeShare) {\n throw new CCTPDoesNotSupportedError(\"Such route does not support CCTP protocol\");\n }\n const result = amountToSend.mul(Big(1).minus(sourceChainToken.cctpFeeShare)).round(0, Big.roundUp);\n const resultInDestPrecision = convertAmountPrecision(\n result,\n sourceChainToken.decimals,\n destinationChainToken.decimals,\n ).round(0);\n return convertIntAmountToFloat(resultInDestPrecision, destinationChainToken.decimals).toFixed();\n }\n\n const vUsd = swapToVUsd(amountToSend, sourceChainToken, sourcePool);\n return this.getAmountFromVUsdFormatted(vUsd, destinationChainToken, destinationPool).float;\n }\n\n async getAmountToSend(\n amountToBeReceivedFloat: number | string | Big,\n sourceChainToken: TokenWithChainDetails,\n destinationChainToken: TokenWithChainDetails,\n messenger?: Messenger,\n ): Promise<string> {\n const sourcePool: PoolInfo = await getPoolInfoByToken(this.api, sourceChainToken);\n const destPool: PoolInfo = await getPoolInfoByToken(this.api, destinationChainToken);\n return this.getAmountToSendFromPools(\n amountToBeReceivedFloat,\n sourceChainToken,\n destinationChainToken,\n sourcePool,\n destPool,\n messenger,\n );\n }\n\n async getAmountToSendFromChain(\n amountToBeReceivedFloat: number | string | Big,\n sourceChainToken: TokenWithChainDetails,\n destinationChainToken: TokenWithChainDetails,\n messenger?: Messenger,\n sourceProvider?: Provider,\n destinationProvider?: Provider,\n ): Promise<string> {\n const sourcePool: PoolInfo = await this.pool.getPoolInfoFromChain(sourceChainToken, sourceProvider);\n const destPool: PoolInfo = await this.pool.getPoolInfoFromChain(destinationChainToken, destinationProvider);\n return this.getAmountToSendFromPools(\n amountToBeReceivedFloat,\n sourceChainToken,\n destinationChainToken,\n sourcePool,\n destPool,\n messenger,\n );\n }\n\n getAmountToSendFromPools(\n amountToBeReceivedFloat: number | string | Big,\n sourceChainToken: TokenWithChainDetails,\n destinationChainToken: TokenWithChainDetails,\n sourcePool: PoolInfo,\n destinationPool: PoolInfo,\n messenger?: Messenger,\n ): string {\n validateAmountGtZero(amountToBeReceivedFloat);\n validateAmountDecimals(\"amountToBeReceivedFloat\", amountToBeReceivedFloat, destinationChainToken.decimals);\n const amountToBeReceived = convertFloatAmountToInt(amountToBeReceivedFloat, destinationChainToken.decimals);\n\n if (messenger && messenger == Messenger.CCTP) {\n if (!sourceChainToken.cctpAddress || !destinationChainToken.cctpAddress || !sourceChainToken.cctpFeeShare) {\n throw new CCTPDoesNotSupportedError(\"Such route does not support CCTP protocol\");\n }\n const result = amountToBeReceived.div(Big(1).minus(sourceChainToken.cctpFeeShare)).round(0, Big.roundDown);\n const resultInSourcePrecision = convertAmountPrecision(\n result,\n destinationChainToken.decimals,\n sourceChainToken.decimals,\n ).round(0);\n return convertIntAmountToFloat(resultInSourcePrecision, sourceChainToken.decimals).toFixed();\n }\n\n const vUsd = swapFromVUsdReverse(amountToBeReceived, destinationChainToken, destinationPool);\n const resultInt = swapToVUsdReverse(vUsd, sourceChainToken, sourcePool);\n if (Big(resultInt).lte(0)) {\n throw new InsufficientPoolLiquidityError();\n }\n return convertIntAmountToFloat(resultInt, sourceChainToken.decimals).toFixed();\n }\n\n async getGasFeeOptions(\n sourceChainToken: TokenWithChainDetails,\n destinationChainToken: TokenWithChainDetails,\n messenger: Messenger,\n ): Promise<GasFeeOptions> {\n return getGasFeeOptions(\n sourceChainToken.allbridgeChainId,\n sourceChainToken.chainType,\n destinationChainToken.allbridgeChainId,\n sourceChainToken.decimals,\n messenger,\n this.api,\n );\n }\n\n getAverageTransferTime(\n sourceChainToken: TokenWithChainDetails,\n destinationChainToken: TokenWithChainDetails,\n messenger: Messenger,\n ): number | null {\n return sourceChainToken.transferTime?.[destinationChainToken.chainSymbol]?.[messenger] ?? null;\n }\n\n async getPoolInfoByToken(token: TokenWithChainDetails): Promise<PoolInfo> {\n return await this.api.getPoolInfoByKey({ chainSymbol: token.chainSymbol, poolAddress: token.poolAddress });\n }\n\n async refreshPoolInfo(tokens?: TokenWithChainDetails | TokenWithChainDetails[]): Promise<void> {\n if (tokens) {\n const tokensArray = tokens instanceof Array ? tokens : [tokens];\n const poolKeys: PoolKeyObject[] = tokensArray.map((t) => {\n return { chainSymbol: t.chainSymbol, poolAddress: t.poolAddress };\n });\n return this.api.refreshPoolInfo(poolKeys);\n }\n return this.api.refreshPoolInfo();\n }\n\n aprInPercents(apr: string): string {\n return aprInPercents(apr);\n }\n\n async getExtraGasMaxLimits(\n sourceChainToken: TokenWithChainDetails,\n destinationChainToken: TokenWithChainDetails,\n ): Promise<ExtraGasMaxLimitResponse> {\n return await getExtraGasMaxLimits(sourceChainToken, destinationChainToken, this.api);\n }\n\n async getVUsdFromAmount(\n amount: string,\n amountFormat: AmountFormat,\n sourceToken: TokenWithChainDetails,\n ): Promise<AmountFormatted> {\n validateAmountGtZero(amount);\n let amountInTokenPrecision;\n if (amountFormat == AmountFormat.FLOAT) {\n validateAmountDecimals(\"amount\", amount, sourceToken.decimals);\n amountInTokenPrecision = convertFloatAmountToInt(amount, sourceToken.decimals).toFixed();\n } else {\n amountInTokenPrecision = amount;\n }\n\n const vUsdAmount = swapToVUsd(amountInTokenPrecision, sourceToken, await getPoolInfoByToken(this.api, sourceToken));\n return {\n [AmountFormat.INT]: vUsdAmount,\n [AmountFormat.FLOAT]: convertIntAmountToFloat(vUsdAmount, SYSTEM_PRECISION).toFixed(),\n };\n }\n\n async getAmountFromVUsd(vUsdAmount: string, destToken: TokenWithChainDetails): Promise<AmountFormatted> {\n return this.getAmountFromVUsdFormatted(vUsdAmount, destToken, await getPoolInfoByToken(this.api, destToken));\n }\n\n private getAmountFromVUsdFormatted(\n vUsdAmountInt: string,\n destToken: TokenWithChainDetails,\n destPoolInfo: Pick<PoolInfo, \"vUsdBalance\" | \"aValue\" | \"dValue\" | \"tokenBalance\">,\n ): AmountFormatted {\n validateAmountGtZero(vUsdAmountInt);\n const amountResultInt = swapFromVUsd(vUsdAmountInt, destToken, destPoolInfo);\n if (Big(amountResultInt).lt(0)) {\n throw new InsufficientPoolLiquidityError();\n }\n return {\n [AmountFormat.INT]: amountResultInt,\n [AmountFormat.FLOAT]: convertIntAmountToFloat(amountResultInt, destToken.decimals).toFixed(),\n };\n }\n\n async swapAndBridgeFeeCalculation(\n amountInTokenPrecision: string,\n sourceToken: TokenWithChainDetails,\n destToken: TokenWithChainDetails,\n ): Promise<SwapAndBridgeCalculationData> {\n return swapAndBridgeFeeCalculation(\n amountInTokenPrecision,\n {\n decimals: sourceToken.decimals,\n feeShare: sourceToken.feeShare,\n poolInfo: await getPoolInfoByToken(this.api, sourceToken),\n },\n {\n decimals: destToken.decimals,\n feeShare: destToken.feeShare,\n poolInfo: await getPoolInfoByToken(this.api, destToken),\n },\n );\n }\n\n async swapAndBridgeFeeCalculationReverse(\n amountInTokenPrecision: string,\n sourceToken: TokenWithChainDetails,\n destToken: TokenWithChainDetails,\n ): Promise<SwapAndBridgeCalculationData> {\n const result = swapAndBridgeFeeCalculationReverse(\n amountInTokenPrecision,\n {\n decimals: sourceToken.decimals,\n feeShare: sourceToken.feeShare,\n poolInfo: await getPoolInfoByToken(this.api, sourceToken),\n },\n {\n decimals: destToken.decimals,\n feeShare: destToken.feeShare,\n poolInfo: await getPoolInfoByToken(this.api, destToken),\n },\n );\n const newAmount = result.swapFromVUsdCalcResult.amountIncludingCommissionInTokenPrecision;\n if (Big(newAmount).lt(0)) {\n throw new InsufficientPoolLiquidityError();\n }\n return result;\n }\n\n async getSendAmountDetails(\n amount: string,\n amountFormat: AmountFormat,\n sourceToken: TokenWithChainDetails,\n destToken: TokenWithChainDetails,\n ): Promise<SendAmountDetails> {\n validateAmountGtZero(amount);\n let amountInTokenPrecision;\n if (amountFormat == AmountFormat.FLOAT) {\n validateAmountDecimals(\"amount\", amount, sourceToken.decimals);\n amountInTokenPrecision = convertFloatAmountToInt(amount, sourceToken.decimals).toFixed();\n } else {\n amountInTokenPrecision = amount;\n }\n\n return getSendAmountDetails(\n amountInTokenPrecision,\n sourceToken,\n await getPoolInfoByToken(this.api, sourceToken),\n destToken,\n await getPoolInfoByToken(this.api, destToken),\n );\n }\n}\n"]}
@@ -1,19 +1,18 @@
1
- import Web3 from "web3";
2
1
  import { ChainType } from "../../../chains/chain.enums";
3
2
  import { AllbridgeCoreClient } from "../../../client/core-api/core-client-base";
4
3
  import { PoolInfo, TokenWithChainDetails } from "../../../tokens-info";
5
- import { RawTransaction } from "../../models";
4
+ import { EssentialWeb3, RawTransaction } from "../../models";
6
5
  import { ChainPoolService, LiquidityPoolsParams, LiquidityPoolsParamsWithAmount, UserBalanceInfo } from "../models";
7
6
  export declare class EvmPoolService extends ChainPoolService {
8
- web3: Web3;
7
+ web3: EssentialWeb3;
9
8
  api: AllbridgeCoreClient;
10
9
  chainType: ChainType.EVM;
11
10
  private P;
12
- constructor(web3: Web3, api: AllbridgeCoreClient);
11
+ constructor(web3: EssentialWeb3, api: AllbridgeCoreClient);
13
12
  getUserBalanceInfo(accountAddress: string, token: TokenWithChainDetails): Promise<UserBalanceInfo>;
13
+ getPoolInfoFromChain(token: TokenWithChainDetails): Promise<PoolInfo>;
14
14
  private getUserBalanceInfoByBatch;
15
15
  private getUserBalanceInfoPerProperty;
16
- getPoolInfoFromChain(token: TokenWithChainDetails): Promise<PoolInfo>;
17
16
  private getPoolInfoByBatch;
18
17
  private getPoolInfoPerProperty;
19
18
  buildRawTransactionDeposit(params: LiquidityPoolsParamsWithAmount): Promise<RawTransaction>;
@@ -24,6 +23,5 @@ export declare class EvmPoolService extends ChainPoolService {
24
23
  to: string;
25
24
  value: string;
26
25
  };
27
- private getContract;
28
26
  private getPoolContract;
29
27
  }
@@ -4,81 +4,139 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.EvmPoolService = void 0;
7
+ const web3_1 = require("web3");
7
8
  const chain_enums_1 = require("../../../chains/chain.enums");
8
9
  const calculation_1 = require("../../../utils/calculation");
9
10
  const utils_1 = require("../../../utils/utils");
10
- const Pool_json_1 = __importDefault(require("../../models/abi/Pool.json"));
11
- const utils_2 = require("../../utils");
11
+ const Pool_1 = __importDefault(require("../../models/abi/Pool"));
12
12
  const models_1 = require("../models");
13
13
  class EvmPoolService extends models_1.ChainPoolService {
14
+ web3;
15
+ api;
16
+ chainType = chain_enums_1.ChainType.EVM;
17
+ P = 52;
14
18
  constructor(web3, api) {
15
19
  super();
16
20
  this.web3 = web3;
17
21
  this.api = api;
18
- this.chainType = chain_enums_1.ChainType.EVM;
19
- this.P = 52;
20
22
  }
21
23
  async getUserBalanceInfo(accountAddress, token) {
22
24
  let userBalanceInfo;
23
25
  try {
24
26
  userBalanceInfo = await (0, utils_1.promiseWithTimeout)(this.getUserBalanceInfoByBatch(accountAddress, token), `Cannot get UserBalanceInfo for ${token.name} on ${token.chainSymbol}`, 5000);
25
27
  }
26
- catch (err) {
28
+ catch (ignoreError) {
27
29
  userBalanceInfo = await (0, utils_1.promiseWithTimeoutAndRetries)(() => this.getUserBalanceInfoPerProperty(accountAddress, token), `Cannot get UserBalanceInfo for ${token.name} on ${token.chainSymbol}`, 5, 2000);
28
30
  }
29
31
  return userBalanceInfo;
30
32
  }
31
- async getUserBalanceInfoByBatch(accountAddress, token) {
32
- const batch = new this.web3.BatchRequest();
33
- const contract = new this.web3.eth.Contract(Pool_json_1.default, token.poolAddress);
34
- const arr = ["userRewardDebt", "balanceOf"].map((methodName) => (0, utils_2.promisify)((cb) => batch.add(contract.methods[methodName](accountAddress).call.request({}, cb)))());
35
- batch.execute();
36
- const [rewardDebt, lpAmount] = await Promise.all(arr);
37
- return new models_1.UserBalance({ lpAmount, rewardDebt });
38
- }
39
- async getUserBalanceInfoPerProperty(accountAddress, token) {
40
- const rewardDebt = await this.getPoolContract(token.poolAddress).methods.userRewardDebt(accountAddress).call();
41
- const lpAmount = await this.getPoolContract(token.poolAddress).methods.balanceOf(accountAddress).call();
42
- return new models_1.UserBalance({ lpAmount, rewardDebt });
43
- }
44
33
  async getPoolInfoFromChain(token) {
45
34
  let poolInfo;
46
35
  try {
47
36
  poolInfo = await (0, utils_1.promiseWithTimeout)(this.getPoolInfoByBatch(token), `Cannot get PoolInfo for ${token.name} on ${token.chainSymbol}`, 5000);
48
37
  }
49
- catch (err) {
38
+ catch (ignoreError) {
50
39
  poolInfo = await (0, utils_1.promiseWithTimeoutAndRetries)(() => this.getPoolInfoPerProperty(token), `Cannot get PoolInfo for ${token.name} on ${token.chainSymbol}`, 5, 2000);
51
40
  }
52
41
  return poolInfo;
53
42
  }
43
+ async getUserBalanceInfoByBatch(accountAddress, token) {
44
+ const batch = new this.web3.eth.BatchRequest();
45
+ const poolContract = this.getPoolContract(token.poolAddress);
46
+ const userRewardDebtAbi = poolContract.methods.userRewardDebt(accountAddress).encodeABI();
47
+ const balanceOfAbi = poolContract.methods.balanceOf(accountAddress).encodeABI();
48
+ batch.add({
49
+ method: "eth_call",
50
+ params: [{ to: token.poolAddress, data: userRewardDebtAbi }, "latest"],
51
+ });
52
+ batch.add({
53
+ method: "eth_call",
54
+ params: [{ to: token.poolAddress, data: balanceOfAbi }, "latest"],
55
+ });
56
+ const [rewardDebtResult, lpAmountResult] = await batch.execute();
57
+ if (rewardDebtResult && lpAmountResult && !rewardDebtResult.error && !lpAmountResult.error) {
58
+ return new models_1.UserBalance({
59
+ lpAmount: web3_1.Web3.utils.toBigInt(lpAmountResult.result).toString(),
60
+ rewardDebt: web3_1.Web3.utils.toBigInt(rewardDebtResult.result).toString(),
61
+ });
62
+ }
63
+ throw new Error("Batched failed");
64
+ }
65
+ async getUserBalanceInfoPerProperty(accountAddress, token) {
66
+ const rewardDebt = (await this.getPoolContract(token.poolAddress).methods.userRewardDebt(accountAddress).call()).toString();
67
+ const lpAmount = (await this.getPoolContract(token.poolAddress).methods.balanceOf(accountAddress).call()).toString();
68
+ return new models_1.UserBalance({ lpAmount, rewardDebt });
69
+ }
54
70
  async getPoolInfoByBatch(token) {
55
- const batch = new this.web3.BatchRequest();
56
- const contract = new this.web3.eth.Contract(Pool_json_1.default, token.poolAddress);
57
- const arr = ["a", "d", "tokenBalance", "vUsdBalance", "totalSupply", "accRewardPerShareP"].map((methodName) => (0, utils_2.promisify)((cb) => batch.add(contract.methods[methodName]().call.request({}, cb)))());
58
- batch.execute();
59
- const [aValue, dValue, tokenBalance, vUsdBalance, totalLpAmount, accRewardPerShareP] = await Promise.all(arr);
60
- const tokenBalanceStr = tokenBalance.toString();
61
- const vUsdBalanceStr = vUsdBalance.toString();
62
- const imbalance = (0, calculation_1.calculatePoolInfoImbalance)({ tokenBalance: tokenBalanceStr, vUsdBalance: vUsdBalanceStr });
63
- return {
64
- aValue: aValue.toString(),
65
- dValue: dValue.toString(),
66
- tokenBalance: tokenBalanceStr,
67
- vUsdBalance: vUsdBalanceStr,
68
- totalLpAmount: totalLpAmount.toString(),
69
- accRewardPerShareP: accRewardPerShareP.toString(),
70
- p: this.P,
71
- imbalance,
72
- };
71
+ const batch = new this.web3.eth.BatchRequest();
72
+ const poolContract = this.getPoolContract(token.poolAddress);
73
+ const aAbi = poolContract.methods.a().encodeABI();
74
+ const dAbi = poolContract.methods.d().encodeABI();
75
+ const tokenBalanceAbi = poolContract.methods.tokenBalance().encodeABI();
76
+ const vUsdBalanceAbi = poolContract.methods.vUsdBalance().encodeABI();
77
+ const totalSupplyAbi = poolContract.methods.totalSupply().encodeABI();
78
+ const accRewardPerSharePAbi = poolContract.methods.accRewardPerShareP().encodeABI();
79
+ batch.add({
80
+ method: "eth_call",
81
+ params: [{ to: token.poolAddress, data: aAbi }, "latest"],
82
+ });
83
+ batch.add({
84
+ method: "eth_call",
85
+ params: [{ to: token.poolAddress, data: dAbi }, "latest"],
86
+ });
87
+ batch.add({
88
+ method: "eth_call",
89
+ params: [{ to: token.poolAddress, data: tokenBalanceAbi }, "latest"],
90
+ });
91
+ batch.add({
92
+ method: "eth_call",
93
+ params: [{ to: token.poolAddress, data: vUsdBalanceAbi }, "latest"],
94
+ });
95
+ batch.add({
96
+ method: "eth_call",
97
+ params: [{ to: token.poolAddress, data: totalSupplyAbi }, "latest"],
98
+ });
99
+ batch.add({
100
+ method: "eth_call",
101
+ params: [{ to: token.poolAddress, data: accRewardPerSharePAbi }, "latest"],
102
+ });
103
+ const [aResult, dResult, tokenBalanceResult, vUsdBalanceResult, totalSupplyResult, accRewardPerSharePResult] = await batch.execute();
104
+ if (aResult &&
105
+ dResult &&
106
+ tokenBalanceResult &&
107
+ vUsdBalanceResult &&
108
+ totalSupplyResult &&
109
+ accRewardPerSharePResult &&
110
+ !aResult.error &&
111
+ !dResult.error &&
112
+ !tokenBalanceResult.error &&
113
+ !vUsdBalanceResult.error &&
114
+ !totalSupplyResult.error &&
115
+ !accRewardPerSharePResult.error) {
116
+ const tokenBalanceStr = web3_1.Web3.utils.toBigInt(tokenBalanceResult.result).toString();
117
+ const vUsdBalanceStr = web3_1.Web3.utils.toBigInt(vUsdBalanceResult.result).toString();
118
+ const imbalance = (0, calculation_1.calculatePoolInfoImbalance)({ tokenBalance: tokenBalanceStr, vUsdBalance: vUsdBalanceStr });
119
+ return {
120
+ aValue: web3_1.Web3.utils.toBigInt(aResult.result).toString(),
121
+ dValue: web3_1.Web3.utils.toBigInt(dResult.result).toString(),
122
+ tokenBalance: tokenBalanceStr,
123
+ vUsdBalance: vUsdBalanceStr,
124
+ totalLpAmount: web3_1.Web3.utils.toBigInt(totalSupplyResult.result).toString(),
125
+ accRewardPerShareP: web3_1.Web3.utils.toBigInt(accRewardPerSharePResult.result).toString(),
126
+ p: this.P,
127
+ imbalance,
128
+ };
129
+ }
130
+ throw new Error("Batched failed");
73
131
  }
74
132
  async getPoolInfoPerProperty(token) {
75
133
  const poolContract = this.getPoolContract(token.poolAddress);
76
- const aValue = await poolContract.methods.a().call();
77
- const dValue = await poolContract.methods.d().call();
78
- const tokenBalance = await poolContract.methods.tokenBalance().call();
79
- const vUsdBalance = await poolContract.methods.vUsdBalance().call();
80
- const totalLpAmount = await poolContract.methods.totalSupply().call();
81
- const accRewardPerShareP = await poolContract.methods.accRewardPerShareP().call();
134
+ const aValue = (await poolContract.methods.a().call()).toString();
135
+ const dValue = (await poolContract.methods.d().call()).toString();
136
+ const tokenBalance = (await poolContract.methods.tokenBalance().call()).toString();
137
+ const vUsdBalance = (await poolContract.methods.vUsdBalance().call()).toString();
138
+ const totalLpAmount = (await poolContract.methods.totalSupply().call()).toString();
139
+ const accRewardPerShareP = (await poolContract.methods.accRewardPerShareP().call()).toString();
82
140
  const imbalance = (0, calculation_1.calculatePoolInfoImbalance)({ tokenBalance, vUsdBalance });
83
141
  return {
84
142
  aValue,
@@ -116,11 +174,8 @@ class EvmPoolService extends models_1.ChainPoolService {
116
174
  value: "0",
117
175
  };
118
176
  }
119
- getContract(abiItem, contractAddress) {
120
- return new this.web3.eth.Contract(abiItem, contractAddress);
121
- }
122
177
  getPoolContract(contractAddress) {
123
- return this.getContract(Pool_json_1.default, contractAddress);
178
+ return new this.web3.eth.Contract(Pool_1.default.abi, contractAddress);
124
179
  }
125
180
  }
126
181
  exports.EvmPoolService = EvmPoolService;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/liquidity-pool/evm/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/liquidity-pool/evm/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { Contract, Web3 } from \"web3\";\nimport { ChainType } from \"../../../chains/chain.enums\";\nimport { AllbridgeCoreClient } from \"../../../client/core-api/core-client-base\";\nimport { PoolInfo, TokenWithChainDetails } from \"../../../tokens-info\";\nimport { calculatePoolInfoImbalance } from \"../../../utils/calculation\";\nimport { promiseWithTimeout, promiseWithTimeoutAndRetries } from \"../../../utils/utils\";\nimport { EssentialWeb3, RawTransaction } from \"../../models\";\nimport Pool from \"../../models/abi/Pool\";\nimport {\n ChainPoolService,\n LiquidityPoolsParams,\n LiquidityPoolsParamsWithAmount,\n UserBalance,\n UserBalanceInfo,\n} from \"../models\";\n\nexport class EvmPoolService extends ChainPoolService {\n chainType: ChainType.EVM = ChainType.EVM;\n private P = 52;\n\n constructor(\n public web3: EssentialWeb3,\n public api: AllbridgeCoreClient,\n ) {\n super();\n }\n\n async getUserBalanceInfo(accountAddress: string, token: TokenWithChainDetails): Promise<UserBalanceInfo> {\n let userBalanceInfo;\n try {\n userBalanceInfo = await promiseWithTimeout(\n this.getUserBalanceInfoByBatch(accountAddress, token),\n `Cannot get UserBalanceInfo for ${token.name} on ${token.chainSymbol}`,\n 5000,\n );\n } catch (ignoreError) {\n userBalanceInfo = await promiseWithTimeoutAndRetries(\n () => this.getUserBalanceInfoPerProperty(accountAddress, token),\n `Cannot get UserBalanceInfo for ${token.name} on ${token.chainSymbol}`,\n 5,\n 2000,\n );\n }\n return userBalanceInfo;\n }\n\n async getPoolInfoFromChain(token: TokenWithChainDetails): Promise<PoolInfo> {\n let poolInfo;\n try {\n poolInfo = await promiseWithTimeout(\n this.getPoolInfoByBatch(token),\n `Cannot get PoolInfo for ${token.name} on ${token.chainSymbol}`,\n 5000,\n );\n } catch (ignoreError) {\n poolInfo = await promiseWithTimeoutAndRetries(\n () => this.getPoolInfoPerProperty(token),\n `Cannot get PoolInfo for ${token.name} on ${token.chainSymbol}`,\n 5,\n 2000,\n );\n }\n return poolInfo;\n }\n\n private async getUserBalanceInfoByBatch(\n accountAddress: string,\n token: TokenWithChainDetails,\n ): Promise<UserBalanceInfo> {\n const batch = new this.web3.eth.BatchRequest();\n const poolContract = this.getPoolContract(token.poolAddress);\n\n const userRewardDebtAbi = poolContract.methods.userRewardDebt(accountAddress).encodeABI();\n const balanceOfAbi = poolContract.methods.balanceOf(accountAddress).encodeABI();\n\n batch.add({\n method: \"eth_call\",\n params: [{ to: token.poolAddress, data: userRewardDebtAbi }, \"latest\"],\n });\n batch.add({\n method: \"eth_call\",\n params: [{ to: token.poolAddress, data: balanceOfAbi }, \"latest\"],\n });\n\n const [rewardDebtResult, lpAmountResult] = await batch.execute();\n\n if (rewardDebtResult && lpAmountResult && !rewardDebtResult.error && !lpAmountResult.error) {\n return new UserBalance({\n lpAmount: Web3.utils.toBigInt(lpAmountResult.result).toString(),\n rewardDebt: Web3.utils.toBigInt(rewardDebtResult.result).toString(),\n });\n }\n throw new Error(\"Batched failed\");\n }\n\n private async getUserBalanceInfoPerProperty(\n accountAddress: string,\n token: TokenWithChainDetails,\n ): Promise<UserBalanceInfo> {\n const rewardDebt = (\n await this.getPoolContract(token.poolAddress).methods.userRewardDebt(accountAddress).call()\n ).toString();\n const lpAmount = (\n await this.getPoolContract(token.poolAddress).methods.balanceOf(accountAddress).call()\n ).toString();\n return new UserBalance({ lpAmount, rewardDebt });\n }\n\n private async getPoolInfoByBatch(token: TokenWithChainDetails): Promise<PoolInfo> {\n const batch = new this.web3.eth.BatchRequest();\n const poolContract = this.getPoolContract(token.poolAddress);\n\n const aAbi = poolContract.methods.a().encodeABI();\n const dAbi = poolContract.methods.d().encodeABI();\n const tokenBalanceAbi = poolContract.methods.tokenBalance().encodeABI();\n const vUsdBalanceAbi = poolContract.methods.vUsdBalance().encodeABI();\n const totalSupplyAbi = poolContract.methods.totalSupply().encodeABI();\n const accRewardPerSharePAbi = poolContract.methods.accRewardPerShareP().encodeABI();\n\n batch.add({\n method: \"eth_call\",\n params: [{ to: token.poolAddress, data: aAbi }, \"latest\"],\n });\n batch.add({\n method: \"eth_call\",\n params: [{ to: token.poolAddress, data: dAbi }, \"latest\"],\n });\n batch.add({\n method: \"eth_call\",\n params: [{ to: token.poolAddress, data: tokenBalanceAbi }, \"latest\"],\n });\n batch.add({\n method: \"eth_call\",\n params: [{ to: token.poolAddress, data: vUsdBalanceAbi }, \"latest\"],\n });\n batch.add({\n method: \"eth_call\",\n params: [{ to: token.poolAddress, data: totalSupplyAbi }, \"latest\"],\n });\n batch.add({\n method: \"eth_call\",\n params: [{ to: token.poolAddress, data: accRewardPerSharePAbi }, \"latest\"],\n });\n\n const [aResult, dResult, tokenBalanceResult, vUsdBalanceResult, totalSupplyResult, accRewardPerSharePResult] =\n await batch.execute();\n\n if (\n aResult &&\n dResult &&\n tokenBalanceResult &&\n vUsdBalanceResult &&\n totalSupplyResult &&\n accRewardPerSharePResult &&\n !aResult.error &&\n !dResult.error &&\n !tokenBalanceResult.error &&\n !vUsdBalanceResult.error &&\n !totalSupplyResult.error &&\n !accRewardPerSharePResult.error\n ) {\n const tokenBalanceStr = Web3.utils.toBigInt(tokenBalanceResult.result).toString();\n const vUsdBalanceStr = Web3.utils.toBigInt(vUsdBalanceResult.result).toString();\n const imbalance = calculatePoolInfoImbalance({ tokenBalance: tokenBalanceStr, vUsdBalance: vUsdBalanceStr });\n return {\n aValue: Web3.utils.toBigInt(aResult.result).toString(),\n dValue: Web3.utils.toBigInt(dResult.result).toString(),\n tokenBalance: tokenBalanceStr,\n vUsdBalance: vUsdBalanceStr,\n totalLpAmount: Web3.utils.toBigInt(totalSupplyResult.result).toString(),\n accRewardPerShareP: Web3.utils.toBigInt(accRewardPerSharePResult.result).toString(),\n p: this.P,\n imbalance,\n };\n }\n throw new Error(\"Batched failed\");\n }\n\n private async getPoolInfoPerProperty(token: TokenWithChainDetails): Promise<PoolInfo> {\n const poolContract = this.getPoolContract(token.poolAddress);\n\n const aValue = (await poolContract.methods.a().call()).toString();\n const dValue = (await poolContract.methods.d().call()).toString();\n const tokenBalance = (await poolContract.methods.tokenBalance().call()).toString();\n const vUsdBalance = (await poolContract.methods.vUsdBalance().call()).toString();\n const totalLpAmount = (await poolContract.methods.totalSupply().call()).toString();\n const accRewardPerShareP = (await poolContract.methods.accRewardPerShareP().call()).toString();\n\n const imbalance = calculatePoolInfoImbalance({ tokenBalance, vUsdBalance });\n\n return {\n aValue,\n dValue,\n tokenBalance,\n vUsdBalance,\n totalLpAmount,\n accRewardPerShareP,\n p: this.P,\n imbalance,\n };\n }\n\n async buildRawTransactionDeposit(params: LiquidityPoolsParamsWithAmount): Promise<RawTransaction> {\n return Promise.resolve({\n ...this.buildTxParams(params),\n data: this.getPoolContract(params.token.poolAddress).methods.deposit(params.amount).encodeABI(),\n });\n }\n\n async buildRawTransactionWithdraw(params: LiquidityPoolsParamsWithAmount): Promise<RawTransaction> {\n return Promise.resolve({\n ...this.buildTxParams(params),\n data: this.getPoolContract(params.token.poolAddress).methods.withdraw(params.amount).encodeABI(),\n });\n }\n\n async buildRawTransactionClaimRewards(params: LiquidityPoolsParams): Promise<RawTransaction> {\n return Promise.resolve({\n ...this.buildTxParams(params),\n data: this.getPoolContract(params.token.poolAddress).methods.claimRewards().encodeABI(),\n });\n }\n\n buildTxParams(params: LiquidityPoolsParams) {\n return {\n from: params.accountAddress,\n to: params.token.poolAddress,\n value: \"0\",\n };\n }\n\n private getPoolContract(contractAddress: string) {\n return new this.web3.eth.Contract(Pool.abi, contractAddress) as Contract<typeof Pool.abi>;\n }\n}\n"]}
@@ -36,7 +36,7 @@ export interface LiquidityPoolService {
36
36
  */
37
37
  checkAllowance(params: CheckAllowanceParams): Promise<boolean>;
38
38
  /**
39
- * @Deprecated Use {@link rawTxBuilder}.{@link RawPoolTransactionBuilder.approve}<p>
39
+ * @deprecated Use {@link rawTxBuilder}.{@link RawPoolTransactionBuilder.approve}<p>
40
40
  * Approve tokens usage by another address on chains
41
41
  * <p>
42
42
  * For ETH/USDT: due to specificity of the USDT contract:<br/>
@@ -3,12 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getChainPoolService = exports.DefaultLiquidityPoolService = void 0;
6
+ exports.DefaultLiquidityPoolService = void 0;
7
+ exports.getChainPoolService = getChainPoolService;
7
8
  const big_js_1 = require("big.js");
8
9
  const timed_cache_1 = __importDefault(require("timed-cache"));
9
- // @ts-expect-error import tron
10
- const tronweb_1 = __importDefault(require("tronweb"));
11
- const web3_1 = __importDefault(require("web3"));
10
+ const tronweb_1 = require("tronweb");
11
+ const web3_1 = require("web3");
12
12
  const chains_1 = require("../../chains");
13
13
  const index_1 = require("../../index");
14
14
  const calculation_1 = require("../../utils/calculation");
@@ -21,6 +21,12 @@ const sol_1 = require("./sol");
21
21
  const srb_1 = require("./srb");
22
22
  const trx_1 = require("./trx");
23
23
  class DefaultLiquidityPoolService {
24
+ api;
25
+ nodeRpcUrlsConfig;
26
+ params;
27
+ tokenService;
28
+ rawTxBuilder;
29
+ cache;
24
30
  constructor(api, nodeRpcUrlsConfig, params, tokenService) {
25
31
  this.api = api;
26
32
  this.nodeRpcUrlsConfig = nodeRpcUrlsConfig;
@@ -100,7 +106,9 @@ function getChainPoolService(chainSymbol, api, nodeRpcUrlsConfig, params, provid
100
106
  }
101
107
  else {
102
108
  const nodeRpcUrl = nodeRpcUrlsConfig.getNodeRpcUrl(chainSymbol);
103
- return new evm_1.EvmPoolService(new web3_1.default(nodeRpcUrl), api);
109
+ const web3 = new web3_1.Web3(nodeRpcUrl);
110
+ web3.defaultReturnFormat = { number: web3_1.FMT_NUMBER.STR, bytes: web3_1.FMT_BYTES.HEX };
111
+ return new evm_1.EvmPoolService(web3, api);
104
112
  }
105
113
  }
106
114
  case index_1.ChainType.TRX: {
@@ -110,7 +118,7 @@ function getChainPoolService(chainSymbol, api, nodeRpcUrlsConfig, params, provid
110
118
  return new trx_1.TronPoolService(provider, api, tronJsonRpc);
111
119
  }
112
120
  else {
113
- const tronWeb = new tronweb_1.default({ fullHost: nodeRpcUrl });
121
+ const tronWeb = new tronweb_1.TronWeb({ fullHost: nodeRpcUrl });
114
122
  return new trx_1.TronPoolService(tronWeb, api, tronJsonRpc);
115
123
  }
116
124
  }
@@ -123,5 +131,4 @@ function getChainPoolService(chainSymbol, api, nodeRpcUrlsConfig, params, provid
123
131
  }
124
132
  }
125
133
  }
126
- exports.getChainPoolService = getChainPoolService;
127
134
  //# sourceMappingURL=index.js.map