@cryptorubic/web3 1.0.0-alpha.no-sdk.21 → 1.0.0-alpha.no-sdk.23

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cryptorubic/web3",
3
- "version": "1.0.0-alpha.no-sdk.21",
3
+ "version": "1.0.0-alpha.no-sdk.23",
4
4
  "dependencies": {
5
5
  "@ethersproject/bignumber": "^5.8.0",
6
6
  "@mysten/sui": "^1.24.0",
@@ -12,6 +12,7 @@ import { MethodData } from '../models/web3-public-models/method-data';
12
12
  export declare class BitcoinAdapter extends AbstractAdapter<BtcWallet, BtcWallet, BitcoinBlockchainName> {
13
13
  private readonly httpClient;
14
14
  readonly client: BitcoinAdapterClient;
15
+ get public(): BtcWallet;
15
16
  constructor(httpClient: HttpClient, logger?: ICustomLogger, clientParams?: ClientAdaptersFactoryParams);
16
17
  callContractMethod<T extends Web3PrimitiveType = string>(): Promise<T>;
17
18
  getBalance(userAddress: string, _tokenAddress?: string): Promise<BigNumber>;
@@ -6,6 +6,9 @@ const bignumber_js_1 = require("bignumber.js");
6
6
  const abstract_adapter_1 = require("../common/abstract-adapter");
7
7
  const bitcoin_adapter_client_1 = require("./client/bitcoin-adapter-client");
8
8
  class BitcoinAdapter extends abstract_adapter_1.AbstractAdapter {
9
+ get public() {
10
+ throw new Error('public property is not set in BitcoinAdapter.');
11
+ }
9
12
  constructor(httpClient, logger, clientParams) {
10
13
  super(core_1.BLOCKCHAIN_NAME.BITCOIN, logger);
11
14
  this.httpClient = httpClient;
@@ -7,12 +7,12 @@ import { TonConnectUI } from '@tonconnect/ui';
7
7
  import { BasicSendTransactionOptions } from '../../models/basic-transaction-options';
8
8
  import { Address } from '@ton/core';
9
9
  import { TonApiService } from '../services/ton-api.service';
10
- import { TonAdapterConfig } from '../../models/ton-adapter-config';
10
+ import { TonClient } from '@ton/ton';
11
11
  import { TonTransactionConfig } from '../../../../utils/models/ton-transaction-config';
12
12
  export declare class TonAdapterClient extends AbstractAdapterClient<TonConnectUI, TonSendTxParams, string> {
13
13
  private readonly tonApi;
14
14
  private readonly tonClient;
15
- constructor(tonApi: TonApiService, config: TonAdapterConfig, httpClient: HttpClient, logger?: ICustomLogger, clientParams?: ClientAdaptersFactoryParams);
15
+ constructor(tonApi: TonApiService, tonClient: TonClient, httpClient: HttpClient, logger?: ICustomLogger, clientParams?: ClientAdaptersFactoryParams);
16
16
  read<T>(): Promise<T>;
17
17
  write<T>(): Promise<T>;
18
18
  getBlockchainName(): Promise<BlockchainName>;
@@ -9,12 +9,11 @@ const rubic_sdk_error_1 = require("../../../../errors/rubic-sdk.error");
9
9
  const errors_1 = require("../../utils/errors");
10
10
  const core_2 = require("@ton/core");
11
11
  const waitFor_1 = require("../../utils/waitFor");
12
- const ton_1 = require("@ton/ton");
13
12
  class TonAdapterClient extends abstract_adapter_client_1.AbstractAdapterClient {
14
- constructor(tonApi, config, httpClient, logger, clientParams) {
13
+ constructor(tonApi, tonClient, httpClient, logger, clientParams) {
15
14
  super(httpClient, logger, clientParams);
16
15
  this.tonApi = tonApi;
17
- this.tonClient = new ton_1.TonClient(config.tonClientConfig);
16
+ this.tonClient = tonClient;
18
17
  }
19
18
  async read() {
20
19
  throw new Error('Method read is not supported');
@@ -12,7 +12,8 @@ class TonAdapter extends abstract_adapter_1.AbstractAdapter {
12
12
  constructor(httpClient, config, logger, clientParams) {
13
13
  super(core_1.BLOCKCHAIN_NAME.TON, logger);
14
14
  this.tonApi = new ton_api_service_1.TonApiService(httpClient, config.tonApiConfig, logger);
15
- this.client = new ton_adapter_client_1.TonAdapterClient(this.tonApi, config, httpClient, logger, clientParams);
15
+ this.public = new ton_1.TonClient(config.tonClientConfig);
16
+ this.client = new ton_adapter_client_1.TonAdapterClient(this.tonApi, this.public, httpClient, logger, clientParams);
16
17
  }
17
18
  async callContractMethod() {
18
19
  throw new Error('Method call is not supported');
@@ -15,7 +15,7 @@ export declare class TronAdapterClient extends AbstractAdapterClient<TronWeb, Tr
15
15
  read<T>(contractAddress: string, contractAbi: any, methodName: string, methodArguments?: unknown[]): Promise<T>;
16
16
  write(contractAddress: string, methodSignature: string, parameters: TronParameters): Promise<string>;
17
17
  getBlockchainName(): Promise<BlockchainName>;
18
- getAllowance(fromTokenAddress: string, walletAddress: string, spender: string): Promise<AllowanceInfo>;
18
+ getAllowance(fromTokenAddress: string, _walletAddress: string, spender: string): Promise<AllowanceInfo>;
19
19
  needApprove(from: TokenAmount, walletAddress: string, spender: string): Promise<boolean>;
20
20
  approveTokens(tokenAddress: string, spenderAddress: string, amount?: BigNumber | 'infinity', options?: TronTransactionOptions): Promise<string>;
21
21
  encodeApprove(tokenAddress: string, spenderAddress: string, amount?: string): TronTransactionConfig;
@@ -30,9 +30,8 @@ class TronAdapterClient extends abstract_adapter_client_1.AbstractAdapterClient
30
30
  getBlockchainName() {
31
31
  return Promise.resolve(core_1.BLOCKCHAIN_NAME.TRON);
32
32
  }
33
- async getAllowance(fromTokenAddress, walletAddress, spender) {
34
- const [contract, decimals, allowance] = await Promise.all([
35
- this.tronWeb.contract(trc_20_contract_abi_1.TRC20_CONTRACT_ABI, fromTokenAddress),
33
+ async getAllowance(fromTokenAddress, _walletAddress, spender) {
34
+ const [decimals, allowance] = await Promise.all([
36
35
  this.read(fromTokenAddress, trc_20_contract_abi_1.TRC20_CONTRACT_ABI, 'decimals'),
37
36
  this.read(fromTokenAddress, trc_20_contract_abi_1.TRC20_CONTRACT_ABI, 'allowance', [spender])
38
37
  ]);
@@ -14,7 +14,9 @@ export declare class TronAdapter extends AbstractAdapter<TronWeb, TronWeb, TronB
14
14
  readonly client: TronAdapterClient;
15
15
  private readonly multicallAddress;
16
16
  needPreswapAction(): Promise<boolean>;
17
- constructor(rpcList: string[], httpClient: HttpClient, logger?: ICustomLogger, clientParams?: ClientAdaptersFactoryParams);
17
+ constructor(rpcList: (string | {
18
+ fullHost: string;
19
+ })[], httpClient: HttpClient, logger?: ICustomLogger, clientParams?: ClientAdaptersFactoryParams);
18
20
  callContractMethod<T extends Web3PrimitiveType = string>(contractAddress: string, contractAbi: Abi, methodName: string, methodArguments?: unknown[]): Promise<T>;
19
21
  getTokensBalances(userAddress: string, tokensAddresses: string[]): Promise<BigNumber[]>;
20
22
  multicallContractsMethods<Output extends TronWeb3PrimitiveType>(contractAbi: any, contractsData: {
@@ -17,7 +17,8 @@ class TronAdapter extends abstract_adapter_1.AbstractAdapter {
17
17
  constructor(rpcList, httpClient, logger, clientParams) {
18
18
  super(core_1.BLOCKCHAIN_NAME.TRON, logger);
19
19
  this.multicallAddress = 'T9ziQU4EBteJzjzMzhHELdhgWFqwzS5Vki';
20
- this.public = new tronweb_1.TronWeb({ fullHost: rpcList[0] });
20
+ const rpc = typeof rpcList[0] === 'string' ? rpcList[0] : rpcList[0].fullHost;
21
+ this.public = new tronweb_1.TronWeb({ fullHost: rpc });
21
22
  this.client = new tron_adapter_client_1.TronAdapterClient(this.public, httpClient, logger, clientParams);
22
23
  }
23
24
  async callContractMethod(contractAddress, contractAbi, methodName, methodArguments = []) {
@@ -10,36 +10,12 @@ class AbstractAdapter {
10
10
  }
11
11
  get public() {
12
12
  if (!this._public) {
13
- const msg = 'Trying to access undefined client';
13
+ const msg = `Trying to access undefined public client in ${this.blockchain} adapter.`;
14
14
  this.logger?.customLog(msg);
15
15
  throw new Error(msg);
16
16
  }
17
17
  return this._public;
18
18
  }
19
- // private _wallet: W | null = null;
20
- // public set wallet(value: W | null) {
21
- // this._wallet = value;
22
- // }
23
- // public get wallet(): W {
24
- // if (!this._wallet) {
25
- // const msg = 'Trying to access undefined client';
26
- // this.logger?.customLog(msg);
27
- // throw new Error(msg);
28
- // }
29
- // return this._wallet;
30
- // }
31
- // private _walletAddress: string | null = null;
32
- // public set walletAddress(value: string | null) {
33
- // this._walletAddress = value;
34
- // }
35
- // public get walletAddress(): string {
36
- // if (!this._walletAddress) {
37
- // const msg = 'Trying to access undefined walletAddress';
38
- // this.logger?.customLog(msg);
39
- // throw new Error(msg);
40
- // }
41
- // return this._walletAddress;
42
- // }
43
19
  constructor(blockchain, logger) {
44
20
  this._public = null;
45
21
  this.blockchain = blockchain;
@@ -58,7 +58,7 @@ class BlockchainAdapterFactoryService {
58
58
  return store;
59
59
  }
60
60
  createAdapter(blockchain, rpcs) {
61
- if (rpcs.length > 0 && typeof rpcs[0] === 'string') {
61
+ if (rpcs.length > 0) {
62
62
  const blockchainType = core_1.BlockchainsInfo.getChainType(blockchain);
63
63
  if (blockchainType === core_1.CHAIN_TYPE.EVM) {
64
64
  if (viem_blockchain_mapping_1.viemBlockchainMapping?.[blockchain]) {
@@ -1,10 +1,10 @@
1
- import { BitcoinBlockchainName, EvmBlockchainName, HttpClient, ICustomLogger, SolanaBlockchainName, SuiBlockchainName, TonBlockchainName, TronBlockchainName } from '@cryptorubic/core';
1
+ import { EvmBlockchainName, HttpClient, ICustomLogger, SolanaBlockchainName, SuiBlockchainName, TronBlockchainName } from '@cryptorubic/core';
2
2
  import { EnvType } from '../constants/models/env-type';
3
3
  import { TronWebProvider } from '../adapters/adapter-tron/models/tron-web-provider';
4
4
  import { TonAdapterConfig } from '../adapters/models/ton-adapter-config';
5
- export type RpcSupportedBlockhainName = Record<EvmBlockchainName, string[]> & Record<TronBlockchainName, TronWebProvider[]> & Record<SolanaBlockchainName, string[]> & Record<TonBlockchainName, string[]> & Record<BitcoinBlockchainName, string[]> & Record<SuiBlockchainName, string[]>;
5
+ export type RpcListType = Record<EvmBlockchainName, string[]> & Record<TronBlockchainName, TronWebProvider[]> & Record<SolanaBlockchainName, string[]> & Record<SuiBlockchainName, string[]>;
6
6
  export interface AdapterFactoryParams {
7
- rpcList: RpcSupportedBlockhainName;
7
+ rpcList: RpcListType;
8
8
  httpClient?: HttpClient;
9
9
  tonParams?: TonAdapterConfig;
10
10
  createLogger?: (label: string) => ICustomLogger;