@bsv/wallet-toolbox 2.3.3 → 2.4.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/CHANGELOG.md +2 -0
- package/docs/client.md +93 -16
- package/docs/services.md +1 -0
- package/docs/wallet.md +140 -61
- package/out/src/WalletPermissionsManager.d.ts +19 -0
- package/out/src/WalletPermissionsManager.d.ts.map +1 -1
- package/out/src/WalletPermissionsManager.js +55 -0
- package/out/src/WalletPermissionsManager.js.map +1 -1
- package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts +1 -0
- package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -1
- package/out/src/services/chaintracker/ChaintracksChainTracker.js +9 -6
- package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -1
- package/out/src/signer/methods/buildSignableTransaction.d.ts +54 -0
- package/out/src/signer/methods/buildSignableTransaction.d.ts.map +1 -1
- package/out/src/signer/methods/buildSignableTransaction.js +118 -2
- package/out/src/signer/methods/buildSignableTransaction.js.map +1 -1
- package/out/src/storage/methods/processAction.d.ts.map +1 -1
- package/out/src/storage/methods/processAction.js +38 -1
- package/out/src/storage/methods/processAction.js.map +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,8 @@ attention to changes that materially alter behavior or extend functionality.
|
|
|
6
6
|
|
|
7
7
|
## wallet-toolbox (unreleased)
|
|
8
8
|
|
|
9
|
+
- Release prep for `2.4.0`: security fix for `GHSA-36f9-7rg5-cpf8`. `buildSignableTransaction` now verifies that storage-returned outputs match the caller's requested `args.outputs` before signing (rejects substituted/altered/reclassified/missing outputs), and rejects any unrequested output that isn't client-derived change or a single commission output bounded by `MAX_STORAGE_COMMISSION_SATOSHIS`. `WalletPermissionsManager.createAction` independently verifies requested outputs are present in the signable transaction before authorizing, as defense-in-depth. Protects against a malicious or compromised `StorageClient` operator substituting or injecting outputs that would be signed and broadcast without the caller's knowledge.
|
|
10
|
+
|
|
9
11
|
- Release prep for `2.3.3`: add Arcade-first wallet service wiring, go-chaintracks
|
|
10
12
|
live client/SSE support, resilient ARC/Arcade status handling, monitor
|
|
11
13
|
rebroadcast safeguards, and callback-token redaction for Arcade SSE logs.
|
package/docs/client.md
CHANGED
|
@@ -1341,6 +1341,7 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
|
|
|
1341
1341
|
```ts
|
|
1342
1342
|
export interface ChaintracksChainTrackerOptions {
|
|
1343
1343
|
maxRetries?: number;
|
|
1344
|
+
retryDelayMs?: number;
|
|
1344
1345
|
}
|
|
1345
1346
|
```
|
|
1346
1347
|
|
|
@@ -17239,15 +17240,15 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
|
|
|
17239
17240
|
| [getBeefForTransaction](#function-getbeeffortransaction) | [processAction](#function-processaction) | [verifyOneOrNone](#function-verifyoneornone) |
|
|
17240
17241
|
| [getBeefForTxid](#function-getbeeffortxid) | [proveCertificate](#function-provecertificate) | [verifyOptionalHexString](#function-verifyoptionalhexstring) |
|
|
17241
17242
|
| [getExchangeRatesIo](#function-getexchangeratesio) | [purgeDataIdb](#function-purgedataidb) | [verifyP2PKHOwnership](#function-verifyp2pkhownership) |
|
|
17242
|
-
| [getIdentityKey](#function-getidentitykey) | [randomBytes](#function-randombytes) | [
|
|
17243
|
-
| [getListOutputsSpecOp](#function-getlistoutputsspecop) | [randomBytesBase64](#function-randombytesbase64) | [
|
|
17244
|
-
| [getProofs](#function-getproofs) | [randomBytesHex](#function-randombyteshex) | [
|
|
17245
|
-
| [getSyncChunk](#function-getsyncchunk) | [readUInt32BE](#function-readuint32be) | [
|
|
17246
|
-
| [getWhatsOnChainBlockHeaderByHash](#function-getwhatsonchainblockheaderbyhash) | [readUInt32LE](#function-readuint32le) | [
|
|
17247
|
-
| [handlePostRawTxErrorResponse](#function-handlepostrawtxerrorresponse) | [redeemServiceCharges](#function-redeemservicecharges) | [
|
|
17248
|
-
| [handleScriptHashHistoryCatch](#function-handlescripthashhistorycatch) | [resolveAutoSigned](#function-resolveautosigned) | [
|
|
17249
|
-
| [handleScriptHashHistoryResponse](#function-handlescripthashhistoryresponse) | [restoreInputsToSpendable](#function-restoreinputstospendable) |
|
|
17250
|
-
| [handleUtxoConnReset](#function-handleutxoconnreset) | [reviewStatusIdb](#function-reviewstatusidb) |
|
|
17243
|
+
| [getIdentityKey](#function-getidentitykey) | [randomBytes](#function-randombytes) | [verifyRequestedOutputsUnchanged](#function-verifyrequestedoutputsunchanged) |
|
|
17244
|
+
| [getListOutputsSpecOp](#function-getlistoutputsspecop) | [randomBytesBase64](#function-randombytesbase64) | [verifyTruthy](#function-verifytruthy) |
|
|
17245
|
+
| [getProofs](#function-getproofs) | [randomBytesHex](#function-randombyteshex) | [verifyUnlockScripts](#function-verifyunlockscripts) |
|
|
17246
|
+
| [getSyncChunk](#function-getsyncchunk) | [readUInt32BE](#function-readuint32be) | [verifyUnrequestedOutputsAreChangeOrCommission](#function-verifyunrequestedoutputsarechangeorcommission) |
|
|
17247
|
+
| [getWhatsOnChainBlockHeaderByHash](#function-getwhatsonchainblockheaderbyhash) | [readUInt32LE](#function-readuint32le) | [wait](#function-wait) |
|
|
17248
|
+
| [handlePostRawTxErrorResponse](#function-handlepostrawtxerrorresponse) | [redeemServiceCharges](#function-redeemservicecharges) | [wocGetHeadersHeaderToBlockHeader](#function-wocgetheadersheadertoblockheader) |
|
|
17249
|
+
| [handleScriptHashHistoryCatch](#function-handlescripthashhistorycatch) | [resolveAutoSigned](#function-resolveautosigned) | [workBNtoBuffer](#function-workbntobuffer) |
|
|
17250
|
+
| [handleScriptHashHistoryResponse](#function-handlescripthashhistoryresponse) | [restoreInputsToSpendable](#function-restoreinputstospendable) | [writeUInt32BE](#function-writeuint32be) |
|
|
17251
|
+
| [handleUtxoConnReset](#function-handleutxoconnreset) | [reviewStatusIdb](#function-reviewstatusidb) | [writeUInt32LE](#function-writeuint32le) |
|
|
17251
17252
|
|
|
17252
17253
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
17253
17254
|
|
|
@@ -20500,6 +20501,37 @@ export function verifyP2PKHOwnership(lockingScript: LockingScript, publicKey: Pu
|
|
|
20500
20501
|
|
|
20501
20502
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
20502
20503
|
|
|
20504
|
+
---
|
|
20505
|
+
##### Function: verifyRequestedOutputsUnchanged
|
|
20506
|
+
|
|
20507
|
+
Verify that the outputs returned by storage for caller-specified outputs match
|
|
20508
|
+
exactly what the caller requested in `args.outputs`.
|
|
20509
|
+
|
|
20510
|
+
The storage response (`StorageCreateActionResult.outputs`) is ordered, by
|
|
20511
|
+
contract, as: the caller's `args.outputs` in their original order, followed by
|
|
20512
|
+
the optional commission output, followed by storage-provided change outputs.
|
|
20513
|
+
Only the `vout` field is randomized when `randomizeOutputs` is set; the array
|
|
20514
|
+
order is stable. Therefore array index `i` (for `i < args.outputs.length`)
|
|
20515
|
+
corresponds to `args.outputs[i]`.
|
|
20516
|
+
|
|
20517
|
+
Because the locking script that is ultimately signed is taken from the storage
|
|
20518
|
+
response, an untrusted storage provider must not be allowed to alter the
|
|
20519
|
+
recipient script (or amount) of a caller-specified output. Any mismatch is a
|
|
20520
|
+
hard error. (GHSA-36f9-7rg5-cpf8)
|
|
20521
|
+
|
|
20522
|
+
```ts
|
|
20523
|
+
export function verifyRequestedOutputsUnchanged(storageOutputs: StorageCreateTransactionSdkOutput[], args: Validation.ValidCreateActionArgs): void
|
|
20524
|
+
```
|
|
20525
|
+
|
|
20526
|
+
See also: [StorageCreateTransactionSdkOutput](./client.md#interface-storagecreatetransactionsdkoutput)
|
|
20527
|
+
|
|
20528
|
+
Throws
|
|
20529
|
+
|
|
20530
|
+
WERR_INVALID_PARAMETER if storage omitted, reclassified, or modified
|
|
20531
|
+
any caller-specified output.
|
|
20532
|
+
|
|
20533
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
20534
|
+
|
|
20503
20535
|
---
|
|
20504
20536
|
##### Function: verifyTruthy
|
|
20505
20537
|
|
|
@@ -20533,6 +20565,42 @@ WERR_INVALID_PARAMETER if any unlocking script is invalid, if sourceTXID is inva
|
|
|
20533
20565
|
|
|
20534
20566
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
20535
20567
|
|
|
20568
|
+
---
|
|
20569
|
+
##### Function: verifyUnrequestedOutputsAreChangeOrCommission
|
|
20570
|
+
|
|
20571
|
+
Verify that every storage output beyond the caller's requested outputs is
|
|
20572
|
+
either a change output or the (single, bounded) commission output.
|
|
20573
|
+
|
|
20574
|
+
The storage response is ordered `[caller outputs][commission?][change...]`;
|
|
20575
|
+
`verifyRequestedOutputsUnchanged` already validates the caller region (indices
|
|
20576
|
+
`< args.outputs.length`). This checks the remainder.
|
|
20577
|
+
|
|
20578
|
+
Change outputs (`providedBy: 'storage', purpose: 'change'`) are safe at any
|
|
20579
|
+
amount: `buildSignableTransaction` ignores the storage-supplied script and
|
|
20580
|
+
re-derives it client-side (`makeChangeLock` / BRC-29 under the client's own
|
|
20581
|
+
change key), so a change output can only ever pay the client. A change output
|
|
20582
|
+
mislabeled by storage is therefore harmless.
|
|
20583
|
+
|
|
20584
|
+
The commission output's script, by contrast, is taken verbatim from storage
|
|
20585
|
+
and cannot be verified client-side. A malicious storage could inject an extra
|
|
20586
|
+
output — or relabel one as commission — to redirect funds to an attacker while
|
|
20587
|
+
the caller/UI only sees the requested recipients. To bound that, at most one
|
|
20588
|
+
commission output is allowed and its amount must not exceed `maxCommission`.
|
|
20589
|
+
Any other unrecognized output is rejected outright.
|
|
20590
|
+
|
|
20591
|
+
```ts
|
|
20592
|
+
export function verifyUnrequestedOutputsAreChangeOrCommission(storageOutputs: StorageCreateTransactionSdkOutput[], args: Validation.ValidCreateActionArgs, maxCommission: number = MAX_STORAGE_COMMISSION_SATOSHIS): void
|
|
20593
|
+
```
|
|
20594
|
+
|
|
20595
|
+
See also: [MAX_STORAGE_COMMISSION_SATOSHIS](./client.md#variable-max_storage_commission_satoshis), [StorageCreateTransactionSdkOutput](./client.md#interface-storagecreatetransactionsdkoutput)
|
|
20596
|
+
|
|
20597
|
+
Throws
|
|
20598
|
+
|
|
20599
|
+
WERR_INVALID_PARAMETER if storage returned an unrecognized output, more
|
|
20600
|
+
than one commission output, or a commission exceeding `maxCommission`.
|
|
20601
|
+
|
|
20602
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
20603
|
+
|
|
20536
20604
|
---
|
|
20537
20605
|
##### Function: wait
|
|
20538
20606
|
|
|
@@ -21109,16 +21177,16 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
|
|
|
21109
21177
|
|
|
21110
21178
|
| | | |
|
|
21111
21179
|
| --- | --- | --- |
|
|
21112
|
-
| [ARGON2ID_DEFAULT_HASH_LENGTH](#variable-argon2id_default_hash_length) | [
|
|
21113
|
-
| [ARGON2ID_DEFAULT_ITERATIONS](#variable-argon2id_default_iterations) | [
|
|
21114
|
-
| [ARGON2ID_DEFAULT_MEMORY_KIB](#variable-argon2id_default_memory_kib) | [
|
|
21115
|
-
| [ARGON2ID_DEFAULT_PARALLELISM](#variable-argon2id_default_parallelism) | [
|
|
21116
|
-
| [DEFAULT_PROFILE_ID](#variable-default_profile_id) | [
|
|
21117
|
-
| [DEFAULT_SETTINGS](#variable-default_settings) | [
|
|
21180
|
+
| [ARGON2ID_DEFAULT_HASH_LENGTH](#variable-argon2id_default_hash_length) | [TESTNET_DEFAULT_SETTINGS](#variable-testnet_default_settings) | [queryOverlay](#variable-queryoverlay) |
|
|
21181
|
+
| [ARGON2ID_DEFAULT_ITERATIONS](#variable-argon2id_default_iterations) | [aggregateActionResults](#variable-aggregateactionresults) | [specOpFailedActions](#variable-specopfailedactions) |
|
|
21182
|
+
| [ARGON2ID_DEFAULT_MEMORY_KIB](#variable-argon2id_default_memory_kib) | [brc29ProtocolID](#variable-brc29protocolid) | [specOpInvalidChange](#variable-specopinvalidchange) |
|
|
21183
|
+
| [ARGON2ID_DEFAULT_PARALLELISM](#variable-argon2id_default_parallelism) | [dirtyHashes](#variable-dirtyhashes) | [specOpNoSendActions](#variable-specopnosendactions) |
|
|
21184
|
+
| [DEFAULT_PROFILE_ID](#variable-default_profile_id) | [getLabelToSpecOp](#variable-getlabeltospecop) | [specOpSetWalletChangeParams](#variable-specopsetwalletchangeparams) |
|
|
21185
|
+
| [DEFAULT_SETTINGS](#variable-default_settings) | [logger](#variable-logger) | [specOpThrowReviewActions](#variable-specopthrowreviewactions) |
|
|
21186
|
+
| [MAX_STORAGE_COMMISSION_SATOSHIS](#variable-max_storage_commission_satoshis) | [maxChangeOutputsPerTransaction](#variable-maxchangeoutputspertransaction) | [specOpWalletBalance](#variable-specopwalletbalance) |
|
|
21118
21187
|
| [PBKDF2_NUM_ROUNDS](#variable-pbkdf2_num_rounds) | [maxPossibleSatoshis](#variable-maxpossiblesatoshis) | [transactionColumnsWithoutRawTx](#variable-transactioncolumnswithoutrawtx) |
|
|
21119
21188
|
| [ProvenTxReqNonTerminalStatus](#variable-proventxreqnonterminalstatus) | [outputColumnsWithoutLockingScript](#variable-outputcolumnswithoutlockingscript) | [transformVerifiableCertificatesWithTrust](#variable-transformverifiablecertificateswithtrust) |
|
|
21120
21189
|
| [ProvenTxReqTerminalStatus](#variable-proventxreqterminalstatus) | [parseResults](#variable-parseresults) | [validBulkHeaderFiles](#variable-validbulkheaderfiles) |
|
|
21121
|
-
| [TESTNET_DEFAULT_SETTINGS](#variable-testnet_default_settings) | [queryOverlay](#variable-queryoverlay) | |
|
|
21122
21190
|
|
|
21123
21191
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
21124
21192
|
|
|
@@ -21201,6 +21269,15 @@ See also: [WalletSettings](./client.md#interface-walletsettings)
|
|
|
21201
21269
|
|
|
21202
21270
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
21203
21271
|
|
|
21272
|
+
---
|
|
21273
|
+
##### Variable: MAX_STORAGE_COMMISSION_SATOSHIS
|
|
21274
|
+
|
|
21275
|
+
```ts
|
|
21276
|
+
MAX_STORAGE_COMMISSION_SATOSHIS = 500000
|
|
21277
|
+
```
|
|
21278
|
+
|
|
21279
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
21280
|
+
|
|
21204
21281
|
---
|
|
21205
21282
|
##### Variable: PBKDF2_NUM_ROUNDS
|
|
21206
21283
|
|
package/docs/services.md
CHANGED
package/docs/wallet.md
CHANGED
|
@@ -783,6 +783,7 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
|
|
|
783
783
|
```ts
|
|
784
784
|
export interface ChaintracksChainTrackerOptions {
|
|
785
785
|
maxRetries?: number;
|
|
786
|
+
retryDelayMs?: number;
|
|
786
787
|
}
|
|
787
788
|
```
|
|
788
789
|
|
|
@@ -11754,57 +11755,58 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
|
|
|
11754
11755
|
|
|
11755
11756
|
| | | |
|
|
11756
11757
|
| --- | --- | --- |
|
|
11757
|
-
| [WalletErrorFromJson](#function-walleterrorfromjson) | [
|
|
11758
|
-
| [acquireDirectCertificate](#function-acquiredirectcertificate) | [
|
|
11759
|
-
| [addWork](#function-addwork) | [
|
|
11760
|
-
| [arcDefaultUrl](#function-arcdefaulturl) | [
|
|
11761
|
-
| [arcGorillaPoolUrl](#function-arcgorillapoolurl) | [internalizeAction](#function-internalizeaction) | [
|
|
11762
|
-
| [arcadeDefaultUrl](#function-arcadedefaulturl) | [
|
|
11763
|
-
| [arraysEqual](#function-arraysequal) | [
|
|
11764
|
-
| [asArray](#function-asarray) | [
|
|
11765
|
-
| [asBsvSdkPrivateKey](#function-asbsvsdkprivatekey) | [
|
|
11766
|
-
| [asBsvSdkPublickKey](#function-asbsvsdkpublickkey) | [
|
|
11767
|
-
| [asBsvSdkScript](#function-asbsvsdkscript) | [
|
|
11768
|
-
| [asBsvSdkTx](#function-asbsvsdktx) | [
|
|
11769
|
-
| [asString](#function-asstring) | [
|
|
11770
|
-
| [asUint8Array](#function-asuint8array) | [
|
|
11771
|
-
| [attemptToPostReqsToNetwork](#function-attempttopostreqstonetwork) | [
|
|
11772
|
-
| [blockHash](#function-blockhash) | [
|
|
11773
|
-
| [buildSignableTransaction](#function-buildsignabletransaction) | [
|
|
11774
|
-
| [classifyMerklePathResponse](#function-classifymerklepathresponse) | [
|
|
11775
|
-
| [classifyReqStatus](#function-classifyreqstatus) | [
|
|
11776
|
-
| [completeSignedTransaction](#function-completesignedtransaction) | [
|
|
11777
|
-
| [computeMerklePath](#function-computemerklepath) | [
|
|
11778
|
-
| [computeMerkleRoot](#function-computemerkleroot) | [
|
|
11779
|
-
| [convertBitsToTarget](#function-convertbitstotarget) | [
|
|
11780
|
-
| [convertBitsToWork](#function-convertbitstowork) | [
|
|
11781
|
-
| [convertBufferToUint32](#function-convertbuffertouint32) | [
|
|
11782
|
-
| [convertProofToMerklePath](#function-convertprooftomerklepath) | [
|
|
11783
|
-
| [convertUint32ToBuffer](#function-convertuint32tobuffer) | [
|
|
11784
|
-
| [convertWocToBlockHeaderHex](#function-convertwoctoblockheaderhex) | [
|
|
11785
|
-
| [createAction](#function-createaction) | [
|
|
11786
|
-
| [createAction](#function-createaction) | [
|
|
11787
|
-
| [createCoinbaseTransaction](#function-createcoinbasetransaction) | [
|
|
11788
|
-
| [createDefaultWalletServicesOptions](#function-createdefaultwalletservicesoptions) | [
|
|
11789
|
-
| [createStorageServiceChargeScript](#function-createstorageservicechargescript) | [
|
|
11790
|
-
| [createSyncMap](#function-createsyncmap) | [
|
|
11791
|
-
| [deserializeBaseBlockHeader](#function-deserializebaseblockheader) | [
|
|
11792
|
-
| [deserializeBaseBlockHeaders](#function-deserializebaseblockheaders) | [
|
|
11793
|
-
| [deserializeBlockHeader](#function-deserializeblockheader) | [
|
|
11794
|
-
| [deserializeBlockHeaders](#function-deserializeblockheaders) | [
|
|
11795
|
-
| [doubleSha256BE](#function-doublesha256be) | [
|
|
11796
|
-
| [doubleSha256LE](#function-doublesha256le) | [processAction](#function-processaction) | [
|
|
11797
|
-
| [generateChangeSdk](#function-generatechangesdk) | [
|
|
11798
|
-
| [generateChangeSdkMakeStorage](#function-generatechangesdkmakestorage) | [
|
|
11799
|
-
| [genesisBuffer](#function-genesisbuffer) | [
|
|
11800
|
-
| [genesisHeader](#function-genesisheader) | [
|
|
11801
|
-
| [getBeefForTransaction](#function-getbeeffortransaction) | [
|
|
11802
|
-
| [getBeefForTxid](#function-getbeeffortxid) | [
|
|
11803
|
-
| [getExchangeRatesIo](#function-getexchangeratesio) | [
|
|
11804
|
-
| [getIdentityKey](#function-getidentitykey) | [
|
|
11805
|
-
| [getProofs](#function-getproofs) | [
|
|
11806
|
-
| [getSyncChunk](#function-getsyncchunk) | [
|
|
11807
|
-
| [getWhatsOnChainBlockHeaderByHash](#function-getwhatsonchainblockheaderbyhash) | [
|
|
11758
|
+
| [WalletErrorFromJson](#function-walleterrorfromjson) | [handleScriptHashHistoryCatch](#function-handlescripthashhistorycatch) | [sha256Hash](#function-sha256hash) |
|
|
11759
|
+
| [acquireDirectCertificate](#function-acquiredirectcertificate) | [handleScriptHashHistoryResponse](#function-handlescripthashhistoryresponse) | [sha256HashOfBinaryFile](#function-sha256hashofbinaryfile) |
|
|
11760
|
+
| [addWork](#function-addwork) | [handleUtxoConnReset](#function-handleutxoconnreset) | [shareReqsWithWorld](#function-sharereqswithworld) |
|
|
11761
|
+
| [arcDefaultUrl](#function-arcdefaulturl) | [internalizeAction](#function-internalizeaction) | [signAction](#function-signaction) |
|
|
11762
|
+
| [arcGorillaPoolUrl](#function-arcgorillapoolurl) | [internalizeAction](#function-internalizeaction) | [stampLog](#function-stamplog) |
|
|
11763
|
+
| [arcadeDefaultUrl](#function-arcadedefaulturl) | [isArcAcceptedTxStatus](#function-isarcacceptedtxstatus) | [stampLogFormat](#function-stamplogformat) |
|
|
11764
|
+
| [arraysEqual](#function-arraysequal) | [isArcDoubleSpendTxStatus](#function-isarcdoublespendtxstatus) | [subWork](#function-subwork) |
|
|
11765
|
+
| [asArray](#function-asarray) | [isArcInvalidTxStatus](#function-isarcinvalidtxstatus) | [swapByteOrder](#function-swapbyteorder) |
|
|
11766
|
+
| [asBsvSdkPrivateKey](#function-asbsvsdkprivatekey) | [isArcServiceErrorStatus](#function-isarcserviceerrorstatus) | [throwDummyReviewActions](#function-throwdummyreviewactions) |
|
|
11767
|
+
| [asBsvSdkPublickKey](#function-asbsvsdkpublickkey) | [isBaseBlockHeader](#function-isbaseblockheader) | [toBinaryBaseBlockHeader](#function-tobinarybaseblockheader) |
|
|
11768
|
+
| [asBsvSdkScript](#function-asbsvsdkscript) | [isBlockHeader](#function-isblockheader) | [toLookupNetworkPreset](#function-tolookupnetworkpreset) |
|
|
11769
|
+
| [asBsvSdkTx](#function-asbsvsdktx) | [isCreateActionSpecOp](#function-iscreateactionspecop) | [toWalletNetwork](#function-towalletnetwork) |
|
|
11770
|
+
| [asString](#function-asstring) | [isKnownValidBulkHeaderFile](#function-isknownvalidbulkheaderfile) | [transactionInputSize](#function-transactioninputsize) |
|
|
11771
|
+
| [asUint8Array](#function-asuint8array) | [isListActionsSpecOp](#function-islistactionsspecop) | [transactionOutputSize](#function-transactionoutputsize) |
|
|
11772
|
+
| [attemptToPostReqsToNetwork](#function-attempttopostreqstonetwork) | [isListOutputsSpecOp](#function-islistoutputsspecop) | [transactionSize](#function-transactionsize) |
|
|
11773
|
+
| [blockHash](#function-blockhash) | [isLive](#function-islive) | [updateChaintracksFiatExchangeRates](#function-updatechaintracksfiatexchangerates) |
|
|
11774
|
+
| [buildSignableTransaction](#function-buildsignabletransaction) | [isLiveBlockHeader](#function-isliveblockheader) | [updateExchangeratesapi](#function-updateexchangeratesapi) |
|
|
11775
|
+
| [classifyMerklePathResponse](#function-classifymerklepathresponse) | [isMoreWork](#function-ismorework) | [updateReqsFromAggregateResults](#function-updatereqsfromaggregateresults) |
|
|
11776
|
+
| [classifyReqStatus](#function-classifyreqstatus) | [keyOffsetToHashedSecret](#function-keyoffsettohashedsecret) | [validBulkHeaderFilesByFileHash](#function-validbulkheaderfilesbyfilehash) |
|
|
11777
|
+
| [completeSignedTransaction](#function-completesignedtransaction) | [listCertificates](#function-listcertificates) | [validateAgainstDirtyHashes](#function-validateagainstdirtyhashes) |
|
|
11778
|
+
| [computeMerklePath](#function-computemerklepath) | [lockScriptWithKeyOffsetFromPubKey](#function-lockscriptwithkeyoffsetfrompubkey) | [validateBufferOfHeaders](#function-validatebufferofheaders) |
|
|
11779
|
+
| [computeMerkleRoot](#function-computemerkleroot) | [logCreateActionArgs](#function-logcreateactionargs) | [validateBulkFileData](#function-validatebulkfiledata) |
|
|
11780
|
+
| [convertBitsToTarget](#function-convertbitstotarget) | [logWalletError](#function-logwalleterror) | [validateDate](#function-validatedate) |
|
|
11781
|
+
| [convertBitsToWork](#function-convertbitstowork) | [makeAtomicBeef](#function-makeatomicbeef) | [validateEntities](#function-validateentities) |
|
|
11782
|
+
| [convertBufferToUint32](#function-convertbuffertouint32) | [makeChangeLock](#function-makechangelock) | [validateEntity](#function-validateentity) |
|
|
11783
|
+
| [convertProofToMerklePath](#function-convertprooftomerklepath) | [makeMerklePathNote](#function-makemerklepathnote) | [validateGenerateChangeSdkParams](#function-validategeneratechangesdkparams) |
|
|
11784
|
+
| [convertUint32ToBuffer](#function-convertuint32tobuffer) | [markStaleInputsAsSpent](#function-markstaleinputsasspent) | [validateGenerateChangeSdkResult](#function-validategeneratechangesdkresult) |
|
|
11785
|
+
| [convertWocToBlockHeaderHex](#function-convertwoctoblockheaderhex) | [markUserInputsSpent](#function-markuserinputsspent) | [validateGenesisHeader](#function-validategenesisheader) |
|
|
11786
|
+
| [createAction](#function-createaction) | [maxDate](#function-maxdate) | [validateHeaderDifficulty](#function-validateheaderdifficulty) |
|
|
11787
|
+
| [createAction](#function-createaction) | [mergeInputBeefs](#function-mergeinputbeefs) | [validateHeaderFormat](#function-validateheaderformat) |
|
|
11788
|
+
| [createCoinbaseTransaction](#function-createcoinbasetransaction) | [mergeInputsIntoBeef](#function-mergeinputsintobeef) | [validateScriptHash](#function-validatescripthash) |
|
|
11789
|
+
| [createDefaultWalletServicesOptions](#function-createdefaultwalletservicesoptions) | [notifyTransactionsOfProof](#function-notifytransactionsofproof) | [validateSecondsSinceEpoch](#function-validatesecondssinceepoch) |
|
|
11790
|
+
| [createStorageServiceChargeScript](#function-createstorageservicechargescript) | [offsetPrivKey](#function-offsetprivkey) | [validateStorageFeeModel](#function-validatestoragefeemodel) |
|
|
11791
|
+
| [createSyncMap](#function-createsyncmap) | [offsetPubKey](#function-offsetpubkey) | [validateSyncChunkEntities](#function-validatesyncchunkentities) |
|
|
11792
|
+
| [deserializeBaseBlockHeader](#function-deserializebaseblockheader) | [optionalArraysEqual](#function-optionalarraysequal) | [varUintSize](#function-varuintsize) |
|
|
11793
|
+
| [deserializeBaseBlockHeaders](#function-deserializebaseblockheaders) | [parseResults$](#function-parseresults$) | [verifyHexString](#function-verifyhexstring) |
|
|
11794
|
+
| [deserializeBlockHeader](#function-deserializeblockheader) | [parseTxScriptOffsets](#function-parsetxscriptoffsets) | [verifyId](#function-verifyid) |
|
|
11795
|
+
| [deserializeBlockHeaders](#function-deserializeblockheaders) | [populateUtxoDetails](#function-populateutxodetails) | [verifyInteger](#function-verifyinteger) |
|
|
11796
|
+
| [doubleSha256BE](#function-doublesha256be) | [processAction](#function-processaction) | [verifyNumber](#function-verifynumber) |
|
|
11797
|
+
| [doubleSha256LE](#function-doublesha256le) | [processAction](#function-processaction) | [verifyOne](#function-verifyone) |
|
|
11798
|
+
| [generateChangeSdk](#function-generatechangesdk) | [proveCertificate](#function-provecertificate) | [verifyOneOrNone](#function-verifyoneornone) |
|
|
11799
|
+
| [generateChangeSdkMakeStorage](#function-generatechangesdkmakestorage) | [randomBytes](#function-randombytes) | [verifyOptionalHexString](#function-verifyoptionalhexstring) |
|
|
11800
|
+
| [genesisBuffer](#function-genesisbuffer) | [randomBytesBase64](#function-randombytesbase64) | [verifyRequestedOutputsUnchanged](#function-verifyrequestedoutputsunchanged) |
|
|
11801
|
+
| [genesisHeader](#function-genesisheader) | [randomBytesHex](#function-randombyteshex) | [verifyTruthy](#function-verifytruthy) |
|
|
11802
|
+
| [getBeefForTransaction](#function-getbeeffortransaction) | [readUInt32BE](#function-readuint32be) | [verifyUnlockScripts](#function-verifyunlockscripts) |
|
|
11803
|
+
| [getBeefForTxid](#function-getbeeffortxid) | [readUInt32LE](#function-readuint32le) | [verifyUnrequestedOutputsAreChangeOrCommission](#function-verifyunrequestedoutputsarechangeorcommission) |
|
|
11804
|
+
| [getExchangeRatesIo](#function-getexchangeratesio) | [redeemServiceCharges](#function-redeemservicecharges) | [wait](#function-wait) |
|
|
11805
|
+
| [getIdentityKey](#function-getidentitykey) | [restoreInputsToSpendable](#function-restoreinputstospendable) | [workBNtoBuffer](#function-workbntobuffer) |
|
|
11806
|
+
| [getProofs](#function-getproofs) | [selectBulkHeaderFiles](#function-selectbulkheaderfiles) | [writeUInt32BE](#function-writeuint32be) |
|
|
11807
|
+
| [getSyncChunk](#function-getsyncchunk) | [serializeBaseBlockHeader](#function-serializebaseblockheader) | [writeUInt32LE](#function-writeuint32le) |
|
|
11808
|
+
| [getWhatsOnChainBlockHeaderByHash](#function-getwhatsonchainblockheaderbyhash) | [serializeBaseBlockHeaders](#function-serializebaseblockheaders) | |
|
|
11809
|
+
| [handlePostRawTxErrorResponse](#function-handlepostrawtxerrorresponse) | [setDisableDoubleSpendCheckForTest](#function-setdisabledoublespendcheckfortest) | |
|
|
11808
11810
|
|
|
11809
11811
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
11810
11812
|
|
|
@@ -14249,6 +14251,37 @@ export function verifyOptionalHexString(v?: string | null): string | undefined
|
|
|
14249
14251
|
|
|
14250
14252
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
14251
14253
|
|
|
14254
|
+
---
|
|
14255
|
+
##### Function: verifyRequestedOutputsUnchanged
|
|
14256
|
+
|
|
14257
|
+
Verify that the outputs returned by storage for caller-specified outputs match
|
|
14258
|
+
exactly what the caller requested in `args.outputs`.
|
|
14259
|
+
|
|
14260
|
+
The storage response (`StorageCreateActionResult.outputs`) is ordered, by
|
|
14261
|
+
contract, as: the caller's `args.outputs` in their original order, followed by
|
|
14262
|
+
the optional commission output, followed by storage-provided change outputs.
|
|
14263
|
+
Only the `vout` field is randomized when `randomizeOutputs` is set; the array
|
|
14264
|
+
order is stable. Therefore array index `i` (for `i < args.outputs.length`)
|
|
14265
|
+
corresponds to `args.outputs[i]`.
|
|
14266
|
+
|
|
14267
|
+
Because the locking script that is ultimately signed is taken from the storage
|
|
14268
|
+
response, an untrusted storage provider must not be allowed to alter the
|
|
14269
|
+
recipient script (or amount) of a caller-specified output. Any mismatch is a
|
|
14270
|
+
hard error. (GHSA-36f9-7rg5-cpf8)
|
|
14271
|
+
|
|
14272
|
+
```ts
|
|
14273
|
+
export function verifyRequestedOutputsUnchanged(storageOutputs: StorageCreateTransactionSdkOutput[], args: Validation.ValidCreateActionArgs): void
|
|
14274
|
+
```
|
|
14275
|
+
|
|
14276
|
+
See also: [StorageCreateTransactionSdkOutput](./client.md#interface-storagecreatetransactionsdkoutput)
|
|
14277
|
+
|
|
14278
|
+
Throws
|
|
14279
|
+
|
|
14280
|
+
WERR_INVALID_PARAMETER if storage omitted, reclassified, or modified
|
|
14281
|
+
any caller-specified output.
|
|
14282
|
+
|
|
14283
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
14284
|
+
|
|
14252
14285
|
---
|
|
14253
14286
|
##### Function: verifyTruthy
|
|
14254
14287
|
|
|
@@ -14282,6 +14315,42 @@ WERR_INVALID_PARAMETER if any unlocking script is invalid, if sourceTXID is inva
|
|
|
14282
14315
|
|
|
14283
14316
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
14284
14317
|
|
|
14318
|
+
---
|
|
14319
|
+
##### Function: verifyUnrequestedOutputsAreChangeOrCommission
|
|
14320
|
+
|
|
14321
|
+
Verify that every storage output beyond the caller's requested outputs is
|
|
14322
|
+
either a change output or the (single, bounded) commission output.
|
|
14323
|
+
|
|
14324
|
+
The storage response is ordered `[caller outputs][commission?][change...]`;
|
|
14325
|
+
`verifyRequestedOutputsUnchanged` already validates the caller region (indices
|
|
14326
|
+
`< args.outputs.length`). This checks the remainder.
|
|
14327
|
+
|
|
14328
|
+
Change outputs (`providedBy: 'storage', purpose: 'change'`) are safe at any
|
|
14329
|
+
amount: `buildSignableTransaction` ignores the storage-supplied script and
|
|
14330
|
+
re-derives it client-side (`makeChangeLock` / BRC-29 under the client's own
|
|
14331
|
+
change key), so a change output can only ever pay the client. A change output
|
|
14332
|
+
mislabeled by storage is therefore harmless.
|
|
14333
|
+
|
|
14334
|
+
The commission output's script, by contrast, is taken verbatim from storage
|
|
14335
|
+
and cannot be verified client-side. A malicious storage could inject an extra
|
|
14336
|
+
output — or relabel one as commission — to redirect funds to an attacker while
|
|
14337
|
+
the caller/UI only sees the requested recipients. To bound that, at most one
|
|
14338
|
+
commission output is allowed and its amount must not exceed `maxCommission`.
|
|
14339
|
+
Any other unrecognized output is rejected outright.
|
|
14340
|
+
|
|
14341
|
+
```ts
|
|
14342
|
+
export function verifyUnrequestedOutputsAreChangeOrCommission(storageOutputs: StorageCreateTransactionSdkOutput[], args: Validation.ValidCreateActionArgs, maxCommission: number = MAX_STORAGE_COMMISSION_SATOSHIS): void
|
|
14343
|
+
```
|
|
14344
|
+
|
|
14345
|
+
See also: [MAX_STORAGE_COMMISSION_SATOSHIS](./client.md#variable-max_storage_commission_satoshis), [StorageCreateTransactionSdkOutput](./client.md#interface-storagecreatetransactionsdkoutput)
|
|
14346
|
+
|
|
14347
|
+
Throws
|
|
14348
|
+
|
|
14349
|
+
WERR_INVALID_PARAMETER if storage returned an unrecognized output, more
|
|
14350
|
+
than one commission output, or a commission exceeding `maxCommission`.
|
|
14351
|
+
|
|
14352
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
14353
|
+
|
|
14285
14354
|
---
|
|
14286
14355
|
##### Function: wait
|
|
14287
14356
|
|
|
@@ -14763,16 +14832,17 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
|
|
|
14763
14832
|
| | |
|
|
14764
14833
|
| --- | --- |
|
|
14765
14834
|
| [DEFAULT_SETTINGS](#variable-default_settings) | [parseResults](#variable-parseresults) |
|
|
14766
|
-
| [
|
|
14767
|
-
| [
|
|
14768
|
-
| [
|
|
14769
|
-
| [
|
|
14770
|
-
| [
|
|
14771
|
-
| [
|
|
14772
|
-
| [
|
|
14773
|
-
| [
|
|
14774
|
-
| [
|
|
14775
|
-
| [
|
|
14835
|
+
| [MAX_STORAGE_COMMISSION_SATOSHIS](#variable-max_storage_commission_satoshis) | [queryOverlay](#variable-queryoverlay) |
|
|
14836
|
+
| [ProvenTxReqNonTerminalStatus](#variable-proventxreqnonterminalstatus) | [specOpFailedActions](#variable-specopfailedactions) |
|
|
14837
|
+
| [ProvenTxReqTerminalStatus](#variable-proventxreqterminalstatus) | [specOpInvalidChange](#variable-specopinvalidchange) |
|
|
14838
|
+
| [TESTNET_DEFAULT_SETTINGS](#variable-testnet_default_settings) | [specOpNoSendActions](#variable-specopnosendactions) |
|
|
14839
|
+
| [aggregateActionResults](#variable-aggregateactionresults) | [specOpSetWalletChangeParams](#variable-specopsetwalletchangeparams) |
|
|
14840
|
+
| [brc29ProtocolID](#variable-brc29protocolid) | [specOpThrowReviewActions](#variable-specopthrowreviewactions) |
|
|
14841
|
+
| [dirtyHashes](#variable-dirtyhashes) | [specOpWalletBalance](#variable-specopwalletbalance) |
|
|
14842
|
+
| [logger](#variable-logger) | [transactionColumnsWithoutRawTx](#variable-transactioncolumnswithoutrawtx) |
|
|
14843
|
+
| [maxChangeOutputsPerTransaction](#variable-maxchangeoutputspertransaction) | [transformVerifiableCertificatesWithTrust](#variable-transformverifiablecertificateswithtrust) |
|
|
14844
|
+
| [maxPossibleSatoshis](#variable-maxpossiblesatoshis) | [validBulkHeaderFiles](#variable-validbulkheaderfiles) |
|
|
14845
|
+
| [outputColumnsWithoutLockingScript](#variable-outputcolumnswithoutlockingscript) | |
|
|
14776
14846
|
|
|
14777
14847
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
14778
14848
|
|
|
@@ -14810,6 +14880,15 @@ See also: [WalletSettings](./client.md#interface-walletsettings)
|
|
|
14810
14880
|
|
|
14811
14881
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
14812
14882
|
|
|
14883
|
+
---
|
|
14884
|
+
##### Variable: MAX_STORAGE_COMMISSION_SATOSHIS
|
|
14885
|
+
|
|
14886
|
+
```ts
|
|
14887
|
+
MAX_STORAGE_COMMISSION_SATOSHIS = 500000
|
|
14888
|
+
```
|
|
14889
|
+
|
|
14890
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
14891
|
+
|
|
14813
14892
|
---
|
|
14814
14893
|
##### Variable: ProvenTxReqNonTerminalStatus
|
|
14815
14894
|
|
|
@@ -838,6 +838,25 @@ export declare class WalletPermissionsManager implements WalletInterface {
|
|
|
838
838
|
* accounting for foreign (originator-provided) inputs and outputs plus the fee.
|
|
839
839
|
* Also builds the line items list for the spending authorization request.
|
|
840
840
|
*/
|
|
841
|
+
/**
|
|
842
|
+
* Defense-in-depth verification that each caller-requested output (locking
|
|
843
|
+
* script + amount) is present in the transaction returned for signing.
|
|
844
|
+
*
|
|
845
|
+
* The scripts in the signable transaction originate from storage. A malicious
|
|
846
|
+
* or compromised remote storage provider could substitute a different
|
|
847
|
+
* recipient script for a caller-specified output. The signer
|
|
848
|
+
* (buildSignableTransaction) rejects this at the source; this is an
|
|
849
|
+
* independent check at the permissions layer so the substitution is caught
|
|
850
|
+
* regardless of how the signable transaction was produced.
|
|
851
|
+
*
|
|
852
|
+
* Outputs are matched as a multiset on (lockingScript, satoshis): the
|
|
853
|
+
* transaction also contains change/commission outputs and the output order is
|
|
854
|
+
* randomized by default, and a caller may legitimately request the same
|
|
855
|
+
* script+amount more than once.
|
|
856
|
+
*
|
|
857
|
+
* @throws Error if any caller-requested output is absent from the transaction.
|
|
858
|
+
*/
|
|
859
|
+
private verifyRequestedOutputsPresent;
|
|
841
860
|
private computeNetSpend;
|
|
842
861
|
signAction(...args: Parameters<WalletInterface['signAction']>): ReturnType<WalletInterface['signAction']>;
|
|
843
862
|
abortAction(...args: Parameters<WalletInterface['abortAction']>): ReturnType<WalletInterface['abortAction']>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WalletPermissionsManager.d.ts","sourceRoot":"","sources":["../../src/WalletPermissionsManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WalletPermissionsManager.d.ts","sourceRoot":"","sources":["../../src/WalletPermissionsManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAKf,cAAc,EACd,YAAY,EACZ,SAAS,EAiBV,MAAM,UAAU,CAAA;AAmCjB,0DAA0D;AAC1D,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAA;AAErD,qDAAqD;AACrD,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAErC;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;OAMG;IACH,SAAS,EAAE,CAAC,GAAG,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAEnG;;;;;;OAMG;IACH,UAAU,EAAE,CACV,GAAG,EAAE,GAAG,EACR,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAA;QACd,UAAU,EAAE,MAAM,CAAA;KACnB,KACE,OAAO,CAAC,GAAG,CAAC,CAAA;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,qBAAqB,CAAC,EAAE;QACtB,MAAM,EAAE,MAAM,CAAA;QACd,WAAW,EAAE,MAAM,CAAA;KACpB,CAAA;IACD,mBAAmB,CAAC,EAAE,KAAK,CAAC;QAC1B,UAAU,EAAE,cAAc,CAAA;QAC1B,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,WAAW,EAAE,MAAM,CAAA;KACpB,CAAC,CAAA;IACF,YAAY,CAAC,EAAE,KAAK,CAAC;QACnB,MAAM,EAAE,MAAM,CAAA;QACd,WAAW,EAAE,MAAM,CAAA;KACpB,CAAC,CAAA;IACF,iBAAiB,CAAC,EAAE,KAAK,CAAC;QACxB,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,MAAM,EAAE,CAAA;QAChB,iBAAiB,EAAE,MAAM,CAAA;QACzB,WAAW,EAAE,MAAM,CAAA;KACpB,CAAC,CAAA;CACH;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,kBAAkB,CAAA;CAChC;AAED;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG,CAAC,OAAO,EAAE,wBAAwB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AAEvG,MAAM,WAAW,uBAAuB;IACtC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,KAAK,CAAC;QACf,YAAY,EAAE,MAAM,CAAA;QACpB,UAAU,CAAC,EAAE,cAAc,CAAA;QAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;KACrB,CAAC,CAAA;CACH;AAED,MAAM,WAAW,6BAA6B;IAC5C,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,SAAS,CAAA;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,WAAW,EAAE,uBAAuB,CAAA;CACrC;AAED,MAAM,MAAM,kCAAkC,GAAG,CAAC,OAAO,EAAE,6BAA6B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AAEjH;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,UAAU,GAAG,QAAQ,GAAG,aAAa,GAAG,UAAU,CAAA;IACxD,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,UAAU,CAAC,EAAE,cAAc,CAAA;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf,WAAW,CAAC,EAAE;QAEZ,QAAQ,EAAE,MAAM,CAAA;QAChB,QAAQ,EAAE,MAAM,CAAA;QAChB,MAAM,EAAE,MAAM,EAAE,CAAA;KACjB,CAAA;IAED,QAAQ,CAAC,EAAE;QAET,QAAQ,EAAE,MAAM,CAAA;QAChB,SAAS,CAAC,EAAE,KAAK,CAAC;YAChB,IAAI,EAAE,YAAY,CAAA;YAClB,WAAW,EAAE,MAAM,CAAA;YACnB,QAAQ,EAAE,MAAM,CAAA;SACjB,CAAC,CAAA;KACH,CAAA;IAED,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,aAAa,CAAC,EAAE,eAAe,CAAA;CAChC;AAED;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,EAAE,iBAAiB,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AAEjH;;;;;;;;;;GAUG;AACH,MAAM,WAAW,eAAe;IAC9B,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAA;IAEZ,uDAAuD;IACvD,EAAE,EAAE,MAAM,EAAE,CAAA;IAEZ,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAA;IAEnB,mDAAmD;IACnD,YAAY,EAAE,MAAM,CAAA;IAEpB,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,CAAA;IAEhB,4EAA4E;IAC5E,UAAU,EAAE,MAAM,CAAA;IAElB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB,iIAAiI;IACjI,MAAM,EAAE,MAAM,CAAA;IAEd,gFAAgF;IAChF,UAAU,CAAC,EAAE,OAAO,CAAA;IAEpB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,4CAA4C;IAC5C,aAAa,CAAC,EAAE,aAAa,CAAA;IAE7B,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IAErB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,+DAA+D;IAC/D,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAcD;;;GAGG;AACH,MAAM,WAAW,iCAAiC;IAChD,6BAA6B,CAAC,EAAE,sBAAsB,EAAE,CAAA;IACxD,uBAAuB,CAAC,EAAE,sBAAsB,EAAE,CAAA;IAClD,4BAA4B,CAAC,EAAE,sBAAsB,EAAE,CAAA;IACvD,gCAAgC,CAAC,EAAE,sBAAsB,EAAE,CAAA;IAC3D,4BAA4B,CAAC,EAAE,6BAA6B,EAAE,CAAA;IAC9D,iCAAiC,CAAC,EAAE,kCAAkC,EAAE,CAAA;CACzE;AAED;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;;;;;;;;;OAWG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;IAErD;;;OAGG;IACH,iCAAiC,CAAC,EAAE,OAAO,CAAA;IAE3C;;;OAGG;IACH,oCAAoC,CAAC,EAAE,OAAO,CAAA;IAE9C;;;OAGG;IACH,8BAA8B,CAAC,EAAE,OAAO,CAAA;IAExC;;;OAGG;IACH,sCAAsC,CAAC,EAAE,OAAO,CAAA;IAEhD;;;OAGG;IACH,qCAAqC,CAAC,EAAE,OAAO,CAAA;IAE/C;;OAEG;IACH,uCAAuC,CAAC,EAAE,OAAO,CAAA;IAEjD;;;OAGG;IACH,oCAAoC,CAAC,EAAE,OAAO,CAAA;IAE9C;;;OAGG;IACH,8BAA8B,CAAC,EAAE,OAAO,CAAA;IAExC;;OAEG;IACH,4BAA4B,CAAC,EAAE,OAAO,CAAA;IAEtC;;OAEG;IACH,4BAA4B,CAAC,EAAE,OAAO,CAAA;IAEtC;;OAEG;IACH,sCAAsC,CAAC,EAAE,OAAO,CAAA;IAEhD;;OAEG;IACH,uCAAuC,CAAC,EAAE,OAAO,CAAA;IAEjD;;;OAGG;IACH,oCAAoC,CAAC,EAAE,OAAO,CAAA;IAE9C;;OAEG;IACH,qCAAqC,CAAC,EAAE,OAAO,CAAA;IAE/C;;OAEG;IACH,wCAAwC,CAAC,EAAE,OAAO,CAAA;IAElD;;OAEG;IACH,iCAAiC,CAAC,EAAE,OAAO,CAAA;IAE3C;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAE/B;;;OAGG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAA;IAEjC;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAE/B;;;;;OAKG;IACH,iCAAiC,CAAC,EAAE,OAAO,CAAA;IAE3C;;;;OAIG;IACH,yBAAyB,CAAC,EAAE;QAAE,CAAC,YAAY,EAAE,SAAS,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CACpE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,wBAAyB,YAAW,eAAe;IAC9D,kDAAkD;IAClD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;IAE5C,8EAA8E;IAC9E,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;IAExC;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAOzB;IAED;;;;;;;;;OASG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAkBlB;IAEb,sEAAsE;IACtE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA+D;IAC/F,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAiC;IAE9D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAOjB;IAEb,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAG3B;IAEb,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAgB;IAE7D,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAwC;IAElF,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAiC;IAEtE,8DAA8D;IAC9D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAgB;IACpD,0FAA0F;IAC1F,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAY;IAEzD,6DAA6D;IAC7D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAGpC;IAED;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IAEjD;;;;;;OAMG;gBACU,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,GAAE,wBAA6B;IAmC9G;;;;;;;;;;OAUG;YACW,yBAAyB;IAoCvC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,6BAA6B;IAyCrC;;OAEG;YACW,0BAA0B;IAaxC;;OAEG;YACW,0BAA0B;YAS1B,2BAA2B;YAkB3B,2BAA2B;IAazC;;;;;;OAMG;IACI,YAAY,CACjB,SAAS,EAAE,MAAM,iCAAiC,EAClD,OAAO,EAAE,sBAAsB,GAAG,6BAA6B,GAAG,kCAAkC,GACnG,MAAM;IAMT;;;;;;;OAOG;IACI,cAAc,CAAE,SAAS,EAAE,MAAM,iCAAiC,EAAE,SAAS,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO;IAmBjH;;;;;;;OAOG;YACW,SAAS;IAkBvB;;;;;;;;OAQG;IACU,eAAe,CAAE,MAAM,EAAE;QACpC,SAAS,EAAE,MAAM,CAAA;QACjB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,SAAS,CAAC,EAAE,OAAO,CAAA;QACnB,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,GAAG,OAAO,CAAC,IAAI,CAAC;IA4CjB;;;;;OAKG;IACU,cAAc,CAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAc9D;;;;;OAKG;IACU,sBAAsB,CAAE,MAAM,EAAE;QAC3C,SAAS,EAAE,MAAM,CAAA;QACjB,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAA;QACpC,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgHjB;;;OAGG;IACH;;;OAGG;IACH,OAAO,CAAC,gCAAgC;IAexC,OAAO,CAAC,iBAAiB;IAaZ,qBAAqB,CAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxD,wBAAwB,CAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW3D,2BAA2B,CAAE,MAAM,EAAE;QAChD,SAAS,EAAE,MAAM,CAAA;QACjB,OAAO,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAA;QACzC,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8EJ,0BAA0B,CAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1E;;;OAGG;IACU,wBAAwB,CAAE,EACrC,UAAU,EACV,UAAU,EACV,UAAU,EACV,YAAY,EACZ,MAAM,EACN,cAAqB,EACrB,SAAS,EACV,EAAE;QACD,UAAU,EAAE,MAAM,CAAA;QAClB,UAAU,EAAE,OAAO,CAAA;QACnB,UAAU,EAAE,cAAc,CAAA;QAC1B,YAAY,EAAE,MAAM,CAAA;QACpB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,cAAc,CAAC,EAAE,OAAO,CAAA;QACxB,SAAS,EAAE,SAAS,GAAG,YAAY,GAAG,MAAM,GAAG,WAAW,GAAG,aAAa,GAAG,mBAAmB,GAAG,SAAS,CAAA;KAC7G,GAAG,OAAO,CAAC,OAAO,CAAC;IAqDpB;;;OAGG;IACU,kBAAkB,CAAE,EAC/B,UAAU,EACV,MAAM,EACN,MAAM,EACN,cAAqB,EACrB,SAAS,EACV,EAAE;QACD,UAAU,EAAE,MAAM,CAAA;QAClB,MAAM,EAAE,MAAM,CAAA;QACd,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,cAAc,CAAC,EAAE,OAAO,CAAA;QACxB,SAAS,EAAE,WAAW,GAAG,SAAS,GAAG,SAAS,CAAA;KAC/C,GAAG,OAAO,CAAC,OAAO,CAAC;IA2BpB,+FAA+F;IAC/F,OAAO,CAAC,qBAAqB;IAO7B;;;OAGG;IACU,uBAAuB,CAAE,EACpC,UAAU,EACV,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,MAAM,EACN,cAAqB,EACrB,SAAS,EACV,EAAE;QACD,UAAU,EAAE,MAAM,CAAA;QAClB,UAAU,EAAE,OAAO,CAAA;QACnB,QAAQ,EAAE,MAAM,CAAA;QAChB,QAAQ,EAAE,MAAM,CAAA;QAChB,MAAM,EAAE,MAAM,EAAE,CAAA;QAChB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,cAAc,CAAC,EAAE,OAAO,CAAA;QACxB,SAAS,EAAE,YAAY,CAAA;KACxB,GAAG,OAAO,CAAC,OAAO,CAAC;IAmEpB;;;OAGG;IACU,2BAA2B,CAAE,EACxC,UAAU,EACV,QAAQ,EACR,SAAS,EACT,MAAM,EACN,cAAqB,EACtB,EAAE;QACD,UAAU,EAAE,MAAM,CAAA;QAClB,QAAQ,EAAE,MAAM,CAAA;QAChB,SAAS,CAAC,EAAE,KAAK,CAAC;YAChB,IAAI,EAAE,YAAY,CAAA;YAClB,WAAW,EAAE,MAAM,CAAA;YACnB,QAAQ,EAAE,MAAM,CAAA;SACjB,CAAC,CAAA;QACF,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,cAAc,CAAC,EAAE,OAAO,CAAA;KACzB,GAAG,OAAO,CAAC,OAAO,CAAC;IAkDpB;;;OAGG;IACU,iBAAiB,CAAE,EAC9B,UAAU,EACV,KAAK,EACL,MAAM,EACN,cAAqB,EACrB,SAAS,EACV,EAAE;QACD,UAAU,EAAE,MAAM,CAAA;QAClB,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,cAAc,CAAC,EAAE,OAAO,CAAA;QACxB,SAAS,EAAE,OAAO,GAAG,MAAM,CAAA;KAC5B,GAAG,OAAO,CAAC,OAAO,CAAC;IAyCpB;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAYnC,OAAO,CAAC,mCAAmC;IAQ3C,OAAO,CAAC,+BAA+B;YAiDzB,wBAAwB;YAuDxB,6BAA6B;YAK7B,+BAA+B;IA8E7C,OAAO,CAAC,0BAA0B;IASlC,OAAO,CAAC,qCAAqC;IAK7C,OAAO,CAAC,0CAA0C;YAKpC,kBAAkB;IA+BhC,OAAO,CAAC,mBAAmB;YAKb,gBAAgB;YA4EhB,uBAAuB;YAyCvB,gDAAgD;YAmFhD,6BAA6B;YAyB7B,qCAAqC;IAgCnD,OAAO,CAAC,mCAAmC;YA4C7B,8BAA8B;IA4B5C;;;OAGG;YACW,0BAA0B;IAsCxC;;;;;;OAMG;YACW,qBAAqB;IAkCnC,0FAA0F;IAC1F,OAAO,CAAC,cAAc;IAKtB,qEAAqE;YACvD,wBAAwB;IAOtC,oGAAoG;YACtF,kBAAkB;IAuBhC,0FAA0F;YAC5E,mBAAmB;IAkBjC,4EAA4E;YAC9D,0BAA0B;IAyBxC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,8BAA8B,CAGrD;IAED;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,4BAA4B,CAGnD;IAED,oFAAoF;YACtE,2BAA2B;YAa3B,2BAA2B;IAiBzC;;;;OAIG;YACW,oBAAoB;IAelC;;;;OAIG;YACW,oBAAoB;IAiBlC,wDAAwD;IACxD,OAAO,CAAC,cAAc;IAKtB,8EAA8E;YAChE,0BAA0B;IAiBxC,mEAAmE;IACnE,OAAO,CAAC,aAAa;IAKrB,6CAA6C;IAC7C,OAAO,CAAC,aAAa;IAIrB,8DAA8D;IAC9D,OAAO,CAAC,cAAc;IAOtB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAWlC;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IA0B9B,6FAA6F;YAC/E,iBAAiB;IAqE/B,qHAAqH;YACvG,qBAAqB;IAwEnC,4DAA4D;YAC9C,eAAe;IAiD7B,+FAA+F;YACjF,oBAAoB;IAgElC,6EAA6E;YAC/D,iBAAiB;IA+C/B;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAO9B;;OAEG;IACU,eAAe,CAAE,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAsBtE;;;;;;;;OAQG;YACW,uBAAuB;YA6CvB,kBAAkB;YAelB,oBAAoB;YAcpB,kBAAkB;YAelB,qBAAqB;YAoCrB,gCAAgC;YAoBhC,+BAA+B;YAiE/B,wBAAwB;IA+EtC;;;;;;;;OAQG;YACW,sBAAsB;IAyFpC;;;OAGG;YACW,mBAAmB;IA2CjC;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA8B3B;;;;;;;;OAQG;IACU,uBAAuB,CAAE,EACpC,UAAU,EACV,UAAU,EACV,YAAY,EACZ,qBAAqB,EACrB,YAAY,EACb,GAAE;QACD,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,UAAU,CAAC,EAAE,OAAO,CAAA;QACpB,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,qBAAqB,CAAC,EAAE,MAAM,CAAA;QAC9B,YAAY,CAAC,EAAE,MAAM,CAAA;KACjB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAkBnC,iEAAiE;IACjE,OAAO,CAAC,uBAAuB;IAW/B,gFAAgF;YAClE,qBAAqB;IA0BnC;;;OAGG;IACU,qBAAqB,CAAE,MAAM,EAAE;QAC1C,UAAU,EAAE,MAAM,CAAA;QAClB,UAAU,EAAE,OAAO,CAAA;QACnB,UAAU,EAAE,cAAc,CAAA;QAC1B,YAAY,EAAE,MAAM,CAAA;KACrB,GAAG,OAAO,CAAC,OAAO,CAAC;IAcpB;;;;;OAKG;IACU,gBAAgB,CAAE,MAAM,GAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IA0DjH;;OAEG;IACU,eAAe,CAAE,MAAM,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAc/F;;OAEG;IACU,0BAA0B,CAAE,MAAM,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAyCrG;;;OAGG;IACU,wBAAwB,CAAE,MAAM,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAa1G;;;;;;;OAOG;IACU,qBAAqB,CAChC,MAAM,GAAE;QACN,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,UAAU,CAAC,EAAE,OAAO,CAAA;QACpB,QAAQ,CAAC,EAAE,YAAY,CAAA;QACvB,QAAQ,CAAC,EAAE,SAAS,CAAA;KAChB,GACL,OAAO,CAAC,eAAe,EAAE,CAAC;IAsB7B,mFAAmF;YACrE,wBAAwB;IAgCtC;;;OAGG;IACU,oBAAoB,CAAE,MAAM,EAAE;QACzC,UAAU,EAAE,MAAM,CAAA;QAClB,UAAU,EAAE,OAAO,CAAA;QACnB,QAAQ,EAAE,MAAM,CAAA;QAChB,QAAQ,EAAE,MAAM,CAAA;QAChB,MAAM,EAAE,MAAM,EAAE,CAAA;KACjB,GAAG,OAAO,CAAC,OAAO,CAAC;IAiBP,iBAAiB,CAAE,SAAS,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAI5E,sBAAsB,CACjC,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE;QACL,QAAQ,CAAC,EAAE,OAAO,CAAA;QAClB,MAAM,CAAC,EAAE,OAAO,CAAA;QAChB,WAAW,CAAC,EAAE,OAAO,CAAA;QACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;KACnB,GACA,OAAO,CAAC,eAAe,EAAE,CAAC;YAiCf,gCAAgC;YAQhC,2BAA2B;IAsEzC;;;OAGG;IACU,gBAAgB,CAAE,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAqD3D,YAAY,CACvB,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EACpD,UAAU,CAAC,EAAE,MAAM,GAClB,UAAU,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;IAuE9C,0GAA0G;IAC1G,OAAO,CAAC,kBAAkB;IAiB1B,oGAAoG;IACpG,OAAO,CAAC,qBAAqB;IAa7B,yGAAyG;YAC3F,qBAAqB;IA2BnC,gGAAgG;YAClF,4BAA4B;IAoB1C;;;;OAIG;IACH;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,6BAA6B;IA6BrC,OAAO,CAAC,eAAe;IA+CV,UAAU,CACrB,GAAG,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,GACjD,UAAU,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IAI/B,WAAW,CACtB,GAAG,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,GAClD,UAAU,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;IAIhC,WAAW,CACtB,GAAG,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,GAClD,UAAU,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;IAuDhC,iBAAiB,CAC5B,GAAG,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC,GACxD,UAAU,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;IAiGtC,WAAW,CACtB,GAAG,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,GAClD,UAAU,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;IAgChC,gBAAgB,CAC3B,GAAG,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC,GACvD,UAAU,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;IA0BrC,YAAY,CACvB,GAAG,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,GACnD,UAAU,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;IA8CjC,4BAA4B,CACvC,GAAG,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,8BAA8B,CAAC,CAAC,GACnE,UAAU,CAAC,eAAe,CAAC,8BAA8B,CAAC,CAAC;IAajD,wBAAwB,CACnC,GAAG,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAC,GAC/D,UAAU,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAC;IAgB7C,OAAO,CAAE,GAAG,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,GAAG,UAAU,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IA0BjG,OAAO,CAAE,GAAG,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,GAAG,UAAU,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IA0BjG,UAAU,CACrB,GAAG,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,GACjD,UAAU,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IA0B/B,UAAU,CACrB,GAAG,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,GACjD,UAAU,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IA0B/B,eAAe,CAC1B,GAAG,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,GACtD,UAAU,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;IA0BpC,eAAe,CAC1B,GAAG,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,GACtD,UAAU,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;IA0BpC,kBAAkB,CAC7B,GAAG,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC,GACzD,UAAU,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;IAevC,gBAAgB,CAC3B,GAAG,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC,GACvD,UAAU,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;IAerC,gBAAgB,CAC3B,GAAG,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC,GACvD,UAAU,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;IAcrC,qBAAqB,CAChC,GAAG,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC,GAC5D,UAAU,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC;IAe1C,qBAAqB,CAChC,GAAG,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC,GAC5D,UAAU,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC;IAe1C,oBAAoB,CAC/B,GAAG,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC,GAC3D,UAAU,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC;IAezC,eAAe,CAC1B,GAAG,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,GACtD,UAAU,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;IAIpC,qBAAqB,CAChC,GAAG,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC,GAC5D,UAAU,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC;IAgD1C,SAAS,CAAE,GAAG,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,GAAG,UAAU,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;IAIvG,kBAAkB,CAC7B,GAAG,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC,GACzD,UAAU,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;IAIvC,UAAU,CACrB,GAAG,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,GACjD,UAAU,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IAI/B,UAAU,CACrB,GAAG,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,GACjD,UAAU,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IAQ5C,oEAAoE;IACpE,OAAO,CAAC,iBAAiB;IAIzB;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;IAQvB;;;;;;;OAOG;IACH,OAAO,CAAC,YAAY;IAUpB;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAMrB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAc1B,6EAA6E;IAC7E,OAAO,CAAC,eAAe;IAIvB,mGAAmG;IACnG,OAAO,CAAC,eAAe;IAOvB,oGAAoG;IACpG,OAAO,CAAC,iBAAiB;IAUzB,8FAA8F;IAC9F,OAAO,CAAC,mBAAmB;IA6B3B,OAAO,CAAC,iCAAiC;IAczC;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAWnC;;;OAGG;IACH,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,qBAAqB;CAO9B"}
|
|
@@ -2776,6 +2776,21 @@ class WalletPermissionsManager {
|
|
|
2776
2776
|
// 7) Parse the signable tx to determine net spend, then gate on spending authorization.
|
|
2777
2777
|
const tx = sdk_1.Transaction.fromAtomicBEEF(createResult.signableTransaction.tx);
|
|
2778
2778
|
const reference = createResult.signableTransaction.reference;
|
|
2779
|
+
// 7a) SECURITY (GHSA-36f9-7rg5-cpf8) defense-in-depth: confirm every
|
|
2780
|
+
// caller-requested output actually appears in the transaction we are about to
|
|
2781
|
+
// authorize and sign. The locking scripts in the signable transaction
|
|
2782
|
+
// originate from storage; a malicious or compromised remote storage provider
|
|
2783
|
+
// could substitute a recipient script, which would then be signed and
|
|
2784
|
+
// broadcast while this manager's caller/UI still shows the requested
|
|
2785
|
+
// recipient. The signer (buildSignableTransaction) rejects this at the
|
|
2786
|
+
// source; this is an independent check at the permissions layer.
|
|
2787
|
+
try {
|
|
2788
|
+
this.verifyRequestedOutputsPresent(tx, args);
|
|
2789
|
+
}
|
|
2790
|
+
catch (err) {
|
|
2791
|
+
await this.underlying.abortAction({ reference });
|
|
2792
|
+
throw err;
|
|
2793
|
+
}
|
|
2779
2794
|
const { netSpent, lineItems } = this.computeNetSpend(tx, args, originalInputDescriptions, originalOutputDescriptions);
|
|
2780
2795
|
// 8) If netSpent > 0, require spending authorization. Abort if denied.
|
|
2781
2796
|
if (netSpent > 0) {
|
|
@@ -2869,6 +2884,46 @@ class WalletPermissionsManager {
|
|
|
2869
2884
|
* accounting for foreign (originator-provided) inputs and outputs plus the fee.
|
|
2870
2885
|
* Also builds the line items list for the spending authorization request.
|
|
2871
2886
|
*/
|
|
2887
|
+
/**
|
|
2888
|
+
* Defense-in-depth verification that each caller-requested output (locking
|
|
2889
|
+
* script + amount) is present in the transaction returned for signing.
|
|
2890
|
+
*
|
|
2891
|
+
* The scripts in the signable transaction originate from storage. A malicious
|
|
2892
|
+
* or compromised remote storage provider could substitute a different
|
|
2893
|
+
* recipient script for a caller-specified output. The signer
|
|
2894
|
+
* (buildSignableTransaction) rejects this at the source; this is an
|
|
2895
|
+
* independent check at the permissions layer so the substitution is caught
|
|
2896
|
+
* regardless of how the signable transaction was produced.
|
|
2897
|
+
*
|
|
2898
|
+
* Outputs are matched as a multiset on (lockingScript, satoshis): the
|
|
2899
|
+
* transaction also contains change/commission outputs and the output order is
|
|
2900
|
+
* randomized by default, and a caller may legitimately request the same
|
|
2901
|
+
* script+amount more than once.
|
|
2902
|
+
*
|
|
2903
|
+
* @throws Error if any caller-requested output is absent from the transaction.
|
|
2904
|
+
*/
|
|
2905
|
+
verifyRequestedOutputsPresent(tx, args) {
|
|
2906
|
+
const requested = args.outputs || [];
|
|
2907
|
+
if (requested.length === 0)
|
|
2908
|
+
return;
|
|
2909
|
+
// All transaction outputs as (script hex, satoshis); each may satisfy at
|
|
2910
|
+
// most one requested output.
|
|
2911
|
+
const available = tx.outputs.map(o => ({
|
|
2912
|
+
script: o.lockingScript.toHex().toLowerCase(),
|
|
2913
|
+
satoshis: o.satoshis,
|
|
2914
|
+
used: false
|
|
2915
|
+
}));
|
|
2916
|
+
for (let i = 0; i < requested.length; i++) {
|
|
2917
|
+
const wantScript = (requested[i].lockingScript ?? '').toLowerCase();
|
|
2918
|
+
const wantSats = requested[i].satoshis;
|
|
2919
|
+
const match = available.find(a => !a.used && a.script === wantScript && a.satoshis === wantSats);
|
|
2920
|
+
if (match == null) {
|
|
2921
|
+
throw new Error(`The transaction returned for signing does not contain caller-requested output ${i} ` +
|
|
2922
|
+
`(locking script and amount). The recipient may have been substituted by storage.`);
|
|
2923
|
+
}
|
|
2924
|
+
match.used = true;
|
|
2925
|
+
}
|
|
2926
|
+
}
|
|
2872
2927
|
computeNetSpend(tx, args, originalInputDescriptions, originalOutputDescriptions) {
|
|
2873
2928
|
const lineItems = [];
|
|
2874
2929
|
// Sum originator-provided inputs:
|