@cryptorubic/web3 0.8.16-alpha-usdt-zero-bridge.0 → 0.8.16-alpha-usdt-zero-bridge.2
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.
- package/package.json +22 -15
- package/src/index.d.ts +130 -22
- package/src/index.js +130 -20
- package/src/lib/adapter/adapters/adapter-bitcoin/bitcoin-adapter.d.ts +38 -0
- package/src/lib/adapter/adapters/{bitcoin-adapter.js → adapter-bitcoin/bitcoin-adapter.js} +35 -13
- package/src/lib/adapter/adapters/adapter-bitcoin/models/btc-send-tx-params.d.ts +5 -0
- package/src/lib/adapter/adapters/adapter-bitcoin/models/btc-web3-private-models/bitcoin-psbt-encoded-config.d.ts +5 -0
- package/src/lib/adapter/adapters/adapter-bitcoin/models/btc-web3-private-models/bitcoin-psbt-encoded-config.js +2 -0
- package/src/lib/adapter/adapters/adapter-bitcoin/models/btc-web3-private-models/bitcoin-trade-types.d.ts +7 -0
- package/src/lib/adapter/adapters/adapter-bitcoin/models/btc-web3-private-models/bitcoin-trade-types.js +2 -0
- package/src/lib/adapter/adapters/adapter-bitcoin/models/btc-web3-private-models/bitcoin-transfer-encoded-config.d.ts +6 -0
- package/src/lib/adapter/adapters/adapter-bitcoin/models/btc-web3-private-models/bitcoin-transfer-encoded-config.js +2 -0
- package/src/lib/adapter/adapters/adapter-bitcoin/signer/bitcoin-adapter-signer.d.ts +17 -0
- package/src/lib/adapter/adapters/adapter-bitcoin/signer/bitcoin-adapter-signer.js +131 -0
- package/src/lib/adapter/adapters/adapter-evm/constants/proxy-hash-errors.d.ts +4 -0
- package/src/lib/adapter/adapters/adapter-evm/constants/proxy-hash-errors.js +705 -0
- package/src/lib/adapter/adapters/adapter-evm/evm-adapter.d.ts +120 -0
- package/src/lib/adapter/adapters/{evm-adapter.js → adapter-evm/evm-adapter.js} +215 -87
- package/src/lib/adapter/adapters/adapter-evm/models/evm-send-tx-params.d.ts +38 -0
- package/src/lib/adapter/adapters/adapter-evm/models/evm-send-tx-params.js +2 -0
- package/src/lib/adapter/adapters/adapter-evm/signer/evm-adapter-signer.d.ts +53 -0
- package/src/lib/adapter/adapters/adapter-evm/signer/evm-adapter-signer.js +268 -0
- package/src/lib/adapter/adapters/adapter-evm/utils/parse-evm-error.d.ts +12 -0
- package/src/lib/adapter/adapters/adapter-evm/utils/parse-evm-error.js +70 -0
- package/src/lib/adapter/adapters/adapter-solana/models/solana-send-tx-params.d.ts +16 -0
- package/src/lib/adapter/adapters/adapter-solana/models/solana-send-tx-params.js +2 -0
- package/src/lib/adapter/adapters/{utils → adapter-solana/services}/solana-tokens-service.d.ts +1 -1
- package/src/lib/adapter/adapters/{utils → adapter-solana/services}/solana-tokens-service.js +2 -2
- package/src/lib/adapter/adapters/adapter-solana/signer/solana-adapter-signer.d.ts +17 -0
- package/src/lib/adapter/adapters/adapter-solana/signer/solana-adapter-signer.js +87 -0
- package/src/lib/adapter/adapters/adapter-solana/solana-adapter.d.ts +49 -0
- package/src/lib/adapter/adapters/{solana-adapter.js → adapter-solana/solana-adapter.js} +105 -41
- package/src/lib/adapter/adapters/adapter-sui/models/sui-send-tx-params.d.ts +8 -0
- package/src/lib/adapter/adapters/adapter-sui/models/sui-send-tx-params.js +2 -0
- package/src/lib/adapter/adapters/adapter-sui/signer/sui-adapter-signer.d.ts +17 -0
- package/src/lib/adapter/adapters/adapter-sui/signer/sui-adapter-signer.js +55 -0
- package/src/lib/adapter/adapters/adapter-sui/sui-adapter.d.ts +32 -0
- package/src/lib/adapter/adapters/{sui-adapter.js → adapter-sui/sui-adapter.js} +45 -9
- package/src/lib/adapter/adapters/adapter-ton/models/ton-send-tx-params.d.ts +26 -0
- package/src/lib/adapter/adapters/adapter-ton/models/ton-send-tx-params.js +2 -0
- package/src/lib/adapter/adapters/{utils → adapter-ton/services}/ton-api.service.d.ts +7 -6
- package/src/lib/adapter/adapters/{utils → adapter-ton/services}/ton-api.service.js +17 -9
- package/src/lib/adapter/adapters/adapter-ton/signer/ton-adapter-signer.d.ts +43 -0
- package/src/lib/adapter/adapters/adapter-ton/signer/ton-adapter-signer.js +166 -0
- package/src/lib/adapter/adapters/adapter-ton/ton-adapter.d.ts +32 -0
- package/src/lib/adapter/adapters/adapter-ton/ton-adapter.js +104 -0
- package/src/lib/adapter/adapters/adapter-tron/models/tron-send-tx-params.d.ts +13 -0
- package/src/lib/adapter/adapters/adapter-tron/models/tron-send-tx-params.js +2 -0
- package/src/lib/adapter/adapters/adapter-tron/models/tron-web-provider.d.ts +4 -0
- package/src/lib/adapter/adapters/adapter-tron/models/tron-web-provider.js +2 -0
- package/src/lib/adapter/adapters/adapter-tron/signer/tron-adapter-signer.d.ts +17 -0
- package/src/lib/adapter/adapters/adapter-tron/signer/tron-adapter-signer.js +57 -0
- package/src/lib/adapter/adapters/adapter-tron/tron-adapter.d.ts +57 -0
- package/src/lib/adapter/adapters/{tron-adapter.js → adapter-tron/tron-adapter.js} +131 -66
- package/src/lib/adapter/adapters/adapter-tron/utils/parse-tron-error.d.ts +2 -0
- package/src/lib/adapter/adapters/adapter-tron/utils/parse-tron-error.js +20 -0
- package/src/lib/adapter/adapters/common/abstract-adapter.d.ts +84 -0
- package/src/lib/adapter/adapters/common/abstract-adapter.js +82 -0
- package/src/lib/adapter/adapters/common/signer/abstract-adapter-signer.d.ts +22 -0
- package/src/lib/adapter/adapters/common/signer/abstract-adapter-signer.js +42 -0
- package/src/lib/adapter/adapters/constants/tron-multicall-abi.d.ts +1 -1
- package/src/lib/adapter/adapters/models/approve-adapter.d.ts +13 -9
- package/src/lib/adapter/adapters/models/approve-adapter.js +1 -1
- package/src/lib/adapter/adapters/models/basic-transaction-options.d.ts +1 -1
- package/src/lib/adapter/adapters/models/evm-web3-public-models/batch-call.d.ts +5 -0
- package/src/lib/adapter/adapters/models/evm-web3-public-models/batch-call.js +2 -0
- package/src/lib/adapter/adapters/models/evm-web3-public-models/evm-call.d.ts +4 -0
- package/src/lib/adapter/adapters/models/evm-web3-public-models/evm-call.js +2 -0
- package/src/lib/adapter/adapters/models/evm-web3-public-models/evm-multicall-response.d.ts +4 -0
- package/src/lib/adapter/adapters/models/evm-web3-public-models/evm-multicall-response.js +2 -0
- package/src/lib/adapter/adapters/models/evm-web3-public-models/gas-price-viem.d.ts +18 -0
- package/src/lib/adapter/adapters/models/evm-web3-public-models/gas-price-viem.js +2 -0
- package/src/lib/adapter/adapters/models/evm-web3-public-models/gas-price.js +2 -0
- package/src/lib/adapter/adapters/models/evm-web3-public-models/permit2-contract-types.d.ts +10 -0
- package/src/lib/adapter/adapters/models/evm-web3-public-models/permit2-contract-types.js +2 -0
- package/src/lib/adapter/adapters/models/evm-web3-public-models/rpc-response.d.ts +5 -0
- package/src/lib/adapter/adapters/models/evm-web3-public-models/rpc-response.js +2 -0
- package/src/lib/adapter/adapters/models/old-features-models/contract-params.d.ts +23 -0
- package/src/lib/adapter/adapters/models/old-features-models/contract-params.js +2 -0
- package/src/lib/adapter/adapters/models/old-features-models/encode-transaction-options.d.ts +32 -0
- package/src/lib/adapter/adapters/models/old-features-models/encode-transaction-options.js +2 -0
- package/src/lib/adapter/adapters/models/old-features-models/is-deflation-token.d.ts +6 -0
- package/src/lib/adapter/adapters/models/old-features-models/is-deflation-token.js +2 -0
- package/src/lib/adapter/adapters/models/old-features-models/non-evm-chain-address-correct-response.d.ts +5 -0
- package/src/lib/adapter/adapters/models/old-features-models/non-evm-chain-address-correct-response.js +2 -0
- package/src/lib/adapter/adapters/models/old-features-models/swap-transaction-options.d.ts +65 -0
- package/src/lib/adapter/adapters/models/old-features-models/swap-transaction-options.js +2 -0
- package/src/lib/adapter/adapters/models/status-manager-models/tx-status-data.d.ts +8 -0
- package/src/lib/adapter/adapters/models/status-manager-models/tx-status-data.js +2 -0
- package/src/lib/adapter/adapters/models/tonapi-models.d.ts +2 -2
- package/src/lib/adapter/adapters/models/web3-public-models/contract-multicall-response.d.ts +5 -0
- package/src/lib/adapter/adapters/models/web3-public-models/contract-multicall-response.js +2 -0
- package/src/lib/adapter/adapters/models/web3-public-models/method-data.d.ts +4 -0
- package/src/lib/adapter/adapters/models/web3-public-models/method-data.js +2 -0
- package/src/lib/adapter/adapters/models/web3-public-models/supported-token-field.d.ts +1 -0
- package/src/lib/adapter/adapters/models/web3-public-models/supported-token-field.js +2 -0
- package/src/lib/adapter/adapters/models/web3-public-models/tx-status.d.ts +10 -0
- package/src/lib/adapter/adapters/models/web3-public-models/tx-status.js +12 -0
- package/src/lib/adapter/adapters/utils/errors.d.ts +2 -0
- package/src/lib/adapter/adapters/utils/errors.js +10 -0
- package/src/lib/adapter/adapters/utils/options.d.ts +10 -0
- package/src/lib/adapter/adapters/utils/options.js +59 -0
- package/src/lib/adapter/adapters/utils/waitFor.d.ts +1 -0
- package/src/lib/adapter/adapters/utils/waitFor.js +6 -0
- package/src/lib/adapter/blockchain-adapter-factory.service.d.ts +15 -13
- package/src/lib/adapter/blockchain-adapter-factory.service.js +44 -61
- package/src/lib/adapter/constants/chain-configs/chain-configs.d.ts +1 -1
- package/src/lib/adapter/constants/chain-configs/chain-configs.js +92 -56
- package/src/lib/adapter/constants/models/env-type.d.ts +1 -0
- package/src/lib/adapter/constants/models/env-type.js +2 -0
- package/src/lib/adapter/constants/models/solana-web3.d.ts +1 -1
- package/src/lib/adapter/constants/rubic-api-link-mapping.d.ts +2 -0
- package/src/lib/adapter/constants/rubic-api-link-mapping.js +16 -0
- package/src/lib/adapter/constants/viem-blockchain-mapping.d.ts +1 -1
- package/src/lib/adapter/constants/viem-blockchain-mapping.js +4 -3
- package/src/lib/adapter/models/create-factory-params.d.ts +23 -0
- package/src/lib/adapter/models/create-factory-params.js +2 -0
- package/src/lib/errors/blockchain/deflation-token.error.d.ts +11 -0
- package/src/lib/errors/blockchain/deflation-token.error.js +16 -0
- package/src/lib/errors/blockchain/healthcheck.error.d.ts +8 -0
- package/src/lib/errors/blockchain/healthcheck.error.js +15 -0
- package/src/lib/errors/blockchain/invalid-address.error.d.ts +8 -0
- package/src/lib/errors/blockchain/invalid-address.error.js +15 -0
- package/src/lib/errors/blockchain/low-gas.error.d.ts +7 -0
- package/src/lib/errors/blockchain/low-gas.error.js +14 -0
- package/src/lib/errors/blockchain/transaction-reverted.error.d.ts +7 -0
- package/src/lib/errors/blockchain/transaction-reverted.error.js +14 -0
- package/src/lib/errors/blockchain/tron-insufficient-native-balance.d.ts +7 -0
- package/src/lib/errors/blockchain/tron-insufficient-native-balance.js +14 -0
- package/src/lib/errors/blockchain/tron-transaction-expired.d.ts +7 -0
- package/src/lib/errors/blockchain/tron-transaction-expired.js +14 -0
- package/src/lib/errors/blockchain/user-reject.error.d.ts +7 -0
- package/src/lib/errors/blockchain/user-reject.error.js +14 -0
- package/src/lib/errors/blockchain/wrong-from-address.error.d.ts +7 -0
- package/src/lib/errors/blockchain/wrong-from-address.error.js +14 -0
- package/src/lib/errors/blockchain/wrong-receiver-address.error.d.ts +7 -0
- package/src/lib/errors/blockchain/wrong-receiver-address.error.js +14 -0
- package/src/lib/errors/common/timeout.error.d.ts +4 -0
- package/src/lib/errors/common/timeout.error.js +12 -0
- package/src/lib/errors/common/tx-reverted-in-chain.error.d.ts +4 -0
- package/src/lib/errors/common/tx-reverted-in-chain.error.js +11 -0
- package/src/lib/errors/cross-chain/cross-chain-is-unavailable.error.d.ts +7 -0
- package/src/lib/errors/cross-chain/cross-chain-is-unavailable.error.js +14 -0
- package/src/lib/errors/cross-chain/insufficient-funds-gas-price-value.error.d.ts +7 -0
- package/src/lib/errors/cross-chain/insufficient-funds-gas-price-value.error.js +14 -0
- package/src/lib/errors/cross-chain/low-to-slippage.error.d.ts +6 -0
- package/src/lib/errors/cross-chain/low-to-slippage.error.js +10 -0
- package/src/lib/errors/cross-chain/max-gas-price-overflow.error.d.ts +8 -0
- package/src/lib/errors/cross-chain/max-gas-price-overflow.error.js +15 -0
- package/src/lib/errors/cross-chain/too-low-amount.error.d.ts +7 -0
- package/src/lib/errors/cross-chain/too-low-amount.error.js +14 -0
- package/src/lib/errors/cross-chain/unsupported-receiver-address.error.d.ts +4 -0
- package/src/lib/errors/cross-chain/unsupported-receiver-address.error.js +11 -0
- package/src/lib/errors/cross-chain/updated-rates-error.d.ts +10 -0
- package/src/lib/errors/cross-chain/updated-rates-error.js +17 -0
- package/src/lib/errors/models/rubic-api-error.d.ts +21 -0
- package/src/lib/errors/models/rubic-api-error.js +2 -0
- package/src/lib/errors/on-chain/on-chain-is-unavailable.error.d.ts +7 -0
- package/src/lib/errors/on-chain/on-chain-is-unavailable.error.js +14 -0
- package/src/lib/errors/proxy/unapproved-contract-error.d.ts +8 -0
- package/src/lib/errors/proxy/unapproved-contract-error.js +15 -0
- package/src/lib/errors/proxy/unapproved-method-error.d.ts +8 -0
- package/src/lib/errors/proxy/unapproved-method-error.js +15 -0
- package/src/lib/errors/proxy/unlisted-error.d.ts +9 -0
- package/src/lib/errors/proxy/unlisted-error.js +16 -0
- package/src/lib/errors/rubic-sdk.error.d.ts +6 -0
- package/src/lib/errors/rubic-sdk.error.js +13 -0
- package/src/lib/errors/swap/bridgers-pair-is-unavailable.error.d.ts +7 -0
- package/src/lib/errors/swap/bridgers-pair-is-unavailable.error.js +14 -0
- package/src/lib/errors/swap/failed-to-check-for-transaction-receipt.error.d.ts +8 -0
- package/src/lib/errors/swap/failed-to-check-for-transaction-receipt.error.js +15 -0
- package/src/lib/errors/swap/insufficient-funds-oneinch.error.d.ts +9 -0
- package/src/lib/errors/swap/insufficient-funds-oneinch.error.js +15 -0
- package/src/lib/errors/swap/insufficient-funds.error.d.ts +11 -0
- package/src/lib/errors/swap/insufficient-funds.error.js +18 -0
- package/src/lib/errors/swap/insufficient-liquidity.error.d.ts +7 -0
- package/src/lib/errors/swap/insufficient-liquidity.error.js +14 -0
- package/src/lib/errors/swap/lifi-pair-is-unavailable.error.d.ts +7 -0
- package/src/lib/errors/swap/lifi-pair-is-unavailable.error.js +14 -0
- package/src/lib/errors/swap/low-slippage-deflationary-token.error.d.ts +7 -0
- package/src/lib/errors/swap/low-slippage-deflationary-token.error.js +14 -0
- package/src/lib/errors/swap/low-slippage.error.d.ts +8 -0
- package/src/lib/errors/swap/low-slippage.error.js +15 -0
- package/src/lib/errors/swap/max-amount.error.d.ts +7 -0
- package/src/lib/errors/swap/max-amount.error.js +14 -0
- package/src/lib/errors/swap/max-decimals.error.d.ts +5 -0
- package/src/lib/errors/swap/max-decimals.error.js +12 -0
- package/src/lib/errors/swap/min-amount.error.d.ts +7 -0
- package/src/lib/errors/swap/min-amount.error.js +14 -0
- package/src/lib/errors/swap/no-linked-account-erros.d.ts +4 -0
- package/src/lib/errors/swap/no-linked-account-erros.js +11 -0
- package/src/lib/errors/swap/not-supported-blockchain.d.ts +8 -0
- package/src/lib/errors/swap/not-supported-blockchain.js +15 -0
- package/src/lib/errors/swap/not-supported-region.d.ts +7 -0
- package/src/lib/errors/swap/not-supported-region.js +14 -0
- package/src/lib/errors/swap/not-supported-tokens.error.d.ts +7 -0
- package/src/lib/errors/swap/not-supported-tokens.error.js +14 -0
- package/src/lib/errors/swap/not-whitelisted-provider.error.d.ts +10 -0
- package/src/lib/errors/swap/not-whitelisted-provider.error.js +17 -0
- package/src/lib/errors/swap/simulation-failed.error.d.ts +6 -0
- package/src/lib/errors/swap/simulation-failed.error.js +12 -0
- package/src/lib/errors/swap/swap-error-on-provider-side.d.ts +7 -0
- package/src/lib/errors/swap/swap-error-on-provider-side.js +14 -0
- package/src/lib/errors/swap/swap-request.error.d.ts +7 -0
- package/src/lib/errors/swap/swap-request.error.js +14 -0
- package/src/lib/errors/swap/trade-expired.error.d.ts +4 -0
- package/src/lib/errors/swap/trade-expired.error.js +11 -0
- package/src/lib/errors/swap/unnecessary-approve.error.d.ts +7 -0
- package/src/lib/errors/swap/unnecessary-approve.error.js +14 -0
- package/src/lib/errors/swap/wallet-not-connected.error.d.ts +8 -0
- package/src/lib/errors/swap/wallet-not-connected.error.js +15 -0
- package/src/lib/errors/swap/wrong-network.error.d.ts +10 -0
- package/src/lib/errors/swap/wrong-network.error.js +16 -0
- package/src/lib/utils/constants/web3-pure-store.js +17 -15
- package/src/lib/utils/models/evm-transaction-config.d.ts +2 -0
- package/src/lib/utils/web3-types/near-web3-pure.d.ts +6 -0
- package/src/lib/utils/web3-types/near-web3-pure.js +24 -0
- package/src/lib/utils/web3-types/tron-web3-pure.d.ts +2 -3
- package/src/lib/utils/web3-types/zcash-web3-pure.d.ts +5 -0
- package/src/lib/utils/web3-types/zcash-web3-pure.js +17 -0
- package/src/lib/adapter/adapters/abstract-adapter.d.ts +0 -23
- package/src/lib/adapter/adapters/abstract-adapter.js +0 -59
- package/src/lib/adapter/adapters/bitcoin-adapter.d.ts +0 -18
- package/src/lib/adapter/adapters/evm-adapter.d.ts +0 -59
- package/src/lib/adapter/adapters/solana-adapter.d.ts +0 -35
- package/src/lib/adapter/adapters/sui-adapter.d.ts +0 -17
- package/src/lib/adapter/adapters/ton-adapter.d.ts +0 -22
- package/src/lib/adapter/adapters/ton-adapter.js +0 -100
- package/src/lib/adapter/adapters/tron-adapter.d.ts +0 -36
- /package/src/lib/adapter/adapters/{models/gas-price.js → adapter-bitcoin/models/btc-send-tx-params.js} +0 -0
- /package/src/lib/adapter/adapters/models/{gas-price.d.ts → evm-web3-public-models/gas-price.d.ts} +0 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { AbiItem } from '../../../../utils/models/abi-types';
|
|
2
|
+
export interface ContractParams {
|
|
3
|
+
/**
|
|
4
|
+
* Contract address in source network.
|
|
5
|
+
*/
|
|
6
|
+
contractAddress: string;
|
|
7
|
+
/**
|
|
8
|
+
* Contract abi in source network.
|
|
9
|
+
*/
|
|
10
|
+
contractAbi: AbiItem[];
|
|
11
|
+
/**
|
|
12
|
+
* Method's name to call in contract.
|
|
13
|
+
*/
|
|
14
|
+
methodName: string;
|
|
15
|
+
/**
|
|
16
|
+
* Method's arguments to call method with.
|
|
17
|
+
*/
|
|
18
|
+
methodArguments: unknown[];
|
|
19
|
+
/**
|
|
20
|
+
* Value in Wei to send with transaction.
|
|
21
|
+
*/
|
|
22
|
+
value: string;
|
|
23
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { EIP1559Gas, SingleGasPrice } from '../evm-web3-public-models/gas-price';
|
|
2
|
+
/**
|
|
3
|
+
* Stores options for transaction in `encode` function.
|
|
4
|
+
*/
|
|
5
|
+
export interface EncodeTransactionOptions {
|
|
6
|
+
/**
|
|
7
|
+
* User wallet address to send swap transaction.
|
|
8
|
+
*/
|
|
9
|
+
fromAddress: string;
|
|
10
|
+
receiverAddress?: string;
|
|
11
|
+
/**
|
|
12
|
+
* Transaction gas price options.
|
|
13
|
+
*/
|
|
14
|
+
gasPriceOptions?: EIP1559Gas | SingleGasPrice;
|
|
15
|
+
/**
|
|
16
|
+
* Evm-transaction gas limit.
|
|
17
|
+
*/
|
|
18
|
+
gasLimit?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Uniquely for Uniswap v2, defines which method to use - regular or supporting fee.
|
|
21
|
+
*/
|
|
22
|
+
supportFee?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Tron-transaction fee limit.
|
|
25
|
+
*/
|
|
26
|
+
feeLimit?: number;
|
|
27
|
+
referrer?: string;
|
|
28
|
+
skipAmountCheck?: boolean;
|
|
29
|
+
useCacheData?: boolean;
|
|
30
|
+
refundAddress?: string;
|
|
31
|
+
testMode?: boolean;
|
|
32
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { ErrorInterface } from '@cryptorubic/core';
|
|
2
|
+
import { EIP1559Gas, SingleGasPrice } from '../evm-web3-public-models/gas-price';
|
|
3
|
+
export interface SwapTransactionOptions {
|
|
4
|
+
/**
|
|
5
|
+
* Callback to be called, when user confirm swap transaction.
|
|
6
|
+
* @param hash Transaction hash.
|
|
7
|
+
*/
|
|
8
|
+
onConfirm?: (hash: string) => void;
|
|
9
|
+
/**
|
|
10
|
+
* Callback to be called, when user confirm approve transaction.
|
|
11
|
+
* @param hash Transaction hash.
|
|
12
|
+
*/
|
|
13
|
+
onApprove?: (hash: string | null) => void;
|
|
14
|
+
/**
|
|
15
|
+
* Callback to be called, when swap warning occurs.
|
|
16
|
+
* @param warnings
|
|
17
|
+
*/
|
|
18
|
+
onWarning?: (warnings: ErrorInterface[]) => void;
|
|
19
|
+
/**
|
|
20
|
+
* Tokens receiver address.
|
|
21
|
+
*/
|
|
22
|
+
receiverAddress?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Transaction gas price options.
|
|
25
|
+
*/
|
|
26
|
+
gasPriceOptions?: EIP1559Gas | SingleGasPrice;
|
|
27
|
+
/**
|
|
28
|
+
* Evm-transaction gas limit.
|
|
29
|
+
*/
|
|
30
|
+
gasLimit?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Approve evm-transaction gas limit.
|
|
33
|
+
* Will be used for approve transaction, if it is called before swap.
|
|
34
|
+
*/
|
|
35
|
+
approveGasLimit?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Tron-transaction fee limit.
|
|
38
|
+
*/
|
|
39
|
+
feeLimit?: number;
|
|
40
|
+
/**
|
|
41
|
+
* Approve tron-transaction fee limit.
|
|
42
|
+
* Will be used for approve transaction, if it is called before swap.
|
|
43
|
+
*/
|
|
44
|
+
approveFeeLimit?: number;
|
|
45
|
+
testMode?: boolean;
|
|
46
|
+
useCacheData?: boolean;
|
|
47
|
+
skipAmountCheck?: boolean;
|
|
48
|
+
referrer?: string;
|
|
49
|
+
/**
|
|
50
|
+
* Use in case of eip-155
|
|
51
|
+
*/
|
|
52
|
+
useEip155?: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Address for refund assets if error occurs
|
|
55
|
+
*/
|
|
56
|
+
refundAddress?: string;
|
|
57
|
+
solanaSponsorParams?: {
|
|
58
|
+
tradeId: string;
|
|
59
|
+
feePayer: string;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* gasLimit multiplier (to change ratio for specific chain)
|
|
63
|
+
*/
|
|
64
|
+
gasLimitRatio?: number;
|
|
65
|
+
}
|
|
@@ -72,13 +72,13 @@ export interface TonApiTokenInfoForWalletResp {
|
|
|
72
72
|
[k: string]: string;
|
|
73
73
|
};
|
|
74
74
|
};
|
|
75
|
-
wallet_address
|
|
75
|
+
wallet_address?: {
|
|
76
76
|
/** address of user's contract for this token */
|
|
77
77
|
address: string;
|
|
78
78
|
is_scam: boolean;
|
|
79
79
|
is_wallet: boolean;
|
|
80
80
|
};
|
|
81
|
-
jetton
|
|
81
|
+
jetton?: {
|
|
82
82
|
/** address of token(jetton) contract. Similaer to ERC20 contract address in EVM */
|
|
83
83
|
address: string;
|
|
84
84
|
name: string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type SupportedTokenField = 'decimals' | 'symbol' | 'name' | 'image';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const TX_STATUS: {
|
|
2
|
+
readonly PENDING: "PENDING";
|
|
3
|
+
readonly SUCCESS: "SUCCESS";
|
|
4
|
+
readonly FAIL: "FAIL";
|
|
5
|
+
readonly FALLBACK: "FALLBACK";
|
|
6
|
+
readonly REVERT: "REVERT";
|
|
7
|
+
readonly UNKNOWN: "UNKNOWN";
|
|
8
|
+
readonly READY_TO_CLAIM: "READY_TO_CLAIM";
|
|
9
|
+
};
|
|
10
|
+
export type TxStatus = (typeof TX_STATUS)[keyof typeof TX_STATUS];
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TX_STATUS = void 0;
|
|
4
|
+
exports.TX_STATUS = {
|
|
5
|
+
PENDING: 'PENDING',
|
|
6
|
+
SUCCESS: 'SUCCESS',
|
|
7
|
+
FAIL: 'FAIL',
|
|
8
|
+
FALLBACK: 'FALLBACK',
|
|
9
|
+
REVERT: 'REVERT',
|
|
10
|
+
UNKNOWN: 'UNKNOWN',
|
|
11
|
+
READY_TO_CLAIM: 'READY_TO_CLAIM'
|
|
12
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseError = parseError;
|
|
4
|
+
const rubic_sdk_error_1 = require("../../../errors/rubic-sdk.error");
|
|
5
|
+
function parseError(err, defaultMessage) {
|
|
6
|
+
if (err instanceof rubic_sdk_error_1.RubicSdkError) {
|
|
7
|
+
return err;
|
|
8
|
+
}
|
|
9
|
+
return new rubic_sdk_error_1.RubicSdkError(err?.message || defaultMessage || 'Unknown error');
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import BigNumber from 'bignumber.js';
|
|
2
|
+
import { EvmTransactionOptions } from '../adapter-evm/models/evm-send-tx-params';
|
|
3
|
+
import { SwapTransactionOptions } from '../models/old-features-models/swap-transaction-options';
|
|
4
|
+
import { EIP1559ViemGas, SingleViemGasPrice } from '../models/evm-web3-public-models/gas-price-viem';
|
|
5
|
+
import { EIP1559Gas, SingleGasPrice } from '../models/evm-web3-public-models/gas-price';
|
|
6
|
+
export declare function stringifyAmount(amount: number | string | BigNumber, multiplier?: number): string;
|
|
7
|
+
export declare function combineOptions<T extends object>(options: Partial<T> | undefined, defaultOptions: T): T;
|
|
8
|
+
export declare function deadlineMinutesTimestamp(deadlineMinutes: number): number;
|
|
9
|
+
export declare function getGasOptions(options: SwapTransactionOptions | EvmTransactionOptions): EIP1559Gas | SingleGasPrice | Record<never, never>;
|
|
10
|
+
export declare function getViemGasOptions(options: SwapTransactionOptions | EvmTransactionOptions): EIP1559ViemGas | SingleViemGasPrice | Record<never, never>;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.stringifyAmount = stringifyAmount;
|
|
4
|
+
exports.combineOptions = combineOptions;
|
|
5
|
+
exports.deadlineMinutesTimestamp = deadlineMinutesTimestamp;
|
|
6
|
+
exports.getGasOptions = getGasOptions;
|
|
7
|
+
exports.getViemGasOptions = getViemGasOptions;
|
|
8
|
+
const bignumber_js_1 = require("bignumber.js");
|
|
9
|
+
const rubic_sdk_error_1 = require("../../../errors/rubic-sdk.error");
|
|
10
|
+
function stringifyAmount(amount, multiplier = 1) {
|
|
11
|
+
const bnAmount = new bignumber_js_1.default(amount);
|
|
12
|
+
if (!bnAmount.isInteger()) {
|
|
13
|
+
throw new rubic_sdk_error_1.RubicSdkError(`Value ${amount} is not integer`);
|
|
14
|
+
}
|
|
15
|
+
return bnAmount.multipliedBy(multiplier).toFixed(0);
|
|
16
|
+
}
|
|
17
|
+
function combineOptions(options, defaultOptions) {
|
|
18
|
+
return {
|
|
19
|
+
...defaultOptions,
|
|
20
|
+
...options
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
function deadlineMinutesTimestamp(deadlineMinutes) {
|
|
24
|
+
return Math.floor(Date.now() / 1000 + 60 * deadlineMinutes);
|
|
25
|
+
}
|
|
26
|
+
function getGasOptions(options) {
|
|
27
|
+
const { gasPriceOptions } = options;
|
|
28
|
+
if (!gasPriceOptions)
|
|
29
|
+
return {};
|
|
30
|
+
if ('gasPrice' in gasPriceOptions && gasPriceOptions.gasPrice) {
|
|
31
|
+
return {
|
|
32
|
+
gasPrice: stringifyAmount(gasPriceOptions.gasPrice)
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
if ('maxPriorityFeePerGas' in gasPriceOptions && gasPriceOptions.maxPriorityFeePerGas && gasPriceOptions.maxFeePerGas) {
|
|
36
|
+
return {
|
|
37
|
+
maxPriorityFeePerGas: stringifyAmount(gasPriceOptions.maxPriorityFeePerGas),
|
|
38
|
+
maxFeePerGas: stringifyAmount(gasPriceOptions.maxFeePerGas)
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
return {};
|
|
42
|
+
}
|
|
43
|
+
function getViemGasOptions(options) {
|
|
44
|
+
const { gasPriceOptions } = options;
|
|
45
|
+
if (!gasPriceOptions)
|
|
46
|
+
return {};
|
|
47
|
+
if ('gasPrice' in gasPriceOptions && gasPriceOptions.gasPrice) {
|
|
48
|
+
return {
|
|
49
|
+
gasPrice: BigInt(gasPriceOptions.gasPrice)
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
if ('maxPriorityFeePerGas' in gasPriceOptions && gasPriceOptions.maxPriorityFeePerGas && gasPriceOptions.maxFeePerGas) {
|
|
53
|
+
return {
|
|
54
|
+
maxPriorityFeePerGas: BigInt(gasPriceOptions.maxPriorityFeePerGas),
|
|
55
|
+
maxFeePerGas: BigInt(gasPriceOptions.maxFeePerGas)
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
return {};
|
|
59
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function waitFor(milliseconds: number): Promise<void>;
|
|
@@ -1,22 +1,24 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
1
|
+
import { AbstractAdapter } from './adapters/common/abstract-adapter';
|
|
2
|
+
import { WalletProviderCore } from './constants/models/wallet-provider';
|
|
3
|
+
import { BlockchainName, EvmBlockchainName, SolanaBlockchainName, TronBlockchainName, ICustomLogger, TonBlockchainName, BitcoinBlockchainName, SuiBlockchainName } from '@cryptorubic/core';
|
|
4
|
+
import { TonAdapter } from './adapters/adapter-ton/ton-adapter';
|
|
5
|
+
import { EvmAdapter } from './adapters/adapter-evm/evm-adapter';
|
|
6
|
+
import { BitcoinAdapter } from './adapters/adapter-bitcoin/bitcoin-adapter';
|
|
7
|
+
import { SolanaAdapter } from './adapters/adapter-solana/solana-adapter';
|
|
8
|
+
import { TronAdapter } from './adapters/adapter-tron/tron-adapter';
|
|
9
|
+
import { SuiAdapter } from './adapters/adapter-sui/sui-adapter';
|
|
10
|
+
import { AdapterFactoryParams } from './models/create-factory-params';
|
|
11
11
|
export declare class BlockchainAdapterFactoryService {
|
|
12
12
|
private readonly rpcList;
|
|
13
|
+
private readonly httpClient;
|
|
13
14
|
private readonly createLogger?;
|
|
14
|
-
private readonly httpClient?;
|
|
15
15
|
private readonly tonParams?;
|
|
16
|
+
private readonly clientParams?;
|
|
16
17
|
readonly adapterStore: Partial<Record<BlockchainName, AbstractAdapter<unknown, unknown, BlockchainName>>>;
|
|
17
18
|
protected readonly logger?: ICustomLogger;
|
|
18
19
|
private constructor();
|
|
19
|
-
|
|
20
|
+
hasAdapterFor(blockchain: BlockchainName): boolean;
|
|
21
|
+
static createFactory(params: AdapterFactoryParams): Promise<BlockchainAdapterFactoryService>;
|
|
20
22
|
getAdapter(blockchain: SolanaBlockchainName): SolanaAdapter;
|
|
21
23
|
getAdapter(blockchain: EvmBlockchainName): EvmAdapter;
|
|
22
24
|
getAdapter(blockchain: TronBlockchainName): TronAdapter;
|
|
@@ -25,5 +27,5 @@ export declare class BlockchainAdapterFactoryService {
|
|
|
25
27
|
getAdapter(blockchain: SuiBlockchainName): SuiAdapter;
|
|
26
28
|
private createStorage;
|
|
27
29
|
private createAdapter;
|
|
28
|
-
connectWallet(
|
|
30
|
+
connectWallet(blockchain: BlockchainName, wallet: WalletProviderCore): void;
|
|
29
31
|
}
|
|
@@ -2,31 +2,35 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BlockchainAdapterFactoryService = void 0;
|
|
4
4
|
const viem_blockchain_mapping_1 = require("./constants/viem-blockchain-mapping");
|
|
5
|
-
const solana_adapter_1 = require("./adapters/solana-adapter");
|
|
6
|
-
const tron_adapter_1 = require("./adapters/tron-adapter");
|
|
7
|
-
const viem_1 = require("viem");
|
|
8
5
|
const core_1 = require("@cryptorubic/core");
|
|
9
|
-
const ton_adapter_1 = require("./adapters/ton-adapter");
|
|
10
|
-
const evm_adapter_1 = require("./adapters/evm-adapter");
|
|
11
|
-
const bitcoin_adapter_1 = require("./adapters/bitcoin-adapter");
|
|
12
|
-
const
|
|
6
|
+
const ton_adapter_1 = require("./adapters/adapter-ton/ton-adapter");
|
|
7
|
+
const evm_adapter_1 = require("./adapters/adapter-evm/evm-adapter");
|
|
8
|
+
const bitcoin_adapter_1 = require("./adapters/adapter-bitcoin/bitcoin-adapter");
|
|
9
|
+
const solana_adapter_1 = require("./adapters/adapter-solana/solana-adapter");
|
|
10
|
+
const tron_adapter_1 = require("./adapters/adapter-tron/tron-adapter");
|
|
11
|
+
const sui_adapter_1 = require("./adapters/adapter-sui/sui-adapter");
|
|
13
12
|
class BlockchainAdapterFactoryService {
|
|
14
|
-
constructor(rpcList, createLogger,
|
|
13
|
+
constructor(rpcList, httpClient, createLogger, tonParams, clientParams) {
|
|
15
14
|
this.rpcList = rpcList;
|
|
16
|
-
this.createLogger = createLogger;
|
|
17
15
|
this.httpClient = httpClient;
|
|
16
|
+
this.createLogger = createLogger;
|
|
18
17
|
this.tonParams = tonParams;
|
|
18
|
+
this.clientParams = clientParams;
|
|
19
19
|
this.adapterStore = {};
|
|
20
20
|
this.adapterStore = this.createStorage();
|
|
21
21
|
if (this.createLogger) {
|
|
22
22
|
this.logger = this.createLogger('BlockchainAdapterFactory');
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
|
-
|
|
25
|
+
hasAdapterFor(blockchain) {
|
|
26
|
+
const adapter = this.adapterStore?.[blockchain];
|
|
27
|
+
return !!adapter;
|
|
28
|
+
}
|
|
29
|
+
static async createFactory(params) {
|
|
26
30
|
// @TODO Add default logger
|
|
27
|
-
const loggerFn = createLogger || undefined;
|
|
28
|
-
const resolvedHttpClient = httpClient ?? (await Promise.resolve().then(() => require('axios')));
|
|
29
|
-
return new this(rpcList, createLogger,
|
|
31
|
+
const loggerFn = params.createLogger || undefined;
|
|
32
|
+
const resolvedHttpClient = params.httpClient ?? (await Promise.resolve().then(() => require('axios')));
|
|
33
|
+
return new this(params.rpcList, resolvedHttpClient, params.createLogger, params.tonParams, params.clientParams);
|
|
30
34
|
}
|
|
31
35
|
getAdapter(blockchain) {
|
|
32
36
|
const adapter = this.adapterStore?.[blockchain];
|
|
@@ -41,9 +45,6 @@ class BlockchainAdapterFactoryService {
|
|
|
41
45
|
const adapter = this.createAdapter(blockchain, rpcs || []);
|
|
42
46
|
return [blockchain, adapter || null];
|
|
43
47
|
});
|
|
44
|
-
const tonAdapter = this.createAdapter(core_1.BLOCKCHAIN_NAME.TON, []);
|
|
45
|
-
const btcAdapter = this.createAdapter(core_1.BLOCKCHAIN_NAME.BITCOIN, []);
|
|
46
|
-
adapters.push(tonAdapter ? [core_1.BLOCKCHAIN_NAME.TON, tonAdapter] : [core_1.BLOCKCHAIN_NAME.TON, null]);
|
|
47
48
|
const activeAdapters = adapters.filter(([blockchain, adapter]) => {
|
|
48
49
|
const adapterExists = Boolean(adapter);
|
|
49
50
|
const message = adapterExists
|
|
@@ -54,74 +55,56 @@ class BlockchainAdapterFactoryService {
|
|
|
54
55
|
});
|
|
55
56
|
const store = Object.fromEntries(activeAdapters);
|
|
56
57
|
this.logger?.customLog('Adapters store created');
|
|
58
|
+
if (!this.clientParams?.lazyLoadWeb3) {
|
|
59
|
+
Object.values(store).forEach((adapter) => adapter.initWeb3Client());
|
|
60
|
+
}
|
|
57
61
|
return store;
|
|
58
62
|
}
|
|
59
63
|
createAdapter(blockchain, rpcs) {
|
|
60
|
-
if (rpcs.length > 0
|
|
64
|
+
if (rpcs.length > 0) {
|
|
61
65
|
const blockchainType = core_1.BlockchainsInfo.getChainType(blockchain);
|
|
62
66
|
if (blockchainType === core_1.CHAIN_TYPE.EVM) {
|
|
63
67
|
if (viem_blockchain_mapping_1.viemBlockchainMapping?.[blockchain]) {
|
|
64
|
-
return new evm_adapter_1.EvmAdapter({
|
|
68
|
+
return new evm_adapter_1.EvmAdapter(this.httpClient, {
|
|
65
69
|
blockchain: blockchain,
|
|
66
70
|
rpcList: rpcs
|
|
67
|
-
}, this.createLogger?.(`EVM_ADAPTER_${blockchain}`));
|
|
71
|
+
}, this.createLogger?.(`EVM_ADAPTER_${blockchain}`), this.clientParams);
|
|
68
72
|
}
|
|
69
73
|
}
|
|
70
74
|
if (blockchainType === core_1.CHAIN_TYPE.TRON) {
|
|
71
|
-
return new tron_adapter_1.TronAdapter(rpcs, this.createLogger?.(`TRON_ADAPTER`));
|
|
75
|
+
return new tron_adapter_1.TronAdapter(rpcs, this.httpClient, this.createLogger?.(`TRON_ADAPTER`), this.clientParams);
|
|
72
76
|
}
|
|
73
77
|
if (blockchainType === core_1.CHAIN_TYPE.SUI) {
|
|
74
|
-
return new sui_adapter_1.SuiAdapter(rpcs, this.createLogger?.(`SUI_ADAPTER`));
|
|
78
|
+
return new sui_adapter_1.SuiAdapter(rpcs, this.httpClient, this.createLogger?.(`SUI_ADAPTER`), this.clientParams);
|
|
75
79
|
}
|
|
76
80
|
if (blockchainType === core_1.CHAIN_TYPE.SOLANA) {
|
|
77
|
-
return new solana_adapter_1.SolanaAdapter(rpcs, this.httpClient, this.createLogger?.(`SOLANA_ADAPTER`));
|
|
81
|
+
return new solana_adapter_1.SolanaAdapter(rpcs, this.httpClient, this.createLogger?.(`SOLANA_ADAPTER`), this.clientParams);
|
|
78
82
|
}
|
|
79
83
|
}
|
|
80
84
|
if (blockchain === core_1.BLOCKCHAIN_NAME.TON && this.tonParams?.tonApiConfig && this.tonParams?.tonClientConfig) {
|
|
81
|
-
return new ton_adapter_1.TonAdapter(this.httpClient, this.tonParams, this.createLogger?.(`TON_ADAPTER`));
|
|
85
|
+
return new ton_adapter_1.TonAdapter(this.httpClient, this.tonParams, this.createLogger?.(`TON_ADAPTER`), this.clientParams);
|
|
82
86
|
}
|
|
83
87
|
if (blockchain === core_1.BLOCKCHAIN_NAME.BITCOIN && this.httpClient) {
|
|
84
|
-
return new bitcoin_adapter_1.BitcoinAdapter(this.httpClient, this.createLogger?.(`BTC_ADAPTER`));
|
|
88
|
+
return new bitcoin_adapter_1.BitcoinAdapter(this.httpClient, this.createLogger?.(`BTC_ADAPTER`), this.clientParams);
|
|
85
89
|
}
|
|
86
90
|
return null;
|
|
87
91
|
}
|
|
88
|
-
connectWallet(
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
}
|
|
105
|
-
if (walletProvider?.[core_1.CHAIN_TYPE.TRON]?.core && this.adapterStore?.[core_1.BLOCKCHAIN_NAME.TRON]) {
|
|
106
|
-
const store = this.adapterStore[core_1.BLOCKCHAIN_NAME.TRON];
|
|
107
|
-
store.wallet = walletProvider[core_1.CHAIN_TYPE.TRON].core;
|
|
108
|
-
store.walletAddress = walletProvider[core_1.CHAIN_TYPE.TRON].address;
|
|
109
|
-
}
|
|
110
|
-
if (walletProvider?.[core_1.CHAIN_TYPE.SUI]?.core && this.adapterStore?.[core_1.BLOCKCHAIN_NAME.SUI]) {
|
|
111
|
-
const store = this.adapterStore[core_1.BLOCKCHAIN_NAME.SUI];
|
|
112
|
-
store.wallet = walletProvider[core_1.CHAIN_TYPE.SUI].core;
|
|
113
|
-
store.walletAddress = walletProvider[core_1.CHAIN_TYPE.SUI].address;
|
|
114
|
-
}
|
|
115
|
-
if (walletProvider?.[core_1.CHAIN_TYPE.TON]?.core && this.adapterStore?.[core_1.BLOCKCHAIN_NAME.TON]) {
|
|
116
|
-
const store = this.adapterStore[core_1.BLOCKCHAIN_NAME.TON];
|
|
117
|
-
store.wallet = walletProvider[core_1.CHAIN_TYPE.TON].core;
|
|
118
|
-
store.walletAddress = walletProvider[core_1.CHAIN_TYPE.TON].address;
|
|
119
|
-
}
|
|
120
|
-
if (walletProvider?.[core_1.CHAIN_TYPE.BITCOIN]?.core && this.adapterStore?.[core_1.BLOCKCHAIN_NAME.BITCOIN]) {
|
|
121
|
-
const store = this.adapterStore[core_1.BLOCKCHAIN_NAME.BITCOIN];
|
|
122
|
-
store.wallet = walletProvider[core_1.CHAIN_TYPE.BITCOIN].core;
|
|
123
|
-
store.walletAddress = walletProvider[core_1.CHAIN_TYPE.BITCOIN].address;
|
|
124
|
-
}
|
|
92
|
+
connectWallet(blockchain, wallet) {
|
|
93
|
+
/**
|
|
94
|
+
* evm chains has many EvmAdapter instances
|
|
95
|
+
* if you change network before swap - you need to be sure that
|
|
96
|
+
* EvmAdapter.signer.wallet and EvmAdapter.signer.wallet already set
|
|
97
|
+
*/
|
|
98
|
+
const chainTypeAdapters = Object.values(this.adapterStore).filter((adapter) => core_1.BlockchainsInfo.getChainType(adapter.blockchain) === core_1.BlockchainsInfo.getChainType(blockchain));
|
|
99
|
+
chainTypeAdapters.forEach((adapter) => {
|
|
100
|
+
adapter.signer.setWalletAddress(wallet.address);
|
|
101
|
+
adapter.signer.setWallet(wallet.core);
|
|
102
|
+
if (!adapter.connected) {
|
|
103
|
+
adapter.initWeb3Client();
|
|
104
|
+
const msg = `Web3 client for ${adapter.constructor.name} initialized successfully.`;
|
|
105
|
+
this.logger ? this.logger?.customLog(msg, adapter) : console.debug(msg, adapter);
|
|
106
|
+
}
|
|
107
|
+
});
|
|
125
108
|
}
|
|
126
109
|
}
|
|
127
110
|
exports.BlockchainAdapterFactoryService = BlockchainAdapterFactoryService;
|