@cryptorubic/web3 0.0.3 → 0.0.4

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": "0.0.3",
3
+ "version": "0.0.4",
4
4
  "dependencies": {
5
5
  "tslib": "^2.3.0"
6
6
  },
@@ -1,6 +1,7 @@
1
1
  import { Abi, MulticallResponse, MulticallParameters, PublicActions, PublicClient, WalletClient, WalletActions } from 'viem';
2
2
  import { AbstractAdapter } from './abstract-adapter';
3
- import { EvmBlockchainName, ICustomLogger, Token, TokenAmount } from '@cryptorubic/core';
3
+ import { EvmBlockchainName, ICustomLogger, Token, TokenAmount, PriceTokenAmount } from '@cryptorubic/core';
4
+ import BigNumber from "bignumber.js";
4
5
  import { EvmAdapterOptions } from "./models/evm-adapter-options";
5
6
  import { EvmTransactionConfig } from "../../utils/models/evm-transaction-config";
6
7
  export declare class EvmAdapter extends AbstractAdapter<PublicActions & PublicClient, WalletClient & WalletActions, EvmBlockchainName> {
@@ -17,4 +18,12 @@ export declare class EvmAdapter extends AbstractAdapter<PublicActions & PublicCl
17
18
  simulateTransaction(config: EvmTransactionConfig, from: string): Promise<void>;
18
19
  callForTokensInfo(tokenAddresses: string[] | ReadonlyArray<string>): Promise<Token<EvmBlockchainName>[]>;
19
20
  getGasPrice(): Promise<string>;
21
+ checkEnoughBalance(token: TokenAmount | PriceTokenAmount, walletAddress: string, amount?: BigNumber): Promise<boolean>;
22
+ /**
23
+ * @param walletAddress
24
+ * @param tokenAddress
25
+ * @returns wei amount
26
+ */
27
+ getBalance(walletAddress: string, tokenAddress?: string): Promise<BigNumber>;
28
+ getTransactionCount(walletAddress: string): Promise<number>;
20
29
  }
@@ -203,6 +203,32 @@ class EvmAdapter extends abstract_adapter_1.AbstractAdapter {
203
203
  const bigIntGas = await this.public.getGasPrice();
204
204
  return String(bigIntGas);
205
205
  }
206
+ async checkEnoughBalance(token, walletAddress, amount = token.tokenAmount) {
207
+ const weiBalance = await this.getBalance(walletAddress, token.isNative ? undefined : token.address);
208
+ const balance = core_1.Token.fromWei(weiBalance, token.decimals);
209
+ return balance.gte(amount);
210
+ }
211
+ /**
212
+ * @param walletAddress
213
+ * @param tokenAddress
214
+ * @returns wei amount
215
+ */
216
+ async getBalance(walletAddress, tokenAddress) {
217
+ if (!tokenAddress) {
218
+ const nativeBalance = await this.public.getBalance({
219
+ address: walletAddress
220
+ });
221
+ return new bignumber_js_1.default(nativeBalance.toString());
222
+ }
223
+ const tokenBalance = await this.read(tokenAddress, erc20_token_abi_1.erc20TokenAbi, 'balanceOf', [walletAddress]);
224
+ return new bignumber_js_1.default(tokenBalance);
225
+ }
226
+ async getTransactionCount(walletAddress) {
227
+ const transactionCount = await this.public?.getTransactionCount({
228
+ address: walletAddress
229
+ });
230
+ return transactionCount ?? 0;
231
+ }
206
232
  }
207
233
  exports.EvmAdapter = EvmAdapter;
208
234
  //# sourceMappingURL=evm-adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"evm-adapter.js","sourceRoot":"","sources":["../../../../../../../packages/web3/src/lib/adapter/adapters/evm-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evm-adapter.js","sourceRoot":"","sources":["../../../../../../../packages/web3/src/lib/adapter/adapters/evm-adapter.ts"],"names":[],"mappings":"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"}