Page MenuHomePhabricator

[Cashtab] Add Trezor hardware wallet support for XEC
DraftPublic

Authored by bytesofman on Tue, Jul 21, 11:17.
This is a draft revision that has not yet been submitted for review.

Details

Reviewers
None
Group Reviewers
Restricted Project
Summary

Allow connecting a Trezor on web and extension as a watch-only
HD wallet at m/44'/899'/0'. Balance, history, and receive work via xpub;
XEC sends use buildUnsigned plus TrezorConnect.signTransaction (ECDSA).
Token and Agora actions stay disabled until firmware supports multi-push
OP_RETURN. Inject Ecash into Connect's coin list (missing upstream).
Add P2PKHEcdsaSignatory and WatchOnlyWallet ActionableWallet /
buildUnsigned in ecash-lib / ecash-wallet.

Test Plan
  • cd cashtab && npm test -- --testPathPatterns='trezor/__tests__/paths' --watchAll=false --coverage=false
  • Web: Settings → Wallets → Connect Trezor (firmware with native eCash); confirm xpub on device; activate wallet; verify balance/history/receive
  • Send XEC with Trezor active; confirm on device; tx appears in chronik
  • Confirm Tokens/Agora nav hidden for Trezor; Backup explains hardware wallet
  • Extension: Connect Trezor still works (host_permissions for connect.trezor.io)
  • Android: Connect Trezor button not shown

Event Timeline

Tail of the build log:

> tsc && tsc -p ./tsconfig.build.json

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/ecash-herald-tests
Lockfile is up to date, resolution step is skipped
Done in 808ms using pnpm v10.24.0

> ecashaddrjs@2.0.0 build /work/modules/ecashaddrjs
> tsc

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/ecash-herald-tests
Lockfile is up to date, resolution step is skipped
Done in 875ms using pnpm v10.24.0

> ecashaddrjs@2.0.0 build /work/modules/ecashaddrjs
> tsc

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/ecash-herald-tests
Scope: 2 of 25 workspace projects
Lockfile is up to date, resolution step is skipped
Done in 809ms using pnpm v10.24.0

> chronik-client@4.3.0 build /work/modules/chronik-client
> tsc

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/ecash-herald-tests
Scope: 4 of 25 workspace projects
Lockfile is up to date, resolution step is skipped
Done in 844ms using pnpm v10.24.0

> ecash-lib@4.14.0 build /work/modules/ecash-lib
> tsc && tsc -p ./tsconfig.build.json && rm -rf ./dist/ffi && cp -r ./src/ffi ./dist

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/ecash-herald-tests
Scope: 6 of 25 workspace projects
Lockfile is up to date, resolution step is skipped
Progress: resolved 1, reused 0, downloaded 0, added 0
.                                        |   +2 +
Progress: resolved 2, reused 0, downloaded 2, added 2, done
Done in 1.1s using pnpm v10.24.0

> ecash-wallet@6.2.0 build /work/modules/ecash-wallet
> tsc -p ./tsconfig.build.json

src/wallet.ts(2787,15): error TS2322: Type '{ version: number; locktime: number; inputs: { prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]; outputs: { ...; }[]; feeSats: bigint; }[]' is not assignable to type 'UnsignedBuiltTx[]'.
  Type '{ version: number; locktime: number; inputs: { prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]; outputs: { ...; }[]; feeSats: bigint; }' is not assignable to type 'UnsignedBuiltTx'.
    Types of property 'inputs' are incompatible.
      Type '{ prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]' is not assignable to type '{ prevOut: { txid: string; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]'.
        Type '{ prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }' is not assignable to type '{ prevOut: { txid: string; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }'.
          The types of 'prevOut.txid' are incompatible between these types.
            Type 'string | Uint8Array<ArrayBufferLike>' is not assignable to type 'string'.
              Type 'Uint8Array<ArrayBufferLike>' is not assignable to type 'string'.
/work/modules/ecash-wallet:
 ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL  ecash-wallet@6.2.0 build: `tsc -p ./tsconfig.build.json`
Exit status 2
Build ecash-herald-tests failed with exit code 2

Tail of the build log:

Done in 781ms using pnpm v10.24.0

> b58-ts@0.1.0 build /work/modules/b58-ts
> tsc && tsc -p ./tsconfig.build.json

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/cashtab-tests
Lockfile is up to date, resolution step is skipped
Done in 810ms using pnpm v10.24.0

