@swapkit/wallet-hardware 5.0.0 → 6.0.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 +2344 -0
- package/dist/chunk-09e51wma.js +4 -0
- package/dist/chunk-09e51wma.js.map +167 -0
- package/dist/chunk-0arpsm5f.js +4 -0
- package/dist/chunk-0arpsm5f.js.map +10 -0
- package/dist/chunk-1amf58aq.js +4 -0
- package/dist/{chunk-vwv6z2mk.js.map → chunk-1amf58aq.js.map} +2 -2
- package/dist/chunk-3t17wpjg.js +17 -0
- package/dist/chunk-3t17wpjg.js.map +29 -0
- package/dist/chunk-5c7b7z2d.js +4 -0
- package/dist/{chunk-9gy0xve4.js.map → chunk-5c7b7z2d.js.map} +2 -2
- package/dist/chunk-5p3ttw6y.js +4 -0
- package/dist/{chunk-n05bv2n5.js.map → chunk-5p3ttw6y.js.map} +1 -1
- package/dist/chunk-dptbnkzm.js +64 -0
- package/dist/chunk-dptbnkzm.js.map +260 -0
- package/dist/chunk-ds2m83jp.js +5 -0
- package/dist/chunk-ds2m83jp.js.map +11 -0
- package/dist/chunk-eenx3cv6.js +4 -0
- package/dist/chunk-eenx3cv6.js.map +33 -0
- package/dist/chunk-gr3eswf1.js +4 -0
- package/dist/chunk-gr3eswf1.js.map +73 -0
- package/dist/{chunk-7fsaymh4.js → chunk-hg71hp4m.js} +3 -3
- package/dist/{chunk-7fsaymh4.js.map → chunk-hg71hp4m.js.map} +1 -1
- package/dist/chunk-jewm2ag3.js +5 -0
- package/dist/chunk-jewm2ag3.js.map +10 -0
- package/dist/chunk-jzrytcrf.js +4 -0
- package/dist/chunk-jzrytcrf.js.map +12 -0
- package/dist/chunk-k3thje6a.js +4 -0
- package/dist/chunk-k3thje6a.js.map +9 -0
- package/dist/chunk-nhva847d.js +5 -0
- package/dist/chunk-nhva847d.js.map +9 -0
- package/dist/chunk-tm47brht.js +4 -0
- package/dist/chunk-tm47brht.js.map +140 -0
- package/dist/chunk-xmvg4cds.js +4 -0
- package/dist/chunk-xmvg4cds.js.map +127 -0
- package/dist/chunk-xx7cwpzq.js +4 -0
- package/dist/chunk-xx7cwpzq.js.map +9 -0
- package/dist/chunk-yrxe491r.js +20 -0
- package/dist/chunk-yrxe491r.js.map +17 -0
- package/dist/index.cjs +2 -2
- package/dist/index.cjs.map +1 -1
- package/dist/keepkey/index.cjs +2 -2
- package/dist/keepkey/index.cjs.map +2 -2
- package/dist/keepkey/index.js +2 -2
- package/dist/keepkey/index.js.map +2 -2
- package/dist/ledger/index.cjs +90 -2
- package/dist/ledger/index.cjs.map +830 -23
- package/dist/ledger/index.js +2 -2
- package/dist/ledger/index.js.map +21 -19
- package/dist/trezor/index.cjs +2 -2
- package/dist/trezor/index.cjs.map +5 -4
- package/dist/trezor/index.js +2 -2
- package/dist/trezor/index.js.map +3 -3
- package/dist/types/helpers/psbt.d.ts +9 -0
- package/dist/types/helpers/psbt.d.ts.map +1 -0
- package/dist/types/ledger/clients/bitcoin.d.ts +36 -0
- package/dist/types/ledger/clients/bitcoin.d.ts.map +1 -0
- package/dist/types/ledger/clients/cosmos.d.ts +38 -10
- package/dist/types/ledger/clients/cosmos.d.ts.map +1 -1
- package/dist/types/ledger/clients/evm.d.ts +37 -46
- package/dist/types/ledger/clients/evm.d.ts.map +1 -1
- package/dist/types/ledger/clients/near.d.ts +5 -2
- package/dist/types/ledger/clients/near.d.ts.map +1 -1
- package/dist/types/ledger/clients/sui.d.ts +8 -12
- package/dist/types/ledger/clients/sui.d.ts.map +1 -1
- package/dist/types/ledger/clients/thorchain/index.d.ts +34 -8
- package/dist/types/ledger/clients/thorchain/index.d.ts.map +1 -1
- package/dist/types/ledger/clients/thorchain/protocol.d.ts +58 -0
- package/dist/types/ledger/clients/thorchain/protocol.d.ts.map +1 -0
- package/dist/types/ledger/clients/tron.d.ts +11 -8
- package/dist/types/ledger/clients/tron.d.ts.map +1 -1
- package/dist/types/ledger/clients/utxo-legacy-adapter.d.ts +3 -2
- package/dist/types/ledger/clients/utxo-legacy-adapter.d.ts.map +1 -1
- package/dist/types/ledger/clients/utxo-legacy-outputs.d.ts +18 -0
- package/dist/types/ledger/clients/utxo-legacy-outputs.d.ts.map +1 -0
- package/dist/types/ledger/clients/utxo.d.ts +10 -13
- package/dist/types/ledger/clients/utxo.d.ts.map +1 -1
- package/dist/types/ledger/clients/xrp.d.ts +4 -1
- package/dist/types/ledger/clients/xrp.d.ts.map +1 -1
- package/dist/types/ledger/clients/zcash.d.ts +53 -0
- package/dist/types/ledger/clients/zcash.d.ts.map +1 -0
- package/dist/types/ledger/helpers/dmk.d.ts +24 -0
- package/dist/types/ledger/helpers/dmk.d.ts.map +1 -0
- package/dist/types/ledger/helpers/executeDeviceAction.d.ts +34 -0
- package/dist/types/ledger/helpers/executeDeviceAction.d.ts.map +1 -0
- package/dist/types/ledger/helpers/getLedgerAddress.d.ts +1 -1
- package/dist/types/ledger/helpers/getLedgerAddress.d.ts.map +1 -1
- package/dist/types/ledger/helpers/getLedgerClient.d.ts +10 -3
- package/dist/types/ledger/helpers/getLedgerClient.d.ts.map +1 -1
- package/dist/types/ledger/helpers/index.d.ts +2 -1
- package/dist/types/ledger/helpers/index.d.ts.map +1 -1
- package/dist/types/ledger/helpers/ledgerJsDmkBridge.d.ts +26 -0
- package/dist/types/ledger/helpers/ledgerJsDmkBridge.d.ts.map +1 -0
- package/dist/types/ledger/helpers/ledgerJsDmkTransport.d.ts +13 -0
- package/dist/types/ledger/helpers/ledgerJsDmkTransport.d.ts.map +1 -0
- package/dist/types/ledger/helpers/lowS.d.ts +6 -0
- package/dist/types/ledger/helpers/lowS.d.ts.map +1 -0
- package/dist/types/ledger/helpers/rawTx.d.ts +2 -0
- package/dist/types/ledger/helpers/rawTx.d.ts.map +1 -0
- package/dist/types/ledger/index.d.ts +19 -7
- package/dist/types/ledger/index.d.ts.map +1 -1
- package/dist/types/ledger/types.d.ts +6 -10
- package/dist/types/ledger/types.d.ts.map +1 -1
- package/dist/types/trezor/index.d.ts +2 -2
- package/dist/types/trezor/index.d.ts.map +1 -1
- package/package.json +36 -36
- package/src/helpers/psbt.ts +26 -0
- package/src/ledger/clients/bitcoin.ts +575 -0
- package/src/ledger/clients/cosmos.ts +180 -51
- package/src/ledger/clients/evm.ts +238 -195
- package/src/ledger/clients/near.ts +43 -13
- package/src/ledger/clients/sui.ts +55 -68
- package/src/ledger/clients/thorchain/index.ts +210 -86
- package/src/ledger/clients/thorchain/protocol.ts +166 -0
- package/src/ledger/clients/tron.ts +49 -37
- package/src/ledger/clients/utxo-legacy-adapter.ts +35 -32
- package/src/ledger/clients/utxo-legacy-outputs.ts +122 -0
- package/src/ledger/clients/utxo.ts +108 -206
- package/src/ledger/clients/xrp.ts +39 -23
- package/src/ledger/clients/zcash.ts +440 -0
- package/src/ledger/helpers/dmk.ts +231 -0
- package/src/ledger/helpers/executeDeviceAction.ts +201 -0
- package/src/ledger/helpers/getLedgerClient.ts +101 -72
- package/src/ledger/helpers/index.ts +6 -1
- package/src/ledger/helpers/ledgerJsDmkBridge.ts +109 -0
- package/src/ledger/helpers/ledgerJsDmkTransport.ts +88 -0
- package/src/ledger/helpers/lowS.ts +30 -0
- package/src/ledger/helpers/rawTx.ts +12 -0
- package/src/ledger/index.ts +564 -369
- package/src/ledger/types.ts +15 -10
- package/src/trezor/index.ts +117 -25
- package/dist/chunk-3yr76n9s.js +0 -5
- package/dist/chunk-3yr76n9s.js.map +0 -10
- package/dist/chunk-9gy0xve4.js +0 -4
- package/dist/chunk-bwf31zxr.js +0 -4
- package/dist/chunk-bwf31zxr.js.map +0 -10
- package/dist/chunk-egtwbe6q.js +0 -4
- package/dist/chunk-egtwbe6q.js.map +0 -10
- package/dist/chunk-n05bv2n5.js +0 -5
- package/dist/chunk-vwv6z2mk.js +0 -4
- package/dist/types/ledger/clients/thorchain/common.d.ts +0 -28
- package/dist/types/ledger/clients/thorchain/common.d.ts.map +0 -1
- package/dist/types/ledger/clients/thorchain/helpers.d.ts +0 -7
- package/dist/types/ledger/clients/thorchain/helpers.d.ts.map +0 -1
- package/dist/types/ledger/clients/thorchain/lib.d.ts +0 -22
- package/dist/types/ledger/clients/thorchain/lib.d.ts.map +0 -1
- package/dist/types/ledger/clients/thorchain/utils.d.ts +0 -2
- package/dist/types/ledger/clients/thorchain/utils.d.ts.map +0 -1
- package/dist/types/ledger/clients/utxo-psbt.d.ts +0 -18
- package/dist/types/ledger/clients/utxo-psbt.d.ts.map +0 -1
- package/dist/types/ledger/cosmosTypes.d.ts +0 -40
- package/dist/types/ledger/cosmosTypes.d.ts.map +0 -1
- package/dist/types/ledger/helpers/getLedgerTransport.d.ts +0 -3
- package/dist/types/ledger/helpers/getLedgerTransport.d.ts.map +0 -1
- package/dist/types/ledger/helpers/ledgerNetworkInfo.d.ts +0 -14
- package/dist/types/ledger/helpers/ledgerNetworkInfo.d.ts.map +0 -1
- package/dist/types/ledger/interfaces/CosmosLedgerInterface.d.ts +0 -14
- package/dist/types/ledger/interfaces/CosmosLedgerInterface.d.ts.map +0 -1
- package/src/ledger/clients/thorchain/common.ts +0 -93
- package/src/ledger/clients/thorchain/helpers.ts +0 -120
- package/src/ledger/clients/thorchain/lib.ts +0 -258
- package/src/ledger/clients/thorchain/utils.ts +0 -69
- package/src/ledger/clients/utxo-psbt.ts +0 -172
- package/src/ledger/cosmosTypes.ts +0 -98
- package/src/ledger/helpers/getLedgerTransport.ts +0 -102
- package/src/ledger/helpers/ledgerNetworkInfo.ts +0 -127
- package/src/ledger/interfaces/CosmosLedgerInterface.ts +0 -67
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{$d as M}from"./chunk-nhva847d.js";import{hex as Q}from"@scure/base";import{SwapKitError as K}from"@swapkit/helpers";function $(m){let j=new Map;return function(q){let z=j.get(q);if(z)return z;let D=m(q);return j.set(q,D),D}}async function L(m,j){let{RawTx:B}=await import("@swapkit/utxo-signer"),{getUtxoApi:q}=await import("@swapkit/toolboxes/utxo"),z=q(j),D=$((V)=>z.getRawTx(V));return Promise.all(Array.from({length:m.inputsLength},async(V,G)=>{let f=m.getInput(G);if(!f.txid||f.index===void 0)throw Error(`PSBT input ${G} is missing txid/index`);let J=Q.encode(f.txid),X=f.nonWitnessUtxo?Q.encode(B.encode(f.nonWitnessUtxo)):await D(J);if(!X)throw new K("wallet_ledger_invalid_params",{chain:j,inputIndex:G,reason:"Unable to resolve previous transaction hex for Ledger signing",txid:J});let Y=f.witnessUtxo?{script:f.witnessUtxo.script,value:Number(f.witnessUtxo.amount)}:void 0,Z=f.nonWitnessUtxo?.outputs?.[f.index],F=Y?.value??(Z?Number(Z.amount):0);return{hash:J,index:f.index,txHex:X,value:F,witnessUtxo:Y}}))}async function N({chain:m,inputUtxos:j,legacyClient:B,tx:q}){let z=j??await L(q,m);return B.signTransaction(q,z)}function E({legacyClient:m,chain:j,address:B}){return{getAddress:async()=>B,signTransaction:async(q)=>{let z=await N({chain:j,legacyClient:m,tx:q}),{Transaction:D}=await import("@swapkit/utxo-signer");return D.fromRaw(Q.decode(z),{allowUnknownOutputs:!0})}}}
|
|
2
|
+
export{$ as Ea,L as Fa,N as Ga,E as Ha};
|
|
3
|
+
|
|
4
|
+
//# debugId=5EFFEB8A104AAC3E64756E2164756E21
|
|
5
|
+
//# sourceMappingURL=chunk-ds2m83jp.js.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/ledger/clients/utxo-legacy-adapter.ts", "../src/ledger/helpers/rawTx.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"import { hex } from \"@scure/base\";\nimport { SwapKitError, type UTXOChain } from \"@swapkit/helpers\";\nimport type { UTXOType } from \"@swapkit/toolboxes/utxo\";\nimport type { Transaction } from \"@swapkit/utxo-signer\";\nimport { createCachedRawTxResolver } from \"../helpers/rawTx\";\n\n/**\n * Extract per-input metadata from a V3 PSBT in the shape the legacy\n * `@ledgerhq/hw-app-btc.createPaymentTransaction` adapter expects.\n *\n * The legacy Ledger signer still needs the full previous tx hex for\n * `btcApp.splitTransaction(hex)`. Some V3 PSBTs only include `witnessUtxo`,\n * so we fetch the previous raw tx when `nonWitnessUtxo` is absent.\n *\n * Single-address account assumption: all inputs share our derivation path.\n */\nexport async function extractInputsFromPsbt(tx: Transaction, chain: UTXOChain): Promise<UTXOType[]> {\n const { RawTx } = await import(\"@swapkit/utxo-signer\");\n const { getUtxoApi } = await import(\"@swapkit/toolboxes/utxo\");\n const utxoApi = getUtxoApi(chain);\n const getRawTx = createCachedRawTxResolver((txid) => utxoApi.getRawTx(txid));\n\n return Promise.all(\n Array.from({ length: tx.inputsLength }, async (_, inputIndex) => {\n const input = tx.getInput(inputIndex);\n\n if (!input.txid || input.index === undefined) {\n throw new Error(`PSBT input ${inputIndex} is missing txid/index`);\n }\n\n const txid = hex.encode(input.txid);\n const txHex = input.nonWitnessUtxo ? hex.encode(RawTx.encode(input.nonWitnessUtxo)) : await getRawTx(txid);\n if (!txHex) {\n throw new SwapKitError(\"wallet_ledger_invalid_params\", {\n chain,\n inputIndex,\n reason: \"Unable to resolve previous transaction hex for Ledger signing\",\n txid,\n });\n }\n const witnessUtxo = input.witnessUtxo\n ? { script: input.witnessUtxo.script, value: Number(input.witnessUtxo.amount) }\n : undefined;\n const nonWitnessPrevout = input.nonWitnessUtxo?.outputs?.[input.index];\n const value = witnessUtxo?.value ?? (nonWitnessPrevout ? Number(nonWitnessPrevout.amount) : 0);\n\n return { hash: txid, index: input.index, txHex, value, witnessUtxo } as UTXOType;\n }),\n );\n}\n\nexport async function signLegacyPsbtTransaction({\n chain,\n inputUtxos,\n legacyClient,\n tx,\n}: {\n chain: UTXOChain;\n inputUtxos?: UTXOType[];\n legacyClient: { signTransaction: (tx: Transaction, inputUtxos: UTXOType[]) => Promise<string> };\n tx: Transaction;\n}): Promise<string> {\n const resolvedInputUtxos = inputUtxos ?? (await extractInputsFromPsbt(tx, chain));\n return legacyClient.signTransaction(tx, resolvedInputUtxos);\n}\n\n/**\n * Build a toolbox-compatible signer from the existing legacy Ledger UTXO\n * client. Callers that need sign-and-broadcast should broadcast the raw hex\n * from `signLegacyPsbtTransaction` directly; the legacy Ledger app returns an\n * already-finalized transaction that should not be passed back to toolbox\n * finalization.\n */\nexport function createLegacyPsbtSigner({\n legacyClient,\n chain,\n address,\n}: {\n legacyClient: { signTransaction: (tx: Transaction, inputUtxos: UTXOType[]) => Promise<string> };\n chain: UTXOChain;\n address: string;\n}) {\n return {\n getAddress: async () => address,\n signTransaction: async (tx: Transaction): Promise<Transaction> => {\n const signedTxHex = await signLegacyPsbtTransaction({ chain, legacyClient, tx });\n\n const { Transaction: TxClass } = await import(\"@swapkit/utxo-signer\");\n // `Transaction.fromRaw` parses a serialised tx (no PSBT envelope) — exactly\n // what `createPaymentTransaction` returns.\n // Memo transactions carry an OP_RETURN output, which the parser treats as unknown.\n return TxClass.fromRaw(hex.decode(signedTxHex), { allowUnknownOutputs: true });\n },\n };\n}\n",
|
|
6
|
+
"export function createCachedRawTxResolver(getRawTx: (txid: string) => Promise<string>) {\n const requests = new Map<string, Promise<string>>();\n\n return function resolveRawTx(txid: string) {\n const cachedRequest = requests.get(txid);\n if (cachedRequest) return cachedRequest;\n\n const request = getRawTx(txid);\n requests.set(txid, request);\n return request;\n };\n}\n"
|
|
7
|
+
],
|
|
8
|
+
"mappings": "yCAAA,cAAS,oBACT,uBAAS,yBCDF,SAAS,CAAyB,CAAC,EAA6C,CACrF,IAAM,EAAW,IAAI,IAErB,OAAO,QAAqB,CAAC,EAAc,CACzC,IAAM,EAAgB,EAAS,IAAI,CAAI,EACvC,GAAI,EAAe,OAAO,EAE1B,IAAM,EAAU,EAAS,CAAI,EAE7B,OADA,EAAS,IAAI,EAAM,CAAO,EACnB,GDOX,eAAsB,CAAqB,CAAC,EAAiB,EAAuC,CAClG,IAAQ,SAAU,KAAa,iCACvB,cAAe,KAAa,mCAC9B,EAAU,EAAW,CAAK,EAC1B,EAAW,EAA0B,CAAC,IAAS,EAAQ,SAAS,CAAI,CAAC,EAE3E,OAAO,QAAQ,IACb,MAAM,KAAK,CAAE,OAAQ,EAAG,YAAa,EAAG,MAAO,EAAG,IAAe,CAC/D,IAAM,EAAQ,EAAG,SAAS,CAAU,EAEpC,GAAI,CAAC,EAAM,MAAQ,EAAM,QAAU,OACjC,MAAU,MAAM,cAAc,yBAAkC,EAGlE,IAAM,EAAO,EAAI,OAAO,EAAM,IAAI,EAC5B,EAAQ,EAAM,eAAiB,EAAI,OAAO,EAAM,OAAO,EAAM,cAAc,CAAC,EAAI,MAAM,EAAS,CAAI,EACzG,GAAI,CAAC,EACH,MAAM,IAAI,EAAa,+BAAgC,CACrD,QACA,aACA,OAAQ,gEACR,MACF,CAAC,EAEH,IAAM,EAAc,EAAM,YACtB,CAAE,OAAQ,EAAM,YAAY,OAAQ,MAAO,OAAO,EAAM,YAAY,MAAM,CAAE,EAC5E,OACE,EAAoB,EAAM,gBAAgB,UAAU,EAAM,OAC1D,EAAQ,GAAa,QAAU,EAAoB,OAAO,EAAkB,MAAM,EAAI,GAE5F,MAAO,CAAE,KAAM,EAAM,MAAO,EAAM,MAAO,QAAO,QAAO,aAAY,EACpE,CACH,EAGF,eAAsB,CAAyB,EAC7C,QACA,aACA,eACA,MAMkB,CAClB,IAAM,EAAqB,GAAe,MAAM,EAAsB,EAAI,CAAK,EAC/E,OAAO,EAAa,gBAAgB,EAAI,CAAkB,EAUrD,SAAS,CAAsB,EACpC,eACA,QACA,WAKC,CACD,MAAO,CACL,WAAY,SAAY,EACxB,gBAAiB,MAAO,IAA0C,CAChE,IAAM,EAAc,MAAM,EAA0B,CAAE,QAAO,eAAc,IAAG,CAAC,GAEvE,YAAa,GAAY,KAAa,gCAI9C,OAAO,EAAQ,QAAQ,EAAI,OAAO,CAAW,EAAG,CAAE,oBAAqB,EAAK,CAAC,EAEjF",
|
|
9
|
+
"debugId": "5EFFEB8A104AAC3E64756E2164756E21",
|
|
10
|
+
"names": []
|
|
11
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{Ba as k,Ca as x}from"./chunk-jzrytcrf.js";import{Ib as D,Jb as _,La as Sw,Mc as o,Ua as b,Va as I,Xa as G,Ya as Z,bb as O,cb as T,eb as c,id as g,jd as Q,kd as W,ld as Y,md as n}from"./chunk-dptbnkzm.js";import{Wd as Ew}from"./chunk-nhva847d.js";var FF=Ew(Sw(),1);var e=((w)=>(w.EXECUTION_ERROR="0x6400",w.EMPTY_BUFFER="0x6982",w.OUTPUT_BUFFER_TOO_SMALL="0x6983",w.COMMAND_NOT_ALLOWED="0x6986",w.DATA_INVALID="0x6984",w.TRANSACTION_DATA_EXCEEDS_BUFFER_CAPACITY="0x6988",w.WRONG_HRP_LENGTH="0x698A",w.INVALID_HD_PATH_COIN_VALUE="0x698B",w.CHAIN_CONFIG_NOT_SUPPORTED="0x698C",w.EXPERT_MODE_REQUIRED_FOR_ETH_CHAIN="0x698D",w.INS_NOT_SUPPORTED="0x6D00",w.CLA_NOT_SUPPORTED="0x6E00",w.UNKNOWN_ERROR="0x6F00",w))(e||{}),$={"0x6400":{message:"Execution Error"},"0x6982":{message:"Empty buffer"},"0x6983":{message:"Output buffer too small"},"0x6986":{message:"Command not allowed"},"0x6984":{message:"Data Invalid"},"0x6988":{message:"Transaction data exceeds buffer capacity"},"0x698A":{message:"Wrong HRP Length"},"0x698B":{message:"Invalid HD path coin value"},"0x698C":{message:"Chain Config not supported"},"0x698D":{message:"Expert Mode required for Eth chain"},"0x6D00":{message:"INS not supported"},"0x6E00":{message:"CLA not supported"},"0x6F00":{message:"Unknown error"}};class d extends c{constructor(w){super({tag:"CosmosAppCommandError",...w})}}var q=(w)=>new d(w);var h=(w)=>{let z=new DataView(new ArrayBuffer(20));for(let F=0;F<w.length;F++){let H=w[F]&2147483647,J=F<3?(2147483648|H)>>>0:H>>>0;z.setUint32(F*4,J,!0)}return new Uint8Array(z.buffer)};var ww=(w)=>({cla:85,ins:4,p1:w,p2:0}),zw=1,Fw=0,Hw=5;class C{name="GetAddress";args;errorHelper=new k($,q);constructor(w){this.args=w}getApdu(){let w=new I(ww(this.args.checkOnDevice?zw:Fw));w.encodeInLVFromAscii(this.args.hrp);let z=x.splitPath(this.args.derivationPath);if(z.length!==Hw)throw Error(`GetAddressCommand: expected cosmos style number of path elements, got ${z.length}`);let F=h(z);return w.addBufferToData(F),w.build()}parseResponse(w){return _.fromNullable(this.errorHelper.getError(w)).orDefaultLazy(()=>{let z=new G(w),F=z.extractFieldByLength(33),H=z.getUnparsedRemainingLength(),J=z.extractFieldByLength(H);if(F===void 0||J===void 0)return O({error:new Z("Public key is missing")});let K=J.filter((U)=>U!==0),N=z.encodeToString(K);return O({data:{publicKey:F,address:N}})})}}var Jw={cla:85,ins:0,p1:0,p2:0};class y{name="GetAppConfig";errorHelper=new k($,q);getApdu(){return new I(Jw).build()}parseResponse(w){return _.fromNullable(this.errorHelper.getError(w)).orDefaultLazy(()=>{let z=new G(w);z.extract8BitUInt();let F=z.extract8BitUInt(),H=z.extract8BitUInt(),J=z.extract8BitUInt();return F===void 0||H===void 0||J===void 0?O({error:new Z("Cannot extract version")}):O({data:{major:F,minor:H,patch:J}})})}}var E="Cosmos";var Kw=(w)=>({cla:85,ins:2,p1:w,p2:0}),Nw=0,Ow=1,Qw=2,Vw=5,v=((w)=>(w.INIT="init",w.ADD="add",w.LAST="last",w))(v||{});class S{name="SignTransaction";args;apduBuilder;errorHelper=new k($,q);constructor(w){this.args=w,this.apduBuilder=new I(Kw(this.p1()))}getApdu(){return this.isFirstChunk()?this.firstChunk():this.nextChunk()}parseResponse(w){return _.fromNullable(this.errorHelper.getError(w)).orDefaultLazy(()=>{let z=new G(w),F=z.getUnparsedRemainingLength(),H=z.extractFieldByLength(F);return O({data:H})})}p1(){switch(this.args.phase){case"init":return Nw;case"add":return Ow;case"last":return Qw}}isFirstChunk(){return this.args.phase==="init"}firstChunk(){let{derivationPath:w,hrp:z}=this.args;if(!w||!z)throw Error("SignTransactionCommand: derivation path and human readable prefix are required for 'init' phase.");let F=x.splitPath(w);if(F.length!==Vw)throw Error(`SignTransactionCommand: expected cosmos style number of path elements, got ${F.length}`);let H=h(F);return this.apduBuilder.addBufferToData(H),this.apduBuilder.encodeInLVFromAscii(z),this.apduBuilder.build()}nextChunk(){if(!this.args.transactionChunk)throw Error("SignTransactionCommand: transaction chunk is required for 'add' and 'last' phases.");return this.apduBuilder.addBufferToData(this.args.transactionChunk),this.apduBuilder.build()}}class l{constructor(w,z,F){this.api=w,this.args=z,this.logger=F}async run(){this.logger.debug("[run] Starting SignTransactionTask",{data:{derivationPath:this.args.derivationPath,hrp:this.args.hrp,transactionLength:this.args.transaction.length}});let{derivationPath:w,hrp:z,transaction:F}=this.args,H=await this.api.sendCommand(new S({phase:v.INIT,derivationPath:w,hrp:z}));if(!T(H))return this.logger.debug("[run] Failed to sign transaction",{data:{error:H.error}}),O({error:new Z("Failed to sign transaction")});for(let J=0;J<F.length;J+=b){let K=J+b>=F.length,N=K?v.LAST:v.ADD,U=F.slice(J,J+b),P=await this.api.sendCommand(new S({phase:N,transactionChunk:U}));if(!T(P))return this.logger.debug("[run] Failed to sign transaction",{data:{chunkIndex:J,error:P.error}}),P;if(K)return this.logger.debug("[run] Transaction signed successfully",{data:{signature:P.data}}),O({data:P.data})}return O({error:new Z("No signature returned")})}}var V={Dmk:Symbol.for("Dmk"),SessionId:Symbol.for("SessionId"),DmkLoggerFactory:Symbol.for("DmkLoggerFactory")};var{defineProperty:Ww,getOwnPropertyDescriptor:Xw}=Object,Yw=(w,z,F,H)=>{for(var J=H>1?void 0:H?Xw(z,F):z,K=w.length-1,N;K>=0;K--)(N=w[K])&&(J=(H?N(z,F,J):N(J))||J);return H&&J&&Ww(z,F,J),J},u=(w,z)=>(F,H)=>z(F,H,w),B=class{constructor(w,z,F){this.dmk=w,this.sessionId=z,this.dmkLoggerFactory=F}getAppConfig(w){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new g({input:{command:new y,appName:E,requiredUserInteraction:D.None,skipOpenApp:w.skipOpenApp},logger:this.dmkLoggerFactory("GetAppConfigCommand")})})}getAddress(w){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new g({input:{command:new C(w),appName:E,requiredUserInteraction:w.checkOnDevice?D.VerifyAddress:D.None,skipOpenApp:w.skipOpenApp},logger:this.dmkLoggerFactory("GetAddressCommand")})})}signTransaction(w){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new o({input:{task:async(z)=>new l(z,w,this.dmkLoggerFactory("SignTransactionTask")).run(),appName:E,requiredUserInteraction:D.SignTransaction,skipOpenApp:w.skipOpenApp??!1},logger:this.dmkLoggerFactory("SignTransactionCommand")})})}};B=Yw([W(),u(0,Q(V.Dmk)),u(1,Q(V.SessionId)),u(2,Q(V.DmkLoggerFactory))],B);var X={AppBinding:Symbol.for("AppBinding")};var t=()=>new Y(({bind:w})=>{w(X.AppBinding).to(B)});var j={GetAddressUseCase:Symbol.for("GetAddressUseCase")};var{defineProperty:Zw,getOwnPropertyDescriptor:$w}=Object,qw=(w,z,F,H)=>{for(var J=H>1?void 0:H?$w(z,F):z,K=w.length-1,N;K>=0;K--)(N=w[K])&&(J=(H?N(z,F,J):N(J))||J);return H&&J&&Zw(z,F,J),J},Iw=(w,z)=>(F,H)=>z(F,H,w),L=class{_appBinder;constructor(w){this._appBinder=w}execute(w,z,F){return this._appBinder.getAddress({derivationPath:w,hrp:z,checkOnDevice:F?.checkOnDevice??!1,skipOpenApp:F?.skipOpenApp??!1})}};L=qw([W(),Iw(0,Q(X.AppBinding))],L);var a=()=>new Y(({bind:w})=>{w(j.GetAddressUseCase).to(L)});var R={GetAppConfigUseCase:Symbol.for("GetAppConfigUseCase")};var{defineProperty:Gw,getOwnPropertyDescriptor:_w}=Object,kw=(w,z,F,H)=>{for(var J=H>1?void 0:H?_w(z,F):z,K=w.length-1,N;K>=0;K--)(N=w[K])&&(J=(H?N(z,F,J):N(J))||J);return H&&J&&Gw(z,F,J),J},Pw=(w,z)=>(F,H)=>z(F,H,w),A=class{_appBinder;constructor(w){this._appBinder=w}execute(){return this._appBinder.getAppConfig({skipOpenApp:!1})}};A=kw([W(),Pw(0,Q(X.AppBinding))],A);var s=()=>new Y(({bind:w})=>{w(R.GetAppConfigUseCase).to(A)});var M={SignTransactionUseCase:Symbol.for("SignTransactionUseCase")};var{defineProperty:vw,getOwnPropertyDescriptor:Dw}=Object,hw=(w,z,F,H)=>{for(var J=H>1?void 0:H?Dw(z,F):z,K=w.length-1,N;K>=0;K--)(N=w[K])&&(J=(H?N(z,F,J):N(J))||J);return H&&J&&vw(z,F,J),J},xw=(w,z)=>(F,H)=>z(F,H,w),f=class{_appBinder;constructor(w){this._appBinder=w}execute(w,z,F,H){return this._appBinder.signTransaction({derivationPath:w,transaction:F,hrp:z,skipOpenApp:H?.skipOpenApp})}};f=hw([W(),xw(0,Q(X.AppBinding))],f);var i=()=>new Y(({bind:w})=>{w(M.SignTransactionUseCase).to(f)});var p=({dmk:w,sessionId:z})=>{let F=new n;return F.bind(V.Dmk).toConstantValue(w),F.bind(V.SessionId).toConstantValue(z),F.bind(V.DmkLoggerFactory).toConstantValue((H)=>w.getLoggerFactory()(["SignerCosmos",H])),F.loadSync(t(),s(),a(),i()),F};class m{_container;constructor({dmk:w,sessionId:z}){this._container=p({dmk:w,sessionId:z})}getAppConfig(){return this._container.get(R.GetAppConfigUseCase).execute()}getAddress(w,z,F){return this._container.get(j.GetAddressUseCase).execute(w,z,F)}signTransaction(w,z,F,H){return this._container.get(M.SignTransactionUseCase).execute(w,z,F,H)}}class r{_dmk;_sessionId;constructor({dmk:w,sessionId:z}){this._dmk=w,this._sessionId=z}build(){return new m({dmk:this._dmk,sessionId:this._sessionId})}}export{r as SignerCosmosBuilder};
|
|
2
|
+
|
|
3
|
+
//# debugId=E996ADD85387292F64756E2164756E21
|
|
4
|
+
//# sourceMappingURL=chunk-eenx3cv6.js.map
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../node_modules/.bun/@ledgerhq+device-signer-kit-cosmos@1.0.1+9be3ebb2704b97ae/node_modules/@ledgerhq/device-signer-kit-cosmos/lib/esm/index.js", "../../../node_modules/.bun/@ledgerhq+device-signer-kit-cosmos@1.0.1+9be3ebb2704b97ae/node_modules/@ledgerhq/device-signer-kit-cosmos/lib/esm/internal/app-binder/command/utils/CosmosApplicationErrors.js", "../../../node_modules/.bun/@ledgerhq+device-signer-kit-cosmos@1.0.1+9be3ebb2704b97ae/node_modules/@ledgerhq/device-signer-kit-cosmos/lib/esm/internal/app-binder/command/utils/EncodeDerivationPath.js", "../../../node_modules/.bun/@ledgerhq+device-signer-kit-cosmos@1.0.1+9be3ebb2704b97ae/node_modules/@ledgerhq/device-signer-kit-cosmos/lib/esm/internal/app-binder/command/GetAddressCommand.js", "../../../node_modules/.bun/@ledgerhq+device-signer-kit-cosmos@1.0.1+9be3ebb2704b97ae/node_modules/@ledgerhq/device-signer-kit-cosmos/lib/esm/internal/app-binder/command/GetAppConfigCommand.js", "../../../node_modules/.bun/@ledgerhq+device-signer-kit-cosmos@1.0.1+9be3ebb2704b97ae/node_modules/@ledgerhq/device-signer-kit-cosmos/lib/esm/internal/app-binder/constants.js", "../../../node_modules/.bun/@ledgerhq+device-signer-kit-cosmos@1.0.1+9be3ebb2704b97ae/node_modules/@ledgerhq/device-signer-kit-cosmos/lib/esm/internal/app-binder/command/SignTransactionCommand.js", "../../../node_modules/.bun/@ledgerhq+device-signer-kit-cosmos@1.0.1+9be3ebb2704b97ae/node_modules/@ledgerhq/device-signer-kit-cosmos/lib/esm/internal/app-binder/task/SignTransactionTask.js", "../../../node_modules/.bun/@ledgerhq+device-signer-kit-cosmos@1.0.1+9be3ebb2704b97ae/node_modules/@ledgerhq/device-signer-kit-cosmos/lib/esm/internal/externalTypes.js", "../../../node_modules/.bun/@ledgerhq+device-signer-kit-cosmos@1.0.1+9be3ebb2704b97ae/node_modules/@ledgerhq/device-signer-kit-cosmos/lib/esm/internal/app-binder/CosmosAppBinder.js", "../../../node_modules/.bun/@ledgerhq+device-signer-kit-cosmos@1.0.1+9be3ebb2704b97ae/node_modules/@ledgerhq/device-signer-kit-cosmos/lib/esm/internal/app-binder/di/appBinderTypes.js", "../../../node_modules/.bun/@ledgerhq+device-signer-kit-cosmos@1.0.1+9be3ebb2704b97ae/node_modules/@ledgerhq/device-signer-kit-cosmos/lib/esm/internal/app-binder/di/appBinderModule.js", "../../../node_modules/.bun/@ledgerhq+device-signer-kit-cosmos@1.0.1+9be3ebb2704b97ae/node_modules/@ledgerhq/device-signer-kit-cosmos/lib/esm/internal/use-cases/address/di/addressTypes.js", "../../../node_modules/.bun/@ledgerhq+device-signer-kit-cosmos@1.0.1+9be3ebb2704b97ae/node_modules/@ledgerhq/device-signer-kit-cosmos/lib/esm/internal/use-cases/address/GetAddressUseCase.js", "../../../node_modules/.bun/@ledgerhq+device-signer-kit-cosmos@1.0.1+9be3ebb2704b97ae/node_modules/@ledgerhq/device-signer-kit-cosmos/lib/esm/internal/use-cases/address/di/addressModule.js", "../../../node_modules/.bun/@ledgerhq+device-signer-kit-cosmos@1.0.1+9be3ebb2704b97ae/node_modules/@ledgerhq/device-signer-kit-cosmos/lib/esm/internal/use-cases/config/di/configTypes.js", "../../../node_modules/.bun/@ledgerhq+device-signer-kit-cosmos@1.0.1+9be3ebb2704b97ae/node_modules/@ledgerhq/device-signer-kit-cosmos/lib/esm/internal/use-cases/config/GetAppConfigUseCase.js", "../../../node_modules/.bun/@ledgerhq+device-signer-kit-cosmos@1.0.1+9be3ebb2704b97ae/node_modules/@ledgerhq/device-signer-kit-cosmos/lib/esm/internal/use-cases/config/di/configModule.js", "../../../node_modules/.bun/@ledgerhq+device-signer-kit-cosmos@1.0.1+9be3ebb2704b97ae/node_modules/@ledgerhq/device-signer-kit-cosmos/lib/esm/internal/use-cases/transaction/di/transactionTypes.js", "../../../node_modules/.bun/@ledgerhq+device-signer-kit-cosmos@1.0.1+9be3ebb2704b97ae/node_modules/@ledgerhq/device-signer-kit-cosmos/lib/esm/internal/use-cases/transaction/SignTransactionUseCase.js", "../../../node_modules/.bun/@ledgerhq+device-signer-kit-cosmos@1.0.1+9be3ebb2704b97ae/node_modules/@ledgerhq/device-signer-kit-cosmos/lib/esm/internal/use-cases/transaction/di/transactionModule.js", "../../../node_modules/.bun/@ledgerhq+device-signer-kit-cosmos@1.0.1+9be3ebb2704b97ae/node_modules/@ledgerhq/device-signer-kit-cosmos/lib/esm/internal/di.js", "../../../node_modules/.bun/@ledgerhq+device-signer-kit-cosmos@1.0.1+9be3ebb2704b97ae/node_modules/@ledgerhq/device-signer-kit-cosmos/lib/esm/internal/DefaultSignerCosmos.js", "../../../node_modules/.bun/@ledgerhq+device-signer-kit-cosmos@1.0.1+9be3ebb2704b97ae/node_modules/@ledgerhq/device-signer-kit-cosmos/lib/esm/api/SignerCosmosBuilder.js"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"import\"reflect-metadata\";export*from\"./api/index\";\n//# sourceMappingURL=index.js.map\n",
|
|
6
|
+
"import{DeviceExchangeError as n}from\"@ledgerhq/device-management-kit\";var t=(e=>(e.EXECUTION_ERROR=\"0x6400\",e.EMPTY_BUFFER=\"0x6982\",e.OUTPUT_BUFFER_TOO_SMALL=\"0x6983\",e.COMMAND_NOT_ALLOWED=\"0x6986\",e.DATA_INVALID=\"0x6984\",e.TRANSACTION_DATA_EXCEEDS_BUFFER_CAPACITY=\"0x6988\",e.WRONG_HRP_LENGTH=\"0x698A\",e.INVALID_HD_PATH_COIN_VALUE=\"0x698B\",e.CHAIN_CONFIG_NOT_SUPPORTED=\"0x698C\",e.EXPERT_MODE_REQUIRED_FOR_ETH_CHAIN=\"0x698D\",e.INS_NOT_SUPPORTED=\"0x6D00\",e.CLA_NOT_SUPPORTED=\"0x6E00\",e.UNKNOWN_ERROR=\"0x6F00\",e))(t||{});const r={\"0x6400\":{message:\"Execution Error\"},\"0x6982\":{message:\"Empty buffer\"},\"0x6983\":{message:\"Output buffer too small\"},\"0x6986\":{message:\"Command not allowed\"},\"0x6984\":{message:\"Data Invalid\"},\"0x6988\":{message:\"Transaction data exceeds buffer capacity\"},\"0x698A\":{message:\"Wrong HRP Length\"},\"0x698B\":{message:\"Invalid HD path coin value\"},\"0x698C\":{message:\"Chain Config not supported\"},\"0x698D\":{message:\"Expert Mode required for Eth chain\"},\"0x6D00\":{message:\"INS not supported\"},\"0x6E00\":{message:\"CLA not supported\"},\"0x6F00\":{message:\"Unknown error\"}};class _ extends n{constructor(x){super({tag:\"CosmosAppCommandError\",...x})}}const m=a=>new _(a);export{r as COSMOS_APP_ERRORS,_ as CosmosAppCommandError,m as CosmosAppCommandErrorFactory,t as CosmosErrorCodes};\n//# sourceMappingURL=CosmosApplicationErrors.js.map\n",
|
|
7
|
+
"const a=r=>{const n=new DataView(new ArrayBuffer(20));for(let e=0;e<r.length;e++){const t=r[e]&2147483647,f=e<3?(2147483648|t)>>>0:t>>>0;n.setUint32(e*4,f,!0)}return new Uint8Array(n.buffer)};export{a as encodeDerivationPath};\n//# sourceMappingURL=EncodeDerivationPath.js.map\n",
|
|
8
|
+
"import{ApduBuilder as p,ApduParser as c,CommandResultFactory as d,InvalidStatusWordError as l}from\"@ledgerhq/device-management-kit\";import{CommandErrorHelper as C,DerivationPathUtils as u}from\"@ledgerhq/signer-utils\";import{Maybe as A}from\"purify-ts\";import{COSMOS_APP_ERRORS as y,CosmosAppCommandErrorFactory as g}from\"../../app-binder/command/utils/CosmosApplicationErrors\";import{encodeDerivationPath as h}from\"./utils/EncodeDerivationPath\";const E=s=>({cla:85,ins:4,p1:s,p2:0}),P=1,f=0,x=5;class D{name=\"GetAddress\";args;errorHelper=new C(y,g);constructor(e){this.args=e}getApdu(){const e=new p(E(this.args.checkOnDevice?P:f));e.encodeInLVFromAscii(this.args.hrp);const r=u.splitPath(this.args.derivationPath);if(r.length!==x)throw new Error(`GetAddressCommand: expected cosmos style number of path elements, got ${r.length}`);const o=h(r);return e.addBufferToData(o),e.build()}parseResponse(e){return A.fromNullable(this.errorHelper.getError(e)).orDefaultLazy(()=>{const r=new c(e),o=r.extractFieldByLength(33),n=r.getUnparsedRemainingLength(),t=r.extractFieldByLength(n);if(o===void 0||t===void 0)return d({error:new l(\"Public key is missing\")});const a=t.filter(i=>i!==0),m=r.encodeToString(a);return d({data:{publicKey:o,address:m}})})}}export{D as GetAddressCommand,P as P1_CHECK_ON_DEVICE,f as P1_NO_CHECK_ON_DEVICE,E as cosmosGetAddressApduHeader};\n//# sourceMappingURL=GetAddressCommand.js.map\n",
|
|
9
|
+
"import{ApduParser as m,CommandResultFactory as p,InvalidStatusWordError as s}from\"@ledgerhq/device-management-kit\";import{ApduBuilder as a}from\"@ledgerhq/device-management-kit\";import{CommandErrorHelper as d}from\"@ledgerhq/signer-utils\";import{Maybe as i}from\"purify-ts\";import{COSMOS_APP_ERRORS as C,CosmosAppCommandErrorFactory as u}from\"../../app-binder/command/utils/CosmosApplicationErrors\";const f={cla:85,ins:0,p1:0,p2:0};class g{name=\"GetAppConfig\";errorHelper=new d(C,u);getApdu(){return new a(f).build()}parseResponse(e){return i.fromNullable(this.errorHelper.getError(e)).orDefaultLazy(()=>{const o=new m(e);o.extract8BitUInt();const r=o.extract8BitUInt(),t=o.extract8BitUInt(),n=o.extract8BitUInt();return r===void 0||t===void 0||n===void 0?p({error:new s(\"Cannot extract version\")}):p({data:{major:r,minor:t,patch:n}})})}}export{g as GetAppConfigCommand,f as cosmosGetAppConfigApduHeader};\n//# sourceMappingURL=GetAppConfigCommand.js.map\n",
|
|
10
|
+
"const o=\"Cosmos\";export{o as APP_NAME};\n//# sourceMappingURL=constants.js.map\n",
|
|
11
|
+
"import{ApduBuilder as o,ApduParser as s,CommandResultFactory as i}from\"@ledgerhq/device-management-kit\";import{CommandErrorHelper as d,DerivationPathUtils as p}from\"@ledgerhq/signer-utils\";import{Maybe as m}from\"purify-ts\";import{COSMOS_APP_ERRORS as u,CosmosAppCommandErrorFactory as h}from\"../../app-binder/command/utils/CosmosApplicationErrors\";import{encodeDerivationPath as c}from\"../../app-binder/command/utils/EncodeDerivationPath\";const g=a=>({cla:85,ins:2,p1:a,p2:0}),l=0,C=1,A=2,T=5;var S=(r=>(r.INIT=\"init\",r.ADD=\"add\",r.LAST=\"last\",r))(S||{});class v{name=\"SignTransaction\";args;apduBuilder;errorHelper=new d(u,h);constructor(n){this.args=n,this.apduBuilder=new o(g(this.p1()))}getApdu(){return this.isFirstChunk()?this.firstChunk():this.nextChunk()}parseResponse(n){return m.fromNullable(this.errorHelper.getError(n)).orDefaultLazy(()=>{const t=new s(n),r=t.getUnparsedRemainingLength(),e=t.extractFieldByLength(r);return i({data:e})})}p1(){switch(this.args.phase){case\"init\":return l;case\"add\":return C;case\"last\":return A}}isFirstChunk(){return this.args.phase===\"init\"}firstChunk(){const{derivationPath:n,hrp:t}=this.args;if(!n||!t)throw new Error(\"SignTransactionCommand: derivation path and human readable prefix are required for 'init' phase.\");const r=p.splitPath(n);if(r.length!==T)throw new Error(`SignTransactionCommand: expected cosmos style number of path elements, got ${r.length}`);const e=c(r);return this.apduBuilder.addBufferToData(e),this.apduBuilder.encodeInLVFromAscii(t),this.apduBuilder.build()}nextChunk(){if(!this.args.transactionChunk)throw new Error(\"SignTransactionCommand: transaction chunk is required for 'add' and 'last' phases.\");return this.apduBuilder.addBufferToData(this.args.transactionChunk),this.apduBuilder.build()}}export{C as P1_ADD,l as P1_INIT,A as P1_LAST,S as SignPhase,v as SignTransactionCommand,g as cosmotSignTransactionApduHeader};\n//# sourceMappingURL=SignTransactionCommand.js.map\n",
|
|
12
|
+
"import{APDU_MAX_PAYLOAD as a,CommandResultFactory as s,InvalidStatusWordError as c,isSuccessCommandResult as u}from\"@ledgerhq/device-management-kit\";import{SignPhase as e,SignTransactionCommand as h}from\"../../app-binder/command/SignTransactionCommand\";class T{constructor(i,o,n){this.api=i;this.args=o;this.logger=n}async run(){this.logger.debug(\"[run] Starting SignTransactionTask\",{data:{derivationPath:this.args.derivationPath,hrp:this.args.hrp,transactionLength:this.args.transaction.length}});const{derivationPath:i,hrp:o,transaction:n}=this.args,g=await this.api.sendCommand(new h({phase:e.INIT,derivationPath:i,hrp:o}));if(!u(g))return this.logger.debug(\"[run] Failed to sign transaction\",{data:{error:g.error}}),s({error:new c(\"Failed to sign transaction\")});for(let r=0;r<n.length;r+=a){const d=r+a>=n.length,l=d?e.LAST:e.ADD,m=n.slice(r,r+a),t=await this.api.sendCommand(new h({phase:l,transactionChunk:m}));if(!u(t))return this.logger.debug(\"[run] Failed to sign transaction\",{data:{chunkIndex:r,error:t.error}}),t;if(d)return this.logger.debug(\"[run] Transaction signed successfully\",{data:{signature:t.data}}),s({data:t.data})}return s({error:new c(\"No signature returned\")})}}export{T as SignTransactionTask};\n//# sourceMappingURL=SignTransactionTask.js.map\n",
|
|
13
|
+
"const o={Dmk:Symbol.for(\"Dmk\"),SessionId:Symbol.for(\"SessionId\"),DmkLoggerFactory:Symbol.for(\"DmkLoggerFactory\")};export{o as externalTypes};\n//# sourceMappingURL=externalTypes.js.map\n",
|
|
14
|
+
"var u=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var A=(r,e,n,i)=>{for(var t=i>1?void 0:i?y(e,n):e,a=r.length-1,c;a>=0;a--)(c=r[a])&&(t=(i?c(e,n,t):c(t))||t);return i&&t&&u(e,n,t),t},o=(r,e)=>(n,i)=>e(n,i,r);import{CallTaskInAppDeviceAction as v,SendCommandInAppDeviceAction as k,UserInteractionRequired as s}from\"@ledgerhq/device-management-kit\";import{inject as m,injectable as D}from\"inversify\";import{GetAddressCommand as f}from\"../app-binder/command/GetAddressCommand\";import{GetAppConfigCommand as T}from\"../app-binder/command/GetAppConfigCommand\";import{APP_NAME as d}from\"../app-binder/constants\";import{SignTransactionTask as I}from\"../app-binder/task/SignTransactionTask\";import{externalTypes as g}from\"../externalTypes\";let p=class{constructor(e,n,i){this.dmk=e;this.sessionId=n;this.dmkLoggerFactory=i}getAppConfig(e){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new k({input:{command:new T,appName:d,requiredUserInteraction:s.None,skipOpenApp:e.skipOpenApp},logger:this.dmkLoggerFactory(\"GetAppConfigCommand\")})})}getAddress(e){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new k({input:{command:new f(e),appName:d,requiredUserInteraction:e.checkOnDevice?s.VerifyAddress:s.None,skipOpenApp:e.skipOpenApp},logger:this.dmkLoggerFactory(\"GetAddressCommand\")})})}signTransaction(e){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new v({input:{task:async n=>new I(n,e,this.dmkLoggerFactory(\"SignTransactionTask\")).run(),appName:d,requiredUserInteraction:s.SignTransaction,skipOpenApp:e.skipOpenApp??!1},logger:this.dmkLoggerFactory(\"SignTransactionCommand\")})})}};p=A([D(),o(0,m(g.Dmk)),o(1,m(g.SessionId)),o(2,m(g.DmkLoggerFactory))],p);export{p as CosmosAppBinder};\n//# sourceMappingURL=CosmosAppBinder.js.map\n",
|
|
15
|
+
"const p={AppBinding:Symbol.for(\"AppBinding\")};export{p as appBinderTypes};\n//# sourceMappingURL=appBinderTypes.js.map\n",
|
|
16
|
+
"import{ContainerModule as p}from\"inversify\";import{CosmosAppBinder as r}from\"../../app-binder/CosmosAppBinder\";import{appBinderTypes as i}from\"../../app-binder/di/appBinderTypes\";const m=()=>new p(({bind:o})=>{o(i.AppBinding).to(r)});export{m as appBindingModuleFactory};\n//# sourceMappingURL=appBinderModule.js.map\n",
|
|
17
|
+
"const s={GetAddressUseCase:Symbol.for(\"GetAddressUseCase\")};export{s as addressTypes};\n//# sourceMappingURL=addressTypes.js.map\n",
|
|
18
|
+
"var c=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var d=(n,p,e,r)=>{for(var i=r>1?void 0:r?A(p,e):p,o=n.length-1,s;o>=0;o--)(s=n[o])&&(i=(r?s(p,e,i):s(i))||i);return r&&i&&c(p,e,i),i},m=(n,p)=>(e,r)=>p(e,r,n);import{inject as B,injectable as a}from\"inversify\";import{appBinderTypes as f}from\"../../app-binder/di/appBinderTypes\";let t=class{_appBinder;constructor(p){this._appBinder=p}execute(p,e,r){return this._appBinder.getAddress({derivationPath:p,hrp:e,checkOnDevice:r?.checkOnDevice??!1,skipOpenApp:r?.skipOpenApp??!1})}};t=d([a(),m(0,B(f.AppBinding))],t);export{t as GetAddressUseCase};\n//# sourceMappingURL=GetAddressUseCase.js.map\n",
|
|
19
|
+
"import{ContainerModule as s}from\"inversify\";import{addressTypes as o}from\"../../../use-cases/address/di/addressTypes\";import{GetAddressUseCase as r}from\"../../../use-cases/address/GetAddressUseCase\";const m=()=>new s(({bind:e})=>{e(o.GetAddressUseCase).to(r)});export{m as addressModuleFactory};\n//# sourceMappingURL=addressModule.js.map\n",
|
|
20
|
+
"const e={GetAppConfigUseCase:Symbol.for(\"GetAppConfigUseCase\")};export{e as configTypes};\n//# sourceMappingURL=configTypes.js.map\n",
|
|
21
|
+
"var B=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var d=(i,p,o,e)=>{for(var r=e>1?void 0:e?A(p,o):p,t=i.length-1,m;t>=0;t--)(m=i[t])&&(r=(e?m(p,o,r):m(r))||r);return e&&r&&B(p,o,r),r},s=(i,p)=>(o,e)=>p(o,e,i);import{inject as a,injectable as c}from\"inversify\";import{appBinderTypes as f}from\"../../app-binder/di/appBinderTypes\";let n=class{_appBinder;constructor(p){this._appBinder=p}execute(){return this._appBinder.getAppConfig({skipOpenApp:!1})}};n=d([c(),s(0,a(f.AppBinding))],n);export{n as GetAppConfigUseCase};\n//# sourceMappingURL=GetAppConfigUseCase.js.map\n",
|
|
22
|
+
"import{ContainerModule as e}from\"inversify\";import{configTypes as t}from\"../../../use-cases/config/di/configTypes\";import{GetAppConfigUseCase as p}from\"../../../use-cases/config/GetAppConfigUseCase\";const f=()=>new e(({bind:o})=>{o(t.GetAppConfigUseCase).to(p)});export{f as configModuleFactory};\n//# sourceMappingURL=configModule.js.map\n",
|
|
23
|
+
"const s={SignTransactionUseCase:Symbol.for(\"SignTransactionUseCase\")};export{s as transactionTypes};\n//# sourceMappingURL=transactionTypes.js.map\n",
|
|
24
|
+
"var d=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var m=(t,p,n,i)=>{for(var r=i>1?void 0:i?A(p,n):p,e=t.length-1,s;e>=0;e--)(s=t[e])&&(r=(i?s(p,n,r):s(r))||r);return i&&r&&d(p,n,r),r},a=(t,p)=>(n,i)=>p(n,i,t);import{inject as c,injectable as B}from\"inversify\";import{appBinderTypes as y}from\"../../app-binder/di/appBinderTypes\";let o=class{_appBinder;constructor(p){this._appBinder=p}execute(p,n,i,r){return this._appBinder.signTransaction({derivationPath:p,transaction:i,hrp:n,skipOpenApp:r?.skipOpenApp})}};o=m([B(),a(0,c(y.AppBinding))],o);export{o as SignTransactionUseCase};\n//# sourceMappingURL=SignTransactionUseCase.js.map\n",
|
|
25
|
+
"import{ContainerModule as n}from\"inversify\";import{transactionTypes as t}from\"../../../use-cases/transaction/di/transactionTypes\";import{SignTransactionUseCase as r}from\"../../../use-cases/transaction/SignTransactionUseCase\";const s=()=>new n(({bind:o})=>{o(t.SignTransactionUseCase).to(r)});export{s as transactionModuleFactory};\n//# sourceMappingURL=transactionModule.js.map\n",
|
|
26
|
+
"import{Container as i}from\"inversify\";import{appBindingModuleFactory as a}from\"./app-binder/di/appBinderModule\";import{externalTypes as o}from\"./externalTypes\";import{addressModuleFactory as s}from\"./use-cases/address/di/addressModule\";import{configModuleFactory as m}from\"./use-cases/config/di/configModule\";import{transactionModuleFactory as c}from\"./use-cases/transaction/di/transactionModule\";const M=({dmk:t,sessionId:n})=>{const e=new i;return e.bind(o.Dmk).toConstantValue(t),e.bind(o.SessionId).toConstantValue(n),e.bind(o.DmkLoggerFactory).toConstantValue(r=>t.getLoggerFactory()([\"SignerCosmos\",r])),e.loadSync(a(),m(),s(),c()),e};export{M as makeContainer};\n//# sourceMappingURL=di.js.map\n",
|
|
27
|
+
"import{makeContainer as n}from\"./di\";import{addressTypes as o}from\"./use-cases/address/di/addressTypes\";import{configTypes as i}from\"./use-cases/config/di/configTypes\";import{transactionTypes as p}from\"./use-cases/transaction/di/transactionTypes\";class y{_container;constructor({dmk:e,sessionId:t}){this._container=n({dmk:e,sessionId:t})}getAppConfig(){return this._container.get(i.GetAppConfigUseCase).execute()}getAddress(e,t,r){return this._container.get(o.GetAddressUseCase).execute(e,t,r)}signTransaction(e,t,r,s){return this._container.get(p.SignTransactionUseCase).execute(e,t,r,s)}}export{y as DefaultSignerCosmos};\n//# sourceMappingURL=DefaultSignerCosmos.js.map\n",
|
|
28
|
+
"import{DefaultSignerCosmos as i}from\"../internal/DefaultSignerCosmos\";class t{_dmk;_sessionId;constructor({dmk:e,sessionId:s}){this._dmk=e,this._sessionId=s}build(){return new i({dmk:this._dmk,sessionId:this._sessionId})}}export{t as SignerCosmosBuilder};\n//# sourceMappingURL=SignerCosmosBuilder.js.map\n"
|
|
29
|
+
],
|
|
30
|
+
"mappings": "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",
|
|
31
|
+
"debugId": "E996ADD85387292F64756E2164756E21",
|
|
32
|
+
"names": []
|
|
33
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{Ba as D,Ca as H}from"./chunk-jzrytcrf.js";import{$a as z,$c as VQ,Ib as o,Jb as U,La as qY,Mc as zQ,Oa as _Q,Pa as _0,Sc as s0,Sd as vX,Ta as i,Tc as q0,Ua as CQ,Uc as a0,Va as W,Vc as r,Wc as TQ,Xa as qQ,Xc as c,Ya as j,Yc as GQ,Zc as n0,_c as i0,ab as nX,bb as P,cb as b,eb as DQ,hb as I0,id as hQ,jd as T,kd as I,ld as p,md as $8,pc as FX}from"./chunk-dptbnkzm.js";import{Wd as ZY}from"./chunk-nhva847d.js";var BK=ZY(qY(),1);var V={AppBinding:Symbol.for("AppBinding")};var d="Zcash";var ZQ={Dmk:Symbol.for("Dmk"),SessionId:Symbol.for("SessionId")};var v=224,m={FIRST:0,NEXT:128,CHANGE_PATH:255},g={DEFAULT:0,SAPLING:5,HASH_INPUT_CONTINUE:128},A={FIRST:0,NEXT:128,LAST:1},e={CONTINUE:0,FINISHED:1},UQ=255;var R={6300:{message:"GPAuthFailedError"},"63c0":{message:"PinRemainingAttemptsError"},6400:{message:"ExecutionError"},6700:{message:"IncorrectLengthError"},6981:{message:"CommandIncompatibleFileStructureError"},6982:{message:"SecurityStatusNotSatisfiedError"},6985:{message:"UserRejectedError"},6986:{message:"ConditionsOfUseNotSatisfiedError"},"6a80":{message:"IncorrectDataError"},"6a84":{message:"NotEnoughMemorySpaceError"},"6a88":{message:"ReferencedDataNotFoundError"},"6a89":{message:"FileAlreadyExistsError"},"6a8a":{message:"SwapWithoutTrustedInputsError"},"6b00":{message:"IncorrectP1P2Error"},"6d00":{message:"InsNotSupportedError"},"6e00":{message:"ClaNotSupportedError"},"6f00":{message:"TechnicalProblemError"},"6f01":{message:"VersionParsingFailError"},"6f03":{message:"RngFailureError"},"6f42":{message:"LicensingError"},"6faa":{message:"HaltedError"},9240:{message:"MemoryProblemError"},9400:{message:"NoEFSelectedError"},9402:{message:"InvalidOffsetError"},9404:{message:"FileNotFoundError"},9408:{message:"InconsistentFileError"},9484:{message:"AlgorithmNotSupportedError"},9485:{message:"InvalidKCVError"},9802:{message:"CodeNotInitializedError"},9804:{message:"AccessConditionNotFullfilledError"},9808:{message:"ContradictionSecretCodeStatusError"},9810:{message:"ContradictionInvalidationError"},9840:{message:"CodeBlockedError"},9850:{message:"MaxValueReachedError"},b007:{message:"BadStateError"},unsupported_v6_transaction:{message:"UnsupportedV6TransactionError"}};class c0 extends DQ{constructor(Q){super({tag:"ZcashAppCommandError",...Q})}}var M=(Q)=>new c0(Q);var l0=32,Z8=64;class KQ{name="GetAddress";args;errorHelper=new D(R,M);constructor(Q){this.args=Q}getApdu(){let Q={cla:v,ins:Z8,p1:this.args.checkOnDevice?1:0,p2:0},X=new W(Q),$=H.splitPath(this.args.derivationPath);return X.add8BitUIntToData($.length),$.forEach((Y)=>{X.add32BitUIntToData(Y)}),X.build()}parseResponse(Q){return U.fromNullable(this.errorHelper.getError(Q)).orDefaultLazy(()=>{let X=new qQ(Q),$=X.extract8BitUInt();if($===void 0)return P({error:new j("Public key length is missing")});if(X.testMinimalLength($)===!1)return P({error:new j("Public key is missing")});let Y=X.extractFieldByLength($);if(Y===void 0)return P({error:new j("Unable to extract public key")});let J=X.extract8BitUInt();if(J===void 0)return P({error:new j("Address length is missing")});if(X.testMinimalLength(J)===!1)return P({error:new j("Address is missing")});let N=X.extractFieldByLength(J);if(N===void 0)return P({error:new j("Unable to extract address")});let Z=X.encodeToString(N);if(X.testMinimalLength(l0)===!1)return P({error:new j("Chain code is missing")});let q=X.extractFieldByLength(l0);return q===void 0?P({error:new j("Unable to extract chain code")}):P({data:{publicKey:Y,address:Z,chainCode:q}})})}}var q8=196;class Q0{name="getAppConfig";errorHelper=new D(R,M);getApdu(){return new W({cla:v,ins:q8,p1:0,p2:g.DEFAULT}).build()}parseResponse(Q){return U.fromNullable(this.errorHelper.getError(Q)).orDefaultLazy(()=>{let X=new qQ(Q);X.extract8BitUInt(),X.extract8BitUInt();let $=X.extract8BitUInt(),Y=X.extract8BitUInt(),J=X.extract8BitUInt();return $===void 0||Y===void 0||J===void 0?P({error:new j("Cannot extract version")}):P({data:{version:`${$}.${Y}.${J}`}})})}}class X0{name="SignMessage";args;constructor(Q){this.args=Q}getApdu(){throw console.log(this.args),Error("SignMessageCommand.getApdu() not implemented")}parseResponse(Q){throw Error("SignMessageCommand.parseResponse() not implemented")}}var OQ={UFVK:0,ORCHARD_FVK:1},K8=80;class LQ{name="GetFullViewingKey";errorHelper=new D(R,M);args;constructor(Q){this.args=Q}getApdu(){let Q=this.args.isContinue?m.NEXT:m.FIRST,X={cla:v,ins:K8,p1:Q,p2:this.args.p2},$=new W(X);if(!this.args.isContinue){let Y=H.splitPath(this.args.derivationPath);if($.add8BitUIntToData(Y.length),Y.forEach((J)=>{$.add32BitUIntToData(J)}),this.args.p2===OQ.UFVK){if(!this.args.transparentDerivationPath)throw Error("GetFullViewingKeyCommand: UFVK export requires a transparent derivation path (app-zcash >= v3.8.0)");let J=H.splitPath(this.args.transparentDerivationPath);$.add8BitUIntToData(J.length),J.forEach((N)=>{$.add32BitUIntToData(N)})}}return $.build()}parseResponse(Q){return U.fromNullable(this.errorHelper.getError(Q)).orDefaultLazy(()=>P({data:{data:new Uint8Array(Q.data)}}))}}function o0(Q){return Q==="orchardFvk"?OQ.ORCHARD_FVK:OQ.UFVK}function L(...Q){let X=Q.reduce((J,N)=>J+N.length,0),$=new Uint8Array(X),Y=0;return Q.forEach((J)=>{$.set(J,Y),Y+=J.length}),$}function bQ(Q,X){return`32'/${Q}/${X}`}var p0=96;function O8(Q){let X=`Orchard FVK must be ${p0} bytes (got ${Q.length})`;if(Q.length<2)return X;let $=new DataView(Q.buffer,Q.byteOffset,Q.byteLength).getUint16(0,!1);return 2+$===Q.length?`${X}. Payload matches UFVK framing (u16 BE length + ${$} bytes). Use mode "ufvk" for this response, or use a Zcash app build that exports raw Orchard FVK for GET_VK P2=0x01.`:X}function P8(Q){return Q.length!==p0?z({error:new j(O8(Q))}):z({data:{mode:"orchardFvk",fullViewingKey:Q}})}function z8(Q){if(Q.length<2)return!1;let X=new DataView(Q.buffer,Q.byteOffset,Q.byteLength).getUint16(0,!1);return Q.length>=2+X}function j8(Q){if(Q.length<2)return z({error:new j("UFVK string length is missing")});let X=new DataView(Q.buffer,Q.byteOffset,Q.byteLength).getUint16(0,!1);if(2+X>Q.length)return z({error:new j("UFVK string is truncated")});let $=Q.slice(2,2+X),Y;try{Y=new TextDecoder("utf-8",{fatal:!0}).decode($)}catch{return z({error:new j("UFVK is not valid UTF-8")})}return 2+X<Q.length?z({error:new j("UFVK response has extra trailing bytes")}):z({data:{mode:"ufvk",fullViewingKey:Y}})}function x8(Q){let X=Q.split("/");if(X.length<3)return{error:new j(`Zcash UFVK derivation path must have at least purpose/coin/account levels (got "${Q}")`)};let[,$,Y]=X;return!$||!Y?{error:new j(`Zcash UFVK derivation path components are malformed (got "${Q}")`)}:{orchardDerivationPath:bQ($,Y),transparentDerivationPath:`44'/${$}/${Y}`}}class $0{constructor(Q,X){this.api=Q,this.args=X}async run(){let Q=o0(this.args.mode),X;if(this.args.mode==="ufvk"){let N=x8(this.args.derivationPath);if("error"in N)return z({error:N.error});X={isContinue:!1,p2:OQ.UFVK,derivationPath:N.orchardDerivationPath,transparentDerivationPath:N.transparentDerivationPath}}else X={isContinue:!1,p2:OQ.ORCHARD_FVK,derivationPath:this.args.derivationPath};let $=await this.api.sendCommand(new LQ(X));if(!b($))return z({error:$.error});let Y=new Uint8Array($.data.data),J=Y;for(;Y.length===CQ&&!(this.args.mode==="ufvk"&&z8(J));){let N=await this.api.sendCommand(new LQ({isContinue:!0,p2:Q}));if(!b(N))return z({error:N.error});Y=new Uint8Array(N.data.data),J=L(J,Y)}return this.args.mode==="ufvk"?j8(J):P8(J)}}var G8=81;class Y0{name="GetShieldedAddress";args;errorHelper=new D(R,M);constructor(Q){this.args=Q}getApdu(){let Q={cla:v,ins:G8,p1:this.args.checkOnDevice?1:0,p2:0},X=new W(Q),$=H.splitPath(this.args.orchardDerivationPath),Y=H.splitPath(this.args.transparentDerivationPath);return[$,Y].forEach((J)=>{X.add8BitUIntToData(J.length),J.forEach((N)=>{X.add32BitUIntToData(N)})}),X.build()}parseResponse(Q){return U.fromNullable(this.errorHelper.getError(Q)).orDefaultLazy(()=>{if(Q.data.length===CQ)return P({error:new j("Response requires continuation which is not supported")});let X=new qQ(Q),$=X.extract16BitUInt();if($===void 0)return P({error:new j("Address length is missing")});if(X.testMinimalLength($)===!1)return P({error:new j("Address is missing")});let Y=X.extractFieldByLength($);if(Y===void 0)return P({error:new j("Unable to extract address")});if(X.testMinimalLength(1))return P({error:new j("Unexpected trailing bytes in response")});let J;try{J=new TextDecoder("utf-8",{fatal:!0}).decode(Y)}catch{return P({error:new j("Address is not valid UTF-8")})}return P({data:{address:J}})})}}function w8(Q){let X=Q.startsWith("m/")?Q.slice(2):Q,$=X.split("/");if($.length!==5)return{error:new j(`Shielded address derivation path must have exactly 5 levels purpose/coin/account/change/index (got "${Q}")`)};let Y=(O)=>/^\d+'?$/.test(O);if(!$.every(Y))return{error:new j(`Shielded address derivation path contains non-numeric components (got "${Q}")`)};let[J,N,Z,q]=$;return J!=="44'"?{error:new j(`Shielded address derivation path purpose must be 44' (got "${J}")`)}:N?.endsWith("'")?Z?.endsWith("'")?q!=="0"?{error:new j(`Shielded address derivation path change must be 0 (got "${q}")`)}:{orchardDerivationPath:bQ(N,Z),transparentDerivationPath:X}:{error:new j(`Shielded address derivation path account must be hardened (got "${Z}")`)}:{error:new j(`Shielded address derivation path coin type must be hardened (got "${N}")`)}}class J0{constructor(Q,X){this.api=Q,this.args=X}async run(){let Q=w8(this.args.derivationPath);if("error"in Q)return z({error:Q.error});let X=await this.api.sendCommand(new Y0({orchardDerivationPath:Q.orchardDerivationPath,transparentDerivationPath:Q.transparentDerivationPath,checkOnDevice:this.args.checkOnDevice}));return b(X)?z({data:{address:X.data.address}}):z({error:X.error})}}var N0=4,k8=66;class yQ{name="GetTrustedInput";errorHelper=new D(R,M);args;constructor(Q){this.args=Q}getApdu(){let{transaction:Q,indexLookup:X}=this.args,$,Y=!1;if(typeof X=="number"&&X>=0){Y=!0;let N=new Uint8Array(N0);new DataView(N.buffer,N.byteOffset,N.byteLength).setUint32(0,X,!1),$=new Uint8Array(Q.length+N0),$.set(N,0),$.set(Q,N0)}else $=Q;let J={cla:v,ins:k8,p1:Y?m.FIRST:m.NEXT,p2:g.DEFAULT};return new W(J).addBufferToData($).build()}parseResponse(Q){return U.fromNullable(this.errorHelper.getError(Q)).orDefault(P({data:Q}))}}class Z0 extends DQ{appVersion;constructor(Q){super({tag:"UnsupportedV6TransactionError",message:`The Zcash app version ${Q} installed on the device does not support V6 (Ironwood) source transactions, so a UTXO received from one cannot be signed. Support is expected in a future Zcash app update.`,errorCode:"unsupported_v6_transaction"}),this.appVersion=Q}}function F8(Q,X,$,Y){if(typeof Q.setBigUint64==="function")return Q.setBigUint64(X,$,Y);let J=BigInt(32),N=BigInt(4294967295),Z=Number($>>J&N),q=Number($&N),O=Y?4:0,w=Y?0:4;Q.setUint32(X+O,Z,Y),Q.setUint32(X+w,q,Y)}function K0(Q,X,$){return Q&X^~Q&$}function O0(Q,X,$){return Q&X^Q&$^X&$}class xQ extends i0{constructor(Q,X,$,Y){super();this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=Q,this.outputLen=X,this.padOffset=$,this.isLE=Y,this.buffer=new Uint8Array(Q),this.view=TQ(this.buffer)}update(Q){q0(this),Q=n0(Q),s0(Q);let{view:X,buffer:$,blockLen:Y}=this,J=Q.length;for(let N=0;N<J;){let Z=Math.min(Y-this.pos,J-N);if(Z===Y){let q=TQ(Q);for(;Y<=J-N;N+=Y)this.process(q,N);continue}if($.set(Q.subarray(N,N+Z),this.pos),this.pos+=Z,N+=Z,this.pos===Y)this.process(X,0),this.pos=0}return this.length+=Q.length,this.roundClean(),this}digestInto(Q){q0(this),a0(Q,this),this.finished=!0;let{buffer:X,view:$,blockLen:Y,isLE:J}=this,{pos:N}=this;if(X[N++]=128,r(this.buffer.subarray(N)),this.padOffset>Y-N)this.process($,0),N=0;for(let K=N;K<Y;K++)X[K]=0;F8($,Y-8,BigInt(this.length*8),J),this.process($,0);let Z=TQ(Q),q=this.outputLen;if(q%4)throw Error("_sha2: outputLen should be aligned to 32bit");let O=q/4,w=this.get();if(O>w.length)throw Error("_sha2: outputLen bigger than state");for(let K=0;K<O;K++)Z.setUint32(4*K,w[K],J)}digest(){let{buffer:Q,outputLen:X}=this;this.digestInto(Q);let $=Q.slice(0,X);return this.destroy(),$}_cloneInto(Q){Q||(Q=new this.constructor),Q.set(...this.get());let{blockLen:X,buffer:$,length:Y,finished:J,destroyed:N,pos:Z}=this;if(Q.destroyed=N,Q.finished=J,Q.length=Y,Q.pos=Z,Y%X)Q.buffer.set($);return Q}clone(){return this._cloneInto()}}var s=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var v8=Uint8Array.from([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),e0=(()=>Uint8Array.from(Array(16).fill(0).map((Q,X)=>X)))(),R8=(()=>e0.map((Q)=>(9*Q+5)%16))(),r0=(()=>{let $=[[e0],[R8]];for(let Y=0;Y<4;Y++)for(let J of $)J.push(J[Y].map((N)=>v8[N]));return $})(),QX=(()=>r0[0])(),XX=(()=>r0[1])(),$X=[[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8],[12,13,11,15,6,9,9,7,12,15,11,13,7,8,7,7],[13,15,14,11,7,7,6,8,13,14,13,12,5,5,6,9],[14,11,12,14,8,6,5,5,15,12,15,14,9,9,8,6],[15,12,13,13,9,5,8,6,14,11,12,11,8,6,5,5]].map((Q)=>Uint8Array.from(Q)),M8=QX.map((Q,X)=>Q.map(($)=>$X[X][$])),W8=XX.map((Q,X)=>Q.map(($)=>$X[X][$])),U8=Uint32Array.from([0,1518500249,1859775393,2400959708,2840853838]),D8=Uint32Array.from([1352829926,1548603684,1836072691,2053994217,0]);function t0(Q,X,$,Y){if(Q===0)return X^$^Y;if(Q===1)return X&$|~X&Y;if(Q===2)return(X|~$)^Y;if(Q===3)return X&Y|$&~Y;return X^($|~Y)}var BQ=new Uint32Array(16);class P0 extends xQ{constructor(){super(64,20,8,!0);this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776}get(){let{h0:Q,h1:X,h2:$,h3:Y,h4:J}=this;return[Q,X,$,Y,J]}set(Q,X,$,Y,J){this.h0=Q|0,this.h1=X|0,this.h2=$|0,this.h3=Y|0,this.h4=J|0}process(Q,X){for(let x=0;x<16;x++,X+=4)BQ[x]=Q.getUint32(X,!0);let $=this.h0|0,Y=$,J=this.h1|0,N=J,Z=this.h2|0,q=Z,O=this.h3|0,w=O,K=this.h4|0,k=K;for(let x=0;x<5;x++){let f=4-x,y=U8[x],h=D8[x],F=QX[x],G=XX[x],t=M8[x],jQ=W8[x];for(let u=0;u<16;u++){let NQ=GQ($+t0(x,J,Z,O)+BQ[F[u]]+y,t[u])+K|0;$=K,K=O,O=GQ(Z,10)|0,Z=J,J=NQ}for(let u=0;u<16;u++){let NQ=GQ(Y+t0(f,N,q,w)+BQ[G[u]]+h,jQ[u])+k|0;Y=k,k=w,w=GQ(q,10)|0,q=N,N=NQ}}this.set(this.h1+Z+w|0,this.h2+O+k|0,this.h3+K+Y|0,this.h4+$+N|0,this.h0+J+q|0)}roundClean(){r(BQ)}destroy(){this.destroyed=!0,r(this.buffer),this.set(0,0,0,0,0)}}var YX=VQ(()=>new P0);var JX=YX;var L8=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),QQ=new Uint32Array(64);class z0 extends xQ{constructor(Q=32){super(64,Q,8,!1);this.A=s[0]|0,this.B=s[1]|0,this.C=s[2]|0,this.D=s[3]|0,this.E=s[4]|0,this.F=s[5]|0,this.G=s[6]|0,this.H=s[7]|0}get(){let{A:Q,B:X,C:$,D:Y,E:J,F:N,G:Z,H:q}=this;return[Q,X,$,Y,J,N,Z,q]}set(Q,X,$,Y,J,N,Z,q){this.A=Q|0,this.B=X|0,this.C=$|0,this.D=Y|0,this.E=J|0,this.F=N|0,this.G=Z|0,this.H=q|0}process(Q,X){for(let K=0;K<16;K++,X+=4)QQ[K]=Q.getUint32(X,!1);for(let K=16;K<64;K++){let k=QQ[K-15],x=QQ[K-2],f=c(k,7)^c(k,18)^k>>>3,y=c(x,17)^c(x,19)^x>>>10;QQ[K]=y+QQ[K-7]+f+QQ[K-16]|0}let{A:$,B:Y,C:J,D:N,E:Z,F:q,G:O,H:w}=this;for(let K=0;K<64;K++){let k=c(Z,6)^c(Z,11)^c(Z,25),x=w+k+K0(Z,q,O)+L8[K]+QQ[K]|0,y=(c($,2)^c($,13)^c($,22))+O0($,Y,J)|0;w=O,O=q,q=Z,Z=N+x|0,N=J,J=Y,Y=$,$=x+y|0}$=$+this.A|0,Y=Y+this.B|0,J=J+this.C|0,N=N+this.D|0,Z=Z+this.E|0,q=q+this.F|0,O=O+this.G|0,w=w+this.H|0,this.set($,Y,J,N,Z,q,O,w)}roundClean(){r(QQ)}destroy(){this.set(0,0,0,0,0,0,0,0),r(this.buffer)}}var NX=VQ(()=>new z0);var ZX=NX;function qX(Q){let X=new Uint8Array(4);return new DataView(X.buffer).setUint32(0,Q>>>0,!1),X}function E(Q){let X=new Uint8Array(4);return new DataView(X.buffer).setUint32(0,Q>>>0,!0),X}var fQ=50,PX=0,x0=4294967295,gQ=1,b8=118,C8=169,y8=20,T8=136,B8=172,a={NU6_3:3428143,NU6_2:3364600,NU6_1:3146400,NU6:2726400,NU5:1687104,CANOPY:1046400,HEARTWOOD:903000,BLOSSOM:653600,SAPLING:419200},_=(Q)=>Uint8Array.from(Q),V8=(Q,X)=>new DataView(Q.buffer,Q.byteOffset,Q.byteLength).getUint16(X,!0),EQ=(Q,X)=>new DataView(Q.buffer,Q.byteOffset,Q.byteLength).getUint32(X,!0),E8=(Q)=>({prevout:_(Q.prevout),script:_(Q.script),sequence:_(Q.sequence),tree:Q.tree?_(Q.tree):void 0}),I8=(Q)=>({amount:_(Q.amount),script:_(Q.script)}),zX=(Q)=>({version:_(Q.version),inputs:Q.inputs.map(E8),outputs:Q.outputs?.map(I8),locktime:Q.locktime?_(Q.locktime):void 0,timestamp:Q.timestamp?_(Q.timestamp):void 0,nVersionGroupId:Q.nVersionGroupId?_(Q.nVersionGroupId):void 0,nExpiryHeight:Q.nExpiryHeight?_(Q.nExpiryHeight):void 0,extraData:Q.extraData?_(Q.extraData):void 0,consensusBranchId:Q.consensusBranchId?_(Q.consensusBranchId):void 0}),C=(Q)=>Q<253?Uint8Array.of(Q):Q<=65535?Uint8Array.of(253,Q&255,Q>>8&255):Uint8Array.of(254,Q&255,Q>>8&255,Q>>16&255,Q>>24&255),KX=(Q,X)=>{if(X>=Q.length)return null;let $=Q[X];if($<253)return[$,X+1];if($===253)return X+3>Q.length?null:[V8(Q,X+1),X+3];if($===254)return X+5>Q.length?null:[EQ(Q,X+1)>>>0,X+5];if($===255){if(X+9>Q.length)return null;let Y=EQ(Q,X+1);return EQ(Q,X+5)!==0?null:[Y,X+9]}return null},jX=(Q)=>{if(Q.length===0)return null;let X=KX(Q,0);if(X===null||X[0]<0)return null;let $=X[0],Y=X[1],J=[];for(let N=0;N<$;N+=1){if(Y+8>Q.length)return null;Y+=8;let Z=KX(Q,Y);if(Z===null)return null;let[q,O]=Z;if(q<0||O+q>Q.length)return null;J.push(Q.subarray(O,O+q)),Y=O+q}return Y!==Q.length?null:J},OX=({outputs:Q})=>{let X=new Uint8Array(0);return Q&&(X=L(X,C(Q.length)),Q.forEach(($)=>{X=L(X,$.amount,C($.script.length),$.script)})),X},G0=(Q,X)=>{let $=new Uint8Array(0);if(Q.inputs.forEach((Z)=>{$=L($,Z.prevout,C(Z.script.length),Z.script,Z.sequence)}),Q.version.length>=4&&(EQ(Q.version,0)&2147483647)===4){let Z=Q.locktime&&Q.locktime.byteLength>0?Q.locktime:new Uint8Array(4),q=IQ(Q.nExpiryHeight),O=Q.extraData||new Uint8Array(0);return L(Q.version,Q.nVersionGroupId||new Uint8Array(0),Q.consensusBranchId||new Uint8Array(0),C(Q.inputs.length),$,OX(Q),new Uint8Array(3),Z,C(q.length+O.length),q,O)}let Y=OX(Q);Q.outputs&&Q.locktime&&(Y=L(Y,new Uint8Array(3),Q.extraData||new Uint8Array(0)));let J=Q.locktime&&Q.locktime.byteLength>0?Q.locktime:new Uint8Array(4),N=IQ(Q.nExpiryHeight);return L(Q.version,X??Q.timestamp??new Uint8Array(0),Q.nVersionGroupId||new Uint8Array(0),Q.consensusBranchId||new Uint8Array(0),J,N,C(Q.inputs.length),$,Y)},w0=(Q)=>{let X=((Q.at(64)??0)&1)===0?2:3;return L(Uint8Array.of(X),Q.subarray(1,33))},f8=(Q)=>JX(ZX(Q)),xX=(Q)=>{let X;if(Q.length===65?X=w0(Q):Q.length===33?X=Q:X=null,X?.length!==33)throw Error("Expected 65-byte uncompressed or 33-byte compressed secp256k1 public key");let $=f8(X);return L(Uint8Array.of(b8,C8,y8),$,Uint8Array.of(T8,B8))},SQ=(Q)=>Q==null||Q>=a.NU6_3?E(933566043):Q>=a.NU6_2?E(1412952880):Q>=a.NU6_1?E(1307332080):Q>=a.NU6?E(3370586197):Q>=a.NU5?E(3268858036):Q>=a.CANOPY?E(3925833126):Q>=a.HEARTWOOD?E(4122551051):Q>=a.BLOSSOM?E(733220448):Q>=a.SAPLING?E(1991772603):E(1537743641),GX=()=>E(2147483653),j0=4;function IQ(Q){if(Q===void 0||Q.byteLength===0)return new Uint8Array(j0);if(Q.byteLength!==j0)throw Error(`expiryHeight must be ${j0} bytes (got ${Q.byteLength})`);return _(Q)}var wX="0.0.0",kX={version:""},g8="3.8.0";class RX{resolve(Q,X){if(Q.sessionStateType===FX.Connected)return{isCompatible:!1,version:wX};let $=Q.currentApp;return $?.name!==d?{isCompatible:!1,version:wX}:{isCompatible:!0,version:$.version}}}function MX(Q){try{let X=Q.getDeviceSessionState(),$=new RX,{isCompatible:Y,version:J}=$.resolve(X,kX);return Y?new vX(X,kX,$).withMinVersionInclusive(g8).check()?void 0:J:void 0}catch{return}}var VX=255,S8=4,m8=VX-S8,H8=VX,W0=4,_8=5*W0,XQ=3*W0,S=32,EX=8,h8=1,mQ=64,WX=192,n=52,u8=16,FQ=512,PQ=n+FQ+u8,IX=80,A8=S,d8=A8+S,c8=d8+S,F0=S,l8=F0+S,wQ=l8+S,o8=wQ+PQ+IX,v0=S,R0=v0+S,M0=R0+S,p8=M0+S,kQ=p8+S,s8=kQ+PQ+IX,fX=h8+EX,a8=fX+S,UX=128,DX=50,n8=2147483647,i8=4,t8=5,gX=6,LX=3632576152,k0=(Q,X)=>(l(Q,X,X+1),Q[X]??0),U0=(Q,X)=>(l(Q,X,X+4),new DataView(Q.buffer,Q.byteOffset,Q.byteLength).getUint32(X,!0)),e8=(Q,X)=>{l(Q,X,X+8);let $=new DataView(Q.buffer,Q.byteOffset,Q.byteLength),Y=$.getUint32(X,!0);return $.getUint32(X+4,!0)*4294967296+Y},bX=(Q)=>`0x${Q.toString(16).padStart(8,"0")}`,l=(Q,X,$)=>{if(X<0||$<X||$>Q.length)throw Error("Malformed transaction while splitting trusted input chunks")},$Q=(Q,X)=>{let $=k0(Q,X);if($<253)return{value:$,byteLength:1,nextOffset:X+1};if($===253)return{value:k0(Q,X+1)+(k0(Q,X+2)<<8),byteLength:3,nextOffset:X+3};if($===254)return{value:U0(Q,X+1),byteLength:5,nextOffset:X+5};l(Q,X+1,X+9);let Y=e8(Q,X+1);if(!Number.isSafeInteger(Y))throw Error("CompactSize value exceeds JavaScript safe integer range");return{value:Y,byteLength:9,nextOffset:X+9}},CX=(Q)=>{let X=Q.filter((J)=>J.length>0);if(X.length===0)throw Error("Cannot send trusted input for an empty transaction");let $=[],Y=!0;return X.forEach((J)=>{let N=0;for(;N<J.length;){let Z=Math.min(N+(Y?m8:H8),J.length);$.push(J.slice(N,Z)),N=Z,Y=!1}}),$},r8=(Q,X)=>L(Q,new Uint8Array([4]),X),Q$={actions:[],digestData:new Uint8Array},X$=(Q,X)=>{let $=X;return{take:(Y)=>{l(Q,$,$+Y);let J=Q.slice($,$+Y);return $+=Y,J},skip:(Y)=>{l(Q,$,$+Y),$+=Y},takeCount:()=>{let{value:Y,nextOffset:J}=$Q(Q,$);return $=J,Y},consumed:()=>$}},yX=(Q,X)=>{let $=Q.takeCount();if($===0)return Q$;let Y=Array.from({length:$},()=>Q.take(s8)),J=Q.take(X?a8:fX);return X||Q.skip(S),{actions:Y,digestData:J}},TX=(Q,X)=>{if(X===0)return;let $=Q.takeCount();Q.skip($+X*mQ+mQ)},$$=(Q,X,$)=>{let Y=X$(Q,X),J=Y.takeCount(),N=Array.from({length:J},()=>Y.take(c8)),Z=Y.takeCount(),q=Array.from({length:Z},()=>Y.take(o8)),O=new Uint8Array,w=new Uint8Array;(J>0||Z>0)&&(O=Y.take(EX),J>0&&($?Y.skip(S):w=Y.take(S)),Y.skip(J*(WX+mQ)+Z*WX+mQ));let K=yX(Y,!$);TX(Y,K.actions.length);let k;if($&&(k=yX(Y,!1),TX(Y,k.actions.length)),Y.consumed()!==Q.length)throw Error("Malformed transaction while splitting trusted input chunks");return{saplingSpends:N,saplingOutputs:q,saplingValueBalance:O,saplingAnchor:w,orchard:K,ironwood:k}},Y$=(Q)=>{let X=Q.subarray(0,F0),$=Q.subarray(F0,wQ),Y=Q.subarray(wQ,wQ+PQ),J=Q.subarray(wQ+PQ);return{compact:L($,Y.subarray(0,n)),memo:Y.subarray(n,n+FQ),nonCompact:L(X,Y.subarray(n+FQ),J)}},J$=(Q)=>{let X=Q.subarray(0,v0),$=Q.subarray(v0,R0),Y=Q.subarray(R0,M0),J=Q.subarray(M0,kQ),N=Q.subarray(kQ,kQ+PQ),Z=Q.subarray(kQ+PQ);return{compact:L($,J,N.subarray(0,n)),memo:N.subarray(n,n+FQ),nonCompact:L(X,Y,N.subarray(n+FQ),Z)}},BX=(Q,X)=>{X.forEach(($)=>{for(let Y=0;Y<$.length;Y+=UX)Q.push($.subarray(Y,Y+UX))})},N$=(Q,X)=>{if(Q.push(L(C(X.saplingSpends.length),C(X.saplingOutputs.length),C(X.orchard.actions.length),...X.ironwood!==void 0?[C(X.ironwood.actions.length)]:[])),X.saplingSpends.length>0||X.saplingOutputs.length>0){Q.push(L(X.saplingValueBalance,X.saplingAnchor)),X.saplingSpends.forEach((Y)=>Q.push(Y));let $=X.saplingOutputs.map(Y$);$.forEach(({compact:Y})=>Q.push(Y)),BX(Q,$.map(({memo:Y})=>Y)),$.forEach(({nonCompact:Y})=>Q.push(Y))}(X.ironwood!==void 0?[X.orchard,X.ironwood]:[X.orchard]).forEach(($)=>{if($.actions.length===0)return;let Y=$.actions.map(J$);Y.forEach(({compact:J})=>Q.push(J)),BX(Q,Y.map(({memo:J})=>J)),Y.forEach(({nonCompact:J})=>Q.push(J)),Q.push($.digestData)})},SX=(Q)=>U0(Q,0)&n8,Z$=(Q)=>SX(Q)===gX,q$=(Q)=>{let X=SX(Q),$=X===i8,Y=X===gX;if(!$&&!Y&&X!==t8)throw Error(`Unsupported transaction version ${X} while splitting trusted input chunks`);if(Y){let K=U0(Q,W0);if(K!==LX)throw Error(`Unexpected version group id for a v6 transaction while splitting trusted input chunks: expected ${bX(LX)}, got ${bX(K)}`)}let J=0,N=new Uint8Array,Z=new Uint8Array,q=[];$?J+=XQ:(l(Q,XQ,XQ+8),N=Q.slice(XQ,XQ+4),Z=Q.slice(XQ+4,XQ+8),J+=_8);let O=$Q(Q,J);J=O.nextOffset,q.push(L(Q.slice(0,XQ),Q.slice(J-O.byteLength,J)));for(let K=0;K<O.value;K+=1){let k=J;l(Q,J,J+36),J+=36;let x=$Q(Q,J);J=x.nextOffset,q.push(Q.slice(k,J));let f=J;l(Q,J,J+x.value+4),J+=x.value+4;let y=Q.slice(f,J);for(let h=0;h<y.length;h+=DX)q.push(y.slice(h,h+DX))}let w=$Q(Q,J);J=w.nextOffset,q.push(Q.slice(J-w.byteLength,J));for(let K=0;K<w.value;K+=1){let k=J;l(Q,J,J+8),J+=8;let x=$Q(Q,J);J=x.nextOffset,l(Q,J,J+x.value),J+=x.value,q.push(Q.slice(k,J))}if($){let K=$Q(Q,J),k=$Q(Q,K.nextOffset),x=$Q(Q,k.nextOffset);return q.push(Q.slice(J,x.nextOffset)),q.push(Q.slice(x.nextOffset)),CX(q)}return N$(q,$$(Q,J,Y)),q.push(r8(N,Z)),CX(q)};class vQ{constructor(Q,X){this.api=Q,this.args=X}async run(){let Q=this.args.indexLookup??0,X=q$(this.args.transaction);if(Z$(this.args.transaction)){let Z=MX(this.api);if(Z!==void 0)return z({error:new Z0(Z)})}let $=X[0];if(!$)throw Error("Unable to prepare first trusted input APDU chunk");let Y=await this.api.sendCommand(new yQ({transaction:$,indexLookup:Q}));if(!b(Y))return z({error:Y.error});let J=Y.data,N=1;for(;N<X.length;){let Z=X[N];if(!Z)throw Error("Unable to prepare trusted input APDU chunk");let q=await this.api.sendCommand(new yQ({transaction:Z}));if(!b(q))return z({error:q.error});J=q.data,N+=1}return z({data:J})}}var K$=82;class D0{constructor(Q){this.args=Q}name="PcztHeader";errorHelper=new D(R,M);getApdu(){let Q={cla:v,ins:K$,p1:A.FIRST,p2:e.CONTINUE};return new W(Q).addBufferToData(this.args.data).build()}parseResponse(Q){return U.fromNullable(this.errorHelper.getError(Q)).orDefault(P({data:void 0}))}}var O$=88;class L0{constructor(Q){this.args=Q}name="PcztIronwoodAction";errorHelper=new D(R,M);getApdu(){let Q={cla:v,ins:O$,p1:this.args.p1,p2:this.args.p2};return new W(Q).addBufferToData(this.args.data).build()}parseResponse(Q){return U.fromNullable(this.errorHelper.getError(Q)).orDefault(P({data:void 0}))}}var P$=86;class b0{constructor(Q){this.args=Q}name="PcztOrchardAction";errorHelper=new D(R,M);getApdu(){let Q={cla:v,ins:P$,p1:this.args.p1,p2:this.args.p2};return new W(Q).addBufferToData(this.args.data).build()}parseResponse(Q){return U.fromNullable(this.errorHelper.getError(Q)).orDefault(P({data:void 0}))}}var z$=83;class C0{constructor(Q){this.args=Q}name="PcztTransparentInput";errorHelper=new D(R,M);getApdu(){let Q={cla:v,ins:z$,p1:this.args.p1,p2:this.args.p2};return new W(Q).addBufferToData(this.args.data).build()}parseResponse(Q){return U.fromNullable(this.errorHelper.getError(Q)).orDefault(P({data:void 0}))}}var j$=84;class y0{constructor(Q){this.args=Q}name="PcztTransparentOutput";errorHelper=new D(R,M);getApdu(){let Q={cla:v,ins:j$,p1:this.args.p1,p2:this.args.p2};return new W(Q).addBufferToData(this.args.data).build()}parseResponse(Q){return U.fromNullable(this.errorHelper.getError(Q)).orDefault(P({data:void 0}))}}var x$=89,mX=64;class T0{constructor(Q){this.args=Q}name="SignPcztIronwood";errorHelper=new D(R,M);getApdu(){let Q={cla:v,ins:x$,p1:A.FIRST,p2:this.args.actionIndex};return new W(Q).build()}parseResponse(Q){return U.fromNullable(this.errorHelper.getError(Q)).orDefaultLazy(()=>{let X=new Uint8Array(Q.data);return X.length!==mX?P({error:new j(`Expected ${mX}-byte Ironwood spendAuthSig, got ${X.length}`)}):P({data:{spendAuthSig:X}})})}}var G$=87,HX=64;class B0{constructor(Q){this.args=Q}name="SignPcztOrchard";errorHelper=new D(R,M);getApdu(){let Q={cla:v,ins:G$,p1:A.FIRST,p2:this.args.actionIndex};return new W(Q).build()}parseResponse(Q){return U.fromNullable(this.errorHelper.getError(Q)).orDefaultLazy(()=>{let X=new Uint8Array(Q.data);return X.length!==HX?P({error:new j(`Expected ${HX}-byte Orchard spendAuthSig, got ${X.length}`)}):P({data:{spendAuthSig:X}})})}}var w$=85;class V0{constructor(Q){this.args=Q}name="SignPcztTransparent";errorHelper=new D(R,M);getApdu(){let Q={cla:v,ins:w$,p1:A.FIRST,p2:this.args.inputIndex};return new W(Q).build()}parseResponse(Q){return U.fromNullable(this.errorHelper.getError(Q)).orDefaultLazy(()=>{let X=new Uint8Array(Q.data);return X.length<2?P({error:new j(`Expected a transparent signature with a trailing sighash byte, got ${X.length} bytes`)}):X[X.length-1]!==gQ?P({error:new j(`Expected sighash_type SIGHASH_ALL (0x01), got 0x${X[X.length-1].toString(16)}`)}):P({data:{signature:X}})})}}var _X=new Uint8Array(32),hX=(Q)=>{let X=H.splitPath(Q),$=new i;return $.add8BitUIntToData(X.length),X.forEach((Y)=>$.add32BitUIntToData(Y)),$.build()},uX=(Q)=>{if(Q===null)return Uint8Array.of(0);let X=new i;return X.add8BitUIntToData(1),X.add32BitUIntToData(Q,!1),X.build()},AX=(Q)=>Q?L(C(1),Q.pubkey,Q.seedFingerprint??_X,hX(Q.signingPath)):C(0),k$=(Q,X)=>L(X??_X,hX(Q)),HQ=(Q)=>F$(L(C(Q.length),Q)),F$=(Q)=>{if(Q.length<=UQ)return[Q];let X=[];for(let $=0;$<Q.length;$+=UQ)X.push(Q.subarray($,$+UQ));return X},dX=(Q)=>{let X=new i;return X.addBufferToData(Uint8Array.of(80,67,90,84)),X.add32BitUIntToData(Q.txVersion>=6?2:1,!1),X.add32BitUIntToData(Q.txVersion,!1),X.add32BitUIntToData(Q.versionGroupId,!1),X.add32BitUIntToData(Q.consensusBranchId,!1),X.addBufferToData(uX(Q.fallbackLockTime)),X.add32BitUIntToData(Q.expiryHeight,!1),X.add32BitUIntToData(Q.coinType,!1),X.add8BitUIntToData(Q.txModifiable),X.build()},cX=(Q)=>{let X=[C(Q.length)];for(let $ of Q){let Y=new i;Y.addBufferToData($.prevoutTxid),Y.add32BitUIntToData($.prevoutIndex,!1),Y.addBufferToData(uX($.sequence)),Y.add64BitUIntToData($.value,!1),X.push(Y.build()),X.push(...HQ($.scriptPubKey)),X.push(L(Uint8Array.of($.sighashType),AX($.derivation)))}return X},lX=(Q)=>{let X=[C(Q.length)];for(let $ of Q){let Y=new i;Y.add64BitUIntToData($.value,!1),X.push(Y.build()),X.push(...HQ($.scriptPubKey)),X.push(AX($.derivation))}return X},oX=(Q)=>{let X=[C(Q.actions.length)];if(Q.actions.length===0)return X;for(let J of Q.actions){let N=new i;N.addBufferToData(J.cvNet),N.addBufferToData(J.nullifier),N.addBufferToData(J.rk),N.addBufferToData(J.spendRecipient),N.add64BitUIntToData(J.spendValue,!1),N.addBufferToData(J.spendRho),N.addBufferToData(J.spendRseed),N.addBufferToData(J.alpha),X.push(N.build()),X.push(k$(J.signingPath,J.seedFingerprint)),X.push(L(J.cmx,J.ephemeralKey)),X.push(...HQ(J.encCiphertext)),X.push(...HQ(J.outCiphertext));let Z=new i;Z.addBufferToData(J.recipient),Z.add64BitUIntToData(J.value,!1),Z.addBufferToData(J.rseed),Z.addBufferToData(J.rcv),"notePlaintextVersion"in J&&Z.add8BitUIntToData(J.notePlaintextVersion),X.push(Z.build())}let $=new i,Y=Q.valueBalance;return $.add8BitUIntToData(Q.flags),$.add64BitUIntToData(Y<0n?-Y:Y,!1),$.add8BitUIntToData(Y<0n?1:0),$.addBufferToData(Q.anchor),X.push($.build()),X},pX=(Q)=>oX(Q),sX=(Q)=>oX(Q),RQ=(Q,X)=>Q===0?A.FIRST:Q===X-1?A.LAST:A.NEXT,E0=(Q,X,$)=>$&&Q===X-1?e.FINISHED:e.CONTINUE;var v$={actions:[],flags:0,valueBalance:0n,anchor:new Uint8Array(32)},R$=6;class f0{constructor(Q,X){this.api=Q,this.args=X}async run(){let{global:Q,transparentInputs:X,transparentOutputs:$,orchardBundle:Y,ironwoodBundle:J}=this.args.transaction,N=Y??v$,Z=J??null,q=Q.txVersion===R$;if(q&&Z===null)return z({error:new I0("V6 transaction requires a non-null Ironwood bundle")});if(!q&&Z!==null)return z({error:new I0("V5 transaction does not support an Ironwood bundle")});let O=q&&Z!==null,w=await this.api.sendCommand(new D0({data:dX(Q)}));if(!b(w))return z({error:w.error});let K=cX(X);for(let F=0;F<K.length;F+=1){let G=await this.api.sendCommand(new C0({data:K[F],p1:RQ(F,K.length),p2:e.CONTINUE}));if(!b(G))return z({error:G.error})}let k=lX($);for(let F=0;F<k.length;F+=1){let G=await this.api.sendCommand(new y0({data:k[F],p1:RQ(F,k.length),p2:e.CONTINUE}));if(!b(G))return z({error:G.error})}let x=pX(N);for(let F=0;F<x.length;F+=1){let G=await this.api.sendCommand(new b0({data:x[F],p1:RQ(F,x.length),p2:E0(F,x.length,!q)}));if(!b(G))return z({error:G.error})}if(O){let F=sX(Z);for(let G=0;G<F.length;G+=1){let t=await this.api.sendCommand(new L0({data:F[G],p1:RQ(G,F.length),p2:E0(G,F.length,!0)}));if(!b(t))return z({error:t.error})}}let f=[];for(let F=0;F<N.actions.length;F+=1){if(N.actions[F].spendValue===0n)continue;let G=await this.api.sendCommand(new B0({actionIndex:F}));if(!b(G))return z({error:G.error});f.push(G.data)}let y=[];if(O)for(let F=0;F<Z.actions.length;F+=1){if(Z.actions[F].spendValue===0n)continue;let G=await this.api.sendCommand(new T0({actionIndex:F}));if(!b(G))return z({error:G.error});y.push(G.data)}let h=[];for(let F=0;F<X.length;F+=1){let G=await this.api.sendCommand(new V0({inputIndex:F}));if(!b(G))return z({error:G.error});h.push(G.data.signature)}return z({data:{orchard:f,transparentInputSigs:h,ironwood:y}})}}var M$=74;class g0{constructor(Q){this.args=Q}name="HashOutputFull";errorHelper=new D(R,M);getApdu(){let Q={cla:v,ins:M$,p1:this.args.isLastChunk?m.NEXT:m.FIRST,p2:g.DEFAULT};return new W(Q).addBufferToData(this.args.outputChunk).build()}parseResponse(Q){return U.fromNullable(this.errorHelper.getError(Q)).orDefault(P({data:Q}))}}var W$=74;class S0{constructor(Q){this.args=Q}name="ProvideOutputFullChangePath";errorHelper=new D(R,M);getApdu(){let Q={cla:v,ins:W$,p1:m.CHANGE_PATH,p2:g.DEFAULT},X=new W(Q),$=H.splitPath(this.args.derivationPath);return X.add8BitUIntToData($.length),$.forEach((Y)=>{X.add32BitUIntToData(Y)}),X.build()}parseResponse(Q){return U.fromNullable(this.errorHelper.getError(Q)).orDefault(P({data:Q}))}}class m0{constructor(Q){this.args=Q}name="SignTransaction";errorHelper=new D(R,M);getApdu(){let{derivationPath:Q,expiryHeight:X,lockTime:$,sigHashType:Y}=this.args,J=H.splitPath(Q),N=qX($),Z={cla:v,ins:72,p2:g.DEFAULT,p1:0},q=new W(Z);return q.add8BitUIntToData(J.length),J.forEach((O)=>{q.add32BitUIntToData(O)}),q.add8BitUIntToData(0).addBufferToData(N).add8BitUIntToData(Y),q.addBufferToData(X),q.build()}parseResponse(Q){return U.fromNullable(this.errorHelper.getError(Q)).orDefaultLazy(()=>{let X=new Uint8Array(Q.data);return X.length>0&&(X[0]=48),P({data:{signature:X}})})}}var U$=68;class MQ{constructor(Q){this.args=Q}name="StartUntrustedHashTransactionInput";errorHelper=new D(R,M);getApdu(){let Q={cla:v,ins:U$,p1:this.args.firstRound?m.FIRST:m.NEXT,p2:this.args.newTransaction?g.SAPLING:g.HASH_INPUT_CONTINUE};return new W(Q).addBufferToData(this.args.transactionData).build()}parseResponse(Q){return U.fromNullable(this.errorHelper.getError(Q)).orDefault(P({data:Q}))}}var D$=72;class H0{constructor(Q){this.args=Q}name="ZcashSaplingOutputCommit";errorHelper=new D(R,M);getApdu(){let{lockTime:Q,sigHashType:X,expiryHeight:$}=this.args,Y=L(E(Q),Uint8Array.of(0,0),Uint8Array.of(X&255),$);if(Y.length!==11)throw Error("ZcashSaplingOutputCommit: internal payload length");let J={cla:v,ins:D$,p1:0,p2:g.DEFAULT};return new W(J).addBufferToData(Y).build()}parseResponse(Q){return U.fromNullable(this.errorHelper.getError(Q)).orDefault(P({data:{committed:!0}}))}}function aX(Q,X){if(Q.length!==X.length)return!1;for(let $=0;$<Q.length;$+=1)if(Q[$]!==X[$])return!1;return!0}class h0{constructor(Q,X){this.api=Q,this.args=X}async run(){let Q={...{lockTime:PX,sigHashType:gQ,additionals:[]},...this.args.transactionArg},{inputs:X,associatedKeysets:$,blockHeight:Y,changePath:J,outputScriptHex:N,lockTime:Z,sigHashType:q,additionals:O,expiryHeight:w}=Q,K=new Set(O.map((B)=>B.trim().toLowerCase()));if(!K.has("zcash"))return z({error:new j('signTransaction requires additionals to include "zcash" (Zcash transparent signing only).')});let k=K.has("sapling");if(X.length!==$.length)return z({error:new j("Inputs and associatedKeysets lengths mismatch")});let x=E(Z),f=GX(),y;try{y=IQ(w)}catch(B){return z({error:new j(B instanceof Error?B.message:"Invalid expiryHeight")})}let h=_Q(N)??new Uint8Array,F=new Uint8Array(0),G={inputs:[],version:f,timestamp:new Uint8Array(0)};G.nVersionGroupId=Uint8Array.of(10,39,167,38),G.nExpiryHeight=y,G.extraData=k?new Uint8Array(11):Uint8Array.of(0);let t=await this.collectTrustedInputsAndOutputs(X);if(!("trustedInputs"in t))return t;let{trustedInputs:jQ,regularOutputs:u}=t;G.inputs=X.map((B,WQ)=>{let N8=E(B.length>=4&&typeof B[3]=="number"?B[3]:x0);return{script:u[WQ].script,prevout:F,sequence:N8}});let NQ=await this.collectPublicKeys($);if(!Array.isArray(NQ))return NQ;let tQ=NQ,eQ=await this.shouldProvideChangePath(J,$,tQ,h);if(typeof eQ!="boolean")return eQ;G.consensusBranchId=SQ(Y);let A0=await this.executeHashSequence(G,jQ,J,eQ,h,k,Z,q,y);if(A0)return A0;let rQ=await this.signEachInput(X,$,u,G,jQ,Z,q,y);if(!Array.isArray(rQ))return rQ;let d0=rQ;G.version=f,G.consensusBranchId=SQ(Y);for(let B=0;B<X.length;B+=1){G.inputs[B].script=L(Uint8Array.of(d0[B].length),d0[B],Uint8Array.of(tQ[B].length),tQ[B]);let WQ=4;G.inputs[B].prevout=jQ[B].value.subarray(WQ,WQ+36)}G.locktime=x;let J8=L(G0(G,G.timestamp),h,Uint8Array.of(0,0,0));return z({data:_0(J8,!0)})}async collectTrustedInputsAndOutputs(Q){let X=[],$=[];for(let Y of Q){let J=Y[0],N=zX(J);N.consensusBranchId=SQ(Y[4]);let Z=await this.getTrustedInput(Y[1],N,J.serializedPreviousTransactionOverride);if(typeof Z!="string")return Z;let q=E(Y.length>=4&&typeof Y[3]=="number"?Y[3]:x0);if(X.push({trustedInput:!0,value:_Q(Z)??new Uint8Array,sequence:q}),N.outputs&&Y[1]<=N.outputs.length-1){let O=N.outputs[Y[1]];if(!O)return z({error:new j("Invalid output index in previous transaction")});$.push(O)}else return z({error:new j("Invalid output index in previous transaction")})}return{trustedInputs:X,regularOutputs:$}}async collectPublicKeys(Q){let X=[];for(let $ of Q){let Y=await this.api.sendCommand(new KQ({derivationPath:$,checkOnDevice:!1}));if(!b(Y))return z({error:Y.error});X.push(w0(Y.data.publicKey))}return X}async shouldProvideChangePath(Q,X,$,Y){let J=typeof Q=="string"?Q.trim():"";if(J==="")return!1;let N=X.indexOf(J),Z;if(N>=0)Z=$[N];else{let q=await this.api.sendCommand(new KQ({derivationPath:J,checkOnDevice:!1}));if(!b(q))return z({error:q.error});Z=q.data.publicKey}try{let q=xX(Z),O=jX(Y);return O!==null&&O.length>=2&&O.some((w)=>aX(w,q))}catch{return!1}}async executeHashSequence(Q,X,$,Y,J,N,Z,q,O){let w=await this.startUntrustedHashTransactionInput(!0,Q,X);if(w)return w;if(Y&&$){let k=await this.api.sendCommand(new S0({derivationPath:$}));if(!b(k))return z({error:k.error})}let K=await this.hashOutputFull(J);if(K)return K;if(N){let k=await this.api.sendCommand(new H0({lockTime:Z,sigHashType:q,expiryHeight:O}));if(!b(k))return z({error:k.error})}return null}async signEachInput(Q,X,$,Y,J,N,Z,q){let O=[];for(let w=0;w<Q.length;w+=1){let K=Q[w],k=K.length>=3&&typeof K[2]=="string"?_Q(K[2])??new Uint8Array:$[w].script,x={...Y,inputs:[{...Y.inputs[w],script:k}]},f=await this.startUntrustedHashTransactionInput(!1,x,[J[w]]);if(f)return f;let y=await this.api.sendCommand(new m0({derivationPath:X[w],lockTime:N,sigHashType:Z,expiryHeight:q}));if(!b(y))return z({error:y.error});O.push(y.data.signature)}return O}async getTrustedInput(Q,X,$){let Y=$&&$.length>0?$:G0(X,X.timestamp),J=await new vQ(this.api,{transaction:Y,indexLookup:Q}).run();return nX(J)?_0(J.data.data,!1):z({error:J.error})}async hashOutputFull(Q){let X=0;for(;X<Q.length;){let $=X+fQ>=Q.length?Q.length-X:fQ,Y=Q.subarray(X,X+$),J=await this.api.sendCommand(new g0({outputChunk:Y,isLastChunk:X+$===Q.length}));if(!b(J))return z({error:J.error});X+=$}return null}buildScriptBlocks(Q){if(Q.script.length===0)return[Q.sequence];let X=[],$=0;for(;$!==Q.script.length;){let Y=Math.min(fQ,Q.script.length-$),J=Q.script.subarray($,$+Y);X.push($+Y===Q.script.length?L(J,Q.sequence):Uint8Array.from(J)),$+=Y}return X}async sendInputBlocks(Q,X){for(let $ of Q){let Y=await this.api.sendCommand(new MQ({newTransaction:X,firstRound:!1,transactionData:$}));if(!b(Y))return z({error:Y.error})}return null}async startUntrustedHashTransactionInput(Q,X,$){let Y=X.consensusBranchId||new Uint8Array(0),J=L(X.version,X.timestamp||new Uint8Array(0),X.nVersionGroupId||new Uint8Array(0),Y,C(X.inputs.length)),N=await this.api.sendCommand(new MQ({newTransaction:Q,firstRound:!0,transactionData:J}));if(!b(N))return z({error:N.error});for(let Z=0;Z<X.inputs.length;Z+=1){let q=X.inputs[Z],O=$[Z].value,w=$[Z].trustedInput?Uint8Array.of(1,O.length):Uint8Array.of(0),K=L(w,O,C(q.script.length)),k=await this.api.sendCommand(new MQ({newTransaction:Q,firstRound:!1,transactionData:K}));if(!b(k))return z({error:k.error});let x=await this.sendInputBlocks(this.buildScriptBlocks(q),Q);if(x)return x}return null}}var{defineProperty:L$,getOwnPropertyDescriptor:b$}=Object,C$=(Q,X,$,Y)=>{for(var J=Y>1?void 0:Y?b$(X,$):X,N=Q.length-1,Z;N>=0;N--)(Z=Q[N])&&(J=(Y?Z(X,$,J):Z(J))||J);return Y&&J&&L$(X,$,J),J},iX=(Q,X)=>($,Y)=>X($,Y,Q),uQ=class{constructor(Q,X){this.dmk=Q,this.sessionId=X}getAppConfig(Q){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new hQ({input:{command:new Q0,appName:d,requiredUserInteraction:o.None,skipOpenApp:Q.skipOpenApp}})})}getAddress(Q){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new hQ({input:{command:new KQ(Q),appName:d,requiredUserInteraction:Q.checkOnDevice?o.VerifyAddress:o.None,skipOpenApp:Q.skipOpenApp}})})}getShieldedAddress(Q){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new zQ({input:{task:async(X)=>new J0(X,{derivationPath:Q.derivationPath,checkOnDevice:Q.checkOnDevice}).run(),appName:d,requiredUserInteraction:Q.checkOnDevice?o.VerifyAddress:o.None,skipOpenApp:Q.skipOpenApp}})})}getFullViewingKey(Q){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new zQ({input:{task:async(X)=>new $0(X,{derivationPath:Q.derivationPath,mode:Q.mode}).run(),appName:d,requiredUserInteraction:o.None,skipOpenApp:Q.skipOpenApp}})})}signTransaction(Q){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new zQ({input:{task:async(X)=>new h0(X,Q).run(),appName:d,requiredUserInteraction:o.SignTransaction,skipOpenApp:Q.skipOpenApp??!1}})})}signPcztTransaction(Q){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new zQ({input:{task:async(X)=>new f0(X,{transaction:Q.transaction}).run(),appName:d,requiredUserInteraction:o.SignTransaction,skipOpenApp:Q.skipOpenApp??!1}})})}signMessage(Q){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new hQ({input:{command:new X0(Q),appName:d,requiredUserInteraction:o.SignPersonalMessage,skipOpenApp:Q.skipOpenApp}})})}getTrustedInput(Q){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new zQ({input:{task:async(X)=>new vQ(X,Q).run(),appName:d,requiredUserInteraction:o.None,skipOpenApp:Q.skipOpenApp??!1}})})}};uQ=C$([I(),iX(0,T(ZQ.Dmk)),iX(1,T(ZQ.SessionId))],uQ);var tX=()=>new p(({bind:Q})=>{Q(V.AppBinding).to(uQ)});var YQ={GetAddressUseCase:Symbol.for("GetAddressUseCase"),GetFullViewingKeyUseCase:Symbol.for("GetFullViewingKeyUseCase"),GetShieldedAddressUseCase:Symbol.for("GetShieldedAddressUseCase")};var{defineProperty:y$,getOwnPropertyDescriptor:T$}=Object,B$=(Q,X,$,Y)=>{for(var J=Y>1?void 0:Y?T$(X,$):X,N=Q.length-1,Z;N>=0;N--)(Z=Q[N])&&(J=(Y?Z(X,$,J):Z(J))||J);return Y&&J&&y$(X,$,J),J},V$=(Q,X)=>($,Y)=>X($,Y,Q),AQ=class{_appBinder;constructor(Q){this._appBinder=Q}execute(Q,X){return this._appBinder.getAddress({derivationPath:Q,checkOnDevice:X?.checkOnDevice??!1,skipOpenApp:X?.skipOpenApp??!1})}};AQ=B$([I(),V$(0,T(V.AppBinding))],AQ);var{defineProperty:E$,getOwnPropertyDescriptor:I$}=Object,f$=(Q,X,$,Y)=>{for(var J=Y>1?void 0:Y?I$(X,$):X,N=Q.length-1,Z;N>=0;N--)(Z=Q[N])&&(J=(Y?Z(X,$,J):Z(J))||J);return Y&&J&&E$(X,$,J),J},g$=(Q,X)=>($,Y)=>X($,Y,Q),dQ=class{_appBinder;constructor(Q){this._appBinder=Q}execute(Q,X){return this._appBinder.getFullViewingKey({derivationPath:Q,mode:X?.mode??"ufvk",skipOpenApp:X?.skipOpenApp??!1})}};dQ=f$([I(),g$(0,T(V.AppBinding))],dQ);var{defineProperty:S$,getOwnPropertyDescriptor:m$}=Object,H$=(Q,X,$,Y)=>{for(var J=Y>1?void 0:Y?m$(X,$):X,N=Q.length-1,Z;N>=0;N--)(Z=Q[N])&&(J=(Y?Z(X,$,J):Z(J))||J);return Y&&J&&S$(X,$,J),J},_$=(Q,X)=>($,Y)=>X($,Y,Q),cQ=class{_appBinder;constructor(Q){this._appBinder=Q}execute(Q,X){return this._appBinder.getShieldedAddress({derivationPath:Q,checkOnDevice:X?.checkOnDevice??!1,skipOpenApp:X?.skipOpenApp??!1})}};cQ=H$([I(),_$(0,T(V.AppBinding))],cQ);var eX=()=>new p(({bind:Q})=>{Q(YQ.GetAddressUseCase).to(AQ),Q(YQ.GetFullViewingKeyUseCase).to(dQ),Q(YQ.GetShieldedAddressUseCase).to(cQ)});var lQ={GetAppConfigUseCase:Symbol.for("GetAppConfigUseCase")};var{defineProperty:h$,getOwnPropertyDescriptor:u$}=Object,A$=(Q,X,$,Y)=>{for(var J=Y>1?void 0:Y?u$(X,$):X,N=Q.length-1,Z;N>=0;N--)(Z=Q[N])&&(J=(Y?Z(X,$,J):Z(J))||J);return Y&&J&&h$(X,$,J),J},d$=(Q,X)=>($,Y)=>X($,Y,Q),oQ=class{_appBinder;constructor(Q){this._appBinder=Q}execute(){return this._appBinder.getAppConfig({skipOpenApp:!1})}};oQ=A$([I(),d$(0,T(V.AppBinding))],oQ);var rX=()=>new p(({bind:Q})=>{Q(lQ.GetAppConfigUseCase).to(oQ)});var pQ={SignMessageUseCase:Symbol.for("SignMessageUseCase")};var{defineProperty:c$,getOwnPropertyDescriptor:l$}=Object,o$=(Q,X,$,Y)=>{for(var J=Y>1?void 0:Y?l$(X,$):X,N=Q.length-1,Z;N>=0;N--)(Z=Q[N])&&(J=(Y?Z(X,$,J):Z(J))||J);return Y&&J&&c$(X,$,J),J},p$=(Q,X)=>($,Y)=>X($,Y,Q),sQ=class{_appBinder;constructor(Q){this._appBinder=Q}execute(Q,X){return this._appBinder.signMessage({derivationPath:Q,message:X,skipOpenApp:!1})}};sQ=o$([I(),p$(0,T(V.AppBinding))],sQ);var Q8=()=>new p(({bind:Q})=>{Q(pQ.SignMessageUseCase).to(sQ)});var JQ={GetTrustedInputUseCase:Symbol.for("GetTrustedInputUseCase"),SignTransactionUseCase:Symbol.for("SignTransactionUseCase"),SignPcztTransactionUseCase:Symbol.for("SignPcztTransactionUseCase")};var{defineProperty:s$,getOwnPropertyDescriptor:a$}=Object,n$=(Q,X,$,Y)=>{for(var J=Y>1?void 0:Y?a$(X,$):X,N=Q.length-1,Z;N>=0;N--)(Z=Q[N])&&(J=(Y?Z(X,$,J):Z(J))||J);return Y&&J&&s$(X,$,J),J},i$=(Q,X)=>($,Y)=>X($,Y,Q),aQ=class{_appBinder;constructor(Q){this._appBinder=Q}execute(Q,X){return this._appBinder.getTrustedInput({transaction:Q,indexLookup:X?.indexLookup,skipOpenApp:X?.skipOpenApp??!1})}};aQ=n$([I(),i$(0,T(V.AppBinding))],aQ);var{defineProperty:t$,getOwnPropertyDescriptor:e$}=Object,r$=(Q,X,$,Y)=>{for(var J=Y>1?void 0:Y?e$(X,$):X,N=Q.length-1,Z;N>=0;N--)(Z=Q[N])&&(J=(Y?Z(X,$,J):Z(J))||J);return Y&&J&&t$(X,$,J),J},QY=(Q,X)=>($,Y)=>X($,Y,Q),nQ=class{_appBinder;constructor(Q){this._appBinder=Q}execute(Q,X){return this._appBinder.signPcztTransaction({transaction:Q,skipOpenApp:X?.skipOpenApp})}};nQ=r$([I(),QY(0,T(V.AppBinding))],nQ);var{defineProperty:XY,getOwnPropertyDescriptor:$Y}=Object,YY=(Q,X,$,Y)=>{for(var J=Y>1?void 0:Y?$Y(X,$):X,N=Q.length-1,Z;N>=0;N--)(Z=Q[N])&&(J=(Y?Z(X,$,J):Z(J))||J);return Y&&J&&XY(X,$,J),J},JY=(Q,X)=>($,Y)=>X($,Y,Q),iQ=class{_appBinder;constructor(Q){this._appBinder=Q}execute(Q,X){return this._appBinder.signTransaction({transactionArg:Q,skipOpenApp:X?.skipOpenApp})}};iQ=YY([I(),JY(0,T(V.AppBinding))],iQ);var X8=()=>new p(({bind:Q})=>{Q(JQ.GetTrustedInputUseCase).to(aQ),Q(JQ.SignTransactionUseCase).to(iQ),Q(JQ.SignPcztTransactionUseCase).to(nQ)});var Y8=({dmk:Q,sessionId:X})=>{let $=new $8;return $.bind(ZQ.Dmk).toConstantValue(Q),$.bind(ZQ.SessionId).toConstantValue(X),$.loadSync(tX(),rX(),eX(),X8(),Q8()),$};class u0{_container;constructor({dmk:Q,sessionId:X}){this._container=Y8({dmk:Q,sessionId:X})}getAppConfig(){return this._container.get(lQ.GetAppConfigUseCase).execute()}getAddress(Q,X){return this._container.get(YQ.GetAddressUseCase).execute(Q,X)}getFullViewingKey(Q,X){return this._container.get(YQ.GetFullViewingKeyUseCase).execute(Q,X)}getShieldedAddress(Q,X){return this._container.get(YQ.GetShieldedAddressUseCase).execute(Q,X)}signTransaction(Q,X){return this._container.get(JQ.SignTransactionUseCase).execute(Q,X)}signPcztTransaction(Q,X){return this._container.get(JQ.SignPcztTransactionUseCase).execute(Q,X)}signMessage(Q,X){return this._container.get(pQ.SignMessageUseCase).execute(Q,X)}getTrustedInput(Q,X){return this._container.get(JQ.GetTrustedInputUseCase).execute(Q,X)}}class NY{_dmk;_sessionId;constructor({dmk:Q,sessionId:X}){this._dmk=Q,this._sessionId=X}build(){return new u0({dmk:this._dmk,sessionId:this._sessionId})}}export{NY as SignerZcashBuilder};
|
|
2
|
+
|
|
3
|
+
//# debugId=1EFBC544E95CC49764756E2164756E21
|
|
4
|
+
//# sourceMappingURL=chunk-gr3eswf1.js.map
|