@cryptorubic/web3 0.0.34 → 0.0.37-alpha-1212.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (293) hide show
  1. package/package.json +42 -15
  2. package/src/index.d.ts +130 -19
  3. package/src/index.js +130 -17
  4. package/src/lib/adapter/adapters/adapter-bitcoin/bitcoin-adapter.d.ts +40 -0
  5. package/src/lib/adapter/adapters/adapter-bitcoin/bitcoin-adapter.js +177 -0
  6. package/src/lib/adapter/adapters/adapter-bitcoin/models/btc-send-tx-params.d.ts +5 -0
  7. package/src/lib/adapter/adapters/adapter-bitcoin/models/btc-send-tx-params.js +2 -0
  8. package/src/lib/adapter/adapters/adapter-bitcoin/models/btc-web3-private-models/bitcoin-psbt-encoded-config.d.ts +5 -0
  9. package/src/lib/adapter/adapters/adapter-bitcoin/models/btc-web3-private-models/bitcoin-psbt-encoded-config.js +2 -0
  10. package/src/lib/adapter/adapters/adapter-bitcoin/models/btc-web3-private-models/bitcoin-trade-types.d.ts +7 -0
  11. package/src/lib/adapter/adapters/adapter-bitcoin/models/btc-web3-private-models/bitcoin-trade-types.js +2 -0
  12. package/src/lib/adapter/adapters/adapter-bitcoin/models/btc-web3-private-models/bitcoin-transfer-encoded-config.d.ts +6 -0
  13. package/src/lib/adapter/adapters/adapter-bitcoin/models/btc-web3-private-models/bitcoin-transfer-encoded-config.js +2 -0
  14. package/src/lib/adapter/adapters/adapter-bitcoin/signer/bitcoin-adapter-signer.d.ts +17 -0
  15. package/src/lib/adapter/adapters/adapter-bitcoin/signer/bitcoin-adapter-signer.js +131 -0
  16. package/src/lib/adapter/adapters/adapter-evm/constants/proxy-hash-errors.d.ts +4 -0
  17. package/src/lib/adapter/adapters/adapter-evm/constants/proxy-hash-errors.js +705 -0
  18. package/src/lib/adapter/adapters/adapter-evm/evm-adapter.d.ts +120 -0
  19. package/src/lib/adapter/adapters/adapter-evm/evm-adapter.js +498 -0
  20. package/src/lib/adapter/adapters/adapter-evm/models/evm-send-tx-params.d.ts +38 -0
  21. package/src/lib/adapter/adapters/adapter-evm/models/evm-send-tx-params.js +2 -0
  22. package/src/lib/adapter/adapters/adapter-evm/signer/evm-adapter-signer.d.ts +53 -0
  23. package/src/lib/adapter/adapters/adapter-evm/signer/evm-adapter-signer.js +263 -0
  24. package/src/lib/adapter/adapters/adapter-evm/utils/parse-evm-error.d.ts +12 -0
  25. package/src/lib/adapter/adapters/adapter-evm/utils/parse-evm-error.js +70 -0
  26. package/src/lib/adapter/adapters/adapter-solana/models/solana-send-tx-params.d.ts +16 -0
  27. package/src/lib/adapter/adapters/adapter-solana/models/solana-send-tx-params.js +2 -0
  28. package/src/lib/adapter/adapters/adapter-solana/services/solana-tokens-service.d.ts +22 -0
  29. package/src/lib/adapter/adapters/adapter-solana/services/solana-tokens-service.js +138 -0
  30. package/src/lib/adapter/adapters/adapter-solana/signer/solana-adapter-signer.d.ts +17 -0
  31. package/src/lib/adapter/adapters/adapter-solana/signer/solana-adapter-signer.js +87 -0
  32. package/src/lib/adapter/adapters/adapter-solana/solana-adapter.d.ts +49 -0
  33. package/src/lib/adapter/adapters/adapter-solana/solana-adapter.js +231 -0
  34. package/src/lib/adapter/adapters/adapter-stellar/constants/fake-stellar-wallet.d.ts +1 -0
  35. package/src/lib/adapter/adapters/adapter-stellar/constants/fake-stellar-wallet.js +4 -0
  36. package/src/lib/adapter/adapters/adapter-stellar/models/stellar-client.d.ts +2 -0
  37. package/src/lib/adapter/adapters/adapter-stellar/models/stellar-client.js +2 -0
  38. package/src/lib/adapter/adapters/adapter-stellar/models/stellar-rpc-provider.d.ts +6 -0
  39. package/src/lib/adapter/adapters/adapter-stellar/models/stellar-rpc-provider.js +2 -0
  40. package/src/lib/adapter/adapters/adapter-stellar/models/stellar-send-tx-params.d.ts +8 -0
  41. package/src/lib/adapter/adapters/adapter-stellar/models/stellar-send-tx-params.js +2 -0
  42. package/src/lib/adapter/adapters/adapter-stellar/models/stellar-wallet.d.ts +87 -0
  43. package/src/lib/adapter/adapters/adapter-stellar/models/stellar-wallet.js +2 -0
  44. package/src/lib/adapter/adapters/adapter-stellar/signer/stellar-adapter-signer.d.ts +18 -0
  45. package/src/lib/adapter/adapters/adapter-stellar/signer/stellar-adapter-signer.js +75 -0
  46. package/src/lib/adapter/adapters/adapter-stellar/stellar-adapter.d.ts +54 -0
  47. package/src/lib/adapter/adapters/adapter-stellar/stellar-adapter.js +253 -0
  48. package/src/lib/adapter/adapters/adapter-sui/models/sui-send-tx-params.d.ts +8 -0
  49. package/src/lib/adapter/adapters/adapter-sui/models/sui-send-tx-params.js +2 -0
  50. package/src/lib/adapter/adapters/adapter-sui/signer/sui-adapter-signer.d.ts +17 -0
  51. package/src/lib/adapter/adapters/adapter-sui/signer/sui-adapter-signer.js +55 -0
  52. package/src/lib/adapter/adapters/adapter-sui/sui-adapter.d.ts +32 -0
  53. package/src/lib/adapter/adapters/adapter-sui/sui-adapter.js +111 -0
  54. package/src/lib/adapter/adapters/adapter-ton/models/ton-send-tx-params.d.ts +26 -0
  55. package/src/lib/adapter/adapters/adapter-ton/models/ton-send-tx-params.js +2 -0
  56. package/src/lib/adapter/adapters/{utils → adapter-ton/services}/ton-api.service.d.ts +8 -7
  57. package/src/lib/adapter/adapters/{utils → adapter-ton/services}/ton-api.service.js +39 -56
  58. package/src/lib/adapter/adapters/adapter-ton/signer/ton-adapter-signer.d.ts +43 -0
  59. package/src/lib/adapter/adapters/adapter-ton/signer/ton-adapter-signer.js +166 -0
  60. package/src/lib/adapter/adapters/adapter-ton/ton-adapter.d.ts +32 -0
  61. package/src/lib/adapter/adapters/adapter-ton/ton-adapter.js +104 -0
  62. package/src/lib/adapter/adapters/adapter-tron/models/tron-send-tx-params.d.ts +13 -0
  63. package/src/lib/adapter/adapters/adapter-tron/models/tron-send-tx-params.js +2 -0
  64. package/src/lib/adapter/adapters/adapter-tron/models/tron-transfer-tx-params.d.ts +7 -0
  65. package/src/lib/adapter/adapters/adapter-tron/models/tron-transfer-tx-params.js +2 -0
  66. package/src/lib/adapter/adapters/adapter-tron/models/tron-web-provider.d.ts +4 -0
  67. package/src/lib/adapter/adapters/adapter-tron/models/tron-web-provider.js +2 -0
  68. package/src/lib/adapter/adapters/adapter-tron/signer/tron-adapter-signer.d.ts +19 -0
  69. package/src/lib/adapter/adapters/adapter-tron/signer/tron-adapter-signer.js +81 -0
  70. package/src/lib/adapter/adapters/adapter-tron/tron-adapter.d.ts +57 -0
  71. package/src/lib/adapter/adapters/{tron-adapter.js → adapter-tron/tron-adapter.js} +145 -70
  72. package/src/lib/adapter/adapters/adapter-tron/utils/parse-tron-error.d.ts +2 -0
  73. package/src/lib/adapter/adapters/adapter-tron/utils/parse-tron-error.js +20 -0
  74. package/src/lib/adapter/adapters/common/abstract-adapter.d.ts +84 -0
  75. package/src/lib/adapter/adapters/common/abstract-adapter.js +82 -0
  76. package/src/lib/adapter/adapters/common/signer/abstract-adapter-signer.d.ts +22 -0
  77. package/src/lib/adapter/adapters/common/signer/abstract-adapter-signer.js +42 -0
  78. package/src/lib/adapter/adapters/constants/possible-errors.d.ts +1 -0
  79. package/src/lib/adapter/adapters/constants/possible-errors.js +14 -0
  80. package/src/lib/adapter/adapters/constants/tron-multicall-abi.d.ts +1 -1
  81. package/src/lib/adapter/adapters/constants/uni-v3-permit-abi.d.ts +2 -0
  82. package/src/lib/adapter/adapters/constants/uni-v3-permit-abi.js +72 -0
  83. package/src/lib/adapter/adapters/models/approve-adapter.d.ts +20 -6
  84. package/src/lib/adapter/adapters/models/approve-adapter.js +4 -0
  85. package/src/lib/adapter/adapters/models/basic-transaction-options.d.ts +7 -0
  86. package/src/lib/adapter/adapters/models/basic-transaction-options.js +2 -0
  87. package/src/lib/adapter/adapters/models/bitcoin-user-address-info.d.ts +53 -0
  88. package/src/lib/adapter/adapters/models/bitcoin-user-address-info.js +2 -0
  89. package/src/lib/adapter/adapters/models/btc-wallet-provider.d.ts +10 -0
  90. package/src/lib/adapter/adapters/models/btc-wallet-provider.js +2 -0
  91. package/src/lib/adapter/adapters/models/evm-adapter-options.d.ts +1 -1
  92. package/src/lib/adapter/adapters/models/evm-web3-public-models/batch-call.d.ts +5 -0
  93. package/src/lib/adapter/adapters/models/evm-web3-public-models/batch-call.js +2 -0
  94. package/src/lib/adapter/adapters/models/evm-web3-public-models/evm-call.d.ts +4 -0
  95. package/src/lib/adapter/adapters/models/evm-web3-public-models/evm-call.js +2 -0
  96. package/src/lib/adapter/adapters/models/evm-web3-public-models/evm-multicall-response.d.ts +4 -0
  97. package/src/lib/adapter/adapters/models/evm-web3-public-models/evm-multicall-response.js +2 -0
  98. package/src/lib/adapter/adapters/models/evm-web3-public-models/gas-price-viem.d.ts +18 -0
  99. package/src/lib/adapter/adapters/models/evm-web3-public-models/gas-price-viem.js +2 -0
  100. package/src/lib/adapter/adapters/models/evm-web3-public-models/gas-price.d.ts +22 -0
  101. package/src/lib/adapter/adapters/models/evm-web3-public-models/gas-price.js +2 -0
  102. package/src/lib/adapter/adapters/models/evm-web3-public-models/permit2-contract-types.d.ts +10 -0
  103. package/src/lib/adapter/adapters/models/evm-web3-public-models/permit2-contract-types.js +2 -0
  104. package/src/lib/adapter/adapters/models/evm-web3-public-models/rpc-response.d.ts +5 -0
  105. package/src/lib/adapter/adapters/models/evm-web3-public-models/rpc-response.js +2 -0
  106. package/src/lib/adapter/adapters/models/old-features-models/contract-params.d.ts +23 -0
  107. package/src/lib/adapter/adapters/models/old-features-models/contract-params.js +2 -0
  108. package/src/lib/adapter/adapters/models/old-features-models/encode-transaction-options.d.ts +32 -0
  109. package/src/lib/adapter/adapters/models/old-features-models/encode-transaction-options.js +2 -0
  110. package/src/lib/adapter/adapters/models/old-features-models/is-deflation-token.d.ts +6 -0
  111. package/src/lib/adapter/adapters/models/old-features-models/is-deflation-token.js +2 -0
  112. package/src/lib/adapter/adapters/models/old-features-models/non-evm-chain-address-correct-response.d.ts +5 -0
  113. package/src/lib/adapter/adapters/models/old-features-models/non-evm-chain-address-correct-response.js +2 -0
  114. package/src/lib/adapter/adapters/models/old-features-models/swap-transaction-options.d.ts +65 -0
  115. package/src/lib/adapter/adapters/models/old-features-models/swap-transaction-options.js +2 -0
  116. package/src/lib/adapter/adapters/models/permit2-contract-types.d.ts +1 -0
  117. package/src/lib/adapter/adapters/models/permit2-contract-types.js +2 -0
  118. package/src/lib/adapter/adapters/models/solana-web3-types.d.ts +60 -0
  119. package/src/lib/adapter/adapters/models/solana-web3-types.js +2 -0
  120. package/src/lib/adapter/adapters/models/status-manager-models/tx-status-data.d.ts +8 -0
  121. package/src/lib/adapter/adapters/models/status-manager-models/tx-status-data.js +2 -0
  122. package/src/lib/adapter/adapters/models/token-models.d.ts +1 -0
  123. package/src/lib/adapter/adapters/models/token-models.js +2 -0
  124. package/src/lib/adapter/adapters/models/ton-adapter-config.d.ts +2 -2
  125. package/src/lib/adapter/adapters/models/ton-api-config.d.ts +1 -1
  126. package/src/lib/adapter/adapters/models/tonapi-models.d.ts +2 -2
  127. package/src/lib/adapter/adapters/models/web3-public-models/contract-multicall-response.d.ts +5 -0
  128. package/src/lib/adapter/adapters/models/web3-public-models/contract-multicall-response.js +2 -0
  129. package/src/lib/adapter/adapters/models/web3-public-models/method-data.d.ts +4 -0
  130. package/src/lib/adapter/adapters/models/web3-public-models/method-data.js +2 -0
  131. package/src/lib/adapter/adapters/models/web3-public-models/supported-token-field.d.ts +1 -0
  132. package/src/lib/adapter/adapters/models/web3-public-models/supported-token-field.js +2 -0
  133. package/src/lib/adapter/adapters/models/web3-public-models/tx-status.d.ts +13 -0
  134. package/src/lib/adapter/adapters/models/web3-public-models/tx-status.js +15 -0
  135. package/src/lib/adapter/adapters/utils/errors.d.ts +2 -0
  136. package/src/lib/adapter/adapters/utils/errors.js +10 -0
  137. package/src/lib/adapter/adapters/utils/options.d.ts +10 -0
  138. package/src/lib/adapter/adapters/utils/options.js +59 -0
  139. package/src/lib/adapter/adapters/utils/timeout.d.ts +1 -0
  140. package/src/lib/adapter/adapters/utils/timeout.js +15 -0
  141. package/src/lib/adapter/adapters/utils/waitFor.d.ts +1 -0
  142. package/src/lib/adapter/adapters/utils/waitFor.js +6 -0
  143. package/src/lib/adapter/blockchain-adapter-factory.service.d.ts +20 -10
  144. package/src/lib/adapter/blockchain-adapter-factory.service.js +58 -53
  145. package/src/lib/adapter/constants/chain-configs/chain-configs.d.ts +1 -1
  146. package/src/lib/adapter/constants/chain-configs/chain-configs.js +603 -138
  147. package/src/lib/adapter/constants/models/env-type.d.ts +1 -0
  148. package/src/lib/adapter/constants/models/env-type.js +2 -0
  149. package/src/lib/adapter/constants/models/solana-web3.d.ts +1 -1
  150. package/src/lib/adapter/constants/models/wallet-provider.d.ts +9 -3
  151. package/src/lib/adapter/constants/rubic-api-link-mapping.d.ts +2 -0
  152. package/src/lib/adapter/constants/rubic-api-link-mapping.js +16 -0
  153. package/src/lib/adapter/constants/viem-blockchain-mapping.d.ts +1 -1
  154. package/src/lib/adapter/constants/viem-blockchain-mapping.js +16 -7
  155. package/src/lib/adapter/models/create-factory-params.d.ts +24 -0
  156. package/src/lib/adapter/models/create-factory-params.js +2 -0
  157. package/src/lib/errors/blockchain/deflation-token.error.d.ts +11 -0
  158. package/src/lib/errors/blockchain/deflation-token.error.js +16 -0
  159. package/src/lib/errors/blockchain/healthcheck.error.d.ts +8 -0
  160. package/src/lib/errors/blockchain/healthcheck.error.js +15 -0
  161. package/src/lib/errors/blockchain/inactive-account.error.d.ts +4 -0
  162. package/src/lib/errors/blockchain/inactive-account.error.js +11 -0
  163. package/src/lib/errors/blockchain/invalid-address.error.d.ts +8 -0
  164. package/src/lib/errors/blockchain/invalid-address.error.js +15 -0
  165. package/src/lib/errors/blockchain/low-gas.error.d.ts +7 -0
  166. package/src/lib/errors/blockchain/low-gas.error.js +14 -0
  167. package/src/lib/errors/blockchain/transaction-reverted.error.d.ts +7 -0
  168. package/src/lib/errors/blockchain/transaction-reverted.error.js +14 -0
  169. package/src/lib/errors/blockchain/tron-insufficient-native-balance.d.ts +7 -0
  170. package/src/lib/errors/blockchain/tron-insufficient-native-balance.js +14 -0
  171. package/src/lib/errors/blockchain/tron-transaction-expired.d.ts +7 -0
  172. package/src/lib/errors/blockchain/tron-transaction-expired.js +14 -0
  173. package/src/lib/errors/blockchain/user-reject.error.d.ts +7 -0
  174. package/src/lib/errors/blockchain/user-reject.error.js +14 -0
  175. package/src/lib/errors/blockchain/wrong-from-address.error.d.ts +7 -0
  176. package/src/lib/errors/blockchain/wrong-from-address.error.js +14 -0
  177. package/src/lib/errors/blockchain/wrong-receiver-address.error.d.ts +7 -0
  178. package/src/lib/errors/blockchain/wrong-receiver-address.error.js +14 -0
  179. package/src/lib/errors/common/timeout.error.d.ts +4 -0
  180. package/src/lib/errors/common/timeout.error.js +12 -0
  181. package/src/lib/errors/common/tx-reverted-in-chain.error.d.ts +4 -0
  182. package/src/lib/errors/common/tx-reverted-in-chain.error.js +11 -0
  183. package/src/lib/errors/cross-chain/cross-chain-is-unavailable.error.d.ts +7 -0
  184. package/src/lib/errors/cross-chain/cross-chain-is-unavailable.error.js +14 -0
  185. package/src/lib/errors/cross-chain/insufficient-funds-gas-price-value.error.d.ts +7 -0
  186. package/src/lib/errors/cross-chain/insufficient-funds-gas-price-value.error.js +14 -0
  187. package/src/lib/errors/cross-chain/low-to-slippage.error.d.ts +6 -0
  188. package/src/lib/errors/cross-chain/low-to-slippage.error.js +10 -0
  189. package/src/lib/errors/cross-chain/max-gas-price-overflow.error.d.ts +8 -0
  190. package/src/lib/errors/cross-chain/max-gas-price-overflow.error.js +15 -0
  191. package/src/lib/errors/cross-chain/too-low-amount.error.d.ts +7 -0
  192. package/src/lib/errors/cross-chain/too-low-amount.error.js +14 -0
  193. package/src/lib/errors/cross-chain/unsupported-receiver-address.error.d.ts +4 -0
  194. package/src/lib/errors/cross-chain/unsupported-receiver-address.error.js +11 -0
  195. package/src/lib/errors/cross-chain/updated-rates-error.d.ts +10 -0
  196. package/src/lib/errors/cross-chain/updated-rates-error.js +17 -0
  197. package/src/lib/errors/models/rubic-api-error.d.ts +21 -0
  198. package/src/lib/errors/models/rubic-api-error.js +2 -0
  199. package/src/lib/errors/on-chain/on-chain-is-unavailable.error.d.ts +7 -0
  200. package/src/lib/errors/on-chain/on-chain-is-unavailable.error.js +14 -0
  201. package/src/lib/errors/proxy/unapproved-contract-error.d.ts +8 -0
  202. package/src/lib/errors/proxy/unapproved-contract-error.js +15 -0
  203. package/src/lib/errors/proxy/unapproved-method-error.d.ts +8 -0
  204. package/src/lib/errors/proxy/unapproved-method-error.js +15 -0
  205. package/src/lib/errors/proxy/unlisted-error.d.ts +9 -0
  206. package/src/lib/errors/proxy/unlisted-error.js +16 -0
  207. package/src/lib/errors/rubic-sdk.error.d.ts +6 -0
  208. package/src/lib/errors/rubic-sdk.error.js +13 -0
  209. package/src/lib/errors/swap/bridgers-pair-is-unavailable.error.d.ts +7 -0
  210. package/src/lib/errors/swap/bridgers-pair-is-unavailable.error.js +14 -0
  211. package/src/lib/errors/swap/failed-to-check-for-transaction-receipt.error.d.ts +8 -0
  212. package/src/lib/errors/swap/failed-to-check-for-transaction-receipt.error.js +15 -0
  213. package/src/lib/errors/swap/insufficient-funds-oneinch.error.d.ts +9 -0
  214. package/src/lib/errors/swap/insufficient-funds-oneinch.error.js +15 -0
  215. package/src/lib/errors/swap/insufficient-funds.error.d.ts +11 -0
  216. package/src/lib/errors/swap/insufficient-funds.error.js +18 -0
  217. package/src/lib/errors/swap/insufficient-liquidity.error.d.ts +7 -0
  218. package/src/lib/errors/swap/insufficient-liquidity.error.js +14 -0
  219. package/src/lib/errors/swap/lifi-pair-is-unavailable.error.d.ts +7 -0
  220. package/src/lib/errors/swap/lifi-pair-is-unavailable.error.js +14 -0
  221. package/src/lib/errors/swap/low-slippage-deflationary-token.error.d.ts +7 -0
  222. package/src/lib/errors/swap/low-slippage-deflationary-token.error.js +14 -0
  223. package/src/lib/errors/swap/low-slippage.error.d.ts +8 -0
  224. package/src/lib/errors/swap/low-slippage.error.js +15 -0
  225. package/src/lib/errors/swap/max-amount.error.d.ts +7 -0
  226. package/src/lib/errors/swap/max-amount.error.js +14 -0
  227. package/src/lib/errors/swap/max-decimals.error.d.ts +5 -0
  228. package/src/lib/errors/swap/max-decimals.error.js +12 -0
  229. package/src/lib/errors/swap/min-amount.error.d.ts +7 -0
  230. package/src/lib/errors/swap/min-amount.error.js +14 -0
  231. package/src/lib/errors/swap/no-linked-account-erros.d.ts +4 -0
  232. package/src/lib/errors/swap/no-linked-account-erros.js +11 -0
  233. package/src/lib/errors/swap/not-supported-blockchain.d.ts +8 -0
  234. package/src/lib/errors/swap/not-supported-blockchain.js +15 -0
  235. package/src/lib/errors/swap/not-supported-region.d.ts +7 -0
  236. package/src/lib/errors/swap/not-supported-region.js +14 -0
  237. package/src/lib/errors/swap/not-supported-tokens.error.d.ts +7 -0
  238. package/src/lib/errors/swap/not-supported-tokens.error.js +14 -0
  239. package/src/lib/errors/swap/not-whitelisted-provider.error.d.ts +10 -0
  240. package/src/lib/errors/swap/not-whitelisted-provider.error.js +17 -0
  241. package/src/lib/errors/swap/simulation-failed.error.d.ts +6 -0
  242. package/src/lib/errors/swap/simulation-failed.error.js +12 -0
  243. package/src/lib/errors/swap/swap-error-on-provider-side.d.ts +7 -0
  244. package/src/lib/errors/swap/swap-error-on-provider-side.js +14 -0
  245. package/src/lib/errors/swap/swap-request.error.d.ts +7 -0
  246. package/src/lib/errors/swap/swap-request.error.js +14 -0
  247. package/src/lib/errors/swap/trade-expired.error.d.ts +4 -0
  248. package/src/lib/errors/swap/trade-expired.error.js +11 -0
  249. package/src/lib/errors/swap/unnecessary-approve.error.d.ts +7 -0
  250. package/src/lib/errors/swap/unnecessary-approve.error.js +14 -0
  251. package/src/lib/errors/swap/wallet-not-connected.error.d.ts +8 -0
  252. package/src/lib/errors/swap/wallet-not-connected.error.js +15 -0
  253. package/src/lib/errors/swap/wrong-network.error.d.ts +10 -0
  254. package/src/lib/errors/swap/wrong-network.error.js +16 -0
  255. package/src/lib/utils/constants/changenow-api-blockchain.d.ts +1 -2
  256. package/src/lib/utils/constants/changenow-api-blockchain.js +1 -1
  257. package/src/lib/utils/constants/web3-pure-store.d.ts +2 -2
  258. package/src/lib/utils/constants/web3-pure-store.js +20 -18
  259. package/src/lib/utils/models/contract-multicall-response.d.ts +1 -1
  260. package/src/lib/utils/models/evm-transaction-config.d.ts +2 -0
  261. package/src/lib/utils/models/primitive-types.d.ts +1 -1
  262. package/src/lib/utils/models/stellar-transaction-config.d.ts +3 -0
  263. package/src/lib/utils/models/stellar-transaction-config.js +2 -0
  264. package/src/lib/utils/models/tron-transaction-config.d.ts +1 -1
  265. package/src/lib/utils/web3-pure.d.ts +2 -2
  266. package/src/lib/utils/web3-pure.js +6 -7
  267. package/src/lib/utils/web3-types/bitcoin-web3-pure.d.ts +1 -1
  268. package/src/lib/utils/web3-types/common-web3-pure.js +0 -2
  269. package/src/lib/utils/web3-types/evm-web3-pure.d.ts +1 -1
  270. package/src/lib/utils/web3-types/icp-web3-pure.d.ts +1 -1
  271. package/src/lib/utils/web3-types/near-web3-pure.d.ts +6 -0
  272. package/src/lib/utils/web3-types/near-web3-pure.js +24 -0
  273. package/src/lib/utils/web3-types/solana-web3-pure.d.ts +2 -1
  274. package/src/lib/utils/web3-types/solana-web3-pure.js +11 -1
  275. package/src/lib/utils/web3-types/stellar-web3-pure.d.ts +5 -0
  276. package/src/lib/utils/web3-types/stellar-web3-pure.js +30 -0
  277. package/src/lib/utils/web3-types/sui-web3-pure.d.ts +8 -0
  278. package/src/lib/utils/web3-types/sui-web3-pure.js +27 -0
  279. package/src/lib/utils/web3-types/ton-web3-pure.d.ts +2 -1
  280. package/src/lib/utils/web3-types/ton-web3-pure.js +6 -0
  281. package/src/lib/utils/web3-types/tron-web3-pure.d.ts +8 -6
  282. package/src/lib/utils/web3-types/tron-web3-pure.js +18 -4
  283. package/src/lib/utils/web3-types/zcash-web3-pure.d.ts +5 -0
  284. package/src/lib/utils/web3-types/zcash-web3-pure.js +17 -0
  285. package/src/lib/adapter/adapters/abstract-adapter.d.ts +0 -19
  286. package/src/lib/adapter/adapters/abstract-adapter.js +0 -49
  287. package/src/lib/adapter/adapters/evm-adapter.d.ts +0 -34
  288. package/src/lib/adapter/adapters/evm-adapter.js +0 -247
  289. package/src/lib/adapter/adapters/solana-adapter.d.ts +0 -15
  290. package/src/lib/adapter/adapters/solana-adapter.js +0 -59
  291. package/src/lib/adapter/adapters/ton-adapter.d.ts +0 -22
  292. package/src/lib/adapter/adapters/ton-adapter.js +0 -100
  293. package/src/lib/adapter/adapters/tron-adapter.d.ts +0 -36
