@lendasat/lendaswap-sdk-pure 0.2.42 → 0.2.44
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/dist/_esm-7KJOBTZC.js +3660 -0
- package/dist/_esm-7KJOBTZC.js.map +1 -0
- package/dist/_esm-UGRDSVEV.cjs +3662 -0
- package/dist/_esm-UGRDSVEV.cjs.map +1 -0
- package/dist/api/client.d.ts +0 -4
- package/dist/api/client.d.ts.map +1 -1
- package/dist/base-2KYNAFR3.cjs +109 -0
- package/dist/base-2KYNAFR3.cjs.map +1 -0
- package/dist/base-B6OGU65B.js +7 -0
- package/dist/base-B6OGU65B.js.map +1 -0
- package/dist/ccip-MPMAZOUF.js +5 -0
- package/dist/ccip-MPMAZOUF.js.map +1 -0
- package/dist/ccip-PD37NJHA.cjs +26 -0
- package/dist/ccip-PD37NJHA.cjs.map +1 -0
- package/dist/cctp-bridge/index.cjs +67 -0
- package/dist/cctp-bridge/index.cjs.map +1 -0
- package/dist/cctp-bridge/index.js +51 -15
- package/dist/cctp-bridge/index.js.map +1 -1
- package/dist/cctp-inbound/client.d.ts +21 -19
- package/dist/cctp-inbound/client.d.ts.map +1 -1
- package/dist/cctp-inbound/smartAccount.d.ts +21 -19
- package/dist/cctp-inbound/smartAccount.d.ts.map +1 -1
- package/dist/chunk-3JWT4OW2.js +369 -0
- package/dist/chunk-3JWT4OW2.js.map +1 -0
- package/dist/chunk-A4GKKURK.cjs +430 -0
- package/dist/chunk-A4GKKURK.cjs.map +1 -0
- package/dist/chunk-BZU3R5DJ.cjs +554 -0
- package/dist/chunk-BZU3R5DJ.cjs.map +1 -0
- package/dist/chunk-C4YXYD24.js +418 -0
- package/dist/chunk-C4YXYD24.js.map +1 -0
- package/dist/chunk-CZNQYFDP.js +6141 -0
- package/dist/chunk-CZNQYFDP.js.map +1 -0
- package/dist/chunk-DKTFDGIU.js +2207 -0
- package/dist/chunk-DKTFDGIU.js.map +1 -0
- package/dist/chunk-DNSJDKTP.cjs +96 -0
- package/dist/chunk-DNSJDKTP.cjs.map +1 -0
- package/dist/chunk-EPKFLKTM.js +47093 -0
- package/dist/chunk-EPKFLKTM.js.map +1 -0
- package/dist/chunk-JBVKWKD4.cjs +50 -0
- package/dist/chunk-JBVKWKD4.cjs.map +1 -0
- package/dist/chunk-NPFJAXKV.js +551 -0
- package/dist/chunk-NPFJAXKV.js.map +1 -0
- package/dist/chunk-PKDJZJMV.cjs +2214 -0
- package/dist/chunk-PKDJZJMV.cjs.map +1 -0
- package/dist/chunk-PLDDJCW6.js +43 -0
- package/dist/chunk-PLDDJCW6.js.map +1 -0
- package/dist/chunk-RIOT5VOJ.cjs +47240 -0
- package/dist/chunk-RIOT5VOJ.cjs.map +1 -0
- package/dist/chunk-WVZSHRV7.cjs +431 -0
- package/dist/chunk-WVZSHRV7.cjs.map +1 -0
- package/dist/chunk-YEZOPVAH.js +86 -0
- package/dist/chunk-YEZOPVAH.js.map +1 -0
- package/dist/chunk-YLWPBHMV.cjs +6311 -0
- package/dist/chunk-YLWPBHMV.cjs.map +1 -0
- package/dist/client.d.ts +68 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/compose-quote.d.ts +77 -0
- package/dist/compose-quote.d.ts.map +1 -0
- package/dist/delegate.cjs +23 -0
- package/dist/delegate.cjs.map +1 -0
- package/dist/delegate.js +5 -269
- package/dist/delegate.js.map +1 -1
- package/dist/dist-NE2R4YCX.js +5 -0
- package/dist/dist-NE2R4YCX.js.map +1 -0
- package/dist/dist-VEHYC67F.cjs +550 -0
- package/dist/dist-VEHYC67F.cjs.map +1 -0
- package/dist/esplora.d.ts +14 -0
- package/dist/esplora.d.ts.map +1 -1
- package/dist/generated/api.d.ts +235 -38
- package/dist/generated/api.d.ts.map +1 -1
- package/dist/index.cjs +35461 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +35309 -32
- package/dist/index.js.map +1 -1
- package/dist/mine.wasm-JJEJEODX.js +9 -0
- package/dist/mine.wasm-JJEJEODX.js.map +1 -0
- package/dist/mine.wasm-Z3ORSBKN.cjs +12 -0
- package/dist/mine.wasm-Z3ORSBKN.cjs.map +1 -0
- package/dist/node.cjs +166 -0
- package/dist/node.cjs.map +1 -0
- package/dist/node.js +157 -18
- package/dist/node.js.map +1 -1
- package/dist/secp256k1-PJCSE4N6.cjs +30 -0
- package/dist/secp256k1-PJCSE4N6.cjs.map +1 -0
- package/dist/secp256k1-VZNNVEPN.js +5 -0
- package/dist/secp256k1-VZNNVEPN.js.map +1 -0
- package/dist/tokens.d.ts +2 -1
- package/dist/tokens.d.ts.map +1 -1
- package/dist/types/chain-config.d.ts +50 -0
- package/dist/types/chain-config.d.ts.map +1 -0
- package/dist/types/chain.d.ts +11 -0
- package/dist/types/chain.d.ts.map +1 -0
- package/dist/types/dex-quote.d.ts +85 -0
- package/dist/types/dex-quote.d.ts.map +1 -0
- package/dist/types/index.d.ts +15 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/network-fees.d.ts +43 -0
- package/dist/types/network-fees.d.ts.map +1 -0
- package/dist/types/quote.d.ts +87 -0
- package/dist/types/quote.d.ts.map +1 -0
- package/dist/types/swap-pairs.d.ts +37 -0
- package/dist/types/swap-pairs.d.ts.map +1 -0
- package/dist/version.d.ts +2 -2
- package/dist/wallet-SCGRX3EN.js +4 -0
- package/dist/wallet-SCGRX3EN.js.map +1 -0
- package/dist/wallet-SZJDXAY7.cjs +45 -0
- package/dist/wallet-SZJDXAY7.cjs.map +1 -0
- package/package.json +23 -10
- package/dist/api/client.js +0 -13
- package/dist/api/client.js.map +0 -1
- package/dist/arkade-network.js +0 -40
- package/dist/arkade-network.js.map +0 -1
- package/dist/arkade.js +0 -61
- package/dist/arkade.js.map +0 -1
- package/dist/cctp/attestation.js +0 -149
- package/dist/cctp/attestation.js.map +0 -1
- package/dist/cctp/constants.js +0 -92
- package/dist/cctp/constants.js.map +0 -1
- package/dist/cctp/fee.js +0 -70
- package/dist/cctp/fee.js.map +0 -1
- package/dist/cctp/index.js +0 -13
- package/dist/cctp/index.js.map +0 -1
- package/dist/cctp/types.js +0 -5
- package/dist/cctp/types.js.map +0 -1
- package/dist/cctp/utils.js +0 -91
- package/dist/cctp/utils.js.map +0 -1
- package/dist/cctp-bridge/bridge.js +0 -74
- package/dist/cctp-bridge/bridge.js.map +0 -1
- package/dist/cctp-inbound/approveAndBurn.js +0 -95
- package/dist/cctp-inbound/approveAndBurn.js.map +0 -1
- package/dist/cctp-inbound/burn.js +0 -66
- package/dist/cctp-inbound/burn.js.map +0 -1
- package/dist/cctp-inbound/chainMap.js +0 -128
- package/dist/cctp-inbound/chainMap.js.map +0 -1
- package/dist/cctp-inbound/client.js +0 -125
- package/dist/cctp-inbound/client.js.map +0 -1
- package/dist/cctp-inbound/eip2612.js +0 -95
- package/dist/cctp-inbound/eip2612.js.map +0 -1
- package/dist/cctp-inbound/evmSignerAdapter.js +0 -82
- package/dist/cctp-inbound/evmSignerAdapter.js.map +0 -1
- package/dist/cctp-inbound/fundSwap.js +0 -95
- package/dist/cctp-inbound/fundSwap.js.map +0 -1
- package/dist/cctp-inbound/index.js +0 -34
- package/dist/cctp-inbound/index.js.map +0 -1
- package/dist/cctp-inbound/permit2.js +0 -32
- package/dist/cctp-inbound/permit2.js.map +0 -1
- package/dist/cctp-inbound/preflight.js +0 -84
- package/dist/cctp-inbound/preflight.js.map +0 -1
- package/dist/cctp-inbound/recover.js +0 -177
- package/dist/cctp-inbound/recover.js.map +0 -1
- package/dist/cctp-inbound/smartAccount.js +0 -117
- package/dist/cctp-inbound/smartAccount.js.map +0 -1
- package/dist/cctp-inbound/submit.js +0 -136
- package/dist/cctp-inbound/submit.js.map +0 -1
- package/dist/cctp-inbound/types.js +0 -5
- package/dist/cctp-inbound/types.js.map +0 -1
- package/dist/cctp-inbound/userOp.js +0 -151
- package/dist/cctp-inbound/userOp.js.map +0 -1
- package/dist/client.js +0 -4126
- package/dist/client.js.map +0 -1
- package/dist/create/arkade-to-lightning.js +0 -76
- package/dist/create/arkade-to-lightning.js.map +0 -1
- package/dist/create/arkade.js +0 -86
- package/dist/create/arkade.js.map +0 -1
- package/dist/create/bitcoin-to-arkade.js +0 -76
- package/dist/create/bitcoin-to-arkade.js.map +0 -1
- package/dist/create/bitcoin.js +0 -77
- package/dist/create/bitcoin.js.map +0 -1
- package/dist/create/evm-to-arkade.js +0 -80
- package/dist/create/evm-to-arkade.js.map +0 -1
- package/dist/create/evm-to-bitcoin.js +0 -82
- package/dist/create/evm-to-bitcoin.js.map +0 -1
- package/dist/create/evm-to-lightning.js +0 -89
- package/dist/create/evm-to-lightning.js.map +0 -1
- package/dist/create/index.js +0 -21
- package/dist/create/index.js.map +0 -1
- package/dist/create/lightning-to-arkade.js +0 -69
- package/dist/create/lightning-to-arkade.js.map +0 -1
- package/dist/create/lightning.js +0 -61
- package/dist/create/lightning.js.map +0 -1
- package/dist/create/retry.js +0 -71
- package/dist/create/retry.js.map +0 -1
- package/dist/create/types.js +0 -5
- package/dist/create/types.js.map +0 -1
- package/dist/escrow/index.js +0 -115
- package/dist/escrow/index.js.map +0 -1
- package/dist/esplora.js +0 -47
- package/dist/esplora.js.map +0 -1
- package/dist/evm/coordinator.js +0 -714
- package/dist/evm/coordinator.js.map +0 -1
- package/dist/evm/htlc.js +0 -278
- package/dist/evm/htlc.js.map +0 -1
- package/dist/evm/index.js +0 -10
- package/dist/evm/index.js.map +0 -1
- package/dist/evm/signing.js +0 -70
- package/dist/evm/signing.js.map +0 -1
- package/dist/evm/wallet.js +0 -133
- package/dist/evm/wallet.js.map +0 -1
- package/dist/generated/api.js +0 -6
- package/dist/generated/api.js.map +0 -1
- package/dist/logging.js +0 -130
- package/dist/logging.js.map +0 -1
- package/dist/price-calculations.js +0 -135
- package/dist/price-calculations.js.map +0 -1
- package/dist/redeem/arkade.js +0 -416
- package/dist/redeem/arkade.js.map +0 -1
- package/dist/redeem/ethereum.js +0 -206
- package/dist/redeem/ethereum.js.map +0 -1
- package/dist/redeem/gasless.js +0 -73
- package/dist/redeem/gasless.js.map +0 -1
- package/dist/redeem/index.js +0 -189
- package/dist/redeem/index.js.map +0 -1
- package/dist/redeem/types.js +0 -36
- package/dist/redeem/types.js.map +0 -1
- package/dist/refund/arkade.js +0 -200
- package/dist/refund/arkade.js.map +0 -1
- package/dist/refund/collab-arkade-evm.js +0 -307
- package/dist/refund/collab-arkade-evm.js.map +0 -1
- package/dist/refund/collab-arkade-lightning.js +0 -245
- package/dist/refund/collab-arkade-lightning.js.map +0 -1
- package/dist/refund/index.js +0 -12
- package/dist/refund/index.js.map +0 -1
- package/dist/refund/onchain.js +0 -366
- package/dist/refund/onchain.js.map +0 -1
- package/dist/signer/index.js +0 -249
- package/dist/signer/index.js.map +0 -1
- package/dist/storage/idb.js +0 -236
- package/dist/storage/idb.js.map +0 -1
- package/dist/storage/index.js +0 -98
- package/dist/storage/index.js.map +0 -1
- package/dist/storage/sqlite.js +0 -206
- package/dist/storage/sqlite.js.map +0 -1
- package/dist/storage/types.js +0 -9
- package/dist/storage/types.js.map +0 -1
- package/dist/tokens.js +0 -322
- package/dist/tokens.js.map +0 -1
- package/dist/usd-price.js +0 -96
- package/dist/usd-price.js.map +0 -1
- package/dist/usdt0-bridge/constants.js +0 -71
- package/dist/usdt0-bridge/constants.js.map +0 -1
- package/dist/usdt0-bridge/index.js +0 -11
- package/dist/usdt0-bridge/index.js.map +0 -1
- package/dist/usdt0-bridge/tracking.js +0 -123
- package/dist/usdt0-bridge/tracking.js.map +0 -1
- package/dist/usdt0-bridge/utils.js +0 -51
- package/dist/usdt0-bridge/utils.js.map +0 -1
- package/dist/version.js +0 -6
- package/dist/version.js.map +0 -1
- package/dist/ws.js +0 -145
- package/dist/ws.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../../src/evm/coordinator.ts"],"names":[],"mappings":"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"}
|
package/dist/evm/htlc.js
DELETED
|
@@ -1,278 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* EVM HTLC encoding utilities.
|
|
3
|
-
*
|
|
4
|
-
* Provides helpers for encoding call data to interact with the
|
|
5
|
-
* ReverseAtomicSwapHTLC contract for EVM-to-BTC swaps.
|
|
6
|
-
*/
|
|
7
|
-
// Function selectors (first 4 bytes of keccak256 hash of function signature)
|
|
8
|
-
// createSwap(bytes32,address,address,address,uint256,bytes32,uint256,uint24,uint256)
|
|
9
|
-
const CREATE_SWAP_SELECTOR = "0x9a4efe51";
|
|
10
|
-
// approve(address,uint256)
|
|
11
|
-
const APPROVE_SELECTOR = "0x095ea7b3";
|
|
12
|
-
// refundSwap(bytes32)
|
|
13
|
-
const REFUND_SWAP_SELECTOR = "0xfe2510ee";
|
|
14
|
-
// HTLCErc20.create(bytes32,uint256,address,address,address,uint256)
|
|
15
|
-
const HTLC_ERC20_CREATE_SELECTOR = "0x06799dee";
|
|
16
|
-
// HTLCErc20.refund(bytes32,uint256,address,address,uint256)
|
|
17
|
-
const HTLC_ERC20_REFUND_SELECTOR = "0x36504721";
|
|
18
|
-
/**
|
|
19
|
-
* Converts a UUID string to a bytes32 hex string (right-padded with zeros).
|
|
20
|
-
*
|
|
21
|
-
* @param uuid - The UUID string (with or without hyphens)
|
|
22
|
-
* @returns The bytes32 hex string (without 0x prefix)
|
|
23
|
-
*/
|
|
24
|
-
export function uuidToBytes32(uuid) {
|
|
25
|
-
// Remove hyphens and 0x prefix if present
|
|
26
|
-
let cleanHex = uuid.replace(/-/g, "").replace(/^0x/, "");
|
|
27
|
-
// Ensure it's valid hex
|
|
28
|
-
if (!/^[0-9a-fA-F]+$/.test(cleanHex)) {
|
|
29
|
-
throw new Error(`Invalid UUID hex: ${uuid}`);
|
|
30
|
-
}
|
|
31
|
-
// Right-pad to 64 characters (32 bytes)
|
|
32
|
-
if (cleanHex.length < 64) {
|
|
33
|
-
cleanHex = cleanHex.padEnd(64, "0");
|
|
34
|
-
}
|
|
35
|
-
else if (cleanHex.length > 64) {
|
|
36
|
-
cleanHex = cleanHex.slice(0, 64);
|
|
37
|
-
}
|
|
38
|
-
return cleanHex.toLowerCase();
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Normalizes a bytes32 value (removes 0x prefix, ensures 64 chars).
|
|
42
|
-
*/
|
|
43
|
-
function normalizeBytes32(value) {
|
|
44
|
-
let clean = value.replace(/^0x/, "");
|
|
45
|
-
if (clean.length < 64) {
|
|
46
|
-
clean = clean.padStart(64, "0");
|
|
47
|
-
}
|
|
48
|
-
return clean.toLowerCase();
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Normalizes an address to 32 bytes (left-padded with zeros).
|
|
52
|
-
*/
|
|
53
|
-
function normalizeAddress(address) {
|
|
54
|
-
const clean = address.replace(/^0x/, "").toLowerCase();
|
|
55
|
-
return clean.padStart(64, "0");
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Encodes a uint256 value as 32 bytes hex.
|
|
59
|
-
*/
|
|
60
|
-
function encodeUint256(value) {
|
|
61
|
-
return value.toString(16).padStart(64, "0");
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Encodes a uint24 value as 32 bytes hex (for ABI encoding).
|
|
65
|
-
*/
|
|
66
|
-
function encodeUint24(value) {
|
|
67
|
-
return value.toString(16).padStart(64, "0");
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Encodes the call data for ERC20 approve function.
|
|
71
|
-
*
|
|
72
|
-
* @param spender - The address to approve (HTLC contract)
|
|
73
|
-
* @param amount - The amount to approve
|
|
74
|
-
* @returns The encoded approve call data
|
|
75
|
-
*
|
|
76
|
-
* @example
|
|
77
|
-
* ```ts
|
|
78
|
-
* const approveData = encodeApproveCallData(htlcAddress, amountIn);
|
|
79
|
-
* // Use with ethers.js:
|
|
80
|
-
* await tokenContract.sendTransaction({ to: tokenAddress, data: approveData.data });
|
|
81
|
-
* ```
|
|
82
|
-
*/
|
|
83
|
-
export function encodeApproveCallData(tokenAddress, spender, amount) {
|
|
84
|
-
const spenderEncoded = normalizeAddress(spender);
|
|
85
|
-
const amountEncoded = encodeUint256(amount);
|
|
86
|
-
const data = `${APPROVE_SELECTOR}${spenderEncoded}${amountEncoded}`;
|
|
87
|
-
return {
|
|
88
|
-
to: tokenAddress,
|
|
89
|
-
data,
|
|
90
|
-
functionSignature: "approve(address,uint256)",
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Encodes the call data for createSwap function on the HTLC contract.
|
|
95
|
-
*
|
|
96
|
-
* @param htlcAddress - The HTLC contract address
|
|
97
|
-
* @param params - The createSwap parameters
|
|
98
|
-
* @returns The encoded createSwap call data
|
|
99
|
-
*
|
|
100
|
-
* @example
|
|
101
|
-
* ```ts
|
|
102
|
-
* const createData = encodeCreateSwapCallData(htlcAddress, {
|
|
103
|
-
* swapId: "12345678-1234-1234-1234-123456789abc",
|
|
104
|
-
* recipient: "0x...",
|
|
105
|
-
* tokenIn: "0x...", // USDC
|
|
106
|
-
* tokenOut: "0x...", // WBTC
|
|
107
|
-
* amountIn: 100000000n, // 100 USDC (6 decimals)
|
|
108
|
-
* hashLock: "0x...",
|
|
109
|
-
* timelock: Math.floor(Date.now() / 1000) + 3600,
|
|
110
|
-
* poolFee: 3000,
|
|
111
|
-
* minAmountOut: 0n,
|
|
112
|
-
* });
|
|
113
|
-
* ```
|
|
114
|
-
*/
|
|
115
|
-
export function encodeCreateSwapCallData(htlcAddress, params) {
|
|
116
|
-
// Encode each parameter
|
|
117
|
-
const swapIdEncoded = uuidToBytes32(params.swapId);
|
|
118
|
-
const recipientEncoded = normalizeAddress(params.recipient);
|
|
119
|
-
const tokenInEncoded = normalizeAddress(params.tokenIn);
|
|
120
|
-
const tokenOutEncoded = normalizeAddress(params.tokenOut);
|
|
121
|
-
const amountInEncoded = encodeUint256(params.amountIn);
|
|
122
|
-
const hashLockEncoded = normalizeBytes32(params.hashLock);
|
|
123
|
-
const timelockEncoded = encodeUint256(BigInt(params.timelock));
|
|
124
|
-
const poolFeeEncoded = encodeUint24(params.poolFee);
|
|
125
|
-
const minAmountOutEncoded = encodeUint256(params.minAmountOut);
|
|
126
|
-
const data = [
|
|
127
|
-
CREATE_SWAP_SELECTOR,
|
|
128
|
-
swapIdEncoded,
|
|
129
|
-
recipientEncoded,
|
|
130
|
-
tokenInEncoded,
|
|
131
|
-
tokenOutEncoded,
|
|
132
|
-
amountInEncoded,
|
|
133
|
-
hashLockEncoded,
|
|
134
|
-
timelockEncoded,
|
|
135
|
-
poolFeeEncoded,
|
|
136
|
-
minAmountOutEncoded,
|
|
137
|
-
].join("");
|
|
138
|
-
return {
|
|
139
|
-
to: htlcAddress,
|
|
140
|
-
data,
|
|
141
|
-
functionSignature: "createSwap(bytes32,address,address,address,uint256,bytes32,uint256,uint24,uint256)",
|
|
142
|
-
};
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* Encodes the call data for refundSwap function on the HTLC contract.
|
|
146
|
-
*
|
|
147
|
-
* @param htlcAddress - The HTLC contract address
|
|
148
|
-
* @param swapId - The swap ID (UUID or bytes32 hex)
|
|
149
|
-
* @returns The encoded refundSwap call data
|
|
150
|
-
*
|
|
151
|
-
* @example
|
|
152
|
-
* ```ts
|
|
153
|
-
* const refundData = encodeRefundSwapCallData(htlcAddress, swapId);
|
|
154
|
-
* // Use with viem:
|
|
155
|
-
* await walletClient.sendTransaction({ to: refundData.to, data: refundData.data });
|
|
156
|
-
* ```
|
|
157
|
-
*/
|
|
158
|
-
export function encodeRefundSwapCallData(htlcAddress, swapId) {
|
|
159
|
-
const swapIdEncoded = uuidToBytes32(swapId);
|
|
160
|
-
const data = `${REFUND_SWAP_SELECTOR}${swapIdEncoded}`;
|
|
161
|
-
return {
|
|
162
|
-
to: htlcAddress,
|
|
163
|
-
data,
|
|
164
|
-
functionSignature: "refundSwap(bytes32)",
|
|
165
|
-
};
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* Encodes the call data for HTLCErc20.refund function.
|
|
169
|
-
*
|
|
170
|
-
* This is for refunding tokens from the HTLCErc20 contract after the timelock has expired.
|
|
171
|
-
*
|
|
172
|
-
* @param htlcAddress - The HTLCErc20 contract address
|
|
173
|
-
* @param params - The refund parameters
|
|
174
|
-
* @returns The encoded refund call data
|
|
175
|
-
*
|
|
176
|
-
* @example
|
|
177
|
-
* ```ts
|
|
178
|
-
* const refundData = encodeHtlcErc20RefundCallData(htlcAddress, {
|
|
179
|
-
* preimageHash: "0x...",
|
|
180
|
-
* amount: 100000000n,
|
|
181
|
-
* token: "0x...",
|
|
182
|
-
* claimAddress: "0x...",
|
|
183
|
-
* timelock: 1234567890,
|
|
184
|
-
* });
|
|
185
|
-
* // Use with viem:
|
|
186
|
-
* await walletClient.sendTransaction({ to: refundData.to, data: refundData.data });
|
|
187
|
-
* ```
|
|
188
|
-
*/
|
|
189
|
-
export function encodeHtlcErc20RefundCallData(htlcAddress, params) {
|
|
190
|
-
const preimageHashEncoded = normalizeBytes32(params.preimageHash);
|
|
191
|
-
const amountEncoded = encodeUint256(BigInt(params.amount));
|
|
192
|
-
const tokenEncoded = normalizeAddress(params.token);
|
|
193
|
-
const claimAddressEncoded = normalizeAddress(params.claimAddress);
|
|
194
|
-
const timelockEncoded = encodeUint256(BigInt(params.timelock));
|
|
195
|
-
const data = [
|
|
196
|
-
HTLC_ERC20_REFUND_SELECTOR,
|
|
197
|
-
preimageHashEncoded,
|
|
198
|
-
amountEncoded,
|
|
199
|
-
tokenEncoded,
|
|
200
|
-
claimAddressEncoded,
|
|
201
|
-
timelockEncoded,
|
|
202
|
-
].join("");
|
|
203
|
-
return {
|
|
204
|
-
to: htlcAddress,
|
|
205
|
-
data,
|
|
206
|
-
functionSignature: "refund(bytes32,uint256,address,address,uint256)",
|
|
207
|
-
};
|
|
208
|
-
}
|
|
209
|
-
/**
|
|
210
|
-
* Encodes the call data for HTLCErc20.create function.
|
|
211
|
-
*
|
|
212
|
-
* This is for the new HTLCErc20 contract used in EVM-to-Lightning swaps.
|
|
213
|
-
*
|
|
214
|
-
* @param htlcAddress - The HTLCErc20 contract address
|
|
215
|
-
* @param params - The create parameters
|
|
216
|
-
* @returns The encoded create call data
|
|
217
|
-
*
|
|
218
|
-
* @example
|
|
219
|
-
* ```ts
|
|
220
|
-
* const createData = encodeHtlcErc20CreateCallData(htlcAddress, {
|
|
221
|
-
* preimageHash: "0x...",
|
|
222
|
-
* amount: 100000000n,
|
|
223
|
-
* token: "0x...",
|
|
224
|
-
* sender: "0x...",
|
|
225
|
-
* claimer: "0x...",
|
|
226
|
-
* timelock: Math.floor(Date.now() / 1000) + 3600,
|
|
227
|
-
* });
|
|
228
|
-
* // Use with viem:
|
|
229
|
-
* await walletClient.sendTransaction({ to: createData.to, data: createData.data });
|
|
230
|
-
* ```
|
|
231
|
-
*/
|
|
232
|
-
export function encodeHtlcErc20CreateCallData(htlcAddress, params) {
|
|
233
|
-
const preimageHashEncoded = normalizeBytes32(params.preimageHash);
|
|
234
|
-
const amountEncoded = encodeUint256(params.amount);
|
|
235
|
-
const tokenEncoded = normalizeAddress(params.token);
|
|
236
|
-
const senderEncoded = normalizeAddress(params.sender);
|
|
237
|
-
const claimerEncoded = normalizeAddress(params.claimer);
|
|
238
|
-
const timelockEncoded = encodeUint256(BigInt(params.timelock));
|
|
239
|
-
const data = [
|
|
240
|
-
HTLC_ERC20_CREATE_SELECTOR,
|
|
241
|
-
preimageHashEncoded,
|
|
242
|
-
amountEncoded,
|
|
243
|
-
tokenEncoded,
|
|
244
|
-
senderEncoded,
|
|
245
|
-
claimerEncoded,
|
|
246
|
-
timelockEncoded,
|
|
247
|
-
].join("");
|
|
248
|
-
return {
|
|
249
|
-
to: htlcAddress,
|
|
250
|
-
data,
|
|
251
|
-
functionSignature: "create(bytes32,uint256,address,address,address,uint256)",
|
|
252
|
-
};
|
|
253
|
-
}
|
|
254
|
-
/**
|
|
255
|
-
* Builds both approve and createSwap call data for an EVM-to-BTC swap.
|
|
256
|
-
*
|
|
257
|
-
* @param htlcAddress - The HTLC contract address
|
|
258
|
-
* @param params - The createSwap parameters
|
|
259
|
-
* @returns Both approve and createSwap call data
|
|
260
|
-
*
|
|
261
|
-
* @example
|
|
262
|
-
* ```ts
|
|
263
|
-
* const { approve, createSwap } = buildEvmHtlcCallData(htlcAddress, params);
|
|
264
|
-
*
|
|
265
|
-
* // Step 1: Approve token spend
|
|
266
|
-
* await wallet.sendTransaction({ to: approve.to, data: approve.data });
|
|
267
|
-
*
|
|
268
|
-
* // Step 2: Create the swap
|
|
269
|
-
* await wallet.sendTransaction({ to: createSwap.to, data: createSwap.data });
|
|
270
|
-
* ```
|
|
271
|
-
*/
|
|
272
|
-
export function buildEvmHtlcCallData(htlcAddress, params) {
|
|
273
|
-
return {
|
|
274
|
-
approve: encodeApproveCallData(params.tokenIn, htlcAddress, params.amountIn),
|
|
275
|
-
createSwap: encodeCreateSwapCallData(htlcAddress, params),
|
|
276
|
-
};
|
|
277
|
-
}
|
|
278
|
-
//# sourceMappingURL=htlc.js.map
|
package/dist/evm/htlc.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"htlc.js","sourceRoot":"","sources":["../../src/evm/htlc.ts"],"names":[],"mappings":"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"}
|
package/dist/evm/index.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* EVM utilities for Lendaswap.
|
|
3
|
-
*
|
|
4
|
-
* Provides helpers for encoding call data to interact with EVM HTLC contracts.
|
|
5
|
-
*/
|
|
6
|
-
export { buildCollabRefundEvmDigest, buildCollabRefundEvmTypedData, buildEip2612PermitDigest, buildPermit2FundingDigest, buildPermit2TypedData, buildRedeemCalls, buildRedeemDigest, encodeExecuteAndCreateWithPermit2, encodeRedeemAndExecute, encodeRefundAndExecute, encodeRefundTo, keccak256, PERMIT2_ADDRESS, } from "./coordinator.js";
|
|
7
|
-
export { buildEvmHtlcCallData, encodeApproveCallData, encodeCreateSwapCallData, encodeHtlcErc20CreateCallData, encodeHtlcErc20RefundCallData, encodeRefundSwapCallData, uuidToBytes32, } from "./htlc.js";
|
|
8
|
-
export { deriveEvmAddress, signEvmDigest } from "./signing.js";
|
|
9
|
-
export { isUserRejection, } from "./wallet.js";
|
|
10
|
-
//# sourceMappingURL=index.js.map
|
package/dist/evm/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/evm/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,wBAAwB,EACxB,yBAAyB,EACzB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EAOjB,iCAAiC,EACjC,sBAAsB,EACtB,sBAAsB,EACtB,cAAc,EACd,SAAS,EACT,eAAe,GAUhB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,oBAAoB,EAGpB,qBAAqB,EACrB,wBAAwB,EACxB,6BAA6B,EAC7B,6BAA6B,EAC7B,wBAAwB,EAMxB,aAAa,GACd,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAGL,eAAe,GAEhB,MAAM,aAAa,CAAC"}
|
package/dist/evm/signing.js
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* EVM key derivation and signing utilities.
|
|
3
|
-
*
|
|
4
|
-
* Derives EVM addresses and signs EIP-712 digests using secp256k1 keys
|
|
5
|
-
* from the SDK's HD wallet — no external wallet or signer required.
|
|
6
|
-
*/
|
|
7
|
-
import { secp256k1 } from "@noble/curves/secp256k1.js";
|
|
8
|
-
import { keccak_256 } from "@noble/hashes/sha3.js";
|
|
9
|
-
import { bytesToHex, hexToBytes } from "@noble/hashes/utils.js";
|
|
10
|
-
/**
|
|
11
|
-
* Derives an EVM address from a secp256k1 private key.
|
|
12
|
-
*
|
|
13
|
-
* The address is computed as the last 20 bytes of keccak256(uncompressed_pubkey).
|
|
14
|
-
*
|
|
15
|
-
* @param secretKey - 32-byte private key (Uint8Array or hex string)
|
|
16
|
-
* @returns EVM address as a checksummed hex string with 0x prefix
|
|
17
|
-
*/
|
|
18
|
-
export function deriveEvmAddress(secretKey) {
|
|
19
|
-
const keyBytes = typeof secretKey === "string"
|
|
20
|
-
? hexToBytes(secretKey.replace(/^0x/, ""))
|
|
21
|
-
: secretKey;
|
|
22
|
-
// Get uncompressed public key (65 bytes: 0x04 || x || y)
|
|
23
|
-
const uncompressedPubkey = secp256k1.getPublicKey(keyBytes, false);
|
|
24
|
-
// Keccak256 of the 64-byte public key (drop the 0x04 prefix)
|
|
25
|
-
const hash = keccak_256(uncompressedPubkey.slice(1));
|
|
26
|
-
// Take last 20 bytes as address
|
|
27
|
-
const addressBytes = hash.slice(12);
|
|
28
|
-
const addressHex = bytesToHex(addressBytes);
|
|
29
|
-
return toChecksumAddress(addressHex);
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Signs an EIP-712 digest with a secp256k1 private key.
|
|
33
|
-
*
|
|
34
|
-
* Returns the signature components (v, r, s) needed for EVM contract calls.
|
|
35
|
-
*
|
|
36
|
-
* @param secretKey - 32-byte private key (Uint8Array or hex string)
|
|
37
|
-
* @param digest - 32-byte digest hex string (with or without 0x prefix)
|
|
38
|
-
* @returns Signature components { v, r, s }
|
|
39
|
-
*/
|
|
40
|
-
export function signEvmDigest(secretKey, digest) {
|
|
41
|
-
const keyBytes = typeof secretKey === "string"
|
|
42
|
-
? hexToBytes(secretKey.replace(/^0x/, ""))
|
|
43
|
-
: secretKey;
|
|
44
|
-
const digestBytes = hexToBytes(digest.replace(/^0x/, ""));
|
|
45
|
-
// @noble/curves v2 returns raw Uint8Array from sign().
|
|
46
|
-
// Use format: 'recovered' to get 65 bytes: [recovery_byte, r(32), s(32)].
|
|
47
|
-
const sig = secp256k1.sign(digestBytes, keyBytes, {
|
|
48
|
-
prehash: false,
|
|
49
|
-
format: "recovered",
|
|
50
|
-
});
|
|
51
|
-
const recovery = sig[0];
|
|
52
|
-
const r = bytesToHex(sig.slice(1, 33));
|
|
53
|
-
const s = bytesToHex(sig.slice(33, 65));
|
|
54
|
-
const v = (recovery ?? 0) + 27;
|
|
55
|
-
return { v, r: `0x${r}`, s: `0x${s}` };
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Converts an address to EIP-55 checksummed format.
|
|
59
|
-
*/
|
|
60
|
-
function toChecksumAddress(address) {
|
|
61
|
-
const clean = address.replace(/^0x/, "").toLowerCase();
|
|
62
|
-
const hash = bytesToHex(keccak_256(new TextEncoder().encode(clean)));
|
|
63
|
-
let checksummed = "0x";
|
|
64
|
-
for (let i = 0; i < 40; i++) {
|
|
65
|
-
checksummed +=
|
|
66
|
-
parseInt(hash[i], 16) >= 8 ? clean[i].toUpperCase() : clean[i];
|
|
67
|
-
}
|
|
68
|
-
return checksummed;
|
|
69
|
-
}
|
|
70
|
-
//# sourceMappingURL=signing.js.map
|
package/dist/evm/signing.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"signing.js","sourceRoot":"","sources":["../../src/evm/signing.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEhE;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAA8B;IAC7D,MAAM,QAAQ,GACZ,OAAO,SAAS,KAAK,QAAQ;QAC3B,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC1C,CAAC,CAAC,SAAS,CAAC;IAEhB,yDAAyD;IACzD,MAAM,kBAAkB,GAAG,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAEnE,6DAA6D;IAC7D,MAAM,IAAI,GAAG,UAAU,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAErD,gCAAgC;IAChC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpC,MAAM,UAAU,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAE5C,OAAO,iBAAiB,CAAC,UAAU,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAC3B,SAA8B,EAC9B,MAAc;IAEd,MAAM,QAAQ,GACZ,OAAO,SAAS,KAAK,QAAQ;QAC3B,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC1C,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IAE1D,uDAAuD;IACvD,0EAA0E;IAC1E,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE;QAChD,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,WAAW;KACpB,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACvC,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACxC,MAAM,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;IAE/B,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,OAAe;IACxC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACvD,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAErE,IAAI,WAAW,GAAG,IAAI,CAAC;IACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,WAAW;YACT,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC"}
|
package/dist/evm/wallet.js
DELETED
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* EVM wallet / signer abstraction.
|
|
3
|
-
*
|
|
4
|
-
* Consumers inject an implementation that wraps their wallet library
|
|
5
|
-
* (wagmi, viem, ethers, etc.). The SDK uses this interface to sign
|
|
6
|
-
* typed data and send transactions without depending on any specific
|
|
7
|
-
* EVM library.
|
|
8
|
-
*/
|
|
9
|
-
// ── Helpers ──────────────────────────────────────────────────────────────────
|
|
10
|
-
/**
|
|
11
|
-
* Normalise a 20-byte address to a 32-byte ABI-encoded word (no 0x prefix).
|
|
12
|
-
*/
|
|
13
|
-
function padAddress(addr) {
|
|
14
|
-
return addr.replace(/^0x/i, "").toLowerCase().padStart(64, "0");
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Encode a uint256 as a 32-byte ABI word (no 0x prefix).
|
|
18
|
-
*/
|
|
19
|
-
function encodeUint256(value) {
|
|
20
|
-
return value.toString(16).padStart(64, "0");
|
|
21
|
-
}
|
|
22
|
-
// ERC-20 function selectors
|
|
23
|
-
const ALLOWANCE_SELECTOR = "0xdd62ed3e"; // allowance(address,address)
|
|
24
|
-
const BALANCE_SELECTOR = "0x70a08231"; // balanceOf(address)
|
|
25
|
-
const APPROVE_SELECTOR = "0x095ea7b3"; // approve(address,uint256)
|
|
26
|
-
const TRANSFER_SELECTOR = "0xa9059cbb"; // transfer(address,uint256)
|
|
27
|
-
const MAX_UINT256 = BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
|
|
28
|
-
/**
|
|
29
|
-
* Encode an `allowance(owner, spender)` call.
|
|
30
|
-
*/
|
|
31
|
-
export function encodeAllowanceCall(tokenAddress, owner, spender) {
|
|
32
|
-
return {
|
|
33
|
-
to: tokenAddress,
|
|
34
|
-
data: `${ALLOWANCE_SELECTOR}${padAddress(owner)}${padAddress(spender)}`,
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Encode a `balanceOf(account)` call.
|
|
39
|
-
*/
|
|
40
|
-
export function encodeBalanceOfCall(tokenAddress, account) {
|
|
41
|
-
return {
|
|
42
|
-
to: tokenAddress,
|
|
43
|
-
data: `${BALANCE_SELECTOR}${padAddress(account)}`,
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Encode an `approve(spender, type(uint256).max)` transaction.
|
|
48
|
-
*/
|
|
49
|
-
export function encodeMaxApproveData(tokenAddress, spender) {
|
|
50
|
-
return {
|
|
51
|
-
to: tokenAddress,
|
|
52
|
-
data: `${APPROVE_SELECTOR}${padAddress(spender)}${encodeUint256(MAX_UINT256)}`,
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Encode a `transfer(to, amount)` transaction.
|
|
57
|
-
*/
|
|
58
|
-
export function encodeTransferCall(tokenAddress, to, amount) {
|
|
59
|
-
return {
|
|
60
|
-
to: tokenAddress,
|
|
61
|
-
data: `${TRANSFER_SELECTOR}${padAddress(to)}${encodeUint256(amount)}`,
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Decode a 32-byte ABI-encoded uint256 from a hex string.
|
|
66
|
-
*/
|
|
67
|
-
export function decodeUint256(hex) {
|
|
68
|
-
const clean = hex.replace(/^0x/i, "");
|
|
69
|
-
if (clean.length === 0)
|
|
70
|
-
return 0n;
|
|
71
|
-
return BigInt(`0x${clean}`);
|
|
72
|
-
}
|
|
73
|
-
// ── Simulation ───────────────────────────────────────────────────────────────
|
|
74
|
-
/**
|
|
75
|
-
* Simulate a transaction via `eth_call`. Throws with the revert reason
|
|
76
|
-
* if the call would fail, so callers don't burn gas on doomed transactions.
|
|
77
|
-
*/
|
|
78
|
-
export async function simulateTransaction(signer, tx, label) {
|
|
79
|
-
try {
|
|
80
|
-
await signer.call({ to: tx.to, data: tx.data, from: signer.address });
|
|
81
|
-
}
|
|
82
|
-
catch (err) {
|
|
83
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
84
|
-
const match = msg.match(/reverted with.*?:\s*(.+)/i) ?? msg.match(/reason:\s*(.+)/i);
|
|
85
|
-
const reason = match?.[1]?.trim() ?? msg;
|
|
86
|
-
throw new Error(`${label} would revert: ${reason}`);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
// ── Revert reason extraction ─────────────────────────────────────────────────
|
|
90
|
-
/**
|
|
91
|
-
* Replay a reverted transaction to extract the on-chain revert reason.
|
|
92
|
-
*/
|
|
93
|
-
export async function getRevertReason(signer, txHash, blockNumber) {
|
|
94
|
-
try {
|
|
95
|
-
const tx = await signer.getTransaction(txHash);
|
|
96
|
-
if (!tx.to)
|
|
97
|
-
return "Transaction reverted";
|
|
98
|
-
await signer.call({
|
|
99
|
-
to: tx.to,
|
|
100
|
-
data: tx.input,
|
|
101
|
-
from: tx.from,
|
|
102
|
-
blockNumber,
|
|
103
|
-
});
|
|
104
|
-
return "Transaction reverted";
|
|
105
|
-
}
|
|
106
|
-
catch (err) {
|
|
107
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
108
|
-
const match = msg.match(/reverted with.*?:\s*(.+)/i) ?? msg.match(/reason:\s*(.+)/i);
|
|
109
|
-
return match?.[1]?.trim() ?? msg;
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
// ── Error classification ─────────────────────────────────────────────────────
|
|
113
|
-
/**
|
|
114
|
-
* Returns true if the error message indicates the user rejected the
|
|
115
|
-
* transaction in their wallet (MetaMask, etc.).
|
|
116
|
-
*/
|
|
117
|
-
export function isUserRejection(error) {
|
|
118
|
-
const msg = error instanceof Error ? error.message : String(error);
|
|
119
|
-
return /user rejected|user denied|rejected the request/i.test(msg);
|
|
120
|
-
}
|
|
121
|
-
// ── Signature parsing ────────────────────────────────────────────────────────
|
|
122
|
-
/**
|
|
123
|
-
* Parse a 65-byte hex signature into its `v`, `r`, `s` components.
|
|
124
|
-
*/
|
|
125
|
-
export function parseSignature(signature) {
|
|
126
|
-
const hex = signature.replace(/^0x/, "");
|
|
127
|
-
return {
|
|
128
|
-
r: `0x${hex.slice(0, 64)}`,
|
|
129
|
-
s: `0x${hex.slice(64, 128)}`,
|
|
130
|
-
v: Number.parseInt(hex.slice(128, 130), 16),
|
|
131
|
-
};
|
|
132
|
-
}
|
|
133
|
-
//# sourceMappingURL=wallet.js.map
|
package/dist/evm/wallet.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/evm/wallet.ts"],"names":[],"mappings":"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"}
|
package/dist/generated/api.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/generated/api.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|