@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/api/gen/sdk.gen.ts"],"sourcesContent":["// This file is auto-generated by @hey-api/openapi-ts\n\nimport type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch';\nimport type { WalletsV1ControllerSubmitMeApprovals5Data, WalletsV1ControllerSubmitMeApprovals5Responses, WalletsV1ControllerSubmitMeApprovals5Errors, WalletsV1ControllerGetMeTransaction5Data, WalletsV1ControllerGetMeTransaction5Responses, WalletsV1ControllerGetMeTransaction5Errors, WalletsV1ControllerGetMeTransactionsWithoutChain5Data, WalletsV1ControllerGetMeTransactionsWithoutChain5Responses, WalletsV1ControllerGetMeTransactionsWithoutChain5Errors, WalletsV1ControllerCreateMeTransaction5Data, WalletsV1ControllerCreateMeTransaction5Responses, WalletsV1ControllerCreateMeTransaction5Errors, WalletsV1ControllerGetMeDelegatedSigner5Data, WalletsV1ControllerGetMeDelegatedSigner5Responses, WalletsV1ControllerGetMeDelegatedSigner5Errors, WalletsV1ControllerCreateMeDelegatedSigner5Data, WalletsV1ControllerCreateMeDelegatedSigner5Responses, WalletsV1ControllerCreateMeDelegatedSigner5Errors, WalletsV1ControllerSubmitMeSignatureApprovals5Data, WalletsV1ControllerSubmitMeSignatureApprovals5Responses, WalletsV1ControllerSubmitMeSignatureApprovals5Errors, WalletsV1ControllerGetMeSignature5Data, WalletsV1ControllerGetMeSignature5Responses, WalletsV1ControllerGetMeSignature5Errors, WalletsV1ControllerCreateMeSignatureRequest5Data, WalletsV1ControllerCreateMeSignatureRequest5Responses, WalletsV1ControllerCreateMeSignatureRequest5Errors, WalletsV1ControllerGetMeWalletActivity5Data, WalletsV1ControllerGetMeWalletActivity5Responses, WalletsV1ControllerGetMeWalletActivity5Errors, WalletsV1ControllerGetMeWallet5Data, WalletsV1ControllerGetMeWallet5Responses, WalletsV1ControllerCreateMeWallet5Data, WalletsV1ControllerCreateMeWallet5Responses, WalletsV1ControllerSubmitApprovals5Data, WalletsV1ControllerSubmitApprovals5Responses, WalletsV1ControllerSubmitApprovals5Errors, WalletsV1ControllerGetTransaction5Data, WalletsV1ControllerGetTransaction5Responses, WalletsV1ControllerGetTransaction5Errors, WalletsV1ControllerGetTransactionsWithoutChain5Data, WalletsV1ControllerGetTransactionsWithoutChain5Responses, WalletsV1ControllerGetTransactionsWithoutChain5Errors, WalletsV1ControllerCreateTransaction5Data, WalletsV1ControllerCreateTransaction5Responses, WalletsV1ControllerCreateTransaction5Errors, WalletsV1ControllerGetDelegatedSigner5Data, WalletsV1ControllerGetDelegatedSigner5Responses, WalletsV1ControllerGetDelegatedSigner5Errors, WalletsV1ControllerCreateDelegatedSigner5Data, WalletsV1ControllerCreateDelegatedSigner5Responses, WalletsV1ControllerCreateDelegatedSigner5Errors, WalletsV1ControllerSubmitSignatureApprovals5Data, WalletsV1ControllerSubmitSignatureApprovals5Responses, WalletsV1ControllerSubmitSignatureApprovals5Errors, WalletsV1ControllerGetSignature5Data, WalletsV1ControllerGetSignature5Responses, WalletsV1ControllerGetSignature5Errors, WalletsV1ControllerGetAllSignatures5Data, WalletsV1ControllerGetAllSignatures5Responses, WalletsV1ControllerGetAllSignatures5Errors, WalletsV1ControllerCreateSignatureRequest5Data, WalletsV1ControllerCreateSignatureRequest5Responses, WalletsV1ControllerCreateSignatureRequest5Errors, BalanceControllerGetBalanceForLocator2Data, BalanceControllerGetBalanceForLocator2Responses, BalanceControllerGetBalanceForLocator2Errors, BalanceControllerFundWallet2Data, BalanceControllerFundWallet2Responses, BalanceControllerFundWallet2Errors, WalletsV1ControllerGetWalletActivity5Data, WalletsV1ControllerGetWalletActivity5Responses, WalletsV1ControllerGetWalletActivity5Errors, WalletsV1ControllerGetWalletByLocator5Data, WalletsV1ControllerGetWalletByLocator5Responses, WalletsV1ControllerGetWalletByLocator5Errors, WalletsV1ControllerCreateWallet5Data, WalletsV1ControllerCreateWallet5Responses, WalletsV1ControllerCreateWallet5Errors, WalletsVerifyRecipientControllerVerifyWalletOwnership2Data, WalletsVerifyRecipientControllerVerifyWalletOwnership2Responses, WalletsSendTokenControllerSendMeToken2Data, WalletsSendTokenControllerSendMeToken2Responses, WalletActivityUnstableControllerGetMeWalletActivity2Data, WalletActivityUnstableControllerGetMeWalletActivity2Responses, WalletActivityUnstableControllerGetMeWalletActivity2Errors, WalletsSendTokenControllerSendToken2Data, WalletsSendTokenControllerSendToken2Responses, BalanceUnstableControllerGetBalanceForLocator2Data, BalanceUnstableControllerGetBalanceForLocator2Responses, BalanceUnstableControllerGetBalanceForLocator2Errors, WalletActivityUnstableControllerGetWalletActivity2Data, WalletActivityUnstableControllerGetWalletActivity2Responses, WalletActivityUnstableControllerGetWalletActivity2Errors, WalletsV2025ControllerSubmitMeApprovals2Data, WalletsV2025ControllerSubmitMeApprovals2Responses, WalletsV2025ControllerSubmitMeApprovals2Errors, WalletsV2025ControllerGetMeTransaction2Data, WalletsV2025ControllerGetMeTransaction2Responses, WalletsV2025ControllerGetMeTransaction2Errors, WalletsV2025ControllerGetMeTransactionsWithoutChain2Data, WalletsV2025ControllerGetMeTransactionsWithoutChain2Responses, WalletsV2025ControllerGetMeTransactionsWithoutChain2Errors, WalletsV2025ControllerCreateMeTransaction2Data, WalletsV2025ControllerCreateMeTransaction2Responses, WalletsV2025ControllerCreateMeTransaction2Errors, WalletsSendTokenV2025ControllerSendMeToken2Data, WalletsSendTokenV2025ControllerSendMeToken2Responses, WalletsV2025ControllerGetMeDelegatedSigner2Data, WalletsV2025ControllerGetMeDelegatedSigner2Responses, WalletsV2025ControllerGetMeDelegatedSigner2Errors, WalletsV2025ControllerCreateMeDelegatedSigner2Data, WalletsV2025ControllerCreateMeDelegatedSigner2Responses, WalletsV2025ControllerCreateMeDelegatedSigner2Errors, WalletsV2025ControllerSubmitMeSignatureApprovals2Data, WalletsV2025ControllerSubmitMeSignatureApprovals2Responses, WalletsV2025ControllerSubmitMeSignatureApprovals2Errors, WalletsV2025ControllerGetMeSignature2Data, WalletsV2025ControllerGetMeSignature2Responses, WalletsV2025ControllerGetMeSignature2Errors, WalletsV2025ControllerGetMeSignatures2Data, WalletsV2025ControllerGetMeSignatures2Responses, WalletsV2025ControllerGetMeSignatures2Errors, WalletsV2025ControllerCreateMeSignatureRequest2Data, WalletsV2025ControllerCreateMeSignatureRequest2Responses, WalletsV2025ControllerCreateMeSignatureRequest2Errors, WalletsV2025ControllerGetMeWallet2Data, WalletsV2025ControllerGetMeWallet2Responses, WalletsV2025ControllerCreateMeWallet2Data, WalletsV2025ControllerCreateMeWallet2Responses, WalletsV2025ControllerSubmitApprovals2Data, WalletsV2025ControllerSubmitApprovals2Responses, WalletsV2025ControllerSubmitApprovals2Errors, WalletsV2025ControllerGetTransaction2Data, WalletsV2025ControllerGetTransaction2Responses, WalletsV2025ControllerGetTransaction2Errors, WalletsV2025ControllerGetTransactionsWithoutChain2Data, WalletsV2025ControllerGetTransactionsWithoutChain2Responses, WalletsV2025ControllerGetTransactionsWithoutChain2Errors, WalletsV2025ControllerCreateTransaction2Data, WalletsV2025ControllerCreateTransaction2Responses, WalletsV2025ControllerCreateTransaction2Errors, WalletsSendTokenV2025ControllerSendToken2Data, WalletsSendTokenV2025ControllerSendToken2Responses, WalletsV2025ControllerGetDelegatedSigner2Data, WalletsV2025ControllerGetDelegatedSigner2Responses, WalletsV2025ControllerGetDelegatedSigner2Errors, WalletsV2025ControllerCreateDelegatedSigner2Data, WalletsV2025ControllerCreateDelegatedSigner2Responses, WalletsV2025ControllerCreateDelegatedSigner2Errors, WalletsV2025ControllerSubmitSignatureApprovals2Data, WalletsV2025ControllerSubmitSignatureApprovals2Responses, WalletsV2025ControllerSubmitSignatureApprovals2Errors, WalletsV2025ControllerGetSignature2Data, WalletsV2025ControllerGetSignature2Responses, WalletsV2025ControllerGetSignature2Errors, WalletsV2025ControllerGetAllSignatures2Data, WalletsV2025ControllerGetAllSignatures2Responses, WalletsV2025ControllerGetAllSignatures2Errors, WalletsV2025ControllerCreateSignatureRequest2Data, WalletsV2025ControllerCreateSignatureRequest2Responses, WalletsV2025ControllerCreateSignatureRequest2Errors, BalanceV20250609ControllerGetBalanceForLocator2Data, BalanceV20250609ControllerGetBalanceForLocator2Responses, BalanceV20250609ControllerGetBalanceForLocator2Errors, WalletsV2025ControllerGetWalletByLocator2Data, WalletsV2025ControllerGetWalletByLocator2Responses, WalletsV2025ControllerGetWalletByLocator2Errors, WalletsV2025ControllerCreateWallet2Data, WalletsV2025ControllerCreateWallet2Responses, WalletsV2025ControllerCreateWallet2Errors, WalletsV1ControllerSubmitMeApprovals4Data, WalletsV1ControllerSubmitMeApprovals4Responses, WalletsV1ControllerSubmitMeApprovals4Errors, WalletsV1ControllerGetMeTransaction4Data, WalletsV1ControllerGetMeTransaction4Responses, WalletsV1ControllerGetMeTransaction4Errors, WalletsV1ControllerGetMeTransactionsWithoutChain4Data, WalletsV1ControllerGetMeTransactionsWithoutChain4Responses, WalletsV1ControllerGetMeTransactionsWithoutChain4Errors, WalletsV1ControllerCreateMeTransaction4Data, WalletsV1ControllerCreateMeTransaction4Responses, WalletsV1ControllerCreateMeTransaction4Errors, WalletsV1ControllerGetMeDelegatedSigner4Data, WalletsV1ControllerGetMeDelegatedSigner4Responses, WalletsV1ControllerGetMeDelegatedSigner4Errors, WalletsV1ControllerCreateMeDelegatedSigner4Data, WalletsV1ControllerCreateMeDelegatedSigner4Responses, WalletsV1ControllerCreateMeDelegatedSigner4Errors, WalletsV1ControllerSubmitMeSignatureApprovals4Data, WalletsV1ControllerSubmitMeSignatureApprovals4Responses, WalletsV1ControllerSubmitMeSignatureApprovals4Errors, WalletsV1ControllerGetMeSignature4Data, WalletsV1ControllerGetMeSignature4Responses, WalletsV1ControllerGetMeSignature4Errors, WalletsV1ControllerCreateMeSignatureRequest4Data, WalletsV1ControllerCreateMeSignatureRequest4Responses, WalletsV1ControllerCreateMeSignatureRequest4Errors, WalletsV1ControllerGetMeWalletActivity4Data, WalletsV1ControllerGetMeWalletActivity4Responses, WalletsV1ControllerGetMeWalletActivity4Errors, WalletsV1ControllerGetMeWallet4Data, WalletsV1ControllerGetMeWallet4Responses, WalletsV1ControllerCreateMeWallet4Data, WalletsV1ControllerCreateMeWallet4Responses, WalletsV1ControllerSubmitApprovals4Data, WalletsV1ControllerSubmitApprovals4Responses, WalletsV1ControllerSubmitApprovals4Errors, WalletsV1ControllerGetTransaction4Data, WalletsV1ControllerGetTransaction4Responses, WalletsV1ControllerGetTransaction4Errors, WalletsV1ControllerGetTransactionsWithoutChain4Data, WalletsV1ControllerGetTransactionsWithoutChain4Responses, WalletsV1ControllerGetTransactionsWithoutChain4Errors, WalletsV1ControllerCreateTransaction4Data, WalletsV1ControllerCreateTransaction4Responses, WalletsV1ControllerCreateTransaction4Errors, WalletsV1ControllerGetDelegatedSigner4Data, WalletsV1ControllerGetDelegatedSigner4Responses, WalletsV1ControllerGetDelegatedSigner4Errors, WalletsV1ControllerCreateDelegatedSigner4Data, WalletsV1ControllerCreateDelegatedSigner4Responses, WalletsV1ControllerCreateDelegatedSigner4Errors, WalletsV1ControllerSubmitSignatureApprovals4Data, WalletsV1ControllerSubmitSignatureApprovals4Responses, WalletsV1ControllerSubmitSignatureApprovals4Errors, WalletsV1ControllerGetSignature4Data, WalletsV1ControllerGetSignature4Responses, WalletsV1ControllerGetSignature4Errors, WalletsV1ControllerGetAllSignatures4Data, WalletsV1ControllerGetAllSignatures4Responses, WalletsV1ControllerGetAllSignatures4Errors, WalletsV1ControllerCreateSignatureRequest4Data, WalletsV1ControllerCreateSignatureRequest4Responses, WalletsV1ControllerCreateSignatureRequest4Errors, WalletsV1ControllerGetWalletActivity4Data, WalletsV1ControllerGetWalletActivity4Responses, WalletsV1ControllerGetWalletActivity4Errors, WalletsV1ControllerGetWalletByLocator4Data, WalletsV1ControllerGetWalletByLocator4Responses, WalletsV1ControllerGetWalletByLocator4Errors, WalletNftControllerGetNftsFromWallet4Data, WalletNftControllerGetNftsFromWallet4Responses, WalletsV1ControllerCreateWallet4Data, WalletsV1ControllerCreateWallet4Responses, WalletsV1ControllerCreateWallet4Errors } from './types.gen';\nimport { client as _heyApiClient } from './client.gen';\n\nexport type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = ClientOptions<TData, ThrowOnError> & {\n /**\n * You can provide a client instance returned by `createClient()` instead of\n * individual options. This might be also useful if you want to implement a\n * custom client.\n */\n client?: Client;\n /**\n * You can pass arbitrary values through the `meta` object. This can be\n * used to access values that aren't defined as part of the SDK function.\n */\n meta?: Record<string, unknown>;\n};\n\n/**\n * Approve Transaction For Authenticated User\n * Submit approval signature for a pending transaction. Required for transactions using external signers.\n *\n * **API scope required**: `wallets:transactions.sign`\n */\nexport const walletsV1ControllerSubmitMeApprovals5 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerSubmitMeApprovals5Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<WalletsV1ControllerSubmitMeApprovals5Responses, WalletsV1ControllerSubmitMeApprovals5Errors, ThrowOnError>({\n url: '/v1-alpha2/wallets/me{walletType}/transactions/{transactionId}/approvals',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Get Transaction For Authenticated User\n * Retrieves the current status and details of a specific transaction.\n *\n * **API scope required**: `wallets:transactions.read`\n */\nexport const walletsV1ControllerGetMeTransaction5 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerGetMeTransaction5Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletsV1ControllerGetMeTransaction5Responses, WalletsV1ControllerGetMeTransaction5Errors, ThrowOnError>({\n url: '/v1-alpha2/wallets/me{walletType}/transactions/{transactionId}',\n ...options\n });\n};\n\n/**\n * Get Wallet Transactions For Authenticated User\n * Retrieves all transactions associated with the specified wallet.\n *\n * **API scope required**: `wallets:transactions.read`\n */\nexport const walletsV1ControllerGetMeTransactionsWithoutChain5 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerGetMeTransactionsWithoutChain5Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletsV1ControllerGetMeTransactionsWithoutChain5Responses, WalletsV1ControllerGetMeTransactionsWithoutChain5Errors, ThrowOnError>({\n url: '/v1-alpha2/wallets/me{walletType}/transactions',\n ...options\n });\n};\n\n/**\n * Create Transaction For Authenticated User\n * Creates a new transaction for the authenticated user. Transaction will be automatically broadcast once it has all necessary approvals.\n *\n * **API scope required**: `wallets:transactions.create`\n */\nexport const walletsV1ControllerCreateMeTransaction5 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerCreateMeTransaction5Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<WalletsV1ControllerCreateMeTransaction5Responses, WalletsV1ControllerCreateMeTransaction5Errors, ThrowOnError>({\n url: '/v1-alpha2/wallets/me{walletType}/transactions',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Get Delegated Signer For Authenticated User\n * Retrieve details about a specific delegated signer by its locator.\n *\n * **API scope required**: `wallets.read`\n */\nexport const walletsV1ControllerGetMeDelegatedSigner5 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerGetMeDelegatedSigner5Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletsV1ControllerGetMeDelegatedSigner5Responses, WalletsV1ControllerGetMeDelegatedSigner5Errors, ThrowOnError>({\n url: '/v1-alpha2/wallets/me{walletType}/signers/{signer}',\n ...options\n });\n};\n\n/**\n * Register Delegated Signer For Authenticated User\n * Register a delegated key for a smart wallet with optional restrictions around permissions and expiry date.\n *\n * **API scope required**: `wallets.create`\n */\nexport const walletsV1ControllerCreateMeDelegatedSigner5 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerCreateMeDelegatedSigner5Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<WalletsV1ControllerCreateMeDelegatedSigner5Responses, WalletsV1ControllerCreateMeDelegatedSigner5Errors, ThrowOnError>({\n url: '/v1-alpha2/wallets/me{walletType}/signers',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Approve Signature For Authenticated User\n * Submit approval for a signature to sign a message or typed data.\n *\n * **API scope required**: `wallets:signatures.create`\n */\nexport const walletsV1ControllerSubmitMeSignatureApprovals5 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerSubmitMeSignatureApprovals5Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<WalletsV1ControllerSubmitMeSignatureApprovals5Responses, WalletsV1ControllerSubmitMeSignatureApprovals5Errors, ThrowOnError>({\n url: '/v1-alpha2/wallets/me{walletType}/signatures/{signatureId}/approvals',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Get Signature For Authenticated User\n * Retrieves details about a specific signature by its ID.\n *\n * **API scope required**: `wallets:signatures.read`\n */\nexport const walletsV1ControllerGetMeSignature5 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerGetMeSignature5Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletsV1ControllerGetMeSignature5Responses, WalletsV1ControllerGetMeSignature5Errors, ThrowOnError>({\n url: '/v1-alpha2/wallets/me{walletType}/signatures/{signatureId}',\n ...options\n });\n};\n\n/**\n * Create Signature For Authenticated User\n * Creates a new signature for signing messages or typed data.\n *\n * **API scope required**: `wallets:signatures.create`\n */\nexport const walletsV1ControllerCreateMeSignatureRequest5 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerCreateMeSignatureRequest5Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<WalletsV1ControllerCreateMeSignatureRequest5Responses, WalletsV1ControllerCreateMeSignatureRequest5Errors, ThrowOnError>({\n url: '/v1-alpha2/wallets/me{walletType}/signatures',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Get Wallet Activity For Authenticated User\n * Retrieves activity history for the authenticated user's wallet including transactions and other relevant events.\n *\n * **API scope required**: `wallets.read`\n */\nexport const walletsV1ControllerGetMeWalletActivity5 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerGetMeWalletActivity5Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletsV1ControllerGetMeWalletActivity5Responses, WalletsV1ControllerGetMeWalletActivity5Errors, ThrowOnError>({\n url: '/v1-alpha2/wallets/me{walletType}/activity',\n ...options\n });\n};\n\n/**\n * Get Wallet For Authenticated User\n * Retrieves a wallet for the authenticated user.\n *\n * **API scope required**: `wallets.read`\n */\nexport const walletsV1ControllerGetMeWallet5 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerGetMeWallet5Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletsV1ControllerGetMeWallet5Responses, unknown, ThrowOnError>({\n url: '/v1-alpha2/wallets/me{walletType}',\n ...options\n });\n};\n\n/**\n * Create Wallet For Authenticated User\n * Creates a new wallet of specified type for the authenticated user. If called for a user who already has a wallet, returns the existing wallet. Supports both custodial and non-custodial wallet types. Uses client-side API key authentication.\n *\n * **API scope required**: `wallets.create`\n */\nexport const walletsV1ControllerCreateMeWallet5 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerCreateMeWallet5Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<WalletsV1ControllerCreateMeWallet5Responses, unknown, ThrowOnError>({\n url: '/v1-alpha2/wallets/me',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Approve Transaction\n * Submit approval signature for a pending transaction. Required for transactions using external signers.\n *\n * **API scope required**: `wallets:transactions.sign`\n */\nexport const walletsV1ControllerSubmitApprovals5 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerSubmitApprovals5Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<WalletsV1ControllerSubmitApprovals5Responses, WalletsV1ControllerSubmitApprovals5Errors, ThrowOnError>({\n url: '/v1-alpha2/wallets/{walletLocator}/transactions/{transactionId}/approvals',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Get Transaction\n * Retrieves the current status and details of a specific transaction.\n *\n * **API scope required**: `wallets:transactions.read`\n */\nexport const walletsV1ControllerGetTransaction5 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerGetTransaction5Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletsV1ControllerGetTransaction5Responses, WalletsV1ControllerGetTransaction5Errors, ThrowOnError>({\n url: '/v1-alpha2/wallets/{walletLocator}/transactions/{transactionId}',\n ...options\n });\n};\n\n/**\n * Get Wallet Transactions\n * Retrieves all transactions associated with the specified wallet.\n *\n * **API scope required**: `wallets:transactions.read`\n */\nexport const walletsV1ControllerGetTransactionsWithoutChain5 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerGetTransactionsWithoutChain5Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletsV1ControllerGetTransactionsWithoutChain5Responses, WalletsV1ControllerGetTransactionsWithoutChain5Errors, ThrowOnError>({\n url: '/v1-alpha2/wallets/{walletLocator}/transactions',\n ...options\n });\n};\n\n/**\n * Create Transaction\n * Creates a new transaction for the specified wallet. Transaction will be automatically broadcast once it has all necessary approvals.\n *\n * **API scope required**: `wallets:transactions.create`\n */\nexport const walletsV1ControllerCreateTransaction5 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerCreateTransaction5Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<WalletsV1ControllerCreateTransaction5Responses, WalletsV1ControllerCreateTransaction5Errors, ThrowOnError>({\n url: '/v1-alpha2/wallets/{walletLocator}/transactions',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Get Delegated Signer\n * Retrieve details about a specific delegated signer by its locator.\n *\n * **API scope required**: `wallets.read`\n */\nexport const walletsV1ControllerGetDelegatedSigner5 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerGetDelegatedSigner5Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletsV1ControllerGetDelegatedSigner5Responses, WalletsV1ControllerGetDelegatedSigner5Errors, ThrowOnError>({\n url: '/v1-alpha2/wallets/{walletLocator}/signers/{signer}',\n ...options\n });\n};\n\n/**\n * Register Delegated Signer\n * Register a delegated key for a smart wallet with optional restrictions around permissions and expiry date.\n *\n * **API scope required**: `wallets.create`\n */\nexport const walletsV1ControllerCreateDelegatedSigner5 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerCreateDelegatedSigner5Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<WalletsV1ControllerCreateDelegatedSigner5Responses, WalletsV1ControllerCreateDelegatedSigner5Errors, ThrowOnError>({\n url: '/v1-alpha2/wallets/{walletLocator}/signers',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Approve Signature\n * Submit approval for a signature to sign a message or typed data.\n *\n * **API scope required**: `wallets:signatures.create`\n */\nexport const walletsV1ControllerSubmitSignatureApprovals5 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerSubmitSignatureApprovals5Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<WalletsV1ControllerSubmitSignatureApprovals5Responses, WalletsV1ControllerSubmitSignatureApprovals5Errors, ThrowOnError>({\n url: '/v1-alpha2/wallets/{walletLocator}/signatures/{signatureId}/approvals',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Get Signature\n * Retrieves details about a specific signature by its ID.\n *\n * **API scope required**: `wallets:signatures.read`\n */\nexport const walletsV1ControllerGetSignature5 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerGetSignature5Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletsV1ControllerGetSignature5Responses, WalletsV1ControllerGetSignature5Errors, ThrowOnError>({\n url: '/v1-alpha2/wallets/{walletLocator}/signatures/{signatureId}',\n ...options\n });\n};\n\n/**\n * Get All Signatures\n * Retrieves all signatures associated with the specified wallet.\n *\n * **API scope required**: `wallets:signatures.read`\n */\nexport const walletsV1ControllerGetAllSignatures5 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerGetAllSignatures5Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletsV1ControllerGetAllSignatures5Responses, WalletsV1ControllerGetAllSignatures5Errors, ThrowOnError>({\n url: '/v1-alpha2/wallets/{walletLocator}/signatures',\n ...options\n });\n};\n\n/**\n * Create Signature\n * Creates a new signature for signing messages or typed data.\n *\n * **API scope required**: `wallets:signatures.create`\n */\nexport const walletsV1ControllerCreateSignatureRequest5 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerCreateSignatureRequest5Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<WalletsV1ControllerCreateSignatureRequest5Responses, WalletsV1ControllerCreateSignatureRequest5Errors, ThrowOnError>({\n url: '/v1-alpha2/wallets/{walletLocator}/signatures',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Get Wallet Balance\n * Get the balance of a wallet for a given chain and currency\n *\n * **API scope required**: `wallets:balance.read`\n */\nexport const balanceControllerGetBalanceForLocator2 = <ThrowOnError extends boolean = false>(options: Options<BalanceControllerGetBalanceForLocator2Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<BalanceControllerGetBalanceForLocator2Responses, BalanceControllerGetBalanceForLocator2Errors, ThrowOnError>({\n url: '/v1-alpha2/wallets/{walletLocator}/balances',\n ...options\n });\n};\n\n/**\n * Fund Wallet\n * Send funds to a wallet.\n *\n * **API scope required**: `wallets.fund`\n */\nexport const balanceControllerFundWallet2 = <ThrowOnError extends boolean = false>(options: Options<BalanceControllerFundWallet2Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<BalanceControllerFundWallet2Responses, BalanceControllerFundWallet2Errors, ThrowOnError>({\n url: '/v1-alpha2/wallets/{walletLocator}/balances',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Get Wallet Activity\n * Retrieves activity history for the specified wallet including transactions and other relevant events.\n *\n * **API scope required**: `wallets.read`\n */\nexport const walletsV1ControllerGetWalletActivity5 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerGetWalletActivity5Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletsV1ControllerGetWalletActivity5Responses, WalletsV1ControllerGetWalletActivity5Errors, ThrowOnError>({\n url: '/v1-alpha2/wallets/{walletLocator}/activity',\n ...options\n });\n};\n\n/**\n * Get Wallet By Locator\n * Retrieves a wallet by its locator (address or user identifier and wallet type)\n *\n * **API scope required**: `wallets.read`\n */\nexport const walletsV1ControllerGetWalletByLocator5 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerGetWalletByLocator5Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletsV1ControllerGetWalletByLocator5Responses, WalletsV1ControllerGetWalletByLocator5Errors, ThrowOnError>({\n url: '/v1-alpha2/wallets/{walletLocator}',\n ...options\n });\n};\n\n/**\n * Create Wallet\n * Creates a new wallet of specified type. If called with an idempotency key or for a user who already has a wallet, returns existing wallet. When linkedUser is provided, subsequent calls with the same linkedUser will return the existing wallet. Supports both custodial and non-custodial wallet types.\n *\n * **API scope required**: `wallets.create`\n */\nexport const walletsV1ControllerCreateWallet5 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerCreateWallet5Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<WalletsV1ControllerCreateWallet5Responses, WalletsV1ControllerCreateWallet5Errors, ThrowOnError>({\n url: '/v1-alpha2/wallets',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Verify wallet ownership\n * Verifies wallet ownership by a given email.\n */\nexport const walletsVerifyRecipientControllerVerifyWalletOwnership2 = <ThrowOnError extends boolean = false>(options?: Options<WalletsVerifyRecipientControllerVerifyWalletOwnership2Data, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).post<WalletsVerifyRecipientControllerVerifyWalletOwnership2Responses, unknown, ThrowOnError>({\n url: '/unstable/wallets/verify-ownership',\n ...options\n });\n};\n\n/**\n * Transfer Token For Authenticated User\n * Sends a token of any type from the authenticated user's wallet to a recipient\n */\nexport const walletsSendTokenControllerSendMeToken2 = <ThrowOnError extends boolean = false>(options: Options<WalletsSendTokenControllerSendMeToken2Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<WalletsSendTokenControllerSendMeToken2Responses, unknown, ThrowOnError>({\n url: '/unstable/wallets/me{walletType}/tokens/{tokenLocator}/transfers',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Get Wallet Activity For Authenticated User (Unstable)\n * Retrieves activity history for the authenticated user's wallet including transactions and other relevant events. This is an unstable API that may change without notice.\n *\n * **API scope required**: `wallets.read`\n */\nexport const walletActivityUnstableControllerGetMeWalletActivity2 = <ThrowOnError extends boolean = false>(options: Options<WalletActivityUnstableControllerGetMeWalletActivity2Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletActivityUnstableControllerGetMeWalletActivity2Responses, WalletActivityUnstableControllerGetMeWalletActivity2Errors, ThrowOnError>({\n url: '/unstable/wallets/me{walletLocator}/activity',\n ...options\n });\n};\n\n/**\n * Transfer Token\n * Sends a token of any type from this wallet to a recipient\n */\nexport const walletsSendTokenControllerSendToken2 = <ThrowOnError extends boolean = false>(options: Options<WalletsSendTokenControllerSendToken2Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<WalletsSendTokenControllerSendToken2Responses, unknown, ThrowOnError>({\n url: '/unstable/wallets/{walletLocator}/tokens/{tokenLocator}/transfers',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Get Wallet Balance\n * Get the balance of a wallet for a given chain and currency\n *\n * **API scope required**: `wallets:balance.read`\n */\nexport const balanceUnstableControllerGetBalanceForLocator2 = <ThrowOnError extends boolean = false>(options: Options<BalanceUnstableControllerGetBalanceForLocator2Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<BalanceUnstableControllerGetBalanceForLocator2Responses, BalanceUnstableControllerGetBalanceForLocator2Errors, ThrowOnError>({\n url: '/unstable/wallets/{walletLocator}/balances',\n ...options\n });\n};\n\n/**\n * Get Wallet Activity (Unstable)\n * Retrieves activity history for the specified wallet including transactions and other relevant events. This is an unstable API that may change without notice.\n *\n * **API scope required**: `wallets.read`\n */\nexport const walletActivityUnstableControllerGetWalletActivity2 = <ThrowOnError extends boolean = false>(options: Options<WalletActivityUnstableControllerGetWalletActivity2Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletActivityUnstableControllerGetWalletActivity2Responses, WalletActivityUnstableControllerGetWalletActivity2Errors, ThrowOnError>({\n url: '/unstable/wallets/{walletLocator}/activity',\n ...options\n });\n};\n\n/**\n * Approve Transaction For Authenticated User\n * Submit approval signature for a pending transaction. Required for transactions using external signers.\n *\n * **API scope required**: `wallets:transactions.sign`\n */\nexport const walletsV2025ControllerSubmitMeApprovals2 = <ThrowOnError extends boolean = false>(options: Options<WalletsV2025ControllerSubmitMeApprovals2Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<WalletsV2025ControllerSubmitMeApprovals2Responses, WalletsV2025ControllerSubmitMeApprovals2Errors, ThrowOnError>({\n url: '/2025-06-09/wallets/me{walletLocator}/transactions/{transactionId}/approvals',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Get Transaction For Authenticated User\n * Retrieves the current status and details of a specific transaction.\n *\n * **API scope required**: `wallets:transactions.read`\n */\nexport const walletsV2025ControllerGetMeTransaction2 = <ThrowOnError extends boolean = false>(options: Options<WalletsV2025ControllerGetMeTransaction2Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletsV2025ControllerGetMeTransaction2Responses, WalletsV2025ControllerGetMeTransaction2Errors, ThrowOnError>({\n url: '/2025-06-09/wallets/me{walletLocator}/transactions/{transactionId}',\n ...options\n });\n};\n\n/**\n * Get Wallet Transactions For Authenticated User\n * Retrieves all transactions associated with the specified wallet.\n *\n * **API scope required**: `wallets:transactions.read`\n */\nexport const walletsV2025ControllerGetMeTransactionsWithoutChain2 = <ThrowOnError extends boolean = false>(options: Options<WalletsV2025ControllerGetMeTransactionsWithoutChain2Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletsV2025ControllerGetMeTransactionsWithoutChain2Responses, WalletsV2025ControllerGetMeTransactionsWithoutChain2Errors, ThrowOnError>({\n url: '/2025-06-09/wallets/me{walletLocator}/transactions',\n ...options\n });\n};\n\n/**\n * Create Transaction For Authenticated User\n * Creates a new transaction for the authenticated user. Transaction will be automatically broadcast once it has all necessary approvals.\n *\n * **API scope required**: `wallets:transactions.create`\n */\nexport const walletsV2025ControllerCreateMeTransaction2 = <ThrowOnError extends boolean = false>(options: Options<WalletsV2025ControllerCreateMeTransaction2Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<WalletsV2025ControllerCreateMeTransaction2Responses, WalletsV2025ControllerCreateMeTransaction2Errors, ThrowOnError>({\n url: '/2025-06-09/wallets/me{walletLocator}/transactions',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Transfer Token For Authenticated User\n * Sends a token of any type from the authenticated user's wallet to a recipient\n */\nexport const walletsSendTokenV2025ControllerSendMeToken2 = <ThrowOnError extends boolean = false>(options: Options<WalletsSendTokenV2025ControllerSendMeToken2Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<WalletsSendTokenV2025ControllerSendMeToken2Responses, unknown, ThrowOnError>({\n url: '/2025-06-09/wallets/me{walletLocator}/tokens/{tokenLocator}/transfers',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Get Delegated Signer For Authenticated User\n * Retrieve details about a specific delegated signer by its locator.\n *\n * **API scope required**: `wallets.read`\n */\nexport const walletsV2025ControllerGetMeDelegatedSigner2 = <ThrowOnError extends boolean = false>(options: Options<WalletsV2025ControllerGetMeDelegatedSigner2Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletsV2025ControllerGetMeDelegatedSigner2Responses, WalletsV2025ControllerGetMeDelegatedSigner2Errors, ThrowOnError>({\n url: '/2025-06-09/wallets/me{walletLocator}/signers/{signer}',\n ...options\n });\n};\n\n/**\n * Create Delegated Signer For Authenticated User\n * Register a delegated key for a smart wallet with optional restrictions around permissions and expiry date.\n *\n * **API scope required**: `wallets.create`\n */\nexport const walletsV2025ControllerCreateMeDelegatedSigner2 = <ThrowOnError extends boolean = false>(options: Options<WalletsV2025ControllerCreateMeDelegatedSigner2Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<WalletsV2025ControllerCreateMeDelegatedSigner2Responses, WalletsV2025ControllerCreateMeDelegatedSigner2Errors, ThrowOnError>({\n url: '/2025-06-09/wallets/me{walletLocator}/signers',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Approve Signature For Authenticated User\n * Submit approval for a signature to sign a message or typed data.\n *\n * **API scope required**: `wallets:signatures.create`\n */\nexport const walletsV2025ControllerSubmitMeSignatureApprovals2 = <ThrowOnError extends boolean = false>(options: Options<WalletsV2025ControllerSubmitMeSignatureApprovals2Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<WalletsV2025ControllerSubmitMeSignatureApprovals2Responses, WalletsV2025ControllerSubmitMeSignatureApprovals2Errors, ThrowOnError>({\n url: '/2025-06-09/wallets/me{walletLocator}/signatures/{signatureId}/approvals',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Get Signature For Authenticated User\n * Retrieves details about a specific signature by its ID.\n *\n * **API scope required**: `wallets:signatures.read`\n */\nexport const walletsV2025ControllerGetMeSignature2 = <ThrowOnError extends boolean = false>(options: Options<WalletsV2025ControllerGetMeSignature2Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletsV2025ControllerGetMeSignature2Responses, WalletsV2025ControllerGetMeSignature2Errors, ThrowOnError>({\n url: '/2025-06-09/wallets/me{walletLocator}/signatures/{signatureId}',\n ...options\n });\n};\n\n/**\n * Get Wallet Signatures For Authenticated User\n * Retrieves all signatures associated with the specified wallet.\n *\n * **API scope required**: `wallets:signatures.read`\n */\nexport const walletsV2025ControllerGetMeSignatures2 = <ThrowOnError extends boolean = false>(options: Options<WalletsV2025ControllerGetMeSignatures2Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletsV2025ControllerGetMeSignatures2Responses, WalletsV2025ControllerGetMeSignatures2Errors, ThrowOnError>({\n url: '/2025-06-09/wallets/me{walletLocator}/signatures',\n ...options\n });\n};\n\n/**\n * Create Signature For Authenticated User\n * Creates a new signature for signing messages or typed data.\n *\n * **API scope required**: `wallets:signatures.create`\n */\nexport const walletsV2025ControllerCreateMeSignatureRequest2 = <ThrowOnError extends boolean = false>(options: Options<WalletsV2025ControllerCreateMeSignatureRequest2Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<WalletsV2025ControllerCreateMeSignatureRequest2Responses, WalletsV2025ControllerCreateMeSignatureRequest2Errors, ThrowOnError>({\n url: '/2025-06-09/wallets/me{walletLocator}/signatures',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Get Wallet For Authenticated User\n * Retrieves a wallet for the authenticated user.\n *\n * **API scope required**: `wallets.read`\n */\nexport const walletsV2025ControllerGetMeWallet2 = <ThrowOnError extends boolean = false>(options: Options<WalletsV2025ControllerGetMeWallet2Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletsV2025ControllerGetMeWallet2Responses, unknown, ThrowOnError>({\n url: '/2025-06-09/wallets/me{walletLocator}',\n ...options\n });\n};\n\n/**\n * Create Wallet For Authenticated User\n * Creates a new wallet of specified type for the authenticated user. If called for a user who already has a wallet, returns the existing wallet. Supports both custodial and non-custodial wallet types. Uses client-side API key authentication.\n *\n * **API scope required**: `wallets.create`\n */\nexport const walletsV2025ControllerCreateMeWallet2 = <ThrowOnError extends boolean = false>(options: Options<WalletsV2025ControllerCreateMeWallet2Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<WalletsV2025ControllerCreateMeWallet2Responses, unknown, ThrowOnError>({\n url: '/2025-06-09/wallets/me',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Approve Transaction\n * Submit approval signature for a pending transaction. Required for transactions using external signers.\n *\n * **API scope required**: `wallets:transactions.sign`\n */\nexport const walletsV2025ControllerSubmitApprovals2 = <ThrowOnError extends boolean = false>(options: Options<WalletsV2025ControllerSubmitApprovals2Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<WalletsV2025ControllerSubmitApprovals2Responses, WalletsV2025ControllerSubmitApprovals2Errors, ThrowOnError>({\n url: '/2025-06-09/wallets/{walletLocator}/transactions/{transactionId}/approvals',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Get Transaction\n * Retrieves the current status and details of a specific transaction.\n *\n * **API scope required**: `wallets:transactions.read`\n */\nexport const walletsV2025ControllerGetTransaction2 = <ThrowOnError extends boolean = false>(options: Options<WalletsV2025ControllerGetTransaction2Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletsV2025ControllerGetTransaction2Responses, WalletsV2025ControllerGetTransaction2Errors, ThrowOnError>({\n url: '/2025-06-09/wallets/{walletLocator}/transactions/{transactionId}',\n ...options\n });\n};\n\n/**\n * Get Wallet Transactions\n * Retrieves all transactions associated with the specified wallet.\n *\n * **API scope required**: `wallets:transactions.read`\n */\nexport const walletsV2025ControllerGetTransactionsWithoutChain2 = <ThrowOnError extends boolean = false>(options: Options<WalletsV2025ControllerGetTransactionsWithoutChain2Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletsV2025ControllerGetTransactionsWithoutChain2Responses, WalletsV2025ControllerGetTransactionsWithoutChain2Errors, ThrowOnError>({\n url: '/2025-06-09/wallets/{walletLocator}/transactions',\n ...options\n });\n};\n\n/**\n * Create Transaction\n * Creates a new transaction for the specified wallet. Transaction will be automatically broadcast once it has all necessary approvals.\n *\n * **API scope required**: `wallets:transactions.create`\n */\nexport const walletsV2025ControllerCreateTransaction2 = <ThrowOnError extends boolean = false>(options: Options<WalletsV2025ControllerCreateTransaction2Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<WalletsV2025ControllerCreateTransaction2Responses, WalletsV2025ControllerCreateTransaction2Errors, ThrowOnError>({\n url: '/2025-06-09/wallets/{walletLocator}/transactions',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Transfer Token\n * Sends a token of any type from this wallet to a recipient\n */\nexport const walletsSendTokenV2025ControllerSendToken2 = <ThrowOnError extends boolean = false>(options: Options<WalletsSendTokenV2025ControllerSendToken2Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<WalletsSendTokenV2025ControllerSendToken2Responses, unknown, ThrowOnError>({\n url: '/2025-06-09/wallets/{walletLocator}/tokens/{tokenLocator}/transfers',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Get Delegated Signer\n * Retrieve details about a specific delegated signer by its locator.\n *\n * **API scope required**: `wallets.read`\n */\nexport const walletsV2025ControllerGetDelegatedSigner2 = <ThrowOnError extends boolean = false>(options: Options<WalletsV2025ControllerGetDelegatedSigner2Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletsV2025ControllerGetDelegatedSigner2Responses, WalletsV2025ControllerGetDelegatedSigner2Errors, ThrowOnError>({\n url: '/2025-06-09/wallets/{walletLocator}/signers/{signer}',\n ...options\n });\n};\n\n/**\n * Create Delegated Signer\n * Create a delegated signer for a smart wallet with optional restrictions around permissions and expiry date.\n *\n * **API scope required**: `wallets.create`\n */\nexport const walletsV2025ControllerCreateDelegatedSigner2 = <ThrowOnError extends boolean = false>(options: Options<WalletsV2025ControllerCreateDelegatedSigner2Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<WalletsV2025ControllerCreateDelegatedSigner2Responses, WalletsV2025ControllerCreateDelegatedSigner2Errors, ThrowOnError>({\n url: '/2025-06-09/wallets/{walletLocator}/signers',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Approve Signature\n * Submit approval for a signature to sign a message or typed data.\n *\n * **API scope required**: `wallets:signatures.create`\n */\nexport const walletsV2025ControllerSubmitSignatureApprovals2 = <ThrowOnError extends boolean = false>(options: Options<WalletsV2025ControllerSubmitSignatureApprovals2Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<WalletsV2025ControllerSubmitSignatureApprovals2Responses, WalletsV2025ControllerSubmitSignatureApprovals2Errors, ThrowOnError>({\n url: '/2025-06-09/wallets/{walletLocator}/signatures/{signatureId}/approvals',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Get Signature\n * Retrieves details about a specific signature by its ID.\n *\n * **API scope required**: `wallets:signatures.read`\n */\nexport const walletsV2025ControllerGetSignature2 = <ThrowOnError extends boolean = false>(options: Options<WalletsV2025ControllerGetSignature2Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletsV2025ControllerGetSignature2Responses, WalletsV2025ControllerGetSignature2Errors, ThrowOnError>({\n url: '/2025-06-09/wallets/{walletLocator}/signatures/{signatureId}',\n ...options\n });\n};\n\n/**\n * Get All Signatures\n * Retrieves all signatures associated with the specified wallet.\n *\n * **API scope required**: `wallets:signatures.read`\n */\nexport const walletsV2025ControllerGetAllSignatures2 = <ThrowOnError extends boolean = false>(options: Options<WalletsV2025ControllerGetAllSignatures2Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletsV2025ControllerGetAllSignatures2Responses, WalletsV2025ControllerGetAllSignatures2Errors, ThrowOnError>({\n url: '/2025-06-09/wallets/{walletLocator}/signatures',\n ...options\n });\n};\n\n/**\n * Create Signature\n * Creates a new signature for signing messages or typed data.\n *\n * **API scope required**: `wallets:signatures.create`\n */\nexport const walletsV2025ControllerCreateSignatureRequest2 = <ThrowOnError extends boolean = false>(options: Options<WalletsV2025ControllerCreateSignatureRequest2Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<WalletsV2025ControllerCreateSignatureRequest2Responses, WalletsV2025ControllerCreateSignatureRequest2Errors, ThrowOnError>({\n url: '/2025-06-09/wallets/{walletLocator}/signatures',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Get Wallet Balance\n * Get the balance of a wallet for a given chain and currency\n *\n * **API scope required**: `wallets:balance.read`\n */\nexport const balanceV20250609ControllerGetBalanceForLocator2 = <ThrowOnError extends boolean = false>(options: Options<BalanceV20250609ControllerGetBalanceForLocator2Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<BalanceV20250609ControllerGetBalanceForLocator2Responses, BalanceV20250609ControllerGetBalanceForLocator2Errors, ThrowOnError>({\n url: '/2025-06-09/wallets/{walletLocator}/balances',\n ...options\n });\n};\n\n/**\n * Get Wallet By Locator\n * Retrieves a wallet by its locator (address or user identifier and wallet type)\n *\n * **API scope required**: `wallets.read`\n */\nexport const walletsV2025ControllerGetWalletByLocator2 = <ThrowOnError extends boolean = false>(options: Options<WalletsV2025ControllerGetWalletByLocator2Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletsV2025ControllerGetWalletByLocator2Responses, WalletsV2025ControllerGetWalletByLocator2Errors, ThrowOnError>({\n url: '/2025-06-09/wallets/{walletLocator}',\n ...options\n });\n};\n\n/**\n * Create Wallet\n * Creates a new wallet of specified type. If called with an idempotency key or for a user who already has a wallet, returns existing wallet. When owner is provided, subsequent calls with the same owner will return the existing wallet. Supports both custodial and non-custodial wallet types.\n *\n * **API scope required**: `wallets.create`\n */\nexport const walletsV2025ControllerCreateWallet2 = <ThrowOnError extends boolean = false>(options: Options<WalletsV2025ControllerCreateWallet2Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<WalletsV2025ControllerCreateWallet2Responses, WalletsV2025ControllerCreateWallet2Errors, ThrowOnError>({\n url: '/2025-06-09/wallets',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Approve Transaction For Authenticated User\n * Submit approval signature for a pending transaction. Required for transactions using external signers.\n *\n * **API scope required**: `wallets:transactions.sign`\n */\nexport const walletsV1ControllerSubmitMeApprovals4 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerSubmitMeApprovals4Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<WalletsV1ControllerSubmitMeApprovals4Responses, WalletsV1ControllerSubmitMeApprovals4Errors, ThrowOnError>({\n url: '/2022-06-09/wallets/me{walletType}/transactions/{transactionId}/approvals',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Get Transaction For Authenticated User\n * Retrieves the current status and details of a specific transaction.\n *\n * **API scope required**: `wallets:transactions.read`\n */\nexport const walletsV1ControllerGetMeTransaction4 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerGetMeTransaction4Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletsV1ControllerGetMeTransaction4Responses, WalletsV1ControllerGetMeTransaction4Errors, ThrowOnError>({\n url: '/2022-06-09/wallets/me{walletType}/transactions/{transactionId}',\n ...options\n });\n};\n\n/**\n * Get Wallet Transactions For Authenticated User\n * Retrieves all transactions associated with the specified wallet.\n *\n * **API scope required**: `wallets:transactions.read`\n */\nexport const walletsV1ControllerGetMeTransactionsWithoutChain4 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerGetMeTransactionsWithoutChain4Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletsV1ControllerGetMeTransactionsWithoutChain4Responses, WalletsV1ControllerGetMeTransactionsWithoutChain4Errors, ThrowOnError>({\n url: '/2022-06-09/wallets/me{walletType}/transactions',\n ...options\n });\n};\n\n/**\n * Create Transaction For Authenticated User\n * Creates a new transaction for the authenticated user. Transaction will be automatically broadcast once it has all necessary approvals.\n *\n * **API scope required**: `wallets:transactions.create`\n */\nexport const walletsV1ControllerCreateMeTransaction4 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerCreateMeTransaction4Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<WalletsV1ControllerCreateMeTransaction4Responses, WalletsV1ControllerCreateMeTransaction4Errors, ThrowOnError>({\n url: '/2022-06-09/wallets/me{walletType}/transactions',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Get Delegated Signer For Authenticated User\n * Retrieve details about a specific delegated signer by its locator.\n *\n * **API scope required**: `wallets.read`\n */\nexport const walletsV1ControllerGetMeDelegatedSigner4 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerGetMeDelegatedSigner4Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletsV1ControllerGetMeDelegatedSigner4Responses, WalletsV1ControllerGetMeDelegatedSigner4Errors, ThrowOnError>({\n url: '/2022-06-09/wallets/me{walletType}/signers/{signer}',\n ...options\n });\n};\n\n/**\n * Register Delegated Signer For Authenticated User\n * Register a delegated key for a smart wallet with optional restrictions around permissions and expiry date.\n *\n * **API scope required**: `wallets.create`\n */\nexport const walletsV1ControllerCreateMeDelegatedSigner4 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerCreateMeDelegatedSigner4Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<WalletsV1ControllerCreateMeDelegatedSigner4Responses, WalletsV1ControllerCreateMeDelegatedSigner4Errors, ThrowOnError>({\n url: '/2022-06-09/wallets/me{walletType}/signers',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Approve Signature For Authenticated User\n * Submit approval for a signature to sign a message or typed data.\n *\n * **API scope required**: `wallets:signatures.create`\n */\nexport const walletsV1ControllerSubmitMeSignatureApprovals4 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerSubmitMeSignatureApprovals4Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<WalletsV1ControllerSubmitMeSignatureApprovals4Responses, WalletsV1ControllerSubmitMeSignatureApprovals4Errors, ThrowOnError>({\n url: '/2022-06-09/wallets/me{walletType}/signatures/{signatureId}/approvals',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Get Signature For Authenticated User\n * Retrieves details about a specific signature by its ID.\n *\n * **API scope required**: `wallets:signatures.read`\n */\nexport const walletsV1ControllerGetMeSignature4 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerGetMeSignature4Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletsV1ControllerGetMeSignature4Responses, WalletsV1ControllerGetMeSignature4Errors, ThrowOnError>({\n url: '/2022-06-09/wallets/me{walletType}/signatures/{signatureId}',\n ...options\n });\n};\n\n/**\n * Create Signature For Authenticated User\n * Creates a new signature for signing messages or typed data.\n *\n * **API scope required**: `wallets:signatures.create`\n */\nexport const walletsV1ControllerCreateMeSignatureRequest4 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerCreateMeSignatureRequest4Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<WalletsV1ControllerCreateMeSignatureRequest4Responses, WalletsV1ControllerCreateMeSignatureRequest4Errors, ThrowOnError>({\n url: '/2022-06-09/wallets/me{walletType}/signatures',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Get Wallet Activity For Authenticated User\n * Retrieves activity history for the authenticated user's wallet including transactions and other relevant events.\n *\n * **API scope required**: `wallets.read`\n */\nexport const walletsV1ControllerGetMeWalletActivity4 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerGetMeWalletActivity4Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletsV1ControllerGetMeWalletActivity4Responses, WalletsV1ControllerGetMeWalletActivity4Errors, ThrowOnError>({\n url: '/2022-06-09/wallets/me{walletType}/activity',\n ...options\n });\n};\n\n/**\n * Get Wallet For Authenticated User\n * Retrieves a wallet for the authenticated user.\n *\n * **API scope required**: `wallets.read`\n */\nexport const walletsV1ControllerGetMeWallet4 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerGetMeWallet4Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletsV1ControllerGetMeWallet4Responses, unknown, ThrowOnError>({\n url: '/2022-06-09/wallets/me{walletType}',\n ...options\n });\n};\n\n/**\n * Create Wallet For Authenticated User\n * Creates a new wallet of specified type for the authenticated user. If called for a user who already has a wallet, returns the existing wallet. Supports both custodial and non-custodial wallet types. Uses client-side API key authentication.\n *\n * **API scope required**: `wallets.create`\n */\nexport const walletsV1ControllerCreateMeWallet4 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerCreateMeWallet4Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<WalletsV1ControllerCreateMeWallet4Responses, unknown, ThrowOnError>({\n url: '/2022-06-09/wallets/me',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Approve Transaction\n * Submit approval signature for a pending transaction. Required for transactions using external signers.\n *\n * **API scope required**: `wallets:transactions.sign`\n */\nexport const walletsV1ControllerSubmitApprovals4 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerSubmitApprovals4Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<WalletsV1ControllerSubmitApprovals4Responses, WalletsV1ControllerSubmitApprovals4Errors, ThrowOnError>({\n url: '/2022-06-09/wallets/{walletLocator}/transactions/{transactionId}/approvals',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Get Transaction\n * Retrieves the current status and details of a specific transaction.\n *\n * **API scope required**: `wallets:transactions.read`\n */\nexport const walletsV1ControllerGetTransaction4 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerGetTransaction4Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletsV1ControllerGetTransaction4Responses, WalletsV1ControllerGetTransaction4Errors, ThrowOnError>({\n url: '/2022-06-09/wallets/{walletLocator}/transactions/{transactionId}',\n ...options\n });\n};\n\n/**\n * Get Wallet Transactions\n * Retrieves all transactions associated with the specified wallet.\n *\n * **API scope required**: `wallets:transactions.read`\n */\nexport const walletsV1ControllerGetTransactionsWithoutChain4 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerGetTransactionsWithoutChain4Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletsV1ControllerGetTransactionsWithoutChain4Responses, WalletsV1ControllerGetTransactionsWithoutChain4Errors, ThrowOnError>({\n url: '/2022-06-09/wallets/{walletLocator}/transactions',\n ...options\n });\n};\n\n/**\n * Create Transaction\n * Creates a new transaction for the specified wallet. Transaction will be automatically broadcast once it has all necessary approvals.\n *\n * **API scope required**: `wallets:transactions.create`\n */\nexport const walletsV1ControllerCreateTransaction4 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerCreateTransaction4Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<WalletsV1ControllerCreateTransaction4Responses, WalletsV1ControllerCreateTransaction4Errors, ThrowOnError>({\n url: '/2022-06-09/wallets/{walletLocator}/transactions',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Get Delegated Signer\n * Retrieve details about a specific delegated signer by its locator.\n *\n * **API scope required**: `wallets.read`\n */\nexport const walletsV1ControllerGetDelegatedSigner4 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerGetDelegatedSigner4Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletsV1ControllerGetDelegatedSigner4Responses, WalletsV1ControllerGetDelegatedSigner4Errors, ThrowOnError>({\n url: '/2022-06-09/wallets/{walletLocator}/signers/{signer}',\n ...options\n });\n};\n\n/**\n * Register Delegated Signer\n * Register a delegated key for a smart wallet with optional restrictions around permissions and expiry date.\n *\n * **API scope required**: `wallets.create`\n */\nexport const walletsV1ControllerCreateDelegatedSigner4 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerCreateDelegatedSigner4Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<WalletsV1ControllerCreateDelegatedSigner4Responses, WalletsV1ControllerCreateDelegatedSigner4Errors, ThrowOnError>({\n url: '/2022-06-09/wallets/{walletLocator}/signers',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Approve Signature\n * Submit approval for a signature to sign a message or typed data.\n *\n * **API scope required**: `wallets:signatures.create`\n */\nexport const walletsV1ControllerSubmitSignatureApprovals4 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerSubmitSignatureApprovals4Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<WalletsV1ControllerSubmitSignatureApprovals4Responses, WalletsV1ControllerSubmitSignatureApprovals4Errors, ThrowOnError>({\n url: '/2022-06-09/wallets/{walletLocator}/signatures/{signatureId}/approvals',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Get Signature\n * Retrieves details about a specific signature by its ID.\n *\n * **API scope required**: `wallets:signatures.read`\n */\nexport const walletsV1ControllerGetSignature4 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerGetSignature4Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletsV1ControllerGetSignature4Responses, WalletsV1ControllerGetSignature4Errors, ThrowOnError>({\n url: '/2022-06-09/wallets/{walletLocator}/signatures/{signatureId}',\n ...options\n });\n};\n\n/**\n * Get All Signatures\n * Retrieves all signatures associated with the specified wallet.\n *\n * **API scope required**: `wallets:signatures.read`\n */\nexport const walletsV1ControllerGetAllSignatures4 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerGetAllSignatures4Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletsV1ControllerGetAllSignatures4Responses, WalletsV1ControllerGetAllSignatures4Errors, ThrowOnError>({\n url: '/2022-06-09/wallets/{walletLocator}/signatures',\n ...options\n });\n};\n\n/**\n * Create Signature\n * Creates a new signature for signing messages or typed data.\n *\n * **API scope required**: `wallets:signatures.create`\n */\nexport const walletsV1ControllerCreateSignatureRequest4 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerCreateSignatureRequest4Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<WalletsV1ControllerCreateSignatureRequest4Responses, WalletsV1ControllerCreateSignatureRequest4Errors, ThrowOnError>({\n url: '/2022-06-09/wallets/{walletLocator}/signatures',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Get Wallet Activity\n * Retrieves activity history for the specified wallet including transactions and other relevant events.\n *\n * **API scope required**: `wallets.read`\n */\nexport const walletsV1ControllerGetWalletActivity4 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerGetWalletActivity4Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletsV1ControllerGetWalletActivity4Responses, WalletsV1ControllerGetWalletActivity4Errors, ThrowOnError>({\n url: '/2022-06-09/wallets/{walletLocator}/activity',\n ...options\n });\n};\n\n/**\n * Get Wallet By Locator\n * Retrieves a wallet by its locator (address or user identifier and wallet type)\n *\n * **API scope required**: `wallets.read`\n */\nexport const walletsV1ControllerGetWalletByLocator4 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerGetWalletByLocator4Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletsV1ControllerGetWalletByLocator4Responses, WalletsV1ControllerGetWalletByLocator4Errors, ThrowOnError>({\n url: '/2022-06-09/wallets/{walletLocator}',\n ...options\n });\n};\n\n/**\n * Get NFTs from Wallet\n * Retrieves NFTs from a wallet.\n *\n * **API scope required**: `wallets:nfts.read`\n */\nexport const walletNftControllerGetNftsFromWallet4 = <ThrowOnError extends boolean = false>(options: Options<WalletNftControllerGetNftsFromWallet4Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<WalletNftControllerGetNftsFromWallet4Responses, unknown, ThrowOnError>({\n url: '/2022-06-09/wallets/{locator}/nfts',\n ...options\n });\n};\n\n/**\n * Create Wallet\n * Creates a new wallet of specified type. If called with an idempotency key or for a user who already has a wallet, returns existing wallet. When linkedUser is provided, subsequent calls with the same linkedUser will return the existing wallet. Supports both custodial and non-custodial wallet types.\n *\n * **API scope required**: `wallets.create`\n */\nexport const walletsV1ControllerCreateWallet4 = <ThrowOnError extends boolean = false>(options: Options<WalletsV1ControllerCreateWallet4Data, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<WalletsV1ControllerCreateWallet4Responses, WalletsV1ControllerCreateWallet4Errors, ThrowOnError>({\n url: '/2022-06-09/wallets',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};"],"mappings":"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","names":[]}
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkY3CJJ3GOcjs = require('./chunk-Y3CJJ3GO.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkXWXIO5PHcjs = require('./chunk-XWXIO5PH.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _chunkBBUEX3DGcjs = require('./chunk-BBUEX3DG.cjs');
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
var
|
|
13
|
+
var _chunkW4VYO3P6cjs = require('./chunk-W4VYO3P6.cjs');
|
|
14
14
|
|
|
15
15
|
// src/sdk.ts
|
|
16
16
|
var _commonsdkbase = require('@crossmint/common-sdk-base');
|
|
17
17
|
var CrossmintWallets = class _CrossmintWallets {
|
|
18
18
|
constructor(crossmint) {
|
|
19
|
-
|
|
20
|
-
const apiClient = new (0,
|
|
21
|
-
this.walletFactory = new (0,
|
|
22
|
-
|
|
19
|
+
_chunkBBUEX3DGcjs.initWalletsLogger.call(void 0, crossmint.apiKey);
|
|
20
|
+
const apiClient = new (0, _chunkXWXIO5PHcjs.ApiClient)(crossmint);
|
|
21
|
+
this.walletFactory = new (0, _chunkY3CJJ3GOcjs.WalletFactory)(apiClient);
|
|
22
|
+
_chunkBBUEX3DGcjs.walletsLogger.info("wallets.sdk.initialized");
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
25
25
|
* Initialize the Wallets SDK
|
|
@@ -36,7 +36,7 @@ var CrossmintWallets = class _CrossmintWallets {
|
|
|
36
36
|
* @returns An existing wallet or a new wallet
|
|
37
37
|
*/
|
|
38
38
|
getOrCreateWallet(options) {
|
|
39
|
-
return
|
|
39
|
+
return _chunkW4VYO3P6cjs.__async.call(void 0, this, null, function* () {
|
|
40
40
|
return yield this.walletFactory.getOrCreateWallet(options);
|
|
41
41
|
});
|
|
42
42
|
}
|
|
@@ -47,7 +47,7 @@ var CrossmintWallets = class _CrossmintWallets {
|
|
|
47
47
|
* @returns A wallet if found, throws WalletNotAvailableError if not found
|
|
48
48
|
*/
|
|
49
49
|
getWallet(walletLocator, options) {
|
|
50
|
-
return
|
|
50
|
+
return _chunkW4VYO3P6cjs.__async.call(void 0, this, null, function* () {
|
|
51
51
|
return yield this.walletFactory.getWallet(walletLocator, options);
|
|
52
52
|
});
|
|
53
53
|
}
|
|
@@ -57,7 +57,7 @@ var CrossmintWallets = class _CrossmintWallets {
|
|
|
57
57
|
* @returns A new wallet
|
|
58
58
|
*/
|
|
59
59
|
createWallet(options) {
|
|
60
|
-
return
|
|
60
|
+
return _chunkW4VYO3P6cjs.__async.call(void 0, this, null, function* () {
|
|
61
61
|
return yield this.walletFactory.createWallet(options);
|
|
62
62
|
});
|
|
63
63
|
}
|
|
@@ -67,3 +67,4 @@ var CrossmintWallets = class _CrossmintWallets {
|
|
|
67
67
|
|
|
68
68
|
|
|
69
69
|
exports.createCrossmint = _commonsdkbase.createCrossmint; exports.CrossmintWallets = CrossmintWallets;
|
|
70
|
+
//# sourceMappingURL=chunk-IYQMWYQI.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/sdk.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,SAAS,uBAAuC;AAQzC,IAAM,mBAAN,MAAM,kBAAiB;AAAA,EAGlB,YAAY,WAAsB;AACtC,sBAAkB,UAAU,MAAM;AAClC,UAAM,YAAY,IAAI,UAAU,SAAS;AACzC,SAAK,gBAAgB,IAAI,cAAc,SAAS;AAEhD,kBAAc,KAAK,yBAAyB;AAAA,EAChD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAc,KAAK,WAAwC;AACvD,WAAO,IAAI,kBAAiB,SAAS;AAAA,EACzC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQa,kBAAmC,SAA+C;AAAA;AAC3F,aAAO,MAAM,KAAK,cAAc,kBAAkB,OAAO;AAAA,IAC7D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQa,UAA2B,eAAuB,SAA+C;AAAA;AAC1G,aAAO,MAAM,KAAK,cAAc,UAAU,eAAe,OAAO;AAAA,IACpE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOa,aAA8B,SAA+C;AAAA;AACtF,aAAO,MAAM,KAAK,cAAc,aAAa,OAAO;AAAA,IACxD;AAAA;AACJ","sourcesContent":["import { createCrossmint, type Crossmint } from \"@crossmint/common-sdk-base\";\nimport { ApiClient } from \"./api\";\nimport { WalletFactory } from \"./wallets/wallet-factory\";\nimport type { Wallet } from \"./wallets/wallet\";\nimport type { Chain } from \"./chains/chains\";\nimport type { WalletArgsFor } from \"./wallets/types\";\nimport { initWalletsLogger, walletsLogger } from \"./logger\";\n\nexport class CrossmintWallets {\n private readonly walletFactory: WalletFactory;\n\n private constructor(crossmint: Crossmint) {\n initWalletsLogger(crossmint.apiKey);\n const apiClient = new ApiClient(crossmint);\n this.walletFactory = new WalletFactory(apiClient);\n\n walletsLogger.info(\"wallets.sdk.initialized\");\n }\n\n /**\n * Initialize the Wallets SDK\n * @param crossmint - Crossmint data (use `createCrossmint` to initialize)\n * @returns A new CrossmintWallets instance\n */\n public static from(crossmint: Crossmint): CrossmintWallets {\n return new CrossmintWallets(crossmint);\n }\n\n /**\n * Get or create a wallet, can only be called on the client side\n * @param args - Wallet data\n * @param options - Wallet options\n * @returns An existing wallet or a new wallet\n */\n public async getOrCreateWallet<C extends Chain>(options: WalletArgsFor<C>): Promise<Wallet<C>> {\n return await this.walletFactory.getOrCreateWallet(options);\n }\n\n /**\n * Get an existing wallet by its locator, can only be called on the server side\n * @param walletLocator - Wallet locator\n * @param options - Wallet options\n * @returns A wallet if found, throws WalletNotAvailableError if not found\n */\n public async getWallet<C extends Chain>(walletLocator: string, options: WalletArgsFor<C>): Promise<Wallet<C>> {\n return await this.walletFactory.getWallet(walletLocator, options);\n }\n\n /**\n * Create a new wallet, can only be called on the server side\n * @param options - Wallet options\n * @returns A new wallet\n */\n public async createWallet<C extends Chain>(options: WalletArgsFor<C>): Promise<Wallet<C>> {\n return await this.walletFactory.createWallet(options);\n }\n}\n\nexport { Crossmint };\nexport { createCrossmint };\n"]}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunk6CR6FGAOcjs = require('./chunk-6CR6FGAO.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkI2O3XXRZcjs = require('./chunk-I2O3XXRZ.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/signers/non-custodial/ncs-signer.ts
|
|
16
16
|
var _commonsdkbase = require('@crossmint/common-sdk-base');
|
|
@@ -32,13 +32,13 @@ var NonCustodialSigner = class {
|
|
|
32
32
|
return this.config.address;
|
|
33
33
|
}
|
|
34
34
|
initialize() {
|
|
35
|
-
return
|
|
35
|
+
return _chunkW4VYO3P6cjs.__async.call(void 0, this, null, function* () {
|
|
36
36
|
if (this.config.clientTEEConnection == null) {
|
|
37
37
|
const parsedAPIKey = _commonsdkbase.validateAPIKey.call(void 0, this.config.crossmint.apiKey);
|
|
38
38
|
if (!parsedAPIKey.isValid) {
|
|
39
39
|
throw new Error("Invalid API key");
|
|
40
40
|
}
|
|
41
|
-
const iframeManager = new (0,
|
|
41
|
+
const iframeManager = new (0, _chunk6CR6FGAOcjs.NcsIframeManager)({
|
|
42
42
|
environment: parsedAPIKey.environment
|
|
43
43
|
});
|
|
44
44
|
this.config.clientTEEConnection = yield iframeManager.initialize();
|
|
@@ -46,7 +46,7 @@ var NonCustodialSigner = class {
|
|
|
46
46
|
});
|
|
47
47
|
}
|
|
48
48
|
getTEEConnection() {
|
|
49
|
-
return
|
|
49
|
+
return _chunkW4VYO3P6cjs.__async.call(void 0, this, null, function* () {
|
|
50
50
|
if (this.config.clientTEEConnection == null) {
|
|
51
51
|
if (this._initializationPromise) {
|
|
52
52
|
yield this._initializationPromise;
|
|
@@ -63,24 +63,24 @@ var NonCustodialSigner = class {
|
|
|
63
63
|
});
|
|
64
64
|
}
|
|
65
65
|
initializeTEEConnection() {
|
|
66
|
-
return
|
|
67
|
-
|
|
66
|
+
return _chunkW4VYO3P6cjs.__async.call(void 0, this, null, function* () {
|
|
67
|
+
_chunkBBUEX3DGcjs.walletsLogger.info("TEE connection not initialized, initializing now");
|
|
68
68
|
const parsedAPIKey = _commonsdkbase.validateAPIKey.call(void 0, this.config.crossmint.apiKey);
|
|
69
69
|
if (!parsedAPIKey.isValid) {
|
|
70
70
|
throw new Error("Invalid API key");
|
|
71
71
|
}
|
|
72
|
-
const iframeManager = new (0,
|
|
72
|
+
const iframeManager = new (0, _chunk6CR6FGAOcjs.NcsIframeManager)({
|
|
73
73
|
environment: parsedAPIKey.environment
|
|
74
74
|
});
|
|
75
75
|
this.config.clientTEEConnection = yield iframeManager.initialize();
|
|
76
76
|
if (this.config.clientTEEConnection == null) {
|
|
77
77
|
throw new Error("Failed to initialize TEE connection");
|
|
78
78
|
}
|
|
79
|
-
|
|
79
|
+
_chunkBBUEX3DGcjs.walletsLogger.info("TEE connection initialized successfully");
|
|
80
80
|
});
|
|
81
81
|
}
|
|
82
82
|
handleAuthRequired() {
|
|
83
|
-
return
|
|
83
|
+
return _chunkW4VYO3P6cjs.__async.call(void 0, this, null, function* () {
|
|
84
84
|
var _a, _b;
|
|
85
85
|
const clientTEEConnection = yield this.getTEEConnection();
|
|
86
86
|
if (this.config.onAuthRequired == null) {
|
|
@@ -88,7 +88,7 @@ var NonCustodialSigner = class {
|
|
|
88
88
|
`${this.type} signer requires the onAuthRequired callback to handle OTP verification. This callback manages the authentication flow (sending OTP and verifying user input). If using our React/React Native SDK, this is handled automatically by the provider. For other environments, implement: onAuthRequired: (needsAuth, sendEmailWithOtp, verifyOtp, reject) => { /* your UI logic */ }`
|
|
89
89
|
);
|
|
90
90
|
}
|
|
91
|
-
|
|
91
|
+
_chunkBBUEX3DGcjs.walletsLogger.info("get-status: sending request");
|
|
92
92
|
const startTime = Date.now();
|
|
93
93
|
const signerResponse = yield clientTEEConnection.sendAction({
|
|
94
94
|
event: "request:get-status",
|
|
@@ -103,14 +103,14 @@ var NonCustodialSigner = class {
|
|
|
103
103
|
});
|
|
104
104
|
const durationMs = Date.now() - startTime;
|
|
105
105
|
if ((signerResponse == null ? void 0 : signerResponse.status) !== "success") {
|
|
106
|
-
|
|
106
|
+
_chunkBBUEX3DGcjs.walletsLogger.error("get-status: failed", {
|
|
107
107
|
status: signerResponse == null ? void 0 : signerResponse.status,
|
|
108
108
|
error: signerResponse == null ? void 0 : signerResponse.error,
|
|
109
109
|
durationMs
|
|
110
110
|
});
|
|
111
111
|
throw new Error(signerResponse == null ? void 0 : signerResponse.error);
|
|
112
112
|
}
|
|
113
|
-
|
|
113
|
+
_chunkBBUEX3DGcjs.walletsLogger.info("get-status: response received", {
|
|
114
114
|
signerStatus: signerResponse.signerStatus,
|
|
115
115
|
durationMs
|
|
116
116
|
});
|
|
@@ -120,7 +120,7 @@ var NonCustodialSigner = class {
|
|
|
120
120
|
} else {
|
|
121
121
|
this._needsAuth = true;
|
|
122
122
|
}
|
|
123
|
-
|
|
123
|
+
_chunkBBUEX3DGcjs.walletsLogger.info("Auth required, initiating OTP flow", { needsAuth: this._needsAuth });
|
|
124
124
|
const { promise, resolve, reject } = this.createAuthPromise();
|
|
125
125
|
this._authPromise = { promise, resolve, reject };
|
|
126
126
|
if (this.config.onAuthRequired) {
|
|
@@ -129,8 +129,8 @@ var NonCustodialSigner = class {
|
|
|
129
129
|
this._needsAuth,
|
|
130
130
|
() => this.sendMessageWithOtp(),
|
|
131
131
|
(otp) => this.verifyOtp(otp),
|
|
132
|
-
() =>
|
|
133
|
-
|
|
132
|
+
() => _chunkW4VYO3P6cjs.__async.call(void 0, this, null, function* () {
|
|
133
|
+
_chunkBBUEX3DGcjs.walletsLogger.info("Auth rejected", { authRejected: true });
|
|
134
134
|
this._needsAuth = false;
|
|
135
135
|
if (this.config.onAuthRequired != null) {
|
|
136
136
|
yield this.config.onAuthRequired(
|
|
@@ -139,28 +139,28 @@ var NonCustodialSigner = class {
|
|
|
139
139
|
(otp) => this.verifyOtp(otp),
|
|
140
140
|
() => {
|
|
141
141
|
var _a2;
|
|
142
|
-
return (_a2 = this._authPromise) == null ? void 0 : _a2.reject(new (0,
|
|
142
|
+
return (_a2 = this._authPromise) == null ? void 0 : _a2.reject(new (0, _chunkI2O3XXRZcjs.AuthRejectedError)());
|
|
143
143
|
}
|
|
144
144
|
);
|
|
145
145
|
}
|
|
146
|
-
reject(new (0,
|
|
146
|
+
reject(new (0, _chunkI2O3XXRZcjs.AuthRejectedError)());
|
|
147
147
|
})
|
|
148
148
|
);
|
|
149
149
|
} catch (error) {
|
|
150
|
-
|
|
150
|
+
_chunkBBUEX3DGcjs.walletsLogger.error("handleAuthRequired error", { error });
|
|
151
151
|
reject(error);
|
|
152
152
|
}
|
|
153
153
|
}
|
|
154
154
|
try {
|
|
155
155
|
yield promise;
|
|
156
156
|
} catch (error) {
|
|
157
|
-
|
|
157
|
+
_chunkBBUEX3DGcjs.walletsLogger.error("handleAuthRequired promise error", { error });
|
|
158
158
|
throw error;
|
|
159
159
|
}
|
|
160
160
|
});
|
|
161
161
|
}
|
|
162
162
|
ensureAuthenticated() {
|
|
163
|
-
return
|
|
163
|
+
return _chunkW4VYO3P6cjs.__async.call(void 0, this, null, function* () {
|
|
164
164
|
yield this.handleAuthRequired();
|
|
165
165
|
});
|
|
166
166
|
}
|
|
@@ -182,11 +182,11 @@ var NonCustodialSigner = class {
|
|
|
182
182
|
return { promise, resolve: resolvePromise, reject: rejectPromise };
|
|
183
183
|
}
|
|
184
184
|
sendMessageWithOtp() {
|
|
185
|
-
return
|
|
185
|
+
return _chunkW4VYO3P6cjs.__async.call(void 0, this, null, function* () {
|
|
186
186
|
var _a, _b, _c;
|
|
187
187
|
const handshakeParent = yield this.getTEEConnection();
|
|
188
188
|
const authId = this.getAuthId();
|
|
189
|
-
|
|
189
|
+
_chunkBBUEX3DGcjs.walletsLogger.info("start-onboarding: sending request");
|
|
190
190
|
const startTime = Date.now();
|
|
191
191
|
const response = yield handshakeParent.sendAction({
|
|
192
192
|
event: "request:start-onboarding",
|
|
@@ -201,7 +201,7 @@ var NonCustodialSigner = class {
|
|
|
201
201
|
options: DEFAULT_EVENT_OPTIONS
|
|
202
202
|
});
|
|
203
203
|
const durationMs = Date.now() - startTime;
|
|
204
|
-
|
|
204
|
+
_chunkBBUEX3DGcjs.walletsLogger.info("start-onboarding: response received", {
|
|
205
205
|
status: response == null ? void 0 : response.status,
|
|
206
206
|
durationMs
|
|
207
207
|
});
|
|
@@ -210,7 +210,7 @@ var NonCustodialSigner = class {
|
|
|
210
210
|
return;
|
|
211
211
|
}
|
|
212
212
|
if ((response == null ? void 0 : response.status) === "error") {
|
|
213
|
-
|
|
213
|
+
_chunkBBUEX3DGcjs.walletsLogger.error("start-onboarding: failed", { error: response.error });
|
|
214
214
|
(_c = this._authPromise) == null ? void 0 : _c.reject(new Error(response.error || "Failed to initiate OTP process."));
|
|
215
215
|
}
|
|
216
216
|
});
|
|
@@ -222,12 +222,12 @@ var NonCustodialSigner = class {
|
|
|
222
222
|
return `phone:${this.config.phone}`;
|
|
223
223
|
}
|
|
224
224
|
verifyOtp(encryptedOtp) {
|
|
225
|
-
return
|
|
225
|
+
return _chunkW4VYO3P6cjs.__async.call(void 0, this, null, function* () {
|
|
226
226
|
var _a, _b, _c, _d, _e;
|
|
227
227
|
let response;
|
|
228
228
|
try {
|
|
229
229
|
const handshakeParent = yield this.getTEEConnection();
|
|
230
|
-
|
|
230
|
+
_chunkBBUEX3DGcjs.walletsLogger.info("complete-onboarding: sending request");
|
|
231
231
|
const startTime = Date.now();
|
|
232
232
|
response = yield handshakeParent.sendAction({
|
|
233
233
|
event: "request:complete-onboarding",
|
|
@@ -243,12 +243,12 @@ var NonCustodialSigner = class {
|
|
|
243
243
|
},
|
|
244
244
|
options: DEFAULT_EVENT_OPTIONS
|
|
245
245
|
});
|
|
246
|
-
|
|
246
|
+
_chunkBBUEX3DGcjs.walletsLogger.info("complete-onboarding: response received", {
|
|
247
247
|
status: response == null ? void 0 : response.status,
|
|
248
248
|
durationMs: Date.now() - startTime
|
|
249
249
|
});
|
|
250
250
|
} catch (err) {
|
|
251
|
-
|
|
251
|
+
_chunkBBUEX3DGcjs.walletsLogger.error("complete-onboarding: error", { error: err });
|
|
252
252
|
this._needsAuth = true;
|
|
253
253
|
(_c = this._authPromise) == null ? void 0 : _c.reject(err);
|
|
254
254
|
throw err;
|
|
@@ -262,14 +262,14 @@ var NonCustodialSigner = class {
|
|
|
262
262
|
(otp) => this.verifyOtp(otp),
|
|
263
263
|
() => {
|
|
264
264
|
var _a2;
|
|
265
|
-
return (_a2 = this._authPromise) == null ? void 0 : _a2.reject(new (0,
|
|
265
|
+
return (_a2 = this._authPromise) == null ? void 0 : _a2.reject(new (0, _chunkI2O3XXRZcjs.AuthRejectedError)());
|
|
266
266
|
}
|
|
267
267
|
);
|
|
268
268
|
}
|
|
269
269
|
(_d = this._authPromise) == null ? void 0 : _d.resolve();
|
|
270
270
|
return;
|
|
271
271
|
}
|
|
272
|
-
|
|
272
|
+
_chunkBBUEX3DGcjs.walletsLogger.error("complete-onboarding: OTP validation failed", { status: response == null ? void 0 : response.status });
|
|
273
273
|
this._needsAuth = true;
|
|
274
274
|
const errorMessage = (response == null ? void 0 : response.status) === "error" ? response.error : "Failed to validate encrypted OTP";
|
|
275
275
|
const error = new Error(errorMessage);
|
|
@@ -282,7 +282,7 @@ var NonCustodialSigner = class {
|
|
|
282
282
|
* @throws {Error} If signer is not authenticated
|
|
283
283
|
*/
|
|
284
284
|
_exportPrivateKey(exportTEEConnection) {
|
|
285
|
-
return
|
|
285
|
+
return _chunkW4VYO3P6cjs.__async.call(void 0, this, null, function* () {
|
|
286
286
|
yield this.handleAuthRequired();
|
|
287
287
|
const jwt = this.getJwtOrThrow();
|
|
288
288
|
const { scheme, encoding } = this.getChainKeyParams();
|
|
@@ -307,9 +307,9 @@ var NonCustodialSigner = class {
|
|
|
307
307
|
});
|
|
308
308
|
}
|
|
309
309
|
};
|
|
310
|
-
|
|
310
|
+
_chunkW4VYO3P6cjs.__decorateClass.call(void 0, [
|
|
311
311
|
_commonsdkbase.WithLoggerContext.call(void 0, {
|
|
312
|
-
logger:
|
|
312
|
+
logger: _chunkBBUEX3DGcjs.walletsLogger,
|
|
313
313
|
methodName: "handleAuthRequired"
|
|
314
314
|
})
|
|
315
315
|
], NonCustodialSigner.prototype, "handleAuthRequired", 1);
|
|
@@ -321,3 +321,4 @@ var DEFAULT_EVENT_OPTIONS = {
|
|
|
321
321
|
|
|
322
322
|
|
|
323
323
|
exports.NonCustodialSigner = NonCustodialSigner; exports.DEFAULT_EVENT_OPTIONS = DEFAULT_EVENT_OPTIONS;
|
|
324
|
+
//# sourceMappingURL=chunk-IZYJJUOE.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/signers/non-custodial/ncs-signer.ts"],"names":["_a"],"mappings":"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","sourcesContent":["import type {\n BaseSignResult,\n EmailInternalSignerConfig,\n ExportSignerTEEConnection,\n PhoneInternalSignerConfig,\n Signer,\n} from \"../types\";\nimport { AuthRejectedError } from \"../types\";\nimport { NcsIframeManager } from \"./ncs-iframe-manager\";\nimport { validateAPIKey, WithLoggerContext } from \"@crossmint/common-sdk-base\";\nimport type { SignerOutputEvent } from \"@crossmint/client-signers\";\nimport { walletsLogger } from \"../../logger\";\n\nexport abstract class NonCustodialSigner implements Signer {\n public readonly type: \"email\" | \"phone\";\n private _needsAuth = true;\n private _authPromise: {\n promise: Promise<void>;\n resolve: () => void;\n reject: (error: Error) => void;\n } | null = null;\n private _initializationPromise: Promise<void> | null = null;\n\n constructor(protected config: EmailInternalSignerConfig | PhoneInternalSignerConfig) {\n // Only initialize the signer if running client-side\n if (typeof window !== \"undefined\") {\n this.initialize();\n }\n this.type = this.config.type;\n }\n\n locator() {\n return this.config.locator;\n }\n\n address() {\n return this.config.address;\n }\n\n abstract signMessage(message: string): Promise<BaseSignResult>;\n\n private async initialize() {\n // Initialize iframe if no custom handshake parent is provided\n if (this.config.clientTEEConnection == null) {\n const parsedAPIKey = validateAPIKey(this.config.crossmint.apiKey);\n if (!parsedAPIKey.isValid) {\n throw new Error(\"Invalid API key\");\n }\n const iframeManager = new NcsIframeManager({\n environment: parsedAPIKey.environment,\n });\n this.config.clientTEEConnection = await iframeManager.initialize();\n }\n }\n\n abstract signTransaction(transaction: string): Promise<{ signature: string }>;\n\n private async getTEEConnection() {\n if (this.config.clientTEEConnection == null) {\n // If there's already an initialization in progress, wait for it\n if (this._initializationPromise) {\n await this._initializationPromise;\n return this.config.clientTEEConnection!;\n }\n\n // Start initialization and store the promise to prevent concurrent initializations\n this._initializationPromise = this.initializeTEEConnection();\n\n try {\n await this._initializationPromise;\n } finally {\n // Clear the promise after completion (success or failure)\n this._initializationPromise = null;\n }\n }\n\n return this.config.clientTEEConnection!;\n }\n\n private async initializeTEEConnection(): Promise<void> {\n walletsLogger.info(\"TEE connection not initialized, initializing now\");\n\n const parsedAPIKey = validateAPIKey(this.config.crossmint.apiKey);\n if (!parsedAPIKey.isValid) {\n throw new Error(\"Invalid API key\");\n }\n const iframeManager = new NcsIframeManager({\n environment: parsedAPIKey.environment,\n });\n this.config.clientTEEConnection = await iframeManager.initialize();\n\n if (this.config.clientTEEConnection == null) {\n throw new Error(\"Failed to initialize TEE connection\");\n }\n\n walletsLogger.info(\"TEE connection initialized successfully\");\n }\n\n @WithLoggerContext({\n logger: walletsLogger,\n methodName: \"handleAuthRequired\",\n })\n protected async handleAuthRequired() {\n const clientTEEConnection = await this.getTEEConnection();\n\n if (this.config.onAuthRequired == null) {\n throw new Error(\n `${this.type} signer requires the onAuthRequired callback to handle OTP verification. ` +\n `This callback manages the authentication flow (sending OTP and verifying user input). ` +\n `If using our React/React Native SDK, this is handled automatically by the provider. ` +\n `For other environments, implement: onAuthRequired: (needsAuth, sendEmailWithOtp, verifyOtp, reject) => { /* your UI logic */ }`\n );\n }\n\n // Determine if we need to authenticate the user via OTP or not\n walletsLogger.info(\"get-status: sending request\");\n const startTime = Date.now();\n const signerResponse = await clientTEEConnection.sendAction({\n event: \"request:get-status\",\n responseEvent: \"response:get-status\",\n data: {\n authData: {\n jwt: this.config.crossmint.experimental_customAuth?.jwt ?? \"\",\n apiKey: this.config.crossmint.apiKey,\n },\n },\n options: DEFAULT_EVENT_OPTIONS,\n });\n const durationMs = Date.now() - startTime;\n\n if (signerResponse?.status !== \"success\") {\n walletsLogger.error(\"get-status: failed\", {\n status: signerResponse?.status,\n error: signerResponse?.error,\n durationMs,\n });\n throw new Error(signerResponse?.error);\n }\n\n walletsLogger.info(\"get-status: response received\", {\n signerStatus: signerResponse.signerStatus,\n durationMs,\n });\n\n if (signerResponse.signerStatus === \"ready\") {\n this._needsAuth = false;\n return;\n } else {\n this._needsAuth = true;\n }\n\n walletsLogger.info(\"Auth required, initiating OTP flow\", { needsAuth: this._needsAuth });\n\n const { promise, resolve, reject } = this.createAuthPromise();\n this._authPromise = { promise, resolve, reject };\n\n if (this.config.onAuthRequired) {\n try {\n await this.config.onAuthRequired(\n this._needsAuth,\n () => this.sendMessageWithOtp(),\n (otp) => this.verifyOtp(otp),\n async () => {\n walletsLogger.info(\"Auth rejected\", { authRejected: true });\n this._needsAuth = false;\n // We call onAuthRequired again so the needsAuth state is updated for the dev\n if (this.config.onAuthRequired != null) {\n await this.config.onAuthRequired(\n this._needsAuth,\n () => this.sendMessageWithOtp(),\n (otp) => this.verifyOtp(otp),\n () => this._authPromise?.reject(new AuthRejectedError())\n );\n }\n reject(new AuthRejectedError());\n }\n );\n } catch (error) {\n walletsLogger.error(\"handleAuthRequired error\", { error });\n reject(error as Error);\n }\n }\n\n try {\n await promise;\n } catch (error) {\n walletsLogger.error(\"handleAuthRequired promise error\", { error });\n throw error;\n }\n }\n\n public async ensureAuthenticated(): Promise<void> {\n await this.handleAuthRequired();\n }\n\n protected getJwtOrThrow() {\n const jwt = this.config.crossmint.experimental_customAuth?.jwt;\n if (jwt == null) {\n throw new Error(\"JWT is required\");\n }\n return jwt;\n }\n\n private createAuthPromise(): {\n promise: Promise<void>;\n resolve: () => void;\n reject: (error: Error) => void;\n } {\n let resolvePromise!: () => void;\n let rejectPromise!: (error: Error) => void;\n\n const promise = new Promise<void>((resolve, reject) => {\n resolvePromise = resolve;\n rejectPromise = reject;\n });\n\n return { promise, resolve: resolvePromise, reject: rejectPromise };\n }\n\n private async sendMessageWithOtp() {\n const handshakeParent = await this.getTEEConnection();\n const authId = this.getAuthId();\n walletsLogger.info(\"start-onboarding: sending request\");\n const startTime = Date.now();\n const response = await handshakeParent.sendAction({\n event: \"request:start-onboarding\",\n responseEvent: \"response:start-onboarding\",\n data: {\n authData: {\n jwt: this.config.crossmint.experimental_customAuth?.jwt ?? \"\",\n apiKey: this.config.crossmint.apiKey,\n },\n data: { authId },\n },\n options: DEFAULT_EVENT_OPTIONS,\n });\n const durationMs = Date.now() - startTime;\n walletsLogger.info(\"start-onboarding: response received\", {\n status: response?.status,\n durationMs,\n });\n\n if (response?.status === \"success\" && response.signerStatus === \"ready\") {\n this._needsAuth = false;\n return;\n }\n\n if (response?.status === \"error\") {\n walletsLogger.error(\"start-onboarding: failed\", { error: response.error });\n this._authPromise?.reject(new Error(response.error || \"Failed to initiate OTP process.\"));\n }\n }\n\n private getAuthId() {\n if (this.config.type === \"email\") {\n return `email:${this.config.email}`;\n }\n return `phone:${this.config.phone}`;\n }\n\n private async verifyOtp(encryptedOtp: string) {\n let response: SignerOutputEvent<\"complete-onboarding\">;\n try {\n const handshakeParent = await this.getTEEConnection();\n walletsLogger.info(\"complete-onboarding: sending request\");\n const startTime = Date.now();\n response = await handshakeParent.sendAction({\n event: \"request:complete-onboarding\",\n responseEvent: \"response:complete-onboarding\",\n data: {\n authData: {\n jwt: this.config.crossmint.experimental_customAuth?.jwt ?? \"\",\n apiKey: this.config.crossmint.apiKey,\n },\n data: {\n onboardingAuthentication: { encryptedOtp },\n },\n },\n options: DEFAULT_EVENT_OPTIONS,\n });\n walletsLogger.info(\"complete-onboarding: response received\", {\n status: response?.status,\n durationMs: Date.now() - startTime,\n });\n } catch (err) {\n walletsLogger.error(\"complete-onboarding: error\", { error: err });\n this._needsAuth = true;\n this._authPromise?.reject(err as Error);\n throw err;\n }\n\n if (response?.status === \"success\") {\n this._needsAuth = false;\n // We call onAuthRequired again so the needsAuth state is updated for the dev\n if (this.config.onAuthRequired != null) {\n await this.config.onAuthRequired(\n this._needsAuth,\n () => this.sendMessageWithOtp(),\n (otp) => this.verifyOtp(otp),\n () => this._authPromise?.reject(new AuthRejectedError())\n );\n }\n this._authPromise?.resolve();\n return;\n }\n\n walletsLogger.error(\"complete-onboarding: OTP validation failed\", { status: response?.status });\n this._needsAuth = true;\n const errorMessage = response?.status === \"error\" ? response.error : \"Failed to validate encrypted OTP\";\n const error = new Error(errorMessage);\n this._authPromise?.reject(error);\n throw error;\n }\n\n /**\n * Export the private key for this signer\n * @throws {Error} If signer is not authenticated\n */\n async _exportPrivateKey(exportTEEConnection: ExportSignerTEEConnection): Promise<void> {\n await this.handleAuthRequired();\n const jwt = this.getJwtOrThrow();\n\n const { scheme, encoding } = this.getChainKeyParams();\n\n const response = await exportTEEConnection.sendAction({\n event: \"request:export-signer\",\n responseEvent: \"response:export-signer\",\n data: {\n authData: {\n jwt,\n apiKey: this.config.crossmint.apiKey,\n },\n data: {\n scheme,\n encoding,\n },\n },\n options: DEFAULT_EVENT_OPTIONS,\n });\n\n if (response?.status === \"error\") {\n throw new Error(response.error || \"Failed to export private key\");\n }\n }\n\n /**\n * Get the appropriate scheme and encoding based on the chain\n * Must be implemented by concrete classes\n */\n protected abstract getChainKeyParams(): {\n scheme: \"secp256k1\" | \"ed25519\";\n encoding: \"base58\" | \"hex\" | \"strkey\";\n };\n}\n\nexport const DEFAULT_EVENT_OPTIONS = {\n timeoutMs: 30_000,\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/chains/definitions/arcTestnet.ts"],"names":[],"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","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"]}
|