package/package.json CHANGED
@@ -1,17 +1,44 @@
1
1
  {
2
- "name": "@cryptorubic/web3",
3
- "version": "0.0.34",
4
- "dependencies": {
5
- "tslib": "^2.3.0"
6
- },
7
- "type": "commonjs",
8
- "main": "./src/index.js",
9
- "typings": "./src/index.d.ts",
10
- "publishConfig": {
11
- "access": "public"
12
- },
13
- "author": {
14
- "name": "Sleta Dmitrii"
15
- },
16
- "types": "./src/index.d.ts"
2
+ "name": "@cryptorubic/web3",
3
+ "version": "0.0.37-alpha-1212.0",
4
+ "dependencies": {
5
+ "@ethersproject/bignumber": "^5.8.0",
6
+ "@mysten/sui": "^1.24.0",
7
+ "@solana/spl-token": "*",
8
+ "@solana/web3.js": "1.95.3",
9
+ "@solflare-wallet/utl-sdk": "^1.4.0",
10
+ "@stellar/stellar-sdk": "^14.4.3",
11
+ "@suiet/wallet-sdk": "^0.3.3",
12
+ "@ton/core": "^0.59.1",
13
+ "@ton/ton": "^15.1.0",
14
+ "@tonconnect/ui": "^2.2.0",
15
+ "axios": "*",
16
+ "bignumber.js": "9.1.2",
17
+ "bitcoin-address-validation": "^2.2.3",
18
+ "bitcoinjs-lib": "^7.0.1",
19
+ "bs58": "^6.0.0",
20
+ "crc-32": "^1.2.2",
21
+ "js-base64": "^3.7.8",
22
+ "tronweb": "^6.0.0-beta.4",
23
+ "tslib": "*",
24
+ "viem": "^2.33.1"
25
+ },
26
+ "peerDependencies": {},
27
+ "type": "commonjs",
28
+ "main": "./src/index.js",
29
+ "typings": "./src/index.d.ts",
30
+ "publishConfig": {
31
+ "access": "public"
32
+ },
33
+ "author": {
34
+ "name": "Sleta Dmitrii"
35
+ },
36
+ "exports": {
37
+ "./package.json": "./package.json",
38
+ ".": {
39
+ "types": "./src/index.d.ts",
40
+ "default": "./src/index.js"
41
+ }
42
+ },
43
+ "types": "./src/index.d.ts"
17
44
  }
