@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.
Files changed (517) hide show
  1. package/.github/workflows/push.yaml +5 -0
  2. package/mobile/out/src/CWIStyleWalletManager.d.ts +437 -0
  3. package/mobile/out/src/CWIStyleWalletManager.d.ts.map +1 -0
  4. package/mobile/out/src/CWIStyleWalletManager.js +1255 -0
  5. package/mobile/out/src/CWIStyleWalletManager.js.map +1 -0
  6. package/mobile/out/src/SetupClient.d.ts +126 -0
  7. package/mobile/out/src/SetupClient.d.ts.map +1 -0
  8. package/mobile/out/src/SetupClient.js +220 -0
  9. package/mobile/out/src/SetupClient.js.map +1 -0
  10. package/mobile/out/src/SetupWallet.d.ts +100 -0
  11. package/mobile/out/src/SetupWallet.d.ts.map +1 -0
  12. package/mobile/out/src/SetupWallet.js +3 -0
  13. package/mobile/out/src/SetupWallet.js.map +1 -0
  14. package/mobile/out/src/SimpleWalletManager.d.ts +169 -0
  15. package/mobile/out/src/SimpleWalletManager.d.ts.map +1 -0
  16. package/mobile/out/src/SimpleWalletManager.js +315 -0
  17. package/mobile/out/src/SimpleWalletManager.js.map +1 -0
  18. package/mobile/out/src/Wallet.d.ts +177 -0
  19. package/mobile/out/src/Wallet.d.ts.map +1 -0
  20. package/mobile/out/src/Wallet.js +742 -0
  21. package/mobile/out/src/Wallet.js.map +1 -0
  22. package/mobile/out/src/WalletAuthenticationManager.d.ts +33 -0
  23. package/mobile/out/src/WalletAuthenticationManager.d.ts.map +1 -0
  24. package/mobile/out/src/WalletAuthenticationManager.js +113 -0
  25. package/mobile/out/src/WalletAuthenticationManager.js.map +1 -0
  26. package/mobile/out/src/WalletPermissionsManager.d.ts +598 -0
  27. package/mobile/out/src/WalletPermissionsManager.d.ts.map +1 -0
  28. package/mobile/out/src/WalletPermissionsManager.js +1868 -0
  29. package/mobile/out/src/WalletPermissionsManager.js.map +1 -0
  30. package/mobile/out/src/WalletSettingsManager.d.ts +52 -0
  31. package/mobile/out/src/WalletSettingsManager.d.ts.map +1 -0
  32. package/mobile/out/src/WalletSettingsManager.js +82 -0
  33. package/mobile/out/src/WalletSettingsManager.js.map +1 -0
  34. package/mobile/out/src/index.client.d.ts +19 -0
  35. package/mobile/out/src/index.client.d.ts.map +1 -0
  36. package/mobile/out/src/index.client.js +58 -0
  37. package/mobile/out/src/index.client.js.map +1 -0
  38. package/mobile/out/src/index.mobile.d.ts +19 -0
  39. package/mobile/out/src/index.mobile.d.ts.map +1 -0
  40. package/mobile/out/src/index.mobile.js +58 -0
  41. package/mobile/out/src/index.mobile.js.map +1 -0
  42. package/mobile/out/src/monitor/Monitor.d.ts +91 -0
  43. package/mobile/out/src/monitor/Monitor.d.ts.map +1 -0
  44. package/mobile/out/src/monitor/Monitor.js +298 -0
  45. package/mobile/out/src/monitor/Monitor.js.map +1 -0
  46. package/mobile/out/src/monitor/tasks/TaskCheckForProofs.d.ts +53 -0
  47. package/mobile/out/src/monitor/tasks/TaskCheckForProofs.d.ts.map +1 -0
  48. package/mobile/out/src/monitor/tasks/TaskCheckForProofs.js +194 -0
  49. package/mobile/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -0
  50. package/mobile/out/src/monitor/tasks/TaskCheckNoSends.d.ts +33 -0
  51. package/mobile/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +1 -0
  52. package/mobile/out/src/monitor/tasks/TaskCheckNoSends.js +65 -0
  53. package/mobile/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -0
  54. package/mobile/out/src/monitor/tasks/TaskClock.d.ts +14 -0
  55. package/mobile/out/src/monitor/tasks/TaskClock.d.ts.map +1 -0
  56. package/mobile/out/src/monitor/tasks/TaskClock.js +27 -0
  57. package/mobile/out/src/monitor/tasks/TaskClock.js.map +1 -0
  58. package/mobile/out/src/monitor/tasks/TaskFailAbandoned.d.ts +20 -0
  59. package/mobile/out/src/monitor/tasks/TaskFailAbandoned.d.ts.map +1 -0
  60. package/mobile/out/src/monitor/tasks/TaskFailAbandoned.js +52 -0
  61. package/mobile/out/src/monitor/tasks/TaskFailAbandoned.js.map +1 -0
  62. package/mobile/out/src/monitor/tasks/TaskNewHeader.d.ts +15 -0
  63. package/mobile/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -0
  64. package/mobile/out/src/monitor/tasks/TaskNewHeader.js +43 -0
  65. package/mobile/out/src/monitor/tasks/TaskNewHeader.js.map +1 -0
  66. package/mobile/out/src/monitor/tasks/TaskPurge.d.ts +45 -0
  67. package/mobile/out/src/monitor/tasks/TaskPurge.d.ts.map +1 -0
  68. package/mobile/out/src/monitor/tasks/TaskPurge.js +34 -0
  69. package/mobile/out/src/monitor/tasks/TaskPurge.js.map +1 -0
  70. package/mobile/out/src/monitor/tasks/TaskReviewStatus.d.ts +26 -0
  71. package/mobile/out/src/monitor/tasks/TaskReviewStatus.d.ts.map +1 -0
  72. package/mobile/out/src/monitor/tasks/TaskReviewStatus.js +43 -0
  73. package/mobile/out/src/monitor/tasks/TaskReviewStatus.js.map +1 -0
  74. package/mobile/out/src/monitor/tasks/TaskSendWaiting.d.ts +35 -0
  75. package/mobile/out/src/monitor/tasks/TaskSendWaiting.d.ts.map +1 -0
  76. package/mobile/out/src/monitor/tasks/TaskSendWaiting.js +107 -0
  77. package/mobile/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -0
  78. package/mobile/out/src/monitor/tasks/TaskSyncWhenIdle.d.ts +12 -0
  79. package/mobile/out/src/monitor/tasks/TaskSyncWhenIdle.d.ts.map +1 -0
  80. package/mobile/out/src/monitor/tasks/TaskSyncWhenIdle.js +22 -0
  81. package/mobile/out/src/monitor/tasks/TaskSyncWhenIdle.js.map +1 -0
  82. package/mobile/out/src/monitor/tasks/TaskUnFail.d.ts +41 -0
  83. package/mobile/out/src/monitor/tasks/TaskUnFail.d.ts.map +1 -0
  84. package/mobile/out/src/monitor/tasks/TaskUnFail.js +144 -0
  85. package/mobile/out/src/monitor/tasks/TaskUnFail.js.map +1 -0
  86. package/mobile/out/src/monitor/tasks/WalletMonitorTask.d.ts +40 -0
  87. package/mobile/out/src/monitor/tasks/WalletMonitorTask.d.ts.map +1 -0
  88. package/mobile/out/src/monitor/tasks/WalletMonitorTask.js +37 -0
  89. package/mobile/out/src/monitor/tasks/WalletMonitorTask.js.map +1 -0
  90. package/mobile/out/src/sdk/CertOpsWallet.d.ts +7 -0
  91. package/mobile/out/src/sdk/CertOpsWallet.d.ts.map +1 -0
  92. package/mobile/out/src/sdk/CertOpsWallet.js +3 -0
  93. package/mobile/out/src/sdk/CertOpsWallet.js.map +1 -0
  94. package/mobile/out/src/sdk/PrivilegedKeyManager.d.ts +125 -0
  95. package/mobile/out/src/sdk/PrivilegedKeyManager.d.ts.map +1 -0
  96. package/mobile/out/src/sdk/PrivilegedKeyManager.js +293 -0
  97. package/mobile/out/src/sdk/PrivilegedKeyManager.js.map +1 -0
  98. package/mobile/out/src/sdk/WERR_errors.d.ts +115 -0
  99. package/mobile/out/src/sdk/WERR_errors.d.ts.map +1 -0
  100. package/mobile/out/src/sdk/WERR_errors.js +158 -0
  101. package/mobile/out/src/sdk/WERR_errors.js.map +1 -0
  102. package/mobile/out/src/sdk/WalletError.d.ts +44 -0
  103. package/mobile/out/src/sdk/WalletError.d.ts.map +1 -0
  104. package/mobile/out/src/sdk/WalletError.js +118 -0
  105. package/mobile/out/src/sdk/WalletError.js.map +1 -0
  106. package/mobile/out/src/sdk/WalletServices.interfaces.d.ts +430 -0
  107. package/mobile/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -0
  108. package/mobile/out/src/sdk/WalletServices.interfaces.js +3 -0
  109. package/mobile/out/src/sdk/WalletServices.interfaces.js.map +1 -0
  110. package/mobile/out/src/sdk/WalletSigner.interfaces.d.ts +10 -0
  111. package/mobile/out/src/sdk/WalletSigner.interfaces.d.ts.map +1 -0
  112. package/mobile/out/src/sdk/WalletSigner.interfaces.js +3 -0
  113. package/mobile/out/src/sdk/WalletSigner.interfaces.js.map +1 -0
  114. package/mobile/out/src/sdk/WalletStorage.interfaces.d.ts +452 -0
  115. package/mobile/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -0
  116. package/mobile/out/src/sdk/WalletStorage.interfaces.js +3 -0
  117. package/mobile/out/src/sdk/WalletStorage.interfaces.js.map +1 -0
  118. package/mobile/out/src/sdk/index.d.ts +10 -0
  119. package/mobile/out/src/sdk/index.d.ts.map +1 -0
  120. package/mobile/out/src/sdk/index.js +26 -0
  121. package/mobile/out/src/sdk/index.js.map +1 -0
  122. package/mobile/out/src/sdk/types.d.ts +158 -0
  123. package/mobile/out/src/sdk/types.d.ts.map +1 -0
  124. package/mobile/out/src/sdk/types.js +90 -0
  125. package/mobile/out/src/sdk/types.js.map +1 -0
  126. package/mobile/out/src/sdk/validationHelpers.d.ts +301 -0
  127. package/mobile/out/src/sdk/validationHelpers.d.ts.map +1 -0
  128. package/mobile/out/src/sdk/validationHelpers.js +629 -0
  129. package/mobile/out/src/sdk/validationHelpers.js.map +1 -0
  130. package/mobile/out/src/services/ServiceCollection.d.ts +25 -0
  131. package/mobile/out/src/services/ServiceCollection.d.ts.map +1 -0
  132. package/mobile/out/src/services/ServiceCollection.js +43 -0
  133. package/mobile/out/src/services/ServiceCollection.js.map +1 -0
  134. package/mobile/out/src/services/Services.d.ts +67 -0
  135. package/mobile/out/src/services/Services.d.ts.map +1 -0
  136. package/mobile/out/src/services/Services.js +391 -0
  137. package/mobile/out/src/services/Services.js.map +1 -0
  138. package/mobile/out/src/services/chaintracker/ChaintracksChainTracker.d.ts +15 -0
  139. package/mobile/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -0
  140. package/mobile/out/src/services/chaintracker/ChaintracksChainTracker.js +51 -0
  141. package/mobile/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -0
  142. package/mobile/out/src/services/chaintracker/chaintracks/BlockHeaderApi.d.ts +98 -0
  143. package/mobile/out/src/services/chaintracker/chaintracks/BlockHeaderApi.d.ts.map +1 -0
  144. package/mobile/out/src/services/chaintracker/chaintracks/BlockHeaderApi.js +38 -0
  145. package/mobile/out/src/services/chaintracker/chaintracks/BlockHeaderApi.js.map +1 -0
  146. package/mobile/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts +36 -0
  147. package/mobile/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -0
  148. package/mobile/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +128 -0
  149. package/mobile/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -0
  150. package/mobile/out/src/services/chaintracker/chaintracks/index.d.ts +3 -0
  151. package/mobile/out/src/services/chaintracker/chaintracks/index.d.ts.map +1 -0
  152. package/mobile/out/src/services/chaintracker/chaintracks/index.js +19 -0
  153. package/mobile/out/src/services/chaintracker/chaintracks/index.js.map +1 -0
  154. package/mobile/out/src/services/chaintracker/index.d.ts +3 -0
  155. package/mobile/out/src/services/chaintracker/index.d.ts.map +1 -0
  156. package/mobile/out/src/services/chaintracker/index.js +19 -0
  157. package/mobile/out/src/services/chaintracker/index.js.map +1 -0
  158. package/mobile/out/src/services/createDefaultWalletServicesOptions.d.ts +4 -0
  159. package/mobile/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -0
  160. package/mobile/out/src/services/createDefaultWalletServicesOptions.js +46 -0
  161. package/mobile/out/src/services/createDefaultWalletServicesOptions.js.map +1 -0
  162. package/mobile/out/src/services/index.d.ts +2 -0
  163. package/mobile/out/src/services/index.d.ts.map +1 -0
  164. package/mobile/out/src/services/index.js +18 -0
  165. package/mobile/out/src/services/index.js.map +1 -0
  166. package/mobile/out/src/services/providers/ARC.d.ts +91 -0
  167. package/mobile/out/src/services/providers/ARC.d.ts.map +1 -0
  168. package/mobile/out/src/services/providers/ARC.js +267 -0
  169. package/mobile/out/src/services/providers/ARC.js.map +1 -0
  170. package/mobile/out/src/services/providers/Bitails.d.ts +49 -0
  171. package/mobile/out/src/services/providers/Bitails.d.ts.map +1 -0
  172. package/mobile/out/src/services/providers/Bitails.js +222 -0
  173. package/mobile/out/src/services/providers/Bitails.js.map +1 -0
  174. package/mobile/out/src/services/providers/SdkWhatsOnChain.d.ts +21 -0
  175. package/mobile/out/src/services/providers/SdkWhatsOnChain.d.ts.map +1 -0
  176. package/mobile/out/src/services/providers/SdkWhatsOnChain.js +67 -0
  177. package/mobile/out/src/services/providers/SdkWhatsOnChain.js.map +1 -0
  178. package/mobile/out/src/services/providers/WhatsOnChain.d.ts +71 -0
  179. package/mobile/out/src/services/providers/WhatsOnChain.d.ts.map +1 -0
  180. package/mobile/out/src/services/providers/WhatsOnChain.js +582 -0
  181. package/mobile/out/src/services/providers/WhatsOnChain.js.map +1 -0
  182. package/mobile/out/src/services/providers/echangeRates.d.ts +12 -0
  183. package/mobile/out/src/services/providers/echangeRates.d.ts.map +1 -0
  184. package/mobile/out/src/services/providers/echangeRates.js +237 -0
  185. package/mobile/out/src/services/providers/echangeRates.js.map +1 -0
  186. package/mobile/out/src/services/providers/getBeefForTxid.d.ts +4 -0
  187. package/mobile/out/src/services/providers/getBeefForTxid.d.ts.map +1 -0
  188. package/mobile/out/src/services/providers/getBeefForTxid.js +286 -0
  189. package/mobile/out/src/services/providers/getBeefForTxid.js.map +1 -0
  190. package/mobile/out/src/signer/WalletSigner.d.ts +11 -0
  191. package/mobile/out/src/signer/WalletSigner.d.ts.map +1 -0
  192. package/mobile/out/src/signer/WalletSigner.js +13 -0
  193. package/mobile/out/src/signer/WalletSigner.js.map +1 -0
  194. package/mobile/out/src/signer/methods/acquireDirectCertificate.d.ts +4 -0
  195. package/mobile/out/src/signer/methods/acquireDirectCertificate.d.ts.map +1 -0
  196. package/mobile/out/src/signer/methods/acquireDirectCertificate.js +45 -0
  197. package/mobile/out/src/signer/methods/acquireDirectCertificate.js.map +1 -0
  198. package/mobile/out/src/signer/methods/buildSignableTransaction.d.ts +10 -0
  199. package/mobile/out/src/signer/methods/buildSignableTransaction.d.ts.map +1 -0
  200. package/mobile/out/src/signer/methods/buildSignableTransaction.js +126 -0
  201. package/mobile/out/src/signer/methods/buildSignableTransaction.js.map +1 -0
  202. package/mobile/out/src/signer/methods/createAction.d.ts +20 -0
  203. package/mobile/out/src/signer/methods/createAction.d.ts.map +1 -0
  204. package/mobile/out/src/signer/methods/createAction.js +160 -0
  205. package/mobile/out/src/signer/methods/createAction.js.map +1 -0
  206. package/mobile/out/src/signer/methods/internalizeAction.d.ts +31 -0
  207. package/mobile/out/src/signer/methods/internalizeAction.d.ts.map +1 -0
  208. package/mobile/out/src/signer/methods/internalizeAction.js +95 -0
  209. package/mobile/out/src/signer/methods/internalizeAction.js.map +1 -0
  210. package/mobile/out/src/signer/methods/proveCertificate.d.ts +4 -0
  211. package/mobile/out/src/signer/methods/proveCertificate.d.ts.map +1 -0
  212. package/mobile/out/src/signer/methods/proveCertificate.js +29 -0
  213. package/mobile/out/src/signer/methods/proveCertificate.js.map +1 -0
  214. package/mobile/out/src/signer/methods/signAction.d.ts +13 -0
  215. package/mobile/out/src/signer/methods/signAction.d.ts.map +1 -0
  216. package/mobile/out/src/signer/methods/signAction.js +89 -0
  217. package/mobile/out/src/signer/methods/signAction.js.map +1 -0
  218. package/mobile/out/src/storage/StorageIdb.d.ts +208 -0
  219. package/mobile/out/src/storage/StorageIdb.d.ts.map +1 -0
  220. package/mobile/out/src/storage/StorageIdb.js +2296 -0
  221. package/mobile/out/src/storage/StorageIdb.js.map +1 -0
  222. package/mobile/out/src/storage/StorageProvider.d.ts +209 -0
  223. package/mobile/out/src/storage/StorageProvider.d.ts.map +1 -0
  224. package/mobile/out/src/storage/StorageProvider.js +550 -0
  225. package/mobile/out/src/storage/StorageProvider.js.map +1 -0
  226. package/mobile/out/src/storage/StorageReader.d.ts +76 -0
  227. package/mobile/out/src/storage/StorageReader.d.ts.map +1 -0
  228. package/mobile/out/src/storage/StorageReader.js +129 -0
  229. package/mobile/out/src/storage/StorageReader.js.map +1 -0
  230. package/mobile/out/src/storage/StorageReaderWriter.d.ts +87 -0
  231. package/mobile/out/src/storage/StorageReaderWriter.d.ts.map +1 -0
  232. package/mobile/out/src/storage/StorageReaderWriter.js +338 -0
  233. package/mobile/out/src/storage/StorageReaderWriter.js.map +1 -0
  234. package/mobile/out/src/storage/StorageSyncReader.d.ts +17 -0
  235. package/mobile/out/src/storage/StorageSyncReader.d.ts.map +1 -0
  236. package/mobile/out/src/storage/StorageSyncReader.js +38 -0
  237. package/mobile/out/src/storage/StorageSyncReader.js.map +1 -0
  238. package/mobile/out/src/storage/WalletStorageManager.d.ts +184 -0
  239. package/mobile/out/src/storage/WalletStorageManager.d.ts.map +1 -0
  240. package/mobile/out/src/storage/WalletStorageManager.js +665 -0
  241. package/mobile/out/src/storage/WalletStorageManager.js.map +1 -0
  242. package/mobile/out/src/storage/index.client.d.ts +8 -0
  243. package/mobile/out/src/storage/index.client.d.ts.map +1 -0
  244. package/mobile/out/src/storage/index.client.js +24 -0
  245. package/mobile/out/src/storage/index.client.js.map +1 -0
  246. package/mobile/out/src/storage/index.mobile.d.ts +7 -0
  247. package/mobile/out/src/storage/index.mobile.d.ts.map +1 -0
  248. package/mobile/out/src/storage/index.mobile.js +23 -0
  249. package/mobile/out/src/storage/index.mobile.js.map +1 -0
  250. package/mobile/out/src/storage/methods/ListActionsSpecOp.d.ts +16 -0
  251. package/mobile/out/src/storage/methods/ListActionsSpecOp.d.ts.map +1 -0
  252. package/mobile/out/src/storage/methods/ListActionsSpecOp.js +40 -0
  253. package/mobile/out/src/storage/methods/ListActionsSpecOp.js.map +1 -0
  254. package/mobile/out/src/storage/methods/ListOutputsSpecOp.d.ts +26 -0
  255. package/mobile/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -0
  256. package/mobile/out/src/storage/methods/ListOutputsSpecOp.js +71 -0
  257. package/mobile/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -0
  258. package/mobile/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts +41 -0
  259. package/mobile/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +1 -0
  260. package/mobile/out/src/storage/methods/attemptToPostReqsToNetwork.js +320 -0
  261. package/mobile/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -0
  262. package/mobile/out/src/storage/methods/createAction.d.ts +24 -0
  263. package/mobile/out/src/storage/methods/createAction.d.ts.map +1 -0
  264. package/mobile/out/src/storage/methods/createAction.js +705 -0
  265. package/mobile/out/src/storage/methods/createAction.js.map +1 -0
  266. package/mobile/out/src/storage/methods/generateChange.d.ts +119 -0
  267. package/mobile/out/src/storage/methods/generateChange.d.ts.map +1 -0
  268. package/mobile/out/src/storage/methods/generateChange.js +448 -0
  269. package/mobile/out/src/storage/methods/generateChange.js.map +1 -0
  270. package/mobile/out/src/storage/methods/getBeefForTransaction.d.ts +22 -0
  271. package/mobile/out/src/storage/methods/getBeefForTransaction.d.ts.map +1 -0
  272. package/mobile/out/src/storage/methods/getBeefForTransaction.js +92 -0
  273. package/mobile/out/src/storage/methods/getBeefForTransaction.js.map +1 -0
  274. package/mobile/out/src/storage/methods/getSyncChunk.d.ts +10 -0
  275. package/mobile/out/src/storage/methods/getSyncChunk.d.ts.map +1 -0
  276. package/mobile/out/src/storage/methods/getSyncChunk.js +271 -0
  277. package/mobile/out/src/storage/methods/getSyncChunk.js.map +1 -0
  278. package/mobile/out/src/storage/methods/internalizeAction.d.ts +38 -0
  279. package/mobile/out/src/storage/methods/internalizeAction.d.ts.map +1 -0
  280. package/mobile/out/src/storage/methods/internalizeAction.js +371 -0
  281. package/mobile/out/src/storage/methods/internalizeAction.js.map +1 -0
  282. package/mobile/out/src/storage/methods/listActionsIdb.d.ts +5 -0
  283. package/mobile/out/src/storage/methods/listActionsIdb.d.ts.map +1 -0
  284. package/mobile/out/src/storage/methods/listActionsIdb.js +155 -0
  285. package/mobile/out/src/storage/methods/listActionsIdb.js.map +1 -0
  286. package/mobile/out/src/storage/methods/listCertificates.d.ts +5 -0
  287. package/mobile/out/src/storage/methods/listCertificates.d.ts.map +1 -0
  288. package/mobile/out/src/storage/methods/listCertificates.js +68 -0
  289. package/mobile/out/src/storage/methods/listCertificates.js.map +1 -0
  290. package/mobile/out/src/storage/methods/listOutputsIdb.d.ts +5 -0
  291. package/mobile/out/src/storage/methods/listOutputsIdb.d.ts.map +1 -0
  292. package/mobile/out/src/storage/methods/listOutputsIdb.js +181 -0
  293. package/mobile/out/src/storage/methods/listOutputsIdb.js.map +1 -0
  294. package/mobile/out/src/storage/methods/processAction.d.ts +35 -0
  295. package/mobile/out/src/storage/methods/processAction.d.ts.map +1 -0
  296. package/mobile/out/src/storage/methods/processAction.js +311 -0
  297. package/mobile/out/src/storage/methods/processAction.js.map +1 -0
  298. package/mobile/out/src/storage/methods/purgeDataIdb.d.ts +4 -0
  299. package/mobile/out/src/storage/methods/purgeDataIdb.d.ts.map +1 -0
  300. package/mobile/out/src/storage/methods/purgeDataIdb.js +9 -0
  301. package/mobile/out/src/storage/methods/purgeDataIdb.js.map +1 -0
  302. package/mobile/out/src/storage/methods/reviewStatusIdb.d.ts +20 -0
  303. package/mobile/out/src/storage/methods/reviewStatusIdb.d.ts.map +1 -0
  304. package/mobile/out/src/storage/methods/reviewStatusIdb.js +35 -0
  305. package/mobile/out/src/storage/methods/reviewStatusIdb.js.map +1 -0
  306. package/mobile/out/src/storage/remoting/StorageClient.d.ts +283 -0
  307. package/mobile/out/src/storage/remoting/StorageClient.d.ts.map +1 -0
  308. package/mobile/out/src/storage/remoting/StorageClient.js +477 -0
  309. package/mobile/out/src/storage/remoting/StorageClient.js.map +1 -0
  310. package/mobile/out/src/storage/schema/StorageIdbSchema.d.ts +133 -0
  311. package/mobile/out/src/storage/schema/StorageIdbSchema.d.ts.map +1 -0
  312. package/mobile/out/src/storage/schema/StorageIdbSchema.js +3 -0
  313. package/mobile/out/src/storage/schema/StorageIdbSchema.js.map +1 -0
  314. package/mobile/out/src/storage/schema/entities/EntityBase.d.ts +105 -0
  315. package/mobile/out/src/storage/schema/entities/EntityBase.d.ts.map +1 -0
  316. package/mobile/out/src/storage/schema/entities/EntityBase.js +100 -0
  317. package/mobile/out/src/storage/schema/entities/EntityBase.js.map +1 -0
  318. package/mobile/out/src/storage/schema/entities/EntityCertificate.d.ts +43 -0
  319. package/mobile/out/src/storage/schema/entities/EntityCertificate.d.ts.map +1 -0
  320. package/mobile/out/src/storage/schema/entities/EntityCertificate.js +162 -0
  321. package/mobile/out/src/storage/schema/entities/EntityCertificate.js.map +1 -0
  322. package/mobile/out/src/storage/schema/entities/EntityCertificateField.d.ts +32 -0
  323. package/mobile/out/src/storage/schema/entities/EntityCertificateField.d.ts.map +1 -0
  324. package/mobile/out/src/storage/schema/entities/EntityCertificateField.js +111 -0
  325. package/mobile/out/src/storage/schema/entities/EntityCertificateField.js.map +1 -0
  326. package/mobile/out/src/storage/schema/entities/EntityCommission.d.ts +37 -0
  327. package/mobile/out/src/storage/schema/entities/EntityCommission.d.ts.map +1 -0
  328. package/mobile/out/src/storage/schema/entities/EntityCommission.js +127 -0
  329. package/mobile/out/src/storage/schema/entities/EntityCommission.js.map +1 -0
  330. package/mobile/out/src/storage/schema/entities/EntityOutput.d.ts +67 -0
  331. package/mobile/out/src/storage/schema/entities/EntityOutput.d.ts.map +1 -0
  332. package/mobile/out/src/storage/schema/entities/EntityOutput.js +264 -0
  333. package/mobile/out/src/storage/schema/entities/EntityOutput.js.map +1 -0
  334. package/mobile/out/src/storage/schema/entities/EntityOutputBasket.d.ts +35 -0
  335. package/mobile/out/src/storage/schema/entities/EntityOutputBasket.d.ts.map +1 -0
  336. package/mobile/out/src/storage/schema/entities/EntityOutputBasket.js +133 -0
  337. package/mobile/out/src/storage/schema/entities/EntityOutputBasket.js.map +1 -0
  338. package/mobile/out/src/storage/schema/entities/EntityOutputTag.d.ts +31 -0
  339. package/mobile/out/src/storage/schema/entities/EntityOutputTag.d.ts.map +1 -0
  340. package/mobile/out/src/storage/schema/entities/EntityOutputTag.js +104 -0
  341. package/mobile/out/src/storage/schema/entities/EntityOutputTag.js.map +1 -0
  342. package/mobile/out/src/storage/schema/entities/EntityOutputTagMap.d.ts +28 -0
  343. package/mobile/out/src/storage/schema/entities/EntityOutputTagMap.d.ts.map +1 -0
  344. package/mobile/out/src/storage/schema/entities/EntityOutputTagMap.js +97 -0
  345. package/mobile/out/src/storage/schema/entities/EntityOutputTagMap.js.map +1 -0
  346. package/mobile/out/src/storage/schema/entities/EntityProvenTx.d.ts +84 -0
  347. package/mobile/out/src/storage/schema/entities/EntityProvenTx.d.ts.map +1 -0
  348. package/mobile/out/src/storage/schema/entities/EntityProvenTx.js +276 -0
  349. package/mobile/out/src/storage/schema/entities/EntityProvenTx.js.map +1 -0
  350. package/mobile/out/src/storage/schema/entities/EntityProvenTxReq.d.ts +135 -0
  351. package/mobile/out/src/storage/schema/entities/EntityProvenTxReq.d.ts.map +1 -0
  352. package/mobile/out/src/storage/schema/entities/EntityProvenTxReq.js +522 -0
  353. package/mobile/out/src/storage/schema/entities/EntityProvenTxReq.js.map +1 -0
  354. package/mobile/out/src/storage/schema/entities/EntitySyncState.d.ts +67 -0
  355. package/mobile/out/src/storage/schema/entities/EntitySyncState.d.ts.map +1 -0
  356. package/mobile/out/src/storage/schema/entities/EntitySyncState.js +319 -0
  357. package/mobile/out/src/storage/schema/entities/EntitySyncState.js.map +1 -0
  358. package/mobile/out/src/storage/schema/entities/EntityTransaction.d.ts +67 -0
  359. package/mobile/out/src/storage/schema/entities/EntityTransaction.d.ts.map +1 -0
  360. package/mobile/out/src/storage/schema/entities/EntityTransaction.js +255 -0
  361. package/mobile/out/src/storage/schema/entities/EntityTransaction.js.map +1 -0
  362. package/mobile/out/src/storage/schema/entities/EntityTxLabel.d.ts +31 -0
  363. package/mobile/out/src/storage/schema/entities/EntityTxLabel.d.ts.map +1 -0
  364. package/mobile/out/src/storage/schema/entities/EntityTxLabel.js +104 -0
  365. package/mobile/out/src/storage/schema/entities/EntityTxLabel.js.map +1 -0
  366. package/mobile/out/src/storage/schema/entities/EntityTxLabelMap.d.ts +28 -0
  367. package/mobile/out/src/storage/schema/entities/EntityTxLabelMap.d.ts.map +1 -0
  368. package/mobile/out/src/storage/schema/entities/EntityTxLabelMap.js +97 -0
  369. package/mobile/out/src/storage/schema/entities/EntityTxLabelMap.js.map +1 -0
  370. package/mobile/out/src/storage/schema/entities/EntityUser.d.ts +29 -0
  371. package/mobile/out/src/storage/schema/entities/EntityUser.d.ts.map +1 -0
  372. package/mobile/out/src/storage/schema/entities/EntityUser.js +98 -0
  373. package/mobile/out/src/storage/schema/entities/EntityUser.js.map +1 -0
  374. package/mobile/out/src/storage/schema/entities/MergeEntity.d.ts +33 -0
  375. package/mobile/out/src/storage/schema/entities/MergeEntity.d.ts.map +1 -0
  376. package/mobile/out/src/storage/schema/entities/MergeEntity.js +62 -0
  377. package/mobile/out/src/storage/schema/entities/MergeEntity.js.map +1 -0
  378. package/mobile/out/src/storage/schema/entities/index.d.ts +17 -0
  379. package/mobile/out/src/storage/schema/entities/index.d.ts.map +1 -0
  380. package/mobile/out/src/storage/schema/entities/index.js +33 -0
  381. package/mobile/out/src/storage/schema/entities/index.js.map +1 -0
  382. package/mobile/out/src/storage/schema/tables/TableCertificate.d.ts +20 -0
  383. package/mobile/out/src/storage/schema/tables/TableCertificate.d.ts.map +1 -0
  384. package/mobile/out/src/storage/schema/tables/TableCertificate.js +3 -0
  385. package/mobile/out/src/storage/schema/tables/TableCertificate.js.map +1 -0
  386. package/mobile/out/src/storage/schema/tables/TableCertificateField.d.ts +12 -0
  387. package/mobile/out/src/storage/schema/tables/TableCertificateField.d.ts.map +1 -0
  388. package/mobile/out/src/storage/schema/tables/TableCertificateField.js +3 -0
  389. package/mobile/out/src/storage/schema/tables/TableCertificateField.js.map +1 -0
  390. package/mobile/out/src/storage/schema/tables/TableCommission.d.ts +13 -0
  391. package/mobile/out/src/storage/schema/tables/TableCommission.d.ts.map +1 -0
  392. package/mobile/out/src/storage/schema/tables/TableCommission.js +3 -0
  393. package/mobile/out/src/storage/schema/tables/TableCommission.js.map +1 -0
  394. package/mobile/out/src/storage/schema/tables/TableMonitorEvent.d.ts +9 -0
  395. package/mobile/out/src/storage/schema/tables/TableMonitorEvent.d.ts.map +1 -0
  396. package/mobile/out/src/storage/schema/tables/TableMonitorEvent.js +3 -0
  397. package/mobile/out/src/storage/schema/tables/TableMonitorEvent.js.map +1 -0
  398. package/mobile/out/src/storage/schema/tables/TableOutput.d.ts +36 -0
  399. package/mobile/out/src/storage/schema/tables/TableOutput.d.ts.map +1 -0
  400. package/mobile/out/src/storage/schema/tables/TableOutput.js +31 -0
  401. package/mobile/out/src/storage/schema/tables/TableOutput.js.map +1 -0
  402. package/mobile/out/src/storage/schema/tables/TableOutputBasket.d.ts +12 -0
  403. package/mobile/out/src/storage/schema/tables/TableOutputBasket.d.ts.map +1 -0
  404. package/mobile/out/src/storage/schema/tables/TableOutputBasket.js +3 -0
  405. package/mobile/out/src/storage/schema/tables/TableOutputBasket.js.map +1 -0
  406. package/mobile/out/src/storage/schema/tables/TableOutputTag.d.ts +10 -0
  407. package/mobile/out/src/storage/schema/tables/TableOutputTag.d.ts.map +1 -0
  408. package/mobile/out/src/storage/schema/tables/TableOutputTag.js +3 -0
  409. package/mobile/out/src/storage/schema/tables/TableOutputTag.js.map +1 -0
  410. package/mobile/out/src/storage/schema/tables/TableOutputTagMap.d.ts +9 -0
  411. package/mobile/out/src/storage/schema/tables/TableOutputTagMap.d.ts.map +1 -0
  412. package/mobile/out/src/storage/schema/tables/TableOutputTagMap.js +3 -0
  413. package/mobile/out/src/storage/schema/tables/TableOutputTagMap.js.map +1 -0
  414. package/mobile/out/src/storage/schema/tables/TableProvenTx.d.ts +14 -0
  415. package/mobile/out/src/storage/schema/tables/TableProvenTx.d.ts.map +1 -0
  416. package/mobile/out/src/storage/schema/tables/TableProvenTx.js +3 -0
  417. package/mobile/out/src/storage/schema/tables/TableProvenTx.js.map +1 -0
  418. package/mobile/out/src/storage/schema/tables/TableProvenTxReq.d.ts +64 -0
  419. package/mobile/out/src/storage/schema/tables/TableProvenTxReq.d.ts.map +1 -0
  420. package/mobile/out/src/storage/schema/tables/TableProvenTxReq.js +3 -0
  421. package/mobile/out/src/storage/schema/tables/TableProvenTxReq.js.map +1 -0
  422. package/mobile/out/src/storage/schema/tables/TableSettings.d.ts +17 -0
  423. package/mobile/out/src/storage/schema/tables/TableSettings.d.ts.map +1 -0
  424. package/mobile/out/src/storage/schema/tables/TableSettings.js +3 -0
  425. package/mobile/out/src/storage/schema/tables/TableSettings.js.map +1 -0
  426. package/mobile/out/src/storage/schema/tables/TableSyncState.d.ts +18 -0
  427. package/mobile/out/src/storage/schema/tables/TableSyncState.d.ts.map +1 -0
  428. package/mobile/out/src/storage/schema/tables/TableSyncState.js +3 -0
  429. package/mobile/out/src/storage/schema/tables/TableSyncState.js.map +1 -0
  430. package/mobile/out/src/storage/schema/tables/TableTransaction.d.ts +37 -0
  431. package/mobile/out/src/storage/schema/tables/TableTransaction.d.ts.map +1 -0
  432. package/mobile/out/src/storage/schema/tables/TableTransaction.js +21 -0
  433. package/mobile/out/src/storage/schema/tables/TableTransaction.js.map +1 -0
  434. package/mobile/out/src/storage/schema/tables/TableTxLabel.d.ts +10 -0
  435. package/mobile/out/src/storage/schema/tables/TableTxLabel.d.ts.map +1 -0
  436. package/mobile/out/src/storage/schema/tables/TableTxLabel.js +3 -0
  437. package/mobile/out/src/storage/schema/tables/TableTxLabel.js.map +1 -0
  438. package/mobile/out/src/storage/schema/tables/TableTxLabelMap.d.ts +9 -0
  439. package/mobile/out/src/storage/schema/tables/TableTxLabelMap.d.ts.map +1 -0
  440. package/mobile/out/src/storage/schema/tables/TableTxLabelMap.js +3 -0
  441. package/mobile/out/src/storage/schema/tables/TableTxLabelMap.js.map +1 -0
  442. package/mobile/out/src/storage/schema/tables/TableUser.d.ts +16 -0
  443. package/mobile/out/src/storage/schema/tables/TableUser.d.ts.map +1 -0
  444. package/mobile/out/src/storage/schema/tables/TableUser.js +3 -0
  445. package/mobile/out/src/storage/schema/tables/TableUser.js.map +1 -0
  446. package/mobile/out/src/storage/schema/tables/index.d.ts +17 -0
  447. package/mobile/out/src/storage/schema/tables/index.d.ts.map +1 -0
  448. package/mobile/out/src/storage/schema/tables/index.js +33 -0
  449. package/mobile/out/src/storage/schema/tables/index.js.map +1 -0
  450. package/mobile/out/src/utility/ScriptTemplateBRC29.d.ts +25 -0
  451. package/mobile/out/src/utility/ScriptTemplateBRC29.d.ts.map +1 -0
  452. package/mobile/out/src/utility/ScriptTemplateBRC29.js +48 -0
  453. package/mobile/out/src/utility/ScriptTemplateBRC29.js.map +1 -0
  454. package/mobile/out/src/utility/identityUtils.d.ts +31 -0
  455. package/mobile/out/src/utility/identityUtils.d.ts.map +1 -0
  456. package/mobile/out/src/utility/identityUtils.js +116 -0
  457. package/mobile/out/src/utility/identityUtils.js.map +1 -0
  458. package/mobile/out/src/utility/index.client.d.ts +7 -0
  459. package/mobile/out/src/utility/index.client.d.ts.map +1 -0
  460. package/mobile/out/src/utility/index.client.js +23 -0
  461. package/mobile/out/src/utility/index.client.js.map +1 -0
  462. package/mobile/out/src/utility/parseTxScriptOffsets.d.ts +14 -0
  463. package/mobile/out/src/utility/parseTxScriptOffsets.d.ts.map +1 -0
  464. package/mobile/out/src/utility/parseTxScriptOffsets.js +26 -0
  465. package/mobile/out/src/utility/parseTxScriptOffsets.js.map +1 -0
  466. package/mobile/out/src/utility/stampLog.d.ts +18 -0
  467. package/mobile/out/src/utility/stampLog.d.ts.map +1 -0
  468. package/mobile/out/src/utility/stampLog.js +72 -0
  469. package/mobile/out/src/utility/stampLog.js.map +1 -0
  470. package/mobile/out/src/utility/tscProofToMerklePath.d.ts +8 -0
  471. package/mobile/out/src/utility/tscProofToMerklePath.d.ts.map +1 -0
  472. package/mobile/out/src/utility/tscProofToMerklePath.js +41 -0
  473. package/mobile/out/src/utility/tscProofToMerklePath.js.map +1 -0
  474. package/mobile/out/src/utility/utilityHelpers.d.ts +129 -0
  475. package/mobile/out/src/utility/utilityHelpers.d.ts.map +1 -0
  476. package/mobile/out/src/utility/utilityHelpers.js +266 -0
  477. package/mobile/out/src/utility/utilityHelpers.js.map +1 -0
  478. package/mobile/out/src/utility/utilityHelpers.noBuffer.d.ts +9 -0
  479. package/mobile/out/src/utility/utilityHelpers.noBuffer.d.ts.map +1 -0
  480. package/mobile/out/src/utility/utilityHelpers.noBuffer.js +23 -0
  481. package/mobile/out/src/utility/utilityHelpers.noBuffer.js.map +1 -0
  482. package/mobile/out/src/wab-client/WABClient.d.ts +49 -0
  483. package/mobile/out/src/wab-client/WABClient.d.ts.map +1 -0
  484. package/mobile/out/src/wab-client/WABClient.js +80 -0
  485. package/mobile/out/src/wab-client/WABClient.js.map +1 -0
  486. package/mobile/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts +34 -0
  487. package/mobile/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts.map +1 -0
  488. package/mobile/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js +16 -0
  489. package/mobile/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js.map +1 -0
  490. package/mobile/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.d.ts +7 -0
  491. package/mobile/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.d.ts.map +1 -0
  492. package/mobile/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.js +36 -0
  493. package/mobile/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.js.map +1 -0
  494. package/mobile/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.d.ts +28 -0
  495. package/mobile/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.d.ts.map +1 -0
  496. package/mobile/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js +69 -0
  497. package/mobile/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js.map +1 -0
  498. package/mobile/out/tsconfig.mobile.tsbuildinfo +1 -0
  499. package/mobile/package-lock.json +22 -0
  500. package/mobile/package.json +25 -0
  501. package/out/src/index.mobile.d.ts +19 -0
  502. package/out/src/index.mobile.d.ts.map +1 -0
  503. package/out/src/index.mobile.js +58 -0
  504. package/out/src/index.mobile.js.map +1 -0
  505. package/out/src/storage/index.mobile.d.ts +7 -0
  506. package/out/src/storage/index.mobile.d.ts.map +1 -0
  507. package/out/src/storage/index.mobile.js +23 -0
  508. package/out/src/storage/index.mobile.js.map +1 -0
  509. package/out/src/wab-client/WABClient.js +2 -5
  510. package/out/src/wab-client/WABClient.js.map +1 -1
  511. package/out/tsconfig.all.tsbuildinfo +1 -1
  512. package/package.json +1 -1
  513. package/src/index.mobile.ts +18 -0
  514. package/src/storage/index.mobile.ts +6 -0
  515. package/src/wab-client/WABClient.ts +2 -2
  516. package/tsconfig.json +3 -0
  517. 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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"}