> ecashaddrjs@2.0.0 build /work/modules/ecashaddrjs
> tsc

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/cashtab-tests
Lockfile is up to date, resolution step is skipped
Done in 797ms using pnpm v10.24.0

> ecashaddrjs@2.0.0 build /work/modules/ecashaddrjs
> tsc

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/cashtab-tests
Scope: 2 of 25 workspace projects
Lockfile is up to date, resolution step is skipped
Done in 904ms using pnpm v10.24.0

> chronik-client@4.3.0 build /work/modules/chronik-client
> tsc

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/cashtab-tests
Scope: 4 of 25 workspace projects
Lockfile is up to date, resolution step is skipped
Done in 846ms using pnpm v10.24.0

> ecash-lib@4.14.0 build /work/modules/ecash-lib
> tsc && tsc -p ./tsconfig.build.json && rm -rf ./dist/ffi && cp -r ./src/ffi ./dist

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/cashtab-tests
Scope: 6 of 25 workspace projects
Lockfile is up to date, resolution step is skipped
Done in 874ms using pnpm v10.24.0

> ecash-wallet@6.2.0 build /work/modules/ecash-wallet
> tsc -p ./tsconfig.build.json

src/wallet.ts(2787,15): error TS2322: Type '{ version: number; locktime: number; inputs: { prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]; outputs: { ...; }[]; feeSats: bigint; }[]' is not assignable to type 'UnsignedBuiltTx[]'.
  Type '{ version: number; locktime: number; inputs: { prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]; outputs: { ...; }[]; feeSats: bigint; }' is not assignable to type 'UnsignedBuiltTx'.
    Types of property 'inputs' are incompatible.
      Type '{ prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]' is not assignable to type '{ prevOut: { txid: string; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]'.
        Type '{ prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }' is not assignable to type '{ prevOut: { txid: string; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }'.
          The types of 'prevOut.txid' are incompatible between these types.
            Type 'string | Uint8Array<ArrayBufferLike>' is not assignable to type 'string'.
              Type 'Uint8Array<ArrayBufferLike>' is not assignable to type 'string'.
/work/modules/ecash-wallet:
 ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL  ecash-wallet@6.2.0 build: `tsc -p ./tsconfig.build.json`
Exit status 2
Build cashtab-tests failed with exit code 2

Tail of the build log:

Done in 788ms using pnpm v10.24.0

> b58-ts@0.1.0 build /work/modules/b58-ts
> tsc && tsc -p ./tsconfig.build.json

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/cashtab-faucet-tests
Lockfile is up to date, resolution step is skipped
Done in 801ms using pnpm v10.24.0

> ecashaddrjs@2.0.0 build /work/modules/ecashaddrjs
> tsc

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/cashtab-faucet-tests
Lockfile is up to date, resolution step is skipped
Done in 808ms using pnpm v10.24.0

> ecashaddrjs@2.0.0 build /work/modules/ecashaddrjs
> tsc

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/cashtab-faucet-tests
Scope: 2 of 25 workspace projects
Lockfile is up to date, resolution step is skipped
Done in 867ms using pnpm v10.24.0

> chronik-client@4.3.0 build /work/modules/chronik-client
> tsc

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/cashtab-faucet-tests
Scope: 4 of 25 workspace projects
Lockfile is up to date, resolution step is skipped
Done in 858ms using pnpm v10.24.0

> ecash-lib@4.14.0 build /work/modules/ecash-lib
> tsc && tsc -p ./tsconfig.build.json && rm -rf ./dist/ffi && cp -r ./src/ffi ./dist

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/cashtab-faucet-tests
Scope: 6 of 25 workspace projects
Lockfile is up to date, resolution step is skipped
Done in 853ms using pnpm v10.24.0

> ecash-wallet@6.2.0 build /work/modules/ecash-wallet
> tsc -p ./tsconfig.build.json