package/src/index.d.ts CHANGED
@@ -1,37 +1,148 @@
1
- declare global {
2
- type Timer = NodeJS.Timer;
3
- }
4
- export * from './lib/adapter/blockchain-adapter-factory.service';
5
- export * from './lib/adapter/constants/models/solana-web3';
6
- export * from './lib/adapter/constants/models/viem-chain-type';
7
- export * from './lib/adapter/constants/models/wallet-provider';
8
- export * from './lib/adapter/constants/chain-configs/chain-configs';
9
- export * from './lib/adapter/constants/viem-blockchain-mapping';
1
+ export * from './lib/adapter/adapters/adapter-bitcoin/bitcoin-adapter';
2
+ export * from './lib/adapter/adapters/adapter-bitcoin/signer/bitcoin-adapter-signer';
3
+ export * from './lib/adapter/adapters/adapter-bitcoin/models/btc-send-tx-params';
4
+ export * from './lib/adapter/adapters/adapter-bitcoin/models/btc-web3-private-models/bitcoin-psbt-encoded-config';
5
+ export * from './lib/adapter/adapters/adapter-bitcoin/models/btc-web3-private-models/bitcoin-trade-types';
6
+ export * from './lib/adapter/adapters/adapter-bitcoin/models/btc-web3-private-models/bitcoin-transfer-encoded-config';
7
+ export * from './lib/adapter/adapters/adapter-evm/signer/evm-adapter-signer';
8
+ export * from './lib/adapter/adapters/adapter-evm/constants/proxy-hash-errors';
9
+ export * from './lib/adapter/adapters/adapter-evm/evm-adapter';
10
+ export * from './lib/adapter/adapters/adapter-evm/models/evm-send-tx-params';
11
+ export * from './lib/adapter/adapters/adapter-evm/utils/parse-evm-error';
12
+ export * from './lib/adapter/adapters/adapter-solana/signer/solana-adapter-signer';
13
+ export * from './lib/adapter/adapters/adapter-solana/models/solana-send-tx-params';
14
+ export * from './lib/adapter/adapters/adapter-solana/services/solana-tokens-service';
15
+ export * from './lib/adapter/adapters/adapter-solana/solana-adapter';
16
+ export * from './lib/adapter/adapters/adapter-sui/signer/sui-adapter-signer';
17
+ export * from './lib/adapter/adapters/adapter-sui/models/sui-send-tx-params';
18
+ export * from './lib/adapter/adapters/adapter-sui/sui-adapter';
19
+ export * from './lib/adapter/adapters/adapter-ton/signer/ton-adapter-signer';
20
+ export * from './lib/adapter/adapters/adapter-ton/models/ton-send-tx-params';
21
+ export * from './lib/adapter/adapters/adapter-ton/services/ton-api.service';
22
+ export * from './lib/adapter/adapters/adapter-ton/ton-adapter';
23
+ export * from './lib/adapter/adapters/adapter-tron/signer/tron-adapter-signer';
24
+ export * from './lib/adapter/adapters/adapter-tron/models/tron-send-tx-params';
25
+ export * from './lib/adapter/adapters/adapter-tron/tron-adapter';
26
+ export * from './lib/adapter/adapters/adapter-tron/utils/parse-tron-error';
27
+ export * from './lib/adapter/adapters/common/abstract-adapter';
28
+ export * from './lib/adapter/adapters/common/signer/abstract-adapter-signer';
10
29
  export * from './lib/adapter/adapters/constants/erc20-token-abi';
