@tradestack/paymaster 1.1.6 → 1.2.0

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.
Files changed (46) hide show
  1. package/dist/backend/config/constants.js +2 -2
  2. package/dist/backend/helper/hotwallet.d.ts +1 -0
  3. package/dist/backend/helper/hotwallet.d.ts.map +1 -1
  4. package/dist/backend/helper/hotwallet.js +8 -1
  5. package/dist/backend/helper/hotwallet.js.map +1 -1
  6. package/dist/backend/services/chains/evm.service.d.ts +5 -4
  7. package/dist/backend/services/chains/evm.service.d.ts.map +1 -1
  8. package/dist/backend/services/chains/evm.service.js +74 -92
  9. package/dist/backend/services/chains/evm.service.js.map +1 -1
  10. package/dist/backend/services/chains/solana.service.d.ts +3 -2
  11. package/dist/backend/services/chains/solana.service.d.ts.map +1 -1
  12. package/dist/backend/services/chains/solana.service.js +45 -14
  13. package/dist/backend/services/chains/solana.service.js.map +1 -1
  14. package/dist/backend/services/chains/tron.service.d.ts +3 -2
  15. package/dist/backend/services/chains/tron.service.d.ts.map +1 -1
  16. package/dist/backend/services/chains/tron.service.js +60 -19
  17. package/dist/backend/services/chains/tron.service.js.map +1 -1
  18. package/dist/backend/services/sweep.service.d.ts +4 -3
  19. package/dist/backend/services/sweep.service.d.ts.map +1 -1
  20. package/dist/backend/services/sweep.service.js +18 -15
  21. package/dist/backend/services/sweep.service.js.map +1 -1
  22. package/dist/backend/services/sweep.worker.d.ts.map +1 -1
  23. package/dist/backend/services/sweep.worker.js +23 -23
  24. package/dist/backend/services/sweep.worker.js.map +1 -1
  25. package/dist/backend/services/sweeper/evm.sweep.service.d.ts +3 -2
  26. package/dist/backend/services/sweeper/evm.sweep.service.d.ts.map +1 -1
  27. package/dist/backend/services/sweeper/evm.sweep.service.js +4 -4
  28. package/dist/backend/services/sweeper/evm.sweep.service.js.map +1 -1
  29. package/dist/backend/services/sweeper/solana.sweep.service.d.ts +3 -2
  30. package/dist/backend/services/sweeper/solana.sweep.service.d.ts.map +1 -1
  31. package/dist/backend/services/sweeper/solana.sweep.service.js +4 -4
  32. package/dist/backend/services/sweeper/solana.sweep.service.js.map +1 -1
  33. package/dist/backend/services/sweeper/tron.sweep.service.d.ts +3 -2
  34. package/dist/backend/services/sweeper/tron.sweep.service.d.ts.map +1 -1
  35. package/dist/backend/services/sweeper/tron.sweep.service.js +4 -4
  36. package/dist/backend/services/sweeper/tron.sweep.service.js.map +1 -1
  37. package/dist/sdk/db/adapter.d.ts +6 -7
  38. package/dist/sdk/db/adapter.d.ts.map +1 -1
  39. package/dist/sdk/db/adapter.js +17 -0
  40. package/dist/sdk/db/adapter.js.map +1 -1
  41. package/dist/sdk/index.d.ts.map +1 -1
  42. package/dist/sdk/index.js +3 -0
  43. package/dist/sdk/index.js.map +1 -1
  44. package/dist/sdk/types.d.ts +13 -0
  45. package/dist/sdk/types.d.ts.map +1 -1
  46. package/package.json +1 -1