src/wallet.ts(2787,15): error TS2322: Type '{ version: number; locktime: number; inputs: { prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]; outputs: { ...; }[]; feeSats: bigint; }[]' is not assignable to type 'UnsignedBuiltTx[]'.
  Type '{ version: number; locktime: number; inputs: { prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]; outputs: { ...; }[]; feeSats: bigint; }' is not assignable to type 'UnsignedBuiltTx'.
    Types of property 'inputs' are incompatible.
      Type '{ prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]' is not assignable to type '{ prevOut: { txid: string; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]'.
        Type '{ prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }' is not assignable to type '{ prevOut: { txid: string; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }'.
          The types of 'prevOut.txid' are incompatible between these types.
            Type 'string | Uint8Array<ArrayBufferLike>' is not assignable to type 'string'.
              Type 'Uint8Array<ArrayBufferLike>' is not assignable to type 'string'.
/work/modules/ecash-wallet:
 ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL  ecash-wallet@6.2.0 build: `tsc -p ./tsconfig.build.json`
Exit status 2
Build cashtab-faucet-tests failed with exit code 2

Tail of the build log:

> tsc && tsc -p ./tsconfig.build.json

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/notifications-server-tests
Lockfile is up to date, resolution step is skipped
Done in 799ms using pnpm v10.24.0

> ecashaddrjs@2.0.0 build /work/modules/ecashaddrjs
> tsc

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/notifications-server-tests
Lockfile is up to date, resolution step is skipped
Done in 797ms using pnpm v10.24.0

> ecashaddrjs@2.0.0 build /work/modules/ecashaddrjs
> tsc

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/notifications-server-tests
Scope: 2 of 25 workspace projects
Lockfile is up to date, resolution step is skipped
Done in 838ms using pnpm v10.24.0

> chronik-client@4.3.0 build /work/modules/chronik-client
> tsc

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/notifications-server-tests
Scope: 4 of 25 workspace projects
Lockfile is up to date, resolution step is skipped
Done in 881ms using pnpm v10.24.0

> ecash-lib@4.14.0 build /work/modules/ecash-lib
> tsc && tsc -p ./tsconfig.build.json && rm -rf ./dist/ffi && cp -r ./src/ffi ./dist

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/notifications-server-tests
Scope: 6 of 25 workspace projects
Lockfile is up to date, resolution step is skipped
Progress: resolved 1, reused 0, downloaded 0, added 0
.                                        |   +2 +
Progress: resolved 2, reused 0, downloaded 2, added 2, done
Done in 957ms using pnpm v10.24.0

> ecash-wallet@6.2.0 build /work/modules/ecash-wallet
> tsc -p ./tsconfig.build.json

src/wallet.ts(2787,15): error TS2322: Type '{ version: number; locktime: number; inputs: { prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]; outputs: { ...; }[]; feeSats: bigint; }[]' is not assignable to type 'UnsignedBuiltTx[]'.
  Type '{ version: number; locktime: number; inputs: { prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]; outputs: { ...; }[]; feeSats: bigint; }' is not assignable to type 'UnsignedBuiltTx'.
    Types of property 'inputs' are incompatible.
      Type '{ prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]' is not assignable to type '{ prevOut: { txid: string; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]'.
        Type '{ prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }' is not assignable to type '{ prevOut: { txid: string; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }'.
          The types of 'prevOut.txid' are incompatible between these types.
            Type 'string | Uint8Array<ArrayBufferLike>' is not assignable to type 'string'.
              Type 'Uint8Array<ArrayBufferLike>' is not assignable to type 'string'.
/work/modules/ecash-wallet:
 ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL  ecash-wallet@6.2.0 build: `tsc -p ./tsconfig.build.json`
Exit status 2
Build notifications-server-tests failed with exit code 2

Tail of the build log:

> tsc && tsc -p ./tsconfig.build.json

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/ecash-parse
Lockfile is up to date, resolution step is skipped
Done in 846ms using pnpm v10.24.0

> ecashaddrjs@2.0.0 build /work/modules/ecashaddrjs
> tsc

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/ecash-parse
Lockfile is up to date, resolution step is skipped
Done in 818ms using pnpm v10.24.0

> ecashaddrjs@2.0.0 build /work/modules/ecashaddrjs
> tsc

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/ecash-parse
Scope: 2 of 25 workspace projects
Lockfile is up to date, resolution step is skipped
Done in 877ms using pnpm v10.24.0

> chronik-client@4.3.0 build /work/modules/chronik-client
> tsc

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/ecash-parse
Scope: 4 of 25 workspace projects
Lockfile is up to date, resolution step is skipped
Done in 854ms using pnpm v10.24.0

