@bsv/wallet-toolbox 1.7.11 → 1.7.12

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.
Files changed (31) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/docs/client.md +213 -52
  3. package/docs/wallet.md +213 -52
  4. package/mobile/out/src/WalletPermissionsManager.d.ts +60 -0
  5. package/mobile/out/src/WalletPermissionsManager.d.ts.map +1 -1
  6. package/mobile/out/src/WalletPermissionsManager.js +200 -35
  7. package/mobile/out/src/WalletPermissionsManager.js.map +1 -1
  8. package/mobile/package-lock.json +2 -2
  9. package/mobile/package.json +1 -1
  10. package/out/src/WalletPermissionsManager.d.ts +60 -0
  11. package/out/src/WalletPermissionsManager.d.ts.map +1 -1
  12. package/out/src/WalletPermissionsManager.js +200 -35
  13. package/out/src/WalletPermissionsManager.js.map +1 -1
  14. package/out/src/__tests/WalletPermissionsManager.fixtures.d.ts.map +1 -1
  15. package/out/src/__tests/WalletPermissionsManager.fixtures.js.map +1 -1
  16. package/out/src/__tests/WalletPermissionsManager.pmodules.test.d.ts +2 -0
  17. package/out/src/__tests/WalletPermissionsManager.pmodules.test.d.ts.map +1 -0
  18. package/out/src/__tests/WalletPermissionsManager.pmodules.test.js +624 -0
  19. package/out/src/__tests/WalletPermissionsManager.pmodules.test.js.map +1 -0
  20. package/out/src/__tests/WalletPermissionsManager.proxying.test.js.map +1 -1
  21. package/out/src/storage/remoting/StorageServer.d.ts.map +1 -1
  22. package/out/src/storage/remoting/StorageServer.js.map +1 -1
  23. package/out/tsconfig.all.tsbuildinfo +1 -1
  24. package/package.json +1 -1
  25. package/src/Wallet.ts +2 -2
  26. package/src/WalletLogger.ts +1 -1
  27. package/src/WalletPermissionsManager.ts +350 -42
  28. package/src/__tests/WalletPermissionsManager.fixtures.ts +1 -2
  29. package/src/__tests/WalletPermissionsManager.pmodules.test.ts +798 -0
  30. package/src/__tests/WalletPermissionsManager.proxying.test.ts +2 -2
  31. package/src/storage/remoting/StorageServer.ts +0 -2
package/CHANGELOG.md CHANGED
@@ -4,6 +4,13 @@ This document captures the history of significant changes to the wallet-toolbox
4
4
  The git commit history contains the details but is unable to draw
5
5
  attention to changes that materially alter behavior or extend functionality.
6
6
 
7
+ ## wallet-toolbox 1.7.12
8
+
9
+ - Add pluggable permissions module system (`PermissionsModule` interface) for custom P-basket and P-protocol handlers
10
+ - Add `permissionModules` config option to `WalletPermissionsManager` for registering scheme-specific modules
11
+ - Support request/response transformation chaining across multiple modules
12
+ - Add comprehensive test suite covering P-module delegation, chaining, and error handling
13
+
7
14
  ## wallet-toolbox 1.7.6
8
15
 
9
16
  - Change `WalletLogger` json name from logs[0]
package/docs/client.md CHANGED
@@ -14,58 +14,58 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
14
14
 
15
15
  | | | |
16
16
  | --- | --- | --- |