30
+ export * from './lib/adapter/adapters/constants/possible-errors';
11
31
  export * from './lib/adapter/adapters/constants/trc-20-contract-abi';
12
32
  export * from './lib/adapter/adapters/constants/tron-multicall-abi';
33
+ export * from './lib/adapter/adapters/constants/uni-v3-permit-abi';
34
+ export * from './lib/adapter/adapters/models/approve-adapter';
35
+ export * from './lib/adapter/adapters/models/basic-transaction-options';
36
+ export * from './lib/adapter/adapters/models/bitcoin-user-address-info';
37
+ export * from './lib/adapter/adapters/models/btc-wallet-provider';
38
+ export * from './lib/adapter/adapters/models/common-types';
13
39
  export * from './lib/adapter/adapters/models/evm-adapter-options';
14
- export * from './lib/adapter/adapters/abstract-adapter';
15
- export * from './lib/adapter/adapters/evm-adapter';
16
- export * from './lib/adapter/adapters/solana-adapter';
17
- export * from './lib/adapter/adapters/tron-adapter';
18
- export * from './lib/adapter/adapters/ton-adapter';
40
+ export * from './lib/adapter/adapters/models/evm-web3-public-models/batch-call';
41
+ export * from './lib/adapter/adapters/models/evm-web3-public-models/evm-call';
42
+ export * from './lib/adapter/adapters/models/evm-web3-public-models/evm-multicall-response';
43
+ export * from './lib/adapter/adapters/models/evm-web3-public-models/gas-price';
44
+ export * from './lib/adapter/adapters/models/evm-web3-public-models/gas-price-viem';
45
+ export * from './lib/adapter/adapters/models/evm-web3-public-models/permit2-contract-types';
46
+ export * from './lib/adapter/adapters/models/evm-web3-public-models/rpc-response';
47
+ export * from './lib/adapter/adapters/models/old-features-models/contract-params';
48
+ export * from './lib/adapter/adapters/models/old-features-models/encode-transaction-options';
49
+ export * from './lib/adapter/adapters/models/old-features-models/is-deflation-token';
50
+ export * from './lib/adapter/adapters/models/old-features-models/non-evm-chain-address-correct-response';
51
+ export * from './lib/adapter/adapters/models/old-features-models/swap-transaction-options';
52
+ export * from './lib/adapter/adapters/models/solana-web3-types';
53
+ export * from './lib/adapter/adapters/models/status-manager-models/tx-status-data';
54
+ export * from './lib/adapter/adapters/models/token-models';
19
55
  export * from './lib/adapter/adapters/models/ton-adapter-config';
