@1llet.xyz/erc4337-gasless-sdk 0.4.21 → 0.4.23

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 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
- // src/AccountAbstraction.ts
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
- var calculateFee = () => {
822
- return BigInt(1e4);
823
- };
824
- var FACILITATOR_NETWORKS = {
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}`;
@@ -1755,6 +1783,7 @@ var CCTPStrategy = class {
1755
1783
  };
1756
1784
  async function processCCTPSettlement(context, crossChainConfig) {
1757
1785
  const { paymentPayload, sourceChain, amount, recipient, facilitatorPrivateKey, depositTxHash } = context;
1786
+ console.log(`[SDK v0.4.22] Processing CCTP. DepositHash: ${depositTxHash} (${typeof depositTxHash})`);
1758
1787
  if (!facilitatorPrivateKey) {
1759
1788
  return {
1760
1789
  success: false,
@@ -1808,6 +1837,7 @@ async function processCCTPSettlement(context, crossChainConfig) {
1808
1837
  };
1809
1838
  }
1810
1839
  } else {
1840
+ console.log("[SDK v0.4.22] No deposit hash. Returning PENDING_USER_DEPOSIT.");
1811
1841
  return {
1812
1842
  success: true,
1813
1843
  data: {
@@ -1816,10 +1846,10 @@ async function processCCTPSettlement(context, crossChainConfig) {
1816
1846
  chainId: networkConfig.chainId
1817
1847
  },
1818
1848
  attestation: {
1819
- message: "PENDING_USER_DEPOSIT",
1849
+ message: "PENDING_USER_DEPOSIT_v22",
1820
1850
  attestation: "0x"
1821
1851
  },
1822
- transactionHash: "PENDING_USER_DEPOSIT"
1852
+ transactionHash: "PENDING_USER_DEPOSIT_v22"
1823
1853
  };
1824
1854
  }
1825
1855
  const transferHash = depositTxHash || "0x0000000000000000000000000000000000000000000000000000000000000000";
@@ -2012,7 +2042,37 @@ var NearStrategy = class {
2012
2042
  return !!(sourceNear && destNear);
2013
2043
  }
2014
2044
  async execute(context) {
2015
- 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
+ const receipt = await publicClient.waitForTransactionReceipt({ hash: depositTxHash });
2060
+ if (receipt.status === "success") {
2061
+ return {
2062
+ success: true,
2063
+ transactionHash: depositTxHash,
2064
+ netAmount: amount,
2065
+ // rough estimate or we can re-quote if needed
2066
+ data: {
2067
+ // Info for UI
2068
+ completed: true
2069
+ }
2070
+ };
2071
+ }
2072
+ } catch (e) {
2073
+ return { success: false, errorReason: `Invalid deposit transaction: ${e.message}` };
2074
+ }
2075
+ }
2016
2076
  try {
2017
2077
  const quoteResult = await getNearQuote(
2018
2078
  sourceChain,