@1llet.xyz/erc4337-gasless-sdk 0.4.22 → 0.4.24
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/index.js +95 -31
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +95 -31
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var chains = require('viem/chains');
|
|
3
4
|
var viem = require('viem');
|
|
4
5
|
var accounts = require('viem/accounts');
|
|
5
|
-
var chains = require('viem/chains');
|
|
6
6
|
var axios = require('axios');
|
|
7
7
|
var stellarSdk = require('stellar-sdk');
|
|
8
8
|
var oneClickSdkTypescript = require('@defuse-protocol/one-click-sdk-typescript');
|
|
@@ -11,7 +11,55 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
|
11
11
|
|
|
12
12
|
var axios__default = /*#__PURE__*/_interopDefault(axios);
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
var __defProp = Object.defineProperty;
|
|
15
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
16
|
+
var __esm = (fn, res) => function __init() {
|
|
17
|
+
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
|
|
18
|
+
};
|
|
19
|
+
var __export = (target, all) => {
|
|
20
|
+
for (var name in all)
|
|
21
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
// src/constants/facilitator.ts
|
|
25
|
+
var facilitator_exports = {};
|
|
26
|
+
__export(facilitator_exports, {
|
|
27
|
+
FACILITATOR_NETWORKS: () => FACILITATOR_NETWORKS,
|
|
28
|
+
calculateFee: () => calculateFee
|
|
29
|
+
});
|
|
30
|
+
var calculateFee, FACILITATOR_NETWORKS;
|
|
31
|
+
var init_facilitator = __esm({
|
|
32
|
+
"src/constants/facilitator.ts"() {
|
|
33
|
+
calculateFee = () => {
|
|
34
|
+
return BigInt(1e4);
|
|
35
|
+
};
|
|
36
|
+
FACILITATOR_NETWORKS = {
|
|
37
|
+
Base: {
|
|
38
|
+
chainId: 8453,
|
|
39
|
+
chain: chains.base,
|
|
40
|
+
usdc: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
|
|
41
|
+
usdcName: "USD Coin",
|
|
42
|
+
usdcVersion: "2",
|
|
43
|
+
domain: 6,
|
|
44
|
+
tokenMessenger: "0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",
|
|
45
|
+
messageTransmitter: "0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",
|
|
46
|
+
rpcUrl: "https://base-mainnet.g.alchemy.com/v2/49fUGmuW05ynCui0VEvDN"
|
|
47
|
+
},
|
|
48
|
+
Optimism: {
|
|
49
|
+
chainId: 10,
|
|
50
|
+
chain: chains.optimism,
|
|
51
|
+
usdc: "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85",
|
|
52
|
+
usdcName: "USD Coin",
|
|
53
|
+
usdcVersion: "2",
|
|
54
|
+
domain: 2,
|
|
55
|
+
tokenMessenger: "0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",
|
|
56
|
+
messageTransmitter: "0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",
|
|
57
|
+
rpcUrl: "https://opt-mainnet.g.alchemy.com/v2/49fUGmuW05ynCui0VEvDN"
|
|
58
|
+
// Assuming same key works or public
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
});
|
|
15
63
|
|
|
16
64
|
// src/constants.ts
|
|
17
65
|
var factoryAbi = [
|
|
@@ -818,34 +866,10 @@ var CHAIN_CONFIGS = {
|
|
|
818
866
|
[chains.gnosis.id]: GNOSIS_MAINNET,
|
|
819
867
|
[chains.optimism.id]: OPTIMISM_MAINNET
|
|
820
868
|
};
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
Base: {
|
|
826
|
-
chainId: 8453,
|
|
827
|
-
chain: chains.base,
|
|
828
|
-
usdc: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
|
|
829
|
-
usdcName: "USD Coin",
|
|
830
|
-
usdcVersion: "2",
|
|
831
|
-
domain: 6,
|
|
832
|
-
tokenMessenger: "0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",
|
|
833
|
-
messageTransmitter: "0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",
|
|
834
|
-
rpcUrl: "https://base-mainnet.g.alchemy.com/v2/49fUGmuW05ynCui0VEvDN"
|
|
835
|
-
},
|
|
836
|
-
Optimism: {
|
|
837
|
-
chainId: 10,
|
|
838
|
-
chain: chains.optimism,
|
|
839
|
-
usdc: "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85",
|
|
840
|
-
usdcName: "USD Coin",
|
|
841
|
-
usdcVersion: "2",
|
|
842
|
-
domain: 2,
|
|
843
|
-
tokenMessenger: "0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",
|
|
844
|
-
messageTransmitter: "0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",
|
|
845
|
-
rpcUrl: "https://opt-mainnet.g.alchemy.com/v2/49fUGmuW05ynCui0VEvDN"
|
|
846
|
-
// Assuming same key works or public
|
|
847
|
-
}
|
|
848
|
-
};
|
|
869
|
+
|
|
870
|
+
// src/services/gasless.ts
|
|
871
|
+
init_facilitator();
|
|
872
|
+
init_facilitator();
|
|
849
873
|
|
|
850
874
|
// src/constants/abis.ts
|
|
851
875
|
var usdcErc3009Abi = [
|
|
@@ -1045,6 +1069,10 @@ async function processGaslessSettlement(paymentPayload, sourceChain, amount, fac
|
|
|
1045
1069
|
netAmount: amountBigInt.toString()
|
|
1046
1070
|
};
|
|
1047
1071
|
}
|
|
1072
|
+
|
|
1073
|
+
// src/services/cctp.ts
|
|
1074
|
+
init_facilitator();
|
|
1075
|
+
init_facilitator();
|
|
1048
1076
|
var createRetrieveAttestation = async (transactionHash, chainId, timeout = 6e4) => {
|
|
1049
1077
|
const baseUrl = "https://iris-api.circle.com";
|
|
1050
1078
|
const url = `${baseUrl}/v2/messages/${chainId}?transactionHash=${transactionHash}`;
|
|
@@ -2014,7 +2042,43 @@ var NearStrategy = class {
|
|
|
2014
2042
|
return !!(sourceNear && destNear);
|
|
2015
2043
|
}
|
|
2016
2044
|
async execute(context) {
|
|
2017
|
-
const { sourceChain, destChain, amount, recipient, destToken, sourceToken, senderAddress } = context;
|
|
2045
|
+
const { sourceChain, destChain, amount, recipient, destToken, sourceToken, senderAddress, depositTxHash } = context;
|
|
2046
|
+
if (depositTxHash) {
|
|
2047
|
+
console.log(`[NearStrategy] Verifying deposit hash: ${depositTxHash}`);
|
|
2048
|
+
const { createPublicClient: createPublicClient4, http: http4 } = await import('viem');
|
|
2049
|
+
const { FACILITATOR_NETWORKS: FACILITATOR_NETWORKS2 } = await Promise.resolve().then(() => (init_facilitator(), facilitator_exports));
|
|
2050
|
+
const networkConfig = FACILITATOR_NETWORKS2[sourceChain];
|
|
2051
|
+
if (!networkConfig) {
|
|
2052
|
+
return { success: false, errorReason: `Unsupported source chain for verification: ${sourceChain}` };
|
|
2053
|
+
}
|
|
2054
|
+
const publicClient = createPublicClient4({
|
|
2055
|
+
chain: networkConfig.chain,
|
|
2056
|
+
transport: http4(networkConfig.rpcUrl)
|
|
2057
|
+
});
|
|
2058
|
+
try {
|
|
2059
|
+
console.log(`[NearStrategy] Waiting for receipt...`);
|
|
2060
|
+
const receipt = await publicClient.waitForTransactionReceipt({ hash: depositTxHash });
|
|
2061
|
+
console.log(`[NearStrategy] Receipt found. Status: ${receipt.status}`);
|
|
2062
|
+
if (receipt.status === "success") {
|
|
2063
|
+
return {
|
|
2064
|
+
success: true,
|
|
2065
|
+
transactionHash: depositTxHash,
|
|
2066
|
+
netAmount: amount,
|
|
2067
|
+
// rough estimate or we can re-quote if needed
|
|
2068
|
+
data: {
|
|
2069
|
+
// Info for UI
|
|
2070
|
+
completed: true
|
|
2071
|
+
}
|
|
2072
|
+
};
|
|
2073
|
+
} else {
|
|
2074
|
+
console.error(`[NearStrategy] Transaction failed. Status: ${receipt.status}`);
|
|
2075
|
+
return { success: false, errorReason: `Transaction Reverted on-chain (Status: ${receipt.status})` };
|
|
2076
|
+
}
|
|
2077
|
+
} catch (e) {
|
|
2078
|
+
console.error(`[NearStrategy] Verification Error:`, e);
|
|
2079
|
+
return { success: false, errorReason: `Verification Error: ${e.message}` };
|
|
2080
|
+
}
|
|
2081
|
+
}
|
|
2018
2082
|
try {
|
|
2019
2083
|
const quoteResult = await getNearQuote(
|
|
2020
2084
|
sourceChain,
|