@crossmint/wallets-sdk 0.20.2 → 0.20.4
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/api/__tests__/constants.cjs +4 -3
- package/dist/api/__tests__/constants.cjs.map +1 -0
- package/dist/api/__tests__/constants.js +3 -2
- package/dist/api/__tests__/constants.js.map +1 -0
- package/dist/api/__tests__/test-utils.cjs +36 -35
- package/dist/api/__tests__/test-utils.cjs.map +1 -0
- package/dist/api/__tests__/test-utils.js +7 -6
- package/dist/api/__tests__/test-utils.js.map +1 -0
- package/dist/api/client.cjs +7 -6
- package/dist/api/client.cjs.map +1 -0
- package/dist/api/client.js +6 -5
- package/dist/api/client.js.map +1 -0
- package/dist/api/gen/client.gen.cjs +4 -3
- package/dist/api/gen/client.gen.cjs.map +1 -0
- package/dist/api/gen/client.gen.js +3 -2
- package/dist/api/gen/client.gen.js.map +1 -0
- package/dist/api/gen/index.cjs +6 -5
- package/dist/api/gen/index.cjs.map +1 -0
- package/dist/api/gen/index.js +5 -4
- package/dist/api/gen/index.js.map +1 -0
- package/dist/api/gen/sdk.gen.cjs +5 -4
- package/dist/api/gen/sdk.gen.cjs.map +1 -0
- package/dist/api/gen/sdk.gen.js +4 -3
- package/dist/api/gen/sdk.gen.js.map +1 -0
- package/dist/api/gen/types.gen.cjs +2 -1
- package/dist/api/gen/types.gen.cjs.map +1 -0
- package/dist/api/gen/types.gen.js +2 -1
- package/dist/api/gen/types.gen.js.map +1 -0
- package/dist/api/index.cjs +9 -8
- package/dist/api/index.cjs.map +1 -0
- package/dist/api/index.js +8 -7
- package/dist/api/index.js.map +1 -0
- package/dist/api/types.cjs +2 -1
- package/dist/api/types.cjs.map +1 -0
- package/dist/api/types.js +2 -1
- package/dist/api/types.js.map +1 -0
- package/dist/chains/chains.cjs +13 -12
- package/dist/chains/chains.cjs.map +1 -0
- package/dist/chains/chains.js +12 -11
- package/dist/chains/chains.js.map +1 -0
- package/dist/chains/definitions/arcTestnet.cjs +4 -3
- package/dist/chains/definitions/arcTestnet.cjs.map +1 -0
- package/dist/chains/definitions/arcTestnet.js +3 -2
- package/dist/chains/definitions/arcTestnet.js.map +1 -0
- package/dist/chains/definitions/story.cjs +4 -3
- package/dist/chains/definitions/story.cjs.map +1 -0
- package/dist/chains/definitions/story.js +3 -2
- package/dist/chains/definitions/story.js.map +1 -0
- package/dist/chains/definitions/storyTestnet.cjs +4 -3
- package/dist/chains/definitions/storyTestnet.cjs.map +1 -0
- package/dist/chains/definitions/storyTestnet.js +3 -2
- package/dist/chains/definitions/storyTestnet.js.map +1 -0
- package/dist/chains/definitions/tempo.cjs +4 -3
- package/dist/chains/definitions/tempo.cjs.map +1 -0
- package/dist/chains/definitions/tempo.js +3 -2
- package/dist/chains/definitions/tempo.js.map +1 -0
- package/dist/chains/definitions/tempoTestnet.cjs +4 -3
- package/dist/chains/definitions/tempoTestnet.cjs.map +1 -0
- package/dist/chains/definitions/tempoTestnet.js +3 -2
- package/dist/chains/definitions/tempoTestnet.js.map +1 -0
- package/dist/{chunk-FICVKSXZ.js → chunk-2QI75IOB.js} +4 -3
- package/dist/chunk-2QI75IOB.js.map +1 -0
- package/dist/{chunk-2T5HHKUI.js → chunk-2RQYQVVY.js} +1 -0
- package/dist/chunk-2RQYQVVY.js.map +1 -0
- package/dist/{chunk-JWMQALLN.js → chunk-33TLFTHT.js} +1 -0
- package/dist/chunk-33TLFTHT.js.map +1 -0
- package/dist/{chunk-SGINWAB6.js → chunk-36C7SCPK.js} +1 -0
- package/dist/chunk-36C7SCPK.js.map +1 -0
- package/dist/{chunk-WJUPOCKJ.js → chunk-3J2BNUTO.js} +1 -0
- package/dist/chunk-3J2BNUTO.js.map +1 -0
- package/dist/{chunk-FOOISYCJ.js → chunk-3PG4HRAS.js} +2 -1
- package/dist/chunk-3PG4HRAS.js.map +1 -0
- package/dist/{chunk-ZP4ZZCIE.js → chunk-4AV3GY27.js} +2 -1
- package/dist/chunk-4AV3GY27.js.map +1 -0
- package/dist/{chunk-47WKYTRN.js → chunk-4BB7YYTT.js} +2 -1
- package/dist/chunk-4BB7YYTT.js.map +1 -0
- package/dist/{chunk-XC2V34TS.cjs → chunk-4GADBBZN.cjs} +1 -0
- package/dist/chunk-4GADBBZN.cjs.map +1 -0
- package/dist/{chunk-PUO4QNXH.js → chunk-4GSHSMCA.js} +4 -3
- package/dist/chunk-4GSHSMCA.js.map +1 -0
- package/dist/{chunk-6UMJYMAY.js → chunk-5NIFUAZH.js} +4 -3
- package/dist/chunk-5NIFUAZH.js.map +1 -0
- package/dist/{chunk-HXJ3YPAN.js → chunk-5OFC4HSW.js} +5 -4
- package/dist/chunk-5OFC4HSW.js.map +1 -0
- package/dist/{chunk-6FG5QXII.cjs → chunk-5QPU62QL.cjs} +16 -15
- package/dist/chunk-5QPU62QL.cjs.map +1 -0
- package/dist/{chunk-4GFSUI2I.cjs → chunk-6CR6FGAO.cjs} +4 -3
- package/dist/chunk-6CR6FGAO.cjs.map +1 -0
- package/dist/{chunk-JSWTGW46.cjs → chunk-6DPHKKVR.cjs} +4 -3
- package/dist/chunk-6DPHKKVR.cjs.map +1 -0
- package/dist/{chunk-MMISP35W.js → chunk-6G4QLBSO.js} +1 -0
- package/dist/chunk-6G4QLBSO.js.map +1 -0
- package/dist/{chunk-ZNAGDENG.cjs → chunk-6PIQDY3F.cjs} +4 -3
- package/dist/chunk-6PIQDY3F.cjs.map +1 -0
- package/dist/{chunk-WWW6IGZ7.js → chunk-6QZLBFZZ.js} +6 -5
- package/dist/chunk-6QZLBFZZ.js.map +1 -0
- package/dist/{chunk-TYQ4YIP7.js → chunk-7PHIXK4Q.js} +2 -1
- package/dist/chunk-7PHIXK4Q.js.map +1 -0
- package/dist/{chunk-RBHGZDDX.cjs → chunk-A3QJT5UU.cjs} +3 -2
- package/dist/chunk-A3QJT5UU.cjs.map +1 -0
- package/dist/{chunk-A6E67ZZP.js → chunk-AMS7MCD6.js} +6 -5
- package/dist/chunk-AMS7MCD6.js.map +1 -0
- package/dist/{chunk-JREZWZ2S.cjs → chunk-BBUEX3DG.cjs} +4 -3
- package/dist/chunk-BBUEX3DG.cjs.map +1 -0
- package/dist/chunk-BD3ZXT5D.js +1 -0
- package/dist/chunk-BD3ZXT5D.js.map +1 -0
- package/dist/{chunk-ZBLW42YE.js → chunk-C6WWOWGR.js} +1 -0
- package/dist/chunk-C6WWOWGR.js.map +1 -0
- package/dist/{chunk-Q5KNPVYI.cjs → chunk-CLVXR2JV.cjs} +7 -6
- package/dist/chunk-CLVXR2JV.cjs.map +1 -0
- package/dist/{chunk-55V4VMTX.cjs → chunk-CYUJJIHO.cjs} +1 -0
- package/dist/chunk-CYUJJIHO.cjs.map +1 -0
- package/dist/{chunk-7GOUUPS4.js → chunk-D2OS4757.js} +2 -1
- package/dist/chunk-D2OS4757.js.map +1 -0
- package/dist/chunk-DA47DMPI.js +1 -0
- package/dist/chunk-DA47DMPI.js.map +1 -0
- package/dist/{chunk-IPO25BCU.js → chunk-DGBAFJTM.js} +2 -1
- package/dist/chunk-DGBAFJTM.js.map +1 -0
- package/dist/{chunk-IDKGJO2G.cjs → chunk-DIJNSNWN.cjs} +18 -17
- package/dist/chunk-DIJNSNWN.cjs.map +1 -0
- package/dist/{chunk-7USEVMTW.cjs → chunk-DN2SNZIX.cjs} +1 -0
- package/dist/chunk-DN2SNZIX.cjs.map +1 -0
- package/dist/{chunk-PIFD6KNH.js → chunk-EKMTR3GD.js} +3 -2
- package/dist/chunk-EKMTR3GD.js.map +1 -0
- package/dist/{chunk-COR3CNRW.cjs → chunk-FLI7NWQN.cjs} +130 -129
- package/dist/chunk-FLI7NWQN.cjs.map +1 -0
- package/dist/{chunk-NIBKCMQ2.cjs → chunk-G43MR76L.cjs} +1 -0
- package/dist/chunk-G43MR76L.cjs.map +1 -0
- package/dist/{chunk-XOCC3MPK.cjs → chunk-GGMUF77N.cjs} +4 -3
- package/dist/chunk-GGMUF77N.cjs.map +1 -0
- package/dist/{chunk-2WBSPOWU.js → chunk-GNU6RIKU.js} +8 -7
- package/dist/chunk-GNU6RIKU.js.map +1 -0
- package/dist/{chunk-WDZY4PP4.cjs → chunk-H6BH7OK4.cjs} +16 -15
- package/dist/chunk-H6BH7OK4.cjs.map +1 -0
- package/dist/{chunk-CMBFV325.js → chunk-HP6T3FTF.js} +5 -4
- package/dist/chunk-HP6T3FTF.js.map +1 -0
- package/dist/{chunk-RHR6P2KP.cjs → chunk-I2O3XXRZ.cjs} +1 -0
- package/dist/chunk-I2O3XXRZ.cjs.map +1 -0
- package/dist/chunk-IE4R2VDM.cjs +1 -0
- package/dist/chunk-IE4R2VDM.cjs.map +1 -0
- package/dist/{chunk-W7K5E64Q.js → chunk-IP6APT2S.js} +5 -4
- package/dist/chunk-IP6APT2S.js.map +1 -0
- package/dist/{chunk-BMMZIPXT.js → chunk-IUSTF2DR.js} +3 -2
- package/dist/chunk-IUSTF2DR.js.map +1 -0
- package/dist/{chunk-R6DH4V7S.cjs → chunk-IYQMWYQI.cjs} +12 -11
- package/dist/chunk-IYQMWYQI.cjs.map +1 -0
- package/dist/{chunk-ZAX22GSI.cjs → chunk-IZYJJUOE.cjs} +37 -36
- package/dist/chunk-IZYJJUOE.cjs.map +1 -0
- package/dist/{chunk-HTSQPZHW.cjs → chunk-J2OH6EMB.cjs} +1 -0
- package/dist/chunk-J2OH6EMB.cjs.map +1 -0
- package/dist/{chunk-FHMKNG62.js → chunk-J6AO2ZDU.js} +8 -6
- package/dist/chunk-J6AO2ZDU.js.map +1 -0
- package/dist/{chunk-ASE2FXWP.js → chunk-JF4JR5QQ.js} +1 -0
- package/dist/chunk-JF4JR5QQ.js.map +1 -0
- package/dist/{chunk-2I2OFGNL.js → chunk-JMRG565N.js} +2 -1
- package/dist/chunk-JMRG565N.js.map +1 -0
- package/dist/{chunk-ABMZ3ZVN.js → chunk-JXXXM7AV.js} +2 -1
- package/dist/chunk-JXXXM7AV.js.map +1 -0
- package/dist/{chunk-ZT7EGOCI.cjs → chunk-KV7KHODO.cjs} +1 -0
- package/dist/chunk-KV7KHODO.cjs.map +1 -0
- package/dist/{chunk-MRZXYVQO.cjs → chunk-KXXRVRR6.cjs} +10 -9
- package/dist/chunk-KXXRVRR6.cjs.map +1 -0
- package/dist/chunk-L33DZOLM.cjs +1 -0
- package/dist/chunk-L33DZOLM.cjs.map +1 -0
- package/dist/chunk-M2OFHRMU.cjs +1 -0
- package/dist/chunk-M2OFHRMU.cjs.map +1 -0
- package/dist/{chunk-ZTEMOYS2.cjs → chunk-NAGMAP3Y.cjs} +4 -3
- package/dist/chunk-NAGMAP3Y.cjs.map +1 -0
- package/dist/{chunk-PK7J3Y3L.js → chunk-NG77OKLY.js} +2 -1
- package/dist/chunk-NG77OKLY.js.map +1 -0
- package/dist/{chunk-R4AW5ADG.cjs → chunk-NQR4AQOW.cjs} +2 -1
- package/dist/chunk-NQR4AQOW.cjs.map +1 -0
- package/dist/chunk-PHGHKSBT.js +1 -0
- package/dist/chunk-PHGHKSBT.js.map +1 -0
- package/dist/{chunk-G6QJHFSY.cjs → chunk-QFE6TYBN.cjs} +1 -0
- package/dist/chunk-QFE6TYBN.cjs.map +1 -0
- package/dist/{chunk-PJOJIRTY.js → chunk-QUIRXKKE.js} +1 -0
- package/dist/chunk-QUIRXKKE.js.map +1 -0
- package/dist/chunk-RB7HTHG4.js +1 -0
- package/dist/chunk-RB7HTHG4.js.map +1 -0
- package/dist/{chunk-IOMKHF6R.cjs → chunk-RJ3VNO74.cjs} +4 -3
- package/dist/chunk-RJ3VNO74.cjs.map +1 -0
- package/dist/chunk-RLWGW5R2.js +1 -0
- package/dist/chunk-RLWGW5R2.js.map +1 -0
- package/dist/{chunk-WHTECI7J.cjs → chunk-RPLIXWF3.cjs} +11 -10
- package/dist/chunk-RPLIXWF3.cjs.map +1 -0
- package/dist/{chunk-T2XUADHW.js → chunk-RUUBB4EB.js} +10 -9
- package/dist/chunk-RUUBB4EB.js.map +1 -0
- package/dist/{chunk-POG76HDD.cjs → chunk-TONAC74L.cjs} +121 -119
- package/dist/chunk-TONAC74L.cjs.map +1 -0
- package/dist/{chunk-F7L2TZ3I.cjs → chunk-TXLF6BM6.cjs} +1 -0
- package/dist/chunk-TXLF6BM6.cjs.map +1 -0
- package/dist/{chunk-U3NV7UY7.js → chunk-UAFXNE4C.js} +5 -4
- package/dist/chunk-UAFXNE4C.js.map +1 -0
- package/dist/chunk-UBZ7RWBZ.cjs +1 -0
- package/dist/chunk-UBZ7RWBZ.cjs.map +1 -0
- package/dist/chunk-UDLDOYUB.cjs +1 -0
- package/dist/chunk-UDLDOYUB.cjs.map +1 -0
- package/dist/chunk-V5HHKVTT.cjs +59 -0
- package/dist/chunk-V5HHKVTT.cjs.map +1 -0
- package/dist/{chunk-KQH5ZXJ4.js → chunk-VIL33DEX.js} +8 -7
- package/dist/chunk-VIL33DEX.js.map +1 -0
- package/dist/{chunk-UO2J2ZB2.cjs → chunk-W4VYO3P6.cjs} +1 -0
- package/dist/chunk-W4VYO3P6.cjs.map +1 -0
- package/dist/{chunk-7TT3VUDF.cjs → chunk-W5LNQWQD.cjs} +10 -9
- package/dist/chunk-W5LNQWQD.cjs.map +1 -0
- package/dist/{chunk-PM7BGATN.cjs → chunk-XOVH2G3J.cjs} +38 -37
- package/dist/chunk-XOVH2G3J.cjs.map +1 -0
- package/dist/{chunk-RYQI3RXL.cjs → chunk-XWXIO5PH.cjs} +32 -31
- package/dist/chunk-XWXIO5PH.cjs.map +1 -0
- package/dist/{chunk-66UY53KP.cjs → chunk-Y3CJJ3GO.cjs} +55 -54
- package/dist/chunk-Y3CJJ3GO.cjs.map +1 -0
- package/dist/{chunk-3U6UAYOV.js → chunk-Y5AADOPZ.js} +1 -0
- package/dist/chunk-Y5AADOPZ.js.map +1 -0
- package/dist/{chunk-KT3CVXFG.js → chunk-ZEH4W3O4.js} +1 -0
- package/dist/chunk-ZEH4W3O4.js.map +1 -0
- package/dist/index.cjs +37 -36
- package/dist/index.cjs.map +1 -0
- package/dist/index.js +36 -35
- package/dist/index.js.map +1 -0
- package/dist/logger/index.cjs +6 -5
- package/dist/logger/index.cjs.map +1 -0
- package/dist/logger/index.js +5 -4
- package/dist/logger/index.js.map +1 -0
- package/dist/logger/init.cjs +5 -4
- package/dist/logger/init.cjs.map +1 -0
- package/dist/logger/init.js +4 -3
- package/dist/logger/init.js.map +1 -0
- package/dist/sdk.cjs +34 -33
- package/dist/sdk.cjs.map +1 -0
- package/dist/sdk.js +33 -32
- package/dist/sdk.js.map +1 -0
- package/dist/signers/evm-api-key.cjs +4 -3
- package/dist/signers/evm-api-key.cjs.map +1 -0
- package/dist/signers/evm-api-key.js +3 -2
- package/dist/signers/evm-api-key.js.map +1 -0
- package/dist/signers/evm-external-wallet.cjs +4 -3
- package/dist/signers/evm-external-wallet.cjs.map +1 -0
- package/dist/signers/evm-external-wallet.js +3 -2
- package/dist/signers/evm-external-wallet.js.map +1 -0
- package/dist/signers/index.cjs +21 -20
- package/dist/signers/index.cjs.map +1 -0
- package/dist/signers/index.js +20 -19
- package/dist/signers/index.js.map +1 -0
- package/dist/signers/non-custodial/index.cjs +13 -12
- package/dist/signers/non-custodial/index.cjs.map +1 -0
- package/dist/signers/non-custodial/index.js +12 -11
- package/dist/signers/non-custodial/index.js.map +1 -0
- package/dist/signers/non-custodial/ncs-evm-signer.cjs +10 -9
- package/dist/signers/non-custodial/ncs-evm-signer.cjs.map +1 -0
- package/dist/signers/non-custodial/ncs-evm-signer.js +9 -8
- package/dist/signers/non-custodial/ncs-evm-signer.js.map +1 -0
- package/dist/signers/non-custodial/ncs-iframe-manager.cjs +4 -3
- package/dist/signers/non-custodial/ncs-iframe-manager.cjs.map +1 -0
- package/dist/signers/non-custodial/ncs-iframe-manager.js +3 -2
- package/dist/signers/non-custodial/ncs-iframe-manager.js.map +1 -0
- package/dist/signers/non-custodial/ncs-signer.cjs +9 -8
- package/dist/signers/non-custodial/ncs-signer.cjs.map +1 -0
- package/dist/signers/non-custodial/ncs-signer.js +8 -7
- package/dist/signers/non-custodial/ncs-signer.js.map +1 -0
- package/dist/signers/non-custodial/ncs-solana-signer.cjs +10 -9
- package/dist/signers/non-custodial/ncs-solana-signer.cjs.map +1 -0
- package/dist/signers/non-custodial/ncs-solana-signer.js +9 -8
- package/dist/signers/non-custodial/ncs-solana-signer.js.map +1 -0
- package/dist/signers/non-custodial/ncs-stellar-signer.cjs +10 -9
- package/dist/signers/non-custodial/ncs-stellar-signer.cjs.map +1 -0
- package/dist/signers/non-custodial/ncs-stellar-signer.js +9 -8
- package/dist/signers/non-custodial/ncs-stellar-signer.js.map +1 -0
- package/dist/signers/passkey.cjs +4 -3
- package/dist/signers/passkey.cjs.map +1 -0
- package/dist/signers/passkey.js +3 -2
- package/dist/signers/passkey.js.map +1 -0
- package/dist/signers/solana-api-key.cjs +4 -3
- package/dist/signers/solana-api-key.cjs.map +1 -0
- package/dist/signers/solana-api-key.js +3 -2
- package/dist/signers/solana-api-key.js.map +1 -0
- package/dist/signers/solana-external-wallet.cjs +5 -4
- package/dist/signers/solana-external-wallet.cjs.map +1 -0
- package/dist/signers/solana-external-wallet.js +4 -3
- package/dist/signers/solana-external-wallet.js.map +1 -0
- package/dist/signers/stellar-external-wallet.cjs +4 -3
- package/dist/signers/stellar-external-wallet.cjs.map +1 -0
- package/dist/signers/stellar-external-wallet.js +3 -2
- package/dist/signers/stellar-external-wallet.js.map +1 -0
- package/dist/signers/types.cjs +4 -3
- package/dist/signers/types.cjs.map +1 -0
- package/dist/signers/types.js +3 -2
- package/dist/signers/types.js.map +1 -0
- package/dist/utils/constants.cjs +4 -3
- package/dist/utils/constants.cjs.map +1 -0
- package/dist/utils/constants.js +3 -2
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/errors.cjs +4 -3
- package/dist/utils/errors.cjs.map +1 -0
- package/dist/utils/errors.js +3 -2
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/signer-validation.cjs +5 -4
- package/dist/utils/signer-validation.cjs.map +1 -0
- package/dist/utils/signer-validation.js +4 -3
- package/dist/utils/signer-validation.js.map +1 -0
- package/dist/wallets/__tests__/setup.cjs +4 -3
- package/dist/wallets/__tests__/setup.cjs.map +1 -0
- package/dist/wallets/__tests__/setup.js +2 -1
- package/dist/wallets/__tests__/setup.js.map +1 -0
- package/dist/wallets/__tests__/test-helpers.cjs +22 -21
- package/dist/wallets/__tests__/test-helpers.cjs.map +1 -0
- package/dist/wallets/__tests__/test-helpers.js +20 -19
- package/dist/wallets/__tests__/test-helpers.js.map +1 -0
- package/dist/wallets/evm.cjs +22 -21
- package/dist/wallets/evm.cjs.map +1 -0
- package/dist/wallets/evm.js +21 -20
- package/dist/wallets/evm.js.map +1 -0
- package/dist/wallets/solana.cjs +23 -22
- package/dist/wallets/solana.cjs.map +1 -0
- package/dist/wallets/solana.js +22 -21
- package/dist/wallets/solana.js.map +1 -0
- package/dist/wallets/stellar.cjs +22 -21
- package/dist/wallets/stellar.cjs.map +1 -0
- package/dist/wallets/stellar.js +21 -20
- package/dist/wallets/stellar.js.map +1 -0
- package/dist/wallets/types.cjs +1 -1
- package/dist/wallets/types.cjs.map +1 -0
- package/dist/wallets/types.js +1 -0
- package/dist/wallets/types.js.map +1 -0
- package/dist/wallets/wallet-factory.cjs +30 -29
- package/dist/wallets/wallet-factory.cjs.map +1 -0
- package/dist/wallets/wallet-factory.js +29 -28
- package/dist/wallets/wallet-factory.js.map +1 -0
- package/dist/wallets/wallet.cjs +21 -20
- package/dist/wallets/wallet.cjs.map +1 -0
- package/dist/wallets/wallet.js +20 -19
- package/dist/wallets/wallet.js.map +1 -0
- package/package.json +47 -50
- package/dist/chunk-455NK5LB.js +0 -0
- package/dist/chunk-47R3UV3J.cjs +0 -58
- package/dist/chunk-5IFDVB4Y.js +0 -0
- package/dist/chunk-6HXIZLEQ.cjs +0 -1
- package/dist/chunk-CCIGWTAO.cjs +0 -1
- package/dist/chunk-ECAM5KTH.cjs +0 -1
- package/dist/chunk-KBJA7JDT.js +0 -0
- package/dist/chunk-PO6S7UR3.cjs +0 -1
- package/dist/chunk-XPMCPXI3.cjs +0 -1
- package/dist/chunk-YDZRBHS3.js +0 -0
- package/dist/chunk-YMRXMNME.js +0 -0
|
@@ -153,3 +153,4 @@ var PendingApprovalsError = class extends _commonsdkbase.CrossmintSDKError {
|
|
|
153
153
|
|
|
154
154
|
|
|
155
155
|
exports.InvalidApiKeyError = InvalidApiKeyError; exports.InvalidEnvironmentError = InvalidEnvironmentError; exports.WalletTypeNotSupportedError = WalletTypeNotSupportedError; exports.WalletNotAvailableError = WalletNotAvailableError; exports.InvalidWalletConfigError = InvalidWalletConfigError; exports.WalletCreationError = WalletCreationError; exports.WalletTypeMismatchError = WalletTypeMismatchError; exports.SignerTypeMismatchError = SignerTypeMismatchError; exports.InvalidSignerError = InvalidSignerError; exports.InvalidMessageFormatError = InvalidMessageFormatError; exports.InvalidTypedDataError = InvalidTypedDataError; exports.SignatureNotFoundError = SignatureNotFoundError; exports.SigningFailedError = SigningFailedError; exports.MessageSigningNotSupportedError = MessageSigningNotSupportedError; exports.SignatureNotCreatedError = SignatureNotCreatedError; exports.SignatureNotAvailableError = SignatureNotAvailableError; exports.SignatureFailedError = SignatureFailedError; exports.TransactionNotCreatedError = TransactionNotCreatedError; exports.TransactionNotAvailableError = TransactionNotAvailableError; exports.TransactionConfirmationTimeoutError = TransactionConfirmationTimeoutError; exports.TransactionSendingFailedError = TransactionSendingFailedError; exports.TransactionAwaitingApprovalError = TransactionAwaitingApprovalError; exports.TransactionHashNotFoundError = TransactionHashNotFoundError; exports.TransactionFailedError = TransactionFailedError; exports.PendingApprovalsError = PendingApprovalsError;
|
|
156
|
+
//# sourceMappingURL=chunk-4GADBBZN.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/errors.ts"],"names":[],"mappings":"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","sourcesContent":["import { CrossmintSDKError, WalletErrorCode } from \"@crossmint/common-sdk-base\";\n\nexport class InvalidApiKeyError extends CrossmintSDKError {\n constructor(message: string, details?: string) {\n super(message, WalletErrorCode.API_KEY_INVALID, details);\n }\n}\n\nexport class InvalidEnvironmentError extends CrossmintSDKError {\n constructor(message: string, details?: string) {\n super(message, WalletErrorCode.ENVIRONMENT_INVALID, details);\n }\n}\n\nexport class WalletTypeNotSupportedError extends CrossmintSDKError {\n constructor(message: string, details?: string) {\n super(message, WalletErrorCode.WALLET_TYPE_INVALID, details);\n }\n}\n\nexport class WalletNotAvailableError extends CrossmintSDKError {\n constructor(message: string, details?: string) {\n super(message, WalletErrorCode.WALLET_NOT_AVAILABLE, details);\n }\n}\n\nexport class InvalidWalletConfigError extends CrossmintSDKError {\n constructor(message: string, details?: string) {\n super(message, WalletErrorCode.WALLET_NOT_AVAILABLE, details);\n }\n}\n\nexport class WalletCreationError extends CrossmintSDKError {\n constructor(message: string, details?: string) {\n super(message, WalletErrorCode.WALLET_CREATION_FAILED, details);\n }\n}\n\nexport class WalletTypeMismatchError extends CrossmintSDKError {\n constructor(message: string, details?: string) {\n super(message, WalletErrorCode.WALLET_TYPE_INVALID, details);\n }\n}\n\nexport class SignerTypeMismatchError extends CrossmintSDKError {\n constructor(message: string, details?: string) {\n super(message, WalletErrorCode.SIGNER_INVALID, details);\n }\n}\n\nexport class InvalidSignerError extends CrossmintSDKError {\n constructor(message: string, details?: string) {\n super(message, WalletErrorCode.SIGNER_INVALID, details);\n }\n}\n\nexport class InvalidMessageFormatError extends CrossmintSDKError {\n constructor(message: string, details?: string) {\n super(message, WalletErrorCode.MESSAGE_INVALID, details);\n }\n}\n\nexport class InvalidTypedDataError extends CrossmintSDKError {\n constructor(message: string, details?: string) {\n super(message, WalletErrorCode.MESSAGE_INVALID, details);\n }\n}\n\nexport class SignatureNotFoundError extends CrossmintSDKError {\n constructor(message: string, details?: string) {\n super(message, WalletErrorCode.SIGNING_FAILED, details);\n }\n}\n\nexport class SigningFailedError extends CrossmintSDKError {\n constructor(message: string, details?: string) {\n super(message, WalletErrorCode.SIGNING_FAILED, details);\n }\n}\n\nexport class MessageSigningNotSupportedError extends CrossmintSDKError {\n constructor(message: string, details?: string) {\n super(message, WalletErrorCode.SIGNING_FAILED, details);\n }\n}\n\nexport class SignatureNotCreatedError extends CrossmintSDKError {\n constructor(message: string, details?: string) {\n super(message, WalletErrorCode.NO_SIGNATURE, details);\n }\n}\n\nexport class SignatureNotAvailableError extends CrossmintSDKError {\n constructor(message: string, details?: string) {\n super(message, WalletErrorCode.NO_SIGNATURE, details);\n }\n}\n\nexport class SignatureFailedError extends CrossmintSDKError {\n constructor(message: string, details?: string) {\n super(message, WalletErrorCode.SIGNING_FAILED, details);\n }\n}\n\nexport class TransactionNotCreatedError extends CrossmintSDKError {\n constructor(message: string, details?: string) {\n super(message, WalletErrorCode.NO_TRANSACTION, details);\n }\n}\n\nexport class TransactionNotAvailableError extends CrossmintSDKError {\n constructor(message: string, details?: string) {\n super(message, WalletErrorCode.NO_TRANSACTION, details);\n }\n}\n\nexport class TransactionConfirmationTimeoutError extends CrossmintSDKError {\n constructor(message: string, details?: string) {\n super(message, WalletErrorCode.TRANSACTION_FAILED, details);\n }\n}\n\nexport class TransactionSendingFailedError extends CrossmintSDKError {\n constructor(message: string, details?: string) {\n super(message, WalletErrorCode.TRANSACTION_FAILED, details);\n }\n}\n\nexport class TransactionAwaitingApprovalError extends CrossmintSDKError {\n constructor(message: string, details?: string) {\n super(message, WalletErrorCode.TRANSACTION_FAILED, details);\n }\n}\n\nexport class TransactionHashNotFoundError extends CrossmintSDKError {\n constructor(message: string, details?: string) {\n super(message, WalletErrorCode.TRANSACTION_FAILED, details);\n }\n}\n\nexport class TransactionFailedError extends CrossmintSDKError {\n constructor(message: string, details?: string) {\n super(message, WalletErrorCode.TRANSACTION_FAILED, details);\n }\n}\n\nexport class PendingApprovalsError extends CrossmintSDKError {\n constructor(message: string, details?: string) {\n super(message, WalletErrorCode.TRANSACTION_FAILED, details);\n }\n}\n\nexport type WalletError =\n | InvalidApiKeyError\n | InvalidEnvironmentError\n | WalletTypeNotSupportedError\n | WalletNotAvailableError\n | InvalidWalletConfigError\n | WalletCreationError\n | WalletTypeMismatchError\n | SignerTypeMismatchError\n | InvalidSignerError\n | InvalidMessageFormatError\n | InvalidTypedDataError\n | SignatureNotFoundError\n | SigningFailedError\n | MessageSigningNotSupportedError\n | SignatureNotCreatedError\n | SignatureNotAvailableError\n | SignatureFailedError\n | TransactionNotCreatedError\n | TransactionNotAvailableError\n | TransactionConfirmationTimeoutError\n | TransactionSendingFailedError\n | TransactionAwaitingApprovalError\n | TransactionHashNotFoundError\n | TransactionFailedError\n | PendingApprovalsError;\n"]}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
DEFAULT_EVENT_OPTIONS,
|
|
3
3
|
NonCustodialSigner
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-UAFXNE4C.js";
|
|
5
5
|
import {
|
|
6
6
|
walletsLogger
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-JXXXM7AV.js";
|
|
8
8
|
import {
|
|
9
9
|
__async
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-JF4JR5QQ.js";
|
|
11
11
|
|
|
12
12
|
// src/signers/non-custodial/ncs-evm-signer.ts
|
|
13
13
|
import { PersonalMessage } from "ox";
|
|
@@ -87,3 +87,4 @@ var EVMNonCustodialSigner = class _EVMNonCustodialSigner extends NonCustodialSig
|
|
|
87
87
|
export {
|
|
88
88
|
EVMNonCustodialSigner
|
|
89
89
|
};
|
|
90
|
+
//# sourceMappingURL=chunk-4GSHSMCA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/signers/non-custodial/ncs-evm-signer.ts"],"sourcesContent":["import type { EmailInternalSignerConfig, PhoneInternalSignerConfig } from \"../types\";\nimport { NonCustodialSigner, DEFAULT_EVENT_OPTIONS } from \"./ncs-signer\";\nimport { PersonalMessage } from \"ox\";\nimport { isHex, toHex, type Hex } from \"viem\";\nimport { walletsLogger } from \"../../logger\";\n\nexport class EVMNonCustodialSigner extends NonCustodialSigner {\n constructor(config: EmailInternalSignerConfig | PhoneInternalSignerConfig) {\n super(config);\n }\n\n async signMessage(message: string) {\n const messageRaw = isHex(message) ? (message as Hex) : toHex(message);\n const messageToSign = PersonalMessage.getSignPayload(messageRaw);\n return await this.sign(messageToSign);\n }\n\n async signTransaction(transaction: string): Promise<{ signature: string }> {\n return await this.sign(transaction);\n }\n\n private async sign(raw: string): Promise<{ signature: string }> {\n await this.handleAuthRequired();\n const jwt = this.getJwtOrThrow();\n\n const hexString = raw.replace(\"0x\", \"\");\n\n walletsLogger.info(\"sign: sending request\", { keyType: \"secp256k1\" });\n const startTime = Date.now();\n const res = await this.config.clientTEEConnection?.sendAction({\n event: \"request:sign\",\n responseEvent: \"response:sign\",\n data: {\n authData: {\n jwt,\n apiKey: this.config.crossmint.apiKey,\n },\n data: {\n keyType: \"secp256k1\",\n bytes: hexString,\n encoding: \"hex\",\n },\n },\n options: DEFAULT_EVENT_OPTIONS,\n });\n walletsLogger.info(\"sign: response received\", {\n status: res?.status,\n durationMs: Date.now() - startTime,\n });\n\n if (res?.status === \"error\") {\n throw new Error(res.error);\n }\n\n if (res?.signature == null) {\n throw new Error(\"Failed to sign transaction\");\n }\n EVMNonCustodialSigner.verifyPublicKeyFormat(res.publicKey);\n return { signature: res.signature.bytes };\n }\n\n static verifyPublicKeyFormat(publicKey: { encoding: string; keyType: string; bytes: string } | null) {\n if (publicKey == null) {\n throw new Error(\"No public key found\");\n }\n\n if (publicKey.encoding !== \"hex\" || publicKey.keyType !== \"secp256k1\" || publicKey.bytes == null) {\n throw new Error(\n \"Not supported. Expected public key to be in hex encoding and secp256k1 key type. Got: \" +\n JSON.stringify(publicKey)\n );\n }\n }\n\n protected getChainKeyParams(): { scheme: \"secp256k1\"; encoding: \"hex\" } {\n return {\n scheme: \"secp256k1\",\n encoding: \"hex\",\n };\n }\n}\n"],"mappings":";;;;;;;;;;;;AAEA,SAAS,uBAAuB;AAChC,SAAS,OAAO,aAAuB;AAGhC,IAAM,wBAAN,MAAM,+BAA8B,mBAAmB;AAAA,EAC1D,YAAY,QAA+D;AACvE,UAAM,MAAM;AAAA,EAChB;AAAA,EAEM,YAAY,SAAiB;AAAA;AAC/B,YAAM,aAAa,MAAM,OAAO,IAAK,UAAkB,MAAM,OAAO;AACpE,YAAM,gBAAgB,gBAAgB,eAAe,UAAU;AAC/D,aAAO,MAAM,KAAK,KAAK,aAAa;AAAA,IACxC;AAAA;AAAA,EAEM,gBAAgB,aAAqD;AAAA;AACvE,aAAO,MAAM,KAAK,KAAK,WAAW;AAAA,IACtC;AAAA;AAAA,EAEc,KAAK,KAA6C;AAAA;AArBpE;AAsBQ,YAAM,KAAK,mBAAmB;AAC9B,YAAM,MAAM,KAAK,cAAc;AAE/B,YAAM,YAAY,IAAI,QAAQ,MAAM,EAAE;AAEtC,oBAAc,KAAK,yBAAyB,EAAE,SAAS,YAAY,CAAC;AACpE,YAAM,YAAY,KAAK,IAAI;AAC3B,YAAM,MAAM,OAAM,UAAK,OAAO,wBAAZ,mBAAiC,WAAW;AAAA,QAC1D,OAAO;AAAA,QACP,eAAe;AAAA,QACf,MAAM;AAAA,UACF,UAAU;AAAA,YACN;AAAA,YACA,QAAQ,KAAK,OAAO,UAAU;AAAA,UAClC;AAAA,UACA,MAAM;AAAA,YACF,SAAS;AAAA,YACT,OAAO;AAAA,YACP,UAAU;AAAA,UACd;AAAA,QACJ;AAAA,QACA,SAAS;AAAA,MACb;AACA,oBAAc,KAAK,2BAA2B;AAAA,QAC1C,QAAQ,2BAAK;AAAA,QACb,YAAY,KAAK,IAAI,IAAI;AAAA,MAC7B,CAAC;AAED,WAAI,2BAAK,YAAW,SAAS;AACzB,cAAM,IAAI,MAAM,IAAI,KAAK;AAAA,MAC7B;AAEA,WAAI,2BAAK,cAAa,MAAM;AACxB,cAAM,IAAI,MAAM,4BAA4B;AAAA,MAChD;AACA,6BAAsB,sBAAsB,IAAI,SAAS;AACzD,aAAO,EAAE,WAAW,IAAI,UAAU,MAAM;AAAA,IAC5C;AAAA;AAAA,EAEA,OAAO,sBAAsB,WAAwE;AACjG,QAAI,aAAa,MAAM;AACnB,YAAM,IAAI,MAAM,qBAAqB;AAAA,IACzC;AAEA,QAAI,UAAU,aAAa,SAAS,UAAU,YAAY,eAAe,UAAU,SAAS,MAAM;AAC9F,YAAM,IAAI;AAAA,QACN,2FACI,KAAK,UAAU,SAAS;AAAA,MAChC;AAAA,IACJ;AAAA,EACJ;AAAA,EAEU,oBAA8D;AACpE,WAAO;AAAA,MACH,QAAQ;AAAA,MACR,UAAU;AAAA,IACd;AAAA,EACJ;AACJ;","names":[]}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
DEFAULT_EVENT_OPTIONS,
|
|
3
3
|
NonCustodialSigner
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-UAFXNE4C.js";
|
|
5
5
|
import {
|
|
6
6
|
walletsLogger
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-JXXXM7AV.js";
|
|
8
8
|
import {
|
|
9
9
|
__async
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-JF4JR5QQ.js";
|
|
11
11
|
|
|
12
12
|
// src/signers/non-custodial/ncs-stellar-signer.ts
|
|
13
13
|
var StellarNonCustodialSigner = class _StellarNonCustodialSigner extends NonCustodialSigner {
|
|
@@ -80,3 +80,4 @@ var StellarNonCustodialSigner = class _StellarNonCustodialSigner extends NonCust
|
|
|
80
80
|
export {
|
|
81
81
|
StellarNonCustodialSigner
|
|
82
82
|
};
|
|
83
|
+
//# sourceMappingURL=chunk-5NIFUAZH.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/signers/non-custodial/ncs-stellar-signer.ts"],"sourcesContent":["import type { EmailInternalSignerConfig, PhoneInternalSignerConfig } from \"../types\";\nimport { DEFAULT_EVENT_OPTIONS, NonCustodialSigner } from \"./ncs-signer\";\nimport { walletsLogger } from \"../../logger\";\n\nexport class StellarNonCustodialSigner extends NonCustodialSigner {\n constructor(config: EmailInternalSignerConfig | PhoneInternalSignerConfig) {\n super(config);\n }\n\n async signMessage() {\n return await Promise.reject(new Error(\"signMessage method not implemented for stellar signer\"));\n }\n\n async signTransaction(payload: string): Promise<{ signature: string }> {\n await this.handleAuthRequired();\n const jwt = this.getJwtOrThrow();\n\n walletsLogger.info(\"sign: sending request\", { keyType: \"ed25519\" });\n const startTime = Date.now();\n const res = await this.config.clientTEEConnection?.sendAction({\n event: \"request:sign\",\n responseEvent: \"response:sign\",\n data: {\n authData: {\n jwt,\n apiKey: this.config.crossmint.apiKey,\n },\n data: {\n keyType: \"ed25519\",\n bytes: payload,\n encoding: \"base64\",\n },\n },\n options: DEFAULT_EVENT_OPTIONS,\n });\n walletsLogger.info(\"sign: response received\", {\n status: res?.status,\n durationMs: Date.now() - startTime,\n });\n\n if (res?.status === \"error\") {\n throw new Error(res.error);\n }\n\n if (res?.signature == null) {\n throw new Error(\"Failed to sign transaction\");\n }\n StellarNonCustodialSigner.verifyPublicKeyFormat(res.publicKey);\n if (res.signature.encoding !== \"base64\") {\n throw new Error(\"Wrong encoding for signature. Expected base64, got \" + res.signature.encoding);\n }\n\n return { signature: res.signature.bytes };\n }\n\n static verifyPublicKeyFormat(publicKey: { encoding: string; keyType: string; bytes: string } | null) {\n if (publicKey == null) {\n throw new Error(\"No public key found\");\n }\n\n if (publicKey.encoding !== \"base64\" || publicKey.keyType !== \"ed25519\" || publicKey.bytes == null) {\n throw new Error(\n \"Not supported. Expected public key to be in base64 encoding and ed25519 key type. Got: \" +\n JSON.stringify(publicKey)\n );\n }\n }\n\n protected getChainKeyParams(): { scheme: \"ed25519\"; encoding: \"strkey\" } {\n return {\n scheme: \"ed25519\",\n encoding: \"strkey\",\n };\n }\n}\n"],"mappings":";;;;;;;;;;;;AAIO,IAAM,4BAAN,MAAM,mCAAkC,mBAAmB;AAAA,EAC9D,YAAY,QAA+D;AACvE,UAAM,MAAM;AAAA,EAChB;AAAA,EAEM,cAAc;AAAA;AAChB,aAAO,MAAM,QAAQ,OAAO,IAAI,MAAM,uDAAuD,CAAC;AAAA,IAClG;AAAA;AAAA,EAEM,gBAAgB,SAAiD;AAAA;AAb3E;AAcQ,YAAM,KAAK,mBAAmB;AAC9B,YAAM,MAAM,KAAK,cAAc;AAE/B,oBAAc,KAAK,yBAAyB,EAAE,SAAS,UAAU,CAAC;AAClE,YAAM,YAAY,KAAK,IAAI;AAC3B,YAAM,MAAM,OAAM,UAAK,OAAO,wBAAZ,mBAAiC,WAAW;AAAA,QAC1D,OAAO;AAAA,QACP,eAAe;AAAA,QACf,MAAM;AAAA,UACF,UAAU;AAAA,YACN;AAAA,YACA,QAAQ,KAAK,OAAO,UAAU;AAAA,UAClC;AAAA,UACA,MAAM;AAAA,YACF,SAAS;AAAA,YACT,OAAO;AAAA,YACP,UAAU;AAAA,UACd;AAAA,QACJ;AAAA,QACA,SAAS;AAAA,MACb;AACA,oBAAc,KAAK,2BAA2B;AAAA,QAC1C,QAAQ,2BAAK;AAAA,QACb,YAAY,KAAK,IAAI,IAAI;AAAA,MAC7B,CAAC;AAED,WAAI,2BAAK,YAAW,SAAS;AACzB,cAAM,IAAI,MAAM,IAAI,KAAK;AAAA,MAC7B;AAEA,WAAI,2BAAK,cAAa,MAAM;AACxB,cAAM,IAAI,MAAM,4BAA4B;AAAA,MAChD;AACA,iCAA0B,sBAAsB,IAAI,SAAS;AAC7D,UAAI,IAAI,UAAU,aAAa,UAAU;AACrC,cAAM,IAAI,MAAM,wDAAwD,IAAI,UAAU,QAAQ;AAAA,MAClG;AAEA,aAAO,EAAE,WAAW,IAAI,UAAU,MAAM;AAAA,IAC5C;AAAA;AAAA,EAEA,OAAO,sBAAsB,WAAwE;AACjG,QAAI,aAAa,MAAM;AACnB,YAAM,IAAI,MAAM,qBAAqB;AAAA,IACzC;AAEA,QAAI,UAAU,aAAa,YAAY,UAAU,YAAY,aAAa,UAAU,SAAS,MAAM;AAC/F,YAAM,IAAI;AAAA,QACN,4FACI,KAAK,UAAU,SAAS;AAAA,MAChC;AAAA,IACJ;AAAA,EACJ;AAAA,EAEU,oBAA+D;AACrE,WAAO;AAAA,MACH,QAAQ;AAAA,MACR,UAAU;AAAA,IACd;AAAA,EACJ;AACJ;","names":[]}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Wallet
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-J6AO2ZDU.js";
|
|
4
4
|
import {
|
|
5
5
|
TransactionNotCreatedError
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-36C7SCPK.js";
|
|
7
7
|
import {
|
|
8
8
|
walletsLogger
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-JXXXM7AV.js";
|
|
10
10
|
import {
|
|
11
11
|
__async,
|
|
12
12
|
__decorateClass
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-JF4JR5QQ.js";
|
|
14
14
|
|
|
15
15
|
// src/wallets/stellar.ts
|
|
16
16
|
import { isValidStellarAddress, WithLoggerContext } from "@crossmint/common-sdk-base";
|
|
@@ -108,3 +108,4 @@ var StellarWallet = _StellarWallet;
|
|
|
108
108
|
export {
|
|
109
109
|
StellarWallet
|
|
110
110
|
};
|
|
111
|
+
//# sourceMappingURL=chunk-5OFC4HSW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/wallets/stellar.ts"],"sourcesContent":["import { isValidStellarAddress, WithLoggerContext } from \"@crossmint/common-sdk-base\";\nimport type { Chain, StellarChain } from \"../chains/chains\";\nimport type {\n ApproveOptions,\n PrepareOnly,\n StellarTransactionInput,\n Transaction,\n TransactionInputOptions,\n} from \"./types\";\nimport { Wallet } from \"./wallet\";\nimport { TransactionNotCreatedError } from \"../utils/errors\";\nimport type { CreateTransactionSuccessResponse } from \"@/api\";\nimport { walletsLogger } from \"../logger\";\n\nexport class StellarWallet extends Wallet<StellarChain> {\n constructor(wallet: Wallet<StellarChain>) {\n super(\n {\n chain: wallet.chain,\n address: wallet.address,\n owner: wallet.owner,\n signer: wallet.signer,\n options: Wallet.getOptions(wallet),\n alias: wallet.alias,\n },\n Wallet.getApiClient(wallet)\n );\n }\n\n static from(wallet: Wallet<Chain>) {\n if (!isValidStellarAddress(wallet.address)) {\n throw new Error(\"Wallet is not a Stellar wallet\");\n }\n\n return new StellarWallet(wallet as Wallet<StellarChain>);\n }\n\n /**\n * Send a raw Stellar transaction (serialized transaction or contract call).\n * @param params - The transaction parameters\n * @returns The transaction result\n */\n @WithLoggerContext({\n logger: walletsLogger,\n methodName: \"stellarWallet.sendTransaction\",\n buildContext(thisArg: StellarWallet) {\n return { chain: thisArg.chain, address: thisArg.address };\n },\n })\n public async sendTransaction<T extends TransactionInputOptions | undefined = undefined>(\n params: StellarTransactionInput & { options?: T }\n ): Promise<Transaction<T extends PrepareOnly<true> ? true : false>> {\n walletsLogger.info(\"stellarWallet.sendTransaction.start\");\n\n await this.preAuthIfNeeded();\n const createdTransaction = await this.createTransaction(params);\n\n if (params.options?.experimental_prepareOnly) {\n walletsLogger.info(\"stellarWallet.sendTransaction.prepared\", {\n transactionId: createdTransaction.id,\n });\n return {\n hash: undefined,\n explorerLink: undefined,\n transactionId: createdTransaction.id,\n } as Transaction<T extends PrepareOnly<true> ? true : false>;\n }\n\n const options: ApproveOptions = {};\n\n const result = await this.approveTransactionAndWait(createdTransaction.id, options);\n walletsLogger.info(\"stellarWallet.sendTransaction.success\", {\n transactionId: createdTransaction.id,\n hash: result.hash,\n });\n return result;\n }\n\n private async createTransaction(params: StellarTransactionInput): Promise<CreateTransactionSuccessResponse> {\n const { contractId, options } = params;\n const signer = options?.experimental_signer ?? this.signer.locator();\n\n let transaction: any;\n\n if (\"transaction\" in params) {\n transaction = {\n type: \"serialized-transaction\",\n serializedTransaction: params.transaction,\n contractId,\n };\n } else {\n const { method, memo, args } = params;\n transaction = {\n type: \"contract-call\",\n contractId,\n method,\n memo: memo != null ? { type: \"text\", value: memo } : undefined,\n args,\n };\n }\n\n const transactionCreationResponse = await this.apiClient.createTransaction(this.walletLocator, {\n params: {\n transaction,\n signer,\n },\n });\n\n if (\"error\" in transactionCreationResponse) {\n throw new TransactionNotCreatedError(JSON.stringify(transactionCreationResponse));\n }\n\n return transactionCreationResponse;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAAA,SAAS,uBAAuB,yBAAyB;AAclD,IAAM,iBAAN,MAAM,uBAAsB,OAAqB;AAAA,EACpD,YAAY,QAA8B;AACtC;AAAA,MACI;AAAA,QACI,OAAO,OAAO;AAAA,QACd,SAAS,OAAO;AAAA,QAChB,OAAO,OAAO;AAAA,QACd,QAAQ,OAAO;AAAA,QACf,SAAS,OAAO,WAAW,MAAM;AAAA,QACjC,OAAO,OAAO;AAAA,MAClB;AAAA,MACA,OAAO,aAAa,MAAM;AAAA,IAC9B;AAAA,EACJ;AAAA,EAEA,OAAO,KAAK,QAAuB;AAC/B,QAAI,CAAC,sBAAsB,OAAO,OAAO,GAAG;AACxC,YAAM,IAAI,MAAM,gCAAgC;AAAA,IACpD;AAEA,WAAO,IAAI,eAAc,MAA8B;AAAA,EAC3D;AAAA,EAca,gBACT,QACgE;AAAA;AAnDxE;AAoDQ,oBAAc,KAAK,qCAAqC;AAExD,YAAM,KAAK,gBAAgB;AAC3B,YAAM,qBAAqB,MAAM,KAAK,kBAAkB,MAAM;AAE9D,WAAI,YAAO,YAAP,mBAAgB,0BAA0B;AAC1C,sBAAc,KAAK,0CAA0C;AAAA,UACzD,eAAe,mBAAmB;AAAA,QACtC,CAAC;AACD,eAAO;AAAA,UACH,MAAM;AAAA,UACN,cAAc;AAAA,UACd,eAAe,mBAAmB;AAAA,QACtC;AAAA,MACJ;AAEA,YAAM,UAA0B,CAAC;AAEjC,YAAM,SAAS,MAAM,KAAK,0BAA0B,mBAAmB,IAAI,OAAO;AAClF,oBAAc,KAAK,yCAAyC;AAAA,QACxD,eAAe,mBAAmB;AAAA,QAClC,MAAM,OAAO;AAAA,MACjB,CAAC;AACD,aAAO;AAAA,IACX;AAAA;AAAA,EAEc,kBAAkB,QAA4E;AAAA;AA9EhH;AA+EQ,YAAM,EAAE,YAAY,QAAQ,IAAI;AAChC,YAAM,UAAS,wCAAS,wBAAT,YAAgC,KAAK,OAAO,QAAQ;AAEnE,UAAI;AAEJ,UAAI,iBAAiB,QAAQ;AACzB,sBAAc;AAAA,UACV,MAAM;AAAA,UACN,uBAAuB,OAAO;AAAA,UAC9B;AAAA,QACJ;AAAA,MACJ,OAAO;AACH,cAAM,EAAE,QAAQ,MAAM,KAAK,IAAI;AAC/B,sBAAc;AAAA,UACV,MAAM;AAAA,UACN;AAAA,UACA;AAAA,UACA,MAAM,QAAQ,OAAO,EAAE,MAAM,QAAQ,OAAO,KAAK,IAAI;AAAA,UACrD;AAAA,QACJ;AAAA,MACJ;AAEA,YAAM,8BAA8B,MAAM,KAAK,UAAU,kBAAkB,KAAK,eAAe;AAAA,QAC3F,QAAQ;AAAA,UACJ;AAAA,UACA;AAAA,QACJ;AAAA,MACJ,CAAC;AAED,UAAI,WAAW,6BAA6B;AACxC,cAAM,IAAI,2BAA2B,KAAK,UAAU,2BAA2B,CAAC;AAAA,MACpF;AAEA,aAAO;AAAA,IACX;AAAA;AACJ;AAjEiB;AAAA,EAPZ,kBAAkB;AAAA,IACf,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,aAAa,SAAwB;AACjC,aAAO,EAAE,OAAO,QAAQ,OAAO,SAAS,QAAQ,QAAQ;AAAA,IAC5D;AAAA,EACJ,CAAC;AAAA,GAlCQ,eAmCI;AAnCV,IAAM,gBAAN;","names":[]}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkTONAC74Lcjs = require('./chunk-TONAC74L.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunk4GADBBZNcjs = require('./chunk-4GADBBZN.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
var
|
|
9
|
+
var _chunkBBUEX3DGcjs = require('./chunk-BBUEX3DG.cjs');
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
var
|
|
13
|
+
var _chunkW4VYO3P6cjs = require('./chunk-W4VYO3P6.cjs');
|
|
14
14
|
|
|
15
15
|
// src/wallets/stellar.ts
|
|
16
16
|
var _commonsdkbase = require('@crossmint/common-sdk-base');
|
|
17
|
-
var _StellarWallet = class _StellarWallet extends
|
|
17
|
+
var _StellarWallet = class _StellarWallet extends _chunkTONAC74Lcjs.Wallet {
|
|
18
18
|
constructor(wallet) {
|
|
19
19
|
super(
|
|
20
20
|
{
|
|
@@ -22,10 +22,10 @@ var _StellarWallet = class _StellarWallet extends _chunkPOG76HDDcjs.Wallet {
|
|
|
22
22
|
address: wallet.address,
|
|
23
23
|
owner: wallet.owner,
|
|
24
24
|
signer: wallet.signer,
|
|
25
|
-
options:
|
|
25
|
+
options: _chunkTONAC74Lcjs.Wallet.getOptions(wallet),
|
|
26
26
|
alias: wallet.alias
|
|
27
27
|
},
|
|
28
|
-
|
|
28
|
+
_chunkTONAC74Lcjs.Wallet.getApiClient(wallet)
|
|
29
29
|
);
|
|
30
30
|
}
|
|
31
31
|
static from(wallet) {
|
|
@@ -35,13 +35,13 @@ var _StellarWallet = class _StellarWallet extends _chunkPOG76HDDcjs.Wallet {
|
|
|
35
35
|
return new _StellarWallet(wallet);
|
|
36
36
|
}
|
|
37
37
|
sendTransaction(params) {
|
|
38
|
-
return
|
|
38
|
+
return _chunkW4VYO3P6cjs.__async.call(void 0, this, null, function* () {
|
|
39
39
|
var _a;
|
|
40
|
-
|
|
40
|
+
_chunkBBUEX3DGcjs.walletsLogger.info("stellarWallet.sendTransaction.start");
|
|
41
41
|
yield this.preAuthIfNeeded();
|
|
42
42
|
const createdTransaction = yield this.createTransaction(params);
|
|
43
43
|
if ((_a = params.options) == null ? void 0 : _a.experimental_prepareOnly) {
|
|
44
|
-
|
|
44
|
+
_chunkBBUEX3DGcjs.walletsLogger.info("stellarWallet.sendTransaction.prepared", {
|
|
45
45
|
transactionId: createdTransaction.id
|
|
46
46
|
});
|
|
47
47
|
return {
|
|
@@ -52,7 +52,7 @@ var _StellarWallet = class _StellarWallet extends _chunkPOG76HDDcjs.Wallet {
|
|
|
52
52
|
}
|
|
53
53
|
const options = {};
|
|
54
54
|
const result = yield this.approveTransactionAndWait(createdTransaction.id, options);
|
|
55
|
-
|
|
55
|
+
_chunkBBUEX3DGcjs.walletsLogger.info("stellarWallet.sendTransaction.success", {
|
|
56
56
|
transactionId: createdTransaction.id,
|
|
57
57
|
hash: result.hash
|
|
58
58
|
});
|
|
@@ -60,7 +60,7 @@ var _StellarWallet = class _StellarWallet extends _chunkPOG76HDDcjs.Wallet {
|
|
|
60
60
|
});
|
|
61
61
|
}
|
|
62
62
|
createTransaction(params) {
|
|
63
|
-
return
|
|
63
|
+
return _chunkW4VYO3P6cjs.__async.call(void 0, this, null, function* () {
|
|
64
64
|
var _a;
|
|
65
65
|
const { contractId, options } = params;
|
|
66
66
|
const signer = (_a = options == null ? void 0 : options.experimental_signer) != null ? _a : this.signer.locator();
|
|
@@ -88,15 +88,15 @@ var _StellarWallet = class _StellarWallet extends _chunkPOG76HDDcjs.Wallet {
|
|
|
88
88
|
}
|
|
89
89
|
});
|
|
90
90
|
if ("error" in transactionCreationResponse) {
|
|
91
|
-
throw new (0,
|
|
91
|
+
throw new (0, _chunk4GADBBZNcjs.TransactionNotCreatedError)(JSON.stringify(transactionCreationResponse));
|
|
92
92
|
}
|
|
93
93
|
return transactionCreationResponse;
|
|
94
94
|
});
|
|
95
95
|
}
|
|
96
96
|
};
|
|
97
|
-
|
|
97
|
+
_chunkW4VYO3P6cjs.__decorateClass.call(void 0, [
|
|
98
98
|
_commonsdkbase.WithLoggerContext.call(void 0, {
|
|
99
|
-
logger:
|
|
99
|
+
logger: _chunkBBUEX3DGcjs.walletsLogger,
|
|
100
100
|
methodName: "stellarWallet.sendTransaction",
|
|
101
101
|
buildContext(thisArg) {
|
|
102
102
|
return { chain: thisArg.chain, address: thisArg.address };
|
|
@@ -108,3 +108,4 @@ var StellarWallet = _StellarWallet;
|
|
|
108
108
|
|
|
109
109
|
|
|
110
110
|
exports.StellarWallet = StellarWallet;
|
|
111
|
+
//# sourceMappingURL=chunk-5QPU62QL.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/wallets/stellar.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,SAAS,uBAAuB,yBAAyB;AAclD,IAAM,iBAAN,MAAM,uBAAsB,OAAqB;AAAA,EACpD,YAAY,QAA8B;AACtC;AAAA,MACI;AAAA,QACI,OAAO,OAAO;AAAA,QACd,SAAS,OAAO;AAAA,QAChB,OAAO,OAAO;AAAA,QACd,QAAQ,OAAO;AAAA,QACf,SAAS,OAAO,WAAW,MAAM;AAAA,QACjC,OAAO,OAAO;AAAA,MAClB;AAAA,MACA,OAAO,aAAa,MAAM;AAAA,IAC9B;AAAA,EACJ;AAAA,EAEA,OAAO,KAAK,QAAuB;AAC/B,QAAI,CAAC,sBAAsB,OAAO,OAAO,GAAG;AACxC,YAAM,IAAI,MAAM,gCAAgC;AAAA,IACpD;AAEA,WAAO,IAAI,eAAc,MAA8B;AAAA,EAC3D;AAAA,EAca,gBACT,QACgE;AAAA;AAnDxE;AAoDQ,oBAAc,KAAK,qCAAqC;AAExD,YAAM,KAAK,gBAAgB;AAC3B,YAAM,qBAAqB,MAAM,KAAK,kBAAkB,MAAM;AAE9D,WAAI,YAAO,YAAP,mBAAgB,0BAA0B;AAC1C,sBAAc,KAAK,0CAA0C;AAAA,UACzD,eAAe,mBAAmB;AAAA,QACtC,CAAC;AACD,eAAO;AAAA,UACH,MAAM;AAAA,UACN,cAAc;AAAA,UACd,eAAe,mBAAmB;AAAA,QACtC;AAAA,MACJ;AAEA,YAAM,UAA0B,CAAC;AAEjC,YAAM,SAAS,MAAM,KAAK,0BAA0B,mBAAmB,IAAI,OAAO;AAClF,oBAAc,KAAK,yCAAyC;AAAA,QACxD,eAAe,mBAAmB;AAAA,QAClC,MAAM,OAAO;AAAA,MACjB,CAAC;AACD,aAAO;AAAA,IACX;AAAA;AAAA,EAEc,kBAAkB,QAA4E;AAAA;AA9EhH;AA+EQ,YAAM,EAAE,YAAY,QAAQ,IAAI;AAChC,YAAM,UAAS,wCAAS,wBAAT,YAAgC,KAAK,OAAO,QAAQ;AAEnE,UAAI;AAEJ,UAAI,iBAAiB,QAAQ;AACzB,sBAAc;AAAA,UACV,MAAM;AAAA,UACN,uBAAuB,OAAO;AAAA,UAC9B;AAAA,QACJ;AAAA,MACJ,OAAO;AACH,cAAM,EAAE,QAAQ,MAAM,KAAK,IAAI;AAC/B,sBAAc;AAAA,UACV,MAAM;AAAA,UACN;AAAA,UACA;AAAA,UACA,MAAM,QAAQ,OAAO,EAAE,MAAM,QAAQ,OAAO,KAAK,IAAI;AAAA,UACrD;AAAA,QACJ;AAAA,MACJ;AAEA,YAAM,8BAA8B,MAAM,KAAK,UAAU,kBAAkB,KAAK,eAAe;AAAA,QAC3F,QAAQ;AAAA,UACJ;AAAA,UACA;AAAA,QACJ;AAAA,MACJ,CAAC;AAED,UAAI,WAAW,6BAA6B;AACxC,cAAM,IAAI,2BAA2B,KAAK,UAAU,2BAA2B,CAAC;AAAA,MACpF;AAEA,aAAO;AAAA,IACX;AAAA;AACJ;AAjEiB;AAAA,EAPZ,kBAAkB;AAAA,IACf,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,aAAa,SAAwB;AACjC,aAAO,EAAE,OAAO,QAAQ,OAAO,SAAS,QAAQ,QAAQ;AAAA,IAC5D;AAAA,EACJ,CAAC;AAAA,GAlCQ,eAmCI;AAnCV,IAAM,gBAAN","sourcesContent":["import { isValidStellarAddress, WithLoggerContext } from \"@crossmint/common-sdk-base\";\nimport type { Chain, StellarChain } from \"../chains/chains\";\nimport type {\n ApproveOptions,\n PrepareOnly,\n StellarTransactionInput,\n Transaction,\n TransactionInputOptions,\n} from \"./types\";\nimport { Wallet } from \"./wallet\";\nimport { TransactionNotCreatedError } from \"../utils/errors\";\nimport type { CreateTransactionSuccessResponse } from \"@/api\";\nimport { walletsLogger } from \"../logger\";\n\nexport class StellarWallet extends Wallet<StellarChain> {\n constructor(wallet: Wallet<StellarChain>) {\n super(\n {\n chain: wallet.chain,\n address: wallet.address,\n owner: wallet.owner,\n signer: wallet.signer,\n options: Wallet.getOptions(wallet),\n alias: wallet.alias,\n },\n Wallet.getApiClient(wallet)\n );\n }\n\n static from(wallet: Wallet<Chain>) {\n if (!isValidStellarAddress(wallet.address)) {\n throw new Error(\"Wallet is not a Stellar wallet\");\n }\n\n return new StellarWallet(wallet as Wallet<StellarChain>);\n }\n\n /**\n * Send a raw Stellar transaction (serialized transaction or contract call).\n * @param params - The transaction parameters\n * @returns The transaction result\n */\n @WithLoggerContext({\n logger: walletsLogger,\n methodName: \"stellarWallet.sendTransaction\",\n buildContext(thisArg: StellarWallet) {\n return { chain: thisArg.chain, address: thisArg.address };\n },\n })\n public async sendTransaction<T extends TransactionInputOptions | undefined = undefined>(\n params: StellarTransactionInput & { options?: T }\n ): Promise<Transaction<T extends PrepareOnly<true> ? true : false>> {\n walletsLogger.info(\"stellarWallet.sendTransaction.start\");\n\n await this.preAuthIfNeeded();\n const createdTransaction = await this.createTransaction(params);\n\n if (params.options?.experimental_prepareOnly) {\n walletsLogger.info(\"stellarWallet.sendTransaction.prepared\", {\n transactionId: createdTransaction.id,\n });\n return {\n hash: undefined,\n explorerLink: undefined,\n transactionId: createdTransaction.id,\n } as Transaction<T extends PrepareOnly<true> ? true : false>;\n }\n\n const options: ApproveOptions = {};\n\n const result = await this.approveTransactionAndWait(createdTransaction.id, options);\n walletsLogger.info(\"stellarWallet.sendTransaction.success\", {\n transactionId: createdTransaction.id,\n hash: result.hash,\n });\n return result;\n }\n\n private async createTransaction(params: StellarTransactionInput): Promise<CreateTransactionSuccessResponse> {\n const { contractId, options } = params;\n const signer = options?.experimental_signer ?? this.signer.locator();\n\n let transaction: any;\n\n if (\"transaction\" in params) {\n transaction = {\n type: \"serialized-transaction\",\n serializedTransaction: params.transaction,\n contractId,\n };\n } else {\n const { method, memo, args } = params;\n transaction = {\n type: \"contract-call\",\n contractId,\n method,\n memo: memo != null ? { type: \"text\", value: memo } : undefined,\n args,\n };\n }\n\n const transactionCreationResponse = await this.apiClient.createTransaction(this.walletLocator, {\n params: {\n transaction,\n signer,\n },\n });\n\n if (\"error\" in transactionCreationResponse) {\n throw new TransactionNotCreatedError(JSON.stringify(transactionCreationResponse));\n }\n\n return transactionCreationResponse;\n }\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkW4VYO3P6cjs = require('./chunk-W4VYO3P6.cjs');
|
|
4
4
|
|
|
5
5
|
// src/signers/non-custodial/ncs-iframe-manager.ts
|
|
6
6
|
var _clientsdkwindow = require('@crossmint/client-sdk-window');
|
|
@@ -11,7 +11,7 @@ var NcsIframeManager = class {
|
|
|
11
11
|
this.handshakeParent = null;
|
|
12
12
|
}
|
|
13
13
|
initialize() {
|
|
14
|
-
return
|
|
14
|
+
return _chunkW4VYO3P6cjs.__async.call(void 0, this, null, function* () {
|
|
15
15
|
if (this.handshakeParent) {
|
|
16
16
|
return this.handshakeParent;
|
|
17
17
|
}
|
|
@@ -39,7 +39,7 @@ var NcsIframeManager = class {
|
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
41
|
createInvisibleIFrame(url) {
|
|
42
|
-
return
|
|
42
|
+
return _chunkW4VYO3P6cjs.__async.call(void 0, this, null, function* () {
|
|
43
43
|
const iframe = document.createElement("iframe");
|
|
44
44
|
iframe.src = url;
|
|
45
45
|
Object.assign(iframe.style, {
|
|
@@ -64,3 +64,4 @@ var NcsIframeManager = class {
|
|
|
64
64
|
|
|
65
65
|
|
|
66
66
|
exports.NcsIframeManager = NcsIframeManager;
|
|
67
|
+
//# sourceMappingURL=chunk-6CR6FGAO.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/signers/non-custodial/ncs-iframe-manager.ts"],"names":[],"mappings":";;;;;AAAA,SAAS,cAAc,8BAAoD;AAC3E,SAAS,sBAAsB,qBAAqB,4BAA4B;AAOzE,IAAM,mBAAN,MAAuB;AAAA,EAG1B,YAAoB,QAAsB;AAAtB;AAFpB,SAAQ,kBAAmG;AAAA,EAEhE;AAAA,EAErC,aAAgG;AAAA;AAClG,UAAI,KAAK,iBAAiB;AACtB,eAAO,KAAK;AAAA,MAChB;AAEA,cAAQ,KAAK,+CAA+C;AAC5D,YAAM,KAAK,KAAK,IAAI;AACpB,YAAM,YAAY,IAAI,IAAI,qBAAqB,KAAK,OAAO,WAAW,CAAC;AACvE,gBAAU,aAAa,IAAI,gBAAgB,OAAO,SAAS,MAAM;AAEjE,YAAM,gBAAgB,MAAM,KAAK,sBAAsB,UAAU,SAAS,CAAC;AAC3E,WAAK,kBAAkB,MAAM,aAAa;AAAA,QACtC;AAAA,QACA;AAAA,UACI,cAAc,UAAU;AAAA,UACxB,gBAAgB;AAAA,UAChB,gBAAgB;AAAA,UAChB,kBAAkB;AAAA,YACd,WAAW;AAAA,YACX,YAAY;AAAA,UAChB;AAAA,QACJ;AAAA,QACA;AAAA,MACJ;AACA,YAAM,KAAK,gBAAgB,mBAAmB;AAC9C,cAAQ,KAAK,gCAAgC,KAAK,IAAI,IAAI,EAAE,IAAI;AAChE,aAAO,KAAK;AAAA,IAChB;AAAA;AAAA,EAEc,sBAAsB,KAAyC;AAAA;AACzE,YAAM,SAAS,SAAS,cAAc,QAAQ;AAC9C,aAAO,MAAM;AAGb,aAAO,OAAO,OAAO,OAAO;AAAA,QACxB,UAAU;AAAA,QACV,SAAS;AAAA,QACT,eAAe;AAAA,QACf,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,KAAK;AAAA,QACL,MAAM;AAAA,MACV,CAAC;AAED,aAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACpC,eAAO,SAAS,MAAM,QAAQ,MAAM;AACpC,eAAO,UAAU,MAAM,OAAO,IAAI,MAAM,+BAA+B,CAAC;AACxE,iBAAS,KAAK,YAAY,MAAM;AAAA,MACpC,CAAC;AAAA,IACL;AAAA;AACJ","sourcesContent":["import { IFrameWindow, SignersWindowTransport, type HandshakeParent } from \"@crossmint/client-sdk-window\";\nimport { environmentUrlConfig, signerInboundEvents, signerOutboundEvents } from \"@crossmint/client-signers\";\nimport type { APIKeyEnvironmentPrefix } from \"@crossmint/common-sdk-base\";\n\nexport type IframeConfig = {\n environment: APIKeyEnvironmentPrefix;\n};\n\nexport class NcsIframeManager {\n private handshakeParent: HandshakeParent<typeof signerOutboundEvents, typeof signerInboundEvents> | null = null;\n\n constructor(private config: IframeConfig) {}\n\n async initialize(): Promise<HandshakeParent<typeof signerOutboundEvents, typeof signerInboundEvents>> {\n if (this.handshakeParent) {\n return this.handshakeParent;\n }\n\n console.info(\"Initializing signers frame for the first time\");\n const t0 = Date.now();\n const iframeUrl = new URL(environmentUrlConfig[this.config.environment]);\n iframeUrl.searchParams.set(\"targetOrigin\", window.location.origin);\n\n const iframeElement = await this.createInvisibleIFrame(iframeUrl.toString());\n this.handshakeParent = await IFrameWindow.init(\n iframeElement,\n {\n targetOrigin: iframeUrl.origin,\n incomingEvents: signerOutboundEvents,\n outgoingEvents: signerInboundEvents,\n handshakeOptions: {\n timeoutMs: 30_000,\n intervalMs: 100,\n },\n },\n SignersWindowTransport\n );\n await this.handshakeParent.handshakeWithChild();\n console.info(`Signers frame initialized in ${Date.now() - t0}ms`);\n return this.handshakeParent;\n }\n\n private async createInvisibleIFrame(url: string): Promise<HTMLIFrameElement> {\n const iframe = document.createElement(\"iframe\");\n iframe.src = url;\n\n // Make the iframe invisible but functional\n Object.assign(iframe.style, {\n position: \"absolute\",\n opacity: \"0\",\n pointerEvents: \"none\",\n width: \"0\",\n height: \"0\",\n border: \"none\",\n top: \"-9999px\",\n left: \"-9999px\",\n });\n\n return new Promise((resolve, reject) => {\n iframe.onload = () => resolve(iframe);\n iframe.onerror = () => reject(new Error(\"Failed to load iframe content\"));\n document.body.appendChild(iframe);\n });\n }\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkW4VYO3P6cjs = require('./chunk-W4VYO3P6.cjs');
|
|
4
4
|
|
|
5
5
|
// src/signers/evm-api-key.ts
|
|
6
6
|
var EVMApiKeySigner = class {
|
|
@@ -12,7 +12,7 @@ var EVMApiKeySigner = class {
|
|
|
12
12
|
return this.config.locator;
|
|
13
13
|
}
|
|
14
14
|
signMessage() {
|
|
15
|
-
return
|
|
15
|
+
return _chunkW4VYO3P6cjs.__async.call(void 0, this, null, function* () {
|
|
16
16
|
return yield Promise.reject(
|
|
17
17
|
new Error(
|
|
18
18
|
"API key signers do not support direct message signing - signatures are handled automatically by the backend"
|
|
@@ -21,7 +21,7 @@ var EVMApiKeySigner = class {
|
|
|
21
21
|
});
|
|
22
22
|
}
|
|
23
23
|
signTransaction() {
|
|
24
|
-
return
|
|
24
|
+
return _chunkW4VYO3P6cjs.__async.call(void 0, this, null, function* () {
|
|
25
25
|
return yield Promise.reject(
|
|
26
26
|
new Error(
|
|
27
27
|
"API key signers do not support direct transaction signing - transaction are handled automatically by the backend"
|
|
@@ -34,3 +34,4 @@ var EVMApiKeySigner = class {
|
|
|
34
34
|
|
|
35
35
|
|
|
36
36
|
exports.EVMApiKeySigner = EVMApiKeySigner;
|
|
37
|
+
//# sourceMappingURL=chunk-6DPHKKVR.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/signers/evm-api-key.ts"],"names":[],"mappings":";;;;;AAEO,IAAM,kBAAN,MAAwC;AAAA,EAG3C,YAA6B,QAAoC;AAApC;AAF7B,gBAAO;AAAA,EAE2D;AAAA,EAElE,UAAU;AACN,WAAO,KAAK,OAAO;AAAA,EACvB;AAAA,EAEM,cAAc;AAAA;AAChB,aAAO,MAAM,QAAQ;AAAA,QACjB,IAAI;AAAA,UACA;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAAA;AAAA,EACM,kBAAkB;AAAA;AACpB,aAAO,MAAM,QAAQ;AAAA,QACjB,IAAI;AAAA,UACA;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAAA;AACJ","sourcesContent":["import type { ApiKeyInternalSignerConfig, Signer } from \"./types\";\n\nexport class EVMApiKeySigner implements Signer {\n type = \"api-key\" as const;\n\n constructor(private readonly config: ApiKeyInternalSignerConfig) {}\n\n locator() {\n return this.config.locator;\n }\n\n async signMessage() {\n return await Promise.reject(\n new Error(\n \"API key signers do not support direct message signing - signatures are handled automatically by the backend\"\n )\n );\n }\n async signTransaction() {\n return await Promise.reject(\n new Error(\n \"API key signers do not support direct transaction signing - transaction are handled automatically by the backend\"\n )\n );\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/chains/definitions/tempo.ts"],"sourcesContent":["import { defineChain } from \"viem\";\n\nexport const tempo = defineChain({\n id: 4217,\n name: \"Tempo\",\n nativeCurrency: undefined as never,\n rpcUrls: {\n default: { http: [\"https://rpc.tempo.xyz\"] },\n },\n blockExplorers: {\n default: {\n name: \"Tempo Explorer\",\n url: \"https://explore.mainnet.tempo.xyz\",\n },\n },\n testnet: false,\n});\n"],"mappings":";AAAA,SAAS,mBAAmB;AAErB,IAAM,QAAQ,YAAY;AAAA,EAC7B,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,gBAAgB;AAAA,EAChB,SAAS;AAAA,IACL,SAAS,EAAE,MAAM,CAAC,uBAAuB,EAAE;AAAA,EAC/C;AAAA,EACA,gBAAgB;AAAA,IACZ,SAAS;AAAA,MACL,MAAM;AAAA,MACN,KAAK;AAAA,IACT;AAAA,EACJ;AAAA,EACA,SAAS;AACb,CAAC;","names":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkW4VYO3P6cjs = require('./chunk-W4VYO3P6.cjs');
|
|
4
4
|
|
|
5
5
|
// src/signers/passkey.ts
|
|
6
6
|
var _ox = require('ox');
|
|
@@ -14,7 +14,7 @@ var PasskeySigner = class {
|
|
|
14
14
|
return this.config.locator;
|
|
15
15
|
}
|
|
16
16
|
signMessage(message) {
|
|
17
|
-
return
|
|
17
|
+
return _chunkW4VYO3P6cjs.__async.call(void 0, this, null, function* () {
|
|
18
18
|
if (this.config.onSignWithPasskey) {
|
|
19
19
|
return yield this.config.onSignWithPasskey(message);
|
|
20
20
|
}
|
|
@@ -32,7 +32,7 @@ var PasskeySigner = class {
|
|
|
32
32
|
});
|
|
33
33
|
}
|
|
34
34
|
signTransaction(transaction) {
|
|
35
|
-
return
|
|
35
|
+
return _chunkW4VYO3P6cjs.__async.call(void 0, this, null, function* () {
|
|
36
36
|
return yield this.signMessage(transaction);
|
|
37
37
|
});
|
|
38
38
|
}
|
|
@@ -41,3 +41,4 @@ var PasskeySigner = class {
|
|
|
41
41
|
|
|
42
42
|
|
|
43
43
|
exports.PasskeySigner = PasskeySigner;
|
|
44
|
+
//# sourceMappingURL=chunk-6PIQDY3F.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/signers/passkey.ts"],"names":[],"mappings":";;;;;AAAA,SAAS,oBAAoB;AAGtB,IAAM,gBAAN,MAAsC;AAAA,EAIzC,YAAoB,QAAqC;AAArC;AAHpB,gBAAO;AAIH,SAAK,KAAK,OAAO;AAAA,EACrB;AAAA,EAEA,UAAU;AACN,WAAO,KAAK,OAAO;AAAA,EACvB;AAAA,EAEM,YAAY,SAA6C;AAAA;AAC3D,UAAI,KAAK,OAAO,mBAAmB;AAC/B,eAAO,MAAM,KAAK,OAAO,kBAAkB,OAAO;AAAA,MACtD;AACA,YAAM,EAAE,WAAW,SAAS,IAAI,MAAM,aAAa,KAAK;AAAA,QACpD,cAAc,KAAK;AAAA,QACnB,WAAW;AAAA,MACf,CAAC;AAED,aAAO;AAAA,QACH,WAAW;AAAA,UACP,GAAG,KAAK,UAAU,EAAE,SAAS,EAAE,CAAC;AAAA,UAChC,GAAG,KAAK,UAAU,EAAE,SAAS,EAAE,CAAC;AAAA,QACpC;AAAA,QACA;AAAA,MACJ;AAAA,IACJ;AAAA;AAAA,EAEM,gBAAgB,aAAqB;AAAA;AACvC,aAAO,MAAM,KAAK,YAAY,WAAW;AAAA,IAC7C;AAAA;AACJ","sourcesContent":["import { WebAuthnP256 } from \"ox\";\nimport type { PasskeyInternalSignerConfig, PasskeySignResult, Signer } from \"./types\";\n\nexport class PasskeySigner implements Signer {\n type = \"passkey\" as const;\n id: string;\n\n constructor(private config: PasskeyInternalSignerConfig) {\n this.id = config.id;\n }\n\n locator() {\n return this.config.locator;\n }\n\n async signMessage(message: string): Promise<PasskeySignResult> {\n if (this.config.onSignWithPasskey) {\n return await this.config.onSignWithPasskey(message);\n }\n const { signature, metadata } = await WebAuthnP256.sign({\n credentialId: this.id,\n challenge: message as `0x${string}`,\n });\n\n return {\n signature: {\n r: `0x${signature.r.toString(16)}`,\n s: `0x${signature.s.toString(16)}`,\n },\n metadata,\n };\n }\n\n async signTransaction(transaction: string) {\n return await this.signMessage(transaction);\n }\n}\n"]}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Wallet
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-J6AO2ZDU.js";
|
|
4
4
|
import {
|
|
5
5
|
SolanaExternalWalletSigner
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-EKMTR3GD.js";
|
|
7
7
|
import {
|
|
8
8
|
TransactionNotCreatedError
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-36C7SCPK.js";
|
|
10
10
|
import {
|
|
11
11
|
walletsLogger
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-JXXXM7AV.js";
|
|
13
13
|
import {
|
|
14
14
|
__async,
|
|
15
15
|
__decorateClass
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-JF4JR5QQ.js";
|
|
17
17
|
|
|
18
18
|
// src/wallets/solana.ts
|
|
19
19
|
import bs58 from "bs58";
|
|
@@ -113,3 +113,4 @@ var SolanaWallet = _SolanaWallet;
|
|
|
113
113
|
export {
|
|
114
114
|
SolanaWallet
|
|
115
115
|
};
|
|
116
|
+
//# sourceMappingURL=chunk-6QZLBFZZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/wallets/solana.ts"],"sourcesContent":["import bs58 from \"bs58\";\nimport { isValidSolanaAddress, WithLoggerContext } from \"@crossmint/common-sdk-base\";\nimport type { Chain, SolanaChain } from \"../chains/chains\";\nimport type {\n ApproveOptions,\n PrepareOnly,\n SolanaTransactionInput,\n Transaction,\n TransactionInputOptions,\n} from \"./types\";\nimport { Wallet } from \"./wallet\";\nimport { TransactionNotCreatedError } from \"../utils/errors\";\nimport { SolanaExternalWalletSigner } from \"@/signers/solana-external-wallet\";\nimport type { CreateTransactionSuccessResponse } from \"@/api\";\nimport { walletsLogger } from \"../logger\";\n\nexport class SolanaWallet extends Wallet<SolanaChain> {\n constructor(wallet: Wallet<SolanaChain>) {\n super(\n {\n chain: wallet.chain,\n address: wallet.address,\n owner: wallet.owner,\n signer: wallet.signer,\n options: Wallet.getOptions(wallet),\n alias: wallet.alias,\n },\n Wallet.getApiClient(wallet)\n );\n }\n\n static from(wallet: Wallet<Chain>) {\n if (!isValidSolanaAddress(wallet.address)) {\n throw new Error(\"Wallet is not a Solana wallet\");\n }\n\n return new SolanaWallet(wallet as Wallet<SolanaChain>);\n }\n\n /**\n * Send a raw Solana transaction.\n * @param params - The transaction parameters (serialized transaction or Transaction object)\n * @returns The transaction result\n */\n @WithLoggerContext({\n logger: walletsLogger,\n methodName: \"solanaWallet.sendTransaction\",\n buildContext(thisArg: SolanaWallet) {\n return { chain: thisArg.chain, address: thisArg.address };\n },\n })\n public async sendTransaction<T extends TransactionInputOptions | undefined = undefined>(\n params: SolanaTransactionInput\n ): Promise<Transaction<T extends PrepareOnly<true> ? true : false>> {\n walletsLogger.info(\"solanaWallet.sendTransaction.start\");\n\n await this.preAuthIfNeeded();\n const createdTransaction = await this.createTransaction(params);\n\n if (params.options?.experimental_prepareOnly) {\n walletsLogger.info(\"solanaWallet.sendTransaction.prepared\", {\n transactionId: createdTransaction.id,\n });\n return {\n hash: undefined,\n explorerLink: undefined,\n transactionId: createdTransaction.id,\n } as Transaction<T extends PrepareOnly<true> ? true : false>;\n }\n\n const _additionalSigners = params.additionalSigners?.map(\n (signer) =>\n new SolanaExternalWalletSigner({\n type: \"external-wallet\",\n address: signer.publicKey.toString(),\n locator: `external-wallet:${signer.publicKey.toString()}`,\n onSignTransaction: (transaction) => {\n transaction.sign([signer]);\n return Promise.resolve(transaction);\n },\n })\n );\n\n const options: ApproveOptions = {\n additionalSigners: _additionalSigners,\n };\n\n const result = await this.approveTransactionAndWait(createdTransaction.id, options);\n walletsLogger.info(\"solanaWallet.sendTransaction.success\", {\n transactionId: createdTransaction.id,\n hash: result.hash,\n });\n return result;\n }\n\n private async createTransaction(params: SolanaTransactionInput): Promise<CreateTransactionSuccessResponse> {\n const signer = params.options?.experimental_signer ?? this.signer.locator();\n\n let serializedTransaction: string;\n\n if (\"serializedTransaction\" in params) {\n serializedTransaction = params.serializedTransaction;\n } else {\n serializedTransaction = bs58.encode(params.transaction.serialize());\n }\n\n const transactionCreationResponse = await this.apiClient.createTransaction(this.walletLocator, {\n params: {\n transaction: serializedTransaction,\n signer,\n },\n });\n\n if (\"error\" in transactionCreationResponse) {\n throw new TransactionNotCreatedError(JSON.stringify(transactionCreationResponse));\n }\n\n return transactionCreationResponse;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA,OAAO,UAAU;AACjB,SAAS,sBAAsB,yBAAyB;AAejD,IAAM,gBAAN,MAAM,sBAAqB,OAAoB;AAAA,EAClD,YAAY,QAA6B;AACrC;AAAA,MACI;AAAA,QACI,OAAO,OAAO;AAAA,QACd,SAAS,OAAO;AAAA,QAChB,OAAO,OAAO;AAAA,QACd,QAAQ,OAAO;AAAA,QACf,SAAS,OAAO,WAAW,MAAM;AAAA,QACjC,OAAO,OAAO;AAAA,MAClB;AAAA,MACA,OAAO,aAAa,MAAM;AAAA,IAC9B;AAAA,EACJ;AAAA,EAEA,OAAO,KAAK,QAAuB;AAC/B,QAAI,CAAC,qBAAqB,OAAO,OAAO,GAAG;AACvC,YAAM,IAAI,MAAM,+BAA+B;AAAA,IACnD;AAEA,WAAO,IAAI,cAAa,MAA6B;AAAA,EACzD;AAAA,EAca,gBACT,QACgE;AAAA;AArDxE;AAsDQ,oBAAc,KAAK,oCAAoC;AAEvD,YAAM,KAAK,gBAAgB;AAC3B,YAAM,qBAAqB,MAAM,KAAK,kBAAkB,MAAM;AAE9D,WAAI,YAAO,YAAP,mBAAgB,0BAA0B;AAC1C,sBAAc,KAAK,yCAAyC;AAAA,UACxD,eAAe,mBAAmB;AAAA,QACtC,CAAC;AACD,eAAO;AAAA,UACH,MAAM;AAAA,UACN,cAAc;AAAA,UACd,eAAe,mBAAmB;AAAA,QACtC;AAAA,MACJ;AAEA,YAAM,sBAAqB,YAAO,sBAAP,mBAA0B;AAAA,QACjD,CAAC,WACG,IAAI,2BAA2B;AAAA,UAC3B,MAAM;AAAA,UACN,SAAS,OAAO,UAAU,SAAS;AAAA,UACnC,SAAS,mBAAmB,OAAO,UAAU,SAAS,CAAC;AAAA,UACvD,mBAAmB,CAAC,gBAAgB;AAChC,wBAAY,KAAK,CAAC,MAAM,CAAC;AACzB,mBAAO,QAAQ,QAAQ,WAAW;AAAA,UACtC;AAAA,QACJ,CAAC;AAAA;AAGT,YAAM,UAA0B;AAAA,QAC5B,mBAAmB;AAAA,MACvB;AAEA,YAAM,SAAS,MAAM,KAAK,0BAA0B,mBAAmB,IAAI,OAAO;AAClF,oBAAc,KAAK,wCAAwC;AAAA,QACvD,eAAe,mBAAmB;AAAA,QAClC,MAAM,OAAO;AAAA,MACjB,CAAC;AACD,aAAO;AAAA,IACX;AAAA;AAAA,EAEc,kBAAkB,QAA2E;AAAA;AA/F/G;AAgGQ,YAAM,UAAS,kBAAO,YAAP,mBAAgB,wBAAhB,YAAuC,KAAK,OAAO,QAAQ;AAE1E,UAAI;AAEJ,UAAI,2BAA2B,QAAQ;AACnC,gCAAwB,OAAO;AAAA,MACnC,OAAO;AACH,gCAAwB,KAAK,OAAO,OAAO,YAAY,UAAU,CAAC;AAAA,MACtE;AAEA,YAAM,8BAA8B,MAAM,KAAK,UAAU,kBAAkB,KAAK,eAAe;AAAA,QAC3F,QAAQ;AAAA,UACJ,aAAa;AAAA,UACb;AAAA,QACJ;AAAA,MACJ,CAAC;AAED,UAAI,WAAW,6BAA6B;AACxC,cAAM,IAAI,2BAA2B,KAAK,UAAU,2BAA2B,CAAC;AAAA,MACpF;AAEA,aAAO;AAAA,IACX;AAAA;AACJ;AApEiB;AAAA,EAPZ,kBAAkB;AAAA,IACf,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,aAAa,SAAuB;AAChC,aAAO,EAAE,OAAO,QAAQ,OAAO,SAAS,QAAQ,QAAQ;AAAA,IAC5D;AAAA,EACJ,CAAC;AAAA,GAlCQ,cAmCI;AAnCV,IAAM,eAAN;","names":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// package.json
|
|
2
2
|
var name = "@crossmint/wallets-sdk";
|
|
3
|
-
var version = "0.20.
|
|
3
|
+
var version = "0.20.3";
|
|
4
4
|
|
|
5
5
|
// src/utils/constants.ts
|
|
6
6
|
var WALLETS_SERVICE = "WALLETS_SDK";
|
|
@@ -14,3 +14,4 @@ export {
|
|
|
14
14
|
SDK_NAME,
|
|
15
15
|
STATUS_POLLING_INTERVAL_MS
|
|
16
16
|
};
|
|
17
|
+
//# sourceMappingURL=chunk-7PHIXK4Q.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../package.json","../src/utils/constants.ts"],"sourcesContent":["{\n \"name\": \"@crossmint/wallets-sdk\",\n \"version\": \"0.20.3\",\n \"repository\": \"https://github.com/Crossmint/crossmint-sdk\",\n \"license\": \"Apache-2.0\",\n \"author\": \"Paella Labs Inc\",\n \"sideEffects\": false,\n \"type\": \"module\",\n \"exports\": {\n \"import\": \"./dist/index.js\",\n \"require\": \"./dist/index.cjs\"\n },\n \"main\": \"./dist/index.cjs\",\n \"module\": \"./dist/index.js\",\n \"types\": \"./dist/index.d.ts\",\n \"files\": [\"dist\", \"LICENSE\"],\n \"scripts\": {\n \"build\": \"pnpm generate && tsup\",\n \"dev\": \"tsup --watch\",\n \"test:vitest\": \"vitest run --passWithNoTests\",\n \"openapi-ts\": \"openapi-ts\",\n \"generate\": \"pnpm run openapi-ts\",\n \"generate:docs\": \"typedoc\"\n },\n \"dependencies\": {\n \"@crossmint/client-sdk-window\": \"workspace:*\",\n \"@crossmint/client-signers\": \"workspace:*\",\n \"@crossmint/common-sdk-auth\": \"workspace:*\",\n \"@crossmint/common-sdk-base\": \"workspace:*\",\n \"@hey-api/client-fetch\": \"0.8.1\",\n \"@solana/web3.js\": \"1.98.1\",\n \"@stellar/stellar-sdk\": \"v14.0.0-rc.3\",\n \"abitype\": \"1.0.8\",\n \"bs58\": \"5.0.0\",\n \"ox\": \"0.6.9\",\n \"tweetnacl\": \"1.0.3\",\n \"viem\": \"2.33.1\"\n },\n \"devDependencies\": {\n \"@hey-api/openapi-ts\": \"0.69.2\",\n \"typedoc\": \"0.28.17\",\n \"typedoc-plugin-frontmatter\": \"1.3.0\",\n \"typedoc-plugin-markdown\": \"4.5.2\"\n },\n \"peerDependencies\": {\n \"@solana/web3.js\": \"^1.98.1\"\n }\n}\n","import { name, version } from \"../../package.json\";\n\nexport const WALLETS_SERVICE = \"WALLETS_SDK\";\nexport const SDK_VERSION = version;\nexport const SDK_NAME = name;\nexport const STATUS_POLLING_INTERVAL_MS = 500;\n"],"mappings":";AACI,WAAQ;AACR,cAAW;;;ACAR,IAAM,kBAAkB;AACxB,IAAM,cAAc;AACpB,IAAM,WAAW;AACjB,IAAM,6BAA6B;","names":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunk4GADBBZNcjs = require('./chunk-4GADBBZN.cjs');
|
|
4
4
|
|
|
5
5
|
// src/utils/signer-validation.ts
|
|
6
6
|
var _commonsdkauth = require('@crossmint/common-sdk-auth');
|
|
@@ -47,7 +47,7 @@ function compareSignerConfigs(newSignerConfig, existingSignerConfig, path = "")
|
|
|
47
47
|
fieldPath
|
|
48
48
|
);
|
|
49
49
|
} else if (normalizeValueForComparison(newValue) !== normalizeValueForComparison(existingValue)) {
|
|
50
|
-
throw new (0,
|
|
50
|
+
throw new (0, _chunk4GADBBZNcjs.WalletCreationError)(signerConfigMismatchErrorMessage(fieldPath, newValue, existingValue));
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
}
|
|
@@ -56,3 +56,4 @@ function compareSignerConfigs(newSignerConfig, existingSignerConfig, path = "")
|
|
|
56
56
|
|
|
57
57
|
|
|
58
58
|
exports.normalizeValueForComparison = normalizeValueForComparison; exports.compareSignerConfigs = compareSignerConfigs;
|
|
59
|
+
//# sourceMappingURL=chunk-A3QJT5UU.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/signer-validation.ts"],"names":[],"mappings":";;;;;AAAA,SAAS,oBAAoB;AAG7B,IAAM,mCAAmC,CAAC,WAAmB,UAAmB,kBAC5E,4CAA4C,SAAS,iBAAiB,aAAa,qCAAqC,QAAQ;AAUpI,SAAS,eAAe,OAAuB;AAC3C,QAAM,iBAAiB,MAAM,YAAY;AACzC,QAAM,aAAa,eAAe,MAAM,GAAG;AAC3C,QAAM,SAAS,WAAW,CAAC;AAE3B,QAAM,qBAAqB,WAAW;AACtC,QAAM,UAAU,sBAAsB,WAAW;AACjD,QAAM,oBAAoB,WAAW,WAAW,CAAC,EAAE,SAAS,GAAG;AAE/D,MAAI,oBAAoB;AACpB,eAAW,CAAC,IAAI;AAAA,EACpB;AACA,MAAI,mBAAmB;AACnB,eAAW,CAAC,IAAI,WAAW,CAAC,EAAE,QAAQ,OAAO,EAAE;AAAA,EACnD;AAEA,SAAO,GAAG,WAAW,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC;AAC5C;AAOO,SAAS,4BAA4B,OAAyB;AACjE,MAAI,OAAO,UAAU,YAAY,aAAa,KAAK,GAAG;AAClD,WAAO,eAAe,KAAK;AAAA,EAC/B;AACA,SAAO;AACX;AAEO,SAAS,qBACZ,iBACA,sBACA,OAAO,IACT;AACE,MAAI,oBAAoB,sBAAsB;AAC1C;AAAA,EACJ;AACA,MAAI,mBAAmB,QAAQ,wBAAwB,MAAM;AACzD,UAAM,IAAI,MAAM,4DAA4D,IAAI,EAAE;AAAA,EACtF;AAGA,aAAW,OAAO,OAAO,KAAK,eAAe,GAAG;AAC5C,QAAI,EAAE,OAAO,uBAAuB;AAChC;AAAA,IACJ;AAEA,UAAM,YAAY,OAAO,GAAG,IAAI,IAAI,GAAG,KAAK;AAC5C,UAAM,WAAW,gBAAgB,GAAG;AACpC,UAAM,gBAAgB,qBAAqB,GAAG;AAE9C,QACI,OAAO,aAAa,YACpB,aAAa,QACb,OAAO,kBAAkB,YACzB,kBAAkB,MACpB;AACE;AAAA,QACI;AAAA,QACA;AAAA,QACA;AAAA,MACJ;AAAA,IACJ,WAAW,4BAA4B,QAAQ,MAAM,4BAA4B,aAAa,GAAG;AAC7F,YAAM,IAAI,oBAAoB,iCAAiC,WAAW,UAAU,aAAa,CAAC;AAAA,IACtG;AAAA,EACJ;AACJ","sourcesContent":["import { isEmailValid } from \"@crossmint/common-sdk-auth\";\nimport { WalletCreationError } from \"./errors\";\n\nconst signerConfigMismatchErrorMessage = (fieldPath: string, newValue: unknown, existingValue: unknown) =>\n `Wallet signer configuration mismatch at \"${fieldPath}\" - expected \"${existingValue}\" from existing wallet but found \"${newValue}\"`;\n\n/**\n * Normalizes an email address following the same logic as the backend.\n * For Gmail and Googlemail addresses:\n * - Removes dots from the local part (before @)\n * - Converts @googlemail.com to @gmail.com\n * For all addresses:\n * - Converts to lowercase\n */\nfunction normalizeEmail(email: string): string {\n const lowerCaseEmail = email.toLowerCase();\n const emailParts = lowerCaseEmail.split(\"@\");\n const domain = emailParts[1];\n\n const isGoogleMailDomain = domain === \"googlemail.com\";\n const isGmail = isGoogleMailDomain || domain === \"gmail.com\";\n const isGmailAndHasDots = isGmail && emailParts[0].includes(\".\");\n\n if (isGoogleMailDomain) {\n emailParts[1] = \"gmail.com\";\n }\n if (isGmailAndHasDots) {\n emailParts[0] = emailParts[0].replace(/\\./g, \"\");\n }\n\n return `${emailParts[0]}@${emailParts[1]}`;\n}\n\n/**\n * Normalizes a value for comparison if it's an email address.\n * This ensures that email addresses are compared using the same normalization\n * logic as the backend (e.g., Gmail addresses with dots are normalized).\n */\nexport function normalizeValueForComparison(value: unknown): unknown {\n if (typeof value === \"string\" && isEmailValid(value)) {\n return normalizeEmail(value);\n }\n return value;\n}\n\nexport function compareSignerConfigs(\n newSignerConfig: Record<string, unknown>,\n existingSignerConfig: Record<string, unknown>,\n path = \"\"\n) {\n if (newSignerConfig === existingSignerConfig) {\n return;\n }\n if (newSignerConfig == null || existingSignerConfig == null) {\n throw new Error(`Cannot compare null or undefined signer configs at path: ${path}`);\n }\n\n // Only compare keys that exist in both objects\n for (const key of Object.keys(newSignerConfig)) {\n if (!(key in existingSignerConfig)) {\n continue;\n }\n\n const fieldPath = path ? `${path}.${key}` : key;\n const newValue = newSignerConfig[key];\n const existingValue = existingSignerConfig[key];\n\n if (\n typeof newValue === \"object\" &&\n newValue !== null &&\n typeof existingValue === \"object\" &&\n existingValue !== null\n ) {\n compareSignerConfigs(\n newValue as Record<string, unknown>,\n existingValue as Record<string, unknown>,\n fieldPath\n );\n } else if (normalizeValueForComparison(newValue) !== normalizeValueForComparison(existingValue)) {\n throw new WalletCreationError(signerConfigMismatchErrorMessage(fieldPath, newValue, existingValue));\n }\n }\n}\n"]}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Wallet
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-J6AO2ZDU.js";
|
|
4
4
|
import {
|
|
5
5
|
toViemChain
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-GNU6RIKU.js";
|
|
7
7
|
import {
|
|
8
8
|
InvalidTypedDataError,
|
|
9
9
|
SignatureNotCreatedError,
|
|
10
10
|
TransactionNotCreatedError
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-36C7SCPK.js";
|
|
12
12
|
import {
|
|
13
13
|
walletsLogger
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-JXXXM7AV.js";
|
|
15
15
|
import {
|
|
16
16
|
__async,
|
|
17
17
|
__decorateClass
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-JF4JR5QQ.js";
|
|
19
19
|
|
|
20
20
|
// src/wallets/evm.ts
|
|
21
21
|
import { createPublicClient, encodeFunctionData, http } from "viem";
|
|
@@ -235,3 +235,4 @@ var EVMWallet = _EVMWallet;
|
|
|
235
235
|
export {
|
|
236
236
|
EVMWallet
|
|
237
237
|
};
|
|
238
|
+
//# sourceMappingURL=chunk-AMS7MCD6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/wallets/evm.ts"],"sourcesContent":["import { createPublicClient, encodeFunctionData, http, type TypedDataDomain, type HttpTransport } from \"viem\";\nimport { isValidEvmAddress, WithLoggerContext } from \"@crossmint/common-sdk-base\";\nimport type {\n EVMTransactionInput,\n FormattedEVMTransaction,\n PrepareOnly,\n Signature,\n SignMessageInput,\n SignTypedDataInput,\n Transaction,\n TransactionInputOptions,\n} from \"./types\";\nimport { toViemChain } from \"../chains/chains\";\nimport { Wallet } from \"./wallet\";\nimport type { Chain, EVMChain } from \"../chains/chains\";\nimport { InvalidTypedDataError, SignatureNotCreatedError, TransactionNotCreatedError } from \"../utils/errors\";\nimport type { CreateTransactionSuccessResponse } from \"@/api\";\nimport { walletsLogger } from \"../logger\";\n\nexport class EVMWallet extends Wallet<EVMChain> {\n constructor(wallet: Wallet<EVMChain>) {\n super(\n {\n chain: wallet.chain,\n address: wallet.address,\n owner: wallet.owner,\n signer: wallet.signer,\n options: Wallet.getOptions(wallet),\n alias: wallet.alias,\n },\n Wallet.getApiClient(wallet)\n );\n }\n\n static from(wallet: Wallet<Chain>) {\n if (!isValidEvmAddress(wallet.address)) {\n throw new Error(\"Wallet is not an EVM wallet\");\n }\n\n return new EVMWallet(wallet as Wallet<EVMChain>);\n }\n\n /**\n * Send a raw EVM transaction.\n * @param params - The transaction parameters (raw transaction, ABI call, or encoded data)\n * @returns The transaction result\n */\n @WithLoggerContext({\n logger: walletsLogger,\n methodName: \"evmWallet.sendTransaction\",\n buildContext(thisArg: EVMWallet) {\n return { chain: thisArg.chain, address: thisArg.address };\n },\n })\n public async sendTransaction<T extends EVMTransactionInput>(\n params: T\n ): Promise<Transaction<T[\"options\"] extends PrepareOnly<true> ? true : false>> {\n walletsLogger.info(\"evmWallet.sendTransaction.start\");\n\n await this.preAuthIfNeeded();\n const builtTransaction = this.buildTransaction(params);\n const createdTransaction = await this.createTransaction(builtTransaction, params.options);\n\n if (params.options?.experimental_prepareOnly) {\n walletsLogger.info(\"evmWallet.sendTransaction.prepared\", {\n transactionId: createdTransaction.id,\n });\n return {\n hash: undefined,\n explorerLink: undefined,\n transactionId: createdTransaction.id,\n } as Transaction<T[\"options\"] extends PrepareOnly<true> ? true : false>;\n }\n\n const result = await this.approveTransactionAndWait(createdTransaction.id);\n walletsLogger.info(\"evmWallet.sendTransaction.success\", {\n transactionId: createdTransaction.id,\n hash: result.hash,\n });\n return result;\n }\n\n /**\n * Sign a message with the wallet's private key.\n * @param params - The message to sign\n * @returns The signature\n */\n @WithLoggerContext({\n logger: walletsLogger,\n methodName: \"evmWallet.signMessage\",\n buildContext(thisArg: EVMWallet) {\n return { chain: thisArg.chain, address: thisArg.address };\n },\n })\n public async signMessage<T extends SignMessageInput>(\n params: T\n ): Promise<Signature<T[\"options\"] extends PrepareOnly<true> ? true : false>> {\n walletsLogger.info(\"evmWallet.signMessage.start\");\n\n await this.preAuthIfNeeded();\n const signatureCreationResponse = await this.apiClient.createSignature(this.walletLocator, {\n type: \"message\",\n params: {\n message: params.message,\n signer: this.signer.locator(),\n chain: this.chain,\n },\n });\n if (\"error\" in signatureCreationResponse) {\n walletsLogger.error(\"evmWallet.signMessage.error\", { error: signatureCreationResponse });\n throw new SignatureNotCreatedError(JSON.stringify(signatureCreationResponse));\n }\n\n if (params.options?.experimental_prepareOnly) {\n walletsLogger.info(\"evmWallet.signMessage.prepared\", {\n signatureId: signatureCreationResponse.id,\n });\n return {\n signature: undefined,\n signatureId: signatureCreationResponse.id,\n } as Signature<T[\"options\"] extends PrepareOnly<true> ? true : false>;\n }\n\n const result = await this.approveSignatureAndWait(signatureCreationResponse.id);\n walletsLogger.info(\"evmWallet.signMessage.success\", { signatureId: signatureCreationResponse.id });\n return result;\n }\n\n /**\n * Sign EIP-712 typed data.\n * @param params - The typed data parameters (domain, types, message, primaryType, chain)\n * @returns The signature\n */\n @WithLoggerContext({\n logger: walletsLogger,\n methodName: \"evmWallet.signTypedData\",\n buildContext(thisArg: EVMWallet) {\n return { chain: thisArg.chain, address: thisArg.address };\n },\n })\n public async signTypedData<T extends SignTypedDataInput>(\n params: T\n ): Promise<Signature<T[\"options\"] extends PrepareOnly<true> ? true : false>> {\n walletsLogger.info(\"evmWallet.signTypedData.start\");\n\n await this.preAuthIfNeeded();\n const { domain, message, primaryType, types, chain } = params;\n if (!domain || !message || !types || !chain) {\n walletsLogger.error(\"evmWallet.signTypedData.error\", { error: \"Invalid typed data\" });\n throw new InvalidTypedDataError(\"Invalid typed data\");\n }\n\n const { name, version, chainId, verifyingContract, salt } = domain as TypedDataDomain;\n if (!name || !version || !chainId || !verifyingContract) {\n walletsLogger.error(\"evmWallet.signTypedData.error\", { error: \"Invalid typed data domain\" });\n throw new InvalidTypedDataError(\"Invalid typed data domain\");\n }\n\n const signatureCreationResponse = await this.apiClient.createSignature(this.walletLocator, {\n type: \"typed-data\",\n params: {\n typedData: {\n domain: {\n name,\n version,\n chainId: Number(chainId),\n verifyingContract,\n salt,\n },\n message,\n primaryType,\n types: types as unknown as Record<string, Array<{ name: string; type: string }>>,\n },\n signer: this.signer.locator(),\n chain,\n },\n });\n if (\"error\" in signatureCreationResponse) {\n walletsLogger.error(\"evmWallet.signTypedData.error\", { error: signatureCreationResponse });\n throw new SignatureNotCreatedError(JSON.stringify(signatureCreationResponse));\n }\n\n if (params.options?.experimental_prepareOnly) {\n walletsLogger.info(\"evmWallet.signTypedData.prepared\", {\n signatureId: signatureCreationResponse.id,\n });\n return {\n signature: undefined,\n signatureId: signatureCreationResponse.id,\n } as Signature<T[\"options\"] extends PrepareOnly<true> ? true : false>;\n }\n\n const result = await this.approveSignatureAndWait(signatureCreationResponse.id);\n walletsLogger.info(\"evmWallet.signTypedData.success\", { signatureId: signatureCreationResponse.id });\n return result;\n }\n\n /**\n * Get a Viem public client instance configured for this wallet's chain.\n * @param params - Optional transport configuration\n * @returns A Viem public client\n */\n public getViemClient(params?: { transport?: HttpTransport }) {\n return createPublicClient({\n transport: params?.transport ?? http(),\n chain: toViemChain(this.chain),\n });\n }\n\n private async createTransaction(\n transaction: FormattedEVMTransaction,\n options?: TransactionInputOptions\n ): Promise<CreateTransactionSuccessResponse> {\n const signer = options?.experimental_signer ?? this.signer.locator();\n const transactionCreationResponse = await this.apiClient.createTransaction(this.walletLocator, {\n params: {\n signer,\n chain: this.chain,\n calls: [transaction],\n },\n });\n if (\"error\" in transactionCreationResponse) {\n throw new TransactionNotCreatedError(JSON.stringify(transactionCreationResponse));\n }\n\n return transactionCreationResponse;\n }\n\n private buildTransaction(params: EVMTransactionInput): FormattedEVMTransaction {\n if (\"transaction\" in params) {\n return { transaction: params.transaction };\n }\n\n if (params.abi == null) {\n return {\n to: params.to,\n value: params.value?.toString() ?? \"0\",\n data: params.data ?? \"0x\",\n };\n }\n\n if (!params.functionName) {\n throw new Error(\"Function name is required\");\n }\n\n return {\n to: params.to,\n value: params.value?.toString() ?? \"0\",\n data: encodeFunctionData({\n abi: params.abi,\n functionName: params.functionName,\n args: params.args,\n }),\n };\n }\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkNQR4AQOWcjs = require('./chunk-NQR4AQOW.cjs');
|
|
5
5
|
|
|
6
6
|
// src/logger/init.ts
|
|
7
7
|
|
|
@@ -20,8 +20,8 @@ function initWalletsLogger(apiKey) {
|
|
|
20
20
|
}
|
|
21
21
|
const { environment, projectId } = validationResult;
|
|
22
22
|
walletsLogger.init({
|
|
23
|
-
packageName:
|
|
24
|
-
packageVersion:
|
|
23
|
+
packageName: _chunkNQR4AQOWcjs.SDK_NAME,
|
|
24
|
+
packageVersion: _chunkNQR4AQOWcjs.SDK_VERSION,
|
|
25
25
|
environment,
|
|
26
26
|
projectId,
|
|
27
27
|
platform
|
|
@@ -50,3 +50,4 @@ function initWalletsLogger(apiKey) {
|
|
|
50
50
|
|
|
51
51
|
|
|
52
52
|
exports.walletsLogger = walletsLogger; exports.initWalletsLogger = initWalletsLogger;
|
|
53
|
+
//# sourceMappingURL=chunk-BBUEX3DG.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/logger/init.ts"],"names":[],"mappings":";;;;;;AAAA;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AAMA,IAAM,gBAAgB,IAAI,UAAU;AAQpC,SAAS,kBAAkB,QAAsB;AACpD,QAAM,WAAW,eAAe;AAChC,QAAM,mBAAmB,eAAe,MAAM;AAC9C,MAAI,CAAC,iBAAiB,SAAS;AAC3B,UAAM,IAAI,MAAM,oBAAoB,iBAAiB,OAAO,EAAE;AAAA,EAClE;AACA,QAAM,EAAE,aAAa,UAAU,IAAI;AAEnC,gBAAc,KAAK;AAAA,IACf,aAAa;AAAA,IACb,gBAAgB;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,EACJ,CAAC;AAGD,UAAQ,UAAU;AAAA,IACd,KAAK,WAAW;AAGZ,YAAM,OAAO,IAAI,mBAAmB,WAAW;AAC/C,oBAAc,QAAQ,IAAI;AAC1B;AAAA,IACJ;AAAA,IACA,KAAK,gBAAgB;AAIjB;AAAA,IACJ;AAAA,IACA,KAAK,UAAU;AACX,YAAM,OAAO,IAAI,kBAAkB,WAAW;AAC9C,oBAAc,QAAQ,IAAI;AAC1B;AAAA,IACJ;AAAA,IACA,SAAS;AAEL;AAAA,IACJ;AAAA,EACJ;AACJ","sourcesContent":["import {\n SdkLogger,\n BrowserDatadogSink,\n detectPlatform,\n validateAPIKey,\n ServerDatadogSink,\n} from \"@crossmint/common-sdk-base\";\nimport { SDK_NAME, SDK_VERSION } from \"../utils/constants\";\n\n/**\n * Package-specific logger instance for the wallets SDK\n */\nexport const walletsLogger = new SdkLogger();\n\n/**\n * Initialize the SDK logger for the wallets SDK\n * Should be called once when the SDK is initialized\n * Automatically detects the platform and environment from API key\n * @param apiKey - Optional API key to determine environment (development/staging/production)\n */\nexport function initWalletsLogger(apiKey: string): void {\n const platform = detectPlatform();\n const validationResult = validateAPIKey(apiKey);\n if (!validationResult.isValid) {\n throw new Error(`Invalid API key: ${validationResult.message}`);\n }\n const { environment, projectId } = validationResult;\n // Initialize the package-specific logger instance with package context\n walletsLogger.init({\n packageName: SDK_NAME,\n packageVersion: SDK_VERSION,\n environment,\n projectId,\n platform,\n });\n\n // Add platform-specific Datadog sink\n switch (platform) {\n case \"browser\": {\n // Create HTTP-based Datadog sink that sends logs directly via telemetry proxy\n // This bypasses the Datadog browser SDK entirely, ensuring isolation\n const sink = new BrowserDatadogSink(environment);\n walletsLogger.addSink(sink);\n break;\n }\n case \"react-native\": {\n // React Native logger initialization is handled by @crossmint/client-sdk-react-native-ui\n // This package only initializes for browser/server to avoid bundling React Native dependencies\n // The React Native UI package will initialize the logger with the appropriate Datadog sink\n break;\n }\n case \"server\": {\n const sink = new ServerDatadogSink(environment);\n walletsLogger.addSink(sink);\n break;\n }\n default: {\n // Unknown platform - only use console sink\n break;\n }\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=chunk-BD3ZXT5D.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/chains/definitions/arcTestnet.ts"],"sourcesContent":["import { defineChain } from \"viem\";\n\nexport const arcTestnet = defineChain({\n id: 5042002,\n name: \"Arc Testnet\",\n nativeCurrency: {\n decimals: 6,\n name: \"USDC\",\n symbol: \"USDC\",\n },\n rpcUrls: {\n default: { http: [\"https://rpc.testnet.arc.network\"] },\n },\n blockExplorers: {\n default: {\n name: \"Arc Testnet Explorer\",\n url: \"https://testnet.arcscan.app\",\n },\n },\n testnet: true,\n});\n"],"mappings":";AAAA,SAAS,mBAAmB;AAErB,IAAM,aAAa,YAAY;AAAA,EAClC,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,gBAAgB;AAAA,IACZ,UAAU;AAAA,IACV,MAAM;AAAA,IACN,QAAQ;AAAA,EACZ;AAAA,EACA,SAAS;AAAA,IACL,SAAS,EAAE,MAAM,CAAC,iCAAiC,EAAE;AAAA,EACzD;AAAA,EACA,gBAAgB;AAAA,IACZ,SAAS;AAAA,MACL,MAAM;AAAA,MACN,KAAK;AAAA,IACT;AAAA,EACJ;AAAA,EACA,SAAS;AACb,CAAC;","names":[]}
|