@cryptorubic/web3 0.15.0-alpha-stellar.0 → 1.0.0-alpha-rub-1103.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.
- package/package.json +3 -1
- 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/{solana-adapter.d.ts → adapter-solana/solana-adapter.d.ts} +25 -15
- package/src/lib/adapter/adapters/{solana-adapter.js → adapter-solana/solana-adapter.js} +60 -38
- 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 +4 -4
- 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/models/approve-adapter.d.ts +12 -8
- 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/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.js +38 -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.js +0 -1
- 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 +10 -5
- package/src/lib/utils/models/evm-transaction-config.d.ts +2 -0
- 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/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 -37
- /package/src/lib/adapter/adapters/{models/gas-price.js → adapter-bitcoin/models/btc-send-tx-params.js} +0 -0
- /package/src/lib/adapter/adapters/{utils → adapter-ton/services}/ton-api.service.js +0 -0
- /package/src/lib/adapter/adapters/models/{gas-price.d.ts → evm-web3-public-models/gas-price.d.ts} +0 -0
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import BigNumber from 'bignumber.js';
|
|
2
|
-
import { ICustomLogger, Token, TokenAmount, BlockchainName, PriceTokenAmount } from '@cryptorubic/core';
|
|
3
|
-
export declare abstract class AbstractAdapter<P, W, B extends BlockchainName> {
|
|
4
|
-
protected readonly logger?: ICustomLogger;
|
|
5
|
-
protected readonly blockchain: B;
|
|
6
|
-
private _public;
|
|
7
|
-
protected set public(value: P | null);
|
|
8
|
-
get public(): P;
|
|
9
|
-
private _wallet;
|
|
10
|
-
set wallet(value: W | null);
|
|
11
|
-
get wallet(): W;
|
|
12
|
-
private _walletAddress;
|
|
13
|
-
set walletAddress(value: string | null);
|
|
14
|
-
get walletAddress(): string;
|
|
15
|
-
protected constructor(blockchain: B, logger?: ICustomLogger);
|
|
16
|
-
abstract checkEnoughBalance(token: TokenAmount | PriceTokenAmount, walletAddress: string): Promise<boolean>;
|
|
17
|
-
abstract callForTokensInfo(tokenAddresses: string[] | ReadonlyArray<string>): Promise<Token<BlockchainName>[]>;
|
|
18
|
-
needPreswapAction(token: TokenAmount, contractAddress: string, walletAddress: string, amount: string | BigNumber): Promise<boolean>;
|
|
19
|
-
handlePreswap(contractAddress: string, walletAddress: string, tokenAmount: TokenAmount): Promise<void>;
|
|
20
|
-
abstract read<T>(...args: unknown[]): Promise<T>;
|
|
21
|
-
abstract write(...args: unknown[]): Promise<string>;
|
|
22
|
-
static getRandomBytes(bytes: number): string;
|
|
23
|
-
}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AbstractAdapter = void 0;
|
|
4
|
-
const viem_1 = require("viem");
|
|
5
|
-
class AbstractAdapter {
|
|
6
|
-
set public(value) {
|
|
7
|
-
this._public = value;
|
|
8
|
-
}
|
|
9
|
-
get public() {
|
|
10
|
-
if (!this._public) {
|
|
11
|
-
const msg = 'Trying to access undefined client';
|
|
12
|
-
this.logger?.customLog(msg);
|
|
13
|
-
throw new Error(msg);
|
|
14
|
-
}
|
|
15
|
-
return this._public;
|
|
16
|
-
}
|
|
17
|
-
set wallet(value) {
|
|
18
|
-
this._wallet = value;
|
|
19
|
-
}
|
|
20
|
-
get wallet() {
|
|
21
|
-
if (!this._wallet) {
|
|
22
|
-
const msg = 'Trying to access undefined client';
|
|
23
|
-
this.logger?.customLog(msg);
|
|
24
|
-
throw new Error(msg);
|
|
25
|
-
}
|
|
26
|
-
return this._wallet;
|
|
27
|
-
}
|
|
28
|
-
set walletAddress(value) {
|
|
29
|
-
this._walletAddress = value;
|
|
30
|
-
}
|
|
31
|
-
get walletAddress() {
|
|
32
|
-
if (!this._walletAddress) {
|
|
33
|
-
const msg = 'Trying to access undefined walletAddress';
|
|
34
|
-
this.logger?.customLog(msg);
|
|
35
|
-
throw new Error(msg);
|
|
36
|
-
}
|
|
37
|
-
return this._walletAddress;
|
|
38
|
-
}
|
|
39
|
-
constructor(blockchain, logger) {
|
|
40
|
-
this._public = null;
|
|
41
|
-
this._wallet = null;
|
|
42
|
-
this._walletAddress = null;
|
|
43
|
-
this.blockchain = blockchain;
|
|
44
|
-
if (logger) {
|
|
45
|
-
this.logger = logger;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
needPreswapAction(token, contractAddress, walletAddress, amount) {
|
|
49
|
-
return Promise.resolve(false);
|
|
50
|
-
}
|
|
51
|
-
handlePreswap(contractAddress, walletAddress, tokenAmount) {
|
|
52
|
-
return Promise.resolve();
|
|
53
|
-
}
|
|
54
|
-
static getRandomBytes(bytes) {
|
|
55
|
-
const randomBytes = crypto.getRandomValues(new Uint8Array(bytes));
|
|
56
|
-
return (0, viem_1.bytesToHex)(randomBytes);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
exports.AbstractAdapter = AbstractAdapter;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { BitcoinBlockchainName, BlockchainName, HttpClient, ICustomLogger, PriceTokenAmount, Token, TokenAmount } from '@cryptorubic/core';
|
|
2
|
-
import BigNumber from 'bignumber.js';
|
|
3
|
-
import { AbstractAdapter } from './abstract-adapter';
|
|
4
|
-
import { BasicTransactionOptions } from './models/basic-transaction-options';
|
|
5
|
-
import { BtcWallet } from './models/btc-wallet-provider';
|
|
6
|
-
export declare class BitcoinAdapter extends AbstractAdapter<BtcWallet, BtcWallet, BitcoinBlockchainName> {
|
|
7
|
-
private readonly httpClient;
|
|
8
|
-
constructor(httpClient: HttpClient, logger?: ICustomLogger);
|
|
9
|
-
getBalance(userAddress: string): Promise<BigNumber>;
|
|
10
|
-
getPublicKey(userAddress: string): Promise<string | null>;
|
|
11
|
-
checkEnoughBalance(token: TokenAmount | PriceTokenAmount, walletAddress: string): Promise<boolean>;
|
|
12
|
-
callForTokensInfo(tokenAddresses: string[] | ReadonlyArray<string>): Promise<Token<BlockchainName>[]>;
|
|
13
|
-
read<T>(args: unknown): Promise<T>;
|
|
14
|
-
write(args: unknown): Promise<string>;
|
|
15
|
-
getPublicKeyFromWallet(): Promise<string>;
|
|
16
|
-
transfer(recipient: string, amount: string, fromAddress: string, memo?: string, options?: BasicTransactionOptions): Promise<string>;
|
|
17
|
-
sendPsbtTransaction(psbt: string, userAddress: string, inputIndexes: number[], options?: BasicTransactionOptions): Promise<string>;
|
|
18
|
-
}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { Abi, MulticallResponse, MulticallParameters, PublicActions, PublicClient, WalletClient, WalletActions, BlockNumber, BlockTag, GetBlockReturnType } from 'viem';
|
|
2
|
-
import { AbstractAdapter } from './abstract-adapter';
|
|
3
|
-
import { EvmBlockchainName, ICustomLogger, Token, TokenAmount, PriceTokenAmount } from '@cryptorubic/core';
|
|
4
|
-
import BigNumber from 'bignumber.js';
|
|
5
|
-
import { EvmAdapterOptions } from './models/evm-adapter-options';
|
|
6
|
-
import { EvmTransactionConfig } from '../../utils/models/evm-transaction-config';
|
|
7
|
-
import { ApproveAdapter } from './models/approve-adapter';
|
|
8
|
-
import { AllowanceInfo } from './models/common-types';
|
|
9
|
-
import { GasPrice } from './models/gas-price';
|
|
10
|
-
export declare class EvmAdapter extends AbstractAdapter<PublicActions & PublicClient, WalletClient & WalletActions, EvmBlockchainName> implements ApproveAdapter<EvmTransactionConfig> {
|
|
11
|
-
needPreswapAction(token: TokenAmount, contractAddress: string, walletAddress: string, amount: string): Promise<boolean>;
|
|
12
|
-
handlePreswap(contractAddress: string, walletAddress: string, tokenAmount: TokenAmount): Promise<void>;
|
|
13
|
-
constructor(adapterOptions: EvmAdapterOptions, logger?: ICustomLogger);
|
|
14
|
-
protected createPublicClient(rpcList: string[]): (PublicActions & PublicClient) | null;
|
|
15
|
-
read<T>(address: string, abi: Abi, method: string, methodArgs?: unknown[]): Promise<T>;
|
|
16
|
-
writeContract(address: string, abi: Abi, method: string, value?: string, methodArgs?: unknown[]): Promise<string>;
|
|
17
|
-
write(address: string, to: string, value: string, data: string): Promise<string>;
|
|
18
|
-
multicallByContract<T>(contracts: MulticallParameters, allowErrors?: boolean): Promise<MulticallResponse<T>[]>;
|
|
19
|
-
multicallByAddress<T>(address: string, abi: Abi, method: string, methodArgs?: unknown[][], allowErrors?: boolean): Promise<MulticallResponse<T>[]>;
|
|
20
|
-
static encodeMethodCall(contractAddress: string, contractAbi: Abi, method: string, parameters?: unknown[], value?: string): EvmTransactionConfig;
|
|
21
|
-
simulateTransaction(config: EvmTransactionConfig, from: string, timeout?: number): Promise<string>;
|
|
22
|
-
callForTokensInfo(tokenAddresses: string[] | ReadonlyArray<string>): Promise<Token<EvmBlockchainName>[]>;
|
|
23
|
-
getGasPrice(): Promise<string>;
|
|
24
|
-
checkEnoughBalance(token: TokenAmount | PriceTokenAmount, walletAddress: string, amount?: BigNumber): Promise<boolean>;
|
|
25
|
-
/**
|
|
26
|
-
* @param walletAddress
|
|
27
|
-
* @param tokenAddress
|
|
28
|
-
* @returns wei amount
|
|
29
|
-
*/
|
|
30
|
-
getBalance(walletAddress: string, tokenAddress?: string): Promise<BigNumber>;
|
|
31
|
-
getTransactionCount(walletAddress: string): Promise<number>;
|
|
32
|
-
getAllowance(fromTokenAddress: string, walletAddress: string, spenderAddress: string): Promise<AllowanceInfo>;
|
|
33
|
-
encodeApprove(tokenAddress: string, spenderAddress: string, amount?: string): EvmTransactionConfig;
|
|
34
|
-
needApprove(token: TokenAmount, contractAddress: string, walletAddress: string, amount: string): Promise<boolean>;
|
|
35
|
-
approve(fromAddress: string, tokenAddress: string, spenderAddress: string, amount?: string): Promise<string>;
|
|
36
|
-
needPermit2Approve(token: TokenAmount, permit2Address: string, walletAddress: string, spenderAddress: string): Promise<boolean>;
|
|
37
|
-
encodePermit2Approve(tokenAddress: string, spenderAddress: string, permit2Address: string, expiration: string, amount: string): EvmTransactionConfig;
|
|
38
|
-
approveOnPermit2(fromAddress: string, tokenAddress: string, permit2Address: string, spenderAddress: string, deadline?: BigNumber, amount?: BigNumber): Promise<string>;
|
|
39
|
-
/**
|
|
40
|
-
* Calculates EIP-1559 specific gas details.
|
|
41
|
-
* @see {@link https://github.com/ethers-io/ethers.js/blob/master/packages/abstract-provider/src.ts/index.ts#L235}
|
|
42
|
-
* @returns block baseFee, average maxPriorityFeePerGas, and maxFeePerGas.
|
|
43
|
-
*/
|
|
44
|
-
getPriorityFeeGas(): Promise<GasPrice>;
|
|
45
|
-
/**
|
|
46
|
-
* Gets block by block id.
|
|
47
|
-
* @param [blockId] Block id: hash, number ... Default is 'latest'.
|
|
48
|
-
* @returns Block by blockId parameter.
|
|
49
|
-
*/
|
|
50
|
-
getBlock(blockType?: BlockNumber | BlockTag): Promise<GetBlockReturnType>;
|
|
51
|
-
/**
|
|
52
|
-
* Estimates average maxPriorityFeePerGas for EIP-1559 transactions based on last 20 blocks.
|
|
53
|
-
* @see {@link https://docs.alchemy.com/docs/how-to-build-a-gas-fee-estimator-using-eip-1559}
|
|
54
|
-
* @returns Average maxPriorityFeePerGas in wei
|
|
55
|
-
*/
|
|
56
|
-
getMaxPriorityFeePerGas(): Promise<number>;
|
|
57
|
-
getBaseFeePerGas(blockNumber: bigint): Promise<number>;
|
|
58
|
-
private handlePossibleError;
|
|
59
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { Abi, MulticallResponse, MulticallParameters } from 'viem';
|
|
2
|
-
import { AbstractAdapter } from './abstract-adapter';
|
|
3
|
-
import { ICustomLogger, PriceTokenAmount, SuiBlockchainName, Token, TokenAmount } from '@cryptorubic/core';
|
|
4
|
-
import { EvmTransactionConfig } from '../../utils/models/evm-transaction-config';
|
|
5
|
-
import { SuiClient } from '@mysten/sui/client';
|
|
6
|
-
import BigNumber from 'bignumber.js';
|
|
7
|
-
export declare class SuiAdapter extends AbstractAdapter<SuiClient, SuiClient, SuiBlockchainName> {
|
|
8
|
-
constructor(rpcList: string[], logger?: ICustomLogger);
|
|
9
|
-
read<T>(_address: string, _abi: Abi, _method: string, _methodArgs?: unknown[]): Promise<T>;
|
|
10
|
-
write<T>(_address: string, _abi: Abi, _method: string, _methodArgs?: unknown[]): Promise<T>;
|
|
11
|
-
multicallByContract<T>(_contracts: MulticallParameters, _allowErrors?: boolean): Promise<MulticallResponse<T>[]>;
|
|
12
|
-
multicallByAddress<T>(_address: string, _abi: Abi, _method: string, _methodArgs?: unknown[][], _allowErrors?: boolean): Promise<MulticallResponse<T>[]>;
|
|
13
|
-
simulateTransaction(_config: EvmTransactionConfig, _from: string): Promise<void>;
|
|
14
|
-
callForTokensInfo(tokenAddresses: string[] | ReadonlyArray<string>): Promise<Token<SuiBlockchainName>[]>;
|
|
15
|
-
checkEnoughBalance(token: TokenAmount | PriceTokenAmount, walletAddress: string): Promise<boolean>;
|
|
16
|
-
getBalance(userAddress: string, tokenAddress: string): Promise<BigNumber>;
|
|
17
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { BlockchainName, HttpClient, ICustomLogger, PriceTokenAmount, Token, TokenAmount, TonBlockchainName } from '@cryptorubic/core';
|
|
2
|
-
import { Address, TonClient } from '@ton/ton';
|
|
3
|
-
import { TonApiParseAddressResp } from './models/tonapi-models';
|
|
4
|
-
import { TonAdapterConfig } from './models/ton-adapter-config';
|
|
5
|
-
import BigNumber from 'bignumber.js';
|
|
6
|
-
import { TonTransactionConfig } from '../../utils/models/ton-transaction-config';
|
|
7
|
-
import { AbstractAdapter } from './abstract-adapter';
|
|
8
|
-
export declare class TonAdapter extends AbstractAdapter<TonClient, TonClient, TonBlockchainName> {
|
|
9
|
-
private readonly tonApi;
|
|
10
|
-
readonly tonClient: TonClient;
|
|
11
|
-
constructor(httpClient: HttpClient, config: TonAdapterConfig, logger?: ICustomLogger);
|
|
12
|
-
callForTokensInfo(tokenAddresses: string[] | ReadonlyArray<string>): Promise<Token<BlockchainName>[]>;
|
|
13
|
-
read<T>(args: unknown): Promise<T>;
|
|
14
|
-
write(args: unknown): Promise<string>;
|
|
15
|
-
getAllFormatsOfAddress(walletAddress: string): Promise<TonApiParseAddressResp>;
|
|
16
|
-
getWalletAddress(address: Address, contractAddress: Address): Promise<Address>;
|
|
17
|
-
checkEnoughBalance(token: TokenAmount | PriceTokenAmount, walletAddress: string): Promise<boolean>;
|
|
18
|
-
getBalance(walletAddress: string, tokenAddress?: string): Promise<BigNumber>;
|
|
19
|
-
getTransferEncodedConfig(tokenAddress: string, walletAddress: string, receiver: string, amount: string): Promise<TonTransactionConfig>;
|
|
20
|
-
private getTransferNativeConfig;
|
|
21
|
-
private getTransferJettonConfig;
|
|
22
|
-
}
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TonAdapter = void 0;
|
|
4
|
-
const core_1 = require("@cryptorubic/core");
|
|
5
|
-
const ton_api_service_1 = require("./utils/ton-api.service");
|
|
6
|
-
const ton_1 = require("@ton/ton");
|
|
7
|
-
const bignumber_js_1 = require("bignumber.js");
|
|
8
|
-
const abstract_adapter_1 = require("./abstract-adapter");
|
|
9
|
-
const web3_pure_1 = require("../../utils/web3-pure");
|
|
10
|
-
class TonAdapter extends abstract_adapter_1.AbstractAdapter {
|
|
11
|
-
constructor(httpClient, config, logger) {
|
|
12
|
-
super(core_1.BLOCKCHAIN_NAME.TON, logger);
|
|
13
|
-
this.tonApi = new ton_api_service_1.TonApiService(httpClient, config.tonApiConfig, logger);
|
|
14
|
-
this.tonClient = new ton_1.TonClient(config.tonClientConfig);
|
|
15
|
-
}
|
|
16
|
-
async callForTokensInfo(tokenAddresses) {
|
|
17
|
-
const info = await Promise.all(tokenAddresses.map((address) => {
|
|
18
|
-
if (web3_pure_1.Web3Pure.isNativeAddress(core_1.BLOCKCHAIN_NAME.TON, address)) {
|
|
19
|
-
const nativeToken = core_1.nativeTokensList[core_1.BLOCKCHAIN_NAME.TON];
|
|
20
|
-
return nativeToken;
|
|
21
|
-
}
|
|
22
|
-
return this.tonApi.fetchTokenInfo(address);
|
|
23
|
-
}));
|
|
24
|
-
if (!info.length)
|
|
25
|
-
return [];
|
|
26
|
-
const necessaryInfo = info.map(({ decimals, name, symbol, address }) => new core_1.Token({
|
|
27
|
-
address,
|
|
28
|
-
blockchain: core_1.BLOCKCHAIN_NAME.TON,
|
|
29
|
-
decimals: Number(decimals),
|
|
30
|
-
name,
|
|
31
|
-
symbol
|
|
32
|
-
}));
|
|
33
|
-
return necessaryInfo;
|
|
34
|
-
}
|
|
35
|
-
read(args) {
|
|
36
|
-
throw new Error('Not implemented');
|
|
37
|
-
}
|
|
38
|
-
write(args) {
|
|
39
|
-
throw new Error('Not implemented');
|
|
40
|
-
}
|
|
41
|
-
async getAllFormatsOfAddress(walletAddress) {
|
|
42
|
-
return this.tonApi.getAllFormatsOfAddress(walletAddress);
|
|
43
|
-
}
|
|
44
|
-
async getWalletAddress(address, contractAddress) {
|
|
45
|
-
const addressResult = await this.tonClient.runMethod(contractAddress, 'get_wallet_address', [
|
|
46
|
-
{ cell: (0, ton_1.beginCell)().storeAddress(address).endCell(), type: 'slice' }
|
|
47
|
-
]);
|
|
48
|
-
return addressResult.stack.readAddress();
|
|
49
|
-
}
|
|
50
|
-
async checkEnoughBalance(token, walletAddress) {
|
|
51
|
-
const weiBalance = await this.getBalance(walletAddress, token.address);
|
|
52
|
-
const balance = core_1.Token.fromWei(weiBalance, token.decimals);
|
|
53
|
-
return balance.gte(token.tokenAmount);
|
|
54
|
-
}
|
|
55
|
-
async getBalance(walletAddress, tokenAddress) {
|
|
56
|
-
const isNative = !tokenAddress || web3_pure_1.Web3Pure.isNativeAddress(core_1.BLOCKCHAIN_NAME.TON, tokenAddress);
|
|
57
|
-
const tokenBalance = isNative
|
|
58
|
-
? (await this.tonApi.fetchAccountInfo(walletAddress)).balance
|
|
59
|
-
: (await this.tonApi.fetchTokenInfoForWallet(walletAddress, tokenAddress)).balance;
|
|
60
|
-
return new bignumber_js_1.default(tokenBalance || 0);
|
|
61
|
-
}
|
|
62
|
-
getTransferEncodedConfig(tokenAddress, walletAddress, receiver, amount) {
|
|
63
|
-
if ((0, core_1.compareAddresses)(core_1.nativeTokensList.TON.address, tokenAddress)) {
|
|
64
|
-
return this.getTransferNativeConfig(receiver, amount);
|
|
65
|
-
}
|
|
66
|
-
return this.getTransferJettonConfig(tokenAddress, walletAddress, receiver, amount);
|
|
67
|
-
}
|
|
68
|
-
async getTransferNativeConfig(receiver, amount) {
|
|
69
|
-
const transferAmount = BigInt(amount);
|
|
70
|
-
const encodeConfig = {
|
|
71
|
-
address: receiver,
|
|
72
|
-
amount: transferAmount.toString()
|
|
73
|
-
};
|
|
74
|
-
return encodeConfig;
|
|
75
|
-
}
|
|
76
|
-
async getTransferJettonConfig(tokenAddress, walletAddress, receiver, amount) {
|
|
77
|
-
const fromAddress = ton_1.Address.parse(walletAddress);
|
|
78
|
-
const contractAddress = ton_1.Address.parse(tokenAddress);
|
|
79
|
-
const transferAmount = BigInt(amount);
|
|
80
|
-
const receiverAddress = ton_1.Address.parse(receiver);
|
|
81
|
-
const jettonWalletAddress = await this.getWalletAddress(fromAddress, contractAddress);
|
|
82
|
-
const body = (0, ton_1.beginCell)()
|
|
83
|
-
.storeUint(0xf8a7ea5, 32)
|
|
84
|
-
.storeUint(0, 64)
|
|
85
|
-
.storeCoins(transferAmount)
|
|
86
|
-
.storeAddress(receiverAddress)
|
|
87
|
-
.storeAddress(receiverAddress)
|
|
88
|
-
.storeBit(0)
|
|
89
|
-
.storeCoins((0, ton_1.toNano)('0.02'))
|
|
90
|
-
.storeBit(0)
|
|
91
|
-
.endCell();
|
|
92
|
-
const encodeConfig = {
|
|
93
|
-
address: jettonWalletAddress.toRawString(),
|
|
94
|
-
amount: (0, ton_1.toNano)('0.05').toString(),
|
|
95
|
-
payload: body.toBoc().toString('base64')
|
|
96
|
-
};
|
|
97
|
-
return encodeConfig;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
exports.TonAdapter = TonAdapter;
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import BigNumber from 'bignumber.js';
|
|
2
|
-
import { AbstractAdapter } from './abstract-adapter';
|
|
3
|
-
import { TronWeb } from 'tronweb';
|
|
4
|
-
import { ICustomLogger, PriceTokenAmount, Token, TokenAmount, TronBlockchainName } from '@cryptorubic/core';
|
|
5
|
-
import { TronTransactionConfig } from '../../utils/models/tron-transaction-config';
|
|
6
|
-
import { TronParameters } from '../../utils/models/tron-parameters';
|
|
7
|
-
import { Abi } from 'viem';
|
|
8
|
-
import { ApproveAdapter } from './models/approve-adapter';
|
|
9
|
-
import { AllowanceInfo } from './models/common-types';
|
|
10
|
-
import { ContractMulticallResponse } from '../../utils/models/contract-multicall-response';
|
|
11
|
-
import { TronWeb3PrimitiveType } from '../../utils/models/primitive-types';
|
|
12
|
-
import { MethodData } from '../../utils/models/method-data';
|
|
13
|
-
export declare class TronAdapter extends AbstractAdapter<TronWeb, TronWeb, TronBlockchainName> implements ApproveAdapter<TronTransactionConfig> {
|
|
14
|
-
private readonly multicallAddress;
|
|
15
|
-
needPreswapAction(token: TokenAmount, contractAddress: string, walletAddress: string, amount: string): Promise<boolean>;
|
|
16
|
-
constructor(rpcList: string[], logger?: ICustomLogger);
|
|
17
|
-
checkEnoughBalance(token: TokenAmount | PriceTokenAmount, walletAddress: string): Promise<boolean>;
|
|
18
|
-
multicallContractsMethods<Output extends TronWeb3PrimitiveType>(contractAbi: any, contractsData: {
|
|
19
|
-
contractAddress: string;
|
|
20
|
-
methodsData: MethodData[];
|
|
21
|
-
}[]): Promise<ContractMulticallResponse<any>[][]>;
|
|
22
|
-
private multicall;
|
|
23
|
-
read<T>(contractAddress: string, contractAbi: any, methodName: string, methodArguments?: unknown[]): Promise<T>;
|
|
24
|
-
private multicallContractsMethodsByOne;
|
|
25
|
-
getTokensBalances(userAddress: string, tokensAddresses: string[]): Promise<BigNumber[]>;
|
|
26
|
-
callForTokensInfo(tokenAddresses: string[] | ReadonlyArray<string>): Promise<Token[]>;
|
|
27
|
-
getBalance(userAddress: string, tokenAddress?: string): Promise<BigNumber>;
|
|
28
|
-
getTokenBalance(userAddress: string, tokenAddress: string): Promise<BigNumber>;
|
|
29
|
-
convertTronAddressToHex(address: string): Promise<string>;
|
|
30
|
-
static encodeMethodCall(contractAddress: string, contractAbi: Abi, methodName: string, methodArguments: TronParameters, callValue?: string, feeLimit?: number): TronTransactionConfig;
|
|
31
|
-
private static flattenTypesToString;
|
|
32
|
-
needApprove(from: TokenAmount | PriceTokenAmount, walletAddress: string, spender: string): Promise<boolean>;
|
|
33
|
-
encodeApprove(tokenAddress: string, spenderAddress: string, amount?: string): TronTransactionConfig;
|
|
34
|
-
getAllowance(fromTokenAddress: string, walletAddress: string, spender: string): Promise<AllowanceInfo>;
|
|
35
|
-
write(contractAddress: string, methodSignature: string, parameters: TronParameters): Promise<string>;
|
|
36
|
-
approve(fromAddress: string, tokenAddress: string, spenderAddress: string, amount?: string): Promise<string>;
|
|
37
|
-
}
|
|
File without changes
|
|
File without changes
|
/package/src/lib/adapter/adapters/models/{gas-price.d.ts → evm-web3-public-models/gas-price.d.ts}
RENAMED
|
File without changes
|