20
- export * from './lib/adapter/adapters/models/common-types';
21
56
  export * from './lib/adapter/adapters/models/ton-api-config';
22
57
  export * from './lib/adapter/adapters/models/tonapi-models';
23
58
  export * from './lib/adapter/adapters/models/toncenter-types';
24
- export * from './lib/adapter/adapters/models/approve-adapter';
25
- export * from './lib/utils/web3-pure';
59
+ export * from './lib/adapter/adapters/models/web3-public-models/contract-multicall-response';
60
+ export * from './lib/adapter/adapters/models/web3-public-models/method-data';
61
+ export * from './lib/adapter/adapters/models/web3-public-models/tx-status';
62
+ export * from './lib/adapter/adapters/utils/errors';
63
+ export * from './lib/adapter/adapters/utils/options';
64
+ export * from './lib/adapter/adapters/utils/timeout';
65
+ export * from './lib/adapter/adapters/utils/waitFor';
66
+ export * from './lib/adapter/blockchain-adapter-factory.service';
67
+ export * from './lib/adapter/constants/chain-configs/chain-configs';
68
+ export * from './lib/adapter/models/create-factory-params';
69
+ export * from './lib/adapter/constants/models/env-type';
70
+ export * from './lib/adapter/constants/models/solana-web3';
71
+ export * from './lib/adapter/constants/models/viem-chain-type';
72
+ export * from './lib/adapter/constants/models/wallet-provider';
73
+ export * from './lib/adapter/constants/rubic-api-link-mapping';
74
+ export * from './lib/adapter/constants/viem-blockchain-mapping';
75
+ export * from './lib/errors/blockchain/deflation-token.error';
76
+ export * from './lib/errors/blockchain/healthcheck.error';
77
+ export * from './lib/errors/blockchain/invalid-address.error';
78
+ export * from './lib/errors/blockchain/low-gas.error';
79
+ export * from './lib/errors/blockchain/transaction-reverted.error';
80
+ export * from './lib/errors/blockchain/tron-insufficient-native-balance';
81
+ export * from './lib/errors/blockchain/tron-transaction-expired';
82
+ export * from './lib/errors/blockchain/user-reject.error';
83
+ export * from './lib/errors/blockchain/wrong-from-address.error';
84
+ export * from './lib/errors/blockchain/wrong-receiver-address.error';
85
+ export * from './lib/errors/common/timeout.error';
86
+ export * from './lib/errors/common/tx-reverted-in-chain.error';
87
+ export * from './lib/errors/cross-chain/cross-chain-is-unavailable.error';
88
+ export * from './lib/errors/cross-chain/insufficient-funds-gas-price-value.error';
89
+ export * from './lib/errors/cross-chain/low-to-slippage.error';
90
+ export * from './lib/errors/cross-chain/max-gas-price-overflow.error';
91
+ export * from './lib/errors/cross-chain/too-low-amount.error';
92
+ export * from './lib/errors/cross-chain/unsupported-receiver-address.error';
93
+ export * from './lib/errors/cross-chain/updated-rates-error';
94
+ export * from './lib/errors/models/rubic-api-error';
95
+ export * from './lib/errors/on-chain/on-chain-is-unavailable.error';
96
+ export * from './lib/errors/proxy/unapproved-contract-error';
97
+ export * from './lib/errors/proxy/unapproved-method-error';
98
+ export * from './lib/errors/proxy/unlisted-error';
99
+ export * from './lib/errors/rubic-sdk.error';
100
+ export * from './lib/errors/swap/bridgers-pair-is-unavailable.error';
101
+ export * from './lib/errors/swap/failed-to-check-for-transaction-receipt.error';
102
+ export * from './lib/errors/swap/insufficient-funds-oneinch.error';
103
+ export * from './lib/errors/swap/insufficient-funds.error';
104
+ export * from './lib/errors/swap/insufficient-liquidity.error';
105
+ export * from './lib/errors/swap/lifi-pair-is-unavailable.error';
106
+ export * from './lib/errors/swap/low-slippage-deflationary-token.error';
107
+ export * from './lib/errors/swap/low-slippage.error';
108
+ export * from './lib/errors/swap/max-amount.error';
109
+ export * from './lib/errors/swap/max-decimals.error';
110
+ export * from './lib/errors/swap/min-amount.error';
111
+ export * from './lib/errors/swap/no-linked-account-erros';
112
+ export * from './lib/errors/swap/not-supported-blockchain';
113
+ export * from './lib/errors/swap/not-supported-region';
114
+ export * from './lib/errors/swap/not-supported-tokens.error';
115
+ export * from './lib/errors/swap/not-whitelisted-provider.error';
116
+ export * from './lib/errors/swap/simulation-failed.error';
117
+ export * from './lib/errors/swap/swap-error-on-provider-side';
118
+ export * from './lib/errors/swap/swap-request.error';
119
+ export * from './lib/errors/swap/trade-expired.error';
120
+ export * from './lib/errors/swap/unnecessary-approve.error';
121
+ export * from './lib/errors/swap/wallet-not-connected.error';
122
+ export * from './lib/errors/swap/wrong-network.error';
123
+ export * from './lib/utils/constants/changenow-api-blockchain';
124
+ export * from './lib/utils/constants/web3-pure-store';
125
+ export * from './lib/utils/models/abi-types';
126
+ export * from './lib/utils/models/cn-validation-response';
26
127
  export * from './lib/utils/models/evm-transaction-config';
128
+ export * from './lib/utils/models/primitive-types';
129
+ export * from './lib/utils/models/ton-transaction-config';
130
+ export * from './lib/utils/models/tron-block';
131
+ export * from './lib/utils/models/tron-call';
132
+ export * from './lib/utils/models/tron-multicall-response';
133
+ export * from './lib/utils/models/tron-parameters';
134
+ export * from './lib/utils/models/tron-transaction-config';
135
+ export * from './lib/utils/models/tron-transaction-info';
136
+ export * from './lib/utils/web3-pure';
27
137
  export * from './lib/utils/web3-types/bitcoin-web3-pure';
28
138
  export * from './lib/utils/web3-types/common-web3-pure';
29
139
  export * from './lib/utils/web3-types/evm-web3-pure';
30
140
  export * from './lib/utils/web3-types/icp-web3-pure';
141
+ export * from './lib/utils/web3-types/near-web3-pure';
31
142
  export * from './lib/utils/web3-types/solana-web3-pure';
143
+ export * from './lib/utils/web3-types/sui-web3-pure';
144
+ export * from './lib/utils/web3-types/ton-web3-pure';
32
145
  export * from './lib/utils/web3-types/tron-web3-pure';
33
- export * from './lib/utils/models/contract-multicall-response';
34
- export * from './lib/utils/models/method-data';
35
146
  export * from './lib/utils/models/primitive-types';
36
147
  export * from './lib/utils/models/tron-transaction-info';
37
148
  export * from './lib/utils/models/tron-transaction-config';
