@andrewkimjoseph/celina-sdk 0.7.4 → 0.7.5

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.
@@ -5,6 +5,16 @@
5
5
  import { type Hex } from "viem";
6
6
  import type { CeloClientFactory } from "../clients/celo-client.js";
7
7
  import { type SerializedPreparedFlow } from "../types/prepared.js";
8
+ export type SendEstimateResult = {
9
+ network: "mainnet";
10
+ from: `0x${string}`;
11
+ to: `0x${string}`;
12
+ token: string;
13
+ amount: string;
14
+ gas: string | null;
15
+ insufficientBalance?: boolean;
16
+ message?: string;
17
+ };
8
18
  /** Token sends, gas fee reads, and `prepareSend` flows with CELINA calldata tags. */
9
19
  export declare class TransactionService {
10
20
  private readonly clientFactory;
@@ -16,16 +26,9 @@ export declare class TransactionService {
16
26
  * @param to - Recipient address
17
27
  * @param token - Symbol (e.g. `CELO`, `USDm`) or contract address
18
28
  * @param amount - Human-readable amount (e.g. `"10"`)
19
- * @returns Gas estimate in units as a decimal string
29
+ * @returns Gas estimate in units as a decimal string, or a structured insufficient-balance result when simulation reverts.
20
30
  */
21
- estimateSend(from: `0x${string}`, to: `0x${string}`, token: string, amount: string): Promise<{
22
- network: "mainnet";
23
- from: `0x${string}`;
24
- to: `0x${string}`;
25
- token: string;
26
- amount: string;
27
- gas: string;
28
- }>;
31
+ estimateSend(from: `0x${string}`, to: `0x${string}`, token: string, amount: string): Promise<SendEstimateResult>;
29
32
  /**
30
33
  * Build an unsigned send flow (native CELO or ERC-20 transfer).
31
34
  * @param from - Sender wallet address (must match connected wallet when signing)
@@ -8,6 +8,7 @@ import { CELINA_DATA_SUFFIX } from "../config/celina-tag.js";
8
8
  import { normalizeAddress } from "../utils/normalize-address.js";
9
9
  import { serializePreparedFlow, } from "../types/prepared.js";
10
10
  import { TokenService } from "./token.service.js";
11
+ import { insufficientBalanceEstimateMessage, isInsufficientBalanceSimulationError, } from "../utils/transaction-errors.js";
11
12
  function taggedCalldata(data) {
12
13
  return concat([data, CELINA_DATA_SUFFIX]);
13
14
  }
@@ -25,45 +26,51 @@ export class TransactionService {
25
26
  * @param to - Recipient address
26
27
  * @param token - Symbol (e.g. `CELO`, `USDm`) or contract address
27
28
  * @param amount - Human-readable amount (e.g. `"10"`)
28
- * @returns Gas estimate in units as a decimal string
29
+ * @returns Gas estimate in units as a decimal string, or a structured insufficient-balance result when simulation reverts.
29
30
  */
30
31
  async estimateSend(from, to, token, amount) {
31
32
  const { public: client } = this.clientFactory.getClients();
32
33
  const resolved = this.tokenService.resolveToken(token);
33
- if (resolved.address === "native") {
34
- const tokenAmount = parseEther(amount);
34
+ const base = {
35
+ network: "mainnet",
36
+ from,
37
+ to,
38
+ token: resolved.symbol,
39
+ amount,
40
+ };
41
+ try {
42
+ if (resolved.address === "native") {
43
+ const tokenAmount = parseEther(amount);
44
+ const gas = await client.estimateContractGas({
45
+ account: from,
46
+ address: MENTO_CELO_ADDRESS,
47
+ abi: erc20Abi,
48
+ functionName: "transfer",
49
+ args: [to, tokenAmount],
50
+ });
51
+ return { ...base, gas: gas.toString() };
52
+ }
53
+ const tokenAmount = this.tokenService.parseAmount(amount, resolved.decimals);
35
54
  const gas = await client.estimateContractGas({
36
55
  account: from,
37
- address: MENTO_CELO_ADDRESS,
56
+ address: resolved.address,
38
57
  abi: erc20Abi,
39
58
  functionName: "transfer",
40
59
  args: [to, tokenAmount],
41
60
  });
42
- return {
43
- network: "mainnet",
44
- from,
45
- to,
46
- token: resolved.symbol,
47
- amount,
48
- gas: gas.toString(),
49
- };
61
+ return { ...base, gas: gas.toString() };
62
+ }
63
+ catch (error) {
64
+ if (isInsufficientBalanceSimulationError(error)) {
65
+ return {
66
+ ...base,
67
+ gas: null,
68
+ insufficientBalance: true,
69
+ message: insufficientBalanceEstimateMessage(resolved.symbol),
70
+ };
71
+ }
72
+ throw error;
50
73
  }
51
- const tokenAmount = this.tokenService.parseAmount(amount, resolved.decimals);
52
- const gas = await client.estimateContractGas({
53
- account: from,
54
- address: resolved.address,
55
- abi: erc20Abi,
56
- functionName: "transfer",
57
- args: [to, tokenAmount],
58
- });
59
- return {
60
- network: "mainnet",
61
- from,
62
- to,
63
- token: resolved.symbol,
64
- amount,
65
- gas: gas.toString(),
66
- };
67
74
  }
68
75
  /**
69
76
  * Build an unsigned send flow (native CELO or ERC-20 transfer).
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.service.js","sourceRoot":"","sources":["../../src/services/transaction.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transaction.service.js","sourceRoot":"","sources":["../../src/services/transaction.service.ts"],"names":[],"mappings":"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"}
@@ -29,7 +29,6 @@ export const transactionToolDefinitions = [
29
29
  from: input.from,
30
30
  address: input.from,
31
31
  });
32
- await runtime.hooks?.beforePrepareSend?.({ sender, token, amount });
33
32
  const estimate = await runtime.celina.transaction.estimateSend(sender, address, token, amount);
34
33
  return ens ? { ...estimate, ens } : estimate;
35
34
  },
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../src/tools/domains/transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../src/tools/domains/transaction.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** True when a transfer gas simulation failed due to insufficient token balance. */
2
+ export declare function isInsufficientBalanceSimulationError(error: unknown): boolean;
3
+ export declare function insufficientBalanceEstimateMessage(token: string): string;
@@ -0,0 +1,17 @@
1
+ const INSUFFICIENT_BALANCE_PATTERNS = [
2
+ /transfer amount exceeds balance/i,
3
+ /erc20:\s*transfer amount exceeds balance/i,
4
+ /insufficient .+ balance/i,
5
+ /insufficient funds/i,
6
+ /exceeds balance/i,
7
+ ];
8
+ /** True when a transfer gas simulation failed due to insufficient token balance. */
9
+ export function isInsufficientBalanceSimulationError(error) {
10
+ const message = error instanceof Error ? error.message : typeof error === "string" ? error : "";
11
+ return INSUFFICIENT_BALANCE_PATTERNS.some((pattern) => pattern.test(message));
12
+ }
13
+ export function insufficientBalanceEstimateMessage(token) {
14
+ return (`Insufficient ${token}. Transfer simulation failed — gas cannot be estimated ` +
15
+ "without sufficient balance.");
16
+ }
17
+ //# sourceMappingURL=transaction-errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction-errors.js","sourceRoot":"","sources":["../../src/utils/transaction-errors.ts"],"names":[],"mappings":"AAAA,MAAM,6BAA6B,GAAG;IACpC,kCAAkC;IAClC,2CAA2C;IAC3C,0BAA0B;IAC1B,qBAAqB;IACrB,kBAAkB;CACnB,CAAC;AAEF,oFAAoF;AACpF,MAAM,UAAU,oCAAoC,CAAC,KAAc;IACjE,MAAM,OAAO,GACX,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAClF,OAAO,6BAA6B,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,KAAa;IAC9D,OAAO,CACL,gBAAgB,KAAK,yDAAyD;QAC9E,6BAA6B,CAC9B,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@andrewkimjoseph/celina-sdk",
3
- "version": "0.7.4",
3
+ "version": "0.7.5",
4
4
  "description": "Celina SDK — Celo mainnet reads and unsigned transaction preparation for frontend apps.",
5
5
  "type": "module",
6
6
  "sideEffects": false,