> ecash-lib@4.14.0 build /work/modules/ecash-lib
> tsc && tsc -p ./tsconfig.build.json && rm -rf ./dist/ffi && cp -r ./src/ffi ./dist

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/ecash-parse
Scope: 6 of 25 workspace projects
Lockfile is up to date, resolution step is skipped
Progress: resolved 1, reused 0, downloaded 0, added 0
.                                        |   +2 +
Progress: resolved 2, reused 0, downloaded 2, added 2, done
Done in 1.1s using pnpm v10.24.0

> ecash-wallet@6.2.0 build /work/modules/ecash-wallet
> tsc -p ./tsconfig.build.json

src/wallet.ts(2787,15): error TS2322: Type '{ version: number; locktime: number; inputs: { prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]; outputs: { ...; }[]; feeSats: bigint; }[]' is not assignable to type 'UnsignedBuiltTx[]'.
  Type '{ version: number; locktime: number; inputs: { prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]; outputs: { ...; }[]; feeSats: bigint; }' is not assignable to type 'UnsignedBuiltTx'.
    Types of property 'inputs' are incompatible.
      Type '{ prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]' is not assignable to type '{ prevOut: { txid: string; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]'.
        Type '{ prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }' is not assignable to type '{ prevOut: { txid: string; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }'.
          The types of 'prevOut.txid' are incompatible between these types.
            Type 'string | Uint8Array<ArrayBufferLike>' is not assignable to type 'string'.
              Type 'Uint8Array<ArrayBufferLike>' is not assignable to type 'string'.
/work/modules/ecash-wallet:
 ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL  ecash-wallet@6.2.0 build: `tsc -p ./tsconfig.build.json`
Exit status 2
Build ecash-parse failed with exit code 2

Tail of the build log:

> tsc && tsc -p ./tsconfig.build.json

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/ecash-parse-tests
Lockfile is up to date, resolution step is skipped
Done in 774ms using pnpm v10.24.0

> ecashaddrjs@2.0.0 build /work/modules/ecashaddrjs
> tsc

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/ecash-parse-tests
Lockfile is up to date, resolution step is skipped
Done in 781ms using pnpm v10.24.0

> ecashaddrjs@2.0.0 build /work/modules/ecashaddrjs
> tsc

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/ecash-parse-tests
Scope: 2 of 25 workspace projects
Lockfile is up to date, resolution step is skipped
Done in 802ms using pnpm v10.24.0

> chronik-client@4.3.0 build /work/modules/chronik-client
> tsc

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/ecash-parse-tests
Scope: 4 of 25 workspace projects
Lockfile is up to date, resolution step is skipped
Done in 822ms using pnpm v10.24.0

> ecash-lib@4.14.0 build /work/modules/ecash-lib
> tsc && tsc -p ./tsconfig.build.json && rm -rf ./dist/ffi && cp -r ./src/ffi ./dist

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/ecash-parse-tests
Scope: 6 of 25 workspace projects
Lockfile is up to date, resolution step is skipped
Progress: resolved 1, reused 0, downloaded 0, added 0
.                                        |   +2 +
Progress: resolved 2, reused 0, downloaded 2, added 2, done
Done in 1.1s using pnpm v10.24.0

> ecash-wallet@6.2.0 build /work/modules/ecash-wallet
> tsc -p ./tsconfig.build.json

src/wallet.ts(2787,15): error TS2322: Type '{ version: number; locktime: number; inputs: { prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]; outputs: { ...; }[]; feeSats: bigint; }[]' is not assignable to type 'UnsignedBuiltTx[]'.
  Type '{ version: number; locktime: number; inputs: { prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]; outputs: { ...; }[]; feeSats: bigint; }' is not assignable to type 'UnsignedBuiltTx'.
    Types of property 'inputs' are incompatible.
      Type '{ prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]' is not assignable to type '{ prevOut: { txid: string; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]'.
        Type '{ prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }' is not assignable to type '{ prevOut: { txid: string; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }'.
          The types of 'prevOut.txid' are incompatible between these types.
            Type 'string | Uint8Array<ArrayBufferLike>' is not assignable to type 'string'.
              Type 'Uint8Array<ArrayBufferLike>' is not assignable to type 'string'.
/work/modules/ecash-wallet:
 ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL  ecash-wallet@6.2.0 build: `tsc -p ./tsconfig.build.json`
Exit status 2
Build ecash-parse-tests failed with exit code 2