17
- | [AdminStatsResult](#interface-adminstatsresult) | [GenerateChangeSdkInput](#interface-generatechangesdkinput) | [StorageAdminStats](#interface-storageadminstats) |
18
- | [ArcConfig](#interface-arcconfig) | [GenerateChangeSdkOutput](#interface-generatechangesdkoutput) | [StorageCreateActionResult](#interface-storagecreateactionresult) |
19
- | [ArcMinerGetTxData](#interface-arcminergettxdata) | [GenerateChangeSdkParams](#interface-generatechangesdkparams) | [StorageCreateTransactionSdkInput](#interface-storagecreatetransactionsdkinput) |
20
- | [AuthId](#interface-authid) | [GenerateChangeSdkResult](#interface-generatechangesdkresult) | [StorageCreateTransactionSdkOutput](#interface-storagecreatetransactionsdkoutput) |
21
- | [AuthPayload](#interface-authpayload) | [GenerateChangeSdkStorageChange](#interface-generatechangesdkstoragechange) | [StorageFeeModel](#interface-storagefeemodel) |
22
- | [BaseBlockHeader](#interface-baseblockheader) | [GetHeaderByteFileLinksResult](#interface-getheaderbytefilelinksresult) | [StorageGetBeefOptions](#interface-storagegetbeefoptions) |
23
- | [BitailsConfig](#interface-bitailsconfig) | [GetMerklePathResult](#interface-getmerklepathresult) | [StorageIdbOptions](#interface-storageidboptions) |
24
- | [BitailsMerkleProof](#interface-bitailsmerkleproof) | [GetRawTxResult](#interface-getrawtxresult) | [StorageIdbSchema](#interface-storageidbschema) |
25
- | [BlockHeader](#interface-blockheader) | [GetReqsAndBeefDetail](#interface-getreqsandbeefdetail) | [StorageIdentity](#interface-storageidentity) |
26
- | [BsvExchangeRate](#interface-bsvexchangerate) | [GetReqsAndBeefResult](#interface-getreqsandbeefresult) | [StorageInternalizeActionResult](#interface-storageinternalizeactionresult) |
27
- | [BulkFileDataManagerMergeResult](#interface-bulkfiledatamanagermergeresult) | [GetScriptHashHistory](#interface-getscripthashhistory) | [StorageProcessActionArgs](#interface-storageprocessactionargs) |
28
- | [BulkFileDataManagerOptions](#interface-bulkfiledatamanageroptions) | [GetScriptHashHistoryResult](#interface-getscripthashhistoryresult) | [StorageProcessActionResults](#interface-storageprocessactionresults) |
29
- | [BulkHeaderFileInfo](#interface-bulkheaderfileinfo) | [GetStatusForTxidsResult](#interface-getstatusfortxidsresult) | [StorageProvenOrReq](#interface-storageprovenorreq) |
30
- | [BulkHeaderFilesInfo](#interface-bulkheaderfilesinfo) | [GetUtxoStatusDetails](#interface-getutxostatusdetails) | [StorageProviderOptions](#interface-storageprovideroptions) |
31
- | [BulkIngestorApi](#interface-bulkingestorapi) | [GetUtxoStatusResult](#interface-getutxostatusresult) | [StorageReaderOptions](#interface-storagereaderoptions) |
32
- | [BulkIngestorBaseOptions](#interface-bulkingestorbaseoptions) | [GroupedPermissionRequest](#interface-groupedpermissionrequest) | [StorageReaderWriterOptions](#interface-storagereaderwriteroptions) |
33
- | [BulkIngestorCDNOptions](#interface-bulkingestorcdnoptions) | [GroupedPermissions](#interface-groupedpermissions) | [StorageSyncReaderOptions](#interface-storagesyncreaderoptions) |
34
- | [BulkIngestorWhatsOnChainOptions](#interface-bulkingestorwhatsonchainoptions) | [HeightRangeApi](#interface-heightrangeapi) | [SyncChunk](#interface-syncchunk) |
35
- | [BulkStorageApi](#interface-bulkstorageapi) | [HeightRanges](#interface-heightranges) | [SyncError](#interface-syncerror) |
36
- | [BulkStorageBaseOptions](#interface-bulkstoragebaseoptions) | [KeyPair](#interface-keypair) | [SyncMap](#interface-syncmap) |
37
- | [BulkSyncResult](#interface-bulksyncresult) | [KeyPairAddress](#interface-keypairaddress) | [TableCertificate](#interface-tablecertificate) |
38
- | [CertOpsWallet](#interface-certopswallet) | [ListActionsSpecOp](#interface-listactionsspecop) | [TableCertificateField](#interface-tablecertificatefield) |
39
- | [Certifier](#interface-certifier) | [ListOutputsSpecOp](#interface-listoutputsspecop) | [TableCertificateX](#interface-tablecertificatex) |
40
- | [ChaintracksApi](#interface-chaintracksapi) | [LiveBlockHeader](#interface-liveblockheader) | [TableCommission](#interface-tablecommission) |
41
- | [ChaintracksAppendableFileApi](#interface-chaintracksappendablefileapi) | [LiveIngestorApi](#interface-liveingestorapi) | [TableMonitorEvent](#interface-tablemonitorevent) |
42
- | [ChaintracksChainTrackerOptions](#interface-chaintrackschaintrackeroptions) | [LiveIngestorBaseOptions](#interface-liveingestorbaseoptions) | [TableOutput](#interface-tableoutput) |
43
- | [ChaintracksClientApi](#interface-chaintracksclientapi) | [LiveIngestorWhatsOnChainOptions](#interface-liveingestorwhatsonchainoptions) | [TableOutputBasket](#interface-tableoutputbasket) |
44
- | [ChaintracksFetchApi](#interface-chaintracksfetchapi) | [MonitorOptions](#interface-monitoroptions) | [TableOutputTag](#interface-tableoutputtag) |
45
- | [ChaintracksFsApi](#interface-chaintracksfsapi) | [OutPoint](#interface-outpoint) | [TableOutputTagMap](#interface-tableoutputtagmap) |
46
- | [ChaintracksInfoApi](#interface-chaintracksinfoapi) | [Paged](#interface-paged) | [TableOutputX](#interface-tableoutputx) |
47
- | [ChaintracksManagementApi](#interface-chaintracksmanagementapi) | [PendingSignAction](#interface-pendingsignaction) | [TableProvenTx](#interface-tableproventx) |
48
- | [ChaintracksOptions](#interface-chaintracksoptions) | [PendingStorageInput](#interface-pendingstorageinput) | [TableProvenTxReq](#interface-tableproventxreq) |
49
- | [ChaintracksPackageInfoApi](#interface-chaintrackspackageinfoapi) | [PermissionRequest](#interface-permissionrequest) | [TableProvenTxReqDynamics](#interface-tableproventxreqdynamics) |
50
- | [ChaintracksReadableFileApi](#interface-chaintracksreadablefileapi) | [PermissionToken](#interface-permissiontoken) | [TableSettings](#interface-tablesettings) |
51
- | [ChaintracksServiceClientOptions](#interface-chaintracksserviceclientoptions) | [PermissionsManagerConfig](#interface-permissionsmanagerconfig) | [TableSyncState](#interface-tablesyncstate) |
52
- | [ChaintracksStorageApi](#interface-chaintracksstorageapi) | [PostBeefResult](#interface-postbeefresult) | [TableTransaction](#interface-tabletransaction) |
53
- | [ChaintracksStorageBaseOptions](#interface-chaintracksstoragebaseoptions) | [PostBeefResultForTxidApi](#interface-postbeefresultfortxidapi) | [TableTxLabel](#interface-tabletxlabel) |
54
- | [ChaintracksStorageBulkFileApi](#interface-chaintracksstoragebulkfileapi) | [PostReqsToNetworkDetails](#interface-postreqstonetworkdetails) | [TableTxLabelMap](#interface-tabletxlabelmap) |
55
- | [ChaintracksStorageIdbOptions](#interface-chaintracksstorageidboptions) | [PostReqsToNetworkResult](#interface-postreqstonetworkresult) | [TableUser](#interface-tableuser) |
56
- | [ChaintracksStorageIdbSchema](#interface-chaintracksstorageidbschema) | [PostTxResultForTxid](#interface-posttxresultfortxid) | [TaskPurgeParams](#interface-taskpurgeparams) |
57
- | [ChaintracksStorageIngestApi](#interface-chaintracksstorageingestapi) | [PostTxResultForTxidError](#interface-posttxresultfortxiderror) | [TrustSettings](#interface-trustsettings) |
58
- | [ChaintracksStorageNoDbOptions](#interface-chaintracksstoragenodboptions) | [PostTxsResult](#interface-posttxsresult) | [TrxToken](#interface-trxtoken) |
59
- | [ChaintracksStorageQueryApi](#interface-chaintracksstoragequeryapi) | [ProcessSyncChunkResult](#interface-processsyncchunkresult) | [TscMerkleProofApi](#interface-tscmerkleproofapi) |
60
- | [ChaintracksWritableFileApi](#interface-chaintrackswritablefileapi) | [Profile](#interface-profile) | [TxScriptOffsets](#interface-txscriptoffsets) |
61
- | [CommitNewTxResults](#interface-commitnewtxresults) | [ProvenOrRawTx](#interface-provenorrawtx) | [UMPToken](#interface-umptoken) |
62
- | [CompleteAuthResponse](#interface-completeauthresponse) | [ProvenTransactionStatus](#interface-proventransactionstatus) | [UMPTokenInteractor](#interface-umptokeninteractor) |
63
- | [CreateActionResultX](#interface-createactionresultx) | [ProvenTxFromTxidResult](#interface-proventxfromtxidresult) | [UpdateProvenTxReqWithNewProvenTxArgs](#interface-updateproventxreqwithnewproventxargs) |
64
- | [DeactivedHeader](#interface-deactivedheader) | [ProvenTxReqHistory](#interface-proventxreqhistory) | [UpdateProvenTxReqWithNewProvenTxResult](#interface-updateproventxreqwithnewproventxresult) |
65
- | [EntitySyncMap](#interface-entitysyncmap) | [ProvenTxReqHistorySummaryApi](#interface-proventxreqhistorysummaryapi) | [ValidateGenerateChangeSdkParamsResult](#interface-validategeneratechangesdkparamsresult) |
66
- | [EntityTimeStamp](#interface-entitytimestamp) | [ProvenTxReqNotify](#interface-proventxreqnotify) | [VerifyAndRepairBeefResult](#interface-verifyandrepairbeefresult) |
67
- | [ExchangeRatesIoApi](#interface-exchangeratesioapi) | [ProviderCallHistory](#interface-providercallhistory) | [WalletArgs](#interface-walletargs) |
68
- | [ExtendedVerifiableCertificate](#interface-extendedverifiablecertificate) | [PurgeParams](#interface-purgeparams) | [WalletBalance](#interface-walletbalance) |
17
+ | [AdminStatsResult](#interface-adminstatsresult) | [GenerateChangeSdkOutput](#interface-generatechangesdkoutput) | [StorageCreateActionResult](#interface-storagecreateactionresult) |
18
+ | [ArcConfig](#interface-arcconfig) | [GenerateChangeSdkParams](#interface-generatechangesdkparams) | [StorageCreateTransactionSdkInput](#interface-storagecreatetransactionsdkinput) |
19
+ | [ArcMinerGetTxData](#interface-arcminergettxdata) | [GenerateChangeSdkResult](#interface-generatechangesdkresult) | [StorageCreateTransactionSdkOutput](#interface-storagecreatetransactionsdkoutput) |
20
+ | [AuthId](#interface-authid) | [GenerateChangeSdkStorageChange](#interface-generatechangesdkstoragechange) | [StorageFeeModel](#interface-storagefeemodel) |
21
+ | [AuthPayload](#interface-authpayload) | [GetHeaderByteFileLinksResult](#interface-getheaderbytefilelinksresult) | [StorageGetBeefOptions](#interface-storagegetbeefoptions) |
22
+ | [BaseBlockHeader](#interface-baseblockheader) | [GetMerklePathResult](#interface-getmerklepathresult) | [StorageIdbOptions](#interface-storageidboptions) |
23
+ | [BitailsConfig](#interface-bitailsconfig) | [GetRawTxResult](#interface-getrawtxresult) | [StorageIdbSchema](#interface-storageidbschema) |
24
+ | [BitailsMerkleProof](#interface-bitailsmerkleproof) | [GetReqsAndBeefDetail](#interface-getreqsandbeefdetail) | [StorageIdentity](#interface-storageidentity) |
25
+ | [BlockHeader](#interface-blockheader) | [GetReqsAndBeefResult](#interface-getreqsandbeefresult) | [StorageInternalizeActionResult](#interface-storageinternalizeactionresult) |
26
+ | [BsvExchangeRate](#interface-bsvexchangerate) | [GetScriptHashHistory](#interface-getscripthashhistory) | [StorageProcessActionArgs](#interface-storageprocessactionargs) |
27
+ | [BulkFileDataManagerMergeResult](#interface-bulkfiledatamanagermergeresult) | [GetScriptHashHistoryResult](#interface-getscripthashhistoryresult) | [StorageProcessActionResults](#interface-storageprocessactionresults) |
28
+ | [BulkFileDataManagerOptions](#interface-bulkfiledatamanageroptions) | [GetStatusForTxidsResult](#interface-getstatusfortxidsresult) | [StorageProvenOrReq](#interface-storageprovenorreq) |
29
+ | [BulkHeaderFileInfo](#interface-bulkheaderfileinfo) | [GetUtxoStatusDetails](#interface-getutxostatusdetails) | [StorageProviderOptions](#interface-storageprovideroptions) |
30
+ | [BulkHeaderFilesInfo](#interface-bulkheaderfilesinfo) | [GetUtxoStatusResult](#interface-getutxostatusresult) | [StorageReaderOptions](#interface-storagereaderoptions) |
31
+ | [BulkIngestorApi](#interface-bulkingestorapi) | [GroupedPermissionRequest](#interface-groupedpermissionrequest) | [StorageReaderWriterOptions](#interface-storagereaderwriteroptions) |
32
+ | [BulkIngestorBaseOptions](#interface-bulkingestorbaseoptions) | [GroupedPermissions](#interface-groupedpermissions) | [StorageSyncReaderOptions](#interface-storagesyncreaderoptions) |
33
+ | [BulkIngestorCDNOptions](#interface-bulkingestorcdnoptions) | [HeightRangeApi](#interface-heightrangeapi) | [SyncChunk](#interface-syncchunk) |
34
+ | [BulkIngestorWhatsOnChainOptions](#interface-bulkingestorwhatsonchainoptions) | [HeightRanges](#interface-heightranges) | [SyncError](#interface-syncerror) |
35
+ | [BulkStorageApi](#interface-bulkstorageapi) | [KeyPair](#interface-keypair) | [SyncMap](#interface-syncmap) |
36
+ | [BulkStorageBaseOptions](#interface-bulkstoragebaseoptions) | [KeyPairAddress](#interface-keypairaddress) | [TableCertificate](#interface-tablecertificate) |
37
+ | [BulkSyncResult](#interface-bulksyncresult) | [ListActionsSpecOp](#interface-listactionsspecop) | [TableCertificateField](#interface-tablecertificatefield) |
38
+ | [CertOpsWallet](#interface-certopswallet) | [ListOutputsSpecOp](#interface-listoutputsspecop) | [TableCertificateX](#interface-tablecertificatex) |
39
+ | [Certifier](#interface-certifier) | [LiveBlockHeader](#interface-liveblockheader) | [TableCommission](#interface-tablecommission) |
40
+ | [ChaintracksApi](#interface-chaintracksapi) | [LiveIngestorApi](#interface-liveingestorapi) | [TableMonitorEvent](#interface-tablemonitorevent) |
41
+ | [ChaintracksAppendableFileApi](#interface-chaintracksappendablefileapi) | [LiveIngestorBaseOptions](#interface-liveingestorbaseoptions) | [TableOutput](#interface-tableoutput) |
42
+ | [ChaintracksChainTrackerOptions](#interface-chaintrackschaintrackeroptions) | [LiveIngestorWhatsOnChainOptions](#interface-liveingestorwhatsonchainoptions) | [TableOutputBasket](#interface-tableoutputbasket) |
43
+ | [ChaintracksClientApi](#interface-chaintracksclientapi) | [MonitorOptions](#interface-monitoroptions) | [TableOutputTag](#interface-tableoutputtag) |
44
+ | [ChaintracksFetchApi](#interface-chaintracksfetchapi) | [OutPoint](#interface-outpoint) | [TableOutputTagMap](#interface-tableoutputtagmap) |
45
+ | [ChaintracksFsApi](#interface-chaintracksfsapi) | [Paged](#interface-paged) | [TableOutputX](#interface-tableoutputx) |
46
+ | [ChaintracksInfoApi](#interface-chaintracksinfoapi) | [PendingSignAction](#interface-pendingsignaction) | [TableProvenTx](#interface-tableproventx) |
47
+ | [ChaintracksManagementApi](#interface-chaintracksmanagementapi) | [PendingStorageInput](#interface-pendingstorageinput) | [TableProvenTxReq](#interface-tableproventxreq) |
48
+ | [ChaintracksOptions](#interface-chaintracksoptions) | [PermissionRequest](#interface-permissionrequest) | [TableProvenTxReqDynamics](#interface-tableproventxreqdynamics) |
49
+ | [ChaintracksPackageInfoApi](#interface-chaintrackspackageinfoapi) | [PermissionToken](#interface-permissiontoken) | [TableSettings](#interface-tablesettings) |
50
+ | [ChaintracksReadableFileApi](#interface-chaintracksreadablefileapi) | [PermissionsManagerConfig](#interface-permissionsmanagerconfig) | [TableSyncState](#interface-tablesyncstate) |
51
+ | [ChaintracksServiceClientOptions](#interface-chaintracksserviceclientoptions) | [PermissionsModule](#interface-permissionsmodule) | [TableTransaction](#interface-tabletransaction) |
52
+ | [ChaintracksStorageApi](#interface-chaintracksstorageapi) | [PostBeefResult](#interface-postbeefresult) | [TableTxLabel](#interface-tabletxlabel) |
53
+ | [ChaintracksStorageBaseOptions](#interface-chaintracksstoragebaseoptions) | [PostBeefResultForTxidApi](#interface-postbeefresultfortxidapi) | [TableTxLabelMap](#interface-tabletxlabelmap) |
54
+ | [ChaintracksStorageBulkFileApi](#interface-chaintracksstoragebulkfileapi) | [PostReqsToNetworkDetails](#interface-postreqstonetworkdetails) | [TableUser](#interface-tableuser) |
55
+ | [ChaintracksStorageIdbOptions](#interface-chaintracksstorageidboptions) | [PostReqsToNetworkResult](#interface-postreqstonetworkresult) | [TaskPurgeParams](#interface-taskpurgeparams) |
56
+ | [ChaintracksStorageIdbSchema](#interface-chaintracksstorageidbschema) | [PostTxResultForTxid](#interface-posttxresultfortxid) | [TrustSettings](#interface-trustsettings) |
57
+ | [ChaintracksStorageIngestApi](#interface-chaintracksstorageingestapi) | [PostTxResultForTxidError](#interface-posttxresultfortxiderror) | [TrxToken](#interface-trxtoken) |
58
+ | [ChaintracksStorageNoDbOptions](#interface-chaintracksstoragenodboptions) | [PostTxsResult](#interface-posttxsresult) | [TscMerkleProofApi](#interface-tscmerkleproofapi) |
59
+ | [ChaintracksStorageQueryApi](#interface-chaintracksstoragequeryapi) | [ProcessSyncChunkResult](#interface-processsyncchunkresult) | [TxScriptOffsets](#interface-txscriptoffsets) |
60
+ | [ChaintracksWritableFileApi](#interface-chaintrackswritablefileapi) | [Profile](#interface-profile) | [UMPToken](#interface-umptoken) |
61
+ | [CommitNewTxResults](#interface-commitnewtxresults) | [ProvenOrRawTx](#interface-provenorrawtx) | [UMPTokenInteractor](#interface-umptokeninteractor) |
62
+ | [CompleteAuthResponse](#interface-completeauthresponse) | [ProvenTransactionStatus](#interface-proventransactionstatus) | [UpdateProvenTxReqWithNewProvenTxArgs](#interface-updateproventxreqwithnewproventxargs) |
63
+ | [CreateActionResultX](#interface-createactionresultx) | [ProvenTxFromTxidResult](#interface-proventxfromtxidresult) | [UpdateProvenTxReqWithNewProvenTxResult](#interface-updateproventxreqwithnewproventxresult) |
64
+ | [DeactivedHeader](#interface-deactivedheader) | [ProvenTxReqHistory](#interface-proventxreqhistory) | [ValidateGenerateChangeSdkParamsResult](#interface-validategeneratechangesdkparamsresult) |
65
+ | [EntitySyncMap](#interface-entitysyncmap) | [ProvenTxReqHistorySummaryApi](#interface-proventxreqhistorysummaryapi) | [VerifyAndRepairBeefResult](#interface-verifyandrepairbeefresult) |
66
+ | [EntityTimeStamp](#interface-entitytimestamp) | [ProvenTxReqNotify](#interface-proventxreqnotify) | [WalletArgs](#interface-walletargs) |
67
+ | [ExchangeRatesIoApi](#interface-exchangeratesioapi) | [ProviderCallHistory](#interface-providercallhistory) | [WalletBalance](#interface-walletbalance) |
68
+ | [ExtendedVerifiableCertificate](#interface-extendedverifiablecertificate) | [PurgeParams](#interface-purgeparams) | [WalletLoggerArgs](#interface-walletloggerargs) |
69
69
  | [FiatExchangeRates](#interface-fiatexchangerates) | [PurgeResults](#interface-purgeresults) | [WalletPermissionsManagerCallbacks](#interface-walletpermissionsmanagercallbacks) |
70
70
  | [FindCertificateFieldsArgs](#interface-findcertificatefieldsargs) | [ReproveHeaderResult](#interface-reproveheaderresult) | [WalletServices](#interface-walletservices) |
71
71
  | [FindCertificatesArgs](#interface-findcertificatesargs) | [ReproveProvenResult](#interface-reproveprovenresult) | [WalletServicesOptions](#interface-walletservicesoptions) |
@@ -87,6 +87,7 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
87
87
  | [FindUsersArgs](#interface-findusersargs) | [SignActionResultX](#interface-signactionresultx) | [WocHeader](#interface-wocheader) |
88
88
  | [GenerateChangeSdkChangeInput](#interface-generatechangesdkchangeinput) | [StartAuthResponse](#interface-startauthresponse) | [XValidCreateActionOutput](#interface-xvalidcreateactionoutput) |
89
89
  | [GenerateChangeSdkChangeOutput](#interface-generatechangesdkchangeoutput) | [StatusForTxidResult](#interface-statusfortxidresult) | |
90
+ | [GenerateChangeSdkInput](#interface-generatechangesdkinput) | [StorageAdminStats](#interface-storageadminstats) | |
90
91
 
91
92
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
92
93
 
@@ -3955,6 +3956,7 @@ By default, all of these are `true` unless specified otherwise. This is the most
3955
3956
 
3956
3957
  ```ts
3957
3958
  export interface PermissionsManagerConfig {
3959
+ permissionModules?: Record<string, PermissionsModule>;
3958
3960
  seekProtocolPermissionsForSigning?: boolean;
3959
3961
  seekProtocolPermissionsForEncrypting?: boolean;
3960
3962
  seekProtocolPermissionsForHMAC?: boolean;
@@ -3978,6 +3980,8 @@ export interface PermissionsManagerConfig {
3978
3980
  }
3979
3981
  ```
3980
3982
 
3983
+ See also: [PermissionsModule](./client.md#interface-permissionsmodule)
3984
+
3981
3985
  ###### Property differentiatePrivilegedOperations
3982
3986
 
3983
3987
  If false, permissions are checked without regard for whether we are in
@@ -3998,6 +4002,25 @@ when before they are passed to the underlying wallet, and transparently decrypte
3998
4002
  encryptWalletMetadata?: boolean
3999
4003
  ```
4000
4004
 
4005
+ ###### Property permissionModules
4006
+
4007
+ A map of P-basket permission scheme modules.
4008
+
4009
+ Keys are scheme IDs (e.g., "btms"), values are PermissionsModule instances.
4010
+
4011
+ Each module handles basket IDs of the form: `p <schemeID> <rest...>`
4012
+
4013
+ The WalletPermissionManager detects P-prefix baskets and delegates
4014
+ request/response transformation to the corresponding module.
4015
+
4016
+ If no module exists for a given schemeID, the wallet MUST reject access
4017
+ according to the P-Baskets specification.
4018
+
4019
+ ```ts
4020
+ permissionModules?: Record<string, PermissionsModule>
4021
+ ```
4022
+ See also: [PermissionsModule](./client.md#interface-permissionsmodule)
4023
+
4001
4024
  ###### Property seekBasketInsertionPermissions
4002
4025
 
4003
4026
  When we do internalizeAction with `basket insertion`, or include outputs in baskets
@@ -4153,6 +4176,80 @@ seekSpendingPermissions?: boolean
4153
4176
 
4154
4177
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
4155
4178
 
4179
+ ---
4180
+ ##### Interface: PermissionsModule
4181
+
4182
+ A permissions module handles request/response transformation for a specific P-basket scheme.
4183
+ Modules are registered in the config mapped by their scheme ID.
4184
+
4185
+ ```ts
4186
+ export interface PermissionsModule {
4187
+ onRequest(req: {
4188
+ method: string;
4189
+ args: any[];
4190
+ originator: string;
4191
+ }): Promise<{
4192
+ method: string;
4193
+ args: any[];
4194
+ originator: string;
4195
+ }>;
4196
+ onResponse(res: any, context: {
4197
+ method: string;
4198
+ originator: string;
4199
+ }): Promise<any>;
4200
+ }
4201
+ ```
4202
+
4203
+ ###### Method onRequest
4204
+
4205
+ Transforms the request before it's passed to the underlying wallet.
4206
+ Can modify method name, args, or originator as needed.
4207
+
4208
+ ```ts
4209
+ onRequest(req: {
4210
+ method: string;
4211
+ args: any[];
4212
+ originator: string;
4213
+ }): Promise<{
4214
+ method: string;
4215
+ args: any[];
4216
+ originator: string;
4217
+ }>
4218
+ ```
4219
+
4220
+ Returns
4221
+
4222
+ Transformed request that will be passed to the underlying wallet
4223
+
4224
+ Argument Details
4225
+
4226
+ + **req**
4227
+ + The incoming request with method, args, and originator
4228
+
4229
+ ###### Method onResponse
4230
+
4231
+ Transforms the response from the underlying wallet before returning to caller.
4232
+
4233
+ ```ts
4234
+ onResponse(res: any, context: {
4235
+ method: string;
4236
+ originator: string;
4237
+ }): Promise<any>
4238
+ ```
4239
+
4240
+ Returns
4241
+
4242
+ Transformed response to return to the caller
4243
+
4244
+ Argument Details
4245
+
4246
+ + **res**
4247
+ + The response from the underlying wallet
4248
+ + **context**
4249
+ + Metadata about the original request (method, originator)
4250
+
4251
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
4252
+
4156
4253
  ---
4157
4254
  ##### Interface: PostBeefResult
4158
4255
 
@@ -7063,6 +7160,69 @@ export interface WalletBalance {
7063
7160
 
7064
7161
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
7065
7162
 
7163
+ ---
7164
+ ##### Interface: WalletLoggerArgs
7165
+
7166
+ Constructor properties available to `WalletLogger`
7167
+
7168
+ ```ts
7169
+ export interface WalletLoggerArgs {
7170
+ level?: "error" | "warn" | "info" | "debug" | "trace";
7171
+ indent?: number;
7172
+ isOrigin?: boolean;
7173
+ isError?: boolean;
7174
+ logs?: WalletLoggerLog[];
7175
+ }
7176
+ ```
7177
+
7178
+ ###### Property indent
7179
+
7180
+ Valid if an accumulating logger. Count of `group` calls without matching `groupEnd`.
7181
+
7182
+ ```ts
7183
+ indent?: number
7184
+ ```
7185
+
7186
+ ###### Property isError
7187
+
7188
+ True if this is an accumulating logger and an error was logged.
7189
+
7190
+ ```ts
7191
+ isError?: boolean
7192
+ ```
7193
+
7194
+ ###### Property isOrigin
7195
+
7196
+ True if this is an accumulating logger and the logger belongs to the object servicing the initial request.
7197
+
7198
+ ```ts
7199
+ isOrigin?: boolean
7200
+ ```
7201
+
7202
+ ###### Property level
7203
+
7204
+ Optional. Logging levels that may influence what is logged.
7205
+
7206
+ 'error' Only requests resulting in an exception should be logged.
7207
+ 'warn' Also log requests that succeed but with an abnormal condition.
7208
+ 'info' Also log normal successful requests.
7209
+ 'debug' Add input parm and result details where possible.
7210
+ 'trace' Instead of adding debug details, focus on execution path and timing.
7211
+
7212
+ ```ts
7213
+ level?: "error" | "warn" | "info" | "debug" | "trace"
7214
+ ```
7215
+
7216
+ ###### Property logs
7217
+
7218
+ Optional array of accumulated logged data and errors.
7219
+
7220
+ ```ts
7221
+ logs?: WalletLoggerLog[]
7222
+ ```
7223
+
7224
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
7225
+
7066
7226
  ---
7067
7227
  ##### Interface: WalletPermissionsManagerCallbacks
7068
7228
 
@@ -14621,6 +14781,7 @@ export class WalletLogger implements WalletLoggerInterface {
14621
14781
  isOrigin: boolean = true;
14622
14782
  isError: boolean = false;
14623
14783
  level?: WalletLoggerLevel;
14784
+ flushFormat?: "json";
14624
14785
  constructor(log?: string | WalletLoggerInterface)
14625
14786
  group(...label: any[]): void
14626
14787
  groupEnd(): void