@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
package/dist/cjs/script/base.js
DELETED
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.VtxoScript = exports.TapTreeCoder = void 0;
|
|
4
|
-
exports.scriptFromTapLeafScript = scriptFromTapLeafScript;
|
|
5
|
-
exports.getSequence = getSequence;
|
|
6
|
-
const btc_signer_1 = require("@scure/btc-signer");
|
|
7
|
-
const payment_js_1 = require("@scure/btc-signer/payment.js");
|
|
8
|
-
const psbt_js_1 = require("@scure/btc-signer/psbt.js");
|
|
9
|
-
const base_1 = require("@scure/base");
|
|
10
|
-
const address_1 = require("./address");
|
|
11
|
-
const timelock_1 = require("../utils/timelock");
|
|
12
|
-
const tapscript_1 = require("./tapscript");
|
|
13
|
-
exports.TapTreeCoder = psbt_js_1.PSBTOutput.tapTree[2];
|
|
14
|
-
function scriptFromTapLeafScript(leaf) {
|
|
15
|
-
return leaf[1].subarray(0, leaf[1].length - 1); // remove the version byte
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* VtxoScript is a script that contains a list of tapleaf scripts.
|
|
19
|
-
* It is used to create virtual output scripts.
|
|
20
|
-
*
|
|
21
|
-
* @see ArkAddress
|
|
22
|
-
*
|
|
23
|
-
* @example
|
|
24
|
-
* ```typescript
|
|
25
|
-
* const vtxoScript = new VtxoScript([new Uint8Array(32), new Uint8Array(32)]);
|
|
26
|
-
* ```
|
|
27
|
-
*/
|
|
28
|
-
class VtxoScript {
|
|
29
|
-
/**
|
|
30
|
-
* Decode a virtual output script from an encoded TapTree.
|
|
31
|
-
*
|
|
32
|
-
* @param tapTree - Encoded TapTree bytes
|
|
33
|
-
* @returns Decoded virtual output script
|
|
34
|
-
* @throws Error if the TapTree cannot be decoded into a valid script set
|
|
35
|
-
* @see encode
|
|
36
|
-
*/
|
|
37
|
-
static decode(tapTree) {
|
|
38
|
-
const leaves = exports.TapTreeCoder.decode(tapTree);
|
|
39
|
-
const scripts = leaves.map((leaf) => leaf.script);
|
|
40
|
-
return new VtxoScript(scripts);
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Create a virtual output script from its tapleaf scripts.
|
|
44
|
-
*
|
|
45
|
-
* @param scripts - Raw tapscript bytes for each leaf
|
|
46
|
-
* @throws Error if the provided leaves cannot produce a valid Taproot tree
|
|
47
|
-
*/
|
|
48
|
-
constructor(scripts) {
|
|
49
|
-
this.scripts = scripts;
|
|
50
|
-
// reverse the scripts if the number of scripts is odd
|
|
51
|
-
// this is to be compatible with arkd algorithm computing taproot tree from list of tapscripts
|
|
52
|
-
// the scripts must be reversed only HERE while we compute the tweaked public key
|
|
53
|
-
// but the original order should be preserved while encoding as taptree
|
|
54
|
-
// note: .slice().reverse() is used instead of .reverse() to avoid mutating the original array
|
|
55
|
-
const list = scripts.length % 2 !== 0 ? scripts.slice().reverse() : scripts;
|
|
56
|
-
const tapTree = (0, btc_signer_1.taprootListToTree)(list.map((script) => ({
|
|
57
|
-
script,
|
|
58
|
-
leafVersion: payment_js_1.TAP_LEAF_VERSION,
|
|
59
|
-
})));
|
|
60
|
-
const payment = (0, btc_signer_1.p2tr)(btc_signer_1.TAPROOT_UNSPENDABLE_KEY, tapTree, undefined, true);
|
|
61
|
-
if (!payment.tapLeafScript ||
|
|
62
|
-
payment.tapLeafScript.length !== scripts.length) {
|
|
63
|
-
throw new Error("invalid scripts");
|
|
64
|
-
}
|
|
65
|
-
this.leaves = payment.tapLeafScript;
|
|
66
|
-
this.tweakedPublicKey = payment.tweakedPubkey;
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Encode the virtual output script to a TapTree byte representation.
|
|
70
|
-
*
|
|
71
|
-
* @returns Encoded TapTree bytes
|
|
72
|
-
* @see decode
|
|
73
|
-
*/
|
|
74
|
-
encode() {
|
|
75
|
-
const tapTree = exports.TapTreeCoder.encode(this.scripts.map((script) => ({
|
|
76
|
-
depth: 1,
|
|
77
|
-
version: payment_js_1.TAP_LEAF_VERSION,
|
|
78
|
-
script,
|
|
79
|
-
})));
|
|
80
|
-
return tapTree;
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Build the Arkade address corresponding to this virtual output script.
|
|
84
|
-
*
|
|
85
|
-
* @param prefix - Bech32 human-readable prefix
|
|
86
|
-
* @param serverPubKey - 32-byte Arkade server public key
|
|
87
|
-
* @returns Arkade address for this script
|
|
88
|
-
* @see ArkAddress
|
|
89
|
-
*/
|
|
90
|
-
address(prefix, serverPubKey) {
|
|
91
|
-
return new address_1.ArkAddress(serverPubKey, this.tweakedPublicKey, prefix);
|
|
92
|
-
}
|
|
93
|
-
get pkScript() {
|
|
94
|
-
return btc_signer_1.Script.encode(["OP_1", this.tweakedPublicKey]);
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Build the Taproot onchain address corresponding to this virtual output script.
|
|
98
|
-
*
|
|
99
|
-
* @param network - Bitcoin network descriptor
|
|
100
|
-
* @returns Taproot onchain address
|
|
101
|
-
* @see address
|
|
102
|
-
*/
|
|
103
|
-
onchainAddress(network) {
|
|
104
|
-
return (0, btc_signer_1.Address)(network).encode({
|
|
105
|
-
type: "tr",
|
|
106
|
-
pubkey: this.tweakedPublicKey,
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Look up a tapleaf script by its hex-encoded tapscript body.
|
|
111
|
-
*
|
|
112
|
-
* @param scriptHex - Hex-encoded tapscript body without the leaf version byte
|
|
113
|
-
* @returns Matching tapleaf script
|
|
114
|
-
* @throws Error if no matching leaf exists
|
|
115
|
-
*/
|
|
116
|
-
findLeaf(scriptHex) {
|
|
117
|
-
const leaf = this.leaves.find((leaf) => base_1.hex.encode(scriptFromTapLeafScript(leaf)) === scriptHex);
|
|
118
|
-
if (!leaf) {
|
|
119
|
-
throw new Error(`leaf '${scriptHex}' not found`);
|
|
120
|
-
}
|
|
121
|
-
return leaf;
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Return all unilateral exit paths embedded in the virtual output script.
|
|
125
|
-
*
|
|
126
|
-
* @returns CSV-based exit paths found in the leaves
|
|
127
|
-
* @see getSequence
|
|
128
|
-
*/
|
|
129
|
-
exitPaths() {
|
|
130
|
-
const paths = [];
|
|
131
|
-
for (const leaf of this.leaves) {
|
|
132
|
-
try {
|
|
133
|
-
const script = scriptFromTapLeafScript(leaf);
|
|
134
|
-
if (tapscript_1.CSVMultisigTapscript.isScriptValid(script) === true) {
|
|
135
|
-
const tapScript = tapscript_1.CSVMultisigTapscript.decode(script);
|
|
136
|
-
paths.push(tapScript);
|
|
137
|
-
}
|
|
138
|
-
else if (tapscript_1.ConditionCSVMultisigTapscript.isScriptValid(script) === true) {
|
|
139
|
-
const tapScript = tapscript_1.ConditionCSVMultisigTapscript.decode(script);
|
|
140
|
-
paths.push(tapScript);
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
catch (e) {
|
|
144
|
-
console.debug("Failed to decode script", e);
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
return paths;
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
exports.VtxoScript = VtxoScript;
|
|
151
|
-
/**
|
|
152
|
-
* Extract the timelock value encoded in a timelocked tapleaf, if any.
|
|
153
|
-
*
|
|
154
|
-
* The return value is unit-ambiguous: for a CSV leaf it is a BIP-68
|
|
155
|
-
* nSequence (relative timelock); for a CLTV leaf it is an absolute
|
|
156
|
-
* nLockTime. Callers must know which leaf shape they are inspecting to
|
|
157
|
-
* interpret the number correctly, and must not copy a CSV result into
|
|
158
|
-
* `Transaction.lockTime` (or vice versa).
|
|
159
|
-
*
|
|
160
|
-
* @param tapLeafScript - Tapleaf script to inspect
|
|
161
|
-
* @returns The encoded timelock value, or `undefined` when neither a CSV
|
|
162
|
-
* nor CLTV path is present
|
|
163
|
-
* @see VtxoScript.exitPaths
|
|
164
|
-
*/
|
|
165
|
-
// TODO(next-major): return a discriminated union
|
|
166
|
-
// (`{ kind: "relative", nSequence } | { kind: "absolute", lockTime }`)
|
|
167
|
-
// so callers can't conflate the two. Deferred because changing the
|
|
168
|
-
// return type is a breaking change.
|
|
169
|
-
function getSequence(tapLeafScript) {
|
|
170
|
-
let sequence = undefined;
|
|
171
|
-
try {
|
|
172
|
-
const scriptWithLeafVersion = tapLeafScript[1];
|
|
173
|
-
const script = scriptWithLeafVersion.subarray(0, scriptWithLeafVersion.length - 1);
|
|
174
|
-
try {
|
|
175
|
-
const params = tapscript_1.CSVMultisigTapscript.decode(script).params;
|
|
176
|
-
sequence = (0, timelock_1.timelockToSequence)(params.timelock);
|
|
177
|
-
}
|
|
178
|
-
catch {
|
|
179
|
-
const params = tapscript_1.CLTVMultisigTapscript.decode(script).params;
|
|
180
|
-
sequence = Number(params.absoluteTimelock);
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
catch { }
|
|
184
|
-
return sequence;
|
|
185
|
-
}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DefaultVtxo = void 0;
|
|
4
|
-
const base_1 = require("./base");
|
|
5
|
-
const tapscript_1 = require("./tapscript");
|
|
6
|
-
const base_2 = require("@scure/base");
|
|
7
|
-
/**
|
|
8
|
-
* DefaultVtxo is the default implementation of a VtxoScript.
|
|
9
|
-
* It contains 1 forfeit path and 1 exit path.
|
|
10
|
-
* - forfeit = (Alice + Server)
|
|
11
|
-
* - exit = (Alice) after csvTimelock
|
|
12
|
-
*/
|
|
13
|
-
var DefaultVtxo;
|
|
14
|
-
(function (DefaultVtxo) {
|
|
15
|
-
/**
|
|
16
|
-
* DefaultVtxo.Script is the class letting to create the vtxo script.
|
|
17
|
-
* @example
|
|
18
|
-
* ```typescript
|
|
19
|
-
* const vtxoScript = new DefaultVtxo.Script({
|
|
20
|
-
* pubKey: new Uint8Array(32),
|
|
21
|
-
* serverPubKey: new Uint8Array(32),
|
|
22
|
-
* });
|
|
23
|
-
*
|
|
24
|
-
* console.log("script pub key:", vtxoScript.pkScript)
|
|
25
|
-
* ```
|
|
26
|
-
*/
|
|
27
|
-
class Script extends base_1.VtxoScript {
|
|
28
|
-
/** Create the default virtual output script with one forfeit path and one exit path. */
|
|
29
|
-
constructor(options) {
|
|
30
|
-
const { pubKey, serverPubKey, csvTimelock = Script.DEFAULT_TIMELOCK, } = options;
|
|
31
|
-
const forfeitScript = tapscript_1.MultisigTapscript.encode({
|
|
32
|
-
pubkeys: [pubKey, serverPubKey],
|
|
33
|
-
}).script;
|
|
34
|
-
const exitScript = tapscript_1.CSVMultisigTapscript.encode({
|
|
35
|
-
timelock: csvTimelock,
|
|
36
|
-
pubkeys: [pubKey],
|
|
37
|
-
}).script;
|
|
38
|
-
super([forfeitScript, exitScript]);
|
|
39
|
-
this.options = options;
|
|
40
|
-
this.forfeitScript = base_2.hex.encode(forfeitScript);
|
|
41
|
-
this.exitScript = base_2.hex.encode(exitScript);
|
|
42
|
-
}
|
|
43
|
-
/** Return the forfeit tapleaf script. */
|
|
44
|
-
forfeit() {
|
|
45
|
-
return this.findLeaf(this.forfeitScript);
|
|
46
|
-
}
|
|
47
|
-
/** Return the unilateral exit tapleaf script. */
|
|
48
|
-
exit() {
|
|
49
|
-
return this.findLeaf(this.exitScript);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
Script.DEFAULT_TIMELOCK = {
|
|
53
|
-
value: 144n,
|
|
54
|
-
type: "blocks",
|
|
55
|
-
}; // 1 day in blocks
|
|
56
|
-
DefaultVtxo.Script = Script;
|
|
57
|
-
})(DefaultVtxo || (exports.DefaultVtxo = DefaultVtxo = {}));
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DelegateVtxo = void 0;
|
|
4
|
-
const default_1 = require("./default");
|
|
5
|
-
const tapscript_1 = require("./tapscript");
|
|
6
|
-
const base_1 = require("./base");
|
|
7
|
-
const base_2 = require("@scure/base");
|
|
8
|
-
/**
|
|
9
|
-
* DelegateVtxo extends DefaultVtxo with an extra delegator path
|
|
10
|
-
*/
|
|
11
|
-
var DelegateVtxo;
|
|
12
|
-
(function (DelegateVtxo) {
|
|
13
|
-
/**
|
|
14
|
-
* DelegateVtxo.Script extends DefaultVtxo.Script and adds a delegate path.
|
|
15
|
-
* @example
|
|
16
|
-
* ```typescript
|
|
17
|
-
* const vtxoScript = new DelegateVtxo.Script({
|
|
18
|
-
* pubKey: new Uint8Array(32),
|
|
19
|
-
* serverPubKey: new Uint8Array(32),
|
|
20
|
-
* delegatePubKey: new Uint8Array(32),
|
|
21
|
-
* });
|
|
22
|
-
*
|
|
23
|
-
* console.log("script pub key:", vtxoScript.pkScript)
|
|
24
|
-
* ```
|
|
25
|
-
*/
|
|
26
|
-
class Script extends base_1.VtxoScript {
|
|
27
|
-
/** Create a delegated virtual output script with forfeit, exit, and delegate paths. */
|
|
28
|
-
constructor(options) {
|
|
29
|
-
const defaultVtxo = new default_1.DefaultVtxo.Script(options);
|
|
30
|
-
const { delegatePubKey, pubKey, serverPubKey } = options;
|
|
31
|
-
const delegateScript = tapscript_1.MultisigTapscript.encode({
|
|
32
|
-
pubkeys: [pubKey, delegatePubKey, serverPubKey],
|
|
33
|
-
}).script;
|
|
34
|
-
super([...defaultVtxo.scripts, delegateScript]);
|
|
35
|
-
this.options = options;
|
|
36
|
-
this.defaultVtxo = defaultVtxo;
|
|
37
|
-
this.delegateScript = base_2.hex.encode(delegateScript);
|
|
38
|
-
}
|
|
39
|
-
/** Return the forfeit tapleaf script. */
|
|
40
|
-
forfeit() {
|
|
41
|
-
return this.findLeaf(this.defaultVtxo.forfeitScript);
|
|
42
|
-
}
|
|
43
|
-
/** Return the unilateral exit tapleaf script. */
|
|
44
|
-
exit() {
|
|
45
|
-
return this.findLeaf(this.defaultVtxo.exitScript);
|
|
46
|
-
}
|
|
47
|
-
/** Return the delegate tapleaf script. */
|
|
48
|
-
delegate() {
|
|
49
|
-
return this.findLeaf(this.delegateScript);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
DelegateVtxo.Script = Script;
|
|
53
|
-
})(DelegateVtxo || (exports.DelegateVtxo = DelegateVtxo = {}));
|