Tail of the build log:

> tsc && tsc -p ./tsconfig.build.json

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/ecash-agora-integration-tests
Lockfile is up to date, resolution step is skipped
Done in 880ms using pnpm v10.24.0

> ecashaddrjs@2.0.0 build /work/modules/ecashaddrjs
> tsc

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/ecash-agora-integration-tests
Lockfile is up to date, resolution step is skipped
Done in 810ms using pnpm v10.24.0

> ecashaddrjs@2.0.0 build /work/modules/ecashaddrjs
> tsc

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/ecash-agora-integration-tests
Scope: 2 of 25 workspace projects
Lockfile is up to date, resolution step is skipped
Done in 827ms using pnpm v10.24.0

> chronik-client@4.3.0 build /work/modules/chronik-client
> tsc

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/ecash-agora-integration-tests
Scope: 4 of 25 workspace projects
Lockfile is up to date, resolution step is skipped
Done in 843ms using pnpm v10.24.0

> ecash-lib@4.14.0 build /work/modules/ecash-lib
> tsc && tsc -p ./tsconfig.build.json && rm -rf ./dist/ffi && cp -r ./src/ffi ./dist

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/ecash-agora-integration-tests
Scope: 6 of 25 workspace projects
Lockfile is up to date, resolution step is skipped
Progress: resolved 1, reused 0, downloaded 0, added 0
.                                        |   +2 +
Progress: resolved 2, reused 0, downloaded 2, added 2, done
Done in 948ms using pnpm v10.24.0

> ecash-wallet@6.2.0 build /work/modules/ecash-wallet
> tsc -p ./tsconfig.build.json

src/wallet.ts(2787,15): error TS2322: Type '{ version: number; locktime: number; inputs: { prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]; outputs: { ...; }[]; feeSats: bigint; }[]' is not assignable to type 'UnsignedBuiltTx[]'.
  Type '{ version: number; locktime: number; inputs: { prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]; outputs: { ...; }[]; feeSats: bigint; }' is not assignable to type 'UnsignedBuiltTx'.
    Types of property 'inputs' are incompatible.
      Type '{ prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]' is not assignable to type '{ prevOut: { txid: string; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]'.
        Type '{ prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }' is not assignable to type '{ prevOut: { txid: string; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }'.
          The types of 'prevOut.txid' are incompatible between these types.
            Type 'string | Uint8Array<ArrayBufferLike>' is not assignable to type 'string'.
              Type 'Uint8Array<ArrayBufferLike>' is not assignable to type 'string'.
/work/modules/ecash-wallet:
 ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL  ecash-wallet@6.2.0 build: `tsc -p ./tsconfig.build.json`
Exit status 2
Build ecash-agora-integration-tests failed with exit code 2

Tail of the build log:

> tsc && tsc -p ./tsconfig.build.json

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/ecash-agora-tests
Lockfile is up to date, resolution step is skipped
Done in 807ms using pnpm v10.24.0

> ecashaddrjs@2.0.0 build /work/modules/ecashaddrjs
> tsc

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/ecash-agora-tests
Lockfile is up to date, resolution step is skipped
Done in 822ms using pnpm v10.24.0

> ecashaddrjs@2.0.0 build /work/modules/ecashaddrjs
> tsc

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/ecash-agora-tests
Scope: 2 of 25 workspace projects
Lockfile is up to date, resolution step is skipped
Done in 820ms using pnpm v10.24.0

> chronik-client@4.3.0 build /work/modules/chronik-client
> tsc

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/ecash-agora-tests
Scope: 4 of 25 workspace projects
Lockfile is up to date, resolution step is skipped
Done in 864ms using pnpm v10.24.0

> ecash-lib@4.14.0 build /work/modules/ecash-lib
> tsc && tsc -p ./tsconfig.build.json && rm -rf ./dist/ffi && cp -r ./src/ffi ./dist

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/ecash-agora-tests
Scope: 6 of 25 workspace projects
Lockfile is up to date, resolution step is skipped
Progress: resolved 1, reused 0, downloaded 0, added 0
.                                        |   +2 +
Progress: resolved 2, reused 0, downloaded 2, added 2, done
Done in 911ms using pnpm v10.24.0

> ecash-wallet@6.2.0 build /work/modules/ecash-wallet
> tsc -p ./tsconfig.build.json