package/src/index.js CHANGED
@@ -1,38 +1,151 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./lib/adapter/blockchain-adapter-factory.service"), exports);
5
- tslib_1.__exportStar(require("./lib/adapter/constants/models/solana-web3"), exports);
6
- tslib_1.__exportStar(require("./lib/adapter/constants/models/viem-chain-type"), exports);
7
- tslib_1.__exportStar(require("./lib/adapter/constants/models/wallet-provider"), exports);
8
- tslib_1.__exportStar(require("./lib/adapter/constants/chain-configs/chain-configs"), exports);
9
- tslib_1.__exportStar(require("./lib/adapter/constants/viem-blockchain-mapping"), exports);
4
+ tslib_1.__exportStar(require("./lib/adapter/adapters/adapter-bitcoin/bitcoin-adapter"), exports);
5
+ tslib_1.__exportStar(require("./lib/adapter/adapters/adapter-bitcoin/signer/bitcoin-adapter-signer"), exports);
6
+ tslib_1.__exportStar(require("./lib/adapter/adapters/adapter-bitcoin/models/btc-send-tx-params"), exports);
7
+ tslib_1.__exportStar(require("./lib/adapter/adapters/adapter-bitcoin/models/btc-web3-private-models/bitcoin-psbt-encoded-config"), exports);
8
+ tslib_1.__exportStar(require("./lib/adapter/adapters/adapter-bitcoin/models/btc-web3-private-models/bitcoin-trade-types"), exports);
9
+ tslib_1.__exportStar(require("./lib/adapter/adapters/adapter-bitcoin/models/btc-web3-private-models/bitcoin-transfer-encoded-config"), exports);
10
+ tslib_1.__exportStar(require("./lib/adapter/adapters/adapter-evm/signer/evm-adapter-signer"), exports);
11
+ tslib_1.__exportStar(require("./lib/adapter/adapters/adapter-evm/constants/proxy-hash-errors"), exports);
12
+ tslib_1.__exportStar(require("./lib/adapter/adapters/adapter-evm/evm-adapter"), exports);
13
+ tslib_1.__exportStar(require("./lib/adapter/adapters/adapter-evm/models/evm-send-tx-params"), exports);
14
+ tslib_1.__exportStar(require("./lib/adapter/adapters/adapter-evm/utils/parse-evm-error"), exports);
15
+ tslib_1.__exportStar(require("./lib/adapter/adapters/adapter-solana/signer/solana-adapter-signer"), exports);
16
+ tslib_1.__exportStar(require("./lib/adapter/adapters/adapter-solana/models/solana-send-tx-params"), exports);
17
+ tslib_1.__exportStar(require("./lib/adapter/adapters/adapter-solana/services/solana-tokens-service"), exports);
18
+ tslib_1.__exportStar(require("./lib/adapter/adapters/adapter-solana/solana-adapter"), exports);
19
+ tslib_1.__exportStar(require("./lib/adapter/adapters/adapter-sui/signer/sui-adapter-signer"), exports);
20
+ tslib_1.__exportStar(require("./lib/adapter/adapters/adapter-sui/models/sui-send-tx-params"), exports);
21
+ tslib_1.__exportStar(require("./lib/adapter/adapters/adapter-sui/sui-adapter"), exports);
22
+ tslib_1.__exportStar(require("./lib/adapter/adapters/adapter-ton/signer/ton-adapter-signer"), exports);
23
+ tslib_1.__exportStar(require("./lib/adapter/adapters/adapter-ton/models/ton-send-tx-params"), exports);
24
+ tslib_1.__exportStar(require("./lib/adapter/adapters/adapter-ton/services/ton-api.service"), exports);
25
+ tslib_1.__exportStar(require("./lib/adapter/adapters/adapter-ton/ton-adapter"), exports);
26
+ tslib_1.__exportStar(require("./lib/adapter/adapters/adapter-tron/signer/tron-adapter-signer"), exports);
27
+ tslib_1.__exportStar(require("./lib/adapter/adapters/adapter-tron/models/tron-send-tx-params"), exports);
28
+ tslib_1.__exportStar(require("./lib/adapter/adapters/adapter-tron/tron-adapter"), exports);
29
+ tslib_1.__exportStar(require("./lib/adapter/adapters/adapter-tron/utils/parse-tron-error"), exports);
30
+ tslib_1.__exportStar(require("./lib/adapter/adapters/common/abstract-adapter"), exports);
31
+ tslib_1.__exportStar(require("./lib/adapter/adapters/common/signer/abstract-adapter-signer"), exports);
10
32
  tslib_1.__exportStar(require("./lib/adapter/adapters/constants/erc20-token-abi"), exports);
33
+ tslib_1.__exportStar(require("./lib/adapter/adapters/constants/possible-errors"), exports);
11
34
  tslib_1.__exportStar(require("./lib/adapter/adapters/constants/trc-20-contract-abi"), exports);
12
35
  tslib_1.__exportStar(require("./lib/adapter/adapters/constants/tron-multicall-abi"), exports);
36
+ tslib_1.__exportStar(require("./lib/adapter/adapters/constants/uni-v3-permit-abi"), exports);
37
+ tslib_1.__exportStar(require("./lib/adapter/adapters/models/approve-adapter"), exports);
38
+ tslib_1.__exportStar(require("./lib/adapter/adapters/models/basic-transaction-options"), exports);
39
+ tslib_1.__exportStar(require("./lib/adapter/adapters/models/bitcoin-user-address-info"), exports);
40
+ tslib_1.__exportStar(require("./lib/adapter/adapters/models/btc-wallet-provider"), exports);
41
+ tslib_1.__exportStar(require("./lib/adapter/adapters/models/common-types"), exports);
13
42
  tslib_1.__exportStar(require("./lib/adapter/adapters/models/evm-adapter-options"), exports);
14
- tslib_1.__exportStar(require("./lib/adapter/adapters/abstract-adapter"), exports);
15
- tslib_1.__exportStar(require("./lib/adapter/adapters/evm-adapter"), exports);
16
- tslib_1.__exportStar(require("./lib/adapter/adapters/solana-adapter"), exports);
17
- tslib_1.__exportStar(require("./lib/adapter/adapters/tron-adapter"), exports);
18
- tslib_1.__exportStar(require("./lib/adapter/adapters/ton-adapter"), exports);
43
+ tslib_1.__exportStar(require("./lib/adapter/adapters/models/evm-web3-public-models/batch-call"), exports);
44
+ tslib_1.__exportStar(require("./lib/adapter/adapters/models/evm-web3-public-models/evm-call"), exports);
45
+ tslib_1.__exportStar(require("./lib/adapter/adapters/models/evm-web3-public-models/evm-multicall-response"), exports);
46
+ tslib_1.__exportStar(require("./lib/adapter/adapters/models/evm-web3-public-models/gas-price"), exports);
47
+ tslib_1.__exportStar(require("./lib/adapter/adapters/models/evm-web3-public-models/gas-price-viem"), exports);
48
+ tslib_1.__exportStar(require("./lib/adapter/adapters/models/evm-web3-public-models/permit2-contract-types"), exports);
49
+ tslib_1.__exportStar(require("./lib/adapter/adapters/models/evm-web3-public-models/rpc-response"), exports);
50
+ tslib_1.__exportStar(require("./lib/adapter/adapters/models/old-features-models/contract-params"), exports);
51
+ tslib_1.__exportStar(require("./lib/adapter/adapters/models/old-features-models/encode-transaction-options"), exports);
52
+ tslib_1.__exportStar(require("./lib/adapter/adapters/models/old-features-models/is-deflation-token"), exports);
53
+ tslib_1.__exportStar(require("./lib/adapter/adapters/models/old-features-models/non-evm-chain-address-correct-response"), exports);
54
+ tslib_1.__exportStar(require("./lib/adapter/adapters/models/old-features-models/swap-transaction-options"), exports);
55
+ tslib_1.__exportStar(require("./lib/adapter/adapters/models/solana-web3-types"), exports);
56
+ tslib_1.__exportStar(require("./lib/adapter/adapters/models/status-manager-models/tx-status-data"), exports);
57
+ tslib_1.__exportStar(require("./lib/adapter/adapters/models/token-models"), exports);
19
58
  tslib_1.__exportStar(require("./lib/adapter/adapters/models/ton-adapter-config"), exports);
20
- tslib_1.__exportStar(require("./lib/adapter/adapters/models/common-types"), exports);
21
59
  tslib_1.__exportStar(require("./lib/adapter/adapters/models/ton-api-config"), exports);
22
60
  tslib_1.__exportStar(require("./lib/adapter/adapters/models/tonapi-models"), exports);
23
61
  tslib_1.__exportStar(require("./lib/adapter/adapters/models/toncenter-types"), exports);
