@cryptorubic/web3 1.0.0-alpha.no-sdk.4.1-test → 1.0.0-alpha.no-sdk.6
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 +1 -1
- package/src/lib/adapter/adapters/adapter-bitcoin/bitcoin-adapter.d.ts +1 -0
- package/src/lib/adapter/adapters/adapter-bitcoin/bitcoin-adapter.js +3 -0
- package/src/lib/adapter/adapters/adapter-evm/evm-adapter.d.ts +6 -0
- package/src/lib/adapter/adapters/adapter-evm/evm-adapter.js +9 -0
- package/src/lib/adapter/adapters/adapter-solana/solana-adapter.d.ts +1 -0
- package/src/lib/adapter/adapters/adapter-solana/solana-adapter.js +3 -0
- package/src/lib/adapter/adapters/adapter-sui/sui-adapter.d.ts +1 -0
- package/src/lib/adapter/adapters/adapter-sui/sui-adapter.js +3 -0
- package/src/lib/adapter/adapters/adapter-ton/ton-adapter.d.ts +1 -0
- package/src/lib/adapter/adapters/adapter-ton/ton-adapter.js +3 -0
- package/src/lib/adapter/adapters/adapter-tron/tron-adapter.d.ts +2 -1
- package/src/lib/adapter/adapters/adapter-tron/tron-adapter.js +6 -0
- package/src/lib/adapter/adapters/common/abstract-adapter.d.ts +9 -0
package/package.json
CHANGED
|
@@ -13,6 +13,7 @@ export declare class BitcoinAdapter extends AbstractAdapter<BtcWallet, BtcWallet
|
|
|
13
13
|
private readonly httpClient;
|
|
14
14
|
readonly client: BitcoinAdapterClient;
|
|
15
15
|
constructor(httpClient: HttpClient, logger?: ICustomLogger, rubicAppParams?: RubicAppAdaptersFactoryParams);
|
|
16
|
+
callContractMethod<T extends Web3PrimitiveType = string>(): Promise<T>;
|
|
16
17
|
getBalance(userAddress: string): Promise<BigNumber>;
|
|
17
18
|
getTokensBalances(userAddress: string, tokensAddresses: string[]): Promise<BigNumber[]>;
|
|
18
19
|
multicallContractsMethods<Output extends Web3PrimitiveType>(contractAbi: Abi, contractsData: {
|
|
@@ -11,6 +11,9 @@ class BitcoinAdapter extends abstract_adapter_1.AbstractAdapter {
|
|
|
11
11
|
this.httpClient = httpClient;
|
|
12
12
|
this.client = new bitcoin_adapter_client_1.BitcoinAdapterClient(httpClient, logger, rubicAppParams);
|
|
13
13
|
}
|
|
14
|
+
callContractMethod() {
|
|
15
|
+
throw new Error('Method not implemented.');
|
|
16
|
+
}
|
|
14
17
|
async getBalance(userAddress) {
|
|
15
18
|
const url = `https://api.blockcypher.com/v1/btc/main/addrs/${userAddress}/balance`;
|
|
16
19
|
const response = await this.httpClient.get(url);
|
|
@@ -15,6 +15,12 @@ export declare class EvmAdapter extends AbstractAdapter<PublicActions & PublicCl
|
|
|
15
15
|
needPreswapAction(token: TokenAmount, contractAddress: string, walletAddress: string, amount: string): Promise<boolean>;
|
|
16
16
|
handlePreswap(contractAddress: string, walletAddress: string, tokenAmount: TokenAmount): Promise<void>;
|
|
17
17
|
constructor(httpClient: HttpClient, adapterOptions: EvmAdapterOptions, logger?: ICustomLogger, rubicAppParams?: RubicAppAdaptersFactoryParams);
|
|
18
|
+
callContractMethod<T extends Web3PrimitiveType = string>(contractAddress: string, contractAbi: Abi, methodName: string, methodArguments?: unknown[], options?: {
|
|
19
|
+
from?: string;
|
|
20
|
+
value?: string;
|
|
21
|
+
gasPrice?: string;
|
|
22
|
+
gas?: string;
|
|
23
|
+
}): Promise<T>;
|
|
18
24
|
getTokensBalances(userAddress: string, tokensAddresses: string[]): Promise<BigNumber[]>;
|
|
19
25
|
multicallContractsMethods<Output extends Web3PrimitiveType>(contractAbi: Abi, contractsData: {
|
|
20
26
|
contractAddress: string;
|
|
@@ -30,6 +30,15 @@ class EvmAdapter extends abstract_adapter_1.AbstractAdapter {
|
|
|
30
30
|
this.public = this.createPublicClient(adapterOptions.rpcList);
|
|
31
31
|
this.client = new evm_adapter_client_1.EvmAdapterClient(this, httpClient, logger, rubicAppParams);
|
|
32
32
|
}
|
|
33
|
+
async callContractMethod(contractAddress, contractAbi, methodName, methodArguments = [], options = {}) {
|
|
34
|
+
return this.public.readContract({
|
|
35
|
+
abi: contractAbi,
|
|
36
|
+
address: contractAddress,
|
|
37
|
+
functionName: methodName,
|
|
38
|
+
args: methodArguments,
|
|
39
|
+
...(options.from && { account: options.from })
|
|
40
|
+
});
|
|
41
|
+
}
|
|
33
42
|
async getTokensBalances(userAddress, tokensAddresses) {
|
|
34
43
|
const indexOfNativeCoin = tokensAddresses.findIndex((tokenAddress) => web3_pure_1.Web3Pure.isNativeAddress('ETH', tokenAddress));
|
|
35
44
|
const promises = [];
|
|
@@ -14,6 +14,7 @@ export declare class SolanaAdapter extends AbstractAdapter<Connection, SolanaWeb
|
|
|
14
14
|
private readonly httpClient;
|
|
15
15
|
readonly client: SolanaAdapterClient;
|
|
16
16
|
constructor(rpcList: string[], httpClient: HttpClient, logger?: ICustomLogger, rubicAppParams?: RubicAppAdaptersFactoryParams);
|
|
17
|
+
callContractMethod<T extends Web3PrimitiveType = string>(): Promise<T>;
|
|
17
18
|
/**
|
|
18
19
|
* Gets balance of multiple tokens.
|
|
19
20
|
* @param address Wallet address.
|
|
@@ -19,6 +19,9 @@ class SolanaAdapter extends abstract_adapter_1.AbstractAdapter {
|
|
|
19
19
|
this.public = this.createConection(rpcList);
|
|
20
20
|
this.client = new solana_adapter_client_1.SolanaAdapterClient(this.public, httpClient, logger, rubicAppParams);
|
|
21
21
|
}
|
|
22
|
+
async callContractMethod() {
|
|
23
|
+
throw new Error('Method call is not supported');
|
|
24
|
+
}
|
|
22
25
|
/**
|
|
23
26
|
* Gets balance of multiple tokens.
|
|
24
27
|
* @param address Wallet address.
|
|
@@ -11,6 +11,7 @@ import { ContractMulticallResponse } from '../models/web3-public-models/contract
|
|
|
11
11
|
export declare class SuiAdapter extends AbstractAdapter<SuiClient, WalletAdapter, SuiBlockchainName> {
|
|
12
12
|
readonly client: SuiAdapterClient;
|
|
13
13
|
constructor(rpcList: string[], httpClient: HttpClient, logger?: ICustomLogger, rubicAppParams?: RubicAppAdaptersFactoryParams);
|
|
14
|
+
callContractMethod<T extends Web3PrimitiveType = string>(): Promise<T>;
|
|
14
15
|
getTokensBalances(userAddress: string, tokensAddresses: string[]): Promise<BigNumber[]>;
|
|
15
16
|
multicallContractsMethods<Output extends Web3PrimitiveType>(): Promise<ContractMulticallResponse<Output>[][]>;
|
|
16
17
|
getBlockNumber(): Promise<number | {
|
|
@@ -13,6 +13,9 @@ class SuiAdapter extends abstract_adapter_1.AbstractAdapter {
|
|
|
13
13
|
this.public = new client_1.SuiClient({ url: rpcList[0] });
|
|
14
14
|
this.client = new sui_adapter_client_1.SuiAdapterClient(this.public, httpClient, logger, rubicAppParams);
|
|
15
15
|
}
|
|
16
|
+
async callContractMethod() {
|
|
17
|
+
throw new Error('Method call is not supported');
|
|
18
|
+
}
|
|
16
19
|
async getTokensBalances(userAddress, tokensAddresses) {
|
|
17
20
|
const allUserTokens = await this.public.getAllBalances({ owner: userAddress });
|
|
18
21
|
return tokensAddresses.map((address) => {
|
|
@@ -13,6 +13,7 @@ export declare class TonAdapter extends AbstractAdapter<TonClient, TonConnectUI,
|
|
|
13
13
|
readonly client: TonAdapterClient;
|
|
14
14
|
private readonly tonApi;
|
|
15
15
|
constructor(httpClient: HttpClient, config: TonAdapterConfig, logger?: ICustomLogger, rubicAppParams?: RubicAppAdaptersFactoryParams);
|
|
16
|
+
callContractMethod<T extends Web3PrimitiveType = string>(): Promise<T>;
|
|
16
17
|
getTokensBalances(userAddress: string, tokensAddresses: string[]): Promise<BigNumber[]>;
|
|
17
18
|
multicallContractsMethods<Output extends Web3PrimitiveType>(): Promise<ContractMulticallResponse<Output>[][]>;
|
|
18
19
|
getBlockNumber(): Promise<number | {
|
|
@@ -14,6 +14,9 @@ class TonAdapter extends abstract_adapter_1.AbstractAdapter {
|
|
|
14
14
|
this.tonApi = new ton_api_service_1.TonApiService(httpClient, config.tonApiConfig, logger);
|
|
15
15
|
this.client = new ton_adapter_client_1.TonAdapterClient(this.tonApi, config, httpClient, logger, rubicAppParams);
|
|
16
16
|
}
|
|
17
|
+
async callContractMethod() {
|
|
18
|
+
throw new Error('Method call is not supported');
|
|
19
|
+
}
|
|
17
20
|
async getTokensBalances(userAddress, tokensAddresses) {
|
|
18
21
|
const tokensWithBalance = await this.tonApi.fetchAllNonNullableTokensInfoForWallet(userAddress);
|
|
19
22
|
const nativeIndex = tokensAddresses.findIndex((tokenAddress) => web3_pure_1.Web3Pure.isNativeAddress('TON', tokenAddress));
|
|
@@ -6,7 +6,7 @@ import { TronTransactionConfig } from '../../../utils/models/tron-transaction-co
|
|
|
6
6
|
import { TronParameters } from '../../../utils/models/tron-parameters';
|
|
7
7
|
import { Abi } from 'viem';
|
|
8
8
|
import { ContractMulticallResponse } from '../../../utils/models/contract-multicall-response';
|
|
9
|
-
import { TronWeb3PrimitiveType } from '../../../utils/models/primitive-types';
|
|
9
|
+
import { TronWeb3PrimitiveType, Web3PrimitiveType } from '../../../utils/models/primitive-types';
|
|
10
10
|
import { MethodData } from '../../../utils/models/method-data';
|
|
11
11
|
import { RubicAppAdaptersFactoryParams } from '../../constants/models/create-factory-params';
|
|
12
12
|
import { TronAdapterClient } from './client/tron-adapter-client';
|
|
@@ -15,6 +15,7 @@ export declare class TronAdapter extends AbstractAdapter<TronWeb, TronWeb, TronB
|
|
|
15
15
|
private readonly multicallAddress;
|
|
16
16
|
needPreswapAction(): Promise<boolean>;
|
|
17
17
|
constructor(rpcList: string[], httpClient: HttpClient, logger?: ICustomLogger, rubicAppParams?: RubicAppAdaptersFactoryParams);
|
|
18
|
+
callContractMethod<T extends Web3PrimitiveType = string>(contractAddress: string, contractAbi: Abi, methodName: string, methodArguments?: unknown[]): Promise<T>;
|
|
18
19
|
getTokensBalances(userAddress: string, tokensAddresses: string[]): Promise<BigNumber[]>;
|
|
19
20
|
multicallContractsMethods<Output extends TronWeb3PrimitiveType>(contractAbi: any, contractsData: {
|
|
20
21
|
contractAddress: string;
|
|
@@ -20,6 +20,12 @@ class TronAdapter extends abstract_adapter_1.AbstractAdapter {
|
|
|
20
20
|
this.public = new tronweb_1.TronWeb({ fullHost: rpcList[0] });
|
|
21
21
|
this.client = new tron_adapter_client_1.TronAdapterClient(this, httpClient, logger, rubicAppParams);
|
|
22
22
|
}
|
|
23
|
+
async callContractMethod(contractAddress, contractAbi, methodName, methodArguments = []) {
|
|
24
|
+
this.public.setAddress(contractAddress);
|
|
25
|
+
const contract = await this.public.contract(contractAbi, contractAddress);
|
|
26
|
+
const response = await contract[methodName](...methodArguments).call();
|
|
27
|
+
return tron_web3_pure_1.TronWeb3Pure.flattenParameterToPrimitive(response);
|
|
28
|
+
}
|
|
23
29
|
async getTokensBalances(userAddress, tokensAddresses) {
|
|
24
30
|
const indexOfNativeCoin = tokensAddresses.findIndex((address) => web3_pure_1.Web3Pure.isNativeAddress(core_1.CHAIN_TYPE.TRON, address));
|
|
25
31
|
const promises = [];
|
|
@@ -16,6 +16,15 @@ export declare abstract class AbstractAdapter<P, W, B extends BlockchainName, Se
|
|
|
16
16
|
abstract getTokensBalances(userAddress: string, tokensAddresses: string[]): Promise<BigNumber[]>;
|
|
17
17
|
abstract checkEnoughBalance(token: TokenAmount, walletAddress: string): Promise<boolean>;
|
|
18
18
|
abstract callForTokensInfo(tokenAddresses: string[] | ReadonlyArray<string>): Promise<Token<BlockchainName>[]>;
|
|
19
|
+
/**
|
|
20
|
+
* Calls pure method of smart-contract and returns its output value.
|
|
21
|
+
* @param contractAddress Address of smart-contract which method is to be executed.
|
|
22
|
+
* @param contractAbi Abi of smart-contract which method is to be executed.
|
|
23
|
+
* @param methodName Called method name.
|
|
24
|
+
* @param methodArguments Method arguments.
|
|
25
|
+
* @param options Transaction options.
|
|
26
|
+
*/
|
|
27
|
+
abstract callContractMethod<T extends Web3PrimitiveType = string>(contractAddress: string, contractAbi: Abi, methodName: string, methodArguments?: unknown[], options?: object): Promise<T>;
|
|
19
28
|
/**
|
|
20
29
|
* Gets token info by address.
|
|
21
30
|
* @param tokenAddress Address of token.
|