src/wallet.ts(2787,15): error TS2322: Type '{ version: number; locktime: number; inputs: { prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]; outputs: { ...; }[]; feeSats: bigint; }[]' is not assignable to type 'UnsignedBuiltTx[]'.
  Type '{ version: number; locktime: number; inputs: { prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]; outputs: { ...; }[]; feeSats: bigint; }' is not assignable to type 'UnsignedBuiltTx'.
    Types of property 'inputs' are incompatible.
      Type '{ prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]' is not assignable to type '{ prevOut: { txid: string; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]'.
        Type '{ prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }' is not assignable to type '{ prevOut: { txid: string; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }'.
          The types of 'prevOut.txid' are incompatible between these types.
            Type 'string | Uint8Array<ArrayBufferLike>' is not assignable to type 'string'.
              Type 'Uint8Array<ArrayBufferLike>' is not assignable to type 'string'.
/work/modules/ecash-wallet:
 ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL  ecash-wallet@6.2.0 build: `tsc -p ./tsconfig.build.json`
Exit status 2
Build ecash-agora-tests failed with exit code 2

Tail of the build log:

> tsc && tsc -p ./tsconfig.build.json

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/the-overmind-tests
Lockfile is up to date, resolution step is skipped
Done in 833ms using pnpm v10.24.0

> ecashaddrjs@2.0.0 build /work/modules/ecashaddrjs
> tsc

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/the-overmind-tests
Lockfile is up to date, resolution step is skipped
Done in 805ms using pnpm v10.24.0

> ecashaddrjs@2.0.0 build /work/modules/ecashaddrjs
> tsc

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/the-overmind-tests
Scope: 2 of 25 workspace projects
Lockfile is up to date, resolution step is skipped
Done in 878ms using pnpm v10.24.0

> chronik-client@4.3.0 build /work/modules/chronik-client
> tsc

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/the-overmind-tests
Scope: 4 of 25 workspace projects
Lockfile is up to date, resolution step is skipped
Done in 830ms using pnpm v10.24.0

> ecash-lib@4.14.0 build /work/modules/ecash-lib
> tsc && tsc -p ./tsconfig.build.json && rm -rf ./dist/ffi && cp -r ./src/ffi ./dist

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/the-overmind-tests
Scope: 6 of 25 workspace projects
Lockfile is up to date, resolution step is skipped
Progress: resolved 1, reused 0, downloaded 0, added 0
.                                        |   +2 +
Progress: resolved 2, reused 0, downloaded 2, added 2, done
Done in 877ms using pnpm v10.24.0

> ecash-wallet@6.2.0 build /work/modules/ecash-wallet
> tsc -p ./tsconfig.build.json

src/wallet.ts(2787,15): error TS2322: Type '{ version: number; locktime: number; inputs: { prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]; outputs: { ...; }[]; feeSats: bigint; }[]' is not assignable to type 'UnsignedBuiltTx[]'.
  Type '{ version: number; locktime: number; inputs: { prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]; outputs: { ...; }[]; feeSats: bigint; }' is not assignable to type 'UnsignedBuiltTx'.
    Types of property 'inputs' are incompatible.
      Type '{ prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]' is not assignable to type '{ prevOut: { txid: string; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]'.
        Type '{ prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }' is not assignable to type '{ prevOut: { txid: string; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }'.
          The types of 'prevOut.txid' are incompatible between these types.
            Type 'string | Uint8Array<ArrayBufferLike>' is not assignable to type 'string'.
              Type 'Uint8Array<ArrayBufferLike>' is not assignable to type 'string'.
/work/modules/ecash-wallet:
 ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL  ecash-wallet@6.2.0 build: `tsc -p ./tsconfig.build.json`
Exit status 2
Build the-overmind-tests failed with exit code 2

Tail of the build log:

