@bsv/wallet-toolbox 1.3.20 → 1.3.22
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/.github/workflows/push.yaml +5 -0
- package/mobile/out/src/CWIStyleWalletManager.d.ts +437 -0
- package/mobile/out/src/CWIStyleWalletManager.d.ts.map +1 -0
- package/mobile/out/src/CWIStyleWalletManager.js +1255 -0
- package/mobile/out/src/CWIStyleWalletManager.js.map +1 -0
- package/mobile/out/src/SetupClient.d.ts +126 -0
- package/mobile/out/src/SetupClient.d.ts.map +1 -0
- package/mobile/out/src/SetupClient.js +220 -0
- package/mobile/out/src/SetupClient.js.map +1 -0
- package/mobile/out/src/SetupWallet.d.ts +100 -0
- package/mobile/out/src/SetupWallet.d.ts.map +1 -0
- package/mobile/out/src/SetupWallet.js +3 -0
- package/mobile/out/src/SetupWallet.js.map +1 -0
- package/mobile/out/src/SimpleWalletManager.d.ts +169 -0
- package/mobile/out/src/SimpleWalletManager.d.ts.map +1 -0
- package/mobile/out/src/SimpleWalletManager.js +315 -0
- package/mobile/out/src/SimpleWalletManager.js.map +1 -0
- package/mobile/out/src/Wallet.d.ts +177 -0
- package/mobile/out/src/Wallet.d.ts.map +1 -0
- package/mobile/out/src/Wallet.js +742 -0
- package/mobile/out/src/Wallet.js.map +1 -0
- package/mobile/out/src/WalletAuthenticationManager.d.ts +33 -0
- package/mobile/out/src/WalletAuthenticationManager.d.ts.map +1 -0
- package/mobile/out/src/WalletAuthenticationManager.js +113 -0
- package/mobile/out/src/WalletAuthenticationManager.js.map +1 -0
- package/mobile/out/src/WalletPermissionsManager.d.ts +598 -0
- package/mobile/out/src/WalletPermissionsManager.d.ts.map +1 -0
- package/mobile/out/src/WalletPermissionsManager.js +1868 -0
- package/mobile/out/src/WalletPermissionsManager.js.map +1 -0
- package/mobile/out/src/WalletSettingsManager.d.ts +52 -0
- package/mobile/out/src/WalletSettingsManager.d.ts.map +1 -0
- package/mobile/out/src/WalletSettingsManager.js +82 -0
- package/mobile/out/src/WalletSettingsManager.js.map +1 -0
- package/mobile/out/src/index.client.d.ts +19 -0
- package/mobile/out/src/index.client.d.ts.map +1 -0
- package/mobile/out/src/index.client.js +58 -0
- package/mobile/out/src/index.client.js.map +1 -0
- package/mobile/out/src/index.mobile.d.ts +19 -0
- package/mobile/out/src/index.mobile.d.ts.map +1 -0
- package/mobile/out/src/index.mobile.js +58 -0
- package/mobile/out/src/index.mobile.js.map +1 -0
- package/mobile/out/src/monitor/Monitor.d.ts +91 -0
- package/mobile/out/src/monitor/Monitor.d.ts.map +1 -0
- package/mobile/out/src/monitor/Monitor.js +298 -0
- package/mobile/out/src/monitor/Monitor.js.map +1 -0
- package/mobile/out/src/monitor/tasks/TaskCheckForProofs.d.ts +53 -0
- package/mobile/out/src/monitor/tasks/TaskCheckForProofs.d.ts.map +1 -0
- package/mobile/out/src/monitor/tasks/TaskCheckForProofs.js +194 -0
- package/mobile/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -0
- package/mobile/out/src/monitor/tasks/TaskCheckNoSends.d.ts +33 -0
- package/mobile/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +1 -0
- package/mobile/out/src/monitor/tasks/TaskCheckNoSends.js +65 -0
- package/mobile/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -0
- package/mobile/out/src/monitor/tasks/TaskClock.d.ts +14 -0
- package/mobile/out/src/monitor/tasks/TaskClock.d.ts.map +1 -0
- package/mobile/out/src/monitor/tasks/TaskClock.js +27 -0
- package/mobile/out/src/monitor/tasks/TaskClock.js.map +1 -0
- package/mobile/out/src/monitor/tasks/TaskFailAbandoned.d.ts +20 -0
- package/mobile/out/src/monitor/tasks/TaskFailAbandoned.d.ts.map +1 -0
- package/mobile/out/src/monitor/tasks/TaskFailAbandoned.js +52 -0
- package/mobile/out/src/monitor/tasks/TaskFailAbandoned.js.map +1 -0
- package/mobile/out/src/monitor/tasks/TaskNewHeader.d.ts +15 -0
- package/mobile/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -0
- package/mobile/out/src/monitor/tasks/TaskNewHeader.js +43 -0
- package/mobile/out/src/monitor/tasks/TaskNewHeader.js.map +1 -0
- package/mobile/out/src/monitor/tasks/TaskPurge.d.ts +45 -0
- package/mobile/out/src/monitor/tasks/TaskPurge.d.ts.map +1 -0
- package/mobile/out/src/monitor/tasks/TaskPurge.js +34 -0
- package/mobile/out/src/monitor/tasks/TaskPurge.js.map +1 -0
- package/mobile/out/src/monitor/tasks/TaskReviewStatus.d.ts +26 -0
- package/mobile/out/src/monitor/tasks/TaskReviewStatus.d.ts.map +1 -0
- package/mobile/out/src/monitor/tasks/TaskReviewStatus.js +43 -0
- package/mobile/out/src/monitor/tasks/TaskReviewStatus.js.map +1 -0
- package/mobile/out/src/monitor/tasks/TaskSendWaiting.d.ts +35 -0
- package/mobile/out/src/monitor/tasks/TaskSendWaiting.d.ts.map +1 -0
- package/mobile/out/src/monitor/tasks/TaskSendWaiting.js +107 -0
- package/mobile/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -0
- package/mobile/out/src/monitor/tasks/TaskSyncWhenIdle.d.ts +12 -0
- package/mobile/out/src/monitor/tasks/TaskSyncWhenIdle.d.ts.map +1 -0
- package/mobile/out/src/monitor/tasks/TaskSyncWhenIdle.js +22 -0
- package/mobile/out/src/monitor/tasks/TaskSyncWhenIdle.js.map +1 -0
- package/mobile/out/src/monitor/tasks/TaskUnFail.d.ts +41 -0
- package/mobile/out/src/monitor/tasks/TaskUnFail.d.ts.map +1 -0
- package/mobile/out/src/monitor/tasks/TaskUnFail.js +144 -0
- package/mobile/out/src/monitor/tasks/TaskUnFail.js.map +1 -0
- package/mobile/out/src/monitor/tasks/WalletMonitorTask.d.ts +40 -0
- package/mobile/out/src/monitor/tasks/WalletMonitorTask.d.ts.map +1 -0
- package/mobile/out/src/monitor/tasks/WalletMonitorTask.js +37 -0
- package/mobile/out/src/monitor/tasks/WalletMonitorTask.js.map +1 -0
- package/mobile/out/src/sdk/CertOpsWallet.d.ts +7 -0
- package/mobile/out/src/sdk/CertOpsWallet.d.ts.map +1 -0
- package/mobile/out/src/sdk/CertOpsWallet.js +3 -0
- package/mobile/out/src/sdk/CertOpsWallet.js.map +1 -0
- package/mobile/out/src/sdk/PrivilegedKeyManager.d.ts +125 -0
- package/mobile/out/src/sdk/PrivilegedKeyManager.d.ts.map +1 -0
- package/mobile/out/src/sdk/PrivilegedKeyManager.js +293 -0
- package/mobile/out/src/sdk/PrivilegedKeyManager.js.map +1 -0
- package/mobile/out/src/sdk/WERR_errors.d.ts +115 -0
- package/mobile/out/src/sdk/WERR_errors.d.ts.map +1 -0
- package/mobile/out/src/sdk/WERR_errors.js +158 -0
- package/mobile/out/src/sdk/WERR_errors.js.map +1 -0
- package/mobile/out/src/sdk/WalletError.d.ts +44 -0
- package/mobile/out/src/sdk/WalletError.d.ts.map +1 -0
- package/mobile/out/src/sdk/WalletError.js +118 -0
- package/mobile/out/src/sdk/WalletError.js.map +1 -0
- package/mobile/out/src/sdk/WalletServices.interfaces.d.ts +430 -0
- package/mobile/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -0
- package/mobile/out/src/sdk/WalletServices.interfaces.js +3 -0
- package/mobile/out/src/sdk/WalletServices.interfaces.js.map +1 -0
- package/mobile/out/src/sdk/WalletSigner.interfaces.d.ts +10 -0
- package/mobile/out/src/sdk/WalletSigner.interfaces.d.ts.map +1 -0
- package/mobile/out/src/sdk/WalletSigner.interfaces.js +3 -0
- package/mobile/out/src/sdk/WalletSigner.interfaces.js.map +1 -0
- package/mobile/out/src/sdk/WalletStorage.interfaces.d.ts +452 -0
- package/mobile/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -0
- package/mobile/out/src/sdk/WalletStorage.interfaces.js +3 -0
- package/mobile/out/src/sdk/WalletStorage.interfaces.js.map +1 -0
- package/mobile/out/src/sdk/index.d.ts +10 -0
- package/mobile/out/src/sdk/index.d.ts.map +1 -0
- package/mobile/out/src/sdk/index.js +26 -0
- package/mobile/out/src/sdk/index.js.map +1 -0
- package/mobile/out/src/sdk/types.d.ts +158 -0
- package/mobile/out/src/sdk/types.d.ts.map +1 -0
- package/mobile/out/src/sdk/types.js +90 -0
- package/mobile/out/src/sdk/types.js.map +1 -0
- package/mobile/out/src/sdk/validationHelpers.d.ts +301 -0
- package/mobile/out/src/sdk/validationHelpers.d.ts.map +1 -0
- package/mobile/out/src/sdk/validationHelpers.js +629 -0
- package/mobile/out/src/sdk/validationHelpers.js.map +1 -0
- package/mobile/out/src/services/ServiceCollection.d.ts +25 -0
- package/mobile/out/src/services/ServiceCollection.d.ts.map +1 -0
- package/mobile/out/src/services/ServiceCollection.js +43 -0
- package/mobile/out/src/services/ServiceCollection.js.map +1 -0
- package/mobile/out/src/services/Services.d.ts +67 -0
- package/mobile/out/src/services/Services.d.ts.map +1 -0
- package/mobile/out/src/services/Services.js +391 -0
- package/mobile/out/src/services/Services.js.map +1 -0
- package/mobile/out/src/services/chaintracker/ChaintracksChainTracker.d.ts +15 -0
- package/mobile/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -0
- package/mobile/out/src/services/chaintracker/ChaintracksChainTracker.js +51 -0
- package/mobile/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -0
- package/mobile/out/src/services/chaintracker/chaintracks/BlockHeaderApi.d.ts +98 -0
- package/mobile/out/src/services/chaintracker/chaintracks/BlockHeaderApi.d.ts.map +1 -0
- package/mobile/out/src/services/chaintracker/chaintracks/BlockHeaderApi.js +38 -0
- package/mobile/out/src/services/chaintracker/chaintracks/BlockHeaderApi.js.map +1 -0
- package/mobile/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts +36 -0
- package/mobile/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -0
- package/mobile/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +128 -0
- package/mobile/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -0
- package/mobile/out/src/services/chaintracker/chaintracks/index.d.ts +3 -0
- package/mobile/out/src/services/chaintracker/chaintracks/index.d.ts.map +1 -0
- package/mobile/out/src/services/chaintracker/chaintracks/index.js +19 -0
- package/mobile/out/src/services/chaintracker/chaintracks/index.js.map +1 -0
- package/mobile/out/src/services/chaintracker/index.d.ts +3 -0
- package/mobile/out/src/services/chaintracker/index.d.ts.map +1 -0
- package/mobile/out/src/services/chaintracker/index.js +19 -0
- package/mobile/out/src/services/chaintracker/index.js.map +1 -0
- package/mobile/out/src/services/createDefaultWalletServicesOptions.d.ts +4 -0
- package/mobile/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -0
- package/mobile/out/src/services/createDefaultWalletServicesOptions.js +46 -0
- package/mobile/out/src/services/createDefaultWalletServicesOptions.js.map +1 -0
- package/mobile/out/src/services/index.d.ts +2 -0
- package/mobile/out/src/services/index.d.ts.map +1 -0
- package/mobile/out/src/services/index.js +18 -0
- package/mobile/out/src/services/index.js.map +1 -0
- package/mobile/out/src/services/providers/ARC.d.ts +91 -0
- package/mobile/out/src/services/providers/ARC.d.ts.map +1 -0
- package/mobile/out/src/services/providers/ARC.js +267 -0
- package/mobile/out/src/services/providers/ARC.js.map +1 -0
- package/mobile/out/src/services/providers/Bitails.d.ts +49 -0
- package/mobile/out/src/services/providers/Bitails.d.ts.map +1 -0
- package/mobile/out/src/services/providers/Bitails.js +222 -0
- package/mobile/out/src/services/providers/Bitails.js.map +1 -0
- package/mobile/out/src/services/providers/SdkWhatsOnChain.d.ts +21 -0
- package/mobile/out/src/services/providers/SdkWhatsOnChain.d.ts.map +1 -0
- package/mobile/out/src/services/providers/SdkWhatsOnChain.js +67 -0
- package/mobile/out/src/services/providers/SdkWhatsOnChain.js.map +1 -0
- package/mobile/out/src/services/providers/WhatsOnChain.d.ts +71 -0
- package/mobile/out/src/services/providers/WhatsOnChain.d.ts.map +1 -0
- package/mobile/out/src/services/providers/WhatsOnChain.js +582 -0
- package/mobile/out/src/services/providers/WhatsOnChain.js.map +1 -0
- package/mobile/out/src/services/providers/echangeRates.d.ts +12 -0
- package/mobile/out/src/services/providers/echangeRates.d.ts.map +1 -0
- package/mobile/out/src/services/providers/echangeRates.js +237 -0
- package/mobile/out/src/services/providers/echangeRates.js.map +1 -0
- package/mobile/out/src/services/providers/getBeefForTxid.d.ts +4 -0
- package/mobile/out/src/services/providers/getBeefForTxid.d.ts.map +1 -0
- package/mobile/out/src/services/providers/getBeefForTxid.js +286 -0
- package/mobile/out/src/services/providers/getBeefForTxid.js.map +1 -0
- package/mobile/out/src/signer/WalletSigner.d.ts +11 -0
- package/mobile/out/src/signer/WalletSigner.d.ts.map +1 -0
- package/mobile/out/src/signer/WalletSigner.js +13 -0
- package/mobile/out/src/signer/WalletSigner.js.map +1 -0
- package/mobile/out/src/signer/methods/acquireDirectCertificate.d.ts +4 -0
- package/mobile/out/src/signer/methods/acquireDirectCertificate.d.ts.map +1 -0
- package/mobile/out/src/signer/methods/acquireDirectCertificate.js +45 -0
- package/mobile/out/src/signer/methods/acquireDirectCertificate.js.map +1 -0
- package/mobile/out/src/signer/methods/buildSignableTransaction.d.ts +10 -0
- package/mobile/out/src/signer/methods/buildSignableTransaction.d.ts.map +1 -0
- package/mobile/out/src/signer/methods/buildSignableTransaction.js +126 -0
- package/mobile/out/src/signer/methods/buildSignableTransaction.js.map +1 -0
- package/mobile/out/src/signer/methods/createAction.d.ts +20 -0
- package/mobile/out/src/signer/methods/createAction.d.ts.map +1 -0
- package/mobile/out/src/signer/methods/createAction.js +160 -0
- package/mobile/out/src/signer/methods/createAction.js.map +1 -0
- package/mobile/out/src/signer/methods/internalizeAction.d.ts +31 -0
- package/mobile/out/src/signer/methods/internalizeAction.d.ts.map +1 -0
- package/mobile/out/src/signer/methods/internalizeAction.js +95 -0
- package/mobile/out/src/signer/methods/internalizeAction.js.map +1 -0
- package/mobile/out/src/signer/methods/proveCertificate.d.ts +4 -0
- package/mobile/out/src/signer/methods/proveCertificate.d.ts.map +1 -0
- package/mobile/out/src/signer/methods/proveCertificate.js +29 -0
- package/mobile/out/src/signer/methods/proveCertificate.js.map +1 -0
- package/mobile/out/src/signer/methods/signAction.d.ts +13 -0
- package/mobile/out/src/signer/methods/signAction.d.ts.map +1 -0
- package/mobile/out/src/signer/methods/signAction.js +89 -0
- package/mobile/out/src/signer/methods/signAction.js.map +1 -0
- package/mobile/out/src/storage/StorageIdb.d.ts +208 -0
- package/mobile/out/src/storage/StorageIdb.d.ts.map +1 -0
- package/mobile/out/src/storage/StorageIdb.js +2296 -0
- package/mobile/out/src/storage/StorageIdb.js.map +1 -0
- package/mobile/out/src/storage/StorageProvider.d.ts +209 -0
- package/mobile/out/src/storage/StorageProvider.d.ts.map +1 -0
- package/mobile/out/src/storage/StorageProvider.js +550 -0
- package/mobile/out/src/storage/StorageProvider.js.map +1 -0
- package/mobile/out/src/storage/StorageReader.d.ts +76 -0
- package/mobile/out/src/storage/StorageReader.d.ts.map +1 -0
- package/mobile/out/src/storage/StorageReader.js +129 -0
- package/mobile/out/src/storage/StorageReader.js.map +1 -0
- package/mobile/out/src/storage/StorageReaderWriter.d.ts +87 -0
- package/mobile/out/src/storage/StorageReaderWriter.d.ts.map +1 -0
- package/mobile/out/src/storage/StorageReaderWriter.js +338 -0
- package/mobile/out/src/storage/StorageReaderWriter.js.map +1 -0
- package/mobile/out/src/storage/StorageSyncReader.d.ts +17 -0
- package/mobile/out/src/storage/StorageSyncReader.d.ts.map +1 -0
- package/mobile/out/src/storage/StorageSyncReader.js +38 -0
- package/mobile/out/src/storage/StorageSyncReader.js.map +1 -0
- package/mobile/out/src/storage/WalletStorageManager.d.ts +184 -0
- package/mobile/out/src/storage/WalletStorageManager.d.ts.map +1 -0
- package/mobile/out/src/storage/WalletStorageManager.js +665 -0
- package/mobile/out/src/storage/WalletStorageManager.js.map +1 -0
- package/mobile/out/src/storage/index.client.d.ts +8 -0
- package/mobile/out/src/storage/index.client.d.ts.map +1 -0
- package/mobile/out/src/storage/index.client.js +24 -0
- package/mobile/out/src/storage/index.client.js.map +1 -0
- package/mobile/out/src/storage/index.mobile.d.ts +7 -0
- package/mobile/out/src/storage/index.mobile.d.ts.map +1 -0
- package/mobile/out/src/storage/index.mobile.js +23 -0
- package/mobile/out/src/storage/index.mobile.js.map +1 -0
- package/mobile/out/src/storage/methods/ListActionsSpecOp.d.ts +16 -0
- package/mobile/out/src/storage/methods/ListActionsSpecOp.d.ts.map +1 -0
- package/mobile/out/src/storage/methods/ListActionsSpecOp.js +40 -0
- package/mobile/out/src/storage/methods/ListActionsSpecOp.js.map +1 -0
- package/mobile/out/src/storage/methods/ListOutputsSpecOp.d.ts +26 -0
- package/mobile/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -0
- package/mobile/out/src/storage/methods/ListOutputsSpecOp.js +71 -0
- package/mobile/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -0
- package/mobile/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts +41 -0
- package/mobile/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +1 -0
- package/mobile/out/src/storage/methods/attemptToPostReqsToNetwork.js +320 -0
- package/mobile/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -0
- package/mobile/out/src/storage/methods/createAction.d.ts +24 -0
- package/mobile/out/src/storage/methods/createAction.d.ts.map +1 -0
- package/mobile/out/src/storage/methods/createAction.js +705 -0
- package/mobile/out/src/storage/methods/createAction.js.map +1 -0
- package/mobile/out/src/storage/methods/generateChange.d.ts +119 -0
- package/mobile/out/src/storage/methods/generateChange.d.ts.map +1 -0
- package/mobile/out/src/storage/methods/generateChange.js +448 -0
- package/mobile/out/src/storage/methods/generateChange.js.map +1 -0
- package/mobile/out/src/storage/methods/getBeefForTransaction.d.ts +22 -0
- package/mobile/out/src/storage/methods/getBeefForTransaction.d.ts.map +1 -0
- package/mobile/out/src/storage/methods/getBeefForTransaction.js +92 -0
- package/mobile/out/src/storage/methods/getBeefForTransaction.js.map +1 -0
- package/mobile/out/src/storage/methods/getSyncChunk.d.ts +10 -0
- package/mobile/out/src/storage/methods/getSyncChunk.d.ts.map +1 -0
- package/mobile/out/src/storage/methods/getSyncChunk.js +271 -0
- package/mobile/out/src/storage/methods/getSyncChunk.js.map +1 -0
- package/mobile/out/src/storage/methods/internalizeAction.d.ts +38 -0
- package/mobile/out/src/storage/methods/internalizeAction.d.ts.map +1 -0
- package/mobile/out/src/storage/methods/internalizeAction.js +371 -0
- package/mobile/out/src/storage/methods/internalizeAction.js.map +1 -0
- package/mobile/out/src/storage/methods/listActionsIdb.d.ts +5 -0
- package/mobile/out/src/storage/methods/listActionsIdb.d.ts.map +1 -0
- package/mobile/out/src/storage/methods/listActionsIdb.js +155 -0
- package/mobile/out/src/storage/methods/listActionsIdb.js.map +1 -0
- package/mobile/out/src/storage/methods/listCertificates.d.ts +5 -0
- package/mobile/out/src/storage/methods/listCertificates.d.ts.map +1 -0
- package/mobile/out/src/storage/methods/listCertificates.js +68 -0
- package/mobile/out/src/storage/methods/listCertificates.js.map +1 -0
- package/mobile/out/src/storage/methods/listOutputsIdb.d.ts +5 -0
- package/mobile/out/src/storage/methods/listOutputsIdb.d.ts.map +1 -0
- package/mobile/out/src/storage/methods/listOutputsIdb.js +181 -0
- package/mobile/out/src/storage/methods/listOutputsIdb.js.map +1 -0
- package/mobile/out/src/storage/methods/processAction.d.ts +35 -0
- package/mobile/out/src/storage/methods/processAction.d.ts.map +1 -0
- package/mobile/out/src/storage/methods/processAction.js +311 -0
- package/mobile/out/src/storage/methods/processAction.js.map +1 -0
- package/mobile/out/src/storage/methods/purgeDataIdb.d.ts +4 -0
- package/mobile/out/src/storage/methods/purgeDataIdb.d.ts.map +1 -0
- package/mobile/out/src/storage/methods/purgeDataIdb.js +9 -0
- package/mobile/out/src/storage/methods/purgeDataIdb.js.map +1 -0
- package/mobile/out/src/storage/methods/reviewStatusIdb.d.ts +20 -0
- package/mobile/out/src/storage/methods/reviewStatusIdb.d.ts.map +1 -0
- package/mobile/out/src/storage/methods/reviewStatusIdb.js +35 -0
- package/mobile/out/src/storage/methods/reviewStatusIdb.js.map +1 -0
- package/mobile/out/src/storage/remoting/StorageClient.d.ts +283 -0
- package/mobile/out/src/storage/remoting/StorageClient.d.ts.map +1 -0
- package/mobile/out/src/storage/remoting/StorageClient.js +477 -0
- package/mobile/out/src/storage/remoting/StorageClient.js.map +1 -0
- package/mobile/out/src/storage/schema/StorageIdbSchema.d.ts +133 -0
- package/mobile/out/src/storage/schema/StorageIdbSchema.d.ts.map +1 -0
- package/mobile/out/src/storage/schema/StorageIdbSchema.js +3 -0
- package/mobile/out/src/storage/schema/StorageIdbSchema.js.map +1 -0
- package/mobile/out/src/storage/schema/entities/EntityBase.d.ts +105 -0
- package/mobile/out/src/storage/schema/entities/EntityBase.d.ts.map +1 -0
- package/mobile/out/src/storage/schema/entities/EntityBase.js +100 -0
- package/mobile/out/src/storage/schema/entities/EntityBase.js.map +1 -0
- package/mobile/out/src/storage/schema/entities/EntityCertificate.d.ts +43 -0
- package/mobile/out/src/storage/schema/entities/EntityCertificate.d.ts.map +1 -0
- package/mobile/out/src/storage/schema/entities/EntityCertificate.js +162 -0
- package/mobile/out/src/storage/schema/entities/EntityCertificate.js.map +1 -0
- package/mobile/out/src/storage/schema/entities/EntityCertificateField.d.ts +32 -0
- package/mobile/out/src/storage/schema/entities/EntityCertificateField.d.ts.map +1 -0
- package/mobile/out/src/storage/schema/entities/EntityCertificateField.js +111 -0
- package/mobile/out/src/storage/schema/entities/EntityCertificateField.js.map +1 -0
- package/mobile/out/src/storage/schema/entities/EntityCommission.d.ts +37 -0
- package/mobile/out/src/storage/schema/entities/EntityCommission.d.ts.map +1 -0
- package/mobile/out/src/storage/schema/entities/EntityCommission.js +127 -0
- package/mobile/out/src/storage/schema/entities/EntityCommission.js.map +1 -0
- package/mobile/out/src/storage/schema/entities/EntityOutput.d.ts +67 -0
- package/mobile/out/src/storage/schema/entities/EntityOutput.d.ts.map +1 -0
- package/mobile/out/src/storage/schema/entities/EntityOutput.js +264 -0
- package/mobile/out/src/storage/schema/entities/EntityOutput.js.map +1 -0
- package/mobile/out/src/storage/schema/entities/EntityOutputBasket.d.ts +35 -0
- package/mobile/out/src/storage/schema/entities/EntityOutputBasket.d.ts.map +1 -0
- package/mobile/out/src/storage/schema/entities/EntityOutputBasket.js +133 -0
- package/mobile/out/src/storage/schema/entities/EntityOutputBasket.js.map +1 -0
- package/mobile/out/src/storage/schema/entities/EntityOutputTag.d.ts +31 -0
- package/mobile/out/src/storage/schema/entities/EntityOutputTag.d.ts.map +1 -0
- package/mobile/out/src/storage/schema/entities/EntityOutputTag.js +104 -0
- package/mobile/out/src/storage/schema/entities/EntityOutputTag.js.map +1 -0
- package/mobile/out/src/storage/schema/entities/EntityOutputTagMap.d.ts +28 -0
- package/mobile/out/src/storage/schema/entities/EntityOutputTagMap.d.ts.map +1 -0
- package/mobile/out/src/storage/schema/entities/EntityOutputTagMap.js +97 -0
- package/mobile/out/src/storage/schema/entities/EntityOutputTagMap.js.map +1 -0
- package/mobile/out/src/storage/schema/entities/EntityProvenTx.d.ts +84 -0
- package/mobile/out/src/storage/schema/entities/EntityProvenTx.d.ts.map +1 -0
- package/mobile/out/src/storage/schema/entities/EntityProvenTx.js +276 -0
- package/mobile/out/src/storage/schema/entities/EntityProvenTx.js.map +1 -0
- package/mobile/out/src/storage/schema/entities/EntityProvenTxReq.d.ts +135 -0
- package/mobile/out/src/storage/schema/entities/EntityProvenTxReq.d.ts.map +1 -0
- package/mobile/out/src/storage/schema/entities/EntityProvenTxReq.js +522 -0
- package/mobile/out/src/storage/schema/entities/EntityProvenTxReq.js.map +1 -0
- package/mobile/out/src/storage/schema/entities/EntitySyncState.d.ts +67 -0
- package/mobile/out/src/storage/schema/entities/EntitySyncState.d.ts.map +1 -0
- package/mobile/out/src/storage/schema/entities/EntitySyncState.js +319 -0
- package/mobile/out/src/storage/schema/entities/EntitySyncState.js.map +1 -0
- package/mobile/out/src/storage/schema/entities/EntityTransaction.d.ts +67 -0
- package/mobile/out/src/storage/schema/entities/EntityTransaction.d.ts.map +1 -0
- package/mobile/out/src/storage/schema/entities/EntityTransaction.js +255 -0
- package/mobile/out/src/storage/schema/entities/EntityTransaction.js.map +1 -0
- package/mobile/out/src/storage/schema/entities/EntityTxLabel.d.ts +31 -0
- package/mobile/out/src/storage/schema/entities/EntityTxLabel.d.ts.map +1 -0
- package/mobile/out/src/storage/schema/entities/EntityTxLabel.js +104 -0
- package/mobile/out/src/storage/schema/entities/EntityTxLabel.js.map +1 -0
- package/mobile/out/src/storage/schema/entities/EntityTxLabelMap.d.ts +28 -0
- package/mobile/out/src/storage/schema/entities/EntityTxLabelMap.d.ts.map +1 -0
- package/mobile/out/src/storage/schema/entities/EntityTxLabelMap.js +97 -0
- package/mobile/out/src/storage/schema/entities/EntityTxLabelMap.js.map +1 -0
- package/mobile/out/src/storage/schema/entities/EntityUser.d.ts +29 -0
- package/mobile/out/src/storage/schema/entities/EntityUser.d.ts.map +1 -0
- package/mobile/out/src/storage/schema/entities/EntityUser.js +98 -0
- package/mobile/out/src/storage/schema/entities/EntityUser.js.map +1 -0
- package/mobile/out/src/storage/schema/entities/MergeEntity.d.ts +33 -0
- package/mobile/out/src/storage/schema/entities/MergeEntity.d.ts.map +1 -0
- package/mobile/out/src/storage/schema/entities/MergeEntity.js +62 -0
- package/mobile/out/src/storage/schema/entities/MergeEntity.js.map +1 -0
- package/mobile/out/src/storage/schema/entities/index.d.ts +17 -0
- package/mobile/out/src/storage/schema/entities/index.d.ts.map +1 -0
- package/mobile/out/src/storage/schema/entities/index.js +33 -0
- package/mobile/out/src/storage/schema/entities/index.js.map +1 -0
- package/mobile/out/src/storage/schema/tables/TableCertificate.d.ts +20 -0
- package/mobile/out/src/storage/schema/tables/TableCertificate.d.ts.map +1 -0
- package/mobile/out/src/storage/schema/tables/TableCertificate.js +3 -0
- package/mobile/out/src/storage/schema/tables/TableCertificate.js.map +1 -0
- package/mobile/out/src/storage/schema/tables/TableCertificateField.d.ts +12 -0
- package/mobile/out/src/storage/schema/tables/TableCertificateField.d.ts.map +1 -0
- package/mobile/out/src/storage/schema/tables/TableCertificateField.js +3 -0
- package/mobile/out/src/storage/schema/tables/TableCertificateField.js.map +1 -0
- package/mobile/out/src/storage/schema/tables/TableCommission.d.ts +13 -0
- package/mobile/out/src/storage/schema/tables/TableCommission.d.ts.map +1 -0
- package/mobile/out/src/storage/schema/tables/TableCommission.js +3 -0
- package/mobile/out/src/storage/schema/tables/TableCommission.js.map +1 -0
- package/mobile/out/src/storage/schema/tables/TableMonitorEvent.d.ts +9 -0
- package/mobile/out/src/storage/schema/tables/TableMonitorEvent.d.ts.map +1 -0
- package/mobile/out/src/storage/schema/tables/TableMonitorEvent.js +3 -0
- package/mobile/out/src/storage/schema/tables/TableMonitorEvent.js.map +1 -0
- package/mobile/out/src/storage/schema/tables/TableOutput.d.ts +36 -0
- package/mobile/out/src/storage/schema/tables/TableOutput.d.ts.map +1 -0
- package/mobile/out/src/storage/schema/tables/TableOutput.js +31 -0
- package/mobile/out/src/storage/schema/tables/TableOutput.js.map +1 -0
- package/mobile/out/src/storage/schema/tables/TableOutputBasket.d.ts +12 -0
- package/mobile/out/src/storage/schema/tables/TableOutputBasket.d.ts.map +1 -0
- package/mobile/out/src/storage/schema/tables/TableOutputBasket.js +3 -0
- package/mobile/out/src/storage/schema/tables/TableOutputBasket.js.map +1 -0
- package/mobile/out/src/storage/schema/tables/TableOutputTag.d.ts +10 -0
- package/mobile/out/src/storage/schema/tables/TableOutputTag.d.ts.map +1 -0
- package/mobile/out/src/storage/schema/tables/TableOutputTag.js +3 -0
- package/mobile/out/src/storage/schema/tables/TableOutputTag.js.map +1 -0
- package/mobile/out/src/storage/schema/tables/TableOutputTagMap.d.ts +9 -0
- package/mobile/out/src/storage/schema/tables/TableOutputTagMap.d.ts.map +1 -0
- package/mobile/out/src/storage/schema/tables/TableOutputTagMap.js +3 -0
- package/mobile/out/src/storage/schema/tables/TableOutputTagMap.js.map +1 -0
- package/mobile/out/src/storage/schema/tables/TableProvenTx.d.ts +14 -0
- package/mobile/out/src/storage/schema/tables/TableProvenTx.d.ts.map +1 -0
- package/mobile/out/src/storage/schema/tables/TableProvenTx.js +3 -0
- package/mobile/out/src/storage/schema/tables/TableProvenTx.js.map +1 -0
- package/mobile/out/src/storage/schema/tables/TableProvenTxReq.d.ts +64 -0
- package/mobile/out/src/storage/schema/tables/TableProvenTxReq.d.ts.map +1 -0
- package/mobile/out/src/storage/schema/tables/TableProvenTxReq.js +3 -0
- package/mobile/out/src/storage/schema/tables/TableProvenTxReq.js.map +1 -0
- package/mobile/out/src/storage/schema/tables/TableSettings.d.ts +17 -0
- package/mobile/out/src/storage/schema/tables/TableSettings.d.ts.map +1 -0
- package/mobile/out/src/storage/schema/tables/TableSettings.js +3 -0
- package/mobile/out/src/storage/schema/tables/TableSettings.js.map +1 -0
- package/mobile/out/src/storage/schema/tables/TableSyncState.d.ts +18 -0
- package/mobile/out/src/storage/schema/tables/TableSyncState.d.ts.map +1 -0
- package/mobile/out/src/storage/schema/tables/TableSyncState.js +3 -0
- package/mobile/out/src/storage/schema/tables/TableSyncState.js.map +1 -0
- package/mobile/out/src/storage/schema/tables/TableTransaction.d.ts +37 -0
- package/mobile/out/src/storage/schema/tables/TableTransaction.d.ts.map +1 -0
- package/mobile/out/src/storage/schema/tables/TableTransaction.js +21 -0
- package/mobile/out/src/storage/schema/tables/TableTransaction.js.map +1 -0
- package/mobile/out/src/storage/schema/tables/TableTxLabel.d.ts +10 -0
- package/mobile/out/src/storage/schema/tables/TableTxLabel.d.ts.map +1 -0
- package/mobile/out/src/storage/schema/tables/TableTxLabel.js +3 -0
- package/mobile/out/src/storage/schema/tables/TableTxLabel.js.map +1 -0
- package/mobile/out/src/storage/schema/tables/TableTxLabelMap.d.ts +9 -0
- package/mobile/out/src/storage/schema/tables/TableTxLabelMap.d.ts.map +1 -0
- package/mobile/out/src/storage/schema/tables/TableTxLabelMap.js +3 -0
- package/mobile/out/src/storage/schema/tables/TableTxLabelMap.js.map +1 -0
- package/mobile/out/src/storage/schema/tables/TableUser.d.ts +16 -0
- package/mobile/out/src/storage/schema/tables/TableUser.d.ts.map +1 -0
- package/mobile/out/src/storage/schema/tables/TableUser.js +3 -0
- package/mobile/out/src/storage/schema/tables/TableUser.js.map +1 -0
- package/mobile/out/src/storage/schema/tables/index.d.ts +17 -0
- package/mobile/out/src/storage/schema/tables/index.d.ts.map +1 -0
- package/mobile/out/src/storage/schema/tables/index.js +33 -0
- package/mobile/out/src/storage/schema/tables/index.js.map +1 -0
- package/mobile/out/src/utility/ScriptTemplateBRC29.d.ts +25 -0
- package/mobile/out/src/utility/ScriptTemplateBRC29.d.ts.map +1 -0
- package/mobile/out/src/utility/ScriptTemplateBRC29.js +48 -0
- package/mobile/out/src/utility/ScriptTemplateBRC29.js.map +1 -0
- package/mobile/out/src/utility/identityUtils.d.ts +31 -0
- package/mobile/out/src/utility/identityUtils.d.ts.map +1 -0
- package/mobile/out/src/utility/identityUtils.js +116 -0
- package/mobile/out/src/utility/identityUtils.js.map +1 -0
- package/mobile/out/src/utility/index.client.d.ts +7 -0
- package/mobile/out/src/utility/index.client.d.ts.map +1 -0
- package/mobile/out/src/utility/index.client.js +23 -0
- package/mobile/out/src/utility/index.client.js.map +1 -0
- package/mobile/out/src/utility/parseTxScriptOffsets.d.ts +14 -0
- package/mobile/out/src/utility/parseTxScriptOffsets.d.ts.map +1 -0
- package/mobile/out/src/utility/parseTxScriptOffsets.js +26 -0
- package/mobile/out/src/utility/parseTxScriptOffsets.js.map +1 -0
- package/mobile/out/src/utility/stampLog.d.ts +18 -0
- package/mobile/out/src/utility/stampLog.d.ts.map +1 -0
- package/mobile/out/src/utility/stampLog.js +72 -0
- package/mobile/out/src/utility/stampLog.js.map +1 -0
- package/mobile/out/src/utility/tscProofToMerklePath.d.ts +8 -0
- package/mobile/out/src/utility/tscProofToMerklePath.d.ts.map +1 -0
- package/mobile/out/src/utility/tscProofToMerklePath.js +41 -0
- package/mobile/out/src/utility/tscProofToMerklePath.js.map +1 -0
- package/mobile/out/src/utility/utilityHelpers.d.ts +129 -0
- package/mobile/out/src/utility/utilityHelpers.d.ts.map +1 -0
- package/mobile/out/src/utility/utilityHelpers.js +266 -0
- package/mobile/out/src/utility/utilityHelpers.js.map +1 -0
- package/mobile/out/src/utility/utilityHelpers.noBuffer.d.ts +9 -0
- package/mobile/out/src/utility/utilityHelpers.noBuffer.d.ts.map +1 -0
- package/mobile/out/src/utility/utilityHelpers.noBuffer.js +23 -0
- package/mobile/out/src/utility/utilityHelpers.noBuffer.js.map +1 -0
- package/mobile/out/src/wab-client/WABClient.d.ts +49 -0
- package/mobile/out/src/wab-client/WABClient.d.ts.map +1 -0
- package/mobile/out/src/wab-client/WABClient.js +80 -0
- package/mobile/out/src/wab-client/WABClient.js.map +1 -0
- package/mobile/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts +34 -0
- package/mobile/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts.map +1 -0
- package/mobile/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js +16 -0
- package/mobile/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js.map +1 -0
- package/mobile/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.d.ts +7 -0
- package/mobile/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.d.ts.map +1 -0
- package/mobile/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.js +36 -0
- package/mobile/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.js.map +1 -0
- package/mobile/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.d.ts +28 -0
- package/mobile/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.d.ts.map +1 -0
- package/mobile/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js +69 -0
- package/mobile/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js.map +1 -0
- package/mobile/out/tsconfig.mobile.tsbuildinfo +1 -0
- package/mobile/package-lock.json +22 -0
- package/mobile/package.json +25 -0
- package/out/src/index.mobile.d.ts +19 -0
- package/out/src/index.mobile.d.ts.map +1 -0
- package/out/src/index.mobile.js +58 -0
- package/out/src/index.mobile.js.map +1 -0
- package/out/src/storage/index.mobile.d.ts +7 -0
- package/out/src/storage/index.mobile.d.ts.map +1 -0
- package/out/src/storage/index.mobile.js +23 -0
- package/out/src/storage/index.mobile.js.map +1 -0
- package/out/src/wab-client/WABClient.js +2 -5
- package/out/src/wab-client/WABClient.js.map +1 -1
- package/out/tsconfig.all.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/index.mobile.ts +18 -0
- package/src/storage/index.mobile.ts +6 -0
- package/src/wab-client/WABClient.ts +2 -2
- package/tsconfig.json +3 -0
- package/tsconfig.mobile.json +22 -0
|
@@ -0,0 +1,598 @@
|
|
|
1
|
+
import { WalletInterface, WalletProtocol, Base64String, PubKeyHex } from '@bsv/sdk';
|
|
2
|
+
/**
|
|
3
|
+
* Describes a single requested permission that the user must either grant or deny.
|
|
4
|
+
*
|
|
5
|
+
* Four categories of permission are supported, each with a unique protocol:
|
|
6
|
+
* 1) protocol - "DPACP" (Domain Protocol Access Control Protocol)
|
|
7
|
+
* 2) basket - "DBAP" (Domain Basket Access Protocol)
|
|
8
|
+
* 3) certificate - "DCAP" (Domain Certificate Access Protocol)
|
|
9
|
+
* 4) spending - "DSAP" (Domain Spending Authorization Protocol)
|
|
10
|
+
*
|
|
11
|
+
* This model underpins "requests" made to the user for permission, which the user can
|
|
12
|
+
* either grant or deny. The manager can then create on-chain tokens (PushDrop outputs)
|
|
13
|
+
* if permission is granted. Denying requests cause the underlying operation to throw,
|
|
14
|
+
* and no token is created. An "ephemeral" grant is also possible, denoting a one-time
|
|
15
|
+
* authorization without an associated persistent on-chain token.
|
|
16
|
+
*/
|
|
17
|
+
export interface PermissionRequest {
|
|
18
|
+
type: 'protocol' | 'basket' | 'certificate' | 'spending';
|
|
19
|
+
originator: string;
|
|
20
|
+
privileged?: boolean;
|
|
21
|
+
protocolID?: WalletProtocol;
|
|
22
|
+
counterparty?: string;
|
|
23
|
+
basket?: string;
|
|
24
|
+
certificate?: {
|
|
25
|
+
verifier: string;
|
|
26
|
+
certType: string;
|
|
27
|
+
fields: string[];
|
|
28
|
+
};
|
|
29
|
+
spending?: {
|
|
30
|
+
satoshis: number;
|
|
31
|
+
lineItems?: Array<{
|
|
32
|
+
type: 'input' | 'output' | 'fee';
|
|
33
|
+
description: string;
|
|
34
|
+
satoshis: number;
|
|
35
|
+
}>;
|
|
36
|
+
};
|
|
37
|
+
reason?: string;
|
|
38
|
+
renewal?: boolean;
|
|
39
|
+
previousToken?: PermissionToken;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Signature for functions that handle a permission request event, e.g. "Please ask the user to allow basket X".
|
|
43
|
+
*/
|
|
44
|
+
export type PermissionEventHandler = (request: PermissionRequest & {
|
|
45
|
+
requestID: string;
|
|
46
|
+
}) => void | Promise<void>;
|
|
47
|
+
/**
|
|
48
|
+
* Data structure representing an on-chain permission token.
|
|
49
|
+
* It is typically stored as a single unspent PushDrop output in a special "internal" admin basket belonging to
|
|
50
|
+
* the user, held in their underlying wallet.
|
|
51
|
+
*
|
|
52
|
+
* It can represent any of the four permission categories by having the relevant fields:
|
|
53
|
+
* - DPACP: originator, privileged, protocol, securityLevel, counterparty
|
|
54
|
+
* - DBAP: originator, basketName
|
|
55
|
+
* - DCAP: originator, privileged, verifier, certType, certFields
|
|
56
|
+
* - DSAP: originator, authorizedAmount
|
|
57
|
+
*/
|
|
58
|
+
export interface PermissionToken {
|
|
59
|
+
/** The transaction ID where this token resides. */
|
|
60
|
+
txid: string;
|
|
61
|
+
/** The current transaction encapsulating the token. */
|
|
62
|
+
tx: number[];
|
|
63
|
+
/** The output index within that transaction. */
|
|
64
|
+
outputIndex: number;
|
|
65
|
+
/** The exact script hex for the locking script. */
|
|
66
|
+
outputScript: string;
|
|
67
|
+
/** The amount of satoshis assigned to the permission output (often 1). */
|
|
68
|
+
satoshis: number;
|
|
69
|
+
/** The originator domain or FQDN that is allowed to use this permission. */
|
|
70
|
+
originator: string;
|
|
71
|
+
/** The expiration time for this token in UNIX epoch seconds. (0 or omitted for spending authorizations, which are indefinite) */
|
|
72
|
+
expiry: number;
|
|
73
|
+
/** Whether this token grants privileged usage (for protocol or certificate). */
|
|
74
|
+
privileged?: boolean;
|
|
75
|
+
/** The protocol name, if this is a DPACP token. */
|
|
76
|
+
protocol?: string;
|
|
77
|
+
/** The security level (0,1,2) for DPACP. */
|
|
78
|
+
securityLevel?: 0 | 1 | 2;
|
|
79
|
+
/** The counterparty, for DPACP. */
|
|
80
|
+
counterparty?: string;
|
|
81
|
+
/** The name of a basket, if this is a DBAP token. */
|
|
82
|
+
basketName?: string;
|
|
83
|
+
/** The certificate type, if this is a DCAP token. */
|
|
84
|
+
certType?: string;
|
|
85
|
+
/** The certificate fields that this token covers, if DCAP token. */
|
|
86
|
+
certFields?: string[];
|
|
87
|
+
/** The "verifier" public key string, if DCAP. */
|
|
88
|
+
verifier?: string;
|
|
89
|
+
/** For DSAP, the maximum authorized spending for the month. */
|
|
90
|
+
authorizedAmount?: number;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* The set of callbacks that external code can bind to, e.g. to display UI prompts or logs
|
|
94
|
+
* when a permission is requested.
|
|
95
|
+
*/
|
|
96
|
+
export interface WalletPermissionsManagerCallbacks {
|
|
97
|
+
onProtocolPermissionRequested?: PermissionEventHandler[];
|
|
98
|
+
onBasketAccessRequested?: PermissionEventHandler[];
|
|
99
|
+
onCertificateAccessRequested?: PermissionEventHandler[];
|
|
100
|
+
onSpendingAuthorizationRequested?: PermissionEventHandler[];
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Configuration object for the WalletPermissionsManager. If a given option is `false`,
|
|
104
|
+
* the manager will skip or alter certain permission checks or behaviors.
|
|
105
|
+
*
|
|
106
|
+
* By default, all of these are `true` unless specified otherwise. This is the most secure configuration.
|
|
107
|
+
*/
|
|
108
|
+
export interface PermissionsManagerConfig {
|
|
109
|
+
/**
|
|
110
|
+
* For `createSignature` and `verifySignature`,
|
|
111
|
+
* require a "protocol usage" permission check?
|
|
112
|
+
*/
|
|
113
|
+
seekProtocolPermissionsForSigning?: boolean;
|
|
114
|
+
/**
|
|
115
|
+
* For methods that perform encryption (encrypt/decrypt), require
|
|
116
|
+
* a "protocol usage" permission check?
|
|
117
|
+
*/
|
|
118
|
+
seekProtocolPermissionsForEncrypting?: boolean;
|
|
119
|
+
/**
|
|
120
|
+
* For methods that perform HMAC creation or verification (createHmac, verifyHmac),
|
|
121
|
+
* require a "protocol usage" permission check?
|
|
122
|
+
*/
|
|
123
|
+
seekProtocolPermissionsForHMAC?: boolean;
|
|
124
|
+
/**
|
|
125
|
+
* For revealing counterparty-level or specific key linkage revelation information,
|
|
126
|
+
* should we require permission?
|
|
127
|
+
*/
|
|
128
|
+
seekPermissionsForKeyLinkageRevelation?: boolean;
|
|
129
|
+
/**
|
|
130
|
+
* For revealing any user public key (getPublicKey) **other** than the identity key,
|
|
131
|
+
* should we require permission?
|
|
132
|
+
*/
|
|
133
|
+
seekPermissionsForPublicKeyRevelation?: boolean;
|
|
134
|
+
/**
|
|
135
|
+
* If getPublicKey is requested with `identityKey=true`, do we require permission?
|
|
136
|
+
*/
|
|
137
|
+
seekPermissionsForIdentityKeyRevelation?: boolean;
|
|
138
|
+
/**
|
|
139
|
+
* If discoverByIdentityKey / discoverByAttributes are called, do we require permission
|
|
140
|
+
* for "identity resolution" usage?
|
|
141
|
+
*/
|
|
142
|
+
seekPermissionsForIdentityResolution?: boolean;
|
|
143
|
+
/**
|
|
144
|
+
* When we do internalizeAction with `basket insertion`, or include outputs in baskets
|
|
145
|
+
* with `createAction, do we ask for basket permission?
|
|
146
|
+
*/
|
|
147
|
+
seekBasketInsertionPermissions?: boolean;
|
|
148
|
+
/**
|
|
149
|
+
* When relinquishOutput is called, do we ask for basket permission?
|
|
150
|
+
*/
|
|
151
|
+
seekBasketRemovalPermissions?: boolean;
|
|
152
|
+
/**
|
|
153
|
+
* When listOutputs is called, do we ask for basket permission?
|
|
154
|
+
*/
|
|
155
|
+
seekBasketListingPermissions?: boolean;
|
|
156
|
+
/**
|
|
157
|
+
* When createAction is called with labels, do we ask for "label usage" permission?
|
|
158
|
+
*/
|
|
159
|
+
seekPermissionWhenApplyingActionLabels?: boolean;
|
|
160
|
+
/**
|
|
161
|
+
* When listActions is called with labels, do we ask for "label usage" permission?
|
|
162
|
+
*/
|
|
163
|
+
seekPermissionWhenListingActionsByLabel?: boolean;
|
|
164
|
+
/**
|
|
165
|
+
* If proving a certificate (proveCertificate) or revealing certificate fields,
|
|
166
|
+
* do we require a "certificate access" permission?
|
|
167
|
+
*/
|
|
168
|
+
seekCertificateDisclosurePermissions?: boolean;
|
|
169
|
+
/**
|
|
170
|
+
* If acquiring a certificate (acquireCertificate), do we require a permission check?
|
|
171
|
+
*/
|
|
172
|
+
seekCertificateAcquisitionPermissions?: boolean;
|
|
173
|
+
/**
|
|
174
|
+
* If relinquishing a certificate (relinquishCertificate), do we require a permission check?
|
|
175
|
+
*/
|
|
176
|
+
seekCertificateRelinquishmentPermissions?: boolean;
|
|
177
|
+
/**
|
|
178
|
+
* If listing a user's certificates (listCertificates), do we require a permission check?
|
|
179
|
+
*/
|
|
180
|
+
seekCertificateListingPermissions?: boolean;
|
|
181
|
+
/**
|
|
182
|
+
* Should transaction descriptions, input descriptions, and output descriptions be encrypted
|
|
183
|
+
* when before they are passed to the underlying wallet, and transparently decrypted when retrieved?
|
|
184
|
+
*/
|
|
185
|
+
encryptWalletMetadata?: boolean;
|
|
186
|
+
/**
|
|
187
|
+
* If the originator tries to spend wallet funds (netSpent > 0 in createAction),
|
|
188
|
+
* do we seek spending authorization?
|
|
189
|
+
*/
|
|
190
|
+
seekSpendingPermissions?: boolean;
|
|
191
|
+
/**
|
|
192
|
+
* If false, permissions are checked without regard for whether we are in
|
|
193
|
+
* privileged mode. Privileged status is ignored with respect to whether
|
|
194
|
+
* permissions are granted. Internally, they are always sought and checked
|
|
195
|
+
* with privileged=false, regardless of the actual value.
|
|
196
|
+
*/
|
|
197
|
+
differentiatePrivilegedOperations?: boolean;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* @class WalletPermissionsManager
|
|
201
|
+
*
|
|
202
|
+
* Wraps an underlying BRC-100 `Wallet` implementation with permissions management capabilities.
|
|
203
|
+
* The manager intercepts calls from external applications (identified by originators), checks if the request is allowed,
|
|
204
|
+
* and if not, orchestrates user permission flows. It creates or renews on-chain tokens in special
|
|
205
|
+
* admin baskets to track these authorizations. Finally, it proxies the actual call to the underlying wallet.
|
|
206
|
+
*
|
|
207
|
+
* ### Key Responsibilities:
|
|
208
|
+
* - **Permission Checking**: Before standard wallet operations (e.g. `encrypt`),
|
|
209
|
+
* the manager checks if a valid permission token exists. If not, it attempts to request permission from the user.
|
|
210
|
+
* - **On-Chain Tokens**: When permission is granted, the manager stores it as an unspent "PushDrop" output.
|
|
211
|
+
* This can be spent later to revoke or renew the permission.
|
|
212
|
+
* - **Callbacks**: The manager triggers user-defined callbacks on permission requests (to show a UI prompt),
|
|
213
|
+
* on grants/denials, and on internal processes.
|
|
214
|
+
*
|
|
215
|
+
* ### Implementation Notes:
|
|
216
|
+
* - The manager follows the BRC-100 `createAction` + `signAction` pattern for building or spending these tokens.
|
|
217
|
+
* - Token revocation or renewal uses standard BRC-100 flows: we build a transaction that consumes
|
|
218
|
+
* the old token UTXO and outputs a new one (or none, if fully revoked).
|
|
219
|
+
*/
|
|
220
|
+
export declare class WalletPermissionsManager implements WalletInterface {
|
|
221
|
+
/** A reference to the BRC-100 wallet instance. */
|
|
222
|
+
private underlying;
|
|
223
|
+
/** The "admin" domain or FQDN that is implicitly allowed to do everything. */
|
|
224
|
+
private adminOriginator;
|
|
225
|
+
/**
|
|
226
|
+
* Event callbacks that external code can subscribe to, e.g. to show a UI prompt
|
|
227
|
+
* or log events. Each event can have multiple handlers.
|
|
228
|
+
*/
|
|
229
|
+
private callbacks;
|
|
230
|
+
/**
|
|
231
|
+
* We queue parallel requests for the same resource so that only one
|
|
232
|
+
* user prompt is created for a single resource. If multiple calls come
|
|
233
|
+
* in at once for the same "protocol:domain:privileged:counterparty" etc.,
|
|
234
|
+
* they get merged.
|
|
235
|
+
*
|
|
236
|
+
* The key is a string derived from the operation; the value is an object with a reference to the
|
|
237
|
+
* associated request and an array of pending promise resolve/reject pairs, one for each active
|
|
238
|
+
* operation that's waiting on the particular resource described by the key.
|
|
239
|
+
*/
|
|
240
|
+
private activeRequests;
|
|
241
|
+
/**
|
|
242
|
+
* Configuration that determines whether to skip or apply various checks and encryption.
|
|
243
|
+
*/
|
|
244
|
+
private config;
|
|
245
|
+
/**
|
|
246
|
+
* Constructs a new Permissions Manager instance.
|
|
247
|
+
*
|
|
248
|
+
* @param underlyingWallet The underlying BRC-100 wallet, where requests are forwarded after permission is granted
|
|
249
|
+
* @param adminOriginator The domain or FQDN that is automatically allowed everything
|
|
250
|
+
* @param config A set of boolean flags controlling how strictly permissions are enforced
|
|
251
|
+
*/
|
|
252
|
+
constructor(underlyingWallet: WalletInterface, adminOriginator: string, config?: PermissionsManagerConfig);
|
|
253
|
+
/**
|
|
254
|
+
* Binds a callback function to a named event, such as `onProtocolPermissionRequested`.
|
|
255
|
+
*
|
|
256
|
+
* @param eventName The name of the event to listen to
|
|
257
|
+
* @param handler A function that handles the event
|
|
258
|
+
* @returns A numeric ID you can use to unbind later
|
|
259
|
+
*/
|
|
260
|
+
bindCallback(eventName: keyof WalletPermissionsManagerCallbacks, handler: PermissionEventHandler): number;
|
|
261
|
+
/**
|
|
262
|
+
* Unbinds a previously registered callback by either its numeric ID (returned by `bindCallback`)
|
|
263
|
+
* or by exact function reference.
|
|
264
|
+
*
|
|
265
|
+
* @param eventName The event name, e.g. "onProtocolPermissionRequested"
|
|
266
|
+
* @param reference Either the numeric ID or the function reference
|
|
267
|
+
* @returns True if successfully unbound, false otherwise
|
|
268
|
+
*/
|
|
269
|
+
unbindCallback(eventName: keyof WalletPermissionsManagerCallbacks, reference: number | Function): boolean;
|
|
270
|
+
/**
|
|
271
|
+
* Internally triggers a named event, calling all subscribed listeners.
|
|
272
|
+
* Each callback is awaited in turn (though errors are swallowed so that
|
|
273
|
+
* one failing callback doesn't prevent the others).
|
|
274
|
+
*
|
|
275
|
+
* @param eventName The event name
|
|
276
|
+
* @param param The parameter object passed to all listeners
|
|
277
|
+
*/
|
|
278
|
+
private callEvent;
|
|
279
|
+
/**
|
|
280
|
+
* Grants a previously requested permission.
|
|
281
|
+
* This method:
|
|
282
|
+
* 1) Resolves all pending promise calls waiting on this request
|
|
283
|
+
* 2) Optionally creates or renews an on-chain PushDrop token (unless `ephemeral===true`)
|
|
284
|
+
*
|
|
285
|
+
* @param params requestID to identify which request is granted, plus optional expiry
|
|
286
|
+
* or `ephemeral` usage, etc.
|
|
287
|
+
*/
|
|
288
|
+
grantPermission(params: {
|
|
289
|
+
requestID: string;
|
|
290
|
+
expiry?: number;
|
|
291
|
+
ephemeral?: boolean;
|
|
292
|
+
amount?: number;
|
|
293
|
+
}): Promise<void>;
|
|
294
|
+
/**
|
|
295
|
+
* Denies a previously requested permission.
|
|
296
|
+
* This method rejects all pending promise calls waiting on that request
|
|
297
|
+
*
|
|
298
|
+
* @param requestID requestID identifying which request to deny
|
|
299
|
+
*/
|
|
300
|
+
denyPermission(requestID: string): Promise<void>;
|
|
301
|
+
/**
|
|
302
|
+
* Ensures the originator has protocol usage permission.
|
|
303
|
+
* If no valid (unexpired) permission token is found, triggers a permission request flow.
|
|
304
|
+
*/
|
|
305
|
+
ensureProtocolPermission({ originator, privileged, protocolID, counterparty, reason, seekPermission, usageType }: {
|
|
306
|
+
originator: string;
|
|
307
|
+
privileged: boolean;
|
|
308
|
+
protocolID: WalletProtocol;
|
|
309
|
+
counterparty: string;
|
|
310
|
+
reason?: string;
|
|
311
|
+
seekPermission?: boolean;
|
|
312
|
+
usageType: 'signing' | 'encrypting' | 'hmac' | 'publicKey' | 'identityKey' | 'linkageRevelation' | 'generic';
|
|
313
|
+
}): Promise<boolean>;
|
|
314
|
+
/**
|
|
315
|
+
* Ensures the originator has basket usage permission for the specified basket.
|
|
316
|
+
* If not, triggers a permission request flow.
|
|
317
|
+
*/
|
|
318
|
+
ensureBasketAccess({ originator, basket, reason, seekPermission, usageType }: {
|
|
319
|
+
originator: string;
|
|
320
|
+
basket: string;
|
|
321
|
+
reason?: string;
|
|
322
|
+
seekPermission?: boolean;
|
|
323
|
+
usageType: 'insertion' | 'removal' | 'listing';
|
|
324
|
+
}): Promise<boolean>;
|
|
325
|
+
/**
|
|
326
|
+
* Ensures the originator has a valid certificate permission.
|
|
327
|
+
* This is relevant when revealing certificate fields in DCAP contexts.
|
|
328
|
+
*/
|
|
329
|
+
ensureCertificateAccess({ originator, privileged, verifier, certType, fields, reason, seekPermission, usageType }: {
|
|
330
|
+
originator: string;
|
|
331
|
+
privileged: boolean;
|
|
332
|
+
verifier: string;
|
|
333
|
+
certType: string;
|
|
334
|
+
fields: string[];
|
|
335
|
+
reason?: string;
|
|
336
|
+
seekPermission?: boolean;
|
|
337
|
+
usageType: 'disclosure';
|
|
338
|
+
}): Promise<boolean>;
|
|
339
|
+
/**
|
|
340
|
+
* Ensures the originator has spending authorization (DSAP) for a certain satoshi amount.
|
|
341
|
+
* If the existing token limit is insufficient, attempts to renew. If no token, attempts to create one.
|
|
342
|
+
*/
|
|
343
|
+
ensureSpendingAuthorization({ originator, satoshis, lineItems, reason, seekPermission }: {
|
|
344
|
+
originator: string;
|
|
345
|
+
satoshis: number;
|
|
346
|
+
lineItems?: Array<{
|
|
347
|
+
type: 'input' | 'output' | 'fee';
|
|
348
|
+
description: string;
|
|
349
|
+
satoshis: number;
|
|
350
|
+
}>;
|
|
351
|
+
reason?: string;
|
|
352
|
+
seekPermission?: boolean;
|
|
353
|
+
}): Promise<boolean>;
|
|
354
|
+
/**
|
|
355
|
+
* Ensures the originator has label usage permission.
|
|
356
|
+
* If no valid (unexpired) permission token is found, triggers a permission request flow.
|
|
357
|
+
*/
|
|
358
|
+
ensureLabelAccess({ originator, label, reason, seekPermission, usageType }: {
|
|
359
|
+
originator: string;
|
|
360
|
+
label: string;
|
|
361
|
+
reason?: string;
|
|
362
|
+
seekPermission?: boolean;
|
|
363
|
+
usageType: 'apply' | 'list';
|
|
364
|
+
}): Promise<boolean>;
|
|
365
|
+
/**
|
|
366
|
+
* A central method that triggers the permission request flow.
|
|
367
|
+
* - It checks if there's already an active request for the same key
|
|
368
|
+
* - If so, we wait on that existing request rather than creating a duplicative one
|
|
369
|
+
* - Otherwise we create a new request queue, call the relevant "onXXXRequested" event,
|
|
370
|
+
* and return a promise that resolves once permission is granted or rejects if denied.
|
|
371
|
+
*/
|
|
372
|
+
private requestPermissionFlow;
|
|
373
|
+
/**
|
|
374
|
+
* We will use a administrative "permission token encryption" protocol to store fields
|
|
375
|
+
* in each permission's PushDrop script. This ensures that only the user's wallet
|
|
376
|
+
* can decrypt them. In practice, this data is not super sensitive, but we still
|
|
377
|
+
* follow the principle of least exposure.
|
|
378
|
+
*/
|
|
379
|
+
private static readonly PERM_TOKEN_ENCRYPTION_PROTOCOL;
|
|
380
|
+
/**
|
|
381
|
+
* Similarly, we will use a "metadata encryption" protocol to preserve the confidentiality
|
|
382
|
+
* of transaction descriptions and input/output descriptions from lower storage layers.
|
|
383
|
+
*/
|
|
384
|
+
private static readonly METADATA_ENCRYPTION_PROTOCOL;
|
|
385
|
+
/** We always use `keyID="1"` and `counterparty="self"` for these encryption ops. */
|
|
386
|
+
private encryptPermissionTokenField;
|
|
387
|
+
private decryptPermissionTokenField;
|
|
388
|
+
/**
|
|
389
|
+
* Encrypts wallet metadata if configured to do so, otherwise returns the original plaintext for storage.
|
|
390
|
+
* @param plaintext The metadata to encrypt if configured to do so
|
|
391
|
+
* @returns The encrypted metadata, or the original value if encryption was disabled.
|
|
392
|
+
*/
|
|
393
|
+
private maybeEncryptMetadata;
|
|
394
|
+
/**
|
|
395
|
+
* Attempts to decrypt metadata. if decryption fails, assumes the value is already plaintext and returns it.
|
|
396
|
+
* @param ciphertext The metadata to attempt decryption for.
|
|
397
|
+
* @returns The decrypted metadata. If decryption fails, returns the original value instead.
|
|
398
|
+
*/
|
|
399
|
+
private maybeDecryptMetadata;
|
|
400
|
+
/** Helper to see if a token's expiry is in the past. */
|
|
401
|
+
private isTokenExpired;
|
|
402
|
+
/** Looks for a DPACP permission token matching origin/domain, privileged, protocol, cpty. */
|
|
403
|
+
private findProtocolToken;
|
|
404
|
+
/** Looks for a DBAP token matching (originator, basket). */
|
|
405
|
+
private findBasketToken;
|
|
406
|
+
/** Looks for a DCAP token matching (origin, privileged, verifier, certType, fields subset). */
|
|
407
|
+
private findCertificateToken;
|
|
408
|
+
/** Looks for a DSAP token matching origin, returning the first one found. */
|
|
409
|
+
private findSpendingToken;
|
|
410
|
+
/**
|
|
411
|
+
* Returns the current month and year in UTC as a string in the format "YYYY-MM".
|
|
412
|
+
*
|
|
413
|
+
* @returns {string} The current month and year in UTC.
|
|
414
|
+
*/
|
|
415
|
+
private getCurrentMonthYearUTC;
|
|
416
|
+
/**
|
|
417
|
+
* Returns spending for an originator in the current calendar month.
|
|
418
|
+
*/
|
|
419
|
+
querySpentSince(token: PermissionToken): Promise<number>;
|
|
420
|
+
/**
|
|
421
|
+
* Creates a brand-new permission token as a single-output PushDrop script in the relevant admin basket.
|
|
422
|
+
*
|
|
423
|
+
* The main difference between each type of token is in the "fields" we store in the PushDrop script.
|
|
424
|
+
*
|
|
425
|
+
* @param r The permission request
|
|
426
|
+
* @param expiry The expiry epoch time
|
|
427
|
+
* @param amount For DSAP, the authorized spending limit
|
|
428
|
+
*/
|
|
429
|
+
private createPermissionOnChain;
|
|
430
|
+
/**
|
|
431
|
+
* Renews a permission token by spending the old token as input and creating a new token output.
|
|
432
|
+
* This invalidates the old token and replaces it with a new one.
|
|
433
|
+
*
|
|
434
|
+
* @param oldToken The old token to consume
|
|
435
|
+
* @param r The permission request being renewed
|
|
436
|
+
* @param newExpiry The new expiry epoch time
|
|
437
|
+
* @param newAmount For DSAP, the new authorized amount
|
|
438
|
+
*/
|
|
439
|
+
private renewPermissionOnChain;
|
|
440
|
+
/**
|
|
441
|
+
* Builds the encrypted array of fields for a PushDrop permission token
|
|
442
|
+
* (protocol / basket / certificate / spending).
|
|
443
|
+
*/
|
|
444
|
+
private buildPushdropFields;
|
|
445
|
+
/**
|
|
446
|
+
* Helper to build an array of tags for the new output, matching the user request's
|
|
447
|
+
* origin, basket, privileged, protocol name, etc.
|
|
448
|
+
*/
|
|
449
|
+
private buildTagsForRequest;
|
|
450
|
+
/**
|
|
451
|
+
* Lists all protocol permission tokens (DPACP) with optional filters.
|
|
452
|
+
* @param originator Optional originator domain to filter by
|
|
453
|
+
* @param privileged Optional boolean to filter by privileged status
|
|
454
|
+
* @param protocolName Optional protocol name to filter by
|
|
455
|
+
* @param protocolSecurityLevel Optional protocol security level to filter by
|
|
456
|
+
* @param counterparty Optional counterparty to filter by
|
|
457
|
+
* @returns Array of permission tokens that match the filter criteria
|
|
458
|
+
*/
|
|
459
|
+
listProtocolPermissions({ originator, privileged, protocolName, protocolSecurityLevel, counterparty }?: {
|
|
460
|
+
originator?: string;
|
|
461
|
+
privileged?: boolean;
|
|
462
|
+
protocolName?: string;
|
|
463
|
+
protocolSecurityLevel?: number;
|
|
464
|
+
counterparty?: string;
|
|
465
|
+
}): Promise<PermissionToken[]>;
|
|
466
|
+
/**
|
|
467
|
+
* Returns true if the originator already holds a valid unexpired protocol permission.
|
|
468
|
+
* This calls `ensureProtocolPermission` with `seekPermission=false`, so it won't prompt.
|
|
469
|
+
*/
|
|
470
|
+
hasProtocolPermission(params: {
|
|
471
|
+
originator: string;
|
|
472
|
+
privileged: boolean;
|
|
473
|
+
protocolID: WalletProtocol;
|
|
474
|
+
counterparty: string;
|
|
475
|
+
}): Promise<boolean>;
|
|
476
|
+
/**
|
|
477
|
+
* Lists basket permission tokens (DBAP) for a given originator or basket (or for all if not specified).
|
|
478
|
+
* @param params.originator Optional originator to filter by
|
|
479
|
+
* @param params.basket Optional basket name to filter by
|
|
480
|
+
* @returns Array of permission tokens that match the filter criteria
|
|
481
|
+
*/
|
|
482
|
+
listBasketAccess(params?: {
|
|
483
|
+
originator?: string;
|
|
484
|
+
basket?: string;
|
|
485
|
+
}): Promise<PermissionToken[]>;
|
|
486
|
+
/**
|
|
487
|
+
* Returns `true` if the originator already holds a valid unexpired basket permission for `basket`.
|
|
488
|
+
*/
|
|
489
|
+
hasBasketAccess(params: {
|
|
490
|
+
originator: string;
|
|
491
|
+
basket: string;
|
|
492
|
+
}): Promise<boolean>;
|
|
493
|
+
/**
|
|
494
|
+
* Lists spending authorization tokens (DSAP) for a given originator (or all).
|
|
495
|
+
*/
|
|
496
|
+
listSpendingAuthorizations(params: {
|
|
497
|
+
originator?: string;
|
|
498
|
+
}): Promise<PermissionToken[]>;
|
|
499
|
+
/**
|
|
500
|
+
* Returns `true` if the originator already holds a valid spending authorization token
|
|
501
|
+
* with enough available monthly spend. We do not prompt (seekPermission=false).
|
|
502
|
+
*/
|
|
503
|
+
hasSpendingAuthorization(params: {
|
|
504
|
+
originator: string;
|
|
505
|
+
satoshis: number;
|
|
506
|
+
}): Promise<boolean>;
|
|
507
|
+
/**
|
|
508
|
+
* Lists certificate permission tokens (DCAP) with optional filters.
|
|
509
|
+
* @param originator Optional originator domain to filter by
|
|
510
|
+
* @param privileged Optional boolean to filter by privileged status
|
|
511
|
+
* @param certType Optional certificate type to filter by
|
|
512
|
+
* @param verifier Optional verifier to filter by
|
|
513
|
+
* @returns Array of permission tokens that match the filter criteria
|
|
514
|
+
*/
|
|
515
|
+
listCertificateAccess(params?: {
|
|
516
|
+
originator?: string;
|
|
517
|
+
privileged?: boolean;
|
|
518
|
+
certType?: Base64String;
|
|
519
|
+
verifier?: PubKeyHex;
|
|
520
|
+
}): Promise<PermissionToken[]>;
|
|
521
|
+
/**
|
|
522
|
+
* Returns `true` if the originator already holds a valid unexpired certificate access
|
|
523
|
+
* for the given certType/fields. Does not prompt the user.
|
|
524
|
+
*/
|
|
525
|
+
hasCertificateAccess(params: {
|
|
526
|
+
originator: string;
|
|
527
|
+
privileged: boolean;
|
|
528
|
+
verifier: string;
|
|
529
|
+
certType: string;
|
|
530
|
+
fields: string[];
|
|
531
|
+
}): Promise<boolean>;
|
|
532
|
+
/**
|
|
533
|
+
* Revokes a permission token by spending it with no replacement output.
|
|
534
|
+
* The manager builds a BRC-100 transaction that consumes the token, effectively invalidating it.
|
|
535
|
+
*/
|
|
536
|
+
revokePermission(oldToken: PermissionToken): Promise<void>;
|
|
537
|
+
createAction(args: Parameters<WalletInterface['createAction']>[0], originator?: string): ReturnType<WalletInterface['createAction']>;
|
|
538
|
+
signAction(...args: Parameters<WalletInterface['signAction']>): ReturnType<WalletInterface['signAction']>;
|
|
539
|
+
abortAction(...args: Parameters<WalletInterface['abortAction']>): ReturnType<WalletInterface['abortAction']>;
|
|
540
|
+
listActions(...args: Parameters<WalletInterface['listActions']>): ReturnType<WalletInterface['listActions']>;
|
|
541
|
+
internalizeAction(...args: Parameters<WalletInterface['internalizeAction']>): ReturnType<WalletInterface['internalizeAction']>;
|
|
542
|
+
listOutputs(...args: Parameters<WalletInterface['listOutputs']>): ReturnType<WalletInterface['listOutputs']>;
|
|
543
|
+
relinquishOutput(...args: Parameters<WalletInterface['relinquishOutput']>): ReturnType<WalletInterface['relinquishOutput']>;
|
|
544
|
+
getPublicKey(...args: Parameters<WalletInterface['getPublicKey']>): ReturnType<WalletInterface['getPublicKey']>;
|
|
545
|
+
revealCounterpartyKeyLinkage(...args: Parameters<WalletInterface['revealCounterpartyKeyLinkage']>): ReturnType<WalletInterface['revealCounterpartyKeyLinkage']>;
|
|
546
|
+
revealSpecificKeyLinkage(...args: Parameters<WalletInterface['revealSpecificKeyLinkage']>): ReturnType<WalletInterface['revealSpecificKeyLinkage']>;
|
|
547
|
+
encrypt(...args: Parameters<WalletInterface['encrypt']>): ReturnType<WalletInterface['encrypt']>;
|
|
548
|
+
decrypt(...args: Parameters<WalletInterface['decrypt']>): ReturnType<WalletInterface['decrypt']>;
|
|
549
|
+
createHmac(...args: Parameters<WalletInterface['createHmac']>): ReturnType<WalletInterface['createHmac']>;
|
|
550
|
+
verifyHmac(...args: Parameters<WalletInterface['verifyHmac']>): ReturnType<WalletInterface['verifyHmac']>;
|
|
551
|
+
createSignature(...args: Parameters<WalletInterface['createSignature']>): ReturnType<WalletInterface['createSignature']>;
|
|
552
|
+
verifySignature(...args: Parameters<WalletInterface['verifySignature']>): ReturnType<WalletInterface['verifySignature']>;
|
|
553
|
+
acquireCertificate(...args: Parameters<WalletInterface['acquireCertificate']>): ReturnType<WalletInterface['acquireCertificate']>;
|
|
554
|
+
listCertificates(...args: Parameters<WalletInterface['listCertificates']>): ReturnType<WalletInterface['listCertificates']>;
|
|
555
|
+
proveCertificate(...args: Parameters<WalletInterface['proveCertificate']>): ReturnType<WalletInterface['proveCertificate']>;
|
|
556
|
+
relinquishCertificate(...args: Parameters<WalletInterface['relinquishCertificate']>): ReturnType<WalletInterface['relinquishCertificate']>;
|
|
557
|
+
discoverByIdentityKey(...args: Parameters<WalletInterface['discoverByIdentityKey']>): ReturnType<WalletInterface['discoverByIdentityKey']>;
|
|
558
|
+
discoverByAttributes(...args: Parameters<WalletInterface['discoverByAttributes']>): ReturnType<WalletInterface['discoverByAttributes']>;
|
|
559
|
+
isAuthenticated(...args: Parameters<WalletInterface['isAuthenticated']>): ReturnType<WalletInterface['isAuthenticated']>;
|
|
560
|
+
waitForAuthentication(...args: Parameters<WalletInterface['waitForAuthentication']>): ReturnType<WalletInterface['waitForAuthentication']>;
|
|
561
|
+
getHeight(...args: Parameters<WalletInterface['getHeight']>): ReturnType<WalletInterface['getHeight']>;
|
|
562
|
+
getHeaderForHeight(...args: Parameters<WalletInterface['getHeaderForHeight']>): ReturnType<WalletInterface['getHeaderForHeight']>;
|
|
563
|
+
getNetwork(...args: Parameters<WalletInterface['getNetwork']>): ReturnType<WalletInterface['getNetwork']>;
|
|
564
|
+
getVersion(...args: Parameters<WalletInterface['getVersion']>): ReturnType<WalletInterface['getVersion']>;
|
|
565
|
+
/** Returns true if the specified origin is the admin originator. */
|
|
566
|
+
private isAdminOriginator;
|
|
567
|
+
/**
|
|
568
|
+
* Checks if the given protocol is admin-reserved per BRC-100 rules:
|
|
569
|
+
*
|
|
570
|
+
* - Must not start with `admin` (admin-reserved)
|
|
571
|
+
* - Must not start with `p ` (allows for future specially permissioned protocols)
|
|
572
|
+
*
|
|
573
|
+
* If it violates these rules and the caller is not admin, we consider it "admin-only."
|
|
574
|
+
*/
|
|
575
|
+
private isAdminProtocol;
|
|
576
|
+
/**
|
|
577
|
+
* Checks if the given label is admin-reserved per BRC-100 rules:
|
|
578
|
+
*
|
|
579
|
+
* - Must not start with `admin` (admin-reserved)
|
|
580
|
+
*
|
|
581
|
+
* If it violates these rules and the caller is not admin, we consider it "admin-only."
|
|
582
|
+
*/
|
|
583
|
+
private isAdminLabel;
|
|
584
|
+
/**
|
|
585
|
+
* Checks if the given basket is admin-reserved per BRC-100 rules:
|
|
586
|
+
*
|
|
587
|
+
* - Must not start with `admin`
|
|
588
|
+
* - Must not be `default` (some wallets use this for internal operations)
|
|
589
|
+
* - Must not start with `p ` (future specially permissioned baskets)
|
|
590
|
+
*/
|
|
591
|
+
private isAdminBasket;
|
|
592
|
+
/**
|
|
593
|
+
* Builds a "map key" string so that identical requests (e.g. "protocol:domain:true:protoName:counterparty")
|
|
594
|
+
* do not produce multiple user prompts.
|
|
595
|
+
*/
|
|
596
|
+
private buildRequestKey;
|
|
597
|
+
}
|
|
598
|
+
//# sourceMappingURL=WalletPermissionsManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WalletPermissionsManager.d.ts","sourceRoot":"","sources":["../../../src/WalletPermissionsManager.ts"],"names":[],"mappings":"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"}
|