@andrewkimjoseph/celina-sdk 0.9.2 → 0.9.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/build/index.d.ts +4 -0
- package/build/index.js +4 -0
- package/build/index.js.map +1 -1
- package/build/preflight.d.ts +7 -0
- package/build/preflight.js +4 -0
- package/build/preflight.js.map +1 -0
- package/build/services/mento-fx.service.d.ts +2 -0
- package/build/services/mento-fx.service.js +2 -15
- package/build/services/mento-fx.service.js.map +1 -1
- package/build/utils/celo-fee-currency.d.ts +31 -0
- package/build/utils/celo-fee-currency.js +83 -0
- package/build/utils/celo-fee-currency.js.map +1 -0
- package/build/utils/erc20-allowance-storage.d.ts +10 -0
- package/build/utils/erc20-allowance-storage.js +36 -1
- package/build/utils/erc20-allowance-storage.js.map +1 -1
- package/build/utils/minipay.d.ts +2 -0
- package/build/utils/minipay.js +8 -0
- package/build/utils/minipay.js.map +1 -0
- package/build/utils/simulate-prepared-step.d.ts +17 -0
- package/build/utils/simulate-prepared-step.js +68 -0
- package/build/utils/simulate-prepared-step.js.map +1 -0
- package/package.json +6 -1
package/build/index.d.ts
CHANGED
|
@@ -88,3 +88,7 @@ export { resolveSelfSessionLinks, formatSelfSessionLinksDisplay, type SelfSessio
|
|
|
88
88
|
export { clearSelfSessionsForTests } from "./services/self-session-store.js";
|
|
89
89
|
export { flushCelinaAnalytics } from "./analytics/amplitude.js";
|
|
90
90
|
export { runWithAnalyticsWallet } from "./analytics/wallet-context.js";
|
|
91
|
+
export { isMiniPayBrowser } from "./utils/minipay.js";
|
|
92
|
+
export { MINIPAY_FEE_CURRENCIES, feeCurrencySymbol, resolveMiniPayFeeCurrency, type ResolveMiniPayFeeCurrencyOptions, } from "./utils/celo-fee-currency.js";
|
|
93
|
+
export { simulatePreparedStep, simulatePreparedStepWithFeeCurrency, type SimulatePreparedStepParams, } from "./utils/simulate-prepared-step.js";
|
|
94
|
+
export { parseTaggedErc20Approve, stripCelinaCalldataSuffix, type Erc20ApproveCall, } from "./utils/erc20-allowance-storage.js";
|
package/build/index.js
CHANGED
|
@@ -62,4 +62,8 @@ export { resolveSelfSessionLinks, formatSelfSessionLinksDisplay, } from "./utils
|
|
|
62
62
|
export { clearSelfSessionsForTests } from "./services/self-session-store.js";
|
|
63
63
|
export { flushCelinaAnalytics } from "./analytics/amplitude.js";
|
|
64
64
|
export { runWithAnalyticsWallet } from "./analytics/wallet-context.js";
|
|
65
|
+
export { isMiniPayBrowser } from "./utils/minipay.js";
|
|
66
|
+
export { MINIPAY_FEE_CURRENCIES, feeCurrencySymbol, resolveMiniPayFeeCurrency, } from "./utils/celo-fee-currency.js";
|
|
67
|
+
export { simulatePreparedStep, simulatePreparedStepWithFeeCurrency, } from "./utils/simulate-prepared-step.js";
|
|
68
|
+
export { parseTaggedErc20Approve, stripCelinaCalldataSuffix, } from "./utils/erc20-allowance-storage.js";
|
|
65
69
|
//# sourceMappingURL=index.js.map
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser-safe exports (no Node analytics / fs). Use in Celeste and other client bundles.
|
|
3
|
+
*/
|
|
4
|
+
export type { PreparedTx, SerializedPreparedFlow, } from "./types/prepared.js";
|
|
5
|
+
export { isMiniPayBrowser } from "./utils/minipay.js";
|
|
6
|
+
export { simulatePreparedStep, simulatePreparedStepWithFeeCurrency, type SimulatePreparedStepParams, } from "./utils/simulate-prepared-step.js";
|
|
7
|
+
export { feeCurrencySymbol, resolveMiniPayFeeCurrency, type ResolveMiniPayFeeCurrencyOptions, } from "./utils/celo-fee-currency.js";
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { isMiniPayBrowser } from "./utils/minipay.js";
|
|
2
|
+
export { simulatePreparedStep, simulatePreparedStepWithFeeCurrency, } from "./utils/simulate-prepared-step.js";
|
|
3
|
+
export { feeCurrencySymbol, resolveMiniPayFeeCurrency, } from "./utils/celo-fee-currency.js";
|
|
4
|
+
//# sourceMappingURL=preflight.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preflight.js","sourceRoot":"","sources":["../src/preflight.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EACL,oBAAoB,EACpB,mCAAmC,GAEpC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,iBAAiB,EACjB,yBAAyB,GAE1B,MAAM,8BAA8B,CAAC"}
|
|
@@ -9,6 +9,8 @@ export interface MentoFxParams {
|
|
|
9
9
|
/** Address receiving output tokens (default: `from`). */
|
|
10
10
|
recipient?: `0x${string}`;
|
|
11
11
|
}
|
|
12
|
+
/** Human-friendly amount for UI labels (handles raw base-unit integers). */
|
|
13
|
+
export declare function formatDisplayAmount(amount: string, decimals: number): string;
|
|
12
14
|
/** Mento FX quotes, gas estimates, and `prepareFx` flows on Celo mainnet. */
|
|
13
15
|
export declare class MentoFxService {
|
|
14
16
|
private readonly clientFactory;
|
|
@@ -25,7 +25,7 @@ function trimDisplayDecimals(value) {
|
|
|
25
25
|
return num.toLocaleString(undefined, { maximumSignificantDigits: 6 });
|
|
26
26
|
}
|
|
27
27
|
/** Human-friendly amount for UI labels (handles raw base-unit integers). */
|
|
28
|
-
function formatDisplayAmount(amount, decimals) {
|
|
28
|
+
export function formatDisplayAmount(amount, decimals) {
|
|
29
29
|
const trimmed = amount.trim();
|
|
30
30
|
const approx = trimmed.startsWith("~");
|
|
31
31
|
let numeric = approx ? trimmed.slice(1).trim() : trimmed;
|
|
@@ -44,20 +44,7 @@ function formatDisplayAmount(amount, decimals) {
|
|
|
44
44
|
// fall through
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
|
-
if (/^\d
|
|
48
|
-
try {
|
|
49
|
-
const human = formatUnits(BigInt(numeric), decimals);
|
|
50
|
-
const asNumber = Number(human);
|
|
51
|
-
if (Number.isFinite(asNumber) && asNumber >= 0 && asNumber < 1_000_000_000) {
|
|
52
|
-
numeric = trimDisplayDecimals(human);
|
|
53
|
-
return approx ? `~${numeric}` : numeric;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
catch {
|
|
57
|
-
// keep numeric as-is
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
47
|
+
if (/^\d+(?:\.\d+)?$/.test(numeric)) {
|
|
61
48
|
numeric = trimDisplayDecimals(numeric);
|
|
62
49
|
}
|
|
63
50
|
return approx ? `~${numeric}` : numeric;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mento-fx.service.js","sourceRoot":"","sources":["../../src/services/mento-fx.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mento-fx.service.js","sourceRoot":"","sources":["../../src/services/mento-fx.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type PublicClient } from "viem";
|
|
2
|
+
/**
|
|
3
|
+
* MiniPay gas currencies — never CELO.
|
|
4
|
+
* Balance checks use ERC-20 token addresses; eth_estimateGas / send use feeCurrency
|
|
5
|
+
* (CIP-64 adapters for 6-decimal USDT/USDC, token address for 18-decimal USDm).
|
|
6
|
+
*/
|
|
7
|
+
export declare const MINIPAY_FEE_CURRENCIES: readonly [{
|
|
8
|
+
readonly symbol: "USDT";
|
|
9
|
+
readonly token: "0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e";
|
|
10
|
+
readonly feeCurrency: "0x0e2a3e05bc9a16f5292a6170456a710cb89c6f72";
|
|
11
|
+
}, {
|
|
12
|
+
readonly symbol: "USDm";
|
|
13
|
+
readonly token: "0x765de816845861e75a25fca122bb6898b8b1282a";
|
|
14
|
+
readonly feeCurrency: "0x765de816845861e75a25fca122bb6898b8b1282a";
|
|
15
|
+
}, {
|
|
16
|
+
readonly symbol: "USDC";
|
|
17
|
+
readonly token: "0xceba9300f2b948710d2653dd7b07f33a8b32118c";
|
|
18
|
+
readonly feeCurrency: "0x2F25deB3848C207fc8E0c34035B3Ba7fC157602B";
|
|
19
|
+
}];
|
|
20
|
+
export type ResolveMiniPayFeeCurrencyOptions = {
|
|
21
|
+
isMiniPay?: boolean;
|
|
22
|
+
feeCurrency?: `0x${string}`;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Resolve the fee currency for eth_estimateGas simulation.
|
|
26
|
+
* MiniPay: highest stable balance (USDT tiebreak); no CELO fallback.
|
|
27
|
+
* Other hosts: same stable heuristic, then native CELO when no stable balance.
|
|
28
|
+
*/
|
|
29
|
+
export declare function resolveMiniPayFeeCurrency(publicClient: PublicClient, from: `0x${string}`, options?: ResolveMiniPayFeeCurrencyOptions): Promise<`0x${string}` | undefined>;
|
|
30
|
+
/** Symbol for a known MiniPay fee currency or token address (for error messages). */
|
|
31
|
+
export declare function feeCurrencySymbol(address: `0x${string}` | undefined): string;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { erc20Abi } from "viem";
|
|
2
|
+
/**
|
|
3
|
+
* MiniPay gas currencies — never CELO.
|
|
4
|
+
* Balance checks use ERC-20 token addresses; eth_estimateGas / send use feeCurrency
|
|
5
|
+
* (CIP-64 adapters for 6-decimal USDT/USDC, token address for 18-decimal USDm).
|
|
6
|
+
*/
|
|
7
|
+
export const MINIPAY_FEE_CURRENCIES = [
|
|
8
|
+
{
|
|
9
|
+
symbol: "USDT",
|
|
10
|
+
token: "0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e",
|
|
11
|
+
feeCurrency: "0x0e2a3e05bc9a16f5292a6170456a710cb89c6f72",
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
symbol: "USDm",
|
|
15
|
+
token: "0x765de816845861e75a25fca122bb6898b8b1282a",
|
|
16
|
+
feeCurrency: "0x765de816845861e75a25fca122bb6898b8b1282a",
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
symbol: "USDC",
|
|
20
|
+
token: "0xceba9300f2b948710d2653dd7b07f33a8b32118c",
|
|
21
|
+
feeCurrency: "0x2F25deB3848C207fc8E0c34035B3Ba7fC157602B",
|
|
22
|
+
},
|
|
23
|
+
];
|
|
24
|
+
/**
|
|
25
|
+
* Resolve the fee currency for eth_estimateGas simulation.
|
|
26
|
+
* MiniPay: highest stable balance (USDT tiebreak); no CELO fallback.
|
|
27
|
+
* Other hosts: same stable heuristic, then native CELO when no stable balance.
|
|
28
|
+
*/
|
|
29
|
+
export async function resolveMiniPayFeeCurrency(publicClient, from, options) {
|
|
30
|
+
if (options?.feeCurrency) {
|
|
31
|
+
return options.feeCurrency;
|
|
32
|
+
}
|
|
33
|
+
const isMiniPay = options?.isMiniPay ?? false;
|
|
34
|
+
const results = await publicClient.multicall({
|
|
35
|
+
contracts: MINIPAY_FEE_CURRENCIES.map((entry) => ({
|
|
36
|
+
address: entry.token,
|
|
37
|
+
abi: erc20Abi,
|
|
38
|
+
functionName: "balanceOf",
|
|
39
|
+
args: [from],
|
|
40
|
+
})),
|
|
41
|
+
allowFailure: true,
|
|
42
|
+
});
|
|
43
|
+
let bestIndex = -1;
|
|
44
|
+
let bestBalance = 0n;
|
|
45
|
+
for (let i = 0; i < results.length; i++) {
|
|
46
|
+
const result = results[i];
|
|
47
|
+
if (result.status !== "success") {
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
const balance = result.result;
|
|
51
|
+
if (balance > bestBalance) {
|
|
52
|
+
bestBalance = balance;
|
|
53
|
+
bestIndex = i;
|
|
54
|
+
}
|
|
55
|
+
else if (balance === bestBalance && balance > 0n && bestIndex >= 0) {
|
|
56
|
+
// USDT → USDm → USDC tiebreak (lower index wins)
|
|
57
|
+
if (i < bestIndex) {
|
|
58
|
+
bestIndex = i;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
if (bestIndex >= 0 && bestBalance > 0n) {
|
|
63
|
+
return MINIPAY_FEE_CURRENCIES[bestIndex].feeCurrency;
|
|
64
|
+
}
|
|
65
|
+
if (isMiniPay) {
|
|
66
|
+
throw new Error("No stablecoin balance for gas. MiniPay requires USDT, USDm, or USDC to pay transaction fees.");
|
|
67
|
+
}
|
|
68
|
+
return undefined;
|
|
69
|
+
}
|
|
70
|
+
/** Symbol for a known MiniPay fee currency or token address (for error messages). */
|
|
71
|
+
export function feeCurrencySymbol(address) {
|
|
72
|
+
if (!address) {
|
|
73
|
+
return "CELO";
|
|
74
|
+
}
|
|
75
|
+
const lower = address.toLowerCase();
|
|
76
|
+
const match = MINIPAY_FEE_CURRENCIES.find((entry) => entry.token.toLowerCase() === lower ||
|
|
77
|
+
entry.feeCurrency.toLowerCase() === lower);
|
|
78
|
+
if (match) {
|
|
79
|
+
return match.symbol;
|
|
80
|
+
}
|
|
81
|
+
return address;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=celo-fee-currency.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"celo-fee-currency.js","sourceRoot":"","sources":["../../src/utils/celo-fee-currency.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Used when estimating swap/send gas before on-chain approval is confirmed.
|
|
4
4
|
*/
|
|
5
5
|
import { type Address, type Hex, type StateOverride } from "viem";
|
|
6
|
+
import type { PreparedTx } from "../types/prepared.js";
|
|
6
7
|
/** Common base slots for ERC-20 allowance mappings (Mento stablecoins use 7). */
|
|
7
8
|
declare const ALLOWANCE_MAPPING_SLOTS: readonly [7n, 1n, 0n, 2n, 3n, 4n, 5n, 6n, 8n, 9n, 10n, 11n, 12n, 13n, 14n, 15n, 16n, 17n, 18n, 19n, 20n, 51n];
|
|
8
9
|
/**
|
|
@@ -18,3 +19,12 @@ export declare function erc20AllowanceStateOverride(token: Address, owner: Addre
|
|
|
18
19
|
export declare function isLikelyTransferFailed(error: unknown): boolean;
|
|
19
20
|
/** Mapping base slots to probe when simulating ERC-20 allowance (exported for tests). */
|
|
20
21
|
export { ALLOWANCE_MAPPING_SLOTS };
|
|
22
|
+
export type Erc20ApproveCall = {
|
|
23
|
+
token: `0x${string}`;
|
|
24
|
+
spender: `0x${string}`;
|
|
25
|
+
amount: bigint;
|
|
26
|
+
};
|
|
27
|
+
/** Strip CELINA attribution suffix before ABI decode. */
|
|
28
|
+
export declare function stripCelinaCalldataSuffix(data: Hex): Hex;
|
|
29
|
+
/** Parse ERC-20 approve from a prepared step (handles CELINA calldata suffix). */
|
|
30
|
+
export declare function parseTaggedErc20Approve(step: PreparedTx): Erc20ApproveCall | null;
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
* ERC-20 allowance storage slot helpers for gas simulation with state overrides.
|
|
3
3
|
* Used when estimating swap/send gas before on-chain approval is confirmed.
|
|
4
4
|
*/
|
|
5
|
-
import { encodeAbiParameters, keccak256, pad, parseAbiParameters, toHex, } from "viem";
|
|
5
|
+
import { decodeFunctionData, encodeAbiParameters, erc20Abi, keccak256, pad, parseAbiParameters, toHex, } from "viem";
|
|
6
|
+
import { CELINA_DATA_SUFFIX } from "../config/celina-tag.js";
|
|
6
7
|
/** Common base slots for ERC-20 allowance mappings (Mento stablecoins use 7). */
|
|
7
8
|
const ALLOWANCE_MAPPING_SLOTS = [
|
|
8
9
|
7n,
|
|
@@ -61,4 +62,38 @@ export function isLikelyTransferFailed(error) {
|
|
|
61
62
|
}
|
|
62
63
|
/** Mapping base slots to probe when simulating ERC-20 allowance (exported for tests). */
|
|
63
64
|
export { ALLOWANCE_MAPPING_SLOTS };
|
|
65
|
+
/** Strip CELINA attribution suffix before ABI decode. */
|
|
66
|
+
export function stripCelinaCalldataSuffix(data) {
|
|
67
|
+
if (!data || data === "0x") {
|
|
68
|
+
return data;
|
|
69
|
+
}
|
|
70
|
+
const suffix = CELINA_DATA_SUFFIX.slice(2);
|
|
71
|
+
if (data.toLowerCase().endsWith(suffix.toLowerCase())) {
|
|
72
|
+
return `0x${data.slice(2, data.length - suffix.length)}`;
|
|
73
|
+
}
|
|
74
|
+
return data;
|
|
75
|
+
}
|
|
76
|
+
/** Parse ERC-20 approve from a prepared step (handles CELINA calldata suffix). */
|
|
77
|
+
export function parseTaggedErc20Approve(step) {
|
|
78
|
+
if (!step.data || step.data === "0x") {
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
try {
|
|
82
|
+
const decoded = decodeFunctionData({
|
|
83
|
+
abi: erc20Abi,
|
|
84
|
+
data: stripCelinaCalldataSuffix(step.data),
|
|
85
|
+
});
|
|
86
|
+
if (decoded.functionName !== "approve") {
|
|
87
|
+
return null;
|
|
88
|
+
}
|
|
89
|
+
return {
|
|
90
|
+
token: step.to,
|
|
91
|
+
spender: decoded.args[0],
|
|
92
|
+
amount: decoded.args[1],
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
catch {
|
|
96
|
+
return null;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
64
99
|
//# sourceMappingURL=erc20-allowance-storage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"erc20-allowance-storage.js","sourceRoot":"","sources":["../../src/utils/erc20-allowance-storage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,mBAAmB,EACnB,SAAS,EACT,GAAG,EACH,kBAAkB,EAClB,KAAK,GAIN,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"erc20-allowance-storage.js","sourceRoot":"","sources":["../../src/utils/erc20-allowance-storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"minipay.js","sourceRoot":"","sources":["../../src/utils/minipay.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,MAAM,UAAU,gBAAgB;IAC9B,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,MAAM,CAAC,QAAQ,EAAE,SAAS,KAAK,IAAI,CAAC;AAC7C,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type PublicClient } from "viem";
|
|
2
|
+
import type { PreparedTx } from "../types/prepared.js";
|
|
3
|
+
export type SimulatePreparedStepParams = {
|
|
4
|
+
from: `0x${string}`;
|
|
5
|
+
step: PreparedTx;
|
|
6
|
+
isMiniPay?: boolean;
|
|
7
|
+
feeCurrency?: `0x${string}`;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Simulate a prepared transaction step before broadcast.
|
|
11
|
+
* Throws when eth_estimateGas would revert (e.g. spend token = fee currency, no gas headroom).
|
|
12
|
+
*/
|
|
13
|
+
export declare function simulatePreparedStep(publicClient: PublicClient, params: SimulatePreparedStepParams): Promise<void>;
|
|
14
|
+
/**
|
|
15
|
+
* Resolve fee currency and simulate — for hosts that need the resolved value on send (MCP).
|
|
16
|
+
*/
|
|
17
|
+
export declare function simulatePreparedStepWithFeeCurrency(publicClient: PublicClient, params: SimulatePreparedStepParams): Promise<`0x${string}` | undefined>;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { erc20Abi } from "viem";
|
|
2
|
+
import { feeCurrencySymbol, resolveMiniPayFeeCurrency } from "./celo-fee-currency.js";
|
|
3
|
+
import { parseTaggedErc20Approve } from "./erc20-allowance-storage.js";
|
|
4
|
+
import { isInsufficientBalanceSimulationError } from "./transaction-errors.js";
|
|
5
|
+
function simulationErrorMessage(step, feeCurrency, cause) {
|
|
6
|
+
const feeLabel = feeCurrencySymbol(feeCurrency);
|
|
7
|
+
const base = cause instanceof Error ? cause.message : String(cause);
|
|
8
|
+
if (isInsufficientBalanceSimulationError(cause)) {
|
|
9
|
+
return (`Preflight simulation failed for "${step.description}": insufficient balance. ` +
|
|
10
|
+
`Leave headroom for gas when paying fees in ${feeLabel}. (${base})`);
|
|
11
|
+
}
|
|
12
|
+
return `Preflight simulation failed for "${step.description}": ${base}`;
|
|
13
|
+
}
|
|
14
|
+
async function estimateStepGas(publicClient, from, step, feeCurrency) {
|
|
15
|
+
const value = step.value ? BigInt(step.value) : 0n;
|
|
16
|
+
const data = (step.data ?? "0x");
|
|
17
|
+
const approve = parseTaggedErc20Approve(step);
|
|
18
|
+
if (approve) {
|
|
19
|
+
await publicClient.estimateContractGas({
|
|
20
|
+
account: from,
|
|
21
|
+
address: approve.token,
|
|
22
|
+
abi: erc20Abi,
|
|
23
|
+
functionName: "approve",
|
|
24
|
+
args: [approve.spender, approve.amount],
|
|
25
|
+
...(feeCurrency ? { feeCurrency } : {}),
|
|
26
|
+
});
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
const request = {
|
|
30
|
+
account: from,
|
|
31
|
+
to: step.to,
|
|
32
|
+
data,
|
|
33
|
+
value,
|
|
34
|
+
...(feeCurrency ? { feeCurrency } : {}),
|
|
35
|
+
};
|
|
36
|
+
await publicClient.estimateGas(request);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Simulate a prepared transaction step before broadcast.
|
|
40
|
+
* Throws when eth_estimateGas would revert (e.g. spend token = fee currency, no gas headroom).
|
|
41
|
+
*/
|
|
42
|
+
export async function simulatePreparedStep(publicClient, params) {
|
|
43
|
+
const { from, step, isMiniPay = false } = params;
|
|
44
|
+
const feeCurrency = params.feeCurrency ??
|
|
45
|
+
(await resolveMiniPayFeeCurrency(publicClient, from, { isMiniPay }));
|
|
46
|
+
try {
|
|
47
|
+
await estimateStepGas(publicClient, from, step, feeCurrency);
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
throw new Error(simulationErrorMessage(step, feeCurrency, error));
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Resolve fee currency and simulate — for hosts that need the resolved value on send (MCP).
|
|
55
|
+
*/
|
|
56
|
+
export async function simulatePreparedStepWithFeeCurrency(publicClient, params) {
|
|
57
|
+
const { from, isMiniPay = false } = params;
|
|
58
|
+
const feeCurrency = params.feeCurrency ??
|
|
59
|
+
(await resolveMiniPayFeeCurrency(publicClient, from, { isMiniPay }));
|
|
60
|
+
try {
|
|
61
|
+
await estimateStepGas(publicClient, from, params.step, feeCurrency);
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
throw new Error(simulationErrorMessage(params.step, feeCurrency, error));
|
|
65
|
+
}
|
|
66
|
+
return feeCurrency;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=simulate-prepared-step.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simulate-prepared-step.js","sourceRoot":"","sources":["../../src/utils/simulate-prepared-step.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@andrewkimjoseph/celina-sdk",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.4",
|
|
4
4
|
"description": "Celina SDK — Celo mainnet reads and unsigned transaction preparation for frontend apps.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -27,6 +27,11 @@
|
|
|
27
27
|
"import": "./build/a2a/index.js",
|
|
28
28
|
"default": "./build/a2a/index.js"
|
|
29
29
|
},
|
|
30
|
+
"./preflight": {
|
|
31
|
+
"types": "./build/preflight.d.ts",
|
|
32
|
+
"import": "./build/preflight.js",
|
|
33
|
+
"default": "./build/preflight.js"
|
|
34
|
+
},
|
|
30
35
|
"./oasf": {
|
|
31
36
|
"types": "./build/oasf/index.d.ts",
|
|
32
37
|
"import": "./build/oasf/index.js",
|