@arkade-os/sdk 0.4.26 → 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 +36 -125
- 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 -629
- 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 -2
- package/dist/cjs/identity/index.js +0 -38
- package/dist/cjs/identity/seedIdentity.js +0 -461
- 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 -200
- 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 -302
- 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 -159
- package/dist/cjs/wallet/index.js +0 -82
- 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 -1173
- package/dist/cjs/wallet/unroll.js +0 -289
- 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 -2049
- 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 -473
- 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 -625
- 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 -1
- package/dist/esm/identity/index.js +0 -12
- package/dist/esm/identity/seedIdentity.js +0 -453
- 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 -297
- 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 -155
- package/dist/esm/wallet/index.js +0 -75
- 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 -1168
- package/dist/esm/wallet/unroll.js +0 -285
- 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 -2041
- 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 -469
- 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 -381
- 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 -233
- 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 -35
- package/dist/types/identity/hdCapableIdentity.d.ts +0 -44
- package/dist/types/identity/index.d.ts +0 -56
- package/dist/types/identity/seedIdentity.d.ts +0 -254
- 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 -93
- package/dist/types/wallet/index.d.ts +0 -755
- 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 -238
- 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 -360
- 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 -188
|
@@ -1,238 +0,0 @@
|
|
|
1
|
-
import { IWallet, WalletBalance, SendBitcoinParams, SettleParams, ArkTransaction, ExtendedCoin, ExtendedVirtualCoin, GetVtxosFilter, StorageConfig, IReadonlyWallet, IReadonlyAssetManager, IAssetManager, Recipient } from "../index.js";
|
|
2
|
-
import { SettlementEvent } from "../../providers/ark.js";
|
|
3
|
-
import { Identity, ReadonlyIdentity, type SerializedIdentity, type LegacySerializedIdentity } from "../../identity/index.js";
|
|
4
|
-
import { WalletRepository } from "../../repositories/walletRepository.js";
|
|
5
|
-
import { ContractRepository } from "../../repositories/contractRepository.js";
|
|
6
|
-
import { RequestInitWallet, ResponseGetStatus, WalletUpdaterRequest, WalletUpdaterResponse } from "./wallet-message-handler.js";
|
|
7
|
-
import type { IContractManager } from "../../contracts/contractManager.js";
|
|
8
|
-
import type { IDelegatorManager } from "../delegator.js";
|
|
9
|
-
import type { IVtxoManager, SettlementConfig } from "../vtxo-manager.js";
|
|
10
|
-
import type { ContractWatcherConfig } from "../../contracts/contractWatcher.js";
|
|
11
|
-
type RequestType = WalletUpdaterRequest["type"];
|
|
12
|
-
export type MessageTimeouts = Partial<Record<RequestType, number>>;
|
|
13
|
-
export declare const DEFAULT_MESSAGE_TIMEOUTS: Readonly<Record<RequestType, number>>;
|
|
14
|
-
/**
|
|
15
|
-
* Service Worker-based wallet implementation for browser environments.
|
|
16
|
-
*
|
|
17
|
-
* This wallet uses a service worker as a backend to handle wallet logic,
|
|
18
|
-
* providing secure key storage and transaction signing in web applications.
|
|
19
|
-
* The service worker runs in a separate thread and can persist data between
|
|
20
|
-
* browser sessions.
|
|
21
|
-
*
|
|
22
|
-
* @example
|
|
23
|
-
* ```typescript
|
|
24
|
-
* // SIMPLE: Recommended approach
|
|
25
|
-
* const wallet = await ServiceWorkerWallet.setup({
|
|
26
|
-
* serviceWorkerPath: '/service-worker.js',
|
|
27
|
-
* arkServerUrl: 'https://arkade.computer',
|
|
28
|
-
* identity: MnemonicIdentity.fromMnemonic('abandon abandon...')
|
|
29
|
-
* });
|
|
30
|
-
*
|
|
31
|
-
* // ADVANCED: Manual setup with service worker control
|
|
32
|
-
* const serviceWorker = await setupServiceWorker("/service-worker.js");
|
|
33
|
-
* const wallet = await ServiceWorkerWallet.create({
|
|
34
|
-
* serviceWorker,
|
|
35
|
-
* arkServerUrl: 'https://arkade.computer',
|
|
36
|
-
* identity: MnemonicIdentity.fromMnemonic('abandon abandon...')
|
|
37
|
-
* });
|
|
38
|
-
*
|
|
39
|
-
* // Use like any other wallet
|
|
40
|
-
* const address = await wallet.getAddress();
|
|
41
|
-
* const balance = await wallet.getBalance();
|
|
42
|
-
* ```
|
|
43
|
-
*/
|
|
44
|
-
interface ServiceWorkerWalletOptions {
|
|
45
|
-
/** Optional Arkade server public key used to construct and validate Arkade addresses. */
|
|
46
|
-
arkServerPublicKey?: string;
|
|
47
|
-
/** Base URL of the Arkade server. */
|
|
48
|
-
arkServerUrl?: string;
|
|
49
|
-
/** Optional override for the indexer URL. */
|
|
50
|
-
indexerUrl?: string;
|
|
51
|
-
/** Optional override for the Esplora API URL. */
|
|
52
|
-
esploraUrl?: string;
|
|
53
|
-
/**
|
|
54
|
-
* Repository-backed storage configuration overrides.
|
|
55
|
-
* Defaults to IndexedDB if unset.
|
|
56
|
-
*/
|
|
57
|
-
storage?: StorageConfig;
|
|
58
|
-
/** Identity used to derive addresses and optionally sign operations. */
|
|
59
|
-
identity: ReadonlyIdentity | Identity;
|
|
60
|
-
/** Optional delegation service URL. */
|
|
61
|
-
delegatorUrl?: string;
|
|
62
|
-
/**
|
|
63
|
-
* Override the default tag used for messages sent to and received from the service worker.
|
|
64
|
-
* @see DEFAULT_MESSAGE_TAG
|
|
65
|
-
*/
|
|
66
|
-
walletUpdaterTag?: string;
|
|
67
|
-
/** Timeout used while bootstrapping the message bus inside the service worker. */
|
|
68
|
-
messageBusTimeoutMs?: number;
|
|
69
|
-
/** Optional settlement configuration forwarded to the worker wallet. */
|
|
70
|
-
settlementConfig?: SettlementConfig | false;
|
|
71
|
-
/** Optional contract watcher configuration forwarded to the worker wallet. */
|
|
72
|
-
watcherConfig?: Partial<Omit<ContractWatcherConfig, "indexerProvider">>;
|
|
73
|
-
/**
|
|
74
|
-
* Per-request timeout overrides for wallet-updater messages.
|
|
75
|
-
* @see DEFAULT_MESSAGE_TIMEOUTS
|
|
76
|
-
*/
|
|
77
|
-
messageTimeouts?: MessageTimeouts;
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Options for creating a service-worker wallet with an existing worker instance.
|
|
81
|
-
*
|
|
82
|
-
* @see ServiceWorkerReadonlyWallet.create
|
|
83
|
-
* @see ServiceWorkerWallet.create
|
|
84
|
-
*/
|
|
85
|
-
export type ServiceWorkerWalletCreateOptions = ServiceWorkerWalletOptions & {
|
|
86
|
-
/** Existing service worker instance used for messaging. */
|
|
87
|
-
serviceWorker: ServiceWorker;
|
|
88
|
-
};
|
|
89
|
-
/**
|
|
90
|
-
* Options for registering a service worker and then creating a wallet around it.
|
|
91
|
-
*
|
|
92
|
-
* @see ServiceWorkerReadonlyWallet.setup
|
|
93
|
-
* @see ServiceWorkerWallet.setup
|
|
94
|
-
*/
|
|
95
|
-
export type ServiceWorkerWalletSetupOptions = ServiceWorkerWalletOptions & {
|
|
96
|
-
/** Path to the service worker script to register. */
|
|
97
|
-
serviceWorkerPath: string;
|
|
98
|
-
/** Timeout while waiting for the service worker to activate. */
|
|
99
|
-
serviceWorkerActivationTimeoutMs?: number;
|
|
100
|
-
};
|
|
101
|
-
type MessageBusInitConfig = {
|
|
102
|
-
wallet: SerializedIdentity | LegacySerializedIdentity;
|
|
103
|
-
arkServer: {
|
|
104
|
-
url: string;
|
|
105
|
-
publicKey?: string;
|
|
106
|
-
};
|
|
107
|
-
delegatorUrl?: string;
|
|
108
|
-
indexerUrl?: string;
|
|
109
|
-
esploraUrl?: string;
|
|
110
|
-
timeoutMs?: number;
|
|
111
|
-
settlementConfig?: SettlementConfig | false;
|
|
112
|
-
watcherConfig?: Partial<Omit<ContractWatcherConfig, "indexerProvider">>;
|
|
113
|
-
messageTimeouts?: Record<string, number>;
|
|
114
|
-
};
|
|
115
|
-
export declare class ServiceWorkerReadonlyWallet implements IReadonlyWallet {
|
|
116
|
-
readonly serviceWorker: ServiceWorker;
|
|
117
|
-
protected readonly messageTag: string;
|
|
118
|
-
readonly walletRepository: WalletRepository;
|
|
119
|
-
readonly contractRepository: ContractRepository;
|
|
120
|
-
readonly identity: ReadonlyIdentity;
|
|
121
|
-
private readonly _readonlyAssetManager;
|
|
122
|
-
protected initConfig: MessageBusInitConfig | null;
|
|
123
|
-
protected initWalletPayload: RequestInitWallet["payload"] | null;
|
|
124
|
-
protected messageBusTimeoutMs?: number;
|
|
125
|
-
protected messageTimeouts: Record<RequestType, number>;
|
|
126
|
-
protected arkServerUrl?: string;
|
|
127
|
-
protected arkServerPublicKey?: string;
|
|
128
|
-
protected delegatorUrl?: string;
|
|
129
|
-
protected indexerUrl?: string;
|
|
130
|
-
protected esploraUrl?: string;
|
|
131
|
-
protected watcherConfig?: Partial<Omit<ContractWatcherConfig, "indexerProvider">>;
|
|
132
|
-
protected settlementConfig?: SettlementConfig | false;
|
|
133
|
-
private reinitPromise;
|
|
134
|
-
private pingPromise;
|
|
135
|
-
private inflightRequests;
|
|
136
|
-
get assetManager(): IReadonlyAssetManager;
|
|
137
|
-
protected constructor(serviceWorker: ServiceWorker, identity: ReadonlyIdentity, walletRepository: WalletRepository, contractRepository: ContractRepository, messageTag: string);
|
|
138
|
-
private getTimeoutForRequest;
|
|
139
|
-
/**
|
|
140
|
-
* Create a readonly service-worker wallet bound to an already-registered worker.
|
|
141
|
-
*
|
|
142
|
-
* @param options - Service worker, identity, and backend configuration
|
|
143
|
-
* @returns Initialized readonly service-worker wallet
|
|
144
|
-
* @throws Error if service-worker initialization fails
|
|
145
|
-
*/
|
|
146
|
-
static create(options: ServiceWorkerWalletCreateOptions): Promise<ServiceWorkerReadonlyWallet>;
|
|
147
|
-
/**
|
|
148
|
-
* Simplified setup method that handles service worker registration
|
|
149
|
-
* and wallet initialization automatically.
|
|
150
|
-
*
|
|
151
|
-
* @see ServiceWorkerReadonlyWallet.create
|
|
152
|
-
*
|
|
153
|
-
* @example
|
|
154
|
-
* ```typescript
|
|
155
|
-
* const wallet = await ServiceWorkerReadonlyWallet.setup({
|
|
156
|
-
* serviceWorkerPath: '/service-worker.js',
|
|
157
|
-
* arkServerUrl: 'https://arkade.computer',
|
|
158
|
-
* identity: ReadonlySingleKey.fromPublicKey('your_public_key_hex')
|
|
159
|
-
* });
|
|
160
|
-
* ```
|
|
161
|
-
*/
|
|
162
|
-
static setup(options: ServiceWorkerWalletSetupOptions): Promise<ServiceWorkerReadonlyWallet>;
|
|
163
|
-
private sendMessageDirect;
|
|
164
|
-
private sendMessageStreaming;
|
|
165
|
-
protected sendMessage(request: WalletUpdaterRequest): Promise<WalletUpdaterResponse>;
|
|
166
|
-
private pingServiceWorker;
|
|
167
|
-
private sendMessageWithRetry;
|
|
168
|
-
protected sendMessageWithEvents(request: WalletUpdaterRequest, onEvent: (response: WalletUpdaterResponse) => void, isComplete: (response: WalletUpdaterResponse) => boolean): Promise<WalletUpdaterResponse>;
|
|
169
|
-
/**
|
|
170
|
-
* Produce a serialized envelope for the wallet's identity. The base
|
|
171
|
-
* class always emits a readonly envelope; `ServiceWorkerWallet`
|
|
172
|
-
* overrides to emit a signing envelope.
|
|
173
|
-
*/
|
|
174
|
-
protected serializeIdentity(): Promise<SerializedIdentity>;
|
|
175
|
-
/**
|
|
176
|
-
* Return the cached init config, or rebuild one from live instance
|
|
177
|
-
* state when the cache was never populated. Recovery path for
|
|
178
|
-
* SDK-factory-created wallets; manual constructor bypasses do not
|
|
179
|
-
* retain enough state here and will hit the "never initialized" throw.
|
|
180
|
-
*/
|
|
181
|
-
protected buildInitConfig(): Promise<MessageBusInitConfig>;
|
|
182
|
-
/** Minimal INIT_WALLET payload used on reinitialize when the cache is gone. */
|
|
183
|
-
protected buildInitWalletPayload(): RequestInitWallet["payload"];
|
|
184
|
-
private reinitialize;
|
|
185
|
-
/** Clear cached wallet state from both the page and service worker storage. */
|
|
186
|
-
clear(): Promise<void>;
|
|
187
|
-
getAddress(): Promise<string>;
|
|
188
|
-
getBoardingAddress(): Promise<string>;
|
|
189
|
-
getBalance(): Promise<WalletBalance>;
|
|
190
|
-
getBoardingUtxos(): Promise<ExtendedCoin[]>;
|
|
191
|
-
/**
|
|
192
|
-
* Return service-worker wallet status, including connectivity and sync state.
|
|
193
|
-
*
|
|
194
|
-
* @returns Current service-worker wallet status payload including `walletInitalized` and `xOnlyPublicKey`
|
|
195
|
-
*/
|
|
196
|
-
getStatus(): Promise<ResponseGetStatus["payload"]>;
|
|
197
|
-
getTransactionHistory(): Promise<ArkTransaction[]>;
|
|
198
|
-
getVtxos(filter?: GetVtxosFilter): Promise<ExtendedVirtualCoin[]>;
|
|
199
|
-
/**
|
|
200
|
-
* Trigger a wallet reload inside the service worker.
|
|
201
|
-
*
|
|
202
|
-
* @returns `true` when the wallet was reloaded
|
|
203
|
-
*/
|
|
204
|
-
reload(): Promise<boolean>;
|
|
205
|
-
getContractManager(): Promise<IContractManager>;
|
|
206
|
-
}
|
|
207
|
-
export declare class ServiceWorkerWallet extends ServiceWorkerReadonlyWallet implements IWallet {
|
|
208
|
-
readonly serviceWorker: ServiceWorker;
|
|
209
|
-
readonly walletRepository: WalletRepository;
|
|
210
|
-
readonly contractRepository: ContractRepository;
|
|
211
|
-
readonly identity: Identity;
|
|
212
|
-
private readonly _assetManager;
|
|
213
|
-
private readonly hasDelegator;
|
|
214
|
-
protected constructor(serviceWorker: ServiceWorker, identity: Identity, walletRepository: WalletRepository, contractRepository: ContractRepository, messageTag: string, hasDelegator: boolean);
|
|
215
|
-
get assetManager(): IAssetManager;
|
|
216
|
-
protected serializeIdentity(): Promise<SerializedIdentity>;
|
|
217
|
-
static create(options: ServiceWorkerWalletCreateOptions): Promise<ServiceWorkerWallet>;
|
|
218
|
-
/**
|
|
219
|
-
* Simplified setup method that handles service worker registration
|
|
220
|
-
* and wallet initialization automatically.
|
|
221
|
-
*
|
|
222
|
-
* @example
|
|
223
|
-
* ```typescript
|
|
224
|
-
* const wallet = await ServiceWorkerWallet.setup({
|
|
225
|
-
* serviceWorkerPath: '/service-worker.js',
|
|
226
|
-
* arkServerUrl: 'https://arkade.computer',
|
|
227
|
-
* identity: MnemonicIdentity.fromMnemonic('abandon abandon...')
|
|
228
|
-
* });
|
|
229
|
-
* ```
|
|
230
|
-
*/
|
|
231
|
-
static setup(options: ServiceWorkerWalletSetupOptions): Promise<ServiceWorkerWallet>;
|
|
232
|
-
sendBitcoin(params: SendBitcoinParams): Promise<string>;
|
|
233
|
-
settle(params?: SettleParams, callback?: (event: SettlementEvent) => void): Promise<string>;
|
|
234
|
-
send(...recipients: [Recipient, ...Recipient[]]): Promise<string>;
|
|
235
|
-
getDelegatorManager(): Promise<IDelegatorManager | undefined>;
|
|
236
|
-
getVtxoManager(): Promise<IVtxoManager>;
|
|
237
|
-
}
|
|
238
|
-
export {};
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import { ChainTx, IndexerProvider } from "../providers/indexer.js";
|
|
2
|
-
import { AnchorBumper } from "../utils/anchor.js";
|
|
3
|
-
import { OnchainProvider } from "../providers/onchain.js";
|
|
4
|
-
import { Outpoint } from "./index.js";
|
|
5
|
-
import { Wallet } from "./wallet.js";
|
|
6
|
-
import { Transaction } from "../utils/transaction.js";
|
|
7
|
-
export declare namespace Unroll {
|
|
8
|
-
enum StepType {
|
|
9
|
-
UNROLL = 0,
|
|
10
|
-
WAIT = 1,
|
|
11
|
-
DONE = 2
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Unroll step where the transaction has to be broadcasted in a 1C1P package
|
|
15
|
-
*/
|
|
16
|
-
type UnrollStep = {
|
|
17
|
-
tx: Transaction;
|
|
18
|
-
pkg: [parent: string, child: string];
|
|
19
|
-
};
|
|
20
|
-
/**
|
|
21
|
-
* Wait step where the transaction has to be confirmed onchain
|
|
22
|
-
*/
|
|
23
|
-
type WaitStep = {
|
|
24
|
-
txid: string;
|
|
25
|
-
};
|
|
26
|
-
/**
|
|
27
|
-
* Done step where the unrolling process is complete
|
|
28
|
-
*/
|
|
29
|
-
type DoneStep = {
|
|
30
|
-
vtxoTxid: string;
|
|
31
|
-
};
|
|
32
|
-
type Step = ({
|
|
33
|
-
type: StepType.DONE;
|
|
34
|
-
} & DoneStep) | ({
|
|
35
|
-
type: StepType.UNROLL;
|
|
36
|
-
} & UnrollStep) | ({
|
|
37
|
-
type: StepType.WAIT;
|
|
38
|
-
} & WaitStep);
|
|
39
|
-
/**
|
|
40
|
-
* Manages the unrolling process of a virtual output back to the Bitcoin blockchain.
|
|
41
|
-
*
|
|
42
|
-
* The Session class implements an async iterator that processes the unrolling steps:
|
|
43
|
-
* 1. **WAIT**: Waits for a transaction to be confirmed onchain (if it's in mempool)
|
|
44
|
-
* 2. **UNROLL**: Broadcasts the next transaction in the chain to the blockchain
|
|
45
|
-
* 3. **DONE**: Indicates the unrolling process is complete
|
|
46
|
-
*
|
|
47
|
-
* The unrolling process works by traversing the transaction chain from the root (most recent)
|
|
48
|
-
* to the leaf (oldest), broadcasting each transaction that isn't already onchain.
|
|
49
|
-
*
|
|
50
|
-
* @example
|
|
51
|
-
* ```typescript
|
|
52
|
-
* const session = await Unroll.Session.create(vtxoOutpoint, bumper, explorer, indexer);
|
|
53
|
-
*
|
|
54
|
-
* // iterate over the steps
|
|
55
|
-
* for await (const doneStep of session) {
|
|
56
|
-
* switch (doneStep.type) {
|
|
57
|
-
* case Unroll.StepType.WAIT:
|
|
58
|
-
* console.log(`Transaction ${doneStep.txid} confirmed`);
|
|
59
|
-
* break;
|
|
60
|
-
* case Unroll.StepType.UNROLL:
|
|
61
|
-
* console.log(`Broadcasting transaction ${doneStep.tx.id}`);
|
|
62
|
-
* break;
|
|
63
|
-
* case Unroll.StepType.DONE:
|
|
64
|
-
* console.log(`Unrolling complete for virtual output ${doneStep.vtxoTxid}`);
|
|
65
|
-
* break;
|
|
66
|
-
* }
|
|
67
|
-
* }
|
|
68
|
-
* ```
|
|
69
|
-
**/
|
|
70
|
-
class Session implements AsyncIterable<Step> {
|
|
71
|
-
readonly toUnroll: Outpoint & {
|
|
72
|
-
chain: ChainTx[];
|
|
73
|
-
};
|
|
74
|
-
readonly bumper: AnchorBumper;
|
|
75
|
-
readonly explorer: OnchainProvider;
|
|
76
|
-
readonly indexer: IndexerProvider;
|
|
77
|
-
/** Create an unroll session from a virtual output outpoint and its dependency chain. */
|
|
78
|
-
constructor(toUnroll: Outpoint & {
|
|
79
|
-
chain: ChainTx[];
|
|
80
|
-
}, bumper: AnchorBumper, explorer: OnchainProvider, indexer: IndexerProvider);
|
|
81
|
-
/** Create an unroll session by loading the virtual output chain from the indexer. */
|
|
82
|
-
static create(toUnroll: Outpoint, bumper: AnchorBumper, explorer: OnchainProvider, indexer: IndexerProvider): Promise<Session>;
|
|
83
|
-
/**
|
|
84
|
-
* Get the next step to be executed
|
|
85
|
-
* @returns The next step to be executed + the function to execute it
|
|
86
|
-
*/
|
|
87
|
-
next(): Promise<Step & {
|
|
88
|
-
do: () => Promise<void>;
|
|
89
|
-
}>;
|
|
90
|
-
/**
|
|
91
|
-
* Iterate over the steps to be executed and execute them
|
|
92
|
-
* @returns An async iterator over the executed steps
|
|
93
|
-
*/
|
|
94
|
-
[Symbol.asyncIterator](): AsyncIterator<Step>;
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Complete the unroll of a virtual output by broadcasting the transaction that spends the CSV path.
|
|
98
|
-
* @param wallet the wallet owning the virtual output(s)
|
|
99
|
-
* @param vtxoTxids the txids of the virtual output(s) to complete unroll
|
|
100
|
-
* @param outputAddress the address to send the unrolled funds to
|
|
101
|
-
* @throws if the virtual output(s) are not fully unrolled, if the txids are not found, if the tx is not confirmed, if no exit path is found or not available
|
|
102
|
-
* @returns the txid of the transaction spending the unrolled funds
|
|
103
|
-
*/
|
|
104
|
-
function completeUnroll(wallet: Wallet, vtxoTxids: string[], outputAddress: string): Promise<string>;
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Prepares the transaction that spends the CSV path to complete unrolling a VTXO.
|
|
108
|
-
* @param wallet the wallet owning the VTXO(s)
|
|
109
|
-
* @param vtxoTxIds the txids of the VTXO(s) to complete unroll
|
|
110
|
-
* @param outputAddress the address to send the unrolled funds to
|
|
111
|
-
* @throws if the VTXO(s) are not fully unrolled, if the txids are not found, if the tx is not confirmed, if no exit path is found or not available
|
|
112
|
-
* @returns the transaction spending the unrolled funds
|
|
113
|
-
*/
|
|
114
|
-
export declare function prepareUnrollTransaction(wallet: Wallet, vtxoTxIds: string[], outputAddress: string): Promise<Transaction>;
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { Recipient } from "./index.js";
|
|
2
|
-
import { type Coin, type ExtendedCoin, type ExtendedVirtualCoin, type VirtualCoin } from "../index.js";
|
|
3
|
-
import type { Contract } from "../contracts/types.js";
|
|
4
|
-
import { ReadonlyWallet } from "./wallet.js";
|
|
5
|
-
import { Bytes } from "@scure/btc-signer/utils.js";
|
|
6
|
-
export declare const DUST_AMOUNT = 546;
|
|
7
|
-
export declare function extendCoin(wallet: {
|
|
8
|
-
boardingTapscript: ReadonlyWallet["boardingTapscript"];
|
|
9
|
-
}, utxo: Coin): ExtendedCoin;
|
|
10
|
-
/**
|
|
11
|
-
* Extend a VirtualCoin with the tap scripts of whichever contract locks it.
|
|
12
|
-
*
|
|
13
|
-
* The second argument accepts either form, so each callsite passes what it
|
|
14
|
-
* already has:
|
|
15
|
-
* - a single `Contract` (when the caller already knows the owning contract,
|
|
16
|
-
* e.g. the contract manager iterating its own `scriptToContract` map), or
|
|
17
|
-
* - a `ReadonlyMap<script, Contract>` (when the caller resolves by
|
|
18
|
-
* `vtxo.script`, populated by the indexer).
|
|
19
|
-
*
|
|
20
|
-
* Throws when no contract can be resolved — there is intentionally no
|
|
21
|
-
* default-tapscript fallback. When the wallet owns multiple contracts
|
|
22
|
-
* (default + delegate, several active vHTLCs, etc.) a default-tapscript path
|
|
23
|
-
* silently stamps every VTXO with the same forfeit/intent data, overwriting
|
|
24
|
-
* the correct data for any VTXO locked to a non-default contract. Callers
|
|
25
|
-
* must feed a Contract or a populated script→Contract map; otherwise the
|
|
26
|
-
* caller (typically `ContractManager.annotateVtxos`) should fetch the owning
|
|
27
|
-
* contract first.
|
|
28
|
-
*/
|
|
29
|
-
export declare function extendVirtualCoinForContract(vtxo: VirtualCoin, contractOrMap?: Contract | ReadonlyMap<string, Contract>): ExtendedVirtualCoin;
|
|
30
|
-
export declare function getRandomId(): string;
|
|
31
|
-
export declare function isValidArkAddress(address: string): boolean;
|
|
32
|
-
type ValidatedRecipient = Required<Recipient> & {
|
|
33
|
-
script: Bytes;
|
|
34
|
-
};
|
|
35
|
-
export declare function validateRecipients(recipients: Recipient[], dustAmount: number): ValidatedRecipient[];
|
|
36
|
-
export {};
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { Recipient } from "./index.js";
|
|
2
|
-
import { Transaction } from "../utils/transaction.js";
|
|
3
|
-
import type { Network } from "../networks.js";
|
|
4
|
-
export declare const ErrOffchainOutputNotFound: (address: string) => Error;
|
|
5
|
-
export declare const ErrInvalidAssetOutputAmount: (got: bigint, want: bigint, assetId: string) => Error;
|
|
6
|
-
export declare const ErrAssetGroupNotFound: (assetId: string) => Error;
|
|
7
|
-
export declare const ErrAssetOutputNotFound: (assetId: string, outputIndex: number) => Error;
|
|
8
|
-
export declare const ErrInvalidOnchainOutputAmount: (address: string) => Error;
|
|
9
|
-
export declare const ErrInvalidOnchainOutputAssets: (address: string) => Error;
|
|
10
|
-
export declare const ErrOnchainOutputNotFound: (address: string) => Error;
|
|
11
|
-
export declare const ErrInvalidOffchainOutputAmount: (address: string) => Error;
|
|
12
|
-
/**
|
|
13
|
-
* Validates both offchain and onchain recipients.
|
|
14
|
-
* Offchain recipients are checked against vtxo tree leaves for correct amounts and assets.
|
|
15
|
-
* Onchain recipients are validated against the round transaction outputs (amounts and scripts)
|
|
16
|
-
* via validateOnchainRecipient.
|
|
17
|
-
*
|
|
18
|
-
* @param commitmentTx - The commitment transaction to validate against
|
|
19
|
-
* @param vtxoTreeLeaves - The vtxo tree leaves to validate against
|
|
20
|
-
* @param recipients - The expected recipients to validate (both offchain and onchain)
|
|
21
|
-
* @param network - Network for decoding onchain addresses (e.g. mainnet, testnet)
|
|
22
|
-
* @throws {Error} if a recipient is not present or invalid in the vtxo tree or commitment tx
|
|
23
|
-
*/
|
|
24
|
-
export declare function validateBatchRecipients(commitmentTx: Transaction, vtxoTreeLeaves: Transaction[], recipients: Recipient[], network: Network): void;
|