24
- tslib_1.__exportStar(require("./lib/adapter/adapters/models/approve-adapter"), exports);
25
- // utils aka web3pure
26
- tslib_1.__exportStar(require("./lib/utils/web3-pure"), exports);
62
+ tslib_1.__exportStar(require("./lib/adapter/adapters/models/web3-public-models/contract-multicall-response"), exports);
63
+ tslib_1.__exportStar(require("./lib/adapter/adapters/models/web3-public-models/method-data"), exports);
64
+ tslib_1.__exportStar(require("./lib/adapter/adapters/models/web3-public-models/tx-status"), exports);
65
+ tslib_1.__exportStar(require("./lib/adapter/adapters/utils/errors"), exports);
66
+ tslib_1.__exportStar(require("./lib/adapter/adapters/utils/options"), exports);
67
+ tslib_1.__exportStar(require("./lib/adapter/adapters/utils/timeout"), exports);
68
+ tslib_1.__exportStar(require("./lib/adapter/adapters/utils/waitFor"), exports);
69
+ tslib_1.__exportStar(require("./lib/adapter/blockchain-adapter-factory.service"), exports);
70
+ tslib_1.__exportStar(require("./lib/adapter/constants/chain-configs/chain-configs"), exports);
71
+ tslib_1.__exportStar(require("./lib/adapter/models/create-factory-params"), exports);
72
+ tslib_1.__exportStar(require("./lib/adapter/constants/models/env-type"), exports);
73
+ tslib_1.__exportStar(require("./lib/adapter/constants/models/solana-web3"), exports);
74
+ tslib_1.__exportStar(require("./lib/adapter/constants/models/viem-chain-type"), exports);
75
+ tslib_1.__exportStar(require("./lib/adapter/constants/models/wallet-provider"), exports);
76
+ tslib_1.__exportStar(require("./lib/adapter/constants/rubic-api-link-mapping"), exports);
77
+ tslib_1.__exportStar(require("./lib/adapter/constants/viem-blockchain-mapping"), exports);
78
+ tslib_1.__exportStar(require("./lib/errors/blockchain/deflation-token.error"), exports);
79
+ tslib_1.__exportStar(require("./lib/errors/blockchain/healthcheck.error"), exports);
80
+ tslib_1.__exportStar(require("./lib/errors/blockchain/invalid-address.error"), exports);
81
+ tslib_1.__exportStar(require("./lib/errors/blockchain/low-gas.error"), exports);
82
+ tslib_1.__exportStar(require("./lib/errors/blockchain/transaction-reverted.error"), exports);
83
+ tslib_1.__exportStar(require("./lib/errors/blockchain/tron-insufficient-native-balance"), exports);
84
+ tslib_1.__exportStar(require("./lib/errors/blockchain/tron-transaction-expired"), exports);
85
+ tslib_1.__exportStar(require("./lib/errors/blockchain/user-reject.error"), exports);
86
+ tslib_1.__exportStar(require("./lib/errors/blockchain/wrong-from-address.error"), exports);
87
+ tslib_1.__exportStar(require("./lib/errors/blockchain/wrong-receiver-address.error"), exports);
88
+ tslib_1.__exportStar(require("./lib/errors/common/timeout.error"), exports);
89
+ tslib_1.__exportStar(require("./lib/errors/common/tx-reverted-in-chain.error"), exports);
90
+ tslib_1.__exportStar(require("./lib/errors/cross-chain/cross-chain-is-unavailable.error"), exports);
91
+ tslib_1.__exportStar(require("./lib/errors/cross-chain/insufficient-funds-gas-price-value.error"), exports);
92
+ tslib_1.__exportStar(require("./lib/errors/cross-chain/low-to-slippage.error"), exports);
93
+ tslib_1.__exportStar(require("./lib/errors/cross-chain/max-gas-price-overflow.error"), exports);
94
+ tslib_1.__exportStar(require("./lib/errors/cross-chain/too-low-amount.error"), exports);
95
+ tslib_1.__exportStar(require("./lib/errors/cross-chain/unsupported-receiver-address.error"), exports);
96
+ tslib_1.__exportStar(require("./lib/errors/cross-chain/updated-rates-error"), exports);
97
+ tslib_1.__exportStar(require("./lib/errors/models/rubic-api-error"), exports);
98
+ tslib_1.__exportStar(require("./lib/errors/on-chain/on-chain-is-unavailable.error"), exports);
99
+ tslib_1.__exportStar(require("./lib/errors/proxy/unapproved-contract-error"), exports);
100
+ tslib_1.__exportStar(require("./lib/errors/proxy/unapproved-method-error"), exports);
101
+ tslib_1.__exportStar(require("./lib/errors/proxy/unlisted-error"), exports);
102
+ tslib_1.__exportStar(require("./lib/errors/rubic-sdk.error"), exports);
103
+ tslib_1.__exportStar(require("./lib/errors/swap/bridgers-pair-is-unavailable.error"), exports);
104
+ tslib_1.__exportStar(require("./lib/errors/swap/failed-to-check-for-transaction-receipt.error"), exports);
105
+ tslib_1.__exportStar(require("./lib/errors/swap/insufficient-funds-oneinch.error"), exports);
106
+ tslib_1.__exportStar(require("./lib/errors/swap/insufficient-funds.error"), exports);
107
+ tslib_1.__exportStar(require("./lib/errors/swap/insufficient-liquidity.error"), exports);
108
+ tslib_1.__exportStar(require("./lib/errors/swap/lifi-pair-is-unavailable.error"), exports);
109
+ tslib_1.__exportStar(require("./lib/errors/swap/low-slippage-deflationary-token.error"), exports);
110
+ tslib_1.__exportStar(require("./lib/errors/swap/low-slippage.error"), exports);
111
+ tslib_1.__exportStar(require("./lib/errors/swap/max-amount.error"), exports);
112
+ tslib_1.__exportStar(require("./lib/errors/swap/max-decimals.error"), exports);
113
+ tslib_1.__exportStar(require("./lib/errors/swap/min-amount.error"), exports);
114
+ tslib_1.__exportStar(require("./lib/errors/swap/no-linked-account-erros"), exports);
115
+ tslib_1.__exportStar(require("./lib/errors/swap/not-supported-blockchain"), exports);
116
+ tslib_1.__exportStar(require("./lib/errors/swap/not-supported-region"), exports);
117
+ tslib_1.__exportStar(require("./lib/errors/swap/not-supported-tokens.error"), exports);
118
+ tslib_1.__exportStar(require("./lib/errors/swap/not-whitelisted-provider.error"), exports);
119
+ tslib_1.__exportStar(require("./lib/errors/swap/simulation-failed.error"), exports);
120
+ tslib_1.__exportStar(require("./lib/errors/swap/swap-error-on-provider-side"), exports);
121
+ tslib_1.__exportStar(require("./lib/errors/swap/swap-request.error"), exports);
122
+ tslib_1.__exportStar(require("./lib/errors/swap/trade-expired.error"), exports);
123
+ tslib_1.__exportStar(require("./lib/errors/swap/unnecessary-approve.error"), exports);
124
+ tslib_1.__exportStar(require("./lib/errors/swap/wallet-not-connected.error"), exports);
125
+ tslib_1.__exportStar(require("./lib/errors/swap/wrong-network.error"), exports);
126
+ tslib_1.__exportStar(require("./lib/utils/constants/changenow-api-blockchain"), exports);
127
+ tslib_1.__exportStar(require("./lib/utils/constants/web3-pure-store"), exports);
128
+ tslib_1.__exportStar(require("./lib/utils/models/abi-types"), exports);
129
+ tslib_1.__exportStar(require("./lib/utils/models/cn-validation-response"), exports);
27
130
  tslib_1.__exportStar(require("./lib/utils/models/evm-transaction-config"), exports);
131
+ tslib_1.__exportStar(require("./lib/utils/models/primitive-types"), exports);
132
+ tslib_1.__exportStar(require("./lib/utils/models/ton-transaction-config"), exports);
133
+ tslib_1.__exportStar(require("./lib/utils/models/tron-block"), exports);
134
+ tslib_1.__exportStar(require("./lib/utils/models/tron-call"), exports);
135
+ tslib_1.__exportStar(require("./lib/utils/models/tron-multicall-response"), exports);
136
+ tslib_1.__exportStar(require("./lib/utils/models/tron-parameters"), exports);
137
+ tslib_1.__exportStar(require("./lib/utils/models/tron-transaction-config"), exports);
138
+ tslib_1.__exportStar(require("./lib/utils/models/tron-transaction-info"), exports);
139
+ tslib_1.__exportStar(require("./lib/utils/web3-pure"), exports);
28
140
  tslib_1.__exportStar(require("./lib/utils/web3-types/bitcoin-web3-pure"), exports);
29
141
  tslib_1.__exportStar(require("./lib/utils/web3-types/common-web3-pure"), exports);
30
142
  tslib_1.__exportStar(require("./lib/utils/web3-types/evm-web3-pure"), exports);
31
143
  tslib_1.__exportStar(require("./lib/utils/web3-types/icp-web3-pure"), exports);
144
+ tslib_1.__exportStar(require("./lib/utils/web3-types/near-web3-pure"), exports);
32
145
  tslib_1.__exportStar(require("./lib/utils/web3-types/solana-web3-pure"), exports);
146
+ tslib_1.__exportStar(require("./lib/utils/web3-types/sui-web3-pure"), exports);
147
+ tslib_1.__exportStar(require("./lib/utils/web3-types/ton-web3-pure"), exports);
33
148
  tslib_1.__exportStar(require("./lib/utils/web3-types/tron-web3-pure"), exports);
34
- tslib_1.__exportStar(require("./lib/utils/models/contract-multicall-response"), exports);
35
- tslib_1.__exportStar(require("./lib/utils/models/method-data"), exports);
36
149
  tslib_1.__exportStar(require("./lib/utils/models/primitive-types"), exports);
37
150
  tslib_1.__exportStar(require("./lib/utils/models/tron-transaction-info"), exports);
38
151
  tslib_1.__exportStar(require("./lib/utils/models/tron-transaction-config"), exports);