[585/604] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/sendcoinsentry.cpp.o
[586/604] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactionrecord.cpp.o
[587/604] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/sendcoinsdialog.cpp.o
[588/604] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/signverifymessagedialog.cpp.o
[589/604] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactionview.cpp.o
[590/604] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletframe.cpp.o
[591/604] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactiontablemodel.cpp.o
[592/604] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletmodeltransaction.cpp.o
[593/604] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactiondesc.cpp.o
[594/604] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/paymentrequestplus.cpp.o
[595/604] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletcontroller.cpp.o
[596/604] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletview.cpp.o
[597/604] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletmodel.cpp.o
[598/604] Linking CXX executable src/bench/bitcoin-bench
[599/604] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrc_bitcoin.cpp.o
[600/604] Linking CXX static library src/qt/libbitcoin-qt-base.a
[601/604] Automatic MOC for target bitcoin-qt
[602/604] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/bitcoin-qt_autogen/mocs_compilation.cpp.o
[603/604] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/main.cpp.o
[604/604] Linking CXX executable src/qt/bitcoin-qt
/work /work/abc-ci-builds/ecash-wallet-integration-tests
Scope: all 25 workspace projects
Lockfile is up to date, resolution step is skipped
Progress: resolved 1, reused 0, downloaded 0, added 0
Packages: +1745
Progress: resolved 1745, reused 100, downloaded 404, added 441
Progress: resolved 1745, reused 100, downloaded 770, added 892
Progress: resolved 1745, reused 100, downloaded 1306, added 1298
Progress: resolved 1745, reused 100, downloaded 1619, added 1745, done

╭ Warning ─────────────────────────────────────────────────────────────────────╮
│                                                                              │
│   Ignored build scripts: @firebase/util, @stellar/stellar-sdk, blake-hash,   │
│   core-js, cypress, esbuild, protobufjs, sharp, styled-components,           │
│   tiny-secp256k1, usb.                                                       │
│   Run "pnpm approve-builds" to pick which dependencies should be allowed     │
│   to run scripts.                                                            │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯

Done in 6.6s using pnpm v10.24.0
Scope: 6 of 25 workspace projects
Lockfile is up to date, resolution step is skipped
Done in 1s using pnpm v10.24.0
/work/abc-ci-builds/ecash-wallet-integration-tests
/work/modules/ecash-wallet /work/abc-ci-builds/ecash-wallet-integration-tests

> ecash-wallet@6.2.0 build /work/modules/ecash-wallet
> tsc -p ./tsconfig.build.json

src/wallet.ts(2787,15): error TS2322: Type '{ version: number; locktime: number; inputs: { prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]; outputs: { ...; }[]; feeSats: bigint; }[]' is not assignable to type 'UnsignedBuiltTx[]'.
  Type '{ version: number; locktime: number; inputs: { prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]; outputs: { ...; }[]; feeSats: bigint; }' is not assignable to type 'UnsignedBuiltTx'.
    Types of property 'inputs' are incompatible.
      Type '{ prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]' is not assignable to type '{ prevOut: { txid: string; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]'.
        Type '{ prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }' is not assignable to type '{ prevOut: { txid: string; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }'.
          The types of 'prevOut.txid' are incompatible between these types.
            Type 'string | Uint8Array<ArrayBufferLike>' is not assignable to type 'string'.
              Type 'Uint8Array<ArrayBufferLike>' is not assignable to type 'string'.
 ELIFECYCLE  Command failed with exit code 2.
Build ecash-wallet-integration-tests failed with exit code 2

Tail of the build log:

> tsc && tsc -p ./tsconfig.build.json

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/marlin-wallet-tests
Lockfile is up to date, resolution step is skipped
Done in 836ms using pnpm v10.24.0

> ecashaddrjs@2.0.0 build /work/modules/ecashaddrjs
> tsc

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/marlin-wallet-tests
Lockfile is up to date, resolution step is skipped
Done in 798ms using pnpm v10.24.0

> ecashaddrjs@2.0.0 build /work/modules/ecashaddrjs
> tsc

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/marlin-wallet-tests
Scope: 2 of 25 workspace projects
Lockfile is up to date, resolution step is skipped
Done in 789ms using pnpm v10.24.0

> chronik-client@4.3.0 build /work/modules/chronik-client
> tsc

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/marlin-wallet-tests
Scope: 4 of 25 workspace projects
Lockfile is up to date, resolution step is skipped
Done in 914ms using pnpm v10.24.0

> ecash-lib@4.14.0 build /work/modules/ecash-lib
> tsc && tsc -p ./tsconfig.build.json && rm -rf ./dist/ffi && cp -r ./src/ffi ./dist

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/marlin-wallet-tests
Scope: 6 of 25 workspace projects
Lockfile is up to date, resolution step is skipped
Progress: resolved 1, reused 0, downloaded 0, added 0
.                                        |   +2 +
Progress: resolved 2, reused 0, downloaded 2, added 2, done
Done in 985ms using pnpm v10.24.0

