@arkade-os/sdk 0.4.27 → 0.4.28
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/README.md +31 -100
- package/dist/adapters/asyncStorage.cjs +48 -0
- package/dist/adapters/asyncStorage.cjs.map +1 -0
- package/dist/adapters/asyncStorage.d.cts +16 -0
- package/dist/{types/storage → adapters}/asyncStorage.d.ts +5 -2
- package/dist/adapters/asyncStorage.js +46 -0
- package/dist/adapters/asyncStorage.js.map +1 -0
- package/dist/adapters/expo.cjs +19 -0
- package/dist/adapters/expo.cjs.map +1 -0
- package/dist/adapters/expo.d.cts +48 -0
- package/dist/adapters/expo.d.ts +48 -0
- package/dist/adapters/expo.js +6 -0
- package/dist/adapters/expo.js.map +1 -0
- package/dist/adapters/fileSystem.cjs +116 -0
- package/dist/adapters/fileSystem.cjs.map +1 -0
- package/dist/adapters/fileSystem.d.cts +17 -0
- package/dist/{types/storage → adapters}/fileSystem.d.ts +5 -2
- package/dist/adapters/fileSystem.js +93 -0
- package/dist/adapters/fileSystem.js.map +1 -0
- package/dist/adapters/indexedDB.cjs +103 -0
- package/dist/adapters/indexedDB.cjs.map +1 -0
- package/dist/adapters/indexedDB.d.cts +18 -0
- package/dist/{types/storage → adapters}/indexedDB.d.ts +5 -2
- package/dist/adapters/indexedDB.js +101 -0
- package/dist/adapters/indexedDB.js.map +1 -0
- package/dist/adapters/localStorage.cjs +50 -0
- package/dist/adapters/localStorage.cjs.map +1 -0
- package/dist/{types/storage/inMemory.d.ts → adapters/localStorage.d.cts} +6 -3
- package/dist/{types/storage → adapters}/localStorage.d.ts +5 -2
- package/dist/adapters/localStorage.js +48 -0
- package/dist/adapters/localStorage.js.map +1 -0
- package/dist/ark-TZ1gXAXU.d.cts +3880 -0
- package/dist/ark-TZ1gXAXU.d.ts +3880 -0
- package/dist/{types/worker/expo/asyncStorageTaskQueue.d.ts → asyncStorageTaskQueue-Cb1F_Z9s.d.ts} +6 -3
- package/dist/asyncStorageTaskQueue-EFqSmYTg.d.cts +49 -0
- package/dist/chunk-5BLDMQED.cjs +18 -0
- package/dist/chunk-5BLDMQED.cjs.map +1 -0
- package/dist/chunk-5PG7DV7A.cjs +805 -0
- package/dist/chunk-5PG7DV7A.cjs.map +1 -0
- package/dist/chunk-A3EMF7RN.js +95 -0
- package/dist/chunk-A3EMF7RN.js.map +1 -0
- package/dist/chunk-ADV27S4N.cjs +2701 -0
- package/dist/chunk-ADV27S4N.cjs.map +1 -0
- package/dist/chunk-BQLHADL7.js +13805 -0
- package/dist/chunk-BQLHADL7.js.map +1 -0
- package/dist/chunk-CFZMTDWI.js +209 -0
- package/dist/chunk-CFZMTDWI.js.map +1 -0
- package/dist/chunk-FG5ACJJW.cjs +212 -0
- package/dist/chunk-FG5ACJJW.cjs.map +1 -0
- package/dist/chunk-HW3JJ323.js +768 -0
- package/dist/chunk-HW3JJ323.js.map +1 -0
- package/dist/chunk-I3DGUUCT.cjs +838 -0
- package/dist/chunk-I3DGUUCT.cjs.map +1 -0
- package/dist/chunk-IPX2R7FR.cjs +100 -0
- package/dist/chunk-IPX2R7FR.cjs.map +1 -0
- package/dist/chunk-NSBPE2FW.js +15 -0
- package/dist/chunk-NSBPE2FW.js.map +1 -0
- package/dist/chunk-T64LAI7L.js +829 -0
- package/dist/chunk-T64LAI7L.js.map +1 -0
- package/dist/chunk-ZBUDLTBO.js +2671 -0
- package/dist/chunk-ZBUDLTBO.js.map +1 -0
- package/dist/chunk-ZLO6NETT.cjs +13910 -0
- package/dist/chunk-ZLO6NETT.cjs.map +1 -0
- package/dist/contracts/handlers/index.cjs +26 -0
- package/dist/contracts/handlers/index.cjs.map +1 -0
- package/dist/contracts/handlers/index.d.cts +7 -0
- package/dist/contracts/handlers/index.d.ts +7 -0
- package/dist/contracts/handlers/index.js +5 -0
- package/dist/contracts/handlers/index.js.map +1 -0
- package/dist/delegate-BFZs69hp.d.cts +84 -0
- package/dist/delegate-aaVGfWsV.d.ts +84 -0
- package/dist/index-B22cA64m.d.cts +199 -0
- package/dist/{types/storage/index.d.ts → index-C0IanN1m.d.cts} +3 -1
- package/dist/index-C0IanN1m.d.ts +11 -0
- package/dist/index-NDla_UoJ.d.ts +199 -0
- package/dist/index.cjs +480 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +3343 -0
- package/dist/index.d.ts +3343 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/repositories/realm/index.cjs +513 -0
- package/dist/repositories/realm/index.cjs.map +1 -0
- package/dist/repositories/realm/index.d.cts +217 -0
- package/dist/{types/repositories/realm/schemas.d.ts → repositories/realm/index.d.ts} +80 -112
- package/dist/repositories/realm/index.js +507 -0
- package/dist/repositories/realm/index.js.map +1 -0
- package/dist/repositories/sqlite/index.cjs +588 -0
- package/dist/repositories/sqlite/index.cjs.map +1 -0
- package/dist/repositories/sqlite/index.d.cts +118 -0
- package/dist/{types/repositories/sqlite/walletRepository.d.ts → repositories/sqlite/index.d.ts} +58 -5
- package/dist/repositories/sqlite/index.js +585 -0
- package/dist/repositories/sqlite/index.js.map +1 -0
- package/dist/taskRunner-C6Ff4OaU.d.cts +114 -0
- package/dist/taskRunner-yvPN8Z0K.d.ts +114 -0
- package/dist/wallet/expo/background.cjs +93 -0
- package/dist/wallet/expo/background.cjs.map +1 -0
- package/dist/wallet/expo/background.d.cts +84 -0
- package/dist/wallet/expo/background.d.ts +84 -0
- package/dist/wallet/expo/background.js +68 -0
- package/dist/wallet/expo/background.js.map +1 -0
- package/dist/wallet/expo/index.cjs +171 -0
- package/dist/wallet/expo/index.cjs.map +1 -0
- package/dist/wallet/expo/index.d.cts +122 -0
- package/dist/{types/wallet/expo/wallet.d.ts → wallet/expo/index.d.ts} +45 -22
- package/dist/wallet/expo/index.js +169 -0
- package/dist/wallet/expo/index.js.map +1 -0
- package/dist/wallet-AF-p-OWj.d.cts +774 -0
- package/dist/wallet-D9NBRqvC.d.ts +774 -0
- package/dist/worker/expo/index.cjs +140 -0
- package/dist/worker/expo/index.cjs.map +1 -0
- package/dist/worker/expo/index.d.cts +29 -0
- package/dist/worker/expo/index.d.ts +29 -0
- package/dist/worker/expo/index.js +121 -0
- package/dist/worker/expo/index.js.map +1 -0
- package/package.json +110 -76
- package/dist/cjs/adapters/asyncStorage.js +0 -5
- package/dist/cjs/adapters/expo.js +0 -8
- package/dist/cjs/adapters/fileSystem.js +0 -5
- package/dist/cjs/adapters/indexedDB.js +0 -5
- package/dist/cjs/adapters/localStorage.js +0 -5
- package/dist/cjs/arkfee/celenv.js +0 -43
- package/dist/cjs/arkfee/estimator.js +0 -143
- package/dist/cjs/arkfee/index.js +0 -5
- package/dist/cjs/arkfee/types.js +0 -26
- package/dist/cjs/arknote/index.js +0 -128
- package/dist/cjs/bip322/index.js +0 -270
- package/dist/cjs/contracts/arkcontract.js +0 -147
- package/dist/cjs/contracts/contractManager.js +0 -649
- package/dist/cjs/contracts/contractWatcher.js +0 -598
- package/dist/cjs/contracts/handlers/default.js +0 -93
- package/dist/cjs/contracts/handlers/delegate.js +0 -90
- package/dist/cjs/contracts/handlers/helpers.js +0 -115
- package/dist/cjs/contracts/handlers/index.js +0 -19
- package/dist/cjs/contracts/handlers/registry.js +0 -89
- package/dist/cjs/contracts/handlers/vhtlc.js +0 -194
- package/dist/cjs/contracts/index.js +0 -41
- package/dist/cjs/contracts/types.js +0 -2
- package/dist/cjs/contracts/vtxoOwnership.js +0 -78
- package/dist/cjs/extension/asset/assetGroup.js +0 -228
- package/dist/cjs/extension/asset/assetId.js +0 -152
- package/dist/cjs/extension/asset/assetInput.js +0 -222
- package/dist/cjs/extension/asset/assetOutput.js +0 -174
- package/dist/cjs/extension/asset/assetRef.js +0 -148
- package/dist/cjs/extension/asset/index.js +0 -23
- package/dist/cjs/extension/asset/metadata.js +0 -187
- package/dist/cjs/extension/asset/packet.js +0 -114
- package/dist/cjs/extension/asset/types.js +0 -22
- package/dist/cjs/extension/asset/utils.js +0 -105
- package/dist/cjs/extension/index.js +0 -254
- package/dist/cjs/extension/packet.js +0 -20
- package/dist/cjs/forfeit.js +0 -45
- package/dist/cjs/identity/descriptor.js +0 -169
- package/dist/cjs/identity/descriptorProvider.js +0 -2
- package/dist/cjs/identity/hdCapableIdentity.js +0 -20
- package/dist/cjs/identity/index.js +0 -40
- package/dist/cjs/identity/seedIdentity.js +0 -477
- package/dist/cjs/identity/serialize.js +0 -171
- package/dist/cjs/identity/singleKey.js +0 -126
- package/dist/cjs/identity/staticDescriptorProvider.js +0 -65
- package/dist/cjs/index.js +0 -202
- package/dist/cjs/intent/index.js +0 -259
- package/dist/cjs/musig2/index.js +0 -11
- package/dist/cjs/musig2/keys.js +0 -57
- package/dist/cjs/musig2/nonces.js +0 -48
- package/dist/cjs/musig2/sign.js +0 -102
- package/dist/cjs/networks.js +0 -26
- package/dist/cjs/package.json +0 -3
- package/dist/cjs/providers/ark.js +0 -577
- package/dist/cjs/providers/delegator.js +0 -85
- package/dist/cjs/providers/electrum.js +0 -869
- package/dist/cjs/providers/errors.js +0 -59
- package/dist/cjs/providers/expoArk.js +0 -82
- package/dist/cjs/providers/expoIndexer.js +0 -111
- package/dist/cjs/providers/expoUtils.js +0 -124
- package/dist/cjs/providers/indexer.js +0 -630
- package/dist/cjs/providers/onchain.js +0 -262
- package/dist/cjs/providers/utils.js +0 -121
- package/dist/cjs/repositories/contractRepository.js +0 -2
- package/dist/cjs/repositories/inMemory/contractRepository.js +0 -55
- package/dist/cjs/repositories/inMemory/walletRepository.js +0 -115
- package/dist/cjs/repositories/index.js +0 -34
- package/dist/cjs/repositories/indexedDB/contractRepository.js +0 -187
- package/dist/cjs/repositories/indexedDB/db.js +0 -19
- package/dist/cjs/repositories/indexedDB/manager.js +0 -100
- package/dist/cjs/repositories/indexedDB/schema.js +0 -204
- package/dist/cjs/repositories/indexedDB/walletRepository.js +0 -474
- package/dist/cjs/repositories/indexedDB/websqlAdapter.js +0 -144
- package/dist/cjs/repositories/migrations/contractRepositoryImpl.js +0 -127
- package/dist/cjs/repositories/migrations/fromStorageAdapter.js +0 -66
- package/dist/cjs/repositories/migrations/walletRepositoryImpl.js +0 -184
- package/dist/cjs/repositories/realm/contractRepository.js +0 -116
- package/dist/cjs/repositories/realm/index.js +0 -11
- package/dist/cjs/repositories/realm/schemas.js +0 -157
- package/dist/cjs/repositories/realm/types.js +0 -7
- package/dist/cjs/repositories/realm/walletRepository.js +0 -305
- package/dist/cjs/repositories/scriptFromAddress.js +0 -16
- package/dist/cjs/repositories/serialization.js +0 -82
- package/dist/cjs/repositories/sqlite/contractRepository.js +0 -135
- package/dist/cjs/repositories/sqlite/index.js +0 -7
- package/dist/cjs/repositories/sqlite/types.js +0 -2
- package/dist/cjs/repositories/sqlite/walletRepository.js +0 -441
- package/dist/cjs/repositories/walletRepository.js +0 -2
- package/dist/cjs/script/address.js +0 -108
- package/dist/cjs/script/base.js +0 -185
- package/dist/cjs/script/default.js +0 -57
- package/dist/cjs/script/delegate.js +0 -53
- package/dist/cjs/script/tapscript.js +0 -619
- package/dist/cjs/script/vhtlc.js +0 -170
- package/dist/cjs/storage/asyncStorage.js +0 -50
- package/dist/cjs/storage/fileSystem.js +0 -141
- package/dist/cjs/storage/inMemory.js +0 -24
- package/dist/cjs/storage/index.js +0 -2
- package/dist/cjs/storage/indexedDB.js +0 -101
- package/dist/cjs/storage/localStorage.js +0 -51
- package/dist/cjs/tree/signingSession.js +0 -229
- package/dist/cjs/tree/txTree.js +0 -192
- package/dist/cjs/tree/validation.js +0 -107
- package/dist/cjs/utils/anchor.js +0 -35
- package/dist/cjs/utils/arkTransaction.js +0 -271
- package/dist/cjs/utils/bip21.js +0 -127
- package/dist/cjs/utils/syncCursors.js +0 -128
- package/dist/cjs/utils/timelock.js +0 -59
- package/dist/cjs/utils/transaction.js +0 -28
- package/dist/cjs/utils/transactionHistory.js +0 -183
- package/dist/cjs/utils/txSizeEstimator.js +0 -132
- package/dist/cjs/utils/unknownFields.js +0 -174
- package/dist/cjs/wallet/asset-manager.js +0 -330
- package/dist/cjs/wallet/asset.js +0 -119
- package/dist/cjs/wallet/batch.js +0 -183
- package/dist/cjs/wallet/delegator.js +0 -308
- package/dist/cjs/wallet/expo/background.js +0 -116
- package/dist/cjs/wallet/expo/index.js +0 -9
- package/dist/cjs/wallet/expo/wallet.js +0 -230
- package/dist/cjs/wallet/hdDescriptorProvider.js +0 -188
- package/dist/cjs/wallet/index.js +0 -82
- package/dist/cjs/wallet/inputSignerRouter.js +0 -98
- package/dist/cjs/wallet/onchain.js +0 -290
- package/dist/cjs/wallet/ramps.js +0 -216
- package/dist/cjs/wallet/serviceWorker/wallet-message-handler.js +0 -953
- package/dist/cjs/wallet/serviceWorker/wallet.js +0 -1174
- package/dist/cjs/wallet/signingErrors.js +0 -32
- package/dist/cjs/wallet/unroll.js +0 -293
- package/dist/cjs/wallet/utils.js +0 -111
- package/dist/cjs/wallet/validation.js +0 -154
- package/dist/cjs/wallet/vtxo-manager.js +0 -1142
- package/dist/cjs/wallet/wallet.js +0 -2195
- package/dist/cjs/wallet/walletReceiveRotator.js +0 -547
- package/dist/cjs/worker/browser/service-worker-manager.js +0 -183
- package/dist/cjs/worker/browser/utils.js +0 -67
- package/dist/cjs/worker/errors.js +0 -16
- package/dist/cjs/worker/expo/asyncStorageTaskQueue.js +0 -78
- package/dist/cjs/worker/expo/index.js +0 -13
- package/dist/cjs/worker/expo/processors/contractPollProcessor.js +0 -62
- package/dist/cjs/worker/expo/processors/index.js +0 -6
- package/dist/cjs/worker/expo/taskQueue.js +0 -41
- package/dist/cjs/worker/expo/taskRunner.js +0 -73
- package/dist/cjs/worker/messageBus.js +0 -474
- package/dist/esm/adapters/asyncStorage.js +0 -1
- package/dist/esm/adapters/expo.js +0 -3
- package/dist/esm/adapters/fileSystem.js +0 -1
- package/dist/esm/adapters/indexedDB.js +0 -1
- package/dist/esm/adapters/localStorage.js +0 -1
- package/dist/esm/arkfee/celenv.js +0 -40
- package/dist/esm/arkfee/estimator.js +0 -139
- package/dist/esm/arkfee/index.js +0 -1
- package/dist/esm/arkfee/types.js +0 -22
- package/dist/esm/arknote/index.js +0 -124
- package/dist/esm/bip322/index.js +0 -267
- package/dist/esm/contracts/arkcontract.js +0 -140
- package/dist/esm/contracts/contractManager.js +0 -645
- package/dist/esm/contracts/contractWatcher.js +0 -594
- package/dist/esm/contracts/handlers/default.js +0 -90
- package/dist/esm/contracts/handlers/delegate.js +0 -87
- package/dist/esm/contracts/handlers/helpers.js +0 -110
- package/dist/esm/contracts/handlers/index.js +0 -12
- package/dist/esm/contracts/handlers/registry.js +0 -86
- package/dist/esm/contracts/handlers/vhtlc.js +0 -191
- package/dist/esm/contracts/index.js +0 -13
- package/dist/esm/contracts/types.js +0 -1
- package/dist/esm/contracts/vtxoOwnership.js +0 -69
- package/dist/esm/extension/asset/assetGroup.js +0 -224
- package/dist/esm/extension/asset/assetId.js +0 -148
- package/dist/esm/extension/asset/assetInput.js +0 -217
- package/dist/esm/extension/asset/assetOutput.js +0 -169
- package/dist/esm/extension/asset/assetRef.js +0 -144
- package/dist/esm/extension/asset/index.js +0 -8
- package/dist/esm/extension/asset/metadata.js +0 -182
- package/dist/esm/extension/asset/packet.js +0 -110
- package/dist/esm/extension/asset/types.js +0 -19
- package/dist/esm/extension/asset/utils.js +0 -99
- package/dist/esm/extension/index.js +0 -248
- package/dist/esm/extension/packet.js +0 -16
- package/dist/esm/forfeit.js +0 -41
- package/dist/esm/identity/descriptor.js +0 -161
- package/dist/esm/identity/descriptorProvider.js +0 -1
- package/dist/esm/identity/hdCapableIdentity.js +0 -17
- package/dist/esm/identity/index.js +0 -13
- package/dist/esm/identity/seedIdentity.js +0 -469
- package/dist/esm/identity/serialize.js +0 -164
- package/dist/esm/identity/singleKey.js +0 -121
- package/dist/esm/identity/staticDescriptorProvider.js +0 -61
- package/dist/esm/index.js +0 -87
- package/dist/esm/intent/index.js +0 -255
- package/dist/esm/musig2/index.js +0 -3
- package/dist/esm/musig2/keys.js +0 -21
- package/dist/esm/musig2/nonces.js +0 -11
- package/dist/esm/musig2/sign.js +0 -63
- package/dist/esm/networks.js +0 -22
- package/dist/esm/package.json +0 -3
- package/dist/esm/providers/ark.js +0 -572
- package/dist/esm/providers/delegator.js +0 -81
- package/dist/esm/providers/electrum.js +0 -864
- package/dist/esm/providers/errors.js +0 -54
- package/dist/esm/providers/expoArk.js +0 -78
- package/dist/esm/providers/expoIndexer.js +0 -107
- package/dist/esm/providers/expoUtils.js +0 -87
- package/dist/esm/providers/indexer.js +0 -626
- package/dist/esm/providers/onchain.js +0 -258
- package/dist/esm/providers/utils.js +0 -117
- package/dist/esm/repositories/contractRepository.js +0 -1
- package/dist/esm/repositories/inMemory/contractRepository.js +0 -51
- package/dist/esm/repositories/inMemory/walletRepository.js +0 -111
- package/dist/esm/repositories/index.js +0 -10
- package/dist/esm/repositories/indexedDB/contractRepository.js +0 -183
- package/dist/esm/repositories/indexedDB/db.js +0 -4
- package/dist/esm/repositories/indexedDB/manager.js +0 -95
- package/dist/esm/repositories/indexedDB/schema.js +0 -199
- package/dist/esm/repositories/indexedDB/walletRepository.js +0 -470
- package/dist/esm/repositories/indexedDB/websqlAdapter.js +0 -138
- package/dist/esm/repositories/migrations/contractRepositoryImpl.js +0 -121
- package/dist/esm/repositories/migrations/fromStorageAdapter.js +0 -58
- package/dist/esm/repositories/migrations/walletRepositoryImpl.js +0 -180
- package/dist/esm/repositories/realm/contractRepository.js +0 -112
- package/dist/esm/repositories/realm/index.js +0 -3
- package/dist/esm/repositories/realm/schemas.js +0 -153
- package/dist/esm/repositories/realm/types.js +0 -6
- package/dist/esm/repositories/realm/walletRepository.js +0 -301
- package/dist/esm/repositories/scriptFromAddress.js +0 -13
- package/dist/esm/repositories/serialization.js +0 -67
- package/dist/esm/repositories/sqlite/contractRepository.js +0 -131
- package/dist/esm/repositories/sqlite/index.js +0 -2
- package/dist/esm/repositories/sqlite/types.js +0 -1
- package/dist/esm/repositories/sqlite/walletRepository.js +0 -437
- package/dist/esm/repositories/walletRepository.js +0 -1
- package/dist/esm/script/address.js +0 -104
- package/dist/esm/script/base.js +0 -179
- package/dist/esm/script/default.js +0 -54
- package/dist/esm/script/delegate.js +0 -50
- package/dist/esm/script/tapscript.js +0 -615
- package/dist/esm/script/vhtlc.js +0 -167
- package/dist/esm/storage/asyncStorage.js +0 -46
- package/dist/esm/storage/fileSystem.js +0 -104
- package/dist/esm/storage/inMemory.js +0 -20
- package/dist/esm/storage/index.js +0 -1
- package/dist/esm/storage/indexedDB.js +0 -97
- package/dist/esm/storage/localStorage.js +0 -47
- package/dist/esm/tree/signingSession.js +0 -191
- package/dist/esm/tree/txTree.js +0 -188
- package/dist/esm/tree/validation.js +0 -101
- package/dist/esm/utils/anchor.js +0 -31
- package/dist/esm/utils/arkTransaction.js +0 -264
- package/dist/esm/utils/bip21.js +0 -123
- package/dist/esm/utils/syncCursors.js +0 -119
- package/dist/esm/utils/timelock.js +0 -22
- package/dist/esm/utils/transaction.js +0 -24
- package/dist/esm/utils/transactionHistory.js +0 -180
- package/dist/esm/utils/txSizeEstimator.js +0 -128
- package/dist/esm/utils/unknownFields.js +0 -169
- package/dist/esm/wallet/asset-manager.js +0 -325
- package/dist/esm/wallet/asset.js +0 -113
- package/dist/esm/wallet/batch.js +0 -180
- package/dist/esm/wallet/delegator.js +0 -303
- package/dist/esm/wallet/expo/background.js +0 -111
- package/dist/esm/wallet/expo/index.js +0 -2
- package/dist/esm/wallet/expo/wallet.js +0 -193
- package/dist/esm/wallet/hdDescriptorProvider.js +0 -184
- package/dist/esm/wallet/index.js +0 -75
- package/dist/esm/wallet/inputSignerRouter.js +0 -94
- package/dist/esm/wallet/onchain.js +0 -285
- package/dist/esm/wallet/ramps.js +0 -212
- package/dist/esm/wallet/serviceWorker/wallet-message-handler.js +0 -946
- package/dist/esm/wallet/serviceWorker/wallet.js +0 -1169
- package/dist/esm/wallet/signingErrors.js +0 -27
- package/dist/esm/wallet/unroll.js +0 -289
- package/dist/esm/wallet/utils.js +0 -103
- package/dist/esm/wallet/validation.js +0 -142
- package/dist/esm/wallet/vtxo-manager.js +0 -1136
- package/dist/esm/wallet/wallet.js +0 -2186
- package/dist/esm/wallet/walletReceiveRotator.js +0 -540
- package/dist/esm/worker/browser/service-worker-manager.js +0 -177
- package/dist/esm/worker/browser/utils.js +0 -63
- package/dist/esm/worker/errors.js +0 -11
- package/dist/esm/worker/expo/asyncStorageTaskQueue.js +0 -74
- package/dist/esm/worker/expo/index.js +0 -4
- package/dist/esm/worker/expo/processors/contractPollProcessor.js +0 -59
- package/dist/esm/worker/expo/processors/index.js +0 -1
- package/dist/esm/worker/expo/taskQueue.js +0 -37
- package/dist/esm/worker/expo/taskRunner.js +0 -69
- package/dist/esm/worker/messageBus.js +0 -470
- package/dist/types/adapters/asyncStorage.d.ts +0 -2
- package/dist/types/adapters/expo.d.ts +0 -4
- package/dist/types/adapters/fileSystem.d.ts +0 -2
- package/dist/types/adapters/indexedDB.d.ts +0 -2
- package/dist/types/adapters/localStorage.d.ts +0 -2
- package/dist/types/arkfee/celenv.d.ts +0 -25
- package/dist/types/arkfee/estimator.d.ts +0 -49
- package/dist/types/arkfee/index.d.ts +0 -2
- package/dist/types/arkfee/types.d.ts +0 -38
- package/dist/types/arknote/index.d.ts +0 -84
- package/dist/types/bip322/index.d.ts +0 -55
- package/dist/types/contracts/arkcontract.d.ts +0 -99
- package/dist/types/contracts/contractManager.d.ts +0 -411
- package/dist/types/contracts/contractWatcher.d.ts +0 -217
- package/dist/types/contracts/handlers/default.d.ts +0 -19
- package/dist/types/contracts/handlers/delegate.d.ts +0 -21
- package/dist/types/contracts/handlers/helpers.d.ts +0 -19
- package/dist/types/contracts/handlers/index.d.ts +0 -7
- package/dist/types/contracts/handlers/registry.d.ts +0 -65
- package/dist/types/contracts/handlers/vhtlc.d.ts +0 -32
- package/dist/types/contracts/index.d.ts +0 -14
- package/dist/types/contracts/types.d.ts +0 -250
- package/dist/types/contracts/vtxoOwnership.d.ts +0 -33
- package/dist/types/extension/asset/assetGroup.d.ts +0 -119
- package/dist/types/extension/asset/assetId.d.ts +0 -83
- package/dist/types/extension/asset/assetInput.d.ts +0 -64
- package/dist/types/extension/asset/assetOutput.d.ts +0 -54
- package/dist/types/extension/asset/assetRef.d.ts +0 -91
- package/dist/types/extension/asset/index.d.ts +0 -8
- package/dist/types/extension/asset/metadata.d.ts +0 -52
- package/dist/types/extension/asset/packet.d.ts +0 -41
- package/dist/types/extension/asset/types.d.ts +0 -16
- package/dist/types/extension/asset/utils.d.ts +0 -21
- package/dist/types/extension/index.d.ts +0 -56
- package/dist/types/extension/packet.d.ts +0 -21
- package/dist/types/forfeit.d.ts +0 -18
- package/dist/types/identity/descriptor.d.ts +0 -61
- package/dist/types/identity/descriptorProvider.d.ts +0 -42
- package/dist/types/identity/hdCapableIdentity.d.ts +0 -71
- package/dist/types/identity/index.d.ts +0 -57
- package/dist/types/identity/seedIdentity.d.ts +0 -270
- package/dist/types/identity/serialize.d.ts +0 -96
- package/dist/types/identity/singleKey.d.ts +0 -62
- package/dist/types/identity/staticDescriptorProvider.d.ts +0 -18
- package/dist/types/index.d.ts +0 -59
- package/dist/types/intent/index.d.ts +0 -86
- package/dist/types/musig2/index.d.ts +0 -4
- package/dist/types/musig2/keys.d.ts +0 -9
- package/dist/types/musig2/nonces.d.ts +0 -14
- package/dist/types/musig2/sign.d.ts +0 -27
- package/dist/types/networks.d.ts +0 -16
- package/dist/types/providers/ark.d.ts +0 -369
- package/dist/types/providers/delegator.d.ts +0 -82
- package/dist/types/providers/electrum.d.ts +0 -312
- package/dist/types/providers/errors.d.ts +0 -13
- package/dist/types/providers/expoArk.d.ts +0 -22
- package/dist/types/providers/expoIndexer.d.ts +0 -18
- package/dist/types/providers/expoUtils.d.ts +0 -18
- package/dist/types/providers/indexer.d.ts +0 -301
- package/dist/types/providers/onchain.d.ts +0 -148
- package/dist/types/providers/utils.d.ts +0 -12
- package/dist/types/repositories/contractRepository.d.ts +0 -32
- package/dist/types/repositories/inMemory/contractRepository.d.ts +0 -17
- package/dist/types/repositories/inMemory/walletRepository.d.ts +0 -29
- package/dist/types/repositories/index.d.ts +0 -9
- package/dist/types/repositories/indexedDB/contractRepository.d.ts +0 -21
- package/dist/types/repositories/indexedDB/db.d.ts +0 -4
- package/dist/types/repositories/indexedDB/manager.d.ts +0 -25
- package/dist/types/repositories/indexedDB/schema.d.ts +0 -9
- package/dist/types/repositories/indexedDB/walletRepository.d.ts +0 -28
- package/dist/types/repositories/indexedDB/websqlAdapter.d.ts +0 -49
- package/dist/types/repositories/migrations/contractRepositoryImpl.d.ts +0 -24
- package/dist/types/repositories/migrations/fromStorageAdapter.d.ts +0 -19
- package/dist/types/repositories/migrations/walletRepositoryImpl.d.ts +0 -27
- package/dist/types/repositories/realm/contractRepository.d.ts +0 -24
- package/dist/types/repositories/realm/index.d.ts +0 -4
- package/dist/types/repositories/realm/types.d.ts +0 -16
- package/dist/types/repositories/realm/walletRepository.d.ts +0 -34
- package/dist/types/repositories/scriptFromAddress.d.ts +0 -9
- package/dist/types/repositories/serialization.d.ts +0 -65
- package/dist/types/repositories/sqlite/contractRepository.d.ts +0 -33
- package/dist/types/repositories/sqlite/index.d.ts +0 -3
- package/dist/types/repositories/sqlite/types.d.ts +0 -18
- package/dist/types/repositories/walletRepository.d.ts +0 -72
- package/dist/types/script/address.d.ts +0 -67
- package/dist/types/script/base.d.ts +0 -105
- package/dist/types/script/default.d.ts +0 -44
- package/dist/types/script/delegate.d.ts +0 -40
- package/dist/types/script/tapscript.d.ts +0 -169
- package/dist/types/script/vhtlc.d.ts +0 -66
- package/dist/types/tree/signingSession.d.ts +0 -37
- package/dist/types/tree/txTree.d.ts +0 -28
- package/dist/types/tree/validation.d.ts +0 -15
- package/dist/types/utils/anchor.d.ts +0 -19
- package/dist/types/utils/arkTransaction.d.ts +0 -49
- package/dist/types/utils/bip21.d.ts +0 -38
- package/dist/types/utils/syncCursors.d.ts +0 -60
- package/dist/types/utils/timelock.d.ts +0 -9
- package/dist/types/utils/transaction.d.ts +0 -13
- package/dist/types/utils/transactionHistory.d.ts +0 -15
- package/dist/types/utils/txSizeEstimator.d.ts +0 -40
- package/dist/types/utils/unknownFields.d.ts +0 -83
- package/dist/types/wallet/asset-manager.d.ts +0 -69
- package/dist/types/wallet/asset.d.ts +0 -21
- package/dist/types/wallet/batch.d.ts +0 -107
- package/dist/types/wallet/delegator.d.ts +0 -48
- package/dist/types/wallet/expo/background.d.ts +0 -66
- package/dist/types/wallet/expo/index.d.ts +0 -4
- package/dist/types/wallet/hdDescriptorProvider.d.ts +0 -114
- package/dist/types/wallet/index.d.ts +0 -789
- package/dist/types/wallet/inputSignerRouter.d.ts +0 -35
- package/dist/types/wallet/onchain.d.ts +0 -109
- package/dist/types/wallet/ramps.d.ts +0 -64
- package/dist/types/wallet/serviceWorker/wallet-message-handler.d.ts +0 -543
- package/dist/types/wallet/serviceWorker/wallet.d.ts +0 -248
- package/dist/types/wallet/signingErrors.d.ts +0 -19
- package/dist/types/wallet/unroll.d.ts +0 -114
- package/dist/types/wallet/utils.d.ts +0 -36
- package/dist/types/wallet/validation.d.ts +0 -24
- package/dist/types/wallet/vtxo-manager.d.ts +0 -476
- package/dist/types/wallet/wallet.d.ts +0 -409
- package/dist/types/wallet/walletReceiveRotator.d.ts +0 -306
- package/dist/types/worker/browser/service-worker-manager.d.ts +0 -32
- package/dist/types/worker/browser/utils.d.ts +0 -17
- package/dist/types/worker/errors.d.ts +0 -7
- package/dist/types/worker/expo/index.d.ts +0 -7
- package/dist/types/worker/expo/processors/contractPollProcessor.d.ts +0 -19
- package/dist/types/worker/expo/processors/index.d.ts +0 -1
- package/dist/types/worker/expo/taskQueue.d.ts +0 -50
- package/dist/types/worker/expo/taskRunner.d.ts +0 -66
- package/dist/types/worker/messageBus.d.ts +0 -189
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* True iff `descriptor` is a Bitcoin mainnet descriptor (xpub-prefixed
|
|
3
|
-
* BIP32 key).
|
|
4
|
-
*
|
|
5
|
-
* Note: testnet, signet, regtest, mutinynet, and other non-mainnet
|
|
6
|
-
* networks all share the same `tpub` BIP32 version bytes — they cannot
|
|
7
|
-
* be distinguished from one another at the descriptor level. Callers
|
|
8
|
-
* that need a `Network` constants object for `expand()` pick
|
|
9
|
-
* `networks.bitcoin` vs `networks.testnet` themselves; callers that
|
|
10
|
-
* need the *actual* network the wallet is on must track that
|
|
11
|
-
* out-of-band.
|
|
12
|
-
*/
|
|
13
|
-
export declare function isMainnetDescriptor(descriptor: string): boolean;
|
|
14
|
-
/**
|
|
15
|
-
* Shared "does `candidate` belong to the identity backed by
|
|
16
|
-
* `ourDescriptor`?" predicate.
|
|
17
|
-
*
|
|
18
|
-
* - HD descriptors (expanding to a `bip32` key) match by account xpub
|
|
19
|
-
* on both sides — index-agnostic, so a wildcard template and any
|
|
20
|
-
* concrete index under it all collapse to the same xpub.
|
|
21
|
-
* - Bare `tr(pubkey)` candidates fall back to comparing the candidate
|
|
22
|
-
* pubkey against `ourXOnlyPubkey` (the cached pubkey on the identity
|
|
23
|
-
* side, since pulling it from `ourDescriptor` would require an index
|
|
24
|
-
* substitution the caller already performed).
|
|
25
|
-
*/
|
|
26
|
-
export declare function descriptorIsOurs(candidate: string, ourDescriptor: string, ourXOnlyPubkey: Uint8Array): boolean;
|
|
27
|
-
/**
|
|
28
|
-
* Check if a string is a descriptor of the shape `tr(...)`.
|
|
29
|
-
*
|
|
30
|
-
* This is a shape check only — it does not validate the inner key material.
|
|
31
|
-
* Use {@link expand} (via {@link extractPubKey} / {@link parseHDDescriptor})
|
|
32
|
-
* for full parsing. The guard rejects empty bodies and missing/trailing
|
|
33
|
-
* parentheses so callers can safely branch on descriptor vs. raw pubkey.
|
|
34
|
-
*/
|
|
35
|
-
export declare function isDescriptor(value: string): boolean;
|
|
36
|
-
/**
|
|
37
|
-
* Normalize a value to descriptor format.
|
|
38
|
-
* If already a descriptor, return as-is. If hex pubkey, wrap as tr(pubkey).
|
|
39
|
-
* Throws when the value is empty or not a string so we never produce
|
|
40
|
-
* malformed descriptors like `tr()` that downstream parsers would reject.
|
|
41
|
-
*/
|
|
42
|
-
export declare function normalizeToDescriptor(value: string): string;
|
|
43
|
-
/**
|
|
44
|
-
* Extract the public key from a simple descriptor.
|
|
45
|
-
* For simple descriptors (tr(pubkey)), extracts the pubkey using the library.
|
|
46
|
-
* For HD descriptors, throws — use DescriptorProvider to derive the key.
|
|
47
|
-
*/
|
|
48
|
-
export declare function extractPubKey(descriptor: string): string;
|
|
49
|
-
/** Parsed HD descriptor components. */
|
|
50
|
-
export interface ParsedHDDescriptor {
|
|
51
|
-
fingerprint: string;
|
|
52
|
-
basePath: string;
|
|
53
|
-
xpub: string;
|
|
54
|
-
derivationPath: string;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Parse an HD descriptor into its components.
|
|
58
|
-
* HD descriptors have the format: tr([fingerprint/path']xpub/derivation)
|
|
59
|
-
* Returns null if the descriptor is not in HD format.
|
|
60
|
-
*/
|
|
61
|
-
export declare function parseHDDescriptor(descriptor: string): ParsedHDDescriptor | null;
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { Transaction } from "../utils/transaction.js";
|
|
2
|
-
/** A signing request that pairs a descriptor with a transaction. */
|
|
3
|
-
export interface DescriptorSigningRequest {
|
|
4
|
-
/** Descriptor identifying which key to sign with */
|
|
5
|
-
descriptor: string;
|
|
6
|
-
/** Transaction to sign */
|
|
7
|
-
tx: Transaction;
|
|
8
|
-
/** Specific input indexes to sign (signs all if omitted) */
|
|
9
|
-
inputIndexes?: number[];
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Provider interface for descriptor-based signing.
|
|
13
|
-
*
|
|
14
|
-
* Implementations include:
|
|
15
|
-
* - {@link StaticDescriptorProvider}: wraps a legacy {@link Identity} with a single key.
|
|
16
|
-
* - {@link HDDescriptorProvider}: rotates through HD-derived descriptors.
|
|
17
|
-
*
|
|
18
|
-
* The provider has no read accessor for "current" — it is a pure descriptor
|
|
19
|
-
* allocator. "What addresses am I currently bound to?" is a question the
|
|
20
|
-
* contract repository answers, not the provider.
|
|
21
|
-
*
|
|
22
|
-
* Providers that want to participate in HD receive rotation can also
|
|
23
|
-
* implement the wallet-side `ReceiveRotatorFactory` interface (see
|
|
24
|
-
* `src/wallet/walletReceiveRotator.ts`). That extension is opt-in — the
|
|
25
|
-
* core `DescriptorProvider` contract intentionally stays free of
|
|
26
|
-
* wallet-specific concerns so HSM-backed and other minimal providers
|
|
27
|
-
* don't have to know about the receive-rotation lifecycle.
|
|
28
|
-
*/
|
|
29
|
-
export interface DescriptorProvider {
|
|
30
|
-
/**
|
|
31
|
-
* Allocate a new signing descriptor. For HD providers each call advances
|
|
32
|
-
* the internal index and returns a fresh descriptor; for single-key
|
|
33
|
-
* providers each call returns the same descriptor.
|
|
34
|
-
*/
|
|
35
|
-
getNextSigningDescriptor(): Promise<string>;
|
|
36
|
-
/** Checks if a descriptor belongs to this provider. */
|
|
37
|
-
isOurs(descriptor: string): boolean;
|
|
38
|
-
/** Signs transactions, each with its own descriptor-derived key. */
|
|
39
|
-
signWithDescriptor(requests: DescriptorSigningRequest[]): Promise<Transaction[]>;
|
|
40
|
-
/** Signs a message using the key derived from the descriptor. */
|
|
41
|
-
signMessageWithDescriptor(descriptor: string, message: Uint8Array, type?: "schnorr" | "ecdsa"): Promise<Uint8Array>;
|
|
42
|
-
}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { Identity, ReadonlyIdentity } from "./index.js";
|
|
2
|
-
import { DescriptorSigningRequest } from "./descriptorProvider.js";
|
|
3
|
-
import { Transaction } from "../utils/transaction.js";
|
|
4
|
-
/**
|
|
5
|
-
* Read-side HD capability marker. Exposes the wildcard-suffixed account
|
|
6
|
-
* descriptor *template* and the descriptor-membership predicate, but no
|
|
7
|
-
* signing primitives — suitable for watch-only identities backed by an
|
|
8
|
-
* xpub.
|
|
9
|
-
*
|
|
10
|
-
* Extracted from {@link HDCapableIdentity} so that
|
|
11
|
-
* `ReadonlyDescriptorIdentity` can stand in for an HD wallet's read-only
|
|
12
|
-
* surface (template-aware, derives pubkeys at any index) without having
|
|
13
|
-
* to claim signing capability it cannot honour.
|
|
14
|
-
*/
|
|
15
|
-
export interface ReadonlyHDCapableIdentity extends ReadonlyIdentity {
|
|
16
|
-
/**
|
|
17
|
-
* The wildcard-suffixed account descriptor template
|
|
18
|
-
* (e.g. `tr([fp/86'/0'/0']xpub/0/*)`). Consumers materialize a
|
|
19
|
-
* concrete descriptor by replacing the `*` with a derivation index.
|
|
20
|
-
*/
|
|
21
|
-
readonly descriptor: string;
|
|
22
|
-
/**
|
|
23
|
-
* True iff `descriptor` derives from this identity's xpub/seed.
|
|
24
|
-
*
|
|
25
|
-
* @deprecated Prefer `DescriptorProvider.isOurs()` via
|
|
26
|
-
* `HDDescriptorProvider` for rotating HD wallets or
|
|
27
|
-
* `StaticDescriptorProvider` for legacy single-key wallets.
|
|
28
|
-
*/
|
|
29
|
-
isOurs(descriptor: string): boolean;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Capability marker for identities that can be rotated through an HD
|
|
33
|
-
* derivation tree AND can sign at each rotated index.
|
|
34
|
-
*
|
|
35
|
-
* Deliberately does NOT extend `DescriptorProvider`: if an HD-capable
|
|
36
|
-
* identity were silently usable as a concrete descriptor source, callers
|
|
37
|
-
* could bypass receive rotation and unknowingly reuse a single address
|
|
38
|
-
* forever. To use this identity as a wallet's descriptor source, wrap
|
|
39
|
-
* it explicitly:
|
|
40
|
-
*
|
|
41
|
-
* - `HDDescriptorProvider` — rotating, recommended for new wallets.
|
|
42
|
-
* - `StaticDescriptorProvider` — pinned to a single key, for legacy or
|
|
43
|
-
* explicitly-non-rotating use cases.
|
|
44
|
-
*/
|
|
45
|
-
export interface HDCapableIdentity extends ReadonlyHDCapableIdentity, Identity {
|
|
46
|
-
/**
|
|
47
|
-
* Signs each request with the key derived from its descriptor.
|
|
48
|
-
*
|
|
49
|
-
* @deprecated Prefer `DescriptorProvider.signWithDescriptor()` via
|
|
50
|
-
* `HDDescriptorProvider` or `StaticDescriptorProvider`. Identities keep
|
|
51
|
-
* this method only as backing implementation for descriptor providers.
|
|
52
|
-
*/
|
|
53
|
-
signWithDescriptor(requests: DescriptorSigningRequest[]): Promise<Transaction[]>;
|
|
54
|
-
/**
|
|
55
|
-
* Signs a message using the key derived from `descriptor`.
|
|
56
|
-
*
|
|
57
|
-
* @deprecated Prefer `DescriptorProvider.signMessageWithDescriptor()` via
|
|
58
|
-
* `HDDescriptorProvider` or `StaticDescriptorProvider`. Identities keep
|
|
59
|
-
* this method only as backing implementation for descriptor providers.
|
|
60
|
-
*/
|
|
61
|
-
signMessageWithDescriptor(descriptor: string, message: Uint8Array, signatureType?: "schnorr" | "ecdsa"): Promise<Uint8Array>;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Structural type guard for {@link HDCapableIdentity}. Returns `true`
|
|
65
|
-
* when the value exposes the four members the HD wallet flow relies on:
|
|
66
|
-
* `descriptor`, `isOurs`, `signWithDescriptor`, and
|
|
67
|
-
* `signMessageWithDescriptor`. Used by callers that need to opt into
|
|
68
|
-
* the HD path (e.g. installing an `HDDescriptorProvider`) without
|
|
69
|
-
* coupling to a concrete identity class.
|
|
70
|
-
*/
|
|
71
|
-
export declare function isHDCapableIdentity(value: unknown): value is HDCapableIdentity;
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { Transaction } from "../utils/transaction.js";
|
|
2
|
-
import { SignerSession } from "../tree/signingSession.js";
|
|
3
|
-
export interface Identity extends ReadonlyIdentity {
|
|
4
|
-
/** Returns a signer session used for musig2 tree signing flows. */
|
|
5
|
-
signerSession(): SignerSession;
|
|
6
|
-
/** Sign an arbitrary message using the requested signature type. */
|
|
7
|
-
signMessage(message: Uint8Array, signatureType: "schnorr" | "ecdsa"): Promise<Uint8Array>;
|
|
8
|
-
/**
|
|
9
|
-
* Sign the provided transaction inputs.
|
|
10
|
-
*
|
|
11
|
-
* @param tx - Transaction to sign
|
|
12
|
-
* @param inputIndexes - Optional input indexes to sign. When omitted, the implementation should sign every signable input.
|
|
13
|
-
*/
|
|
14
|
-
sign(tx: Transaction, inputIndexes?: number[]): Promise<Transaction>;
|
|
15
|
-
}
|
|
16
|
-
export interface ReadonlyIdentity {
|
|
17
|
-
/** Returns the x-only public key used by Taproot scripts. */
|
|
18
|
-
xOnlyPublicKey(): Promise<Uint8Array>;
|
|
19
|
-
/** Returns the compressed public key for this identity. */
|
|
20
|
-
compressedPublicKey(): Promise<Uint8Array>;
|
|
21
|
-
}
|
|
22
|
-
/** A single PSBT signing request within a batch. */
|
|
23
|
-
export interface SignRequest {
|
|
24
|
-
tx: Transaction;
|
|
25
|
-
inputIndexes?: number[];
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Identity that supports signing multiple PSBTs in a single wallet interaction.
|
|
29
|
-
* Browser wallet providers that support batch signing (e.g. Xverse, UniSat, OKX)
|
|
30
|
-
* should implement this interface to reduce the number of confirmation popups
|
|
31
|
-
* from N+1 to 1 during Arkade send transactions.
|
|
32
|
-
*
|
|
33
|
-
* Contract: implementations MUST return exactly one `Transaction` per request,
|
|
34
|
-
* in the same order as the input array. The SDK validates this at runtime and
|
|
35
|
-
* will throw if the lengths do not match.
|
|
36
|
-
*/
|
|
37
|
-
export interface BatchSignableIdentity extends Identity {
|
|
38
|
-
/**
|
|
39
|
-
* Sign multiple transactions in a single wallet interaction.
|
|
40
|
-
*
|
|
41
|
-
* @param requests - Transactions and optional input indexes to sign
|
|
42
|
-
* @returns Signed transactions in the same order as the input requests
|
|
43
|
-
*/
|
|
44
|
-
signMultiple(requests: SignRequest[]): Promise<Transaction[]>;
|
|
45
|
-
}
|
|
46
|
-
/** Type guard for identities that support batch signing. */
|
|
47
|
-
export declare function isBatchSignable(identity: Identity): identity is BatchSignableIdentity;
|
|
48
|
-
export * from "./singleKey.js";
|
|
49
|
-
export type { NetworkOptions, DescriptorOptions, SeedIdentityOptions, MnemonicOptions, } from "./seedIdentity.js";
|
|
50
|
-
export { SeedIdentity, MnemonicIdentity, ReadonlyDescriptorIdentity, } from "./seedIdentity.js";
|
|
51
|
-
export * from "./serialize.js";
|
|
52
|
-
export { isDescriptor, normalizeToDescriptor, extractPubKey, parseHDDescriptor, } from "./descriptor.js";
|
|
53
|
-
export type { ParsedHDDescriptor } from "./descriptor.js";
|
|
54
|
-
export type { DescriptorProvider, DescriptorSigningRequest, } from "./descriptorProvider.js";
|
|
55
|
-
export type { HDCapableIdentity, ReadonlyHDCapableIdentity, } from "./hdCapableIdentity.js";
|
|
56
|
-
export { isHDCapableIdentity } from "./hdCapableIdentity.js";
|
|
57
|
-
export { StaticDescriptorProvider } from "./staticDescriptorProvider.js";
|
|
@@ -1,270 +0,0 @@
|
|
|
1
|
-
import { Transaction } from "../utils/transaction.js";
|
|
2
|
-
import { SignerSession } from "../tree/signingSession.js";
|
|
3
|
-
import type { SerializedSigningIdentity, SerializedReadonlyIdentity } from "./serialize.js";
|
|
4
|
-
import { DescriptorSigningRequest } from "./descriptorProvider.js";
|
|
5
|
-
import { HDCapableIdentity, ReadonlyHDCapableIdentity } from "./hdCapableIdentity.js";
|
|
6
|
-
/** Used for default BIP86 derivation with network selection. */
|
|
7
|
-
export interface NetworkOptions {
|
|
8
|
-
/**
|
|
9
|
-
* Mainnet (coin type 0) or testnet (coin type 1).
|
|
10
|
-
*
|
|
11
|
-
* @defaultValue `true`
|
|
12
|
-
*/
|
|
13
|
-
isMainnet?: boolean;
|
|
14
|
-
}
|
|
15
|
-
/** Used for a caller-supplied account-descriptor template. */
|
|
16
|
-
export interface DescriptorOptions {
|
|
17
|
-
/**
|
|
18
|
-
* Account-descriptor *template* — must end with the BIP-32 wildcard
|
|
19
|
-
* suffix `/*)`. Stored as-is on {@link SeedIdentity.descriptor} and
|
|
20
|
-
* read by HD providers to rotate through derivation indices.
|
|
21
|
-
*/
|
|
22
|
-
descriptor: string;
|
|
23
|
-
}
|
|
24
|
-
/** Either default BIP86 derivation (with optional network selection) or a caller-supplied template. */
|
|
25
|
-
export type SeedIdentityOptions = NetworkOptions | DescriptorOptions;
|
|
26
|
-
/** Used for deriving an identity from a BIP39 mnemonic. */
|
|
27
|
-
export type MnemonicOptions = SeedIdentityOptions & {
|
|
28
|
-
/** Optional BIP39 passphrase for additional seed entropy. */
|
|
29
|
-
passphrase?: string;
|
|
30
|
-
};
|
|
31
|
-
/**
|
|
32
|
-
* Seed-based identity derived from a raw seed and an account descriptor
|
|
33
|
-
* *template*.
|
|
34
|
-
*
|
|
35
|
-
* This is the recommended identity type for most applications. It uses
|
|
36
|
-
* standard BIP86 (Taproot) derivation by default; callers that need a
|
|
37
|
-
* different path supply the wildcard template directly.
|
|
38
|
-
*
|
|
39
|
-
* Prefer this (or @see MnemonicIdentity) over `SingleKey` for new
|
|
40
|
-
* integrations — `SingleKey` exists for backward compatibility with
|
|
41
|
-
* raw nsec-style keys.
|
|
42
|
-
*
|
|
43
|
-
* The identity holds the wildcard *template* (e.g.
|
|
44
|
-
* `tr([fp/86'/0'/0']xpub/0/*)`) on its public {@link descriptor}
|
|
45
|
-
* field. HD rotation reads it directly; consumers that need a
|
|
46
|
-
* concrete descriptor at a specific index materialize it themselves
|
|
47
|
-
* (see `HDDescriptorProvider` in the wallet layer).
|
|
48
|
-
*
|
|
49
|
-
* Exposes seed-level primitives (signing, derivation, the template)
|
|
50
|
-
* but is deliberately NOT a `DescriptorProvider`. Wrap it explicitly
|
|
51
|
-
* to get one:
|
|
52
|
-
* - `HDDescriptorProvider` for rotating receive addresses.
|
|
53
|
-
* - {@link StaticDescriptorProvider} for legacy, single-key behaviour.
|
|
54
|
-
*
|
|
55
|
-
* The split prevents a SeedIdentity from being silently used as a
|
|
56
|
-
* concrete descriptor source, which would defeat HD rotation without
|
|
57
|
-
* any compile-time signal that something was wrong.
|
|
58
|
-
*
|
|
59
|
-
* @example
|
|
60
|
-
* ```typescript
|
|
61
|
-
* const seed = mnemonicToSeedSync(mnemonic);
|
|
62
|
-
*
|
|
63
|
-
* // Testnet (BIP86 wildcard descriptor m/86'/1'/0'/0/*)
|
|
64
|
-
* const identity = SeedIdentity.fromSeed(seed, { isMainnet: false });
|
|
65
|
-
*
|
|
66
|
-
* // Mainnet (BIP86 wildcard descriptor m/86'/0'/0'/0/*)
|
|
67
|
-
* const identity = SeedIdentity.fromSeed(seed, { isMainnet: true });
|
|
68
|
-
*
|
|
69
|
-
* // Caller-supplied wildcard descriptor (must end in `/*)`).
|
|
70
|
-
* const identity = SeedIdentity.fromSeed(seed, { descriptor });
|
|
71
|
-
* ```
|
|
72
|
-
*/
|
|
73
|
-
export declare class SeedIdentity implements HDCapableIdentity {
|
|
74
|
-
private readonly derivedKey;
|
|
75
|
-
/**
|
|
76
|
-
* Wildcard account-descriptor template (e.g.
|
|
77
|
-
* `tr([fp/86'/0'/0']xpub/0/*)`). The canonical thing to pass
|
|
78
|
-
* through the system; consumers materialize a concrete descriptor
|
|
79
|
-
* at a specific index themselves (see `HDDescriptorProvider` in
|
|
80
|
-
* the wallet layer for the rotating-counter use case).
|
|
81
|
-
*/
|
|
82
|
-
readonly descriptor: string;
|
|
83
|
-
/**
|
|
84
|
-
* Constructs a SeedIdentity from a 64-byte seed and either a
|
|
85
|
-
* caller-supplied wildcard descriptor (`{ descriptor }`) or the
|
|
86
|
-
* default BIP86 path at the requested network (`{ isMainnet }`).
|
|
87
|
-
* Prefer the {@link fromSeed} factory for symmetry with
|
|
88
|
-
* {@link MnemonicIdentity.fromMnemonic}.
|
|
89
|
-
*
|
|
90
|
-
* Throws on a non-wildcard descriptor, an xpub mismatch with the
|
|
91
|
-
* seed, or a missing derivation path.
|
|
92
|
-
*/
|
|
93
|
-
constructor(seed: Uint8Array, opts?: SeedIdentityOptions);
|
|
94
|
-
/**
|
|
95
|
-
* Creates a SeedIdentity from a raw 64-byte seed.
|
|
96
|
-
*
|
|
97
|
-
* Pass `{ isMainnet }` for default BIP86 derivation, or
|
|
98
|
-
* `{ descriptor }` for a caller-supplied account-descriptor
|
|
99
|
-
* template (the option's value must end with `/*)`).
|
|
100
|
-
*
|
|
101
|
-
* @param seed - 64-byte seed (typically from mnemonicToSeedSync)
|
|
102
|
-
* @param opts - Network selection or descriptor template.
|
|
103
|
-
*/
|
|
104
|
-
static fromSeed(seed: Uint8Array, opts?: SeedIdentityOptions): SeedIdentity;
|
|
105
|
-
xOnlyPublicKey(): Promise<Uint8Array>;
|
|
106
|
-
compressedPublicKey(): Promise<Uint8Array>;
|
|
107
|
-
sign(tx: Transaction, inputIndexes?: number[]): Promise<Transaction>;
|
|
108
|
-
signMessage(message: Uint8Array, signatureType?: "schnorr" | "ecdsa"): Promise<Uint8Array>;
|
|
109
|
-
signerSession(): SignerSession;
|
|
110
|
-
/**
|
|
111
|
-
* Converts to a watch-only identity that cannot sign. Carries the
|
|
112
|
-
* template forward, so the readonly side stays HD-capable (can
|
|
113
|
-
* derive descriptors at any index without seed access).
|
|
114
|
-
*/
|
|
115
|
-
toReadonly(): Promise<ReadonlyDescriptorIdentity>;
|
|
116
|
-
/**
|
|
117
|
-
* Returns true when `descriptor` is derived from this identity's seed.
|
|
118
|
-
* HD descriptors match by account xpub; bare `tr(pubkey)` descriptors
|
|
119
|
-
* match by raw pubkey. See {@link descriptorIsOurs}.
|
|
120
|
-
*
|
|
121
|
-
* @deprecated Prefer `DescriptorProvider.isOurs()` via
|
|
122
|
-
* `HDDescriptorProvider` for rotating HD wallets or
|
|
123
|
-
* `StaticDescriptorProvider` for legacy single-key wallets.
|
|
124
|
-
*/
|
|
125
|
-
isOurs(descriptor: string): boolean;
|
|
126
|
-
/**
|
|
127
|
-
* Signs each request with the key derived from its descriptor.
|
|
128
|
-
* Each descriptor must share this identity's seed ({@link isOurs}).
|
|
129
|
-
*
|
|
130
|
-
* @deprecated Prefer `DescriptorProvider.signWithDescriptor()` via
|
|
131
|
-
* `HDDescriptorProvider` or `StaticDescriptorProvider`. Identities keep
|
|
132
|
-
* this method only as backing implementation for descriptor providers.
|
|
133
|
-
*/
|
|
134
|
-
signWithDescriptor(requests: DescriptorSigningRequest[]): Promise<Transaction[]>;
|
|
135
|
-
/**
|
|
136
|
-
* Signs a message with the key derived from `descriptor`.
|
|
137
|
-
*
|
|
138
|
-
* @deprecated Prefer `DescriptorProvider.signMessageWithDescriptor()` via
|
|
139
|
-
* `HDDescriptorProvider` or `StaticDescriptorProvider`. Identities keep
|
|
140
|
-
* this method only as backing implementation for descriptor providers.
|
|
141
|
-
*/
|
|
142
|
-
signMessageWithDescriptor(descriptor: string, message: Uint8Array, signatureType?: "schnorr" | "ecdsa"): Promise<Uint8Array>;
|
|
143
|
-
private derivePrivateKeyForDescriptor;
|
|
144
|
-
private signTxWithKey;
|
|
145
|
-
private signMessageWithKey;
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* Mnemonic-based identity derived from a BIP39 phrase.
|
|
149
|
-
*
|
|
150
|
-
* This is the most user-friendly identity type — recommended for wallet
|
|
151
|
-
* applications where users manage their own backup phrase. Extends
|
|
152
|
-
* @see SeedIdentity with mnemonic validation and optional passphrase
|
|
153
|
-
* support.
|
|
154
|
-
*
|
|
155
|
-
* @example
|
|
156
|
-
* ```typescript
|
|
157
|
-
* const identity = MnemonicIdentity.fromMnemonic(
|
|
158
|
-
* 'abandon abandon abandon ...',
|
|
159
|
-
* { isMainnet: true, passphrase: 'secret' }
|
|
160
|
-
* );
|
|
161
|
-
* ```
|
|
162
|
-
*/
|
|
163
|
-
export declare class MnemonicIdentity extends SeedIdentity {
|
|
164
|
-
private constructor();
|
|
165
|
-
/**
|
|
166
|
-
* Creates a MnemonicIdentity from a BIP39 mnemonic phrase.
|
|
167
|
-
*
|
|
168
|
-
* Pass `{ isMainnet }` for default BIP86 derivation, or
|
|
169
|
-
* `{ descriptor }` for a caller-supplied account-descriptor
|
|
170
|
-
* template (the option's value must end with `/*)`).
|
|
171
|
-
*
|
|
172
|
-
* @param phrase - BIP39 mnemonic phrase (12 or 24 words)
|
|
173
|
-
* @param opts - Network selection or descriptor template, plus optional passphrase
|
|
174
|
-
*/
|
|
175
|
-
static fromMnemonic(phrase: string, opts?: MnemonicOptions): MnemonicIdentity;
|
|
176
|
-
}
|
|
177
|
-
/**
|
|
178
|
-
* Watch-only HD identity from a descriptor *template*.
|
|
179
|
-
*
|
|
180
|
-
* Can derive public keys but cannot sign transactions. Use this for
|
|
181
|
-
* watch-only wallets — given just an xpub-based template, the readonly
|
|
182
|
-
* side still rotates through HD indices.
|
|
183
|
-
*
|
|
184
|
-
* Constructed from a wildcard template (e.g.
|
|
185
|
-
* `tr([fp/86'/0'/0']xpub.../0/*)`); the {@link descriptor} field
|
|
186
|
-
* holds it for HD providers to consume.
|
|
187
|
-
*
|
|
188
|
-
* @example
|
|
189
|
-
* ```typescript
|
|
190
|
-
* const ro = ReadonlyDescriptorIdentity.fromDescriptor(
|
|
191
|
-
* "tr([fp/86'/0'/0']xpub.../0/*)"
|
|
192
|
-
* );
|
|
193
|
-
* ro.descriptor;
|
|
194
|
-
* // => "tr([fp/86'/0'/0']xpub.../0/*)" — the template
|
|
195
|
-
* ```
|
|
196
|
-
*/
|
|
197
|
-
export declare class ReadonlyDescriptorIdentity implements ReadonlyHDCapableIdentity {
|
|
198
|
-
/**
|
|
199
|
-
* Index-0 expansion of {@link descriptor}. Both the x-only pubkey
|
|
200
|
-
* (taproot, returned by the library as 32 bytes) and the compressed
|
|
201
|
-
* pubkey (derived through the bip32 node when needed) are read off
|
|
202
|
-
* this on demand — no separate caches.
|
|
203
|
-
*/
|
|
204
|
-
private readonly indexZero;
|
|
205
|
-
/**
|
|
206
|
-
* Wildcard account-descriptor template (e.g.
|
|
207
|
-
* `tr([fp/86'/0'/0']xpub/0/*)`). HD rotation consumers materialize
|
|
208
|
-
* a concrete descriptor at a specific index themselves.
|
|
209
|
-
*/
|
|
210
|
-
readonly descriptor: string;
|
|
211
|
-
private constructor();
|
|
212
|
-
/**
|
|
213
|
-
* Creates a ReadonlyDescriptorIdentity from an account-descriptor
|
|
214
|
-
* *template* (must end with the BIP-32 wildcard suffix `/*)`).
|
|
215
|
-
*
|
|
216
|
-
* @param descriptor - Wildcard-suffixed Taproot template
|
|
217
|
-
* (`tr([fp/path']xpub.../child/*)`).
|
|
218
|
-
*/
|
|
219
|
-
static fromDescriptor(descriptor: string): ReadonlyDescriptorIdentity;
|
|
220
|
-
xOnlyPublicKey(): Promise<Uint8Array>;
|
|
221
|
-
compressedPublicKey(): Promise<Uint8Array>;
|
|
222
|
-
/**
|
|
223
|
-
* Returns true when `descriptor` derives from this identity's xpub.
|
|
224
|
-
* HD descriptors match by account xpub; bare `tr(pubkey)` descriptors
|
|
225
|
-
* fall back to comparing against the index-0 x-only pubkey. See
|
|
226
|
-
* {@link descriptorIsOurs}.
|
|
227
|
-
*
|
|
228
|
-
* @deprecated Prefer `DescriptorProvider.isOurs()` via
|
|
229
|
-
* `HDDescriptorProvider` for rotating HD wallets or
|
|
230
|
-
* `StaticDescriptorProvider` for legacy single-key wallets.
|
|
231
|
-
*/
|
|
232
|
-
isOurs(descriptor: string): boolean;
|
|
233
|
-
}
|
|
234
|
-
/**
|
|
235
|
-
* Serialize a seed-backed signing identity into a
|
|
236
|
-
* {@link SerializedSigningIdentity} envelope without exposing the
|
|
237
|
-
* underlying secret material on the public instance surface.
|
|
238
|
-
*
|
|
239
|
-
* Called by {@link serializeSigningIdentity}; application code should
|
|
240
|
-
* prefer that public dispatcher instead of calling this directly. This
|
|
241
|
-
* helper is deliberately kept out of the `src/identity` barrel so it is
|
|
242
|
-
* not part of the package's public export surface.
|
|
243
|
-
*
|
|
244
|
-
* Secret-surface trade-off: the resulting envelope carries master-seed
|
|
245
|
-
* material — the BIP39 mnemonic (+ optional passphrase) for
|
|
246
|
-
* `MnemonicIdentity` or the raw 64-byte seed for `SeedIdentity`. A party
|
|
247
|
-
* that reads this envelope can derive any key under the HD tree, not
|
|
248
|
-
* just the key currently in use. The pre-change `SingleKey` flow only
|
|
249
|
-
* shipped one derived private key and therefore had a smaller blast
|
|
250
|
-
* radius. This is an intentional design trade to preserve class and
|
|
251
|
-
* descriptor identity across the page / service-worker boundary; the
|
|
252
|
-
* page already holds the same material so that it can re-initialize a
|
|
253
|
-
* killed worker. Transport is same-origin `postMessage` only. See the
|
|
254
|
-
* threat-model note in `src/worker/browser/README.md`.
|
|
255
|
-
*
|
|
256
|
-
* @internal
|
|
257
|
-
*/
|
|
258
|
-
export declare function serializeSeedOwnedSigningIdentity(identity: SeedIdentity): SerializedSigningIdentity;
|
|
259
|
-
/**
|
|
260
|
-
* Downgrade a seed-backed or descriptor-backed identity into a readonly
|
|
261
|
-
* descriptor envelope. Always produces a descriptor-only shape — secret
|
|
262
|
-
* material never crosses this path, even if the input is a signing
|
|
263
|
-
* identity.
|
|
264
|
-
*
|
|
265
|
-
* Deliberately kept out of the `src/identity` barrel; consumers should go
|
|
266
|
-
* through {@link serializeReadonlyIdentity}.
|
|
267
|
-
*
|
|
268
|
-
* @internal
|
|
269
|
-
*/
|
|
270
|
-
export declare function serializeSeedOwnedReadonlyIdentity(identity: SeedIdentity | ReadonlyDescriptorIdentity): SerializedReadonlyIdentity;
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import type { Identity, ReadonlyIdentity } from "./index.js";
|
|
2
|
-
/**
|
|
3
|
-
* Tagged envelope for a signing identity transported across the
|
|
4
|
-
* service-worker boundary. All variants are structured-clone safe
|
|
5
|
-
* (plain strings only — no functions or prototypes).
|
|
6
|
-
*
|
|
7
|
-
* `descriptor` carries the wildcard *template* (e.g.
|
|
8
|
-
* `tr([fp/86'/0'/0']xpub.../0/*)`), not a concrete index — the
|
|
9
|
-
* receiving factories require a template, and storing it directly
|
|
10
|
-
* means nothing here has to convert concrete → template on rehydrate.
|
|
11
|
-
*
|
|
12
|
-
* Adding a new variant is a source change in every worker build; keep
|
|
13
|
-
* old variants around until all deployed workers handle them.
|
|
14
|
-
*/
|
|
15
|
-
export type SerializedSigningIdentity = {
|
|
16
|
-
type: "single-key";
|
|
17
|
-
privateKey: string;
|
|
18
|
-
} | {
|
|
19
|
-
type: "seed";
|
|
20
|
-
seed: string;
|
|
21
|
-
descriptor: string;
|
|
22
|
-
} | {
|
|
23
|
-
type: "mnemonic";
|
|
24
|
-
mnemonic: string;
|
|
25
|
-
descriptor: string;
|
|
26
|
-
passphrase?: string;
|
|
27
|
-
};
|
|
28
|
-
/**
|
|
29
|
-
* Tagged envelope for a readonly identity transported across the
|
|
30
|
-
* service-worker boundary. All variants are structured-clone safe.
|
|
31
|
-
* `descriptor` is the wildcard template (see
|
|
32
|
-
* {@link SerializedSigningIdentity}).
|
|
33
|
-
*/
|
|
34
|
-
export type SerializedReadonlyIdentity = {
|
|
35
|
-
type: "readonly-single-key";
|
|
36
|
-
publicKey: string;
|
|
37
|
-
} | {
|
|
38
|
-
type: "readonly-descriptor";
|
|
39
|
-
descriptor: string;
|
|
40
|
-
};
|
|
41
|
-
export type SerializedIdentity = SerializedSigningIdentity | SerializedReadonlyIdentity;
|
|
42
|
-
/** Type guard — true for signing envelopes, false for readonly envelopes. */
|
|
43
|
-
export declare function isSigningSerialized(s: SerializedIdentity): s is SerializedSigningIdentity;
|
|
44
|
-
/**
|
|
45
|
-
* Serialize a signing identity into a structured-clone safe envelope for
|
|
46
|
-
* transport across the service-worker boundary.
|
|
47
|
-
*
|
|
48
|
-
* Supports SDK-owned signing identities directly. For custom identities, a
|
|
49
|
-
* duck-typed `toHex()` fallback preserves compatibility with existing
|
|
50
|
-
* `SingleKey`-like implementations.
|
|
51
|
-
*/
|
|
52
|
-
export declare function serializeSigningIdentity(identity: Identity): SerializedSigningIdentity;
|
|
53
|
-
/**
|
|
54
|
-
* Serialize a readonly identity into a structured-clone safe envelope.
|
|
55
|
-
*
|
|
56
|
-
* Works for any `ReadonlyIdentity` via `compressedPublicKey()`. When called
|
|
57
|
-
* with a signing identity, produces a readonly envelope (never ships signing
|
|
58
|
-
* material) — callers that need to preserve signing capability across the
|
|
59
|
-
* boundary must use {@link serializeSigningIdentity}.
|
|
60
|
-
*/
|
|
61
|
-
export declare function serializeReadonlyIdentity(identity: ReadonlyIdentity): Promise<SerializedReadonlyIdentity>;
|
|
62
|
-
/**
|
|
63
|
-
* Rehydrate a serialized identity envelope back into an identity instance.
|
|
64
|
-
* The return type is the union of signing and readonly; use
|
|
65
|
-
* {@link isSigningSerialized} on the envelope before hydration if the caller
|
|
66
|
-
* needs to know which side it ends up on.
|
|
67
|
-
*
|
|
68
|
-
* Envelopes store the wildcard template directly (see
|
|
69
|
-
* `serializeSeedOwnedSigningIdentity` / `serializeSeedOwnedReadonlyIdentity`),
|
|
70
|
-
* so the `descriptor` field is passed straight through to the
|
|
71
|
-
* template-only factories.
|
|
72
|
-
*/
|
|
73
|
-
export declare function hydrateIdentity(s: SerializedIdentity): Identity | ReadonlyIdentity;
|
|
74
|
-
/**
|
|
75
|
-
* Legacy untagged shape emitted by page builds prior to the tagged
|
|
76
|
-
* SerializedIdentity envelope. Retained so newer workers can still accept
|
|
77
|
-
* older pages during a rolling upgrade. Slated for removal in the next major.
|
|
78
|
-
*
|
|
79
|
-
* @deprecated Use {@link SerializedIdentity}.
|
|
80
|
-
*/
|
|
81
|
-
export type LegacySerializedIdentity = {
|
|
82
|
-
privateKey: string;
|
|
83
|
-
} | {
|
|
84
|
-
publicKey: string;
|
|
85
|
-
};
|
|
86
|
-
/**
|
|
87
|
-
* Accept either a modern {@link SerializedIdentity} envelope or a legacy
|
|
88
|
-
* `{ privateKey }` / `{ publicKey }` shape and normalize to a
|
|
89
|
-
* {@link SerializedIdentity}. Emits a one-time deprecation warning when a
|
|
90
|
-
* legacy shape is seen.
|
|
91
|
-
*
|
|
92
|
-
* Intended for the worker-side boundary; new page builds always emit tagged
|
|
93
|
-
* envelopes via {@link serializeSigningIdentity} /
|
|
94
|
-
* {@link serializeReadonlyIdentity}.
|
|
95
|
-
*/
|
|
96
|
-
export declare function normalizeSerializedIdentity(shape: SerializedIdentity | LegacySerializedIdentity): SerializedIdentity;
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { Identity, ReadonlyIdentity } from "./index.js";
|
|
2
|
-
import { Transaction } from "../utils/transaction.js";
|
|
3
|
-
import { SignerSession } from "../tree/signingSession.js";
|
|
4
|
-
/**
|
|
5
|
-
* In-memory single key implementation for Bitcoin transaction signing.
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* ```typescript
|
|
9
|
-
* // Create from hex string
|
|
10
|
-
* const key = SingleKey.fromHex('your_private_key_hex');
|
|
11
|
-
*
|
|
12
|
-
* // Create from raw bytes
|
|
13
|
-
* const key = SingleKey.fromPrivateKey(privateKeyBytes);
|
|
14
|
-
*
|
|
15
|
-
* // Create random key
|
|
16
|
-
* const randomKey = SingleKey.fromRandomBytes();
|
|
17
|
-
*
|
|
18
|
-
* // Sign a transaction
|
|
19
|
-
* const signedTx = await key.sign(transaction);
|
|
20
|
-
* ```
|
|
21
|
-
*/
|
|
22
|
-
export declare class SingleKey implements Identity {
|
|
23
|
-
private key;
|
|
24
|
-
private constructor();
|
|
25
|
-
/** Create a signing identity from raw private key bytes. */
|
|
26
|
-
static fromPrivateKey(privateKey: Uint8Array): SingleKey;
|
|
27
|
-
/** Create a signing identity from a hex-encoded private key. */
|
|
28
|
-
static fromHex(privateKeyHex: string): SingleKey;
|
|
29
|
-
/** Create a signing identity with a freshly generated random private key. */
|
|
30
|
-
static fromRandomBytes(): SingleKey;
|
|
31
|
-
/**
|
|
32
|
-
* Export the private key as a hex string.
|
|
33
|
-
*
|
|
34
|
-
* @returns The private key as a hex string
|
|
35
|
-
*/
|
|
36
|
-
toHex(): string;
|
|
37
|
-
sign(tx: Transaction, inputIndexes?: number[]): Promise<Transaction>;
|
|
38
|
-
compressedPublicKey(): Promise<Uint8Array>;
|
|
39
|
-
xOnlyPublicKey(): Promise<Uint8Array>;
|
|
40
|
-
signerSession(): SignerSession;
|
|
41
|
-
signMessage(message: Uint8Array, signatureType?: "schnorr" | "ecdsa"): Promise<Uint8Array>;
|
|
42
|
-
toReadonly(): Promise<ReadonlySingleKey>;
|
|
43
|
-
}
|
|
44
|
-
export declare class ReadonlySingleKey implements ReadonlyIdentity {
|
|
45
|
-
private readonly publicKey;
|
|
46
|
-
/** Create a readonly identity from a compressed public key. */
|
|
47
|
-
constructor(publicKey: Uint8Array);
|
|
48
|
-
/**
|
|
49
|
-
* Create a ReadonlySingleKey from a compressed public key.
|
|
50
|
-
*
|
|
51
|
-
* @param publicKey - 33-byte compressed public key (02/03 prefix + 32-byte x coordinate)
|
|
52
|
-
* @returns A new ReadonlySingleKey instance
|
|
53
|
-
* @example
|
|
54
|
-
* ```typescript
|
|
55
|
-
* const pubkey = new Uint8Array(33); // your compressed public key
|
|
56
|
-
* const readonlyKey = ReadonlySingleKey.fromPublicKey(pubkey);
|
|
57
|
-
* ```
|
|
58
|
-
*/
|
|
59
|
-
static fromPublicKey(publicKey: Uint8Array): ReadonlySingleKey;
|
|
60
|
-
xOnlyPublicKey(): Promise<Uint8Array>;
|
|
61
|
-
compressedPublicKey(): Promise<Uint8Array>;
|
|
62
|
-
}
|