@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.
- package/CHANGELOG.md +7 -0
- package/docs/client.md +213 -52
- package/docs/wallet.md +213 -52
- package/mobile/out/src/WalletPermissionsManager.d.ts +60 -0
- package/mobile/out/src/WalletPermissionsManager.d.ts.map +1 -1
- package/mobile/out/src/WalletPermissionsManager.js +200 -35
- package/mobile/out/src/WalletPermissionsManager.js.map +1 -1
- package/mobile/package-lock.json +2 -2
- package/mobile/package.json +1 -1
- package/out/src/WalletPermissionsManager.d.ts +60 -0
- package/out/src/WalletPermissionsManager.d.ts.map +1 -1
- package/out/src/WalletPermissionsManager.js +200 -35
- package/out/src/WalletPermissionsManager.js.map +1 -1
- package/out/src/__tests/WalletPermissionsManager.fixtures.d.ts.map +1 -1
- package/out/src/__tests/WalletPermissionsManager.fixtures.js.map +1 -1
- package/out/src/__tests/WalletPermissionsManager.pmodules.test.d.ts +2 -0
- package/out/src/__tests/WalletPermissionsManager.pmodules.test.d.ts.map +1 -0
- package/out/src/__tests/WalletPermissionsManager.pmodules.test.js +624 -0
- package/out/src/__tests/WalletPermissionsManager.pmodules.test.js.map +1 -0
- package/out/src/__tests/WalletPermissionsManager.proxying.test.js.map +1 -1
- package/out/src/storage/remoting/StorageServer.d.ts.map +1 -1
- package/out/src/storage/remoting/StorageServer.js.map +1 -1
- package/out/tsconfig.all.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/Wallet.ts +2 -2
- package/src/WalletLogger.ts +1 -1
- package/src/WalletPermissionsManager.ts +350 -42
- package/src/__tests/WalletPermissionsManager.fixtures.ts +1 -2
- package/src/__tests/WalletPermissionsManager.pmodules.test.ts +798 -0
- package/src/__tests/WalletPermissionsManager.proxying.test.ts +2 -2
- 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) | [
|
|
18
|
-
| [ArcConfig](#interface-arcconfig) | [
|
|
19
|
-
| [ArcMinerGetTxData](#interface-arcminergettxdata) | [
|
|
20
|
-
| [AuthId](#interface-authid) | [
|
|
21
|
-
| [AuthPayload](#interface-authpayload) | [
|
|
22
|
-
| [BaseBlockHeader](#interface-baseblockheader) | [
|
|
23
|
-
| [BitailsConfig](#interface-bitailsconfig) | [
|
|
24
|
-
| [BitailsMerkleProof](#interface-bitailsmerkleproof) | [
|
|
25
|
-
| [BlockHeader](#interface-blockheader) | [
|
|
26
|
-
| [BsvExchangeRate](#interface-bsvexchangerate) | [
|
|
27
|
-
| [BulkFileDataManagerMergeResult](#interface-bulkfiledatamanagermergeresult) | [
|
|
28
|
-
| [BulkFileDataManagerOptions](#interface-bulkfiledatamanageroptions) | [
|
|
29
|
-
| [BulkHeaderFileInfo](#interface-bulkheaderfileinfo) | [
|
|
30
|
-
| [BulkHeaderFilesInfo](#interface-bulkheaderfilesinfo) | [
|
|
31
|
-
| [BulkIngestorApi](#interface-bulkingestorapi) | [
|
|
32
|
-
| [BulkIngestorBaseOptions](#interface-bulkingestorbaseoptions) | [
|
|
33
|
-
| [BulkIngestorCDNOptions](#interface-bulkingestorcdnoptions) | [
|
|
34
|
-
| [BulkIngestorWhatsOnChainOptions](#interface-bulkingestorwhatsonchainoptions) | [
|
|
35
|
-
| [BulkStorageApi](#interface-bulkstorageapi) | [
|
|
36
|
-
| [BulkStorageBaseOptions](#interface-bulkstoragebaseoptions) | [
|
|
37
|
-
| [BulkSyncResult](#interface-bulksyncresult) | [
|
|
38
|
-
| [CertOpsWallet](#interface-certopswallet) | [
|
|
39
|
-
| [Certifier](#interface-certifier) | [
|
|
40
|
-
| [ChaintracksApi](#interface-chaintracksapi) | [
|
|
41
|
-
| [ChaintracksAppendableFileApi](#interface-chaintracksappendablefileapi) | [
|
|
42
|
-
| [ChaintracksChainTrackerOptions](#interface-chaintrackschaintrackeroptions) | [
|
|
43
|
-
| [ChaintracksClientApi](#interface-chaintracksclientapi) | [
|
|
44
|
-
| [ChaintracksFetchApi](#interface-chaintracksfetchapi) | [
|
|
45
|
-
| [ChaintracksFsApi](#interface-chaintracksfsapi) | [
|
|
46
|
-
| [ChaintracksInfoApi](#interface-chaintracksinfoapi) | [
|
|
47
|
-
| [ChaintracksManagementApi](#interface-chaintracksmanagementapi) | [
|
|
48
|
-
| [ChaintracksOptions](#interface-chaintracksoptions) | [
|
|
49
|
-
| [ChaintracksPackageInfoApi](#interface-chaintrackspackageinfoapi) | [
|
|
50
|
-
| [ChaintracksReadableFileApi](#interface-chaintracksreadablefileapi) | [
|
|
51
|
-
| [ChaintracksServiceClientOptions](#interface-chaintracksserviceclientoptions) | [
|
|
52
|
-
| [ChaintracksStorageApi](#interface-chaintracksstorageapi) | [PostBeefResult](#interface-postbeefresult) | [
|
|
53
|
-
| [ChaintracksStorageBaseOptions](#interface-chaintracksstoragebaseoptions) | [PostBeefResultForTxidApi](#interface-postbeefresultfortxidapi) | [
|
|
54
|
-
| [ChaintracksStorageBulkFileApi](#interface-chaintracksstoragebulkfileapi) | [PostReqsToNetworkDetails](#interface-postreqstonetworkdetails) | [
|
|
55
|
-
| [ChaintracksStorageIdbOptions](#interface-chaintracksstorageidboptions) | [PostReqsToNetworkResult](#interface-postreqstonetworkresult) | [
|
|
56
|
-
| [ChaintracksStorageIdbSchema](#interface-chaintracksstorageidbschema) | [PostTxResultForTxid](#interface-posttxresultfortxid) | [
|
|
57
|
-
| [ChaintracksStorageIngestApi](#interface-chaintracksstorageingestapi) | [PostTxResultForTxidError](#interface-posttxresultfortxiderror) | [
|
|
58
|
-
| [ChaintracksStorageNoDbOptions](#interface-chaintracksstoragenodboptions) | [PostTxsResult](#interface-posttxsresult) | [
|
|
59
|
-
| [ChaintracksStorageQueryApi](#interface-chaintracksstoragequeryapi) | [ProcessSyncChunkResult](#interface-processsyncchunkresult) | [
|
|
60
|
-
| [ChaintracksWritableFileApi](#interface-chaintrackswritablefileapi) | [Profile](#interface-profile) | [
|
|
61
|
-
| [CommitNewTxResults](#interface-commitnewtxresults) | [ProvenOrRawTx](#interface-provenorrawtx) | [
|
|
62
|
-
| [CompleteAuthResponse](#interface-completeauthresponse) | [ProvenTransactionStatus](#interface-proventransactionstatus) | [
|
|
63
|
-
| [CreateActionResultX](#interface-createactionresultx) | [ProvenTxFromTxidResult](#interface-proventxfromtxidresult) | [
|
|
64
|
-
| [DeactivedHeader](#interface-deactivedheader) | [ProvenTxReqHistory](#interface-proventxreqhistory) | [
|
|
65
|
-
| [EntitySyncMap](#interface-entitysyncmap) | [ProvenTxReqHistorySummaryApi](#interface-proventxreqhistorysummaryapi) | [
|
|
66
|
-
| [EntityTimeStamp](#interface-entitytimestamp) | [ProvenTxReqNotify](#interface-proventxreqnotify) | [
|
|
67
|
-
| [ExchangeRatesIoApi](#interface-exchangeratesioapi) | [ProviderCallHistory](#interface-providercallhistory) | [
|
|
68
|
-
| [ExtendedVerifiableCertificate](#interface-extendedverifiablecertificate) | [PurgeParams](#interface-purgeparams) | [
|
|
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
|