@@ -64,8 +64,8 @@ exports.CHAIN_REGISTRY = {
64
64
  rpcUrl: `https://arb-mainnet.g.alchemy.com/v2/${process.env.ALCHEMY_API_KEY}`,
65
65
  bundlerRpc: `https://api.pimlico.io/v2/arbitrum/rpc?apikey=${PIMLICO_KEY}`,
66
66
  blockExplorer: "https://arbiscan.io",
67
- entryPointAddress: "0x4337084d9e255ff0702461cf8895ce9e3b5ff108",
68
- paymasterAddress: "0x72BA91B30f4a5D004dfCc1F9057F12c15e22221f", // no paymaster deployed on Arbitrum mainnet yet
67
+ entryPointAddress: "0x0000000071727De22E5E9d8BAf0edAc6f37da032",
68
+ paymasterAddress: "0x247440C967d715243764F2A669a656e9df75229F", // no paymaster deployed on Arbitrum mainnet yet
69
69
  tokens: {
70
70
  USDC: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
71
71
  USDT: "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9",
@@ -1,4 +1,5 @@
1
1
  export declare const getEVMHotWallet: () => string;
2
2
  export declare const getSolanaHotWallet: () => string;
3
3
  export declare const getTronHotWallet: () => string;
4
+ export declare const getBatchSweepId: () => string;
4
5
  //# sourceMappingURL=hotwallet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hotwallet.d.ts","sourceRoot":"","sources":["../../../../src/backend/helper/hotwallet.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,QAAO,MAIlC,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAAO,MAIrC,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAO,MAInC,CAAC"}
1
+ {"version":3,"file":"hotwallet.d.ts","sourceRoot":"","sources":["../../../../src/backend/helper/hotwallet.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,QAAO,MAIlC,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAAO,MAIrC,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAO,MAInC,CAAC;AAEF,eAAO,MAAM,eAAe,QAAO,MAIlC,CAAA"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getTronHotWallet = exports.getSolanaHotWallet = exports.getEVMHotWallet = void 0;
3
+ exports.getBatchSweepId = exports.getTronHotWallet = exports.getSolanaHotWallet = exports.getEVMHotWallet = void 0;
4
4
  const getEVMHotWallet = () => {
5
5
  const wallet = process.env.EVM_HOT_WALLET;
6
6
  if (!wallet)
@@ -22,4 +22,11 @@ const getTronHotWallet = () => {
22
22
  return wallet;
23
23
  };
24
24
  exports.getTronHotWallet = getTronHotWallet;
25
+ const getBatchSweepId = () => {
26
+ const id = process.env.BATCH_SWEEP_ID;
27
+ if (!id)
28
+ throw new Error("BATCH_SWEEP_ID is not set");
29
+ return id;
30
+ };
31
+ exports.getBatchSweepId = getBatchSweepId;
25
32
  //# sourceMappingURL=hotwallet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hotwallet.js","sourceRoot":"","sources":["../../../../src/backend/helper/hotwallet.ts"],"names":[],"mappings":";;;AAAO,MAAM,eAAe,GAAG,GAAW,EAAE;IAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAC1C,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC1D,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAJW,QAAA,eAAe,mBAI1B;AAEK,MAAM,kBAAkB,GAAG,GAAW,EAAE;IAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;IACrD,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACrE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAJW,QAAA,kBAAkB,sBAI7B;AAEK,MAAM,gBAAgB,GAAG,GAAW,EAAE;IAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;IACnD,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACnE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAJW,QAAA,gBAAgB,oBAI3B"}
1
+ {"version":3,"file":"hotwallet.js","sourceRoot":"","sources":["../../../../src/backend/helper/hotwallet.ts"],"names":[],"mappings":";;;AAAO,MAAM,eAAe,GAAG,GAAW,EAAE;IAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAC1C,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC1D,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAJW,QAAA,eAAe,mBAI1B;AAEK,MAAM,kBAAkB,GAAG,GAAW,EAAE;IAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;IACrD,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACrE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAJW,QAAA,kBAAkB,sBAI7B;AAEK,MAAM,gBAAgB,GAAG,GAAW,EAAE;IAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;IACnD,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACnE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAJW,QAAA,gBAAgB,oBAI3B;AAEK,MAAM,eAAe,GAAG,GAAW,EAAE;IAC1C,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IACtC,IAAI,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACtD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAA;AAJY,QAAA,eAAe,mBAI3B"}
@@ -1,5 +1,6 @@
1
1
  import { EVMChainConfig } from "../../config/chains";
2
2
  import { TokenKey } from "../../config/constants";
3
+ import { Wallet } from "../../../sdk/types";
3
4
  export declare const getPublicClient: (chainConfig: EVMChainConfig) => {
4
5
  account: undefined;
5
6
  batch?: {
@@ -3337,7 +3338,7 @@ export declare const getPublicClient: (chainConfig: EVMChainConfig) => {
3337
3338
  authorizationList: import("viem").TransactionSerializableEIP7702["authorizationList"];
3338
3339
  } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) ? T_12 extends "eip7702" ? import("viem").TransactionRequestEIP7702 : never : never : never)>> & {
3339
3340
  chainId?: number | undefined;
3340
- }, (request["parameters"] extends readonly import("viem").PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "chainId" | "nonce" | "type" | "blobVersionedHashes" | "gas" | "fees") extends infer T_13 ? T_13 extends (request["parameters"] extends readonly import("viem").PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "chainId" | "nonce" | "type" | "blobVersionedHashes" | "gas" | "fees") ? T_13 extends "fees" ? "gasPrice" | "maxPriorityFeePerGas" | "maxFeePerGas" : T_13 : never : never> & (unknown extends request["kzg"] ? {} : Pick<request, "kzg">) & {
3341
+ }, (request["parameters"] extends readonly import("viem").PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "chainId" | "type" | "nonce" | "blobVersionedHashes" | "gas" | "fees") extends infer T_13 ? T_13 extends (request["parameters"] extends readonly import("viem").PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "chainId" | "type" | "nonce" | "blobVersionedHashes" | "gas" | "fees") ? T_13 extends "fees" ? "gasPrice" | "maxPriorityFeePerGas" | "maxFeePerGas" : T_13 : never : never> & (unknown extends request["kzg"] ? {} : Pick<request, "kzg">) & {
3341
3342
  _capabilities?: {
3342
3343
  [x: string]: any;
3343
3344
  } | undefined;
@@ -3388,7 +3389,7 @@ export declare const getPublicClient: (chainConfig: EVMChainConfig) => {
3388
3389
  uid?: undefined;
3389
3390
  } & import("viem").ExactPartial<Pick<import("viem").PublicActions<import("viem").HttpTransport<undefined, false>, any, undefined>, "call" | "createContractEventFilter" | "createEventFilter" | "estimateContractGas" | "estimateGas" | "getBlock" | "getBlockNumber" | "getChainId" | "getContractEvents" | "getEnsText" | "getFilterChanges" | "getGasPrice" | "getLogs" | "getTransaction" | "getTransactionCount" | "getTransactionReceipt" | "prepareTransactionRequest" | "readContract" | "sendRawTransaction" | "simulateContract" | "uninstallFilter" | "watchBlockNumber" | "watchContractEvent"> & Pick<import("viem").WalletActions<any, undefined>, "sendTransaction" | "writeContract">>>(fn: (client: import("viem").Client<import("viem").HttpTransport<undefined, false>, any, undefined, import("viem").PublicRpcSchema, import("viem").PublicActions<import("viem").HttpTransport<undefined, false>, any>>) => client) => import("viem").Client<import("viem").HttpTransport<undefined, false>, any, undefined, import("viem").PublicRpcSchema, { [K in keyof client]: client[K]; } & import("viem").PublicActions<import("viem").HttpTransport<undefined, false>, any>>;
3390
3391
  };
3391
- export declare const getSmartAccountClient: (ownerPrivateKey: string, chainConfig: EVMChainConfig) => Promise<import("permissionless").SmartAccountClient<import("viem").HttpTransport<undefined, false>, any, object & {
3392
+ export declare const getSmartAccountClient: (ownerPrivateKey: string, chainConfig?: EVMChainConfig) => Promise<import("permissionless").SmartAccountClient<import("viem").HttpTransport<undefined, false>, any, object & {
3392
3393
  client: import("viem").Client<import("viem").Transport, import("viem").Chain | undefined, {
3393
3394
  address: import("viem").Address;
3394
3395
  nonceManager?: import("viem").NonceManager | undefined;
@@ -5747,11 +5748,11 @@ export declare const getSmartAccountClient: (ownerPrivateKey: string, chainConfi
5747
5748
  isDeployed: () => Promise<boolean>;
5748
5749
  type: "smart";
5749
5750
  }, undefined, undefined>>;
5750
- export declare const sweepERC20: (walletAddress: string, chainConfig: EVMChainConfig, token: TokenKey) => Promise<{
5751
+ export declare const sweepERC20: (wallet: Wallet, chainConfig: EVMChainConfig, token: TokenKey) => Promise<{
5751
5752
  txHash: string;
5752
5753
  amount: string;
5753
5754
  }>;
5754
- export declare const sweepNativeETH: (walletAddress: string, chainConfig: EVMChainConfig) => Promise<{
5755
+ export declare const sweepNativeETH: (wallet: Wallet, chainConfig: EVMChainConfig) => Promise<{
5755
5756
  txHash: string;
5756
5757
  amount: string;
5757
5758
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"evm.service.d.ts","sourceRoot":"","sources":["../../../../../src/backend/services/chains/evm.service.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,cAAc,EAAiB,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,QAAQ,EAA2B,MAAM,wBAAwB,CAAC;AAoD3E,eAAO,MAAM,eAAe,GAAI,aAAa,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;irBAgU1C,CAAC;;;;;;;;;;;;;;;;;;;;yBA0G+hL,CAAC;mCAA6lC,CAAC;;;;;;;;;;;;;;;;;yeAAumoB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAravv1B,CAAC;AA8EF,eAAO,MAAM,qBAAqB,GAChC,iBAAiB,MAAM,EACvB,aAAa,cAAc;;;;;;;;;;;wTAlHqB,CAAC;sBAE1C,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA4DwB,CAAC;mBACI,CAAC;;2BAKlB,CAAA;WAAe,CAAC;;iCASzB,CAAC;;;;;;;;;;eAgDR,CAD+B;;;mBAOoB,CAAC;;;;;;;;yBAsBzD,CAAC;AAGF,eAAO,MAAM,UAAU,GACrB,eAAe,MAAM,EACrB,aAAa,cAAc,EAC3B,OAAO,QAAQ,KACd,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAgI5C,CAAC;AAKF,eAAO,MAAM,cAAc,GACzB,eAAe,MAAM,EACrB,aAAa,cAAc,KAC1B,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAoH5C,CAAC;AAGF,eAAO,MAAM,eAAe,GAC1B,eAAe,MAAM,EACrB,aAAa,cAAc,EAC3B,OAAO,QAAQ,KACd,OAAO,CAAC,MAAM,CAoBhB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,eAAe,MAAM,EACrB,aAAa,cAAc,KAC1B,OAAO,CAAC,MAAM,CAUhB,CAAC"}
1
+ {"version":3,"file":"evm.service.d.ts","sourceRoot":"","sources":["../../../../../src/backend/services/chains/evm.service.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,cAAc,EAAiB,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,QAAQ,EAA2B,MAAM,wBAAwB,CAAC;AAK3E,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAgD5C,eAAO,MAAM,eAAe,GAAI,aAAa,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;irBAkUpB,CAAC;;;;;;;;;;;;;;;;;;;;yBAiG2gL,CAAC;mCAA6lC,CAAC;;;;;;;;;;;;;;;;;yeAAumoB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA9Zzv1B,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAChC,iBAAiB,MAAM,EACvB,cAAa,cAAwD;;;;;;;;;;;wTAtC/D,CAAC;sBAAsB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA+DN,CAAC;mBAErB,CADW;;2BAKP,CAAV;WACQ,CAAN;;iCAQyB,CAAC;;;;;;;;;;eAqD1B,CADF;;;mBAKiD,CAAC;;;;;;;;yBAzBjD,CAAC;AAIF,eAAO,MAAM,UAAU,GACrB,QAAQ,MAAM,EACd,aAAa,cAAc,EAC3B,OAAO,QAAQ,KACd,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAmJ5C,CAAC;AAKF,eAAO,MAAM,cAAc,GACzB,QAAQ,MAAM,EACd,aAAa,cAAc,KAC1B,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAoI5C,CAAC;AAGF,eAAO,MAAM,eAAe,GAC1B,eAAe,MAAM,EACrB,aAAa,cAAc,EAC3B,OAAO,QAAQ,KACd,OAAO,CAAC,MAAM,CAoBhB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,eAAe,MAAM,EACrB,aAAa,cAAc,KAC1B,OAAO,CAAC,MAAM,CAUhB,CAAC"}
@@ -11,8 +11,10 @@ const permissionless_1 = require("permissionless");
11
11
  const accounts_2 = require("permissionless/accounts");
12
12
  const pimlico_1 = require("permissionless/clients/pimlico");
13
13
  const account_abstraction_1 = require("viem/account-abstraction");
14
+ const chains_1 = require("../../config/chains");
14
15
  const constants_1 = require("../../config/constants");
15
16
  const db_context_1 = require("../../config/db.context");
17
+ const paymaster_service_1 = require("../paymaster.service");
16
18
  const ERC20Abi_json_1 = __importDefault(require("../../contract/abi/ERC20Abi.json"));
17
19
  const hotwallet_1 = require("../../helper/hotwallet");
18
20
  const getMasterWallet = () => {
@@ -55,103 +57,51 @@ const getPublicClient = (chainConfig) => {
55
57
  });
56
58
  };
57
59
  exports.getPublicClient = getPublicClient;
58
- // export const getSmartAccountClient = async (
59
- // ownerPrivateKey: string,
60
- // chainConfig: EVMChainConfig = CHAIN_CONFIGS.sepolia as EVMChainConfig,
61
- // ) => {
62
- // const publicClient = getPublicClient(chainConfig);
63
- // const owner = privateKeyToAccount(ownerPrivateKey as `0x${string}`);
64
- // const smartAccount = await toSimpleSmartAccount({
65
- // client: publicClient,
66
- // owner,
67
- // entryPoint: {
68
- // address: entryPoint08Address,
69
- // version: "0.8",
70
- // },
71
- // });
72
- // const pimlicoClient = createPimlicoClient({
73
- // transport: http(chainConfig.bundlerRpc),
74
- // entryPoint: {
75
- // address: entryPoint08Address,
76
- // version: "0.8",
77
- // },
78
- // });
79
- // const smartAccountClient = createSmartAccountClient({
80
- // account: smartAccount,
81
- // chain: chainConfig.viemChain,
82
- // bundlerTransport: http(chainConfig.bundlerRpc),
83
- // paymaster: {
84
- // async getPaymasterStubData(userOperation) {
85
- // const serializedUserOp = JSON.parse(
86
- // JSON.stringify(userOperation, (_, value) =>
87
- // typeof value === "bigint" ? value.toString() : value,
88
- // ),
89
- // );
90
- // const paymasterData = await signUserOperation(
91
- // serializedUserOp,
92
- // chainConfig,
93
- // );
94
- // return {
95
- // paymaster: chainConfig.paymasterAddress as `0x${string}`,
96
- // paymasterData: paymasterData as `0x${string}`,
97
- // paymasterVerificationGasLimit: 200000n,
98
- // paymasterPostOpGasLimit: 100000n,
99
- // isFinal: true,
100
- // };
101
- // },
102
- // async getPaymasterData(userOperation) {
103
- // const serializedUserOp = JSON.parse(
104
- // JSON.stringify(userOperation, (_, value) =>
105
- // typeof value === "bigint" ? value.toString() : value,
106
- // ),
107
- // );
108
- // const paymasterData = await signUserOperation(
109
- // serializedUserOp,
110
- // chainConfig,
111
- // );
112
- // return {
113
- // paymaster: chainConfig.paymasterAddress as `0x${string}`,
114
- // paymasterData: paymasterData as `0x${string}`,
115
- // paymasterVerificationGasLimit: 200000n,
116
- // paymasterPostOpGasLimit: 100000n,
117
- // };
118
- // },
119
- // },
120
- // userOperation: {
121
- // estimateFeesPerGas: async () => {
122
- // const fees = await pimlicoClient.getUserOperationGasPrice();
123
- // return fees.fast;
124
- // },
125
- // },
126
- // });
127
- // return smartAccountClient;
128
- // };
129
- const getSmartAccountClient = async (ownerPrivateKey, chainConfig) => {
60
+ const getSmartAccountClient = async (ownerPrivateKey, chainConfig = chains_1.CHAIN_CONFIGS.sepolia) => {
130
61
  const publicClient = (0, exports.getPublicClient)(chainConfig);
131
62
  const owner = (0, accounts_1.privateKeyToAccount)(ownerPrivateKey);
132
- // Create account with EntryPoint v0.7 (matches your deposit wallets)
133
63
  const smartAccount = await (0, accounts_2.toSimpleSmartAccount)({
134
64
  client: publicClient,
135
65
  owner,
136
66
  entryPoint: {
137
- address: account_abstraction_1.entryPoint07Address, // v0.7 address
67
+ address: account_abstraction_1.entryPoint07Address,
138
68
  version: "0.7",
139
69
  },
140
70
  });
141
- // Create Pimlico client with v0.7 EntryPoint
142
71
  const pimlicoClient = (0, pimlico_1.createPimlicoClient)({
143
- transport: (0, viem_1.http)(`https://api.pimlico.io/v2/${chainConfig.chainId}/rpc?apikey=${process.env.PIMLICO_API_KEY}`),
72
+ transport: (0, viem_1.http)(chainConfig.bundlerRpc),
144
73
  entryPoint: {
145
74
  address: account_abstraction_1.entryPoint07Address,
146
75
  version: "0.7",
147
76
  },
148
77
  });
149
- // Create smart account client with Pimlico paymaster
150
78
  const smartAccountClient = (0, permissionless_1.createSmartAccountClient)({
151
79
  account: smartAccount,
152
80
  chain: chainConfig.viemChain,
153
81
  bundlerTransport: (0, viem_1.http)(chainConfig.bundlerRpc),
154
- paymaster: pimlicoClient, // Pimlico handles v0.7 paymaster
82
+ paymaster: {
83
+ async getPaymasterStubData(userOperation) {
84
+ const serializedUserOp = JSON.parse(JSON.stringify(userOperation, (_, value) => typeof value === "bigint" ? value.toString() : value));
85
+ const paymasterData = await (0, paymaster_service_1.signUserOperation)(serializedUserOp, chainConfig);
86
+ return {
87
+ paymaster: chainConfig.paymasterAddress,
88
+ paymasterData: paymasterData,
89
+ paymasterVerificationGasLimit: 200000n,
90
+ paymasterPostOpGasLimit: 100000n,
91
+ isFinal: true,
92
+ };
93
+ },
94
+ async getPaymasterData(userOperation) {
95
+ const serializedUserOp = JSON.parse(JSON.stringify(userOperation, (_, value) => typeof value === "bigint" ? value.toString() : value));
96
+ const paymasterData = await (0, paymaster_service_1.signUserOperation)(serializedUserOp, chainConfig);
97
+ return {
98
+ paymaster: chainConfig.paymasterAddress,
99
+ paymasterData: paymasterData,
100
+ paymasterVerificationGasLimit: 200000n,
101
+ paymasterPostOpGasLimit: 100000n,
102
+ };
103
+ },
104
+ },
155
105
  userOperation: {
156
106
  estimateFeesPerGas: async () => {
157
107
  const fees = await pimlicoClient.getUserOperationGasPrice();
@@ -163,13 +113,17 @@ const getSmartAccountClient = async (ownerPrivateKey, chainConfig) => {
163
113
  };
164
114
  exports.getSmartAccountClient = getSmartAccountClient;
165
115
  // ─── ERC-20 Token Sweep ───────────────────────────────────────────────────────
166
- const sweepERC20 = async (walletAddress, chainConfig, token) => {
116
+ const sweepERC20 = async (wallet, chainConfig, token) => {
117
+ const walletAddress = wallet.address;
118
+ const toAddress = (0, hotwallet_1.getEVMHotWallet)();
167
119
  const tokenAddress = chainConfig.tokens[token];
120
+ const batchSweepId = (0, hotwallet_1.getBatchSweepId)();
168
121
  if (!tokenAddress || tokenAddress.includes("DUMMY")) {
169
122
  console.log(`[${chainConfig.name}] ${token} not configured, skipping ${walletAddress}`);
170
123
  return { txHash: "", amount: "0" };
171
124
  }
172
125
  try {
126
+ const adapter = (0, db_context_1.getDBAdapter)();
173
127
  const hd_index = await getWalletHdIndex(walletAddress);
174
128
  const privateKey = derivePrivateKey(hd_index);
175
129
  const publicClient = (0, exports.getPublicClient)(chainConfig);
@@ -203,7 +157,7 @@ const sweepERC20 = async (walletAddress, chainConfig, token) => {
203
157
  const callData = (0, viem_1.encodeFunctionData)({
204
158
  abi: ERC20Abi_json_1.default,
205
159
  functionName: "transfer",
206
- args: [(0, hotwallet_1.getEVMHotWallet)(), balance],
160
+ args: [toAddress, balance],
207
161
  });
208
162
  const userOpHash = await smartAccountClient.sendUserOperation({
209
163
  calls: [
@@ -218,12 +172,24 @@ const sweepERC20 = async (walletAddress, chainConfig, token) => {
218
172
  const txHash = receipt.receipt.transactionHash;
219
173
  // Fix decimal handling - don't assume 6 decimals for all tokens
220
174
  const decimals = await getTokenDecimals(publicClient, tokenAddress);
175
+ const balanceAfter = await publicClient.readContract({
176
+ address: tokenAddress,
177
+ abi: ERC20Abi_json_1.default,
178
+ functionName: "balanceOf",
179
+ args: [walletAddress],
180
+ });
221
181
  const amountFormatted = (0, viem_1.formatUnits)(balance, decimals);
222
- console.log(`[${chainConfig.name}] Sweep complete: ${amountFormatted} ${token} → ${(0, hotwallet_1.getEVMHotWallet)()}`);
182
+ const amountAfterFormatted = (0, viem_1.formatUnits)(balanceAfter, decimals);
183
+ console.log(`[${chainConfig.name}] Sweep complete: ${amountFormatted} ${token} → ${toAddress}`);
223
184
  console.log(`[${chainConfig.name}] Tx hash: ${txHash}`);
185
+ await adapter?.updateWalletBalanceById({
186
+ id: wallet.id,
187
+ balance: amountAfterFormatted,
188
+ type: token,
189
+ });
224
190
  await (0, db_context_1.dbQuery)(`INSERT INTO sweep_history
225
- (wallet_address, chain_id, token, amount, tx_hash, status, created_at)
226
- VALUES (?, ?, ?, ?, ?, 'success', NOW())`, [walletAddress, chainConfig.chainId, token, amountFormatted, txHash]);
191
+ (wallet_address, batch_sweep_id, chain_id, token, amount, balance_before, balance_after, to_address, tx_hash, status, created_at)
192
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, 'success', NOW())`, [walletAddress, batchSweepId, chainConfig.chainId, token, amountFormatted, amountFormatted, amountAfterFormatted, toAddress, txHash]);
227
193
  return { txHash, amount: amountFormatted };
228
194
  }
229
195
  catch (err) {
@@ -236,11 +202,13 @@ const sweepERC20 = async (walletAddress, chainConfig, token) => {
236
202
  return { txHash: "", amount: "0" };
237
203
  }
238
204
  await (0, db_context_1.dbQuery)(`INSERT INTO sweep_history
239
- (wallet_address, chain_id, token, amount, tx_hash, status, error, created_at)
240
- VALUES (?, ?, ?, '0', NULL, 'failed', ?, NOW())`, [
205
+ (wallet_address, batch_sweep_id, chain_id, token, amount, balance_before, balance_after, to_address, tx_hash, status, error, created_at)
206
+ VALUES (?, ?, ?, ?, '0', NULL, NULL, ?, NULL, 'failed', ?, NOW())`, [
241
207
  walletAddress,
208
+ batchSweepId,
242
209
  chainConfig.chainId,
243
210
  token,
211
+ toAddress,
244
212
  err instanceof Error ? err.message : "Unknown error",
245
213
  ]);
246
214
  throw err;
@@ -249,8 +217,12 @@ const sweepERC20 = async (walletAddress, chainConfig, token) => {
249
217
  exports.sweepERC20 = sweepERC20;
250
218
  // Helper function to get token decimals
251
219
  // ─── Native ETH Sweep ─────────────────────────────────────────────────────────
252
- const sweepNativeETH = async (walletAddress, chainConfig) => {
220
+ const sweepNativeETH = async (wallet, chainConfig) => {
221
+ const walletAddress = wallet.address;
222
+ const toAddress = (0, hotwallet_1.getEVMHotWallet)();
223
+ const batchSweepId = (0, hotwallet_1.getBatchSweepId)();
253
224
  try {
225
+ const adapter = (0, db_context_1.getDBAdapter)();
254
226
  const hd_index = await getWalletHdIndex(walletAddress);
255
227
  const privateKey = derivePrivateKey(hd_index);
256
228
  const publicClient = (0, exports.getPublicClient)(chainConfig);
@@ -284,7 +256,7 @@ const sweepNativeETH = async (walletAddress, chainConfig) => {
284
256
  userOpHash = await smartAccountClient.sendUserOperation({
285
257
  calls: [
286
258
  {
287
- to: (0, hotwallet_1.getEVMHotWallet)(),
259
+ to: toAddress,
288
260
  value: balance,
289
261
  data: "0x",
290
262
  },
@@ -296,12 +268,21 @@ const sweepNativeETH = async (walletAddress, chainConfig) => {
296
268
  new Promise((_, reject) => setTimeout(() => reject(new Error("UserOp receipt timeout after 60s")), 60000)),
297
269
  ]));
298
270
  const txHash = receipt.receipt.transactionHash;
271
+ const balanceAfter = await publicClient.getBalance({
272
+ address: walletAddress,
273
+ });
299
274
  const amountFormatted = (0, viem_1.formatEther)(balance);
300
- console.log(`[${chainConfig.name}] ETH Sweep complete: ${amountFormatted} ETH → ${(0, hotwallet_1.getEVMHotWallet)()}`);
275
+ const amountAfterFormatted = (0, viem_1.formatEther)(balanceAfter);
276
+ console.log(`[${chainConfig.name}] ETH Sweep complete: ${amountFormatted} ETH → ${toAddress}`);
301
277
  console.log(`[${chainConfig.name}] Tx hash: ${txHash}`);
278
+ await adapter?.updateWalletBalanceById({
279
+ id: wallet.id,
280
+ balance: amountAfterFormatted,
281
+ type: 'native',
282
+ });
302
283
  await (0, db_context_1.dbQuery)(`INSERT INTO sweep_history
303
- (wallet_address, chain_id, token, amount, tx_hash, status, created_at)
304
- VALUES (?, ?, 'ETH', ?, ?, 'success', NOW())`, [walletAddress, chainConfig.chainId, amountFormatted, txHash]);
284
+ (wallet_address, batch_sweep_id, chain_id, token, amount, balance_before, balance_after, to_address, tx_hash, status, created_at)
285
+ VALUES (?, ?, ?, 'ETH', ?,?,?,?, ?, 'success', NOW())`, [walletAddress, batchSweepId, chainConfig.chainId, amountFormatted, amountFormatted, amountAfterFormatted, toAddress, txHash]);
305
286
  return { txHash, amount: amountFormatted };
306
287
  }
307
288
  catch (err) {
@@ -314,9 +295,10 @@ const sweepNativeETH = async (walletAddress, chainConfig) => {
314
295
  return { txHash: "", amount: "0" };
315
296
  }
316
297
  await (0, db_context_1.dbQuery)(`INSERT INTO sweep_history
317
- (wallet_address, chain_id, token, amount, tx_hash, status, error, created_at)
318
- VALUES (?, ?, 'ETH', '0', NULL, 'failed', ?, NOW())`, [
298
+ (wallet_address, batch_sweep_id, chain_id, token, amount, balance_before, balance_after, to_address, tx_hash, status, error, created_at)
299
+ VALUES (?, ?, ?, 'ETH', '0', NULL, NULL, ?, NULL, 'failed', ?, NOW())`, [
319
300
  walletAddress,
301
+ batchSweepId,
320
302
  chainConfig.chainId,
321
303
  err instanceof Error ? err.message : "Unknown error",
322
304
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"evm.service.js","sourceRoot":"","sources":["../../../../../src/backend/services/chains/evm.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evm.service.js","sourceRoot":"","sources":["../../../../../src/backend/services/chains/evm.service.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,13 @@
1
1
  import { Connection } from "@solana/web3.js";
2
2
  import { TokenKey } from "../../config/constants";
3
3
  import { SolanaChainConfig } from "../../config/chains";
4
+ import { Wallet } from "../../../sdk/types";
4
5
  export declare const getSolanaConnection: (chainConfig: SolanaChainConfig) => Connection;
5
- export declare const sweepSPLToken: (walletAddress: string, chainConfig: SolanaChainConfig, token: TokenKey) => Promise<{
6
+ export declare const sweepSPLToken: (wallet: Wallet, chainConfig: SolanaChainConfig, token: TokenKey) => Promise<{
6
7
  txHash: string;
7
8
  amount: string;
8
9
  }>;
9
- export declare const sweepNativeSOL: (walletAddress: string, chainConfig: SolanaChainConfig) => Promise<{
10
+ export declare const sweepNativeSOL: (wallet: Wallet, chainConfig: SolanaChainConfig) => Promise<{
10
11
  txHash: string;
11
12
  amount: string;
12
13
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"solana.service.d.ts","sourceRoot":"","sources":["../../../../../src/backend/services/chains/solana.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAOX,MAAM,iBAAiB,CAAC;AAWzB,OAAO,EACL,QAAQ,EAGT,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AA6CxD,eAAO,MAAM,mBAAmB,GAC9B,aAAa,iBAAiB,KAC7B,UAEF,CAAC;AAGF,eAAO,MAAM,aAAa,GACxB,eAAe,MAAM,EACrB,aAAa,iBAAiB,EAC9B,OAAO,QAAQ,KACd,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAyH5C,CAAC;AAGF,eAAO,MAAM,cAAc,GACzB,eAAe,MAAM,EACrB,aAAa,iBAAiB,KAC7B,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CA0F5C,CAAC;AAGF,eAAO,MAAM,aAAa,GACxB,eAAe,MAAM,EACrB,aAAa,iBAAiB,EAC9B,OAAO,QAAQ,KACd,OAAO,CAAC,MAAM,CAiBhB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,eAAe,MAAM,EACrB,aAAa,iBAAiB,KAC7B,OAAO,CAAC,MAAM,CAQhB,CAAC"}
1
+ {"version":3,"file":"solana.service.d.ts","sourceRoot":"","sources":["../../../../../src/backend/services/chains/solana.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAOX,MAAM,iBAAiB,CAAC;AAWzB,OAAO,EACL,QAAQ,EAGT,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AA2C5C,eAAO,MAAM,mBAAmB,GAC9B,aAAa,iBAAiB,KAC7B,UAEF,CAAC;AAGF,eAAO,MAAM,aAAa,GACxB,QAAQ,MAAM,EACd,aAAa,iBAAiB,EAC9B,OAAO,QAAQ,KACd,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CA2I5C,CAAC;AAGF,eAAO,MAAM,cAAc,GACzB,QAAQ,MAAM,EACd,aAAa,iBAAiB,KAC7B,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAoG5C,CAAC;AAGF,eAAO,MAAM,aAAa,GACxB,eAAe,MAAM,EACrB,aAAa,iBAAiB,EAC9B,OAAO,QAAQ,KACd,OAAO,CAAC,MAAM,CAiBhB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,eAAe,MAAM,EACrB,aAAa,iBAAiB,KAC7B,OAAO,CAAC,MAAM,CAQhB,CAAC"}
@@ -45,8 +45,12 @@ const getSolanaConnection = (chainConfig) => {
45
45
  };
46
46
  exports.getSolanaConnection = getSolanaConnection;
47
47
  // ─── SPL Token Sweep ──────────────────────────────────────────────────────────
48
- const sweepSPLToken = async (walletAddress, chainConfig, token) => {
48
+ const sweepSPLToken = async (wallet, chainConfig, token) => {
49
49
  const tokenMint = chainConfig.tokens[token];
50
+ const walletAddress = wallet.address;
51
+ const toAddress = (0, hotwallet_1.getSolanaHotWallet)();
52
+ const adapter = (0, db_context_1.getDBAdapter)();
53
+ const batchSweepId = (0, hotwallet_1.getBatchSweepId)();
50
54
  if (!tokenMint) {
51
55
  console.log(`[${chainConfig.name}] ${token} not configured, skipping ${walletAddress}`);
52
56
  return { txHash: "", amount: "0" };
@@ -58,7 +62,7 @@ const sweepSPLToken = async (walletAddress, chainConfig, token) => {
58
62
  const connection = (0, exports.getSolanaConnection)(chainConfig);
59
63
  const mintPublicKey = new web3_js_1.PublicKey(tokenMint);
60
64
  const walletPublicKey = new web3_js_1.PublicKey(walletAddress);
61
- const hotWalletPublicKey = new web3_js_1.PublicKey((0, hotwallet_1.getSolanaHotWallet)());
65
+ const hotWalletPublicKey = new web3_js_1.PublicKey(toAddress);
62
66
  const userTokenAccount = await (0, spl_token_1.getAssociatedTokenAddress)(mintPublicKey, walletPublicKey);
63
67
  let tokenAccountInfo;
64
68
  try {
@@ -86,20 +90,35 @@ const sweepSPLToken = async (walletAddress, chainConfig, token) => {
86
90
  }
87
91
  transaction.add((0, spl_token_1.createTransferInstruction)(userTokenAccount, hotWalletTokenAccount, walletPublicKey, balance, [], spl_token_1.TOKEN_PROGRAM_ID));
88
92
  const txHash = await (0, web3_js_1.sendAndConfirmTransaction)(connection, transaction, [feePayer, userKeypair], { commitment: "confirmed" });
93
+ let balanceAfter = 0n;
94
+ try {
95
+ tokenAccountInfo = await (0, spl_token_1.getAccount)(connection, userTokenAccount);
96
+ balanceAfter = tokenAccountInfo.amount;
97
+ }
98
+ catch {
99
+ balanceAfter = 0n;
100
+ }
89
101
  const amountFormatted = (Number(balance) / 1000000).toFixed(6);
90
- console.log(`[${chainConfig.name}] Sweep complete: ${amountFormatted} ${token} → ${(0, hotwallet_1.getSolanaHotWallet)()}`);
102
+ const amountAfterFormatted = (Number(balanceAfter) / 1000000).toFixed(6);
103
+ console.log(`[${chainConfig.name}] Sweep complete: ${amountFormatted} ${token} → ${toAddress}`);
91
104
  console.log(`[${chainConfig.name}] Tx hash: ${txHash}`);
105
+ await adapter?.updateWalletBalanceById({
106
+ id: wallet.id,
107
+ balance: amountAfterFormatted,
108
+ type: token,
109
+ });
92
110
  await (0, db_context_1.dbQuery)(`INSERT INTO sweep_history
93
- (wallet_address, chain_id, token, amount, tx_hash, status, created_at)
94
- VALUES (?, ?, ?, ?, ?, 'success', NOW())`, [walletAddress, chainConfig.cluster, token, amountFormatted, txHash]);
111
+ (wallet_address, batch_sweep_id, chain_id, token, amount, balance_before, balance_after, to_address, tx_hash, status, created_at)
112
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, 'success', NOW())`, [walletAddress, batchSweepId, chainConfig.cluster, token, amountFormatted, amountFormatted, amountAfterFormatted, toAddress, txHash]);
95
113
  return { txHash, amount: amountFormatted };
96
114
  }
97
115
  catch (err) {
98
116
  console.error(`[${chainConfig.name}] SPL sweep failed for ${walletAddress}:`, err);
99
117
  await (0, db_context_1.dbQuery)(`INSERT INTO sweep_history
100
- (wallet_address, chain_id, token, amount, tx_hash, status, error, created_at)
101
- VALUES (?, ?, ?, '0', NULL, 'failed', ?, NOW())`, [
118
+ (wallet_address, batch_sweep_id, chain_id, token, amount, tx_hash, status, error, created_at)
119
+ VALUES (?, ?, ?, ?, '0', NULL, 'failed', ?, NOW())`, [
102
120
  walletAddress,
121
+ batchSweepId,
103
122
  chainConfig.cluster,
104
123
  token,
105
124
  err instanceof Error ? err.message : "Unknown error",
@@ -109,14 +128,18 @@ const sweepSPLToken = async (walletAddress, chainConfig, token) => {
109
128
  };
110
129
  exports.sweepSPLToken = sweepSPLToken;
111
130
  // ─── Native SOL Sweep ─────────────────────────────────────────────────────────
112
- const sweepNativeSOL = async (walletAddress, chainConfig) => {
131
+ const sweepNativeSOL = async (wallet, chainConfig) => {
132
+ const walletAddress = wallet.address;
133
+ const toAddress = (0, hotwallet_1.getSolanaHotWallet)();
134
+ const adapter = (0, db_context_1.getDBAdapter)();
135
+ const batchSweepId = (0, hotwallet_1.getBatchSweepId)();
113
136
  try {
114
137
  const hd_index = await getWalletHdIndex(walletAddress);
115
138
  const userKeypair = deriveSolanaKeypair(hd_index);
116
139
  const feePayer = getFeePayerKeypair();
117
140
  const connection = (0, exports.getSolanaConnection)(chainConfig);
118
141
  const walletPublicKey = new web3_js_1.PublicKey(walletAddress);
119
- const hotWalletPublicKey = new web3_js_1.PublicKey((0, hotwallet_1.getSolanaHotWallet)());
142
+ const hotWalletPublicKey = new web3_js_1.PublicKey(toAddress);
120
143
  const balanceLamports = await connection.getBalance(walletPublicKey);
121
144
  const balanceSOL = balanceLamports / web3_js_1.LAMPORTS_PER_SOL;
122
145
  console.log(`[${chainConfig.name}] Wallet ${walletAddress} SOL balance: ${balanceSOL}`);
@@ -139,20 +162,28 @@ const sweepNativeSOL = async (walletAddress, chainConfig) => {
139
162
  lamports: sweepAmount,
140
163
  }));
141
164
  const txHash = await (0, web3_js_1.sendAndConfirmTransaction)(connection, transaction, [feePayer, userKeypair], { commitment: "confirmed" });
165
+ const balanceAfterLamports = await connection.getBalance(walletPublicKey);
142
166
  const amountFormatted = (sweepAmount / web3_js_1.LAMPORTS_PER_SOL).toFixed(9);
143
- console.log(`[${chainConfig.name}] SOL Sweep complete: ${amountFormatted} SOL → ${(0, hotwallet_1.getSolanaHotWallet)()}`);
167
+ const amountAfterFormatted = (balanceAfterLamports / web3_js_1.LAMPORTS_PER_SOL).toFixed(9);
168
+ console.log(`[${chainConfig.name}] SOL Sweep complete: ${amountFormatted} SOL → ${toAddress}`);
144
169
  console.log(`[${chainConfig.name}] Tx hash: ${txHash}`);
170
+ await adapter?.updateWalletBalanceById({
171
+ id: wallet.id,
172
+ balance: amountAfterFormatted,
173
+ type: "native",
174
+ });
145
175
  await (0, db_context_1.dbQuery)(`INSERT INTO sweep_history
146
- (wallet_address, chain_id, token, amount, tx_hash, status, created_at)
147
- VALUES (?, ?, 'SOL', ?, ?, 'success', NOW())`, [walletAddress, chainConfig.cluster, amountFormatted, txHash]);
176
+ (wallet_address, batch_sweep_id, chain_id, token, amount, balance_before, balance_after, to_address, tx_hash, status, created_at)
177
+ VALUES (?, ?, ?, 'SOL', ?, ?, ?, ?, ?, 'success', NOW())`, [walletAddress, batchSweepId, chainConfig.cluster, amountFormatted, amountFormatted, amountAfterFormatted, toAddress, txHash]);
148
178
  return { txHash, amount: amountFormatted };
149
179
  }
150
180
  catch (err) {
151
181
  console.error(`[${chainConfig.name}] SOL sweep failed for ${walletAddress}:`, err);
152
182
  await (0, db_context_1.dbQuery)(`INSERT INTO sweep_history
153
- (wallet_address, chain_id, token, amount, tx_hash, status, error, created_at)
154
- VALUES (?, ?, 'SOL', '0', NULL, 'failed', ?, NOW())`, [
183
+ (wallet_address, batch_sweep_id, chain_id, token, amount, tx_hash, status, error, created_at)
184
+ VALUES (?, ?, ?, 'SOL', '0', NULL, 'failed', ?, NOW())`, [
155
185
  walletAddress,
186
+ batchSweepId,
156
187
  chainConfig.cluster,
157
188
  err instanceof Error ? err.message : "Unknown error",
158
189
  ]);