@@ -0,0 +1,40 @@
1
+ import { BitcoinBlockchainName, BlockchainName, HttpClient, ICustomLogger, PriceTokenAmount, Token, TokenAmount } from '@cryptorubic/core';
2
+ import BigNumber from 'bignumber.js';
3
+ import { AbstractAdapter } from '../common/abstract-adapter';
4
+ import { BtcWallet } from '../models/btc-wallet-provider';
5
+ import { BasicSendTransactionOptions } from '../models/basic-transaction-options';
6
+ import { ClientAdaptersFactoryParams } from '../../models/create-factory-params';
7
+ import { BitcoinAdapterSigner } from './signer/bitcoin-adapter-signer';
8
+ import { Abi } from 'viem';
9
+ import { Web3PrimitiveType } from '../../../utils/models/primitive-types';
10
+ import { ContractMulticallResponse } from '../models/web3-public-models/contract-multicall-response';
11
+ import { MethodData } from '../models/web3-public-models/method-data';
12
+ import { TxStatus } from '../models/web3-public-models/tx-status';
13
+ import { PsbtTxInput } from 'bitcoinjs-lib';
14
+ export declare class BitcoinAdapter extends AbstractAdapter<BtcWallet, BtcWallet, BitcoinBlockchainName> {
15
+ private readonly httpClient;
16
+ readonly signer: BitcoinAdapterSigner;
17
+ get public(): BtcWallet;
18
+ constructor(httpClient: HttpClient, logger?: ICustomLogger, clientParams?: ClientAdaptersFactoryParams);
19
+ initWeb3Client(): void;
20
+ callContractMethod<T extends Web3PrimitiveType = string>(): Promise<T>;
21
+ read<T>(args: unknown): Promise<T>;
22
+ getTransactionStatus(txHash: string): Promise<TxStatus>;
23
+ getBalance(userAddress: string, _tokenAddress?: string): Promise<BigNumber>;
24
+ getTokensBalances(userAddress: string, tokensAddresses: string[]): Promise<BigNumber[]>;
25
+ multicallContractsMethods<Output extends Web3PrimitiveType>(contractAbi: Abi, contractsData: {
26
+ contractAddress: string;
27
+ methodsData: MethodData[];
28
+ }[]): Promise<ContractMulticallResponse<Output>[][]>;
29
+ getBlockNumber(): Promise<number | {
30
+ blockNumber: number;
31
+ workchain: number;
32
+ }>;
33
+ getPublicKey(userAddress: string): Promise<string | null>;
34
+ checkEnoughBalance(token: TokenAmount | PriceTokenAmount, walletAddress: string): Promise<boolean>;
35
+ callForTokensInfo(tokenAddresses: string[] | ReadonlyArray<string>): Promise<Token<BlockchainName>[]>;
36
+ getPublicKeyFromWallet(): Promise<string>;
37
+ transfer(recipient: string, amount: string, fromAddress: string, memo?: string, options?: BasicSendTransactionOptions): Promise<string>;
38
+ sendPsbtTransaction(psbt: string, userAddress: string, inputIndexes: number[], options?: BasicSendTransactionOptions): Promise<string>;
39
+ parseInputsFromPsbtHex(psbtHex: string): PsbtTxInput[];
40
+ }
@@ -0,0 +1,177 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BitcoinAdapter = void 0;
4
+ const core_1 = require("@cryptorubic/core");
5
+ const bignumber_js_1 = require("bignumber.js");
6
+ const abstract_adapter_1 = require("../common/abstract-adapter");
7
+ const bitcoin_adapter_signer_1 = require("./signer/bitcoin-adapter-signer");
8
+ const tx_status_1 = require("../models/web3-public-models/tx-status");
9
+ const bitcoinjs_lib_1 = require("bitcoinjs-lib");
10
+ class BitcoinAdapter extends abstract_adapter_1.AbstractAdapter {
11
+ get public() {
12
+ throw new Error('public property is not set in BitcoinAdapter.');
13
+ }
14
+ constructor(httpClient, logger, clientParams) {
15
+ super(core_1.BLOCKCHAIN_NAME.BITCOIN, logger);
16
+ this.httpClient = httpClient;
17
+ this.signer = new bitcoin_adapter_signer_1.BitcoinAdapterSigner(httpClient, logger, clientParams);
18
+ }
19
+ initWeb3Client() {
20
+ super.public = null;
21
+ }
22
+ callContractMethod() {
23
+ throw new Error('Method not implemented.');
24
+ }
25
+ read(args) {
26
+ throw new Error('Not implemented');
27
+ }
28
+ async getTransactionStatus(txHash) {
29
+ const url = `https://api.blockcypher.com/v1/btc/main/txs/${txHash}`;
30
+ const { confirmations } = await this.httpClient.get(url);
31
+ return confirmations > 0 ? tx_status_1.TX_STATUS.SUCCESS : tx_status_1.TX_STATUS.PENDING;
32
+ }
33
+ async getBalance(userAddress, _tokenAddress) {
34
+ const url = `https://api.blockcypher.com/v1/btc/main/addrs/${userAddress}/balance`;
35
+ const response = await this.httpClient.get(url);
36
+ return new bignumber_js_1.default(response.final_balance);
37
+ }
38
+ getTokensBalances(userAddress, tokensAddresses) {
39
+ return this.getBalance(userAddress).then((el) => [el]);
40
+ }
41
+ multicallContractsMethods(contractAbi, contractsData) {
42
+ throw new Error('Method not implemented.');
43
+ }
44
+ getBlockNumber() {
45
+ throw new Error('Method not implemented.');
46
+ }
47
+ async getPublicKey(userAddress) {
48
+ try {
49
+ const url = `https://api.blockcypher.com/v1/btc/main/addrs/${userAddress}/full`;
50
+ const response = await this.httpClient.get(url);
51
+ const txs = response.txs;
52
+ let publicKey = null;
53
+ for (const txData of txs) {
54
+ const userInputData = txData.inputs.find((inputData) => {
55
+ const isInputFromUserAddress = inputData.addresses.includes(userAddress);
56
+ const publicKey = inputData.witness?.[1];
57
+ return isInputFromUserAddress && publicKey;
58
+ });
59
+ if (userInputData) {
60
+ publicKey = userInputData.witness[1];
61
+ break;
62
+ }
63
+ }
64
+ if (!publicKey) {
65
+ throw new Error();
66
+ }
67
+ return publicKey;
68
+ }
69
+ catch {
70
+ return null;
71
+ }
72
+ }
73
+ async checkEnoughBalance(token, walletAddress) {
74
+ const balance = await this.getBalance(walletAddress);
75
+ return balance.gte(token.tokenAmount);
76
+ }
77
+ async callForTokensInfo(tokenAddresses) {
78
+ return [core_1.nativeTokensList[core_1.BLOCKCHAIN_NAME.BITCOIN]];
79
+ }
80
+ async getPublicKeyFromWallet() {
81
+ const res = await this.signer.wallet.request({
82
+ method: 'request_accounts_and_keys',
83
+ params: {
84
+ purposes: ['payment']
85
+ }
86
+ }, () => { });
87
+ if (res.error) {
88
+ console.error(res.error);
89
+ throw res.error;
90
+ }
91
+ return res.result[0].publicKey;
92
+ }
93
+ async transfer(recipient, amount, fromAddress, memo, options) {
94
+ const hashPromise = new Promise((resolve, reject) => {
95
+ this.signer.wallet.request({
96
+ method: 'transfer',
97
+ params: [
98
+ {
99
+ feeRate: 10,
100
+ from: fromAddress,
101
+ recipient,
102
+ amount: {
103
+ amount,
104
+ decimals: 8
105
+ },
106
+ ...(memo && { memo })
107
+ }
108
+ ]
109
+ }, (error, txHash) => {
110
+ if (error) {
111
+ reject(error);
112
+ }
113
+ else {
114
+ const hash = txHash;
115
+ options?.onTransactionHash?.(hash);
116
+ resolve(hash);
117
+ }
118
+ });
119
+ });
120
+ try {
121
+ const hash = await hashPromise;
122
+ if (typeof hash === 'string') {
123
+ return hash;
124
+ }
125
+ throw new Error();
126
+ }
127
+ catch {
128
+ throw new Error('Failed to transfer funds');
129
+ }
130
+ }
131
+ async sendPsbtTransaction(psbt, userAddress, inputIndexes, options) {
132
+ const hashPromise = new Promise((resolve, reject) => {
133
+ this.signer.wallet.request({
134
+ method: 'sign_psbt',
135
+ params: {
136
+ psbt,
137
+ signInputs: {
138
+ [userAddress]: inputIndexes
139
+ },
140
+ allowedSignHash: 1,
141
+ broadcast: true
142
+ }
143
+ }, (error, txHash) => {
144
+ if (error) {
145
+ reject(error);
146
+ }
147
+ else {
148
+ const txData = txHash;
149
+ options?.onTransactionHash?.(txData.result.txId);
150
+ resolve(txData.result.txId);
151
+ }
152
+ });
153
+ });
154
+ try {
155
+ const hash = await hashPromise;
156
+ if (typeof hash === 'string') {
157
+ return hash;
158
+ }
159
+ throw new Error();
160
+ }
161
+ catch {
162
+ throw new Error('Failed to sign psbt transaction');
163
+ }
164
+ }
165
+ parseInputsFromPsbtHex(psbtHex) {
166
+ try {
167
+ const psbt = bitcoinjs_lib_1.Psbt.fromHex(psbtHex, {
168
+ network: bitcoinjs_lib_1.networks.bitcoin
169
+ });
170
+ return psbt.txInputs;
171
+ }
172
+ catch {
173
+ throw new Error('Failed to parse inputs from raw psbt transaction');
174
+ }
175
+ }
176
+ }
177
+ exports.BitcoinAdapter = BitcoinAdapter;