@crossmint/client-sdk-smart-wallet 0.1.24 → 0.1.26
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/SmartWalletSDK.cjs +1 -34
- package/dist/SmartWalletSDK.js +1 -34
- package/dist/api/CrossmintWalletService.cjs +1 -13
- package/dist/api/CrossmintWalletService.js +1 -13
- package/dist/blockchain/chains.cjs +1 -23
- package/dist/blockchain/chains.js +1 -23
- package/dist/blockchain/rpc.cjs +1 -11
- package/dist/blockchain/rpc.js +1 -11
- package/dist/blockchain/transfer.cjs +1 -7
- package/dist/blockchain/transfer.js +1 -7
- package/dist/blockchain/wallets/EVMSmartWallet.cjs +1 -10
- package/dist/blockchain/wallets/EVMSmartWallet.js +1 -10
- package/dist/blockchain/wallets/SendTransactionService.cjs +1 -11
- package/dist/blockchain/wallets/SendTransactionService.js +1 -11
- package/dist/blockchain/wallets/account/cache.cjs +1 -9
- package/dist/blockchain/wallets/account/cache.js +1 -9
- package/dist/blockchain/wallets/account/config.cjs +1 -9
- package/dist/blockchain/wallets/account/config.js +1 -9
- package/dist/blockchain/wallets/account/creator.cjs +1 -10
- package/dist/blockchain/wallets/account/creator.js +1 -10
- package/dist/blockchain/wallets/account/eoa.cjs +1 -11
- package/dist/blockchain/wallets/account/eoa.js +1 -11
- package/dist/blockchain/wallets/account/passkey.cjs +1 -9
- package/dist/blockchain/wallets/account/passkey.js +1 -9
- package/dist/blockchain/wallets/account/signer.cjs +1 -9
- package/dist/blockchain/wallets/account/signer.js +1 -9
- package/dist/blockchain/wallets/account/strategy.cjs +1 -1
- package/dist/blockchain/wallets/account/strategy.js +0 -1
- package/dist/blockchain/wallets/clientDecorator.cjs +1 -12
- package/dist/blockchain/wallets/clientDecorator.js +1 -12
- package/dist/blockchain/wallets/index.cjs +1 -10
- package/dist/blockchain/wallets/index.js +1 -10
- package/dist/blockchain/wallets/paymaster.cjs +1 -10
- package/dist/blockchain/wallets/paymaster.js +1 -10
- package/dist/blockchain/wallets/service.cjs +1 -16
- package/dist/blockchain/wallets/service.js +1 -16
- package/dist/chunk-265KNPZR.js +1 -0
- package/dist/chunk-2GS5TXEY.cjs +1 -0
- package/dist/chunk-2R6HK64N.cjs +1 -0
- package/dist/chunk-3F6P4HUZ.js +1 -0
- package/dist/chunk-4SPA557P.js +0 -0
- package/dist/chunk-7AVDZZGD.cjs +1 -0
- package/dist/chunk-7FXFOOQU.cjs +1 -0
- package/dist/chunk-7KTCGFU5.js +1 -0
- package/dist/chunk-AK6IIUTM.js +1 -0
- package/dist/chunk-ATQ4WGCW.js +1 -0
- package/dist/chunk-BIJAOWPS.js +1 -0
- package/dist/chunk-BJZQA5VC.js +1 -0
- package/dist/chunk-C3VZY7VJ.js +1 -0
- package/dist/chunk-CUTQYF3F.js +1 -0
- package/dist/chunk-D4NDUT36.js +1 -0
- package/dist/chunk-DIDKPOO2.cjs +1 -0
- package/dist/chunk-DQNKQDE2.cjs +1 -0
- package/dist/chunk-E3NG3YWO.js +1 -0
- package/dist/chunk-ETVJGLNY.js +1 -0
- package/dist/chunk-FHNNZVNU.js +1 -0
- package/dist/chunk-GB35YMN4.cjs +1 -0
- package/dist/chunk-H4CMXNVK.js +1 -0
- package/dist/chunk-HGA3WK6L.cjs +1 -0
- package/dist/chunk-II4HKF7X.cjs +1 -0
- package/dist/chunk-IQTGPM2U.cjs +1 -0
- package/dist/chunk-KYPTGHC6.cjs +1 -0
- package/dist/chunk-LDNU6SJL.cjs +3 -0
- package/dist/chunk-M4K3IZTT.cjs +1 -0
- package/dist/chunk-MJ62KCTK.cjs +1 -0
- package/dist/chunk-NAX6LRUY.cjs +1 -0
- package/dist/chunk-NLGILHJS.js +1 -0
- package/dist/chunk-O2ACORII.cjs +1 -0
- package/dist/chunk-ODAUWGUU.cjs +1 -0
- package/dist/chunk-PZ6Q22YJ.js +1 -0
- package/dist/chunk-QD2JKGX6.cjs +1 -0
- package/dist/chunk-S2XBSAGM.js +1 -0
- package/dist/chunk-SBW2PS63.cjs +1 -0
- package/dist/chunk-SCXFZMLR.cjs +1 -0
- package/dist/chunk-STH2LE35.cjs +1 -0
- package/dist/chunk-SWWOVT47.cjs +1 -0
- package/dist/chunk-TBTRV56U.cjs +2 -0
- package/dist/chunk-TWADESPF.cjs +1 -0
- package/dist/chunk-TXLAUKCK.cjs +1 -0
- package/dist/chunk-TZG6MROQ.js +1 -0
- package/dist/chunk-UG47CBKR.js +1 -0
- package/dist/chunk-UPURFW46.js +1 -0
- package/dist/chunk-UXNWF66Q.js +1 -0
- package/dist/chunk-VMOQWOZV.js +3 -0
- package/dist/chunk-VXGNAQOW.js +1 -0
- package/dist/chunk-WJ6XJMRD.cjs +1 -0
- package/dist/{chunk-5MG5CIEX.cjs → chunk-XJGFG3RT.cjs} +1 -13
- package/dist/chunk-XQ2K2K23.cjs +1 -0
- package/dist/chunk-YBHSEZMB.js +1 -0
- package/dist/chunk-YJUD5MVS.js +1 -0
- package/dist/chunk-YUWCRSYD.js +1 -0
- package/dist/chunk-Z7MMOBIC.js +2 -0
- package/dist/error/index.cjs +1 -25
- package/dist/error/index.js +1 -25
- package/dist/error/processor.cjs +1 -9
- package/dist/error/processor.js +1 -9
- package/dist/index.cjs +1 -86
- package/dist/index.js +1 -86
- package/dist/services/index.cjs +1 -11
- package/dist/services/index.js +1 -11
- package/dist/services/logger.cjs +1 -10
- package/dist/services/logger.js +1 -10
- package/dist/types/internal.cjs +1 -18
- package/dist/types/internal.js +1 -18
- package/dist/types/params.cjs +1 -1
- package/dist/types/params.js +0 -1
- package/dist/types/schema.cjs +1 -16
- package/dist/types/schema.js +1 -16
- package/dist/types/service.cjs +1 -1
- package/dist/types/service.js +0 -1
- package/dist/types/token.cjs +1 -1
- package/dist/types/token.js +0 -1
- package/dist/utils/api.cjs +1 -9
- package/dist/utils/api.js +1 -9
- package/dist/utils/blockchain.cjs +1 -7
- package/dist/utils/blockchain.js +1 -7
- package/dist/utils/constants.cjs +1 -19
- package/dist/utils/constants.js +1 -19
- package/dist/utils/environment.cjs +1 -7
- package/dist/utils/environment.js +1 -7
- package/dist/utils/helpers.cjs +1 -9
- package/dist/utils/helpers.js +1 -9
- package/dist/utils/signer.cjs +1 -10
- package/dist/utils/signer.js +1 -10
- package/dist/utils/test.cjs +1 -27
- package/dist/utils/test.js +1 -27
- package/package.json +3 -4
- package/dist/SmartWalletSDK.cjs.map +0 -1
- package/dist/SmartWalletSDK.js.map +0 -1
- package/dist/api/CrossmintWalletService.cjs.map +0 -1
- package/dist/api/CrossmintWalletService.js.map +0 -1
- package/dist/blockchain/chains.cjs.map +0 -1
- package/dist/blockchain/chains.js.map +0 -1
- package/dist/blockchain/rpc.cjs.map +0 -1
- package/dist/blockchain/rpc.js.map +0 -1
- package/dist/blockchain/transfer.cjs.map +0 -1
- package/dist/blockchain/transfer.js.map +0 -1
- package/dist/blockchain/wallets/EVMSmartWallet.cjs.map +0 -1
- package/dist/blockchain/wallets/EVMSmartWallet.js.map +0 -1
- package/dist/blockchain/wallets/SendTransactionService.cjs.map +0 -1
- package/dist/blockchain/wallets/SendTransactionService.js.map +0 -1
- package/dist/blockchain/wallets/account/cache.cjs.map +0 -1
- package/dist/blockchain/wallets/account/cache.js.map +0 -1
- package/dist/blockchain/wallets/account/config.cjs.map +0 -1
- package/dist/blockchain/wallets/account/config.js.map +0 -1
- package/dist/blockchain/wallets/account/creator.cjs.map +0 -1
- package/dist/blockchain/wallets/account/creator.js.map +0 -1
- package/dist/blockchain/wallets/account/eoa.cjs.map +0 -1
- package/dist/blockchain/wallets/account/eoa.js.map +0 -1
- package/dist/blockchain/wallets/account/passkey.cjs.map +0 -1
- package/dist/blockchain/wallets/account/passkey.js.map +0 -1
- package/dist/blockchain/wallets/account/signer.cjs.map +0 -1
- package/dist/blockchain/wallets/account/signer.js.map +0 -1
- package/dist/blockchain/wallets/account/strategy.cjs.map +0 -1
- package/dist/blockchain/wallets/account/strategy.js.map +0 -1
- package/dist/blockchain/wallets/clientDecorator.cjs.map +0 -1
- package/dist/blockchain/wallets/clientDecorator.js.map +0 -1
- package/dist/blockchain/wallets/index.cjs.map +0 -1
- package/dist/blockchain/wallets/index.js.map +0 -1
- package/dist/blockchain/wallets/paymaster.cjs.map +0 -1
- package/dist/blockchain/wallets/paymaster.js.map +0 -1
- package/dist/blockchain/wallets/service.cjs.map +0 -1
- package/dist/blockchain/wallets/service.js.map +0 -1
- package/dist/chunk-2BBSPDW4.cjs +0 -99
- package/dist/chunk-2BBSPDW4.cjs.map +0 -1
- package/dist/chunk-2GADBKIW.cjs +0 -39
- package/dist/chunk-2GADBKIW.cjs.map +0 -1
- package/dist/chunk-2HB65Y7D.js +0 -79
- package/dist/chunk-2HB65Y7D.js.map +0 -1
- package/dist/chunk-3EQHAQXO.js +0 -112
- package/dist/chunk-3EQHAQXO.js.map +0 -1
- package/dist/chunk-3R6PW6HY.js +0 -30
- package/dist/chunk-3R6PW6HY.js.map +0 -1
- package/dist/chunk-5MG5CIEX.cjs.map +0 -1
- package/dist/chunk-5URMCCO6.js +0 -9
- package/dist/chunk-5URMCCO6.js.map +0 -1
- package/dist/chunk-5WVQ7J3E.cjs +0 -369
- package/dist/chunk-5WVQ7J3E.cjs.map +0 -1
- package/dist/chunk-6FS2OI5W.js +0 -66
- package/dist/chunk-6FS2OI5W.js.map +0 -1
- package/dist/chunk-6NJVFL2X.js +0 -60
- package/dist/chunk-6NJVFL2X.js.map +0 -1
- package/dist/chunk-74NTQGER.js +0 -44
- package/dist/chunk-74NTQGER.js.map +0 -1
- package/dist/chunk-77GT6B5L.cjs +0 -79
- package/dist/chunk-77GT6B5L.cjs.map +0 -1
- package/dist/chunk-7KTQNIAZ.cjs +0 -112
- package/dist/chunk-7KTQNIAZ.cjs.map +0 -1
- package/dist/chunk-7ORLXP6K.cjs +0 -93
- package/dist/chunk-7ORLXP6K.cjs.map +0 -1
- package/dist/chunk-ASIPMVRQ.js +0 -90
- package/dist/chunk-ASIPMVRQ.js.map +0 -1
- package/dist/chunk-BARW756O.js +0 -27
- package/dist/chunk-BARW756O.js.map +0 -1
- package/dist/chunk-BXSAJOIV.cjs +0 -90
- package/dist/chunk-BXSAJOIV.cjs.map +0 -1
- package/dist/chunk-DTEA33DF.cjs +0 -59
- package/dist/chunk-DTEA33DF.cjs.map +0 -1
- package/dist/chunk-DYO4HODM.cjs +0 -36
- package/dist/chunk-DYO4HODM.cjs.map +0 -1
- package/dist/chunk-EPEGJY6N.cjs +0 -9
- package/dist/chunk-EPEGJY6N.cjs.map +0 -1
- package/dist/chunk-EQSMHR77.js +0 -30
- package/dist/chunk-EQSMHR77.js.map +0 -1
- package/dist/chunk-FSIMJYXR.js +0 -36
- package/dist/chunk-FSIMJYXR.js.map +0 -1
- package/dist/chunk-FXGOVLZW.cjs +0 -9
- package/dist/chunk-FXGOVLZW.cjs.map +0 -1
- package/dist/chunk-ICLDP7BD.cjs +0 -36
- package/dist/chunk-ICLDP7BD.cjs.map +0 -1
- package/dist/chunk-IZZQHNZT.cjs +0 -22
- package/dist/chunk-IZZQHNZT.cjs.map +0 -1
- package/dist/chunk-JLZCSWUY.cjs +0 -14
- package/dist/chunk-JLZCSWUY.cjs.map +0 -1
- package/dist/chunk-JOB7STIS.js +0 -9
- package/dist/chunk-JOB7STIS.js.map +0 -1
- package/dist/chunk-KHROQTVY.js +0 -1
- package/dist/chunk-KHROQTVY.js.map +0 -1
- package/dist/chunk-LWVV7JDJ.js +0 -36
- package/dist/chunk-LWVV7JDJ.js.map +0 -1
- package/dist/chunk-N6DG5EZG.cjs +0 -156
- package/dist/chunk-N6DG5EZG.cjs.map +0 -1
- package/dist/chunk-NI6WQXMN.js +0 -99
- package/dist/chunk-NI6WQXMN.js.map +0 -1
- package/dist/chunk-O6IFYHDP.cjs +0 -36
- package/dist/chunk-O6IFYHDP.cjs.map +0 -1
- package/dist/chunk-OGA3YDWS.cjs +0 -112
- package/dist/chunk-OGA3YDWS.cjs.map +0 -1
- package/dist/chunk-OIEP34C6.js +0 -41
- package/dist/chunk-OIEP34C6.js.map +0 -1
- package/dist/chunk-ON4DOYVD.js +0 -369
- package/dist/chunk-ON4DOYVD.js.map +0 -1
- package/dist/chunk-PVFA6PBX.cjs +0 -60
- package/dist/chunk-PVFA6PBX.cjs.map +0 -1
- package/dist/chunk-QBQDYMNI.js +0 -39
- package/dist/chunk-QBQDYMNI.js.map +0 -1
- package/dist/chunk-QJ3BSVGV.js +0 -36
- package/dist/chunk-QJ3BSVGV.js.map +0 -1
- package/dist/chunk-RUTDRRS2.cjs +0 -66
- package/dist/chunk-RUTDRRS2.cjs.map +0 -1
- package/dist/chunk-SBR2CREX.js +0 -82
- package/dist/chunk-SBR2CREX.js.map +0 -1
- package/dist/chunk-SMDX2MXU.js +0 -13
- package/dist/chunk-SMDX2MXU.js.map +0 -1
- package/dist/chunk-TDJDKTRS.js +0 -156
- package/dist/chunk-TDJDKTRS.js.map +0 -1
- package/dist/chunk-TZUJ5MXW.cjs +0 -82
- package/dist/chunk-TZUJ5MXW.cjs.map +0 -1
- package/dist/chunk-U4OBHCIP.js +0 -59
- package/dist/chunk-U4OBHCIP.js.map +0 -1
- package/dist/chunk-UQKE6R5W.cjs +0 -27
- package/dist/chunk-UQKE6R5W.cjs.map +0 -1
- package/dist/chunk-UZGHOTKZ.js +0 -112
- package/dist/chunk-UZGHOTKZ.js.map +0 -1
- package/dist/chunk-WRH3YJT3.js +0 -14
- package/dist/chunk-WRH3YJT3.js.map +0 -1
- package/dist/chunk-X4KT4AKM.cjs +0 -123
- package/dist/chunk-X4KT4AKM.cjs.map +0 -1
- package/dist/chunk-YKW7PMBU.js +0 -22
- package/dist/chunk-YKW7PMBU.js.map +0 -1
- package/dist/chunk-YWCXHOSD.cjs +0 -30
- package/dist/chunk-YWCXHOSD.cjs.map +0 -1
- package/dist/chunk-Z5DNJTAW.cjs +0 -41
- package/dist/chunk-Z5DNJTAW.cjs.map +0 -1
- package/dist/chunk-Z7JWER3L.js +0 -93
- package/dist/chunk-Z7JWER3L.js.map +0 -1
- package/dist/chunk-ZAQLXUMA.cjs +0 -44
- package/dist/chunk-ZAQLXUMA.cjs.map +0 -1
- package/dist/chunk-ZEWOQEKM.js +0 -123
- package/dist/chunk-ZEWOQEKM.js.map +0 -1
- package/dist/chunk-ZN42AA2G.cjs +0 -1
- package/dist/chunk-ZN42AA2G.cjs.map +0 -1
- package/dist/chunk-ZOXKITU4.cjs +0 -30
- package/dist/chunk-ZOXKITU4.cjs.map +0 -1
- package/dist/error/index.cjs.map +0 -1
- package/dist/error/index.js.map +0 -1
- package/dist/error/processor.cjs.map +0 -1
- package/dist/error/processor.js.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/services/index.cjs.map +0 -1
- package/dist/services/index.js.map +0 -1
- package/dist/services/logger.cjs.map +0 -1
- package/dist/services/logger.js.map +0 -1
- package/dist/types/internal.cjs.map +0 -1
- package/dist/types/internal.js.map +0 -1
- package/dist/types/params.cjs.map +0 -1
- package/dist/types/params.js.map +0 -1
- package/dist/types/schema.cjs.map +0 -1
- package/dist/types/schema.js.map +0 -1
- package/dist/types/service.cjs.map +0 -1
- package/dist/types/service.js.map +0 -1
- package/dist/types/token.cjs.map +0 -1
- package/dist/types/token.js.map +0 -1
- package/dist/utils/api.cjs.map +0 -1
- package/dist/utils/api.js.map +0 -1
- package/dist/utils/blockchain.cjs.map +0 -1
- package/dist/utils/blockchain.js.map +0 -1
- package/dist/utils/constants.cjs.map +0 -1
- package/dist/utils/constants.js.map +0 -1
- package/dist/utils/environment.cjs.map +0 -1
- package/dist/utils/environment.js.map +0 -1
- package/dist/utils/helpers.cjs.map +0 -1
- package/dist/utils/helpers.js.map +0 -1
- package/dist/utils/signer.cjs.map +0 -1
- package/dist/utils/signer.js.map +0 -1
- package/dist/utils/test.cjs.map +0 -1
- package/dist/utils/test.js.map +0 -1
- package/src/ABI/ERC1155.json +0 -325
- package/src/ABI/ERC20.json +0 -222
- package/src/ABI/ERC721.json +0 -320
- package/src/SmartWalletSDK.test.ts +0 -31
- package/src/SmartWalletSDK.ts +0 -104
- package/src/api/CrossmintWalletService.test.ts +0 -43
- package/src/api/CrossmintWalletService.ts +0 -84
- package/src/blockchain/chains.ts +0 -57
- package/src/blockchain/rpc.ts +0 -25
- package/src/blockchain/transfer.ts +0 -54
- package/src/blockchain/wallets/EVMSmartWallet.ts +0 -157
- package/src/blockchain/wallets/SendTransactionService.test.ts +0 -159
- package/src/blockchain/wallets/SendTransactionService.ts +0 -188
- package/src/blockchain/wallets/account/cache.test.ts +0 -67
- package/src/blockchain/wallets/account/cache.ts +0 -43
- package/src/blockchain/wallets/account/config.test.ts +0 -103
- package/src/blockchain/wallets/account/config.ts +0 -116
- package/src/blockchain/wallets/account/creator.ts +0 -40
- package/src/blockchain/wallets/account/eoa.ts +0 -51
- package/src/blockchain/wallets/account/passkey.ts +0 -198
- package/src/blockchain/wallets/account/signer.ts +0 -44
- package/src/blockchain/wallets/account/strategy.ts +0 -5
- package/src/blockchain/wallets/clientDecorator.ts +0 -128
- package/src/blockchain/wallets/index.ts +0 -1
- package/src/blockchain/wallets/paymaster.ts +0 -41
- package/src/blockchain/wallets/service.ts +0 -107
- package/src/error/index.ts +0 -100
- package/src/error/processor.ts +0 -36
- package/src/index.ts +0 -47
- package/src/services/index.ts +0 -1
- package/src/services/logger.ts +0 -6
- package/src/types/internal.ts +0 -76
- package/src/types/params.ts +0 -34
- package/src/types/schema.ts +0 -63
- package/src/types/service.ts +0 -31
- package/src/types/token.ts +0 -29
- package/src/utils/api.ts +0 -39
- package/src/utils/blockchain.ts +0 -5
- package/src/utils/constants.ts +0 -9
- package/src/utils/environment.ts +0 -3
- package/src/utils/helpers.ts +0 -7
- package/src/utils/signer.ts +0 -33
- package/src/utils/test.ts +0 -24
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/blockchain/transfer.ts","../src/ABI/ERC1155.json"],"names":[],"mappings":"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","sourcesContent":["import { type Abi, type Account, type Address, erc20Abi, erc721Abi } from \"viem\";\n\nimport erc1155Abi from \"../ABI/ERC1155.json\";\nimport type { ERC20TransferType, SFTTransferType, TransferType } from \"../types/token\";\n\ntype TransferInputParams = {\n from: Account;\n contract: Address;\n to: Address;\n config: TransferType;\n};\n\ntype TransferSimulationParams = {\n account: Account;\n address: Address;\n abi: Abi;\n functionName: string;\n args: any[];\n tokenId?: string;\n};\n\nexport function transferParams({ contract, config, from, to }: TransferInputParams): TransferSimulationParams {\n switch (config.token.type) {\n case \"ft\": {\n return {\n account: from,\n address: contract,\n abi: erc20Abi,\n functionName: \"transfer\",\n args: [to, (config as ERC20TransferType).amount],\n };\n }\n case \"sft\": {\n return {\n account: from,\n address: contract,\n abi: erc1155Abi as Abi,\n functionName: \"safeTransferFrom\",\n args: [from.address, to, config.token.tokenId, (config as SFTTransferType).quantity, \"0x00\"],\n tokenId: config.token.tokenId,\n };\n }\n case \"nft\": {\n return {\n account: from,\n address: contract,\n abi: erc721Abi,\n functionName: \"safeTransferFrom\",\n args: [from.address, to, config.token.tokenId],\n tokenId: config.token.tokenId,\n };\n }\n }\n}\n","[\n {\n \"inputs\": [\n {\n \"internalType\": \"string\",\n \"name\": \"uri_\",\n \"type\": \"string\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"constructor\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"operator\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"bool\",\n \"name\": \"approved\",\n \"type\": \"bool\"\n }\n ],\n \"name\": \"ApprovalForAll\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"operator\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"from\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256[]\",\n \"name\": \"ids\",\n \"type\": \"uint256[]\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256[]\",\n \"name\": \"values\",\n \"type\": \"uint256[]\"\n }\n ],\n \"name\": \"TransferBatch\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"operator\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"from\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"id\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"TransferSingle\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"string\",\n \"name\": \"value\",\n \"type\": \"string\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"uint256\",\n \"name\": \"id\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"URI\",\n \"type\": \"event\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"id\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"balanceOf\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address[]\",\n \"name\": \"accounts\",\n \"type\": \"address[]\"\n },\n {\n \"internalType\": \"uint256[]\",\n \"name\": \"ids\",\n \"type\": \"uint256[]\"\n }\n ],\n \"name\": \"balanceOfBatch\",\n \"outputs\": [\n {\n \"internalType\": \"uint256[]\",\n \"name\": \"\",\n \"type\": \"uint256[]\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"operator\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"isApprovedForAll\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"from\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256[]\",\n \"name\": \"ids\",\n \"type\": \"uint256[]\"\n },\n {\n \"internalType\": \"uint256[]\",\n \"name\": \"amounts\",\n \"type\": \"uint256[]\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"safeBatchTransferFrom\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"from\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"id\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"amount\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"safeTransferFrom\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"operator\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bool\",\n \"name\": \"approved\",\n \"type\": \"bool\"\n }\n ],\n \"name\": \"setApprovalForAll\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes4\",\n \"name\": \"interfaceId\",\n \"type\": \"bytes4\"\n }\n ],\n \"name\": \"supportsInterface\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"uri\",\n \"outputs\": [\n {\n \"internalType\": \"string\",\n \"name\": \"\",\n \"type\": \"string\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n }\n]\n"]}
|
package/dist/chunk-6FS2OI5W.js
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
SUPPORTED_ENTRYPOINT_VERSIONS,
|
|
3
|
-
SUPPORTED_KERNEL_VERSIONS
|
|
4
|
-
} from "./chunk-YKW7PMBU.js";
|
|
5
|
-
|
|
6
|
-
// src/types/schema.ts
|
|
7
|
-
import { PasskeyValidatorContractVersion } from "@zerodev/passkey-validator";
|
|
8
|
-
import { isAddress, isHex } from "viem";
|
|
9
|
-
import { z } from "zod";
|
|
10
|
-
var HexSchema = z.custom((val) => isHex(val), {
|
|
11
|
-
message: "Invalid hex string"
|
|
12
|
-
});
|
|
13
|
-
var evmAddressSchema = z.custom((val) => isAddress(val), {
|
|
14
|
-
message: "Invalid evm address"
|
|
15
|
-
});
|
|
16
|
-
var EOASignerDataSchema = z.object({
|
|
17
|
-
eoaAddress: evmAddressSchema,
|
|
18
|
-
type: z.literal("eoa")
|
|
19
|
-
});
|
|
20
|
-
var PasskeyValidatorSerializedDataSchema = z.object({
|
|
21
|
-
entryPoint: evmAddressSchema,
|
|
22
|
-
validatorAddress: evmAddressSchema,
|
|
23
|
-
pubKeyX: z.string(),
|
|
24
|
-
pubKeyY: z.string(),
|
|
25
|
-
authenticatorIdHash: HexSchema,
|
|
26
|
-
authenticatorId: z.string()
|
|
27
|
-
});
|
|
28
|
-
var PasskeySignerDataSchema = PasskeyValidatorSerializedDataSchema.extend({
|
|
29
|
-
passkeyName: z.string(),
|
|
30
|
-
validatorContractVersion: z.nativeEnum(PasskeyValidatorContractVersion),
|
|
31
|
-
domain: z.string(),
|
|
32
|
-
type: z.literal("passkeys")
|
|
33
|
-
});
|
|
34
|
-
var SignerDataSchema = z.discriminatedUnion("type", [PasskeySignerDataSchema, EOASignerDataSchema]);
|
|
35
|
-
var SmartWalletConfigSchema = z.object({
|
|
36
|
-
kernelVersion: z.enum(SUPPORTED_KERNEL_VERSIONS, {
|
|
37
|
-
errorMap: (_, ctx) => ({
|
|
38
|
-
message: `Unsupported kernel version. Supported versions: ${SUPPORTED_KERNEL_VERSIONS.join(
|
|
39
|
-
", "
|
|
40
|
-
)}. Version used: ${ctx.data}. Please contact support`
|
|
41
|
-
})
|
|
42
|
-
}),
|
|
43
|
-
entryPointVersion: z.enum(SUPPORTED_ENTRYPOINT_VERSIONS, {
|
|
44
|
-
errorMap: (_, ctx) => ({
|
|
45
|
-
message: `Unsupported entry point version. Supported versions: ${SUPPORTED_ENTRYPOINT_VERSIONS.join(
|
|
46
|
-
", "
|
|
47
|
-
)}. Version used: ${ctx.data}. Please contact support`
|
|
48
|
-
})
|
|
49
|
-
}),
|
|
50
|
-
userId: z.string().min(1),
|
|
51
|
-
signers: z.array(
|
|
52
|
-
z.object({
|
|
53
|
-
signerData: SignerDataSchema
|
|
54
|
-
})
|
|
55
|
-
).min(0).max(1, "Invalid wallet signer configuration. Please contact support"),
|
|
56
|
-
smartContractWalletAddress: evmAddressSchema.optional()
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
export {
|
|
60
|
-
EOASignerDataSchema,
|
|
61
|
-
PasskeyValidatorSerializedDataSchema,
|
|
62
|
-
PasskeySignerDataSchema,
|
|
63
|
-
SignerDataSchema,
|
|
64
|
-
SmartWalletConfigSchema
|
|
65
|
-
};
|
|
66
|
-
//# sourceMappingURL=chunk-6FS2OI5W.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/types/schema.ts"],"sourcesContent":["import { PasskeyValidatorContractVersion } from \"@zerodev/passkey-validator\";\nimport { isAddress, isHex } from \"viem\";\nimport { z } from \"zod\";\n\nimport { SUPPORTED_ENTRYPOINT_VERSIONS, SUPPORTED_KERNEL_VERSIONS } from \"../utils/constants\";\n\nconst HexSchema = z.custom<`0x${string}`>((val): val is `0x${string}` => isHex(val as string), {\n message: \"Invalid hex string\",\n});\n\nconst evmAddressSchema = z.custom<`0x${string}`>((val): val is `0x${string}` => isAddress(val as string), {\n message: \"Invalid evm address\",\n});\n\nexport const EOASignerDataSchema = z.object({\n eoaAddress: evmAddressSchema,\n type: z.literal(\"eoa\"),\n});\n\nexport const PasskeyValidatorSerializedDataSchema = z.object({\n entryPoint: evmAddressSchema,\n validatorAddress: evmAddressSchema,\n pubKeyX: z.string(),\n pubKeyY: z.string(),\n authenticatorIdHash: HexSchema,\n authenticatorId: z.string(),\n});\n\nexport const PasskeySignerDataSchema = PasskeyValidatorSerializedDataSchema.extend({\n passkeyName: z.string(),\n validatorContractVersion: z.nativeEnum(PasskeyValidatorContractVersion),\n domain: z.string(),\n type: z.literal(\"passkeys\"),\n});\n\nexport const SignerDataSchema = z.discriminatedUnion(\"type\", [PasskeySignerDataSchema, EOASignerDataSchema]);\n\nexport const SmartWalletConfigSchema = z.object({\n kernelVersion: z.enum(SUPPORTED_KERNEL_VERSIONS, {\n errorMap: (_, ctx) => ({\n message: `Unsupported kernel version. Supported versions: ${SUPPORTED_KERNEL_VERSIONS.join(\n \", \"\n )}. Version used: ${ctx.data}. Please contact support`,\n }),\n }),\n entryPointVersion: z.enum(SUPPORTED_ENTRYPOINT_VERSIONS, {\n errorMap: (_, ctx) => ({\n message: `Unsupported entry point version. Supported versions: ${SUPPORTED_ENTRYPOINT_VERSIONS.join(\n \", \"\n )}. Version used: ${ctx.data}. Please contact support`,\n }),\n }),\n userId: z.string().min(1),\n signers: z\n .array(\n z.object({\n signerData: SignerDataSchema,\n })\n )\n .min(0)\n .max(1, \"Invalid wallet signer configuration. Please contact support\"),\n smartContractWalletAddress: evmAddressSchema.optional(),\n});\n"],"mappings":";;;;;;AAAA,SAAS,uCAAuC;AAChD,SAAS,WAAW,aAAa;AACjC,SAAS,SAAS;AAIlB,IAAM,YAAY,EAAE,OAAsB,CAAC,QAA8B,MAAM,GAAa,GAAG;AAAA,EAC3F,SAAS;AACb,CAAC;AAED,IAAM,mBAAmB,EAAE,OAAsB,CAAC,QAA8B,UAAU,GAAa,GAAG;AAAA,EACtG,SAAS;AACb,CAAC;AAEM,IAAM,sBAAsB,EAAE,OAAO;AAAA,EACxC,YAAY;AAAA,EACZ,MAAM,EAAE,QAAQ,KAAK;AACzB,CAAC;AAEM,IAAM,uCAAuC,EAAE,OAAO;AAAA,EACzD,YAAY;AAAA,EACZ,kBAAkB;AAAA,EAClB,SAAS,EAAE,OAAO;AAAA,EAClB,SAAS,EAAE,OAAO;AAAA,EAClB,qBAAqB;AAAA,EACrB,iBAAiB,EAAE,OAAO;AAC9B,CAAC;AAEM,IAAM,0BAA0B,qCAAqC,OAAO;AAAA,EAC/E,aAAa,EAAE,OAAO;AAAA,EACtB,0BAA0B,EAAE,WAAW,+BAA+B;AAAA,EACtE,QAAQ,EAAE,OAAO;AAAA,EACjB,MAAM,EAAE,QAAQ,UAAU;AAC9B,CAAC;AAEM,IAAM,mBAAmB,EAAE,mBAAmB,QAAQ,CAAC,yBAAyB,mBAAmB,CAAC;AAEpG,IAAM,0BAA0B,EAAE,OAAO;AAAA,EAC5C,eAAe,EAAE,KAAK,2BAA2B;AAAA,IAC7C,UAAU,CAAC,GAAG,SAAS;AAAA,MACnB,SAAS,mDAAmD,0BAA0B;AAAA,QAClF;AAAA,MACJ,CAAC,mBAAmB,IAAI,IAAI;AAAA,IAChC;AAAA,EACJ,CAAC;AAAA,EACD,mBAAmB,EAAE,KAAK,+BAA+B;AAAA,IACrD,UAAU,CAAC,GAAG,SAAS;AAAA,MACnB,SAAS,wDAAwD,8BAA8B;AAAA,QAC3F;AAAA,MACJ,CAAC,mBAAmB,IAAI,IAAI;AAAA,IAChC;AAAA,EACJ,CAAC;AAAA,EACD,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EACxB,SAAS,EACJ;AAAA,IACG,EAAE,OAAO;AAAA,MACL,YAAY;AAAA,IAChB,CAAC;AAAA,EACL,EACC,IAAI,CAAC,EACL,IAAI,GAAG,6DAA6D;AAAA,EACzE,4BAA4B,iBAAiB,SAAS;AAC1D,CAAC;","names":[]}
|
package/dist/chunk-6NJVFL2X.js
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
// src/blockchain/chains.ts
|
|
2
|
-
import {
|
|
3
|
-
arbitrum,
|
|
4
|
-
arbitrumSepolia,
|
|
5
|
-
base,
|
|
6
|
-
baseSepolia,
|
|
7
|
-
optimism,
|
|
8
|
-
optimismSepolia,
|
|
9
|
-
polygon,
|
|
10
|
-
polygonAmoy
|
|
11
|
-
} from "viem/chains";
|
|
12
|
-
import { BlockchainIncludingTestnet as Blockchain, objectValues } from "@crossmint/common-sdk-base";
|
|
13
|
-
var SmartWalletTestnet = {
|
|
14
|
-
BASE_SEPOLIA: Blockchain.BASE_SEPOLIA,
|
|
15
|
-
POLYGON_AMOY: Blockchain.POLYGON_AMOY,
|
|
16
|
-
OPTIMISM_SEPOLIA: Blockchain.OPTIMISM_SEPOLIA,
|
|
17
|
-
ARBITRUM_SEPOLIA: Blockchain.ARBITRUM_SEPOLIA
|
|
18
|
-
};
|
|
19
|
-
var SMART_WALLET_TESTNETS = objectValues(SmartWalletTestnet);
|
|
20
|
-
var SmartWalletMainnet = {
|
|
21
|
-
BASE: Blockchain.BASE,
|
|
22
|
-
POLYGON: Blockchain.POLYGON,
|
|
23
|
-
OPTIMISM: Blockchain.OPTIMISM,
|
|
24
|
-
ARBITRUM: Blockchain.ARBITRUM
|
|
25
|
-
};
|
|
26
|
-
var SMART_WALLET_MAINNETS = objectValues(SmartWalletMainnet);
|
|
27
|
-
var SmartWalletChain = {
|
|
28
|
-
...SmartWalletTestnet,
|
|
29
|
-
...SmartWalletMainnet
|
|
30
|
-
};
|
|
31
|
-
var SMART_WALLET_CHAINS = objectValues(SmartWalletChain);
|
|
32
|
-
function isTestnetChain(chain) {
|
|
33
|
-
return SMART_WALLET_TESTNETS.includes(chain);
|
|
34
|
-
}
|
|
35
|
-
function isMainnetChain(chain) {
|
|
36
|
-
return SMART_WALLET_MAINNETS.includes(chain);
|
|
37
|
-
}
|
|
38
|
-
var viemNetworks = {
|
|
39
|
-
polygon,
|
|
40
|
-
"polygon-amoy": polygonAmoy,
|
|
41
|
-
base,
|
|
42
|
-
"base-sepolia": baseSepolia,
|
|
43
|
-
optimism,
|
|
44
|
-
"optimism-sepolia": optimismSepolia,
|
|
45
|
-
arbitrum,
|
|
46
|
-
"arbitrum-sepolia": arbitrumSepolia
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
export {
|
|
50
|
-
SmartWalletTestnet,
|
|
51
|
-
SMART_WALLET_TESTNETS,
|
|
52
|
-
SmartWalletMainnet,
|
|
53
|
-
SMART_WALLET_MAINNETS,
|
|
54
|
-
SmartWalletChain,
|
|
55
|
-
SMART_WALLET_CHAINS,
|
|
56
|
-
isTestnetChain,
|
|
57
|
-
isMainnetChain,
|
|
58
|
-
viemNetworks
|
|
59
|
-
};
|
|
60
|
-
//# sourceMappingURL=chunk-6NJVFL2X.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/blockchain/chains.ts"],"sourcesContent":["import {\n type Chain,\n arbitrum,\n arbitrumSepolia,\n base,\n baseSepolia,\n optimism,\n optimismSepolia,\n polygon,\n polygonAmoy,\n} from \"viem/chains\";\n\nimport { BlockchainIncludingTestnet as Blockchain, type ObjectValues, objectValues } from \"@crossmint/common-sdk-base\";\n\nexport const SmartWalletTestnet = {\n BASE_SEPOLIA: Blockchain.BASE_SEPOLIA,\n POLYGON_AMOY: Blockchain.POLYGON_AMOY,\n OPTIMISM_SEPOLIA: Blockchain.OPTIMISM_SEPOLIA,\n ARBITRUM_SEPOLIA: Blockchain.ARBITRUM_SEPOLIA,\n} as const;\nexport type SmartWalletTestnet = ObjectValues<typeof SmartWalletTestnet>;\nexport const SMART_WALLET_TESTNETS = objectValues(SmartWalletTestnet);\n\nexport const SmartWalletMainnet = {\n BASE: Blockchain.BASE,\n POLYGON: Blockchain.POLYGON,\n OPTIMISM: Blockchain.OPTIMISM,\n ARBITRUM: Blockchain.ARBITRUM,\n} as const;\nexport type SmartWalletMainnet = ObjectValues<typeof SmartWalletMainnet>;\nexport const SMART_WALLET_MAINNETS = objectValues(SmartWalletMainnet);\n\nexport const SmartWalletChain = {\n ...SmartWalletTestnet,\n ...SmartWalletMainnet,\n} as const;\nexport type SmartWalletChain = ObjectValues<typeof SmartWalletChain>;\nexport const SMART_WALLET_CHAINS = objectValues(SmartWalletChain);\n\nexport function isTestnetChain(chain: SmartWalletChain): chain is SmartWalletTestnet {\n return (SMART_WALLET_TESTNETS as any).includes(chain);\n}\n\nexport function isMainnetChain(chain: SmartWalletChain): chain is SmartWalletMainnet {\n return (SMART_WALLET_MAINNETS as any).includes(chain);\n}\n\nexport const viemNetworks: Record<SmartWalletChain, Chain> = {\n polygon: polygon,\n \"polygon-amoy\": polygonAmoy,\n base: base,\n \"base-sepolia\": baseSepolia,\n optimism: optimism,\n \"optimism-sepolia\": optimismSepolia,\n arbitrum: arbitrum,\n \"arbitrum-sepolia\": arbitrumSepolia,\n};\n"],"mappings":";AAAA;AAAA,EAEI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AAEP,SAAS,8BAA8B,YAA+B,oBAAoB;AAEnF,IAAM,qBAAqB;AAAA,EAC9B,cAAc,WAAW;AAAA,EACzB,cAAc,WAAW;AAAA,EACzB,kBAAkB,WAAW;AAAA,EAC7B,kBAAkB,WAAW;AACjC;AAEO,IAAM,wBAAwB,aAAa,kBAAkB;AAE7D,IAAM,qBAAqB;AAAA,EAC9B,MAAM,WAAW;AAAA,EACjB,SAAS,WAAW;AAAA,EACpB,UAAU,WAAW;AAAA,EACrB,UAAU,WAAW;AACzB;AAEO,IAAM,wBAAwB,aAAa,kBAAkB;AAE7D,IAAM,mBAAmB;AAAA,EAC5B,GAAG;AAAA,EACH,GAAG;AACP;AAEO,IAAM,sBAAsB,aAAa,gBAAgB;AAEzD,SAAS,eAAe,OAAsD;AACjF,SAAQ,sBAA8B,SAAS,KAAK;AACxD;AAEO,SAAS,eAAe,OAAsD;AACjF,SAAQ,sBAA8B,SAAS,KAAK;AACxD;AAEO,IAAM,eAAgD;AAAA,EACzD;AAAA,EACA,gBAAgB;AAAA,EAChB;AAAA,EACA,gBAAgB;AAAA,EAChB;AAAA,EACA,oBAAoB;AAAA,EACpB;AAAA,EACA,oBAAoB;AACxB;","names":[]}
|
package/dist/chunk-74NTQGER.js
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
SmartWalletConfigSchema
|
|
3
|
-
} from "./chunk-6FS2OI5W.js";
|
|
4
|
-
|
|
5
|
-
// src/blockchain/wallets/account/cache.ts
|
|
6
|
-
import { keccak256, toHex } from "viem";
|
|
7
|
-
var AccountConfigCache = class {
|
|
8
|
-
constructor(keyPrefix) {
|
|
9
|
-
this.keyPrefix = keyPrefix;
|
|
10
|
-
}
|
|
11
|
-
set(user, config) {
|
|
12
|
-
localStorage.setItem(this.key(user), JSON.stringify(config));
|
|
13
|
-
}
|
|
14
|
-
get(user) {
|
|
15
|
-
const key = this.key(user);
|
|
16
|
-
const data = localStorage.getItem(key);
|
|
17
|
-
if (data == null) {
|
|
18
|
-
return null;
|
|
19
|
-
}
|
|
20
|
-
const result = SmartWalletConfigSchema.safeParse(JSON.parse(data));
|
|
21
|
-
if (!result.success) {
|
|
22
|
-
localStorage.removeItem(key);
|
|
23
|
-
return null;
|
|
24
|
-
}
|
|
25
|
-
return result.data;
|
|
26
|
-
}
|
|
27
|
-
clear() {
|
|
28
|
-
for (let i = 0; i < localStorage.length; i++) {
|
|
29
|
-
const key = localStorage.key(i);
|
|
30
|
-
if (key && key.startsWith(this.keyPrefix)) {
|
|
31
|
-
localStorage.removeItem(key);
|
|
32
|
-
i--;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
key(user) {
|
|
37
|
-
return `${this.keyPrefix}-${keccak256(toHex(user.jwt))}`;
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
export {
|
|
42
|
-
AccountConfigCache
|
|
43
|
-
};
|
|
44
|
-
//# sourceMappingURL=chunk-74NTQGER.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/blockchain/wallets/account/cache.ts"],"sourcesContent":["import { keccak256, toHex } from \"viem\";\n\nimport type { UserParams } from \"../../../types/params\";\nimport { SmartWalletConfigSchema } from \"../../../types/schema\";\nimport type { SmartWalletConfig } from \"../../../types/service\";\n\nexport class AccountConfigCache {\n constructor(private readonly keyPrefix: string) {}\n\n public set(user: UserParams, config: SmartWalletConfig) {\n localStorage.setItem(this.key(user), JSON.stringify(config));\n }\n\n public get(user: UserParams): SmartWalletConfig | null {\n const key = this.key(user);\n const data = localStorage.getItem(key);\n if (data == null) {\n return null;\n }\n\n const result = SmartWalletConfigSchema.safeParse(JSON.parse(data));\n if (!result.success) {\n localStorage.removeItem(key);\n return null;\n }\n\n return result.data;\n }\n\n public clear() {\n for (let i = 0; i < localStorage.length; i++) {\n const key = localStorage.key(i);\n if (key && key.startsWith(this.keyPrefix)) {\n localStorage.removeItem(key);\n i--; // Decrement i since we've removed an item\n }\n }\n }\n\n private key(user: UserParams) {\n return `${this.keyPrefix}-${keccak256(toHex(user.jwt))}`;\n }\n}\n"],"mappings":";;;;;AAAA,SAAS,WAAW,aAAa;AAM1B,IAAM,qBAAN,MAAyB;AAAA,EAC5B,YAA6B,WAAmB;AAAnB;AAAA,EAAoB;AAAA,EAE1C,IAAI,MAAkB,QAA2B;AACpD,iBAAa,QAAQ,KAAK,IAAI,IAAI,GAAG,KAAK,UAAU,MAAM,CAAC;AAAA,EAC/D;AAAA,EAEO,IAAI,MAA4C;AACnD,UAAM,MAAM,KAAK,IAAI,IAAI;AACzB,UAAM,OAAO,aAAa,QAAQ,GAAG;AACrC,QAAI,QAAQ,MAAM;AACd,aAAO;AAAA,IACX;AAEA,UAAM,SAAS,wBAAwB,UAAU,KAAK,MAAM,IAAI,CAAC;AACjE,QAAI,CAAC,OAAO,SAAS;AACjB,mBAAa,WAAW,GAAG;AAC3B,aAAO;AAAA,IACX;AAEA,WAAO,OAAO;AAAA,EAClB;AAAA,EAEO,QAAQ;AACX,aAAS,IAAI,GAAG,IAAI,aAAa,QAAQ,KAAK;AAC1C,YAAM,MAAM,aAAa,IAAI,CAAC;AAC9B,UAAI,OAAO,IAAI,WAAW,KAAK,SAAS,GAAG;AACvC,qBAAa,WAAW,GAAG;AAC3B;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAAA,EAEQ,IAAI,MAAkB;AAC1B,WAAO,GAAG,KAAK,SAAS,IAAI,UAAU,MAAM,KAAK,GAAG,CAAC,CAAC;AAAA,EAC1D;AACJ;","names":[]}
|
package/dist/chunk-77GT6B5L.cjs
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var _chunkZOXKITU4cjs = require('./chunk-ZOXKITU4.cjs');
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
var _chunkBXSAJOIVcjs = require('./chunk-BXSAJOIV.cjs');
|
|
8
|
-
|
|
9
|
-
// src/blockchain/wallets/account/config.ts
|
|
10
|
-
var AccountConfigService = class {
|
|
11
|
-
constructor(crossmintService, configCache) {
|
|
12
|
-
this.crossmintService = crossmintService;
|
|
13
|
-
this.configCache = configCache;
|
|
14
|
-
}
|
|
15
|
-
async get(user, chain) {
|
|
16
|
-
const cached = this.configCache.get(user);
|
|
17
|
-
if (cached != null) {
|
|
18
|
-
return {
|
|
19
|
-
config: this.validateAndFormat(user, cached),
|
|
20
|
-
cached: true
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
const config = await this.crossmintService.getSmartWalletConfig(user, chain);
|
|
24
|
-
return { config: this.validateAndFormat(user, config), cached: false };
|
|
25
|
-
}
|
|
26
|
-
cache({
|
|
27
|
-
entryPointVersion,
|
|
28
|
-
kernelVersion,
|
|
29
|
-
user,
|
|
30
|
-
existing
|
|
31
|
-
}) {
|
|
32
|
-
this.configCache.clear();
|
|
33
|
-
this.configCache.set(user, {
|
|
34
|
-
entryPointVersion,
|
|
35
|
-
kernelVersion,
|
|
36
|
-
userId: user.id,
|
|
37
|
-
signers: [{ signerData: existing.signerConfig.data }],
|
|
38
|
-
smartContractWalletAddress: existing.address
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
validateAndFormat(user, { entryPointVersion, kernelVersion, signers, smartContractWalletAddress, userId }) {
|
|
42
|
-
if (entryPointVersion === "v0.7" && kernelVersion.startsWith("0.2") || entryPointVersion === "v0.6" && kernelVersion.startsWith("0.3")) {
|
|
43
|
-
throw new (0, _chunkBXSAJOIVcjs.SmartWalletError)(
|
|
44
|
-
`Unsupported combination: entryPoint ${entryPointVersion} and kernel version ${kernelVersion}. Please contact support`
|
|
45
|
-
);
|
|
46
|
-
}
|
|
47
|
-
const signerData = signers.map((x) => x.signerData);
|
|
48
|
-
const signer = this.getSigner(signerData);
|
|
49
|
-
if (smartContractWalletAddress != null && signer == null || signer != null && smartContractWalletAddress == null) {
|
|
50
|
-
throw new (0, _chunkBXSAJOIVcjs.SmartWalletError)("Either both signer and address must be present, or both must be null");
|
|
51
|
-
}
|
|
52
|
-
if (signer == null || smartContractWalletAddress == null) {
|
|
53
|
-
return { entryPointVersion, kernelVersion, userWithId: { ...user, id: userId } };
|
|
54
|
-
}
|
|
55
|
-
return {
|
|
56
|
-
entryPointVersion,
|
|
57
|
-
kernelVersion,
|
|
58
|
-
userWithId: { ...user, id: userId },
|
|
59
|
-
existing: { signerConfig: signer, address: smartContractWalletAddress }
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
getSigner(signers) {
|
|
63
|
-
if (signers.length === 0) {
|
|
64
|
-
return void 0;
|
|
65
|
-
}
|
|
66
|
-
const data = signers[0];
|
|
67
|
-
if (data.type === "eoa") {
|
|
68
|
-
return new (0, _chunkZOXKITU4cjs.EOASignerConfig)(data);
|
|
69
|
-
}
|
|
70
|
-
if (data.type === "passkeys") {
|
|
71
|
-
return new (0, _chunkZOXKITU4cjs.PasskeySignerConfig)(data);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
};
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
exports.AccountConfigService = AccountConfigService;
|
|
79
|
-
//# sourceMappingURL=chunk-77GT6B5L.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/blockchain/wallets/account/config.ts"],"names":[],"mappings":";;;;;;;;;AAmBO,IAAM,uBAAN,MAA2B;AAAA,EAC9B,YACqB,kBACA,aACnB;AAFmB;AACA;AAAA,EAClB;AAAA,EAEH,MAAa,IACT,MACA,OAID;AACC,UAAM,SAAS,KAAK,YAAY,IAAI,IAAI;AACxC,QAAI,UAAU,MAAM;AAChB,aAAO;AAAA,QACH,QAAQ,KAAK,kBAAkB,MAAM,MAAM;AAAA,QAC3C,QAAQ;AAAA,MACZ;AAAA,IACJ;AAEA,UAAM,SAAS,MAAM,KAAK,iBAAiB,qBAAqB,MAAM,KAAK;AAC3E,WAAO,EAAE,QAAQ,KAAK,kBAAkB,MAAM,MAAM,GAAG,QAAQ,MAAM;AAAA,EACzE;AAAA,EAEO,MAAM;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,GAKG;AACC,SAAK,YAAY,MAAM;AACvB,SAAK,YAAY,IAAI,MAAM;AAAA,MACvB;AAAA,MACA;AAAA,MACA,QAAQ,KAAK;AAAA,MACb,SAAS,CAAC,EAAE,YAAY,SAAS,aAAa,KAAK,CAAC;AAAA,MACpD,4BAA4B,SAAS;AAAA,IACzC,CAAC;AAAA,EACL;AAAA,EAEQ,kBACJ,MACA,EAAE,mBAAmB,eAAe,SAAS,4BAA4B,OAAO,GACnE;AACb,QACK,sBAAsB,UAAU,cAAc,WAAW,KAAK,KAC9D,sBAAsB,UAAU,cAAc,WAAW,KAAK,GACjE;AACE,YAAM,IAAI;AAAA,QACN,uCAAuC,iBAAiB,uBAAuB,aAAa;AAAA,MAChG;AAAA,IACJ;AAEA,UAAM,aAAa,QAAQ,IAAI,CAAC,MAAM,EAAE,UAAU;AAClD,UAAM,SAAS,KAAK,UAAU,UAAU;AAExC,QACK,8BAA8B,QAAQ,UAAU,QAChD,UAAU,QAAQ,8BAA8B,MACnD;AACE,YAAM,IAAI,iBAAiB,sEAAsE;AAAA,IACrG;AAEA,QAAI,UAAU,QAAQ,8BAA8B,MAAM;AACtD,aAAO,EAAE,mBAAmB,eAAe,YAAY,EAAE,GAAG,MAAM,IAAI,OAAO,EAAE;AAAA,IACnF;AAEA,WAAO;AAAA,MACH;AAAA,MACA;AAAA,MACA,YAAY,EAAE,GAAG,MAAM,IAAI,OAAO;AAAA,MAClC,UAAU,EAAE,cAAc,QAAQ,SAAS,2BAA2B;AAAA,IAC1E;AAAA,EACJ;AAAA,EAEQ,UAAU,SAAiD;AAC/D,QAAI,QAAQ,WAAW,GAAG;AACtB,aAAO;AAAA,IACX;AAEA,UAAM,OAAO,QAAQ,CAAC;AAEtB,QAAI,KAAK,SAAS,OAAO;AACrB,aAAO,IAAI,gBAAgB,IAAI;AAAA,IACnC;AAEA,QAAI,KAAK,SAAS,YAAY;AAC1B,aAAO,IAAI,oBAAoB,IAAI;AAAA,IACvC;AAAA,EACJ;AACJ","sourcesContent":["import type { CrossmintWalletService } from \"../../../api/CrossmintWalletService\";\nimport type { SmartWalletChain } from \"../../../blockchain/chains\";\nimport { SmartWalletError } from \"../../../error\";\nimport type {\n PreExistingWalletProperties,\n SupportedEntryPointVersion,\n SupportedKernelVersion,\n} from \"../../../types/internal\";\nimport type { UserParams } from \"../../../types/params\";\nimport type { SignerData, SmartWalletConfig } from \"../../../types/service\";\nimport type { AccountConfigCache } from \"./cache\";\nimport { EOASignerConfig, PasskeySignerConfig, type SignerConfig } from \"./signer\";\n\ninterface AccountConfig {\n entryPointVersion: SupportedEntryPointVersion;\n kernelVersion: SupportedKernelVersion;\n userWithId: UserParams & { id: string };\n existing?: PreExistingWalletProperties;\n}\nexport class AccountConfigService {\n constructor(\n private readonly crossmintService: CrossmintWalletService,\n private readonly configCache: AccountConfigCache\n ) {}\n\n public async get(\n user: UserParams,\n chain: SmartWalletChain\n ): Promise<{\n config: AccountConfig;\n cached: boolean;\n }> {\n const cached = this.configCache.get(user);\n if (cached != null) {\n return {\n config: this.validateAndFormat(user, cached),\n cached: true,\n };\n }\n\n const config = await this.crossmintService.getSmartWalletConfig(user, chain);\n return { config: this.validateAndFormat(user, config), cached: false };\n }\n\n public cache({\n entryPointVersion,\n kernelVersion,\n user,\n existing,\n }: {\n entryPointVersion: SupportedEntryPointVersion;\n kernelVersion: SupportedKernelVersion;\n user: UserParams & { id: string };\n existing: PreExistingWalletProperties;\n }) {\n this.configCache.clear();\n this.configCache.set(user, {\n entryPointVersion,\n kernelVersion,\n userId: user.id,\n signers: [{ signerData: existing.signerConfig.data }],\n smartContractWalletAddress: existing.address,\n });\n }\n\n private validateAndFormat(\n user: UserParams,\n { entryPointVersion, kernelVersion, signers, smartContractWalletAddress, userId }: SmartWalletConfig\n ): AccountConfig {\n if (\n (entryPointVersion === \"v0.7\" && kernelVersion.startsWith(\"0.2\")) ||\n (entryPointVersion === \"v0.6\" && kernelVersion.startsWith(\"0.3\"))\n ) {\n throw new SmartWalletError(\n `Unsupported combination: entryPoint ${entryPointVersion} and kernel version ${kernelVersion}. Please contact support`\n );\n }\n\n const signerData = signers.map((x) => x.signerData);\n const signer = this.getSigner(signerData);\n\n if (\n (smartContractWalletAddress != null && signer == null) ||\n (signer != null && smartContractWalletAddress == null)\n ) {\n throw new SmartWalletError(\"Either both signer and address must be present, or both must be null\");\n }\n\n if (signer == null || smartContractWalletAddress == null) {\n return { entryPointVersion, kernelVersion, userWithId: { ...user, id: userId } };\n }\n\n return {\n entryPointVersion,\n kernelVersion,\n userWithId: { ...user, id: userId },\n existing: { signerConfig: signer, address: smartContractWalletAddress },\n };\n }\n\n private getSigner(signers: SignerData[]): SignerConfig | undefined {\n if (signers.length === 0) {\n return undefined;\n }\n\n const data = signers[0];\n\n if (data.type === \"eoa\") {\n return new EOASignerConfig(data);\n }\n\n if (data.type === \"passkeys\") {\n return new PasskeySignerConfig(data);\n }\n }\n}\n"]}
|
package/dist/chunk-7KTQNIAZ.cjs
DELETED
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/blockchain/wallets/SendTransactionService.ts
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
var _viem = require('viem');
|
|
6
|
-
var _clientsdkbase = require('@crossmint/client-sdk-base');
|
|
7
|
-
var EVMSendTransactionError = class extends _clientsdkbase.CrossmintSDKError {
|
|
8
|
-
constructor(message, viemError, stage, code = _clientsdkbase.WalletErrorCode.SEND_TRANSACTION_FAILED) {
|
|
9
|
-
super(message, code);
|
|
10
|
-
this.viemError = viemError;
|
|
11
|
-
this.stage = stage;
|
|
12
|
-
}
|
|
13
|
-
};
|
|
14
|
-
var EVMSendTransactionExecutionRevertedError = class extends EVMSendTransactionError {
|
|
15
|
-
constructor(message, viemError, revertError, txId, stage, data = revertError.data, reason = revertError.reason) {
|
|
16
|
-
super(message, viemError, stage, _clientsdkbase.WalletErrorCode.SEND_TRANSACTION_EXECUTION_REVERTED);
|
|
17
|
-
this.viemError = viemError;
|
|
18
|
-
this.txId = txId;
|
|
19
|
-
this.stage = stage;
|
|
20
|
-
this.data = data;
|
|
21
|
-
this.reason = reason;
|
|
22
|
-
}
|
|
23
|
-
};
|
|
24
|
-
var SendTransactionService = class {
|
|
25
|
-
constructor(client, defaultSendTransactionOptions = {
|
|
26
|
-
confirmations: 2,
|
|
27
|
-
transactionConfirmationTimeout: 3e4
|
|
28
|
-
}) {
|
|
29
|
-
this.client = client;
|
|
30
|
-
this.defaultSendTransactionOptions = defaultSendTransactionOptions;
|
|
31
|
-
}
|
|
32
|
-
async sendTransaction(request, config = {}) {
|
|
33
|
-
const { confirmations, transactionConfirmationTimeout } = this.getConfig(config);
|
|
34
|
-
await this.simulateCall(request, void 0, "simulation");
|
|
35
|
-
let hash;
|
|
36
|
-
try {
|
|
37
|
-
hash = await this.client.wallet.writeContract({
|
|
38
|
-
...request,
|
|
39
|
-
account: this.client.wallet.account,
|
|
40
|
-
chain: this.client.wallet.chain
|
|
41
|
-
});
|
|
42
|
-
} catch (e) {
|
|
43
|
-
if (e instanceof _viem.BaseError) {
|
|
44
|
-
throw new EVMSendTransactionError(e.message, e, "send");
|
|
45
|
-
}
|
|
46
|
-
throw e;
|
|
47
|
-
}
|
|
48
|
-
try {
|
|
49
|
-
const receipt = await this.client.public.waitForTransactionReceipt({
|
|
50
|
-
hash,
|
|
51
|
-
confirmations,
|
|
52
|
-
timeout: transactionConfirmationTimeout
|
|
53
|
-
});
|
|
54
|
-
return await this.handleReceipt(receipt, request);
|
|
55
|
-
} catch (e) {
|
|
56
|
-
if (e instanceof _viem.BaseError) {
|
|
57
|
-
throw new EVMSendTransactionError(e.message, e, "confirmation");
|
|
58
|
-
}
|
|
59
|
-
throw e;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
getConfig(config) {
|
|
63
|
-
return {
|
|
64
|
-
...this.defaultSendTransactionOptions,
|
|
65
|
-
...config
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
async handleReceipt(receipt, request) {
|
|
69
|
-
if (receipt.status === "reverted") {
|
|
70
|
-
await this.simulateCall(request, receipt.transactionHash, "execution");
|
|
71
|
-
throw new EVMSendTransactionExecutionRevertedError(
|
|
72
|
-
"Transaction reverted but unable to detect the reason",
|
|
73
|
-
new (0, _viem.ContractFunctionRevertedError)({ abi: request.abi, functionName: request.functionName }),
|
|
74
|
-
new (0, _viem.ContractFunctionRevertedError)({ abi: request.abi, functionName: request.functionName }),
|
|
75
|
-
receipt.transactionHash,
|
|
76
|
-
"execution"
|
|
77
|
-
);
|
|
78
|
-
}
|
|
79
|
-
return receipt.transactionHash;
|
|
80
|
-
}
|
|
81
|
-
async simulateCall(request, passthroughTxId, stage) {
|
|
82
|
-
try {
|
|
83
|
-
await this.client.public.simulateContract({
|
|
84
|
-
...request,
|
|
85
|
-
account: this.client.wallet.account.address,
|
|
86
|
-
chain: this.client.public.chain
|
|
87
|
-
});
|
|
88
|
-
} catch (e) {
|
|
89
|
-
if (e instanceof _viem.BaseError) {
|
|
90
|
-
const revertError = e.walk((err) => err instanceof _viem.ContractFunctionRevertedError);
|
|
91
|
-
if (revertError instanceof _viem.ContractFunctionRevertedError) {
|
|
92
|
-
throw new EVMSendTransactionExecutionRevertedError(
|
|
93
|
-
revertError.message,
|
|
94
|
-
e,
|
|
95
|
-
revertError,
|
|
96
|
-
passthroughTxId,
|
|
97
|
-
stage
|
|
98
|
-
);
|
|
99
|
-
}
|
|
100
|
-
throw new EVMSendTransactionError(e.message, e, stage);
|
|
101
|
-
}
|
|
102
|
-
throw e;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
exports.EVMSendTransactionError = EVMSendTransactionError; exports.EVMSendTransactionExecutionRevertedError = EVMSendTransactionExecutionRevertedError; exports.SendTransactionService = SendTransactionService;
|
|
112
|
-
//# sourceMappingURL=chunk-7KTQNIAZ.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/blockchain/wallets/SendTransactionService.ts"],"names":[],"mappings":";AAGA;AAAA,EAGI;AAAA,EAEA;AAAA,OAKG;AAEP,SAAS,mBAAmB,uBAAuB;AAgB5C,IAAM,0BAAN,cAAsC,kBAAkB;AAAA,EAC3D,YACI,SACgB,WACA,OAChB,OAAO,gBAAgB,yBACzB;AACE,UAAM,SAAS,IAAI;AAJH;AACA;AAAA,EAIpB;AACJ;AAsBO,IAAM,2CAAN,cAAuD,wBAAwB;AAAA,EAClF,YACI,SACgB,WAChB,aACgB,MACA,OACA,OAAO,YAAY,MACnB,SAAS,YAAY,QACvC;AACE,UAAM,SAAS,WAAW,OAAO,gBAAgB,mCAAmC;AAPpE;AAEA;AACA;AACA;AACA;AAAA,EAGpB;AACJ;AAaO,IAAM,yBAAN,MAA6B;AAAA,EAChC,YACqB,QAIA,gCAAwD;AAAA,IACrE,eAAe;AAAA,IACf,gCAAgC;AAAA,EACpC,GACF;AARmB;AAIA;AAAA,EAIlB;AAAA,EAEH,MAAM,gBACF,SACA,SAA0C,CAAC,GAC/B;AACZ,UAAM,EAAE,eAAe,+BAA+B,IAAI,KAAK,UAAU,MAAM;AAE/E,UAAM,KAAK,aAAa,SAAS,QAAW,YAAY;AAExD,QAAI;AACJ,QAAI;AACA,aAAO,MAAM,KAAK,OAAO,OAAO,cAAc;AAAA,QAC1C,GAAG;AAAA,QACH,SAAS,KAAK,OAAO,OAAO;AAAA,QAC5B,OAAO,KAAK,OAAO,OAAO;AAAA,MAC9B,CAAC;AAAA,IACL,SAAS,GAAG;AACR,UAAI,aAAa,WAAW;AACxB,cAAM,IAAI,wBAAwB,EAAE,SAAS,GAAG,MAAM;AAAA,MAC1D;AACA,YAAM;AAAA,IACV;AAEA,QAAI;AACA,YAAM,UAAU,MAAM,KAAK,OAAO,OAAO,0BAA0B;AAAA,QAC/D;AAAA,QACA;AAAA,QACA,SAAS;AAAA,MACb,CAAC;AACD,aAAO,MAAM,KAAK,cAAc,SAAS,OAAO;AAAA,IACpD,SAAS,GAAG;AACR,UAAI,aAAa,WAAW;AACxB,cAAM,IAAI,wBAAwB,EAAE,SAAS,GAAG,cAAc;AAAA,MAClE;AACA,YAAM;AAAA,IACV;AAAA,EACJ;AAAA,EAEQ,UAAU,QAAiE;AAC/E,WAAO;AAAA,MACH,GAAG,KAAK;AAAA,MACR,GAAG;AAAA,IACP;AAAA,EACJ;AAAA,EAEA,MAAc,cAAc,SAA6B,SAA+C;AACpG,QAAI,QAAQ,WAAW,YAAY;AAE/B,YAAM,KAAK,aAAa,SAAS,QAAQ,iBAAiB,WAAW;AAErE,YAAM,IAAI;AAAA,QACN;AAAA,QACA,IAAI,8BAA8B,EAAE,KAAK,QAAQ,KAAY,cAAc,QAAQ,aAAa,CAAC;AAAA,QACjG,IAAI,8BAA8B,EAAE,KAAK,QAAQ,KAAY,cAAc,QAAQ,aAAa,CAAC;AAAA,QACjG,QAAQ;AAAA,QACR;AAAA,MACJ;AAAA,IACJ;AACA,WAAO,QAAQ;AAAA,EACnB;AAAA,EAEA,MAAc,aACV,SACA,iBACA,OACF;AACE,QAAI;AACA,YAAM,KAAK,OAAO,OAAO,iBAAiB;AAAA,QACtC,GAAG;AAAA,QACH,SAAS,KAAK,OAAO,OAAO,QAAQ;AAAA,QACpC,OAAO,KAAK,OAAO,OAAO;AAAA,MAC9B,CAAC;AAAA,IACL,SAAS,GAAG;AACR,UAAI,aAAa,WAAW;AACxB,cAAM,cAAc,EAAE,KAAK,CAAC,QAAQ,eAAe,6BAA6B;AAChF,YAAI,uBAAuB,+BAA+B;AACtD,gBAAM,IAAI;AAAA,YACN,YAAY;AAAA,YACZ;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACJ;AAAA,QACJ;AACA,cAAM,IAAI,wBAAwB,EAAE,SAAS,GAAG,KAAK;AAAA,MACzD;AACA,YAAM;AAAA,IACV;AAAA,EACJ;AACJ","sourcesContent":["import type { SmartAccountClient } from \"permissionless\";\nimport type { EntryPoint } from \"permissionless/_types/types\";\nimport type { SmartAccount } from \"permissionless/accounts\";\nimport {\n type Abi,\n type Address,\n BaseError,\n type Chain,\n ContractFunctionRevertedError,\n type Hex,\n type PublicClient,\n type TransactionReceipt,\n type Transport,\n} from \"viem\";\n\nimport { CrossmintSDKError, WalletErrorCode } from \"@crossmint/client-sdk-base\";\n\nexport type TransactionServiceTransactionRequest = {\n address: Address;\n abi: Abi;\n functionName: string;\n args: any;\n value?: bigint;\n};\n\nexport type SendTransactionFailureStage = \"simulation\" | \"send\" | \"confirmation\" | \"execution\";\n\n/**\n * Error thrown when a transaction fails to send.\n * @param viemError The error thrown by the viem client. See https://viem.sh/docs/glossary/errors.html\n */\nexport class EVMSendTransactionError extends CrossmintSDKError {\n constructor(\n message: string,\n public readonly viemError: BaseError,\n public readonly stage: SendTransactionFailureStage,\n code = WalletErrorCode.SEND_TRANSACTION_FAILED\n ) {\n super(message, code);\n }\n}\n\n/**\n * Error thrown when a transaction fails due to a contract execution error.\n * @param viemError The error thrown by the viem client. See https://viem.sh/docs/glossary/errors.html\n * @param data The name and arguments of the revert error from the provided ABI\n * @param reason The revert error if it is a string and not an ABI error\n * @example\n * try {\n * await wallet.executeContract({\n * address: contractAddress,\n * abi,\n * functionName: \"mintNFT\",\n * args: [recipientAddress],\n * });\n * } catch (e) {\n * if (e instanceof SendTransactionExecutionRevertedError) {\n * alert(`Transaction reverted: ${e.message}`);\n * }\n * throw e;\n * }\n */\nexport class EVMSendTransactionExecutionRevertedError extends EVMSendTransactionError {\n constructor(\n message: string,\n public readonly viemError: BaseError,\n revertError: ContractFunctionRevertedError,\n public readonly txId: string | undefined,\n public readonly stage: SendTransactionFailureStage,\n public readonly data = revertError.data,\n public readonly reason = revertError.reason\n ) {\n super(message, viemError, stage, WalletErrorCode.SEND_TRANSACTION_EXECUTION_REVERTED);\n }\n}\n\nexport interface SendTransactionOptions {\n /**\n * The number of confirmations to wait for before yielding the transaction hash.\n */\n confirmations: number;\n /**\n * The timeout in milliseconds to wait for a transaction to confirm before throwing an error.\n */\n transactionConfirmationTimeout: number;\n}\n\nexport class SendTransactionService {\n constructor(\n private readonly client: {\n public: PublicClient;\n wallet: SmartAccountClient<EntryPoint, Transport, Chain, SmartAccount<EntryPoint>>;\n },\n private readonly defaultSendTransactionOptions: SendTransactionOptions = {\n confirmations: 2,\n transactionConfirmationTimeout: 30_000,\n }\n ) {}\n\n async sendTransaction(\n request: TransactionServiceTransactionRequest,\n config: Partial<SendTransactionOptions> = {}\n ): Promise<Hex> {\n const { confirmations, transactionConfirmationTimeout } = this.getConfig(config);\n\n await this.simulateCall(request, undefined, \"simulation\");\n\n let hash;\n try {\n hash = await this.client.wallet.writeContract({\n ...request,\n account: this.client.wallet.account,\n chain: this.client.wallet.chain,\n });\n } catch (e) {\n if (e instanceof BaseError) {\n throw new EVMSendTransactionError(e.message, e, \"send\");\n }\n throw e;\n }\n\n try {\n const receipt = await this.client.public.waitForTransactionReceipt({\n hash,\n confirmations,\n timeout: transactionConfirmationTimeout,\n });\n return await this.handleReceipt(receipt, request);\n } catch (e) {\n if (e instanceof BaseError) {\n throw new EVMSendTransactionError(e.message, e, \"confirmation\");\n }\n throw e;\n }\n }\n\n private getConfig(config: Partial<SendTransactionOptions>): SendTransactionOptions {\n return {\n ...this.defaultSendTransactionOptions,\n ...config,\n };\n }\n\n private async handleReceipt(receipt: TransactionReceipt, request: TransactionServiceTransactionRequest) {\n if (receipt.status === \"reverted\") {\n // This should revert and throw the full reason\n await this.simulateCall(request, receipt.transactionHash, \"execution\");\n // Otherwise, throw a generic error (this should practically never happen)\n throw new EVMSendTransactionExecutionRevertedError(\n \"Transaction reverted but unable to detect the reason\",\n new ContractFunctionRevertedError({ abi: request.abi as Abi, functionName: request.functionName }),\n new ContractFunctionRevertedError({ abi: request.abi as Abi, functionName: request.functionName }),\n receipt.transactionHash,\n \"execution\"\n );\n }\n return receipt.transactionHash;\n }\n\n private async simulateCall(\n request: TransactionServiceTransactionRequest,\n passthroughTxId: string | undefined,\n stage: SendTransactionFailureStage\n ) {\n try {\n await this.client.public.simulateContract({\n ...request,\n account: this.client.wallet.account.address,\n chain: this.client.public.chain,\n });\n } catch (e) {\n if (e instanceof BaseError) {\n const revertError = e.walk((err) => err instanceof ContractFunctionRevertedError);\n if (revertError instanceof ContractFunctionRevertedError) {\n throw new EVMSendTransactionExecutionRevertedError(\n revertError.message,\n e,\n revertError,\n passthroughTxId,\n stage\n );\n }\n throw new EVMSendTransactionError(e.message, e, stage);\n }\n throw e;\n }\n }\n}\n"]}
|
package/dist/chunk-7ORLXP6K.cjs
DELETED
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
-
|
|
3
|
-
var _chunkFXGOVLZWcjs = require('./chunk-FXGOVLZW.cjs');
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
var _chunkJLZCSWUYcjs = require('./chunk-JLZCSWUY.cjs');
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
var _chunkBXSAJOIVcjs = require('./chunk-BXSAJOIV.cjs');
|
|
10
|
-
|
|
11
|
-
// src/blockchain/wallets/clientDecorator.ts
|
|
12
|
-
var _viem = require('viem');
|
|
13
|
-
var transactionMethods = [
|
|
14
|
-
"sendTransaction",
|
|
15
|
-
"writeContract",
|
|
16
|
-
"sendUserOperation"
|
|
17
|
-
];
|
|
18
|
-
var signingMethods = [
|
|
19
|
-
"signMessage",
|
|
20
|
-
"signTypedData"
|
|
21
|
-
];
|
|
22
|
-
function isTxnMethod(method) {
|
|
23
|
-
return transactionMethods.includes(method);
|
|
24
|
-
}
|
|
25
|
-
function isSignMethod(method) {
|
|
26
|
-
return signingMethods.includes(method);
|
|
27
|
-
}
|
|
28
|
-
var ClientDecorator = class {
|
|
29
|
-
constructor(errorProcessor, logger = _chunkJLZCSWUYcjs.scwLogger) {
|
|
30
|
-
this.errorProcessor = errorProcessor;
|
|
31
|
-
this.logger = logger;
|
|
32
|
-
}
|
|
33
|
-
decorate({
|
|
34
|
-
crossmintChain,
|
|
35
|
-
smartAccountClient
|
|
36
|
-
}) {
|
|
37
|
-
return new Proxy(smartAccountClient, {
|
|
38
|
-
get: (target, prop, receiver) => {
|
|
39
|
-
const originalMethod = Reflect.get(target, prop, receiver);
|
|
40
|
-
if (typeof originalMethod !== "function" || typeof prop !== "string" || !(isSignMethod(prop) || isTxnMethod(prop))) {
|
|
41
|
-
return originalMethod;
|
|
42
|
-
}
|
|
43
|
-
return (...args) => this.logger.logPerformance(
|
|
44
|
-
`CrossmintSmartWallet.${prop}`,
|
|
45
|
-
() => this.execute(target, prop, originalMethod, args, crossmintChain)
|
|
46
|
-
);
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
async execute(target, prop, originalMethod, args, crossmintChain) {
|
|
51
|
-
try {
|
|
52
|
-
this.logger.log(`[CrossmintSmartWallet.${prop}] - params: ${_viem.stringify.call(void 0, args)}`);
|
|
53
|
-
const processed = isTxnMethod(prop) ? this.processTxnArgs(prop, crossmintChain, args) : args;
|
|
54
|
-
return await originalMethod.call(target, ...processed);
|
|
55
|
-
} catch (error) {
|
|
56
|
-
const description = isTxnMethod(prop) ? "signing" : "sending transaction";
|
|
57
|
-
throw this.errorProcessor.map(
|
|
58
|
-
error,
|
|
59
|
-
new (0, _chunkBXSAJOIVcjs.SmartWalletError)(`Error ${description}: ${error.message}`, _viem.stringify.call(void 0, error))
|
|
60
|
-
);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
processTxnArgs(prop, crossmintChain, args) {
|
|
64
|
-
if (prop === "sendUserOperation") {
|
|
65
|
-
const [{ userOperation, middleware, account }] = args;
|
|
66
|
-
return [
|
|
67
|
-
{
|
|
68
|
-
middleware,
|
|
69
|
-
account,
|
|
70
|
-
userOperation: this.addGelatoBundlerProperties(crossmintChain, userOperation)
|
|
71
|
-
},
|
|
72
|
-
...args.slice(1)
|
|
73
|
-
];
|
|
74
|
-
}
|
|
75
|
-
const [txn] = args;
|
|
76
|
-
return [this.addGelatoBundlerProperties(crossmintChain, txn), ...args.slice(1)];
|
|
77
|
-
}
|
|
78
|
-
/*
|
|
79
|
-
* Chain that ZD uses Gelato as for bundler require special parameters:
|
|
80
|
-
* https://docs.zerodev.app/sdk/faqs/use-with-gelato#transaction-configuration
|
|
81
|
-
*/
|
|
82
|
-
addGelatoBundlerProperties(crossmintChain, txnParams) {
|
|
83
|
-
if (_chunkFXGOVLZWcjs.usesGelatoBundler.call(void 0, crossmintChain)) {
|
|
84
|
-
return { ...txnParams, maxFeePerGas: "0x0", maxPriorityFeePerGas: "0x0" };
|
|
85
|
-
}
|
|
86
|
-
return txnParams;
|
|
87
|
-
}
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
exports.ClientDecorator = ClientDecorator;
|
|
93
|
-
//# sourceMappingURL=chunk-7ORLXP6K.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/blockchain/wallets/clientDecorator.ts"],"names":[],"mappings":";;;;;;;;;;;AAEA,SAAS,iBAAiB;AAQ1B,IAAM,qBAAqB;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AACJ;AAEA,IAAM,iBAAiB;AAAA,EACnB;AAAA,EACA;AACJ;AAKA,SAAS,YAAY,QAAqC;AACtD,SAAO,mBAAmB,SAAS,MAAa;AACpD;AAEA,SAAS,aAAa,QAAsC;AACxD,SAAO,eAAe,SAAS,MAAa;AAChD;AAQO,IAAM,kBAAN,MAAsB;AAAA,EACzB,YACqB,gBACP,SAAS,WACrB;AAFmB;AACP;AAAA,EACX;AAAA,EAEI,SAAwD;AAAA,IAC3D;AAAA,IACA;AAAA,EACJ,GAGW;AACP,WAAO,IAAI,MAAM,oBAAoB;AAAA,MACjC,KAAK,CAAC,QAAQ,MAAM,aAAa;AAC7B,cAAM,iBAAiB,QAAQ,IAAI,QAAQ,MAAM,QAAQ;AAEzD,YACI,OAAO,mBAAmB,cAC1B,OAAO,SAAS,YAChB,EAAE,aAAa,IAAI,KAAK,YAAY,IAAI,IAC1C;AACE,iBAAO;AAAA,QACX;AAEA,eAAO,IAAI,SACP,KAAK,OAAO;AAAA,UAAe,wBAAwB,IAAI;AAAA,UAAI,MACvD,KAAK,QAAQ,QAAQ,MAAM,gBAAgB,MAAM,cAAc;AAAA,QACnE;AAAA,MACR;AAAA,IACJ,CAAC;AAAA,EACL;AAAA,EAEA,MAAc,QACV,QACA,MACA,gBACA,MACA,gBACF;AACE,QAAI;AACA,WAAK,OAAO,IAAI,yBAAyB,IAAI,eAAe,UAAU,IAAI,CAAC,EAAE;AAC7E,YAAM,YAAY,YAAY,IAAI,IAAI,KAAK,eAAe,MAAM,gBAAgB,IAAI,IAAI;AACxF,aAAO,MAAM,eAAe,KAAK,QAAQ,GAAG,SAAS;AAAA,IACzD,SAAS,OAAY;AACjB,YAAM,cAAc,YAAY,IAAI,IAAI,YAAY;AACpD,YAAM,KAAK,eAAe;AAAA,QACtB;AAAA,QACA,IAAI,iBAAiB,SAAS,WAAW,KAAK,MAAM,OAAO,IAAI,UAAU,KAAK,CAAC;AAAA,MACnF;AAAA,IACJ;AAAA,EACJ;AAAA,EAEQ,eAAe,MAAiB,gBAAkC,MAAoB;AAC1F,QAAI,SAAS,qBAAqB;AAC9B,YAAM,CAAC,EAAE,eAAe,YAAY,QAAQ,CAAC,IAAI;AAGjD,aAAO;AAAA,QACH;AAAA,UACI;AAAA,UACA;AAAA,UACA,eAAe,KAAK,2BAA2B,gBAAgB,aAAa;AAAA,QAChF;AAAA,QACA,GAAG,KAAK,MAAM,CAAC;AAAA,MACnB;AAAA,IACJ;AAEA,UAAM,CAAC,GAAG,IAAI;AAId,WAAO,CAAC,KAAK,2BAA2B,gBAAgB,GAAG,GAAG,GAAG,KAAK,MAAM,CAAC,CAAC;AAAA,EAClF;AAAA;AAAA;AAAA;AAAA;AAAA,EAMQ,2BACJ,gBACA,WACF;AACE,QAAI,kBAAkB,cAAc,GAAG;AACnC,aAAO,EAAE,GAAG,WAAW,cAAc,OAAc,sBAAsB,MAAa;AAAA,IAC1F;AAEA,WAAO;AAAA,EACX;AACJ","sourcesContent":["import type { SmartAccountClient } from \"permissionless\";\nimport type { EntryPoint } from \"permissionless/types/entrypoint\";\nimport { stringify } from \"viem\";\n\nimport { SmartWalletError } from \"../../error\";\nimport type { ErrorProcessor } from \"../../error/processor\";\nimport { scwLogger } from \"../../services\";\nimport { usesGelatoBundler } from \"../../utils/blockchain\";\nimport type { SmartWalletChain } from \"../chains\";\n\nconst transactionMethods = [\n \"sendTransaction\",\n \"writeContract\",\n \"sendUserOperation\",\n] as const satisfies readonly (keyof SmartAccountClient<EntryPoint>)[];\n\nconst signingMethods = [\n \"signMessage\",\n \"signTypedData\",\n] as const satisfies readonly (keyof SmartAccountClient<EntryPoint>)[];\n\ntype TxnMethod = (typeof transactionMethods)[number];\ntype SignMethod = (typeof signingMethods)[number];\n\nfunction isTxnMethod(method: string): method is TxnMethod {\n return transactionMethods.includes(method as any);\n}\n\nfunction isSignMethod(method: string): method is SignMethod {\n return signingMethods.includes(method as any);\n}\n\n/**\n * A decorator class for SmartAccountClient instances. It enhances the client with:\n * - Error handling & logging.\n * - Performance metrics.\n * - Automatic formatting of transactions for Gelato bundler compatibility.\n * */\nexport class ClientDecorator {\n constructor(\n private readonly errorProcessor: ErrorProcessor,\n protected logger = scwLogger\n ) {}\n\n public decorate<Client extends SmartAccountClient<EntryPoint>>({\n crossmintChain,\n smartAccountClient,\n }: {\n crossmintChain: SmartWalletChain;\n smartAccountClient: Client;\n }): Client {\n return new Proxy(smartAccountClient, {\n get: (target, prop, receiver) => {\n const originalMethod = Reflect.get(target, prop, receiver);\n\n if (\n typeof originalMethod !== \"function\" ||\n typeof prop !== \"string\" ||\n !(isSignMethod(prop) || isTxnMethod(prop))\n ) {\n return originalMethod;\n }\n\n return (...args: any[]) =>\n this.logger.logPerformance(`CrossmintSmartWallet.${prop}`, () =>\n this.execute(target, prop, originalMethod, args, crossmintChain)\n );\n },\n }) as Client;\n }\n\n private async execute<M extends TxnMethod | SignMethod>(\n target: SmartAccountClient<EntryPoint>,\n prop: M,\n originalMethod: Function,\n args: any[],\n crossmintChain: SmartWalletChain\n ) {\n try {\n this.logger.log(`[CrossmintSmartWallet.${prop}] - params: ${stringify(args)}`);\n const processed = isTxnMethod(prop) ? this.processTxnArgs(prop, crossmintChain, args) : args;\n return await originalMethod.call(target, ...processed);\n } catch (error: any) {\n const description = isTxnMethod(prop) ? \"signing\" : \"sending transaction\";\n throw this.errorProcessor.map(\n error,\n new SmartWalletError(`Error ${description}: ${error.message}`, stringify(error))\n );\n }\n }\n\n private processTxnArgs(prop: TxnMethod, crossmintChain: SmartWalletChain, args: any[]): any[] {\n if (prop === \"sendUserOperation\") {\n const [{ userOperation, middleware, account }] = args as Parameters<\n SmartAccountClient<EntryPoint>[\"sendUserOperation\"]\n >;\n return [\n {\n middleware,\n account,\n userOperation: this.addGelatoBundlerProperties(crossmintChain, userOperation),\n },\n ...args.slice(1),\n ];\n }\n\n const [txn] = args as\n | Parameters<SmartAccountClient<EntryPoint>[\"sendTransaction\"]>\n | Parameters<SmartAccountClient<EntryPoint>[\"writeContract\"]>;\n\n return [this.addGelatoBundlerProperties(crossmintChain, txn), ...args.slice(1)];\n }\n\n /*\n * Chain that ZD uses Gelato as for bundler require special parameters:\n * https://docs.zerodev.app/sdk/faqs/use-with-gelato#transaction-configuration\n */\n private addGelatoBundlerProperties(\n crossmintChain: SmartWalletChain,\n txnParams: { maxFeePerGas?: bigint; maxPriorityFeePerGas?: bigint }\n ) {\n if (usesGelatoBundler(crossmintChain)) {\n return { ...txnParams, maxFeePerGas: \"0x0\" as any, maxPriorityFeePerGas: \"0x0\" as any };\n }\n\n return txnParams;\n }\n}\n"]}
|