@bsv/sdk 2.0.0-beta.0 → 2.0.1
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/dist/cjs/mod.js +1 -0
- package/dist/cjs/mod.js.map +1 -1
- package/dist/cjs/package.json +1 -1
- package/dist/cjs/src/auth/Peer.js +149 -74
- package/dist/cjs/src/auth/Peer.js.map +1 -1
- package/dist/cjs/src/auth/SessionManager.js.map +1 -1
- package/dist/cjs/src/auth/certificates/Certificate.js +18 -8
- package/dist/cjs/src/auth/certificates/Certificate.js.map +1 -1
- package/dist/cjs/src/auth/certificates/MasterCertificate.js +19 -9
- package/dist/cjs/src/auth/certificates/MasterCertificate.js.map +1 -1
- package/dist/cjs/src/auth/certificates/VerifiableCertificate.js +17 -7
- package/dist/cjs/src/auth/certificates/VerifiableCertificate.js.map +1 -1
- package/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
- package/dist/cjs/src/auth/clients/AuthFetch.js +30 -10
- package/dist/cjs/src/auth/clients/AuthFetch.js.map +1 -1
- package/dist/cjs/src/auth/clients/__tests__/AuthFetch.test.js.map +1 -1
- package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js +17 -7
- package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
- package/dist/cjs/src/auth/transports/__tests__/SimplifiedFetchTransport.test.js +17 -7
- package/dist/cjs/src/auth/transports/__tests__/SimplifiedFetchTransport.test.js.map +1 -1
- package/dist/cjs/src/auth/utils/createNonce.js +18 -9
- package/dist/cjs/src/auth/utils/createNonce.js.map +1 -1
- package/dist/cjs/src/auth/utils/validateCertificates.js.map +1 -1
- package/dist/cjs/src/auth/utils/verifyNonce.js +18 -9
- package/dist/cjs/src/auth/utils/verifyNonce.js.map +1 -1
- package/dist/cjs/src/compat/BSM.js +17 -7
- package/dist/cjs/src/compat/BSM.js.map +1 -1
- package/dist/cjs/src/compat/ECIES.js +17 -7
- package/dist/cjs/src/compat/ECIES.js.map +1 -1
- package/dist/cjs/src/compat/HD.js +17 -7
- package/dist/cjs/src/compat/HD.js.map +1 -1
- package/dist/cjs/src/compat/Mnemonic.js +17 -7
- package/dist/cjs/src/compat/Mnemonic.js.map +1 -1
- package/dist/cjs/src/compat/Utxo.js +1 -1
- package/dist/cjs/src/compat/Utxo.js.map +1 -1
- package/dist/cjs/src/compat/index.js +17 -7
- package/dist/cjs/src/compat/index.js.map +1 -1
- package/dist/cjs/src/identity/ContactsManager.js +1 -1
- package/dist/cjs/src/identity/ContactsManager.js.map +1 -1
- package/dist/cjs/src/identity/IdentityClient.js.map +1 -1
- package/dist/cjs/src/kvstore/GlobalKVStore.js +20 -10
- package/dist/cjs/src/kvstore/GlobalKVStore.js.map +1 -1
- package/dist/cjs/src/kvstore/LocalKVStore.js +17 -7
- package/dist/cjs/src/kvstore/LocalKVStore.js.map +1 -1
- package/dist/cjs/src/kvstore/kvStoreInterpreter.js +17 -7
- package/dist/cjs/src/kvstore/kvStoreInterpreter.js.map +1 -1
- package/dist/cjs/src/messages/EncryptedMessage.js +19 -0
- package/dist/cjs/src/messages/EncryptedMessage.js.map +1 -1
- package/dist/cjs/src/messages/SignedMessage.js.map +1 -1
- package/dist/cjs/src/messages/index.js +17 -7
- package/dist/cjs/src/messages/index.js.map +1 -1
- package/dist/cjs/src/overlay-tools/Historian.js.map +1 -1
- package/dist/cjs/src/overlay-tools/HostReputationTracker.js.map +1 -1
- package/dist/cjs/src/overlay-tools/LookupResolver.js +17 -7
- package/dist/cjs/src/overlay-tools/LookupResolver.js.map +1 -1
- package/dist/cjs/src/overlay-tools/OverlayAdminTokenTemplate.js.map +1 -1
- package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js +17 -7
- package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
- package/dist/cjs/src/overlay-tools/withDoubleSpendRetry.js +1 -2
- package/dist/cjs/src/overlay-tools/withDoubleSpendRetry.js.map +1 -1
- package/dist/cjs/src/primitives/AESGCM.js +77 -32
- package/dist/cjs/src/primitives/AESGCM.js.map +1 -1
- package/dist/cjs/src/primitives/BigNumber.js +28 -54
- package/dist/cjs/src/primitives/BigNumber.js.map +1 -1
- package/dist/cjs/src/primitives/Curve.js.map +1 -1
- package/dist/cjs/src/primitives/DRBG.js.map +1 -1
- package/dist/cjs/src/primitives/ECDSA.js +58 -24
- package/dist/cjs/src/primitives/ECDSA.js.map +1 -1
- package/dist/cjs/src/primitives/Hash.js +6 -6
- package/dist/cjs/src/primitives/Hash.js.map +1 -1
- package/dist/cjs/src/primitives/JacobianPoint.js.map +1 -1
- package/dist/cjs/src/primitives/K256.js.map +1 -1
- package/dist/cjs/src/primitives/Mersenne.js.map +1 -1
- package/dist/cjs/src/primitives/MontgomoryMethod.js.map +1 -1
- package/dist/cjs/src/primitives/Point.js +63 -6
- package/dist/cjs/src/primitives/Point.js.map +1 -1
- package/dist/cjs/src/primitives/Polynomial.js.map +1 -1
- package/dist/cjs/src/primitives/PrivateKey.js +46 -9
- package/dist/cjs/src/primitives/PrivateKey.js.map +1 -1
- package/dist/cjs/src/primitives/PublicKey.js +1 -1
- package/dist/cjs/src/primitives/PublicKey.js.map +1 -1
- package/dist/cjs/src/primitives/Random.js.map +1 -1
- package/dist/cjs/src/primitives/ReaderUint8Array.js +180 -0
- package/dist/cjs/src/primitives/ReaderUint8Array.js.map +1 -0
- package/dist/cjs/src/primitives/ReductionContext.js +35 -46
- package/dist/cjs/src/primitives/ReductionContext.js.map +1 -1
- package/dist/cjs/src/primitives/Schnorr.js.map +1 -1
- package/dist/cjs/src/primitives/Secp256r1.js.map +1 -1
- package/dist/cjs/src/primitives/Signature.js.map +1 -1
- package/dist/cjs/src/primitives/SymmetricKey.js.map +1 -1
- package/dist/cjs/src/primitives/TransactionSignature.js +132 -17
- package/dist/cjs/src/primitives/TransactionSignature.js.map +1 -1
- package/dist/cjs/src/primitives/WriterUint8Array.js +173 -0
- package/dist/cjs/src/primitives/WriterUint8Array.js.map +1 -0
- package/dist/cjs/src/primitives/hex.js +2 -3
- package/dist/cjs/src/primitives/hex.js.map +1 -1
- package/dist/cjs/src/primitives/index.js +17 -7
- package/dist/cjs/src/primitives/index.js.map +1 -1
- package/dist/cjs/src/primitives/utils.js +43 -16
- package/dist/cjs/src/primitives/utils.js.map +1 -1
- package/dist/cjs/src/registry/RegistryClient.js +2 -2
- package/dist/cjs/src/registry/RegistryClient.js.map +1 -1
- package/dist/cjs/src/remittance/CommsLayer.js +3 -0
- package/dist/cjs/src/remittance/CommsLayer.js.map +1 -0
- package/dist/cjs/src/remittance/IdentityLayer.js +3 -0
- package/dist/cjs/src/remittance/IdentityLayer.js.map +1 -0
- package/dist/cjs/src/remittance/RemittanceManager.js +1245 -0
- package/dist/cjs/src/remittance/RemittanceManager.js.map +1 -0
- package/dist/cjs/src/remittance/RemittanceModule.js +3 -0
- package/dist/cjs/src/remittance/RemittanceModule.js.map +1 -0
- package/dist/cjs/src/remittance/index.js +23 -0
- package/dist/cjs/src/remittance/index.js.map +1 -0
- package/dist/cjs/src/remittance/modules/BasicBRC29.js +225 -0
- package/dist/cjs/src/remittance/modules/BasicBRC29.js.map +1 -0
- package/dist/cjs/src/remittance/modules/index.js +18 -0
- package/dist/cjs/src/remittance/modules/index.js.map +1 -0
- package/dist/cjs/src/remittance/types.js +22 -0
- package/dist/cjs/src/remittance/types.js.map +1 -0
- package/dist/cjs/src/script/OP.js +15 -13
- package/dist/cjs/src/script/OP.js.map +1 -1
- package/dist/cjs/src/script/Script.js +80 -5
- package/dist/cjs/src/script/Script.js.map +1 -1
- package/dist/cjs/src/script/Spend.js +145 -53
- package/dist/cjs/src/script/Spend.js.map +1 -1
- package/dist/cjs/src/script/templates/P2PKH.js.map +1 -1
- package/dist/cjs/src/script/templates/PushDrop.js +21 -7
- package/dist/cjs/src/script/templates/PushDrop.js.map +1 -1
- package/dist/cjs/src/script/templates/RPuzzle.js.map +1 -1
- package/dist/cjs/src/storage/StorageDownloader.js.map +1 -1
- package/dist/cjs/src/storage/StorageUploader.js +17 -7
- package/dist/cjs/src/storage/StorageUploader.js.map +1 -1
- package/dist/cjs/src/storage/StorageUtils.js.map +1 -1
- package/dist/cjs/src/storage/index.js +17 -7
- package/dist/cjs/src/storage/index.js.map +1 -1
- package/dist/cjs/src/totp/totp.js.map +1 -1
- package/dist/cjs/src/transaction/Beef.js +85 -27
- package/dist/cjs/src/transaction/Beef.js.map +1 -1
- package/dist/cjs/src/transaction/BeefParty.js.map +1 -1
- package/dist/cjs/src/transaction/BeefTx.js +32 -14
- package/dist/cjs/src/transaction/BeefTx.js.map +1 -1
- package/dist/cjs/src/transaction/Broadcaster.js +2 -3
- package/dist/cjs/src/transaction/Broadcaster.js.map +1 -1
- package/dist/cjs/src/transaction/MerklePath.js +25 -6
- package/dist/cjs/src/transaction/MerklePath.js.map +1 -1
- package/dist/cjs/src/transaction/Transaction.js +238 -27
- package/dist/cjs/src/transaction/Transaction.js.map +1 -1
- package/dist/cjs/src/transaction/broadcasters/ARC.js +23 -0
- package/dist/cjs/src/transaction/broadcasters/ARC.js.map +1 -1
- package/dist/cjs/src/transaction/broadcasters/DefaultBroadcaster.js +1 -2
- package/dist/cjs/src/transaction/broadcasters/DefaultBroadcaster.js.map +1 -1
- package/dist/cjs/src/transaction/broadcasters/Teranode.js.map +1 -1
- package/dist/cjs/src/transaction/broadcasters/WhatsOnChainBroadcaster.js.map +1 -1
- package/dist/cjs/src/transaction/chaintrackers/BlockHeadersService.js.map +1 -1
- package/dist/cjs/src/transaction/chaintrackers/DefaultChainTracker.js +1 -2
- package/dist/cjs/src/transaction/chaintrackers/DefaultChainTracker.js.map +1 -1
- package/dist/cjs/src/transaction/chaintrackers/WhatsOnChain.js.map +1 -1
- package/dist/cjs/src/transaction/fee-models/LivePolicy.js.map +1 -1
- package/dist/cjs/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
- package/dist/cjs/src/transaction/http/BinaryFetchClient.js +2 -2
- package/dist/cjs/src/transaction/http/BinaryFetchClient.js.map +1 -1
- package/dist/cjs/src/transaction/http/DefaultHttpClient.js +1 -2
- package/dist/cjs/src/transaction/http/DefaultHttpClient.js.map +1 -1
- package/dist/cjs/src/transaction/http/NodejsHttpClient.js.map +1 -1
- package/dist/cjs/src/wallet/CachedKeyDeriver.js.map +1 -1
- package/dist/cjs/src/wallet/KeyDeriver.js.map +1 -1
- package/dist/cjs/src/wallet/ProtoWallet.js +1 -1
- package/dist/cjs/src/wallet/ProtoWallet.js.map +1 -1
- package/dist/cjs/src/wallet/WalletClient.js.map +1 -1
- package/dist/cjs/src/wallet/WalletError.js.map +1 -1
- package/dist/cjs/src/wallet/index.js +17 -7
- package/dist/cjs/src/wallet/index.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/HTTPWalletWire.js +17 -7
- package/dist/cjs/src/wallet/substrates/HTTPWalletWire.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/ReactNativeWebView.js +17 -7
- package/dist/cjs/src/wallet/substrates/ReactNativeWebView.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js +17 -7
- package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js +17 -7
- package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/XDM.js +17 -7
- package/dist/cjs/src/wallet/substrates/XDM.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/utils/toOriginHeader.js +1 -2
- package/dist/cjs/src/wallet/substrates/utils/toOriginHeader.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/window.CWI.js.map +1 -1
- package/dist/cjs/src/wallet/validationHelpers.js +51 -41
- package/dist/cjs/src/wallet/validationHelpers.js.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/mod.js +1 -0
- package/dist/esm/mod.js.map +1 -1
- package/dist/esm/src/auth/Peer.js +132 -67
- package/dist/esm/src/auth/Peer.js.map +1 -1
- package/dist/esm/src/auth/SessionManager.js.map +1 -1
- package/dist/esm/src/auth/certificates/Certificate.js +1 -1
- package/dist/esm/src/auth/certificates/Certificate.js.map +1 -1
- package/dist/esm/src/auth/certificates/MasterCertificate.js +2 -2
- package/dist/esm/src/auth/certificates/MasterCertificate.js.map +1 -1
- package/dist/esm/src/auth/certificates/VerifiableCertificate.js.map +1 -1
- package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
- package/dist/esm/src/auth/clients/AuthFetch.js +13 -3
- package/dist/esm/src/auth/clients/AuthFetch.js.map +1 -1
- package/dist/esm/src/auth/clients/__tests__/AuthFetch.test.js.map +1 -1
- package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
- package/dist/esm/src/auth/transports/__tests__/SimplifiedFetchTransport.test.js.map +1 -1
- package/dist/esm/src/auth/utils/validateCertificates.js.map +1 -1
- package/dist/esm/src/compat/BSM.js.map +1 -1
- package/dist/esm/src/compat/ECIES.js.map +1 -1
- package/dist/esm/src/compat/HD.js.map +1 -1
- package/dist/esm/src/compat/Mnemonic.js.map +1 -1
- package/dist/esm/src/identity/ContactsManager.js +1 -1
- package/dist/esm/src/identity/ContactsManager.js.map +1 -1
- package/dist/esm/src/identity/IdentityClient.js.map +1 -1
- package/dist/esm/src/kvstore/GlobalKVStore.js +3 -3
- package/dist/esm/src/kvstore/GlobalKVStore.js.map +1 -1
- package/dist/esm/src/kvstore/LocalKVStore.js.map +1 -1
- package/dist/esm/src/kvstore/kvStoreInterpreter.js.map +1 -1
- package/dist/esm/src/messages/EncryptedMessage.js +19 -0
- package/dist/esm/src/messages/EncryptedMessage.js.map +1 -1
- package/dist/esm/src/messages/SignedMessage.js.map +1 -1
- package/dist/esm/src/overlay-tools/Historian.js.map +1 -1
- package/dist/esm/src/overlay-tools/HostReputationTracker.js.map +1 -1
- package/dist/esm/src/overlay-tools/LookupResolver.js.map +1 -1
- package/dist/esm/src/overlay-tools/OverlayAdminTokenTemplate.js.map +1 -1
- package/dist/esm/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
- package/dist/esm/src/overlay-tools/withDoubleSpendRetry.js.map +1 -1
- package/dist/esm/src/primitives/AESGCM.js +71 -26
- package/dist/esm/src/primitives/AESGCM.js.map +1 -1
- package/dist/esm/src/primitives/BigNumber.js +28 -54
- package/dist/esm/src/primitives/BigNumber.js.map +1 -1
- package/dist/esm/src/primitives/Curve.js.map +1 -1
- package/dist/esm/src/primitives/DRBG.js.map +1 -1
- package/dist/esm/src/primitives/ECDSA.js +58 -24
- package/dist/esm/src/primitives/ECDSA.js.map +1 -1
- package/dist/esm/src/primitives/Hash.js.map +1 -1
- package/dist/esm/src/primitives/JacobianPoint.js.map +1 -1
- package/dist/esm/src/primitives/K256.js.map +1 -1
- package/dist/esm/src/primitives/Mersenne.js.map +1 -1
- package/dist/esm/src/primitives/MontgomoryMethod.js.map +1 -1
- package/dist/esm/src/primitives/Point.js +61 -4
- package/dist/esm/src/primitives/Point.js.map +1 -1
- package/dist/esm/src/primitives/Polynomial.js.map +1 -1
- package/dist/esm/src/primitives/PrivateKey.js +29 -2
- package/dist/esm/src/primitives/PrivateKey.js.map +1 -1
- package/dist/esm/src/primitives/PublicKey.js +1 -1
- package/dist/esm/src/primitives/PublicKey.js.map +1 -1
- package/dist/esm/src/primitives/Random.js.map +1 -1
- package/dist/esm/src/primitives/ReaderUint8Array.js +176 -0
- package/dist/esm/src/primitives/ReaderUint8Array.js.map +1 -0
- package/dist/esm/src/primitives/ReductionContext.js +35 -46
- package/dist/esm/src/primitives/ReductionContext.js.map +1 -1
- package/dist/esm/src/primitives/Schnorr.js.map +1 -1
- package/dist/esm/src/primitives/Secp256r1.js.map +1 -1
- package/dist/esm/src/primitives/Signature.js.map +1 -1
- package/dist/esm/src/primitives/SymmetricKey.js.map +1 -1
- package/dist/esm/src/primitives/TransactionSignature.js +115 -10
- package/dist/esm/src/primitives/TransactionSignature.js.map +1 -1
- package/dist/esm/src/primitives/WriterUint8Array.js +169 -0
- package/dist/esm/src/primitives/WriterUint8Array.js.map +1 -0
- package/dist/esm/src/primitives/hex.js.map +1 -1
- package/dist/esm/src/primitives/utils.js +37 -11
- package/dist/esm/src/primitives/utils.js.map +1 -1
- package/dist/esm/src/registry/RegistryClient.js.map +1 -1
- package/dist/esm/src/remittance/CommsLayer.js +2 -0
- package/dist/esm/src/remittance/CommsLayer.js.map +1 -0
- package/dist/esm/src/remittance/IdentityLayer.js +2 -0
- package/dist/esm/src/remittance/IdentityLayer.js.map +1 -0
- package/dist/esm/src/remittance/RemittanceManager.js +1254 -0
- package/dist/esm/src/remittance/RemittanceManager.js.map +1 -0
- package/dist/esm/src/remittance/RemittanceModule.js +2 -0
- package/dist/esm/src/remittance/RemittanceModule.js.map +1 -0
- package/dist/esm/src/remittance/index.js +7 -0
- package/dist/esm/src/remittance/index.js.map +1 -0
- package/dist/esm/src/remittance/modules/BasicBRC29.js +227 -0
- package/dist/esm/src/remittance/modules/BasicBRC29.js.map +1 -0
- package/dist/esm/src/remittance/modules/index.js +2 -0
- package/dist/esm/src/remittance/modules/index.js.map +1 -0
- package/dist/esm/src/remittance/types.js +19 -0
- package/dist/esm/src/remittance/types.js.map +1 -0
- package/dist/esm/src/script/OP.js +15 -13
- package/dist/esm/src/script/OP.js.map +1 -1
- package/dist/esm/src/script/Script.js +80 -5
- package/dist/esm/src/script/Script.js.map +1 -1
- package/dist/esm/src/script/Spend.js +129 -46
- package/dist/esm/src/script/Spend.js.map +1 -1
- package/dist/esm/src/script/templates/P2PKH.js.map +1 -1
- package/dist/esm/src/script/templates/PushDrop.js +21 -7
- package/dist/esm/src/script/templates/PushDrop.js.map +1 -1
- package/dist/esm/src/script/templates/RPuzzle.js.map +1 -1
- package/dist/esm/src/storage/StorageDownloader.js.map +1 -1
- package/dist/esm/src/storage/StorageUploader.js.map +1 -1
- package/dist/esm/src/storage/StorageUtils.js.map +1 -1
- package/dist/esm/src/totp/totp.js.map +1 -1
- package/dist/esm/src/transaction/Beef.js +86 -28
- package/dist/esm/src/transaction/Beef.js.map +1 -1
- package/dist/esm/src/transaction/BeefParty.js.map +1 -1
- package/dist/esm/src/transaction/BeefTx.js +32 -14
- package/dist/esm/src/transaction/BeefTx.js.map +1 -1
- package/dist/esm/src/transaction/MerklePath.js +26 -7
- package/dist/esm/src/transaction/MerklePath.js.map +1 -1
- package/dist/esm/src/transaction/Transaction.js +239 -28
- package/dist/esm/src/transaction/Transaction.js.map +1 -1
- package/dist/esm/src/transaction/broadcasters/ARC.js +23 -0
- package/dist/esm/src/transaction/broadcasters/ARC.js.map +1 -1
- package/dist/esm/src/transaction/broadcasters/Teranode.js.map +1 -1
- package/dist/esm/src/transaction/broadcasters/WhatsOnChainBroadcaster.js.map +1 -1
- package/dist/esm/src/transaction/chaintrackers/BlockHeadersService.js.map +1 -1
- package/dist/esm/src/transaction/chaintrackers/WhatsOnChain.js.map +1 -1
- package/dist/esm/src/transaction/fee-models/LivePolicy.js.map +1 -1
- package/dist/esm/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
- package/dist/esm/src/transaction/http/BinaryFetchClient.js.map +1 -1
- package/dist/esm/src/transaction/http/DefaultHttpClient.js.map +1 -1
- package/dist/esm/src/transaction/http/NodejsHttpClient.js.map +1 -1
- package/dist/esm/src/wallet/CachedKeyDeriver.js.map +1 -1
- package/dist/esm/src/wallet/KeyDeriver.js.map +1 -1
- package/dist/esm/src/wallet/ProtoWallet.js +1 -1
- package/dist/esm/src/wallet/ProtoWallet.js.map +1 -1
- package/dist/esm/src/wallet/WalletClient.js.map +1 -1
- package/dist/esm/src/wallet/WalletError.js.map +1 -1
- package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
- package/dist/esm/src/wallet/substrates/HTTPWalletWire.js.map +1 -1
- package/dist/esm/src/wallet/substrates/ReactNativeWebView.js.map +1 -1
- package/dist/esm/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
- package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
- package/dist/esm/src/wallet/substrates/XDM.js.map +1 -1
- package/dist/esm/src/wallet/substrates/utils/toOriginHeader.js.map +1 -1
- package/dist/esm/src/wallet/substrates/window.CWI.js.map +1 -1
- package/dist/esm/src/wallet/validationHelpers.js +1 -1
- package/dist/esm/src/wallet/validationHelpers.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/types/mod.d.ts +1 -0
- package/dist/types/mod.d.ts.map +1 -1
- package/dist/types/src/auth/Peer.d.ts +12 -7
- package/dist/types/src/auth/Peer.d.ts.map +1 -1
- package/dist/types/src/auth/certificates/MasterCertificate.d.ts.map +1 -1
- package/dist/types/src/auth/clients/AuthFetch.d.ts.map +1 -1
- package/dist/types/src/auth/types.d.ts +2 -0
- package/dist/types/src/auth/types.d.ts.map +1 -1
- package/dist/types/src/auth/utils/getVerifiableCertificates.d.ts.map +1 -1
- package/dist/types/src/auth/utils/validateCertificates.d.ts.map +1 -1
- package/dist/types/src/compat/BSM.d.ts +1 -1
- package/dist/types/src/compat/BSM.d.ts.map +1 -1
- package/dist/types/src/messages/EncryptedMessage.d.ts +19 -0
- package/dist/types/src/messages/EncryptedMessage.d.ts.map +1 -1
- package/dist/types/src/messages/SignedMessage.d.ts.map +1 -1
- package/dist/types/src/primitives/AESGCM.d.ts +18 -0
- package/dist/types/src/primitives/AESGCM.d.ts.map +1 -1
- package/dist/types/src/primitives/BigNumber.d.ts +8 -0
- package/dist/types/src/primitives/BigNumber.d.ts.map +1 -1
- package/dist/types/src/primitives/ECDSA.d.ts +24 -0
- package/dist/types/src/primitives/ECDSA.d.ts.map +1 -1
- package/dist/types/src/primitives/Hash.d.ts +8 -8
- package/dist/types/src/primitives/Hash.d.ts.map +1 -1
- package/dist/types/src/primitives/Point.d.ts +1 -0
- package/dist/types/src/primitives/Point.d.ts.map +1 -1
- package/dist/types/src/primitives/PrivateKey.d.ts +27 -0
- package/dist/types/src/primitives/PrivateKey.d.ts.map +1 -1
- package/dist/types/src/primitives/Random.d.ts.map +1 -1
- package/dist/types/src/primitives/ReaderUint8Array.d.ts +32 -0
- package/dist/types/src/primitives/ReaderUint8Array.d.ts.map +1 -0
- package/dist/types/src/primitives/ReductionContext.d.ts +9 -0
- package/dist/types/src/primitives/ReductionContext.d.ts.map +1 -1
- package/dist/types/src/primitives/Secp256r1.d.ts.map +1 -1
- package/dist/types/src/primitives/TransactionSignature.d.ts +16 -4
- package/dist/types/src/primitives/TransactionSignature.d.ts.map +1 -1
- package/dist/types/src/primitives/WriterUint8Array.d.ts +54 -0
- package/dist/types/src/primitives/WriterUint8Array.d.ts.map +1 -0
- package/dist/types/src/primitives/utils.d.ts +19 -6
- package/dist/types/src/primitives/utils.d.ts.map +1 -1
- package/dist/types/src/remittance/CommsLayer.d.ts +50 -0
- package/dist/types/src/remittance/CommsLayer.d.ts.map +1 -0
- package/dist/types/src/remittance/IdentityLayer.d.ts +35 -0
- package/dist/types/src/remittance/IdentityLayer.d.ts.map +1 -0
- package/dist/types/src/remittance/RemittanceManager.d.ts +452 -0
- package/dist/types/src/remittance/RemittanceManager.d.ts.map +1 -0
- package/dist/types/src/remittance/RemittanceModule.d.ts +106 -0
- package/dist/types/src/remittance/RemittanceModule.d.ts.map +1 -0
- package/dist/types/src/remittance/index.d.ts +7 -0
- package/dist/types/src/remittance/index.d.ts.map +1 -0
- package/dist/types/src/remittance/modules/BasicBRC29.d.ts +133 -0
- package/dist/types/src/remittance/modules/BasicBRC29.d.ts.map +1 -0
- package/dist/types/src/remittance/modules/index.d.ts +2 -0
- package/dist/types/src/remittance/modules/index.d.ts.map +1 -0
- package/dist/types/src/remittance/types.d.ts +238 -0
- package/dist/types/src/remittance/types.d.ts.map +1 -0
- package/dist/types/src/script/OP.d.ts +5 -3
- package/dist/types/src/script/OP.d.ts.map +1 -1
- package/dist/types/src/script/Script.d.ts.map +1 -1
- package/dist/types/src/script/Spend.d.ts +7 -0
- package/dist/types/src/script/Spend.d.ts.map +1 -1
- package/dist/types/src/script/templates/PushDrop.d.ts +3 -4
- package/dist/types/src/script/templates/PushDrop.d.ts.map +1 -1
- package/dist/types/src/storage/StorageUtils.d.ts.map +1 -1
- package/dist/types/src/transaction/Beef.d.ts +26 -9
- package/dist/types/src/transaction/Beef.d.ts.map +1 -1
- package/dist/types/src/transaction/BeefTx.d.ts +13 -6
- package/dist/types/src/transaction/BeefTx.d.ts.map +1 -1
- package/dist/types/src/transaction/MerklePath.d.ts +16 -3
- package/dist/types/src/transaction/MerklePath.d.ts.map +1 -1
- package/dist/types/src/transaction/Transaction.d.ts +58 -7
- package/dist/types/src/transaction/Transaction.d.ts.map +1 -1
- package/dist/types/src/transaction/broadcasters/ARC.d.ts.map +1 -1
- package/dist/types/src/transaction/http/BinaryFetchClient.d.ts +0 -2
- package/dist/types/src/transaction/http/BinaryFetchClient.d.ts.map +1 -1
- package/dist/types/src/wallet/Wallet.interfaces.d.ts +5 -5
- package/dist/types/src/wallet/Wallet.interfaces.d.ts.map +1 -1
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/dist/umd/bundle.js +13 -13
- package/dist/umd/bundle.js.map +1 -1
- package/docs/index.md +3 -1
- package/docs/reference/auth.md +8 -12
- package/docs/reference/primitives.md +260 -55
- package/docs/reference/remittance.md +2166 -0
- package/docs/reference/script.md +12 -4
- package/docs/reference/transaction.md +203 -34
- package/docs/reference/wallet.md +6 -5
- package/docs/remittance-getting-started.md +138 -0
- package/mod.ts +1 -0
- package/package.json +11 -1
- package/src/auth/Peer.ts +196 -85
- package/src/auth/__tests/Peer.test.ts +424 -257
- package/src/auth/clients/AuthFetch.ts +18 -3
- package/src/auth/types.ts +2 -0
- package/src/messages/EncryptedMessage.ts +19 -0
- package/src/overlay-tools/__tests/SHIPBroadcaster.test.ts +7 -0
- package/src/primitives/AESGCM.ts +75 -34
- package/src/primitives/BigNumber.ts +27 -31
- package/src/primitives/ECDSA.ts +41 -2
- package/src/primitives/PrivateKey.ts +27 -0
- package/src/primitives/ReaderUint8Array.ts +196 -0
- package/src/primitives/ReductionContext.ts +44 -48
- package/src/primitives/TransactionSignature.ts +129 -10
- package/src/primitives/WriterUint8Array.ts +195 -0
- package/src/primitives/__tests/AESGCM.test.ts +31 -0
- package/src/primitives/__tests/ECDSA.test.ts +16 -0
- package/src/primitives/__tests/ReaderUint8Array.test.ts +317 -0
- package/src/primitives/__tests/WriterUint8Array.test.ts +208 -0
- package/src/primitives/utils.ts +31 -4
- package/src/remittance/CommsLayer.ts +41 -0
- package/src/remittance/IdentityLayer.ts +32 -0
- package/src/remittance/RemittanceManager.ts +1672 -0
- package/src/remittance/RemittanceModule.ts +92 -0
- package/src/remittance/__tests/BasicBRC29.test.ts +188 -0
- package/src/remittance/__tests/RemittanceManager.test.ts +493 -0
- package/src/remittance/__tests/examples.ts +130 -0
- package/src/remittance/index.ts +6 -0
- package/src/remittance/modules/BasicBRC29.ts +361 -0
- package/src/remittance/modules/index.ts +1 -0
- package/src/remittance/types.ts +284 -0
- package/src/script/OP.ts +15 -13
- package/src/script/Script.ts +70 -5
- package/src/script/Spend.ts +128 -52
- package/src/script/__tests/Chronicle.test.ts +186 -0
- package/src/script/__tests/Script.test.ts +39 -6
- package/src/script/__tests/Spend.test.ts +1 -1
- package/src/script/__tests/SpendValildVectors.test.ts +63 -0
- package/src/script/__tests/lrshiftnum.test.ts +185 -0
- package/src/script/__tests/sighashTestData.ts +1031 -0
- package/src/script/__tests/spend.valid.vectors.ts +9 -16
- package/src/script/templates/PushDrop.ts +32 -17
- package/src/script/templates/__tests/PushDrop.test.ts +28 -0
- package/src/storage/__tests/StorageUploader.test.ts +1 -1
- package/src/transaction/Beef.ts +103 -40
- package/src/transaction/BeefTx.ts +38 -19
- package/src/transaction/MerklePath.ts +30 -9
- package/src/transaction/Transaction.ts +277 -38
- package/src/transaction/__tests/Beef.test.ts +77 -0
- package/src/transaction/__tests/Transaction.test.ts +641 -3
- package/src/transaction/broadcasters/ARC.ts +34 -7
- package/src/transaction/broadcasters/__tests/ARC.test.ts +98 -0
- package/src/wallet/Wallet.interfaces.ts +5 -5
- package/dist/cjs/src/storage/__test/StorageDownloader.test.js +0 -171
- package/dist/cjs/src/storage/__test/StorageDownloader.test.js.map +0 -1
- package/dist/cjs/src/storage/__test/StorageUploader.test.js +0 -163
- package/dist/cjs/src/storage/__test/StorageUploader.test.js.map +0 -1
- package/dist/cjs/src/storage/__test/StorageUtils.test.js +0 -97
- package/dist/cjs/src/storage/__test/StorageUtils.test.js.map +0 -1
- package/dist/esm/src/storage/__test/StorageDownloader.test.js +0 -166
- package/dist/esm/src/storage/__test/StorageDownloader.test.js.map +0 -1
- package/dist/esm/src/storage/__test/StorageUploader.test.js +0 -135
- package/dist/esm/src/storage/__test/StorageUploader.test.js.map +0 -1
- package/dist/esm/src/storage/__test/StorageUtils.test.js +0 -72
- package/dist/esm/src/storage/__test/StorageUtils.test.js.map +0 -1
- package/dist/types/src/storage/__test/StorageDownloader.test.d.ts +0 -2
- package/dist/types/src/storage/__test/StorageDownloader.test.d.ts.map +0 -1
- package/dist/types/src/storage/__test/StorageUploader.test.d.ts +0 -2
- package/dist/types/src/storage/__test/StorageUploader.test.d.ts.map +0 -1
- package/dist/types/src/storage/__test/StorageUtils.test.d.ts +0 -2
- package/dist/types/src/storage/__test/StorageUtils.test.d.ts.map +0 -1
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import type { RemittanceOptionId, Termination } from '../types.js';
|
|
2
|
+
import type { ModuleContext } from '../types.js';
|
|
3
|
+
import type { RemittanceModule } from '../RemittanceModule.js';
|
|
4
|
+
import type { WalletInterface, WalletCounterparty, PubKeyHex, WalletProtocol } from '../../wallet/Wallet.interfaces.js';
|
|
5
|
+
/**
|
|
6
|
+
* BRC-29-like payment option terms.
|
|
7
|
+
*
|
|
8
|
+
* This module intentionally keeps option terms minimal:
|
|
9
|
+
* - Amount is taken from the invoice total (and validated as satoshis)
|
|
10
|
+
* - The payer derives the payee's per-payment public key using wallet.getPublicKey with a stable protocolID
|
|
11
|
+
*/
|
|
12
|
+
export interface Brc29OptionTerms {
|
|
13
|
+
/** Payment amount in satoshis. */
|
|
14
|
+
amountSatoshis: number;
|
|
15
|
+
/** The recipient of the payment */
|
|
16
|
+
payee: PubKeyHex;
|
|
17
|
+
/** Which output index to internalize, default 0. */
|
|
18
|
+
outputIndex?: number;
|
|
19
|
+
/** Optionally override the protocolID used in getPublicKey. */
|
|
20
|
+
protocolID?: WalletProtocol;
|
|
21
|
+
/** Optional labels for createAction. */
|
|
22
|
+
labels?: string[];
|
|
23
|
+
/** Optional description for createAction. */
|
|
24
|
+
description?: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Settlement artifact carried in the settlement message.
|
|
28
|
+
*/
|
|
29
|
+
export interface Brc29SettlementArtifact {
|
|
30
|
+
customInstructions: {
|
|
31
|
+
derivationPrefix: string;
|
|
32
|
+
derivationSuffix: string;
|
|
33
|
+
};
|
|
34
|
+
transaction: number[];
|
|
35
|
+
amountSatoshis: number;
|
|
36
|
+
outputIndex?: number;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Receipt data for BRC-29 settlements.
|
|
40
|
+
*/
|
|
41
|
+
export interface Brc29ReceiptData {
|
|
42
|
+
/** Result returned from wallet.internalizeAction, if accepted. */
|
|
43
|
+
internalizeResult?: unknown;
|
|
44
|
+
/** Human-readable rejection reason, if rejected. */
|
|
45
|
+
rejectedReason?: string;
|
|
46
|
+
/** If rejected with refund, contains the refund payment token. */
|
|
47
|
+
refund?: {
|
|
48
|
+
token: Brc29SettlementArtifact;
|
|
49
|
+
feeSatoshis: number;
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
export interface NonceProvider {
|
|
53
|
+
createNonce: (wallet: WalletInterface, scope: WalletCounterparty, originator?: unknown) => Promise<string>;
|
|
54
|
+
}
|
|
55
|
+
export interface LockingScriptProvider {
|
|
56
|
+
/** Converts a public key string to a P2PKH locking script hex. */
|
|
57
|
+
pubKeyToP2PKHLockingScript: (publicKey: string) => Promise<string> | string;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Default nonce provider using SDK createNonce.
|
|
61
|
+
*/
|
|
62
|
+
export declare const DefaultNonceProvider: NonceProvider;
|
|
63
|
+
/**
|
|
64
|
+
* Default locking script provider using SDK P2PKH template.
|
|
65
|
+
*/
|
|
66
|
+
export declare const DefaultLockingScriptProvider: LockingScriptProvider;
|
|
67
|
+
export interface Brc29RemittanceModuleConfig {
|
|
68
|
+
/** Default protocolID to use with wallet.getPublicKey. */
|
|
69
|
+
protocolID?: WalletProtocol;
|
|
70
|
+
/** Labels applied to created actions. */
|
|
71
|
+
labels?: string[];
|
|
72
|
+
/** Description applied to created actions. */
|
|
73
|
+
description?: string;
|
|
74
|
+
/** Output description for created actions. */
|
|
75
|
+
outputDescription?: string;
|
|
76
|
+
/**
|
|
77
|
+
* Fee charged on refunds, in satoshis.
|
|
78
|
+
*/
|
|
79
|
+
refundFeeSatoshis?: number;
|
|
80
|
+
/**
|
|
81
|
+
* Minimum refund to issue. If refund would be smaller, module will reject without refund.
|
|
82
|
+
*/
|
|
83
|
+
minRefundSatoshis?: number;
|
|
84
|
+
/** How wallet internalizes the payment. */
|
|
85
|
+
internalizeProtocol?: 'wallet payment' | 'basket insertion';
|
|
86
|
+
nonceProvider?: NonceProvider;
|
|
87
|
+
lockingScriptProvider?: LockingScriptProvider;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* BRC-29-based remittance module.
|
|
91
|
+
* - payer creates a payment action to a derived P2PKH output
|
|
92
|
+
* - payer sends { tx, derivationPrefix, derivationSuffix } as settlement artifact
|
|
93
|
+
* - payee internalizes the tx output using wallet.internalizeAction
|
|
94
|
+
* - optional rejection can include a refund token embedded in the termination details
|
|
95
|
+
*/
|
|
96
|
+
export declare class Brc29RemittanceModule implements RemittanceModule<Brc29OptionTerms, Brc29SettlementArtifact, Brc29ReceiptData> {
|
|
97
|
+
readonly id: RemittanceOptionId;
|
|
98
|
+
readonly name = "BSV (BRC-29 derived P2PKH)";
|
|
99
|
+
readonly allowUnsolicitedSettlements = true;
|
|
100
|
+
private readonly protocolID;
|
|
101
|
+
private readonly labels;
|
|
102
|
+
private readonly description;
|
|
103
|
+
private readonly outputDescription;
|
|
104
|
+
private readonly refundFeeSatoshis;
|
|
105
|
+
private readonly minRefundSatoshis;
|
|
106
|
+
private readonly internalizeProtocol;
|
|
107
|
+
private readonly nonceProvider;
|
|
108
|
+
private readonly lockingScriptProvider;
|
|
109
|
+
constructor(cfg?: Brc29RemittanceModuleConfig);
|
|
110
|
+
buildSettlement(args: {
|
|
111
|
+
threadId: string;
|
|
112
|
+
option: Brc29OptionTerms;
|
|
113
|
+
note?: string;
|
|
114
|
+
}, ctx: ModuleContext): Promise<{
|
|
115
|
+
action: 'settle';
|
|
116
|
+
artifact: Brc29SettlementArtifact;
|
|
117
|
+
} | {
|
|
118
|
+
action: 'terminate';
|
|
119
|
+
termination: Termination;
|
|
120
|
+
}>;
|
|
121
|
+
acceptSettlement(args: {
|
|
122
|
+
threadId: string;
|
|
123
|
+
settlement: Brc29SettlementArtifact;
|
|
124
|
+
sender: PubKeyHex;
|
|
125
|
+
}, ctx: ModuleContext): Promise<{
|
|
126
|
+
action: 'accept';
|
|
127
|
+
receiptData?: Brc29ReceiptData;
|
|
128
|
+
} | {
|
|
129
|
+
action: 'terminate';
|
|
130
|
+
termination: Termination;
|
|
131
|
+
}>;
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=BasicBRC29.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BasicBRC29.d.ts","sourceRoot":"","sources":["../../../../../src/remittance/modules/BasicBRC29.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/remittance/modules/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA"}
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
import { HexString, OutpointString, PubKeyHex, Base64String, WalletInterface } from '../wallet/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Types for core Remittance protocol.
|
|
4
|
+
*
|
|
5
|
+
* The goal is to keep the core protocol:
|
|
6
|
+
* - UTXO-friendly (transactions and partial transactions can be carried as artifacts)
|
|
7
|
+
* - Denomination-agnostic (amounts are typed, not forced to satoshis)
|
|
8
|
+
* - Module-oriented (remittance option payloads are opaque to the core)
|
|
9
|
+
*/
|
|
10
|
+
export type ThreadId = Base64String;
|
|
11
|
+
export type RemittanceOptionId = Base64String;
|
|
12
|
+
export type UnixMillis = number;
|
|
13
|
+
/**
|
|
14
|
+
* Remittance thread state machine.
|
|
15
|
+
*
|
|
16
|
+
* States:
|
|
17
|
+
* - new: thread exists but no identity/invoice/settlement activity yet.
|
|
18
|
+
* - identityRequested: identity request sent or received.
|
|
19
|
+
* - identityResponded: identity response sent or received.
|
|
20
|
+
* - identityAcknowledged: identity response acknowledged (required before proceeding).
|
|
21
|
+
* - invoiced: invoice sent or received.
|
|
22
|
+
* - settled: settlement sent or received.
|
|
23
|
+
* - receipted: receipt issued or received.
|
|
24
|
+
* - terminated: thread terminated with a reason.
|
|
25
|
+
* - errored: unexpected error occurred while processing the thread.
|
|
26
|
+
*/
|
|
27
|
+
export type RemittanceThreadState = 'new' | 'identityRequested' | 'identityResponded' | 'identityAcknowledged' | 'invoiced' | 'settled' | 'receipted' | 'terminated' | 'errored';
|
|
28
|
+
/**
|
|
29
|
+
* Allowed remittance state transitions.
|
|
30
|
+
*
|
|
31
|
+
* This is the canonical state machine for remittance threads.
|
|
32
|
+
* Use it to validate transitions and to build audits/visualizations.
|
|
33
|
+
*/
|
|
34
|
+
export declare const REMITTANCE_STATE_TRANSITIONS: Record<RemittanceThreadState, RemittanceThreadState[]>;
|
|
35
|
+
export interface Unit {
|
|
36
|
+
/** Namespace for disambiguation, e.g. 'bsv', 'iso4217', 'token'. */
|
|
37
|
+
namespace: string;
|
|
38
|
+
/** Unit code within the namespace, e.g. 'sat', 'USD', 'mnee'. */
|
|
39
|
+
code: string;
|
|
40
|
+
/** Optional decimal places for display/normalization. */
|
|
41
|
+
decimals?: number;
|
|
42
|
+
}
|
|
43
|
+
export interface Amount {
|
|
44
|
+
/** Decimal string. Avoid floats at the protocol layer. */
|
|
45
|
+
value: string;
|
|
46
|
+
unit: Unit;
|
|
47
|
+
}
|
|
48
|
+
export declare const SAT_UNIT: Unit;
|
|
49
|
+
export interface LineItem {
|
|
50
|
+
id?: string;
|
|
51
|
+
description: string;
|
|
52
|
+
/** Decimal string, e.g. '1', '2', '0.5'. */
|
|
53
|
+
quantity?: string;
|
|
54
|
+
unitPrice?: Amount;
|
|
55
|
+
/** Total amount for the line (optional if derivable). */
|
|
56
|
+
amount?: Amount;
|
|
57
|
+
metadata?: Record<string, unknown>;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Shared commercial/metadata fields for invoice and receipt-like instruments.
|
|
61
|
+
*
|
|
62
|
+
* NOTE: "payee" and "payer" are identity keys, not addresses.
|
|
63
|
+
* Payment addresses / scripts are settlement-module concerns.
|
|
64
|
+
*/
|
|
65
|
+
export interface InstrumentBase {
|
|
66
|
+
threadId: ThreadId;
|
|
67
|
+
payee: PubKeyHex;
|
|
68
|
+
payer: PubKeyHex;
|
|
69
|
+
note?: string;
|
|
70
|
+
lineItems: LineItem[];
|
|
71
|
+
total: Amount;
|
|
72
|
+
invoiceNumber: string;
|
|
73
|
+
createdAt: UnixMillis;
|
|
74
|
+
arbitrary?: Record<string, unknown>;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Invoice (solicitation) that contains N remittance options.
|
|
78
|
+
*
|
|
79
|
+
* Each remittance option is keyed by a module id.
|
|
80
|
+
* The payload for each option is module-defined and opaque to the core.
|
|
81
|
+
*
|
|
82
|
+
* This is where “UTXO offers” live: a module option payload can include a partial tx template,
|
|
83
|
+
* UTXO references, scripts, overlay anchors, SPV, etc. The manager does not interpret them.
|
|
84
|
+
*/
|
|
85
|
+
export interface Invoice extends InstrumentBase {
|
|
86
|
+
kind: 'invoice';
|
|
87
|
+
expiresAt?: UnixMillis;
|
|
88
|
+
options: Record<RemittanceOptionId, unknown>;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* An identity certificate request.
|
|
92
|
+
*
|
|
93
|
+
* Contains a list of requested certificate types, fields from each, plus acceptable certifiers.
|
|
94
|
+
*/
|
|
95
|
+
export interface IdentityVerificationRequest {
|
|
96
|
+
kind: 'identityVerificationRequest';
|
|
97
|
+
threadId: ThreadId;
|
|
98
|
+
/** Details of the requested certificates. */
|
|
99
|
+
request: {
|
|
100
|
+
/** Map of certificate types to requested fields from each. */
|
|
101
|
+
types: Record<string, string[]>;
|
|
102
|
+
/** List of acceptable certifier identity keys. */
|
|
103
|
+
certifiers: PubKeyHex[];
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* An identity certificate response.
|
|
108
|
+
*
|
|
109
|
+
* Contains certificates issued by the certifiers named in the corresponding request, with fields revealed to the counterparty.
|
|
110
|
+
*/
|
|
111
|
+
export interface IdentityVerificationResponse {
|
|
112
|
+
kind: 'identityVerificationResponse';
|
|
113
|
+
threadId: ThreadId;
|
|
114
|
+
/** List of certificates issued by the certifiers named in the corresponding request, with fields revealed to the counterparty. */
|
|
115
|
+
certificates: Array<{
|
|
116
|
+
/** Certificate type, e.g. base64 Type ID corresponding to 'personalId', 'businessId', etc. */
|
|
117
|
+
type: Base64String;
|
|
118
|
+
/** Certifier identity key. */
|
|
119
|
+
certifier: PubKeyHex;
|
|
120
|
+
/** Subject identity key. */
|
|
121
|
+
subject: PubKeyHex;
|
|
122
|
+
/** The certificate's encrypted fields that have been signed. */
|
|
123
|
+
fields: Record<string, Base64String>;
|
|
124
|
+
/** Signature over the cert. */
|
|
125
|
+
signature: HexString;
|
|
126
|
+
/** Certificate serial number. */
|
|
127
|
+
serialNumber: Base64String;
|
|
128
|
+
/** Revocation outpoint. If spent on-chain, the certificate is invalid. */
|
|
129
|
+
revocationOutpoint: OutpointString;
|
|
130
|
+
/** Field revelation keys for the counterparty. */
|
|
131
|
+
keyringForVerifier: Record<string, Base64String>;
|
|
132
|
+
}>;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* An identity verification acknowledgment.
|
|
136
|
+
*
|
|
137
|
+
* A simple ack message indicating that a requested identity verification has been completed successfully.
|
|
138
|
+
*/
|
|
139
|
+
export interface IdentityVerificationAcknowledgment {
|
|
140
|
+
kind: 'identityVerificationAcknowledgment';
|
|
141
|
+
threadId: ThreadId;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* A settlement attempt.
|
|
145
|
+
*
|
|
146
|
+
* This is module-agnostic: "artifact" can be a transaction, a partial transaction,
|
|
147
|
+
* a stablecoin transfer result, even a fiat card-payment approval code, etc.
|
|
148
|
+
*/
|
|
149
|
+
export interface Settlement {
|
|
150
|
+
kind: 'settlement';
|
|
151
|
+
threadId: ThreadId;
|
|
152
|
+
moduleId: RemittanceOptionId;
|
|
153
|
+
optionId: RemittanceOptionId;
|
|
154
|
+
sender: PubKeyHex;
|
|
155
|
+
createdAt: UnixMillis;
|
|
156
|
+
artifact: unknown;
|
|
157
|
+
note?: string;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Receipt issued by the payee (or service provider).
|
|
161
|
+
*
|
|
162
|
+
* A receipt could be a PDF, a photo/oroof-of-delivery, a copy of the payment transaction, etc.
|
|
163
|
+
*
|
|
164
|
+
* A receipt should NOT be issued when a settlement is rejected/failed. Use a Termination instead.
|
|
165
|
+
*/
|
|
166
|
+
export interface Receipt {
|
|
167
|
+
kind: 'receipt';
|
|
168
|
+
threadId: ThreadId;
|
|
169
|
+
moduleId: RemittanceOptionId;
|
|
170
|
+
optionId: RemittanceOptionId;
|
|
171
|
+
payee: PubKeyHex;
|
|
172
|
+
payer: PubKeyHex;
|
|
173
|
+
createdAt: UnixMillis;
|
|
174
|
+
receiptData: unknown;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Termination details for failed operations.
|
|
178
|
+
*/
|
|
179
|
+
export interface Termination {
|
|
180
|
+
/** Reason code (module-specific). */
|
|
181
|
+
code: string;
|
|
182
|
+
/** Human-readable message. */
|
|
183
|
+
message: string;
|
|
184
|
+
/** Optional module-specific details or refund information. */
|
|
185
|
+
details?: unknown;
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Transport message format expected from the CommsLayer.
|
|
189
|
+
*
|
|
190
|
+
* It closely matches the message-box-client shapes:
|
|
191
|
+
* messageId, sender, body, etc.
|
|
192
|
+
*/
|
|
193
|
+
export interface PeerMessage {
|
|
194
|
+
messageId: string;
|
|
195
|
+
sender: PubKeyHex;
|
|
196
|
+
recipient: PubKeyHex;
|
|
197
|
+
messageBox: string;
|
|
198
|
+
body: string;
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Protocol envelope kinds.
|
|
202
|
+
* Everything runs in “threads” and carries a threadId.
|
|
203
|
+
*/
|
|
204
|
+
export type RemittanceKind = 'invoice' | 'identityVerificationRequest' | 'identityVerificationResponse' | 'identityVerificationAcknowledgment' | 'settlement' | 'receipt' | 'termination';
|
|
205
|
+
/**
|
|
206
|
+
* Protocol envelope.
|
|
207
|
+
*
|
|
208
|
+
* This is what RemittanceManager serializes into the CommsLayer message body.
|
|
209
|
+
*/
|
|
210
|
+
export interface RemittanceEnvelope<K extends RemittanceKind = RemittanceKind, P = unknown> {
|
|
211
|
+
/** Protocol version. */
|
|
212
|
+
v: 1;
|
|
213
|
+
/** Envelope id (idempotency key). Not the transport messageId. */
|
|
214
|
+
id: string;
|
|
215
|
+
kind: K;
|
|
216
|
+
threadId: ThreadId;
|
|
217
|
+
createdAt: UnixMillis;
|
|
218
|
+
payload: P;
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Simple logger interface.
|
|
222
|
+
*/
|
|
223
|
+
export interface LoggerLike {
|
|
224
|
+
log: (...args: any[]) => void;
|
|
225
|
+
warn: (...args: any[]) => void;
|
|
226
|
+
error: (...args: any[]) => void;
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Context object passed to module methods.
|
|
230
|
+
*/
|
|
231
|
+
export interface ModuleContext {
|
|
232
|
+
wallet: WalletInterface;
|
|
233
|
+
/** Optional originator domain forwarded to wallet methods. */
|
|
234
|
+
originator?: unknown;
|
|
235
|
+
now: () => number;
|
|
236
|
+
logger?: LoggerLike;
|
|
237
|
+
}
|
|
238
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/remittance/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -56,11 +56,8 @@ declare const OP: {
|
|
|
56
56
|
OP_SWAP: number;
|
|
57
57
|
OP_TUCK: number;
|
|
58
58
|
OP_CAT: number;
|
|
59
|
-
OP_SUBSTR: number;
|
|
60
59
|
OP_SPLIT: number;
|
|
61
|
-
OP_LEFT: number;
|
|
62
60
|
OP_NUM2BIN: number;
|
|
63
|
-
OP_RIGHT: number;
|
|
64
61
|
OP_BIN2NUM: number;
|
|
65
62
|
OP_SIZE: number;
|
|
66
63
|
OP_INVERT: number;
|
|
@@ -112,10 +109,15 @@ declare const OP: {
|
|
|
112
109
|
OP_NOP2: number;
|
|
113
110
|
OP_NOP3: number;
|
|
114
111
|
OP_NOP4: number;
|
|
112
|
+
OP_SUBSTR: number;
|
|
115
113
|
OP_NOP5: number;
|
|
114
|
+
OP_LEFT: number;
|
|
116
115
|
OP_NOP6: number;
|
|
116
|
+
OP_RIGHT: number;
|
|
117
117
|
OP_NOP7: number;
|
|
118
|
+
OP_LSHIFTNUM: number;
|
|
118
119
|
OP_NOP8: number;
|
|
120
|
+
OP_RSHIFTNUM: number;
|
|
119
121
|
OP_NOP9: number;
|
|
120
122
|
OP_NOP10: number;
|
|
121
123
|
OP_NOP11: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OP.d.ts","sourceRoot":"","sources":["../../../../src/script/OP.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,QAAA,MAAM,EAAE
|
|
1
|
+
{"version":3,"file":"OP.d.ts","sourceRoot":"","sources":["../../../../src/script/OP.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,QAAA,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkNP,CAAA;AAMD,eAAe,EAAE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Script.d.ts","sourceRoot":"","sources":["../../../../src/script/Script.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,kBAAkB,CAAA;AAG1C,OAAO,SAAS,MAAM,4BAA4B,CAAA;AAYlD,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAAC,CAAY;IAClC,OAAO,CAAC,QAAQ,CAAC,CAAQ;IAEzB;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAuEpC;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAepC;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM;IAKzC;;;;;;;OAOG;gBACU,MAAM,GAAE,WAAW,EAAO,EAAE,aAAa,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,GAAE,OAAc;IAO9G,IAAI,MAAM,IAAK,WAAW,EAAE,CAG3B;IAED,IAAI,MAAM,CAAE,KAAK,EAAE,WAAW,EAAE,EAI/B;IAED,OAAO,CAAC,YAAY;IAUpB;;;;OAIG;IACH,KAAK,IAAK,MAAM;IAUhB;;;;OAIG;IACH,KAAK,IAAK,MAAM;IAehB;;;;OAIG;IACH,QAAQ,IAAK,MAAM,EAAE;IAIrB,YAAY,IAAK,UAAU;IAO3B;;;;;OAKG;IACH,WAAW,CAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAMpC;;;;;OAKG;IACH,WAAW,CAAE,EAAE,EAAE,MAAM,GAAG,MAAM;IAMhC;;;;;;OAMG;IACH,cAAc,CAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM;IAM9C;;;;;OAKG;IACH,OAAO,CAAE,EAAE,EAAE,SAAS,GAAG,MAAM;IAsB/B;;;;;;OAMG;IACH,QAAQ,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM;IAwBhC;;;;;OAKG;IACH,WAAW,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAMjC;;;;OAIG;IACH,oBAAoB,IAAK,MAAM;IAY/B;;;;;;OAMG;IACH,aAAa,CAAE,MAAM,EAAE,MAAM,GAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"Script.d.ts","sourceRoot":"","sources":["../../../../src/script/Script.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,kBAAkB,CAAA;AAG1C,OAAO,SAAS,MAAM,4BAA4B,CAAA;AAYlD,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAAC,CAAY;IAClC,OAAO,CAAC,QAAQ,CAAC,CAAQ;IAEzB;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAuEpC;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAepC;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM;IAKzC;;;;;;;OAOG;gBACU,MAAM,GAAE,WAAW,EAAO,EAAE,aAAa,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,GAAE,OAAc;IAO9G,IAAI,MAAM,IAAK,WAAW,EAAE,CAG3B;IAED,IAAI,MAAM,CAAE,KAAK,EAAE,WAAW,EAAE,EAI/B;IAED,OAAO,CAAC,YAAY;IAUpB;;;;OAIG;IACH,KAAK,IAAK,MAAM;IAUhB;;;;OAIG;IACH,KAAK,IAAK,MAAM;IAehB;;;;OAIG;IACH,QAAQ,IAAK,MAAM,EAAE;IAIrB,YAAY,IAAK,UAAU;IAO3B;;;;;OAKG;IACH,WAAW,CAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAMpC;;;;;OAKG;IACH,WAAW,CAAE,EAAE,EAAE,MAAM,GAAG,MAAM;IAMhC;;;;;;OAMG;IACH,cAAc,CAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM;IAM9C;;;;;OAKG;IACH,OAAO,CAAE,EAAE,EAAE,SAAS,GAAG,MAAM;IAsB/B;;;;;;OAMG;IACH,QAAQ,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM;IAwBhC;;;;;OAKG;IACH,WAAW,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAMjC;;;;OAIG;IACH,oBAAoB,IAAK,MAAM;IAY/B;;;;;;OAMG;IACH,aAAa,CAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IA8EtC;;;;OAIG;IACH,UAAU,IAAK,OAAO;IAWtB;;;;OAIG;IACH,eAAe,IAAK,OAAO;IAI3B;;;;OAIG;IACH,iBAAiB,IAAK,OAAO;IAI7B;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAuBtC,OAAO,CAAC,sBAAsB;IAqB9B,OAAO,CAAC,6BAA6B;IAKrC,OAAO,CAAC,MAAM,CAAC,cAAc;IA+B7B,OAAO,CAAC,MAAM,CAAC,WAAW;IA6E1B,OAAO,CAAC,MAAM,CAAC,SAAS;IAaxB,OAAO,CAAC,cAAc;CAWvB"}
|
|
@@ -20,6 +20,8 @@ import TransactionOutput from '../transaction/TransactionOutput.js';
|
|
|
20
20
|
* @property {UnlockingScript} unlockingScript - The unlocking script that unlocks the UTXO for spending.
|
|
21
21
|
* @property {number} inputSequence - The sequence number of this input.
|
|
22
22
|
* @property {number} lockTime - The lock time of the transaction.
|
|
23
|
+
* @property {number} memoryLimit - Control over script interpreter memory usage.
|
|
24
|
+
* @property {boolean} isRelaxed - Optional. If true, disables all the unlocking script maleability restrictions consitent with Chronicle release. Maleability restrictions are neve appliced to locking scripts.
|
|
23
25
|
*/
|
|
24
26
|
export default class Spend {
|
|
25
27
|
sourceTXID: string;
|
|
@@ -42,6 +44,7 @@ export default class Spend {
|
|
|
42
44
|
memoryLimit: number;
|
|
43
45
|
stackMem: number;
|
|
44
46
|
altStackMem: number;
|
|
47
|
+
isRelaxedOverride: boolean;
|
|
45
48
|
private sigHashCache;
|
|
46
49
|
/**
|
|
47
50
|
* @constructor
|
|
@@ -59,6 +62,8 @@ export default class Spend {
|
|
|
59
62
|
* @param {UnlockingScript} params.unlockingScript - The unlocking script for this spend.
|
|
60
63
|
* @param {number} params.inputSequence - The sequence number of this input.
|
|
61
64
|
* @param {number} params.lockTime - The lock time of the transaction.
|
|
65
|
+
* @param {number} params.memoryLimit - Optional control over script interpreter memory usage.
|
|
66
|
+
* @param {boolean} params.isRelaxed - Optional. If true, disables all the unlocking script maleability restrictions consitent with Chronicle release. Maleability restrictions are neve appliced to locking scripts.
|
|
62
67
|
*
|
|
63
68
|
* @example
|
|
64
69
|
* const spend = new Spend({
|
|
@@ -88,7 +93,9 @@ export default class Spend {
|
|
|
88
93
|
inputIndex: number;
|
|
89
94
|
lockTime: number;
|
|
90
95
|
memoryLimit?: number;
|
|
96
|
+
isRelaxed?: boolean;
|
|
91
97
|
});
|
|
98
|
+
private isRelaxed;
|
|
92
99
|
reset(): void;
|
|
93
100
|
private ensureStackMem;
|
|
94
101
|
private ensureAltStackMem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spend.d.ts","sourceRoot":"","sources":["../../../../src/script/Spend.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,oBAAoB,CAAA;AAC9C,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAWlD,OAAO,gBAAgB,MAAM,oCAAoC,CAAA;AACjE,OAAO,iBAAiB,MAAM,qCAAqC,CAAA;
|
|
1
|
+
{"version":3,"file":"Spend.d.ts","sourceRoot":"","sources":["../../../../src/script/Spend.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,oBAAoB,CAAA;AAC9C,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAWlD,OAAO,gBAAgB,MAAM,oCAAoC,CAAA;AACjE,OAAO,iBAAiB,MAAM,qCAAqC,CAAA;AAuFnE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,OAAO,OAAO,KAAK;IACxB,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,EAAE,MAAM,CAAA;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,aAAa,CAAA;IAC5B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,WAAW,EAAE,gBAAgB,EAAE,CAAA;IAC/B,OAAO,EAAE,iBAAiB,EAAE,CAAA;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,eAAe,EAAE,eAAe,CAAA;IAChC,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;IAEhB,OAAO,EAAE,iBAAiB,GAAG,eAAe,CAAA;IAC5C,cAAc,EAAE,MAAM,CAAA;IACtB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAA;IACjB,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAA;IACpB,OAAO,EAAE,OAAO,EAAE,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,iBAAiB,EAAE,OAAO,CAAA;IAE1B,OAAO,CAAC,YAAY,CAAoB;IAExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;gBACU,MAAM,EAAE;QACnB,UAAU,EAAE,MAAM,CAAA;QAClB,iBAAiB,EAAE,MAAM,CAAA;QACzB,cAAc,EAAE,MAAM,CAAA;QACtB,aAAa,EAAE,aAAa,CAAA;QAC5B,kBAAkB,EAAE,MAAM,CAAA;QAC1B,WAAW,EAAE,gBAAgB,EAAE,CAAA;QAC/B,OAAO,EAAE,iBAAiB,EAAE,CAAA;QAC5B,eAAe,EAAE,eAAe,CAAA;QAChC,aAAa,EAAE,MAAM,CAAA;QACrB,UAAU,EAAE,MAAM,CAAA;QAClB,QAAQ,EAAE,MAAM,CAAA;QAChB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,SAAS,CAAC,EAAE,OAAO,CAAA;KACpB;IAuBD,OAAO,CAAC,SAAS;IAKjB,KAAK,IAAK,IAAI;IAYd,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,sBAAsB;IAoB9B,OAAO,CAAC,sBAAsB;IAgC9B,OAAO,CAAC,eAAe;IAuBvB,IAAI,IAAK,OAAO;IAssBhB;;;;;;;;;;OAUG;IACH,QAAQ,IAAK,OAAO;IA2CpB,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,qBAAqB;CAc9B"}
|
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
import { ScriptTemplate, LockingScript, UnlockingScript } from '../index.js';
|
|
2
2
|
import { PublicKey } from '../../primitives/index.js';
|
|
3
|
-
import { WalletInterface } from '../../wallet/Wallet.interfaces.js';
|
|
3
|
+
import { WalletInterface, WalletProtocol } from '../../wallet/Wallet.interfaces.js';
|
|
4
4
|
import { Transaction } from '../../transaction/index.js';
|
|
5
|
-
import { WalletProtocol } from '../../wallet/Wallet.interfaces.js';
|
|
6
5
|
export default class PushDrop implements ScriptTemplate {
|
|
7
6
|
wallet: WalletInterface;
|
|
8
7
|
originator?: string;
|
|
9
8
|
/**
|
|
10
9
|
* Decodes a PushDrop script back into its token fields and the locking public key. If a signature was present, it will be the last field returned.
|
|
11
|
-
* Warning: Only works with a P2PK lock at the beginning of the script.
|
|
12
10
|
* @param script PushDrop script to decode back into token fields
|
|
11
|
+
* @param lockPosition Where the locking public key is positioned in the script ('before' = at start, 'after' = at end after DROP operations)
|
|
13
12
|
* @returns An object containing PushDrop token fields and the locking public key. If a signature was included, it will be the last field.
|
|
14
13
|
*/
|
|
15
|
-
static decode(script: LockingScript): {
|
|
14
|
+
static decode(script: LockingScript, lockPosition?: 'before' | 'after'): {
|
|
16
15
|
lockingPublicKey: PublicKey;
|
|
17
16
|
fields: number[][];
|
|
18
17
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PushDrop.d.ts","sourceRoot":"","sources":["../../../../../src/script/templates/PushDrop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAM,MAAM,aAAa,CAAA;AAChF,OAAO,EAKL,SAAS,EACV,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;
|
|
1
|
+
{"version":3,"file":"PushDrop.d.ts","sourceRoot":"","sources":["../../../../../src/script/templates/PushDrop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAM,MAAM,aAAa,CAAA;AAChF,OAAO,EAKL,SAAS,EACV,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AA4CxD,MAAM,CAAC,OAAO,OAAO,QAAS,YAAW,cAAc;IACrD,MAAM,EAAE,eAAe,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAE,MAAM,EAAE,aAAa,EAAE,YAAY,GAAE,QAAQ,GAAG,OAAkB,GAAG;QAClF,gBAAgB,EAAE,SAAS,CAAA;QAC3B,MAAM,EAAE,MAAM,EAAE,EAAE,CAAA;KACnB;IAkDD;;;;;OAKG;gBACU,MAAM,EAAE,eAAe,EAAE,UAAU,CAAC,EAAE,MAAM;IAKzD;;;;;;;;;;OAUG;IACG,IAAI,CACR,MAAM,EAAE,MAAM,EAAE,EAAE,EAClB,UAAU,EAAE,cAAc,EAC1B,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,OAAO,UAAQ,EACf,gBAAgB,UAAO,EACvB,YAAY,GAAE,QAAQ,GAAG,OAAkB,GAC1C,OAAO,CAAC,aAAa,CAAC;IA0CzB;;;;;;;;;;;;OAYG;IACH,MAAM,CACJ,UAAU,EAAE,cAAc,EAC1B,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,WAAW,GAAE,KAAK,GAAG,MAAM,GAAG,QAAgB,EAC9C,YAAY,UAAQ,EACpB,cAAc,CAAC,EAAE,MAAM,EACvB,aAAa,CAAC,EAAE,aAAa,GAC5B;QACC,IAAI,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,CAAC,CAAA;QACvE,cAAc,EAAE,MAAM,OAAO,CAAC,EAAE,CAAC,CAAA;KAClC;CAmFJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StorageUtils.d.ts","sourceRoot":"","sources":["../../../../src/storage/StorageUtils.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"StorageUtils.d.ts","sourceRoot":"","sources":["../../../../src/storage/StorageUtils.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,MAI1C,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,EAAE,KAAG,MAK9C,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,UAAU,GAAG,MAAM,EAAE,KAAG,MAU3D,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,KAAG,MAAM,EAUlD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,KAAG,OAOxC,CAAA"}
|
|
@@ -2,13 +2,13 @@ import MerklePath from './MerklePath.js';
|
|
|
2
2
|
import Transaction from './Transaction.js';
|
|
3
3
|
import ChainTracker from './ChainTracker.js';
|
|
4
4
|
import BeefTx from './BeefTx.js';
|
|
5
|
-
import { Reader, Writer } from '../primitives/utils.js';
|
|
5
|
+
import { Reader, Writer, ReaderUint8Array, WriterUint8Array } from '../primitives/utils.js';
|
|
6
6
|
export declare const BEEF_V1 = 4022206465;
|
|
7
7
|
export declare const BEEF_V2 = 4022206466;
|
|
8
8
|
export declare const ATOMIC_BEEF = 16843009;
|
|
9
9
|
export declare enum TX_DATA_FORMAT {
|
|
10
|
-
RAWTX = 0
|
|
11
|
-
RAWTX_AND_BUMP_INDEX = 1
|
|
10
|
+
RAWTX = 0,// rawtx without BUMP
|
|
11
|
+
RAWTX_AND_BUMP_INDEX = 1,// rawtx with bump index
|
|
12
12
|
TXID_ONLY = 2
|
|
13
13
|
}
|
|
14
14
|
export declare class Beef {
|
|
@@ -26,6 +26,7 @@ export declare class Beef {
|
|
|
26
26
|
private ensureSerializableState;
|
|
27
27
|
private ensureSortedForSerialization;
|
|
28
28
|
private getSerializedBytes;
|
|
29
|
+
private getBeefForAtomic;
|
|
29
30
|
/**
|
|
30
31
|
* @param txid of `beefTx` to find
|
|
31
32
|
* @returns `BeefTx` in `txs` with `txid`.
|
|
@@ -85,7 +86,7 @@ export declare class Beef {
|
|
|
85
86
|
* @param bumpIndex Optional. If a number, must be valid index into bumps array.
|
|
86
87
|
* @returns txid of rawTx
|
|
87
88
|
*/
|
|
88
|
-
mergeRawTx(rawTx: number[], bumpIndex?: number): BeefTx;
|
|
89
|
+
mergeRawTx(rawTx: number[] | Uint8Array, bumpIndex?: number): BeefTx;
|
|
89
90
|
/**
|
|
90
91
|
* Merge a `Transaction` and any referenced `merklePath` and `sourceTransaction`, recursifely.
|
|
91
92
|
*
|
|
@@ -104,7 +105,7 @@ export declare class Beef {
|
|
|
104
105
|
removeExistingTxid(txid: string): void;
|
|
105
106
|
mergeTxidOnly(txid: string): BeefTx;
|
|
106
107
|
mergeBeefTx(btx: BeefTx): BeefTx;
|
|
107
|
-
mergeBeef(beef: number[] |
|
|
108
|
+
mergeBeef(beef: Beef | number[] | Uint8Array): void;
|
|
108
109
|
/**
|
|
109
110
|
* Sorts `txs` and checks structural validity of beef.
|
|
110
111
|
*
|
|
@@ -159,12 +160,17 @@ export declare class Beef {
|
|
|
159
160
|
* Serializes this data to `writer`
|
|
160
161
|
* @param writer
|
|
161
162
|
*/
|
|
162
|
-
toWriter(writer: Writer): void;
|
|
163
|
+
toWriter(writer: Writer | WriterUint8Array): void;
|
|
163
164
|
/**
|
|
164
165
|
* Returns a binary array representing the serialized BEEF
|
|
165
166
|
* @returns A binary array representing the BEEF
|
|
167
|
+
* @returns An array of byte values containing binary serialization of the BEEF
|
|
166
168
|
*/
|
|
167
169
|
toBinary(): number[];
|
|
170
|
+
/**
|
|
171
|
+
* Returns a binary array representing the serialized BEEF
|
|
172
|
+
* @returns A Uint8Array containing binary serialization of the BEEF
|
|
173
|
+
*/
|
|
168
174
|
toUint8Array(): Uint8Array;
|
|
169
175
|
/**
|
|
170
176
|
* Serialize this Beef as AtomicBEEF.
|
|
@@ -177,18 +183,29 @@ export declare class Beef {
|
|
|
177
183
|
* @returns serialized contents of this Beef with AtomicBEEF prefix.
|
|
178
184
|
*/
|
|
179
185
|
toBinaryAtomic(txid: string): number[];
|
|
186
|
+
/**
|
|
187
|
+
* Serialize this Beef as AtomicBEEF.
|
|
188
|
+
*
|
|
189
|
+
* `txid` must exist
|
|
190
|
+
*
|
|
191
|
+
* after sorting, if txid is not last txid, creates a clone and removes newer txs
|
|
192
|
+
*
|
|
193
|
+
* @param txid
|
|
194
|
+
* @returns serialized contents of this Beef with AtomicBEEF prefix.
|
|
195
|
+
*/
|
|
196
|
+
toUint8ArrayAtomic(txid: string): Uint8Array;
|
|
180
197
|
/**
|
|
181
198
|
* Returns a hex string representing the serialized BEEF
|
|
182
199
|
* @returns A hex string representing the BEEF
|
|
183
200
|
*/
|
|
184
201
|
toHex(): string;
|
|
185
|
-
static fromReader(br: Reader): Beef;
|
|
202
|
+
static fromReader(br: Reader | ReaderUint8Array): Beef;
|
|
186
203
|
/**
|
|
187
204
|
* Constructs an instance of the Beef class based on the provided binary array
|
|
188
|
-
* @param bin The binary array from which to construct BEEF
|
|
205
|
+
* @param bin The binary array or Uint8Array from which to construct BEEF
|
|
189
206
|
* @returns An instance of the Beef class constructed from the binary data
|
|
190
207
|
*/
|
|
191
|
-
static fromBinary(bin: number[]): Beef;
|
|
208
|
+
static fromBinary(bin: number[] | Uint8Array): Beef;
|
|
192
209
|
/**
|
|
193
210
|
* Constructs an instance of the Beef class based on the provided string
|
|
194
211
|
* @param s The string value from which to construct BEEF
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Beef.d.ts","sourceRoot":"","sources":["../../../../src/transaction/Beef.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,iBAAiB,CAAA;AACxC,OAAO,WAAW,MAAM,kBAAkB,CAAA;AAC1C,OAAO,YAAY,MAAM,mBAAmB,CAAA;AAC5C,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAiC,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"Beef.d.ts","sourceRoot":"","sources":["../../../../src/transaction/Beef.ts"],"names":[],"mappings":"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"}
|