@swapkit/wallet-hardware 6.1.1 → 6.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/THIRD_PARTY_LICENSES.md +4 -4
- package/dist/{chunk-jzrytcrf.js → chunk-0k1b2ddn.js} +3 -3
- package/dist/{chunk-jzrytcrf.js.map → chunk-0k1b2ddn.js.map} +2 -2
- package/dist/{chunk-jewm2ag3.js → chunk-2tzsz8f3.js} +4 -4
- package/dist/{chunk-jewm2ag3.js.map → chunk-2tzsz8f3.js.map} +1 -1
- package/dist/{chunk-yrxe491r.js → chunk-410fpx61.js} +4 -4
- package/dist/{chunk-yrxe491r.js.map → chunk-410fpx61.js.map} +1 -1
- package/dist/chunk-8mkdjmw2.js +4 -0
- package/dist/chunk-8mkdjmw2.js.map +10 -0
- package/dist/{chunk-xmvg4cds.js → chunk-96p7njae.js} +3 -3
- package/dist/{chunk-xmvg4cds.js.map → chunk-96p7njae.js.map} +2 -2
- package/dist/chunk-97nsp4z6.js +5 -0
- package/dist/chunk-97nsp4z6.js.map +10 -0
- package/dist/{chunk-nhva847d.js → chunk-9a9gn4pb.js} +3 -3
- package/dist/{chunk-5p3ttw6y.js.map → chunk-9a9gn4pb.js.map} +1 -1
- package/dist/chunk-a39rm9nv.js +4 -0
- package/dist/{chunk-gr3eswf1.js.map → chunk-a39rm9nv.js.map} +5 -5
- package/dist/chunk-c8mwf9cn.js +4 -0
- package/dist/{chunk-k3thje6a.js.map → chunk-c8mwf9cn.js.map} +1 -1
- package/dist/{chunk-ds2m83jp.js → chunk-dhhmywmb.js} +4 -4
- package/dist/{chunk-ds2m83jp.js.map → chunk-dhhmywmb.js.map} +1 -1
- package/dist/{chunk-eenx3cv6.js → chunk-dsa641rq.js} +3 -3
- package/dist/{chunk-eenx3cv6.js.map → chunk-dsa641rq.js.map} +2 -2
- package/dist/{chunk-0arpsm5f.js → chunk-grj9nvte.js} +3 -3
- package/dist/{chunk-0arpsm5f.js.map → chunk-grj9nvte.js.map} +1 -1
- package/dist/{chunk-hg71hp4m.js → chunk-napm4102.js} +3 -3
- package/dist/{chunk-hg71hp4m.js.map → chunk-napm4102.js.map} +1 -1
- package/dist/{chunk-k3thje6a.js → chunk-nb08g045.js} +3 -3
- package/dist/{chunk-nhva847d.js.map → chunk-nb08g045.js.map} +1 -1
- package/dist/chunk-npe2r2ge.js +4 -0
- package/dist/{chunk-xx7cwpzq.js.map → chunk-npe2r2ge.js.map} +1 -1
- package/dist/chunk-p9mwkgye.js +4 -0
- package/dist/{chunk-09e51wma.js.map → chunk-p9mwkgye.js.map} +14 -12
- package/dist/{chunk-wfbg89d3.js → chunk-qjp8j8e5.js} +3 -3
- package/dist/{chunk-wfbg89d3.js.map → chunk-qjp8j8e5.js.map} +1 -1
- package/dist/{chunk-xn0fnag5.js → chunk-r1fk1sx9.js} +3 -3
- package/dist/{chunk-xn0fnag5.js.map → chunk-r1fk1sx9.js.map} +1 -1
- package/dist/{chunk-1amf58aq.js → chunk-ta7bqmy3.js} +3 -3
- package/dist/{chunk-1amf58aq.js.map → chunk-ta7bqmy3.js.map} +1 -1
- package/dist/{chunk-3t17wpjg.js → chunk-tgvgr630.js} +3 -3
- package/dist/{chunk-3t17wpjg.js.map → chunk-tgvgr630.js.map} +2 -2
- package/dist/chunk-v8x9ptxs.js +4 -0
- package/dist/chunk-v8x9ptxs.js.map +10 -0
- package/dist/{chunk-dptbnkzm.js → chunk-wm89desc.js} +20 -20
- package/dist/{chunk-dptbnkzm.js.map → chunk-wm89desc.js.map} +12 -10
- package/dist/{chunk-5c7b7z2d.js → chunk-wtyhjt5e.js} +3 -3
- package/dist/{chunk-5c7b7z2d.js.map → chunk-wtyhjt5e.js.map} +1 -1
- package/dist/{chunk-tm47brht.js → chunk-xskdbz15.js} +3 -3
- package/dist/{chunk-tm47brht.js.map → chunk-xskdbz15.js.map} +2 -2
- package/dist/{chunk-8m2sn76p.js → chunk-ytjqb1sd.js} +3 -3
- package/dist/{chunk-8m2sn76p.js.map → chunk-ytjqb1sd.js.map} +1 -1
- package/dist/{chunk-3h1f3hyp.js → chunk-zbesf7sy.js} +3 -3
- package/dist/{chunk-3h1f3hyp.js.map → chunk-zbesf7sy.js.map} +1 -1
- package/dist/keepkey/index.cjs +2 -2
- package/dist/keepkey/index.cjs.map +3 -3
- package/dist/keepkey/index.js +2 -2
- package/dist/keepkey/index.js.map +3 -3
- package/dist/ledger/index.cjs +30 -30
- package/dist/ledger/index.cjs.map +35 -27
- package/dist/ledger/index.js +2 -2
- package/dist/ledger/index.js.map +11 -8
- package/dist/trezor/index.cjs +2 -2
- package/dist/trezor/index.cjs.map +7 -5
- package/dist/trezor/index.js +2 -2
- package/dist/trezor/index.js.map +3 -3
- package/dist/types/helpers/cardano.d.ts +35 -0
- package/dist/types/helpers/cardano.d.ts.map +1 -0
- package/dist/types/keepkey/index.d.ts +1 -0
- package/dist/types/keepkey/index.d.ts.map +1 -1
- package/dist/types/ledger/clients/cardano.d.ts +24 -0
- package/dist/types/ledger/clients/cardano.d.ts.map +1 -0
- package/dist/types/ledger/clients/evm.d.ts +1 -0
- package/dist/types/ledger/clients/evm.d.ts.map +1 -1
- package/dist/types/ledger/clients/stellar.d.ts +13 -0
- package/dist/types/ledger/clients/stellar.d.ts.map +1 -0
- package/dist/types/ledger/clients/ton.d.ts +13 -0
- package/dist/types/ledger/clients/ton.d.ts.map +1 -0
- package/dist/types/ledger/clients/zcash.d.ts.map +1 -1
- package/dist/types/ledger/helpers/getLedgerAddress.d.ts.map +1 -1
- package/dist/types/ledger/helpers/getLedgerClient.d.ts +8 -1
- package/dist/types/ledger/helpers/getLedgerClient.d.ts.map +1 -1
- package/dist/types/ledger/index.d.ts +3 -2
- package/dist/types/ledger/index.d.ts.map +1 -1
- package/dist/types/ledger/types.d.ts +2 -2
- package/dist/types/ledger/types.d.ts.map +1 -1
- package/dist/types/trezor/cardanoSigner.d.ts.map +1 -1
- package/dist/types/trezor/hypercoreSigner.d.ts +22 -0
- package/dist/types/trezor/hypercoreSigner.d.ts.map +1 -0
- package/dist/types/trezor/index.d.ts +3 -2
- package/dist/types/trezor/index.d.ts.map +1 -1
- package/dist/types/trezor/stellarSigner.d.ts +1 -1
- package/package.json +25 -13
- package/src/helpers/cardano.ts +112 -0
- package/src/keepkey/index.ts +14 -14
- package/src/ledger/clients/cardano.ts +204 -0
- package/src/ledger/clients/evm.ts +4 -0
- package/src/ledger/clients/stellar.ts +83 -0
- package/src/ledger/clients/ton.ts +282 -0
- package/src/ledger/clients/zcash.ts +16 -6
- package/src/ledger/helpers/getLedgerAddress.ts +16 -0
- package/src/ledger/helpers/getLedgerClient.ts +13 -0
- package/src/ledger/index.ts +102 -30
- package/src/ledger/types.ts +2 -0
- package/src/trezor/cardanoSigner.ts +24 -80
- package/src/trezor/hypercoreSigner.ts +96 -0
- package/src/trezor/index.ts +153 -75
- package/dist/chunk-09e51wma.js +0 -4
- package/dist/chunk-5p3ttw6y.js +0 -4
- package/dist/chunk-gr3eswf1.js +0 -4
- package/dist/chunk-qjq7gvyx.js +0 -4
- package/dist/chunk-qjq7gvyx.js.map +0 -10
- package/dist/chunk-xx7cwpzq.js +0 -4
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{ce as O}from"./chunk-9a9gn4pb.js";import{Chain as L,derivationPathToString as U,SwapKitError as M}from"@swapkit/helpers";function Q(F){return new M({errorKey:"wallet_trezor_method_not_supported",info:{chain:L.Hype,reason:F}})}async function V(F,J,I){let{TypedDataEncoder:x}=await import("ethers"),{EIP712Domain:N,...j}=J;try{let G=x.getPayload(F,j,I);return{domain:F,message:I,primaryType:G.primaryType,types:{EIP712Domain:G.types.EIP712Domain,...j}}}catch(G){throw Q(`Invalid HyperCore typed data: ${G.message}`)}}function Y({address:F,derivationPath:J}){let I=U(J),x=F??"";return{getAddress:async()=>{if(x)return x;let j=await(await import("@trezor/connect-web")).default.ethereumGetAddress({path:I,showOnTrezor:!0});if(!j.success)throw new M({errorKey:"wallet_trezor_failed_to_get_address",info:{chain:L.Hype,derivationPath:J,error:j.payload.error}});return x=j.payload.address,x},signTransaction:()=>Promise.reject(Q("HyperCore actions are signed with signTypedData")),signTypedData:async(N,j,G)=>{let R=await V(N,j,G),B=await(await import("@trezor/connect-web")).default.ethereumSignTypedData({data:R,metamask_v4_compat:!0,path:I});if(!B.success)throw new M({errorKey:"wallet_trezor_failed_to_sign_transaction",info:{chain:L.Hype,error:B.payload.error}});if(B.payload.address.toLowerCase()!==x.toLowerCase())throw new M({errorKey:"wallet_trezor_failed_to_sign_transaction",info:{chain:L.Hype,error:"Trezor signed with a different address",signer:B.payload.address}});return B.payload.signature.startsWith("0x")?B.payload.signature:`0x${B.payload.signature}`}}}export{V as toTrezorHyperCoreTypedData,Y as getHyperCoreSigner};
|
|
2
|
+
|
|
3
|
+
//# debugId=20C61BCB4EA8A54D64756E2164756E21
|
|
4
|
+
//# sourceMappingURL=chunk-8mkdjmw2.js.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/trezor/hypercoreSigner.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"import { Chain, type DerivationPathArray, derivationPathToString, SwapKitError } from \"@swapkit/helpers\";\nimport type { TypedDataDomain, TypedDataField } from \"ethers\";\n\ntype TypedDataTypes = Record<string, TypedDataField[]>;\ntype TypedDataValue = Record<string, unknown>;\n\nfunction notSupported(reason: string) {\n return new SwapKitError({ errorKey: \"wallet_trezor_method_not_supported\", info: { chain: Chain.Hype, reason } });\n}\n\nexport async function toTrezorHyperCoreTypedData(\n domain: TypedDataDomain,\n types: TypedDataTypes,\n message: TypedDataValue,\n) {\n const { TypedDataEncoder } = await import(\"ethers\");\n const { EIP712Domain: _, ...structTypes } = types;\n\n try {\n // ethers checks the domain, the type graph and every value; the device still gets the caller's own data\n const payload: { primaryType: string; types: TypedDataTypes } = TypedDataEncoder.getPayload(\n domain,\n structTypes,\n message,\n );\n return {\n domain,\n message,\n primaryType: payload.primaryType,\n types: { EIP712Domain: payload.types.EIP712Domain, ...structTypes },\n };\n } catch (error) {\n throw notSupported(`Invalid HyperCore typed data: ${(error as Error).message}`);\n }\n}\n\nexport function getHyperCoreSigner({\n address: knownAddress,\n derivationPath,\n}: {\n address?: string;\n derivationPath: DerivationPathArray;\n}) {\n const path = derivationPathToString(derivationPath);\n let address = knownAddress ?? \"\";\n\n return {\n getAddress: async () => {\n if (address) return address;\n\n const TrezorConnect = (await import(\"@trezor/connect-web\")).default;\n const result = await TrezorConnect.ethereumGetAddress({ path, showOnTrezor: true });\n\n if (!result.success) {\n throw new SwapKitError({\n errorKey: \"wallet_trezor_failed_to_get_address\",\n info: { chain: Chain.Hype, derivationPath, error: result.payload.error },\n });\n }\n\n address = result.payload.address;\n return address;\n },\n\n // HyperCore has no transactions: every action goes through signTypedData\n signTransaction: () => Promise.reject(notSupported(\"HyperCore actions are signed with signTypedData\")),\n\n signTypedData: async (domain: TypedDataDomain, types: TypedDataTypes, message: TypedDataValue) => {\n const data = await toTrezorHyperCoreTypedData(domain, types, message);\n const TrezorConnect = (await import(\"@trezor/connect-web\")).default;\n\n const result = await TrezorConnect.ethereumSignTypedData({\n data: data as Parameters<typeof TrezorConnect.ethereumSignTypedData>[0][\"data\"],\n metamask_v4_compat: true,\n path,\n });\n\n if (!result.success) {\n throw new SwapKitError({\n errorKey: \"wallet_trezor_failed_to_sign_transaction\",\n info: { chain: Chain.Hype, error: result.payload.error },\n });\n }\n\n // Hyperliquid takes the account from the signature, so a stale known address would act from another account\n if (result.payload.address.toLowerCase() !== address.toLowerCase()) {\n throw new SwapKitError({\n errorKey: \"wallet_trezor_failed_to_sign_transaction\",\n info: { chain: Chain.Hype, error: \"Trezor signed with a different address\", signer: result.payload.address },\n });\n }\n\n return result.payload.signature.startsWith(\"0x\") ? result.payload.signature : `0x${result.payload.signature}`;\n },\n };\n}\n"
|
|
6
|
+
],
|
|
7
|
+
"mappings": "yCAAA,gBAAS,4BAAiC,kBAAwB,yBAMlE,SAAS,CAAY,CAAC,EAAgB,CACpC,OAAO,IAAI,EAAa,CAAE,SAAU,qCAAsC,KAAM,CAAE,MAAO,EAAM,KAAM,QAAO,CAAE,CAAC,EAGjH,eAAsB,CAA0B,CAC9C,EACA,EACA,EACA,CACA,IAAQ,oBAAqB,KAAa,mBAClC,aAAc,KAAM,GAAgB,EAE5C,GAAI,CAEF,IAAM,EAA0D,EAAiB,WAC/E,EACA,EACA,CACF,EACA,MAAO,CACL,SACA,UACA,YAAa,EAAQ,YACrB,MAAO,CAAE,aAAc,EAAQ,MAAM,gBAAiB,CAAY,CACpE,EACA,MAAO,EAAO,CACd,MAAM,EAAa,iCAAkC,EAAgB,SAAS,GAI3E,SAAS,CAAkB,EAChC,QAAS,EACT,kBAIC,CACD,IAAM,EAAO,EAAuB,CAAc,EAC9C,EAAU,GAAgB,GAE9B,MAAO,CACL,WAAY,SAAY,CACtB,GAAI,EAAS,OAAO,EAGpB,IAAM,EAAS,MADQ,KAAa,gCAAwB,QACzB,mBAAmB,CAAE,OAAM,aAAc,EAAK,CAAC,EAElF,GAAI,CAAC,EAAO,QACV,MAAM,IAAI,EAAa,CACrB,SAAU,sCACV,KAAM,CAAE,MAAO,EAAM,KAAM,iBAAgB,MAAO,EAAO,QAAQ,KAAM,CACzE,CAAC,EAIH,OADA,EAAU,EAAO,QAAQ,QAClB,GAIT,gBAAiB,IAAM,QAAQ,OAAO,EAAa,iDAAiD,CAAC,EAErG,cAAe,MAAO,EAAyB,EAAuB,IAA4B,CAChG,IAAM,EAAO,MAAM,EAA2B,EAAQ,EAAO,CAAO,EAG9D,EAAS,MAFQ,KAAa,gCAAwB,QAEzB,sBAAsB,CACvD,KAAM,EACN,mBAAoB,GACpB,MACF,CAAC,EAED,GAAI,CAAC,EAAO,QACV,MAAM,IAAI,EAAa,CACrB,SAAU,2CACV,KAAM,CAAE,MAAO,EAAM,KAAM,MAAO,EAAO,QAAQ,KAAM,CACzD,CAAC,EAIH,GAAI,EAAO,QAAQ,QAAQ,YAAY,IAAM,EAAQ,YAAY,EAC/D,MAAM,IAAI,EAAa,CACrB,SAAU,2CACV,KAAM,CAAE,MAAO,EAAM,KAAM,MAAO,yCAA0C,OAAQ,EAAO,QAAQ,OAAQ,CAC7G,CAAC,EAGH,OAAO,EAAO,QAAQ,UAAU,WAAW,IAAI,EAAI,EAAO,QAAQ,UAAY,KAAK,EAAO,QAAQ,YAEtG",
|
|
8
|
+
"debugId": "20C61BCB4EA8A54D64756E2164756E21",
|
|
9
|
+
"names": []
|
|
10
|
+
}
|