> ecash-wallet@6.2.0 build /work/modules/ecash-wallet
> tsc -p ./tsconfig.build.json

src/wallet.ts(2787,15): error TS2322: Type '{ version: number; locktime: number; inputs: { prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]; outputs: { ...; }[]; feeSats: bigint; }[]' is not assignable to type 'UnsignedBuiltTx[]'.
  Type '{ version: number; locktime: number; inputs: { prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]; outputs: { ...; }[]; feeSats: bigint; }' is not assignable to type 'UnsignedBuiltTx'.
    Types of property 'inputs' are incompatible.
      Type '{ prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]' is not assignable to type '{ prevOut: { txid: string; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]'.
        Type '{ prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }' is not assignable to type '{ prevOut: { txid: string; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }'.
          The types of 'prevOut.txid' are incompatible between these types.
            Type 'string | Uint8Array<ArrayBufferLike>' is not assignable to type 'string'.
              Type 'Uint8Array<ArrayBufferLike>' is not assignable to type 'string'.
/work/modules/ecash-wallet:
 ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL  ecash-wallet@6.2.0 build: `tsc -p ./tsconfig.build.json`
Exit status 2
Build marlin-wallet-tests failed with exit code 2

Tail of the build log:

> tsc && tsc -p ./tsconfig.build.json

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/marlin-wallet-e2e-tests
Lockfile is up to date, resolution step is skipped
Done in 852ms using pnpm v10.24.0

> ecashaddrjs@2.0.0 build /work/modules/ecashaddrjs
> tsc

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/marlin-wallet-e2e-tests
Lockfile is up to date, resolution step is skipped
Done in 819ms using pnpm v10.24.0

> ecashaddrjs@2.0.0 build /work/modules/ecashaddrjs
> tsc

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/marlin-wallet-e2e-tests
Scope: 2 of 25 workspace projects
Lockfile is up to date, resolution step is skipped
Done in 868ms using pnpm v10.24.0

> chronik-client@4.3.0 build /work/modules/chronik-client
> tsc

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/marlin-wallet-e2e-tests
Scope: 4 of 25 workspace projects
Lockfile is up to date, resolution step is skipped
Done in 825ms using pnpm v10.24.0

> ecash-lib@4.14.0 build /work/modules/ecash-lib
> tsc && tsc -p ./tsconfig.build.json && rm -rf ./dist/ffi && cp -r ./src/ffi ./dist

Preparing pnpm@10.24.0 for immediate activation...
/work /work/abc-ci-builds/marlin-wallet-e2e-tests
Scope: 6 of 25 workspace projects
Lockfile is up to date, resolution step is skipped
Progress: resolved 1, reused 0, downloaded 0, added 0
.                                        |   +2 +
Progress: resolved 2, reused 0, downloaded 2, added 2, done
Done in 1.1s using pnpm v10.24.0

> ecash-wallet@6.2.0 build /work/modules/ecash-wallet
> tsc -p ./tsconfig.build.json

src/wallet.ts(2787,15): error TS2322: Type '{ version: number; locktime: number; inputs: { prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]; outputs: { ...; }[]; feeSats: bigint; }[]' is not assignable to type 'UnsignedBuiltTx[]'.
  Type '{ version: number; locktime: number; inputs: { prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]; outputs: { ...; }[]; feeSats: bigint; }' is not assignable to type 'UnsignedBuiltTx'.
    Types of property 'inputs' are incompatible.
      Type '{ prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]' is not assignable to type '{ prevOut: { txid: string; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }[]'.
        Type '{ prevOut: { txid: string | Uint8Array<ArrayBufferLike>; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }' is not assignable to type '{ prevOut: { txid: string; outIdx: number; }; sats: bigint; address: string; outputScriptHex: string; }'.
          The types of 'prevOut.txid' are incompatible between these types.
            Type 'string | Uint8Array<ArrayBufferLike>' is not assignable to type 'string'.
              Type 'Uint8Array<ArrayBufferLike>' is not assignable to type 'string'.
/work/modules/ecash-wallet:
 ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL  ecash-wallet@6.2.0 build: `tsc -p ./tsconfig.build.json`
Exit status 2
Build marlin-wallet-e2e-tests failed with exit code 2