@bsv/sdk 1.3.13 → 1.3.15
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 +15 -15
- package/dist/cjs/mod.js.map +1 -1
- package/dist/cjs/package.json +8 -3
- package/dist/cjs/src/auth/Peer.js +71 -61
- package/dist/cjs/src/auth/Peer.js.map +1 -1
- package/dist/cjs/src/auth/SessionManager.js +10 -5
- package/dist/cjs/src/auth/SessionManager.js.map +1 -1
- package/dist/cjs/src/auth/certificates/Certificate.js +33 -30
- package/dist/cjs/src/auth/certificates/Certificate.js.map +1 -1
- package/dist/cjs/src/auth/certificates/MasterCertificate.js +36 -36
- package/dist/cjs/src/auth/certificates/MasterCertificate.js.map +1 -1
- package/dist/cjs/src/auth/certificates/VerifiableCertificate.js +9 -9
- package/dist/cjs/src/auth/certificates/VerifiableCertificate.js.map +1 -1
- package/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js +45 -29
- package/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
- package/dist/cjs/src/auth/certificates/index.js +5 -5
- package/dist/cjs/src/auth/certificates/index.js.map +1 -1
- package/dist/cjs/src/auth/clients/AuthFetch.js +65 -74
- package/dist/cjs/src/auth/clients/AuthFetch.js.map +1 -1
- package/dist/cjs/src/auth/clients/index.js +1 -1
- package/dist/cjs/src/auth/clients/index.js.map +1 -1
- package/dist/cjs/src/auth/index.js +7 -7
- package/dist/cjs/src/auth/index.js.map +1 -1
- package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js +54 -62
- package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
- package/dist/cjs/src/auth/transports/index.js +1 -1
- package/dist/cjs/src/auth/transports/index.js.map +1 -1
- package/dist/cjs/src/auth/utils/createNonce.js +6 -5
- package/dist/cjs/src/auth/utils/createNonce.js.map +1 -1
- package/dist/cjs/src/auth/utils/getVerifiableCertificates.js +2 -2
- package/dist/cjs/src/auth/utils/getVerifiableCertificates.js.map +1 -1
- package/dist/cjs/src/auth/utils/index.js +4 -4
- package/dist/cjs/src/auth/utils/index.js.map +1 -1
- package/dist/cjs/src/auth/utils/validateCertificates.js +7 -4
- package/dist/cjs/src/auth/utils/validateCertificates.js.map +1 -1
- package/dist/cjs/src/auth/utils/verifyNonce.js +5 -4
- package/dist/cjs/src/auth/utils/verifyNonce.js.map +1 -1
- package/dist/cjs/src/compat/BSM.js +16 -26
- package/dist/cjs/src/compat/BSM.js.map +1 -1
- package/dist/cjs/src/compat/ECIES.js +50 -52
- package/dist/cjs/src/compat/ECIES.js.map +1 -1
- package/dist/cjs/src/compat/HD.js +36 -46
- package/dist/cjs/src/compat/HD.js.map +1 -1
- package/dist/cjs/src/compat/Mnemonic.js +30 -39
- package/dist/cjs/src/compat/Mnemonic.js.map +1 -1
- package/dist/cjs/src/compat/Utxo.js +5 -5
- package/dist/cjs/src/compat/Utxo.js.map +1 -1
- package/dist/cjs/src/compat/index.js +16 -26
- package/dist/cjs/src/compat/index.js.map +1 -1
- package/dist/cjs/src/messages/EncryptedMessage.js +14 -14
- package/dist/cjs/src/messages/EncryptedMessage.js.map +1 -1
- package/dist/cjs/src/messages/SignedMessage.js +21 -20
- package/dist/cjs/src/messages/SignedMessage.js.map +1 -1
- package/dist/cjs/src/messages/index.js +9 -19
- package/dist/cjs/src/messages/index.js.map +1 -1
- package/dist/cjs/src/overlay-tools/LookupResolver.js +44 -32
- package/dist/cjs/src/overlay-tools/LookupResolver.js.map +1 -1
- package/dist/cjs/src/overlay-tools/OverlayAdminTokenTemplate.js +12 -12
- package/dist/cjs/src/overlay-tools/OverlayAdminTokenTemplate.js.map +1 -1
- package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js +11 -10
- package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
- package/dist/cjs/src/overlay-tools/index.js +8 -8
- package/dist/cjs/src/overlay-tools/index.js.map +1 -1
- package/dist/cjs/src/primitives/AESGCM.js +6 -5
- package/dist/cjs/src/primitives/AESGCM.js.map +1 -1
- package/dist/cjs/src/primitives/BasePoint.js +2 -2
- package/dist/cjs/src/primitives/BasePoint.js.map +1 -1
- package/dist/cjs/src/primitives/BigNumber.js +5 -4
- package/dist/cjs/src/primitives/BigNumber.js.map +1 -1
- package/dist/cjs/src/primitives/Curve.js +70 -36
- package/dist/cjs/src/primitives/Curve.js.map +1 -1
- package/dist/cjs/src/primitives/DRBG.js +6 -6
- package/dist/cjs/src/primitives/DRBG.js.map +1 -1
- package/dist/cjs/src/primitives/ECDSA.js +71 -55
- package/dist/cjs/src/primitives/ECDSA.js.map +1 -1
- package/dist/cjs/src/primitives/Hash.js +115 -105
- package/dist/cjs/src/primitives/Hash.js.map +1 -1
- package/dist/cjs/src/primitives/JacobianPoint.js +25 -15
- package/dist/cjs/src/primitives/JacobianPoint.js.map +1 -1
- package/dist/cjs/src/primitives/K256.js +2 -2
- package/dist/cjs/src/primitives/K256.js.map +1 -1
- package/dist/cjs/src/primitives/Mersenne.js +4 -4
- package/dist/cjs/src/primitives/Mersenne.js.map +1 -1
- package/dist/cjs/src/primitives/MontgomoryMethod.js +5 -5
- package/dist/cjs/src/primitives/MontgomoryMethod.js.map +1 -1
- package/dist/cjs/src/primitives/Point.js +114 -87
- package/dist/cjs/src/primitives/Point.js.map +1 -1
- package/dist/cjs/src/primitives/Polynomial.js +14 -14
- package/dist/cjs/src/primitives/Polynomial.js.map +1 -1
- package/dist/cjs/src/primitives/PrivateKey.js +48 -58
- package/dist/cjs/src/primitives/PrivateKey.js.map +1 -1
- package/dist/cjs/src/primitives/PublicKey.js +23 -23
- package/dist/cjs/src/primitives/PublicKey.js.map +1 -1
- package/dist/cjs/src/primitives/Random.js +2 -1
- package/dist/cjs/src/primitives/Random.js.map +1 -1
- package/dist/cjs/src/primitives/ReductionContext.js +10 -10
- package/dist/cjs/src/primitives/ReductionContext.js.map +1 -1
- package/dist/cjs/src/primitives/Schnorr.js +8 -8
- package/dist/cjs/src/primitives/Schnorr.js.map +1 -1
- package/dist/cjs/src/primitives/Signature.js +23 -23
- package/dist/cjs/src/primitives/Signature.js.map +1 -1
- package/dist/cjs/src/primitives/SymmetricKey.js +13 -13
- package/dist/cjs/src/primitives/SymmetricKey.js.map +1 -1
- package/dist/cjs/src/primitives/TransactionSignature.js +38 -38
- package/dist/cjs/src/primitives/TransactionSignature.js.map +1 -1
- package/dist/cjs/src/primitives/index.js +34 -44
- package/dist/cjs/src/primitives/index.js.map +1 -1
- package/dist/cjs/src/primitives/utils.js +38 -37
- package/dist/cjs/src/primitives/utils.js.map +1 -1
- package/dist/cjs/src/script/LockingScript.js +2 -2
- package/dist/cjs/src/script/LockingScript.js.map +1 -1
- package/dist/cjs/src/script/OP.js +3 -3
- package/dist/cjs/src/script/OP.js.map +1 -1
- package/dist/cjs/src/script/Script.js +47 -47
- package/dist/cjs/src/script/Script.js.map +1 -1
- package/dist/cjs/src/script/Spend.js +304 -311
- package/dist/cjs/src/script/Spend.js.map +1 -1
- package/dist/cjs/src/script/UnlockingScript.js +2 -2
- package/dist/cjs/src/script/UnlockingScript.js.map +1 -1
- package/dist/cjs/src/script/index.js +11 -11
- package/dist/cjs/src/script/index.js.map +1 -1
- package/dist/cjs/src/script/templates/P2PKH.js +55 -47
- package/dist/cjs/src/script/templates/P2PKH.js.map +1 -1
- package/dist/cjs/src/script/templates/PushDrop.js +57 -51
- package/dist/cjs/src/script/templates/PushDrop.js.map +1 -1
- package/dist/cjs/src/script/templates/RPuzzle.js +49 -48
- package/dist/cjs/src/script/templates/RPuzzle.js.map +1 -1
- package/dist/cjs/src/script/templates/index.js +6 -6
- package/dist/cjs/src/script/templates/index.js.map +1 -1
- package/dist/cjs/src/totp/index.js +1 -1
- package/dist/cjs/src/totp/index.js.map +1 -1
- package/dist/cjs/src/totp/totp.js +9 -8
- package/dist/cjs/src/totp/totp.js.map +1 -1
- package/dist/cjs/src/transaction/Beef.js +78 -67
- package/dist/cjs/src/transaction/Beef.js.map +1 -1
- package/dist/cjs/src/transaction/BeefParty.js +5 -5
- package/dist/cjs/src/transaction/BeefParty.js.map +1 -1
- package/dist/cjs/src/transaction/BeefTx.js +39 -33
- package/dist/cjs/src/transaction/BeefTx.js.map +1 -1
- package/dist/cjs/src/transaction/Broadcaster.js +3 -2
- package/dist/cjs/src/transaction/Broadcaster.js.map +1 -1
- package/dist/cjs/src/transaction/MerklePath.js +60 -38
- package/dist/cjs/src/transaction/MerklePath.js.map +1 -1
- package/dist/cjs/src/transaction/Transaction.js +127 -85
- package/dist/cjs/src/transaction/Transaction.js.map +1 -1
- package/dist/cjs/src/transaction/broadcasters/ARC.js +48 -43
- package/dist/cjs/src/transaction/broadcasters/ARC.js.map +1 -1
- package/dist/cjs/src/transaction/broadcasters/DefaultBroadcaster.js +4 -3
- package/dist/cjs/src/transaction/broadcasters/DefaultBroadcaster.js.map +1 -1
- package/dist/cjs/src/transaction/broadcasters/WhatsOnChainBroadcaster.js +15 -15
- package/dist/cjs/src/transaction/broadcasters/WhatsOnChainBroadcaster.js.map +1 -1
- package/dist/cjs/src/transaction/broadcasters/index.js +6 -6
- package/dist/cjs/src/transaction/broadcasters/index.js.map +1 -1
- package/dist/cjs/src/transaction/chaintrackers/DefaultChainTracker.js +4 -3
- package/dist/cjs/src/transaction/chaintrackers/DefaultChainTracker.js.map +1 -1
- package/dist/cjs/src/transaction/chaintrackers/WhatsOnChain.js +11 -11
- package/dist/cjs/src/transaction/chaintrackers/WhatsOnChain.js.map +1 -1
- package/dist/cjs/src/transaction/chaintrackers/index.js +4 -4
- package/dist/cjs/src/transaction/chaintrackers/index.js.map +1 -1
- package/dist/cjs/src/transaction/fee-models/SatoshisPerKilobyte.js +3 -3
- package/dist/cjs/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
- package/dist/cjs/src/transaction/fee-models/index.js +2 -2
- package/dist/cjs/src/transaction/fee-models/index.js.map +1 -1
- package/dist/cjs/src/transaction/http/DefaultHttpClient.js +12 -10
- package/dist/cjs/src/transaction/http/DefaultHttpClient.js.map +1 -1
- package/dist/cjs/src/transaction/http/FetchHttpClient.js +2 -1
- package/dist/cjs/src/transaction/http/FetchHttpClient.js.map +1 -1
- package/dist/cjs/src/transaction/http/NodejsHttpClient.js +8 -8
- package/dist/cjs/src/transaction/http/NodejsHttpClient.js.map +1 -1
- package/dist/cjs/src/transaction/http/index.js +6 -6
- package/dist/cjs/src/transaction/http/index.js.map +1 -1
- package/dist/cjs/src/transaction/index.js +12 -12
- package/dist/cjs/src/transaction/index.js.map +1 -1
- package/dist/cjs/src/wallet/CachedKeyDeriver.js +34 -11
- package/dist/cjs/src/wallet/CachedKeyDeriver.js.map +1 -1
- package/dist/cjs/src/wallet/KeyDeriver.js +10 -9
- package/dist/cjs/src/wallet/KeyDeriver.js.map +1 -1
- package/dist/cjs/src/wallet/ProtoWallet.js +68 -31
- package/dist/cjs/src/wallet/ProtoWallet.js.map +1 -1
- package/dist/cjs/src/wallet/WalletClient.js +18 -14
- package/dist/cjs/src/wallet/WalletClient.js.map +1 -1
- package/dist/cjs/src/wallet/WalletError.js +2 -2
- package/dist/cjs/src/wallet/WalletError.js.map +1 -1
- package/dist/cjs/src/wallet/index.js +12 -12
- package/dist/cjs/src/wallet/index.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js +2 -1
- package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/HTTPWalletWire.js +11 -11
- package/dist/cjs/src/wallet/substrates/HTTPWalletWire.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/WalletWireCalls.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js +239 -238
- package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js +311 -300
- package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/XDM.js +9 -7
- package/dist/cjs/src/wallet/substrates/XDM.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/index.js +12 -12
- package/dist/cjs/src/wallet/substrates/index.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/window.CWI.js +32 -32
- package/dist/cjs/src/wallet/substrates/window.CWI.js.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/mod.js +15 -31
- package/dist/esm/mod.js.map +1 -1
- package/dist/esm/src/auth/Peer.js +64 -63
- package/dist/esm/src/auth/Peer.js.map +1 -1
- package/dist/esm/src/auth/SessionManager.js +11 -10
- package/dist/esm/src/auth/SessionManager.js.map +1 -1
- package/dist/esm/src/auth/certificates/Certificate.js +32 -34
- package/dist/esm/src/auth/certificates/Certificate.js.map +1 -1
- package/dist/esm/src/auth/certificates/MasterCertificate.js +36 -43
- package/dist/esm/src/auth/certificates/MasterCertificate.js.map +1 -1
- package/dist/esm/src/auth/certificates/VerifiableCertificate.js +9 -16
- package/dist/esm/src/auth/certificates/VerifiableCertificate.js.map +1 -1
- package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js +46 -33
- package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
- package/dist/esm/src/auth/certificates/index.js +4 -25
- package/dist/esm/src/auth/certificates/index.js.map +1 -1
- package/dist/esm/src/auth/clients/AuthFetch.js +66 -79
- package/dist/esm/src/auth/clients/AuthFetch.js.map +1 -1
- package/dist/esm/src/auth/clients/index.js +1 -17
- package/dist/esm/src/auth/clients/index.js.map +1 -1
- package/dist/esm/src/auth/index.js +7 -23
- package/dist/esm/src/auth/index.js.map +1 -1
- package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js +55 -67
- package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
- package/dist/esm/src/auth/transports/index.js +1 -17
- package/dist/esm/src/auth/transports/index.js.map +1 -1
- package/dist/esm/src/auth/types.js +1 -2
- package/dist/esm/src/auth/utils/createNonce.js +5 -8
- package/dist/esm/src/auth/utils/createNonce.js.map +1 -1
- package/dist/esm/src/auth/utils/getVerifiableCertificates.js +3 -7
- package/dist/esm/src/auth/utils/getVerifiableCertificates.js.map +1 -1
- package/dist/esm/src/auth/utils/index.js +4 -20
- package/dist/esm/src/auth/utils/index.js.map +1 -1
- package/dist/esm/src/auth/utils/validateCertificates.js +8 -9
- package/dist/esm/src/auth/utils/validateCertificates.js.map +1 -1
- package/dist/esm/src/auth/utils/verifyNonce.js +4 -7
- package/dist/esm/src/auth/utils/verifyNonce.js.map +1 -1
- package/dist/esm/src/compat/BSM.js +14 -56
- package/dist/esm/src/compat/BSM.js.map +1 -1
- package/dist/esm/src/compat/ECIES.js +44 -75
- package/dist/esm/src/compat/ECIES.js.map +1 -1
- package/dist/esm/src/compat/HD.js +30 -69
- package/dist/esm/src/compat/HD.js.map +1 -1
- package/dist/esm/src/compat/Mnemonic.js +24 -62
- package/dist/esm/src/compat/Mnemonic.js.map +1 -1
- package/dist/esm/src/compat/Utxo.js +5 -11
- package/dist/esm/src/compat/Utxo.js.map +1 -1
- package/dist/esm/src/compat/bip-39-wordlist-en.js +1 -4
- package/dist/esm/src/compat/bip-39-wordlist-en.js.map +1 -1
- package/dist/esm/src/compat/index.js +5 -48
- package/dist/esm/src/compat/index.js.map +1 -1
- package/dist/esm/src/messages/EncryptedMessage.js +16 -24
- package/dist/esm/src/messages/EncryptedMessage.js.map +1 -1
- package/dist/esm/src/messages/SignedMessage.js +23 -30
- package/dist/esm/src/messages/SignedMessage.js.map +1 -1
- package/dist/esm/src/messages/index.js +2 -38
- package/dist/esm/src/messages/index.js.map +1 -1
- package/dist/esm/src/overlay-tools/LookupResolver.js +46 -43
- package/dist/esm/src/overlay-tools/LookupResolver.js.map +1 -1
- package/dist/esm/src/overlay-tools/OverlayAdminTokenTemplate.js +13 -19
- package/dist/esm/src/overlay-tools/OverlayAdminTokenTemplate.js.map +1 -1
- package/dist/esm/src/overlay-tools/SHIPBroadcaster.js +13 -20
- package/dist/esm/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
- package/dist/esm/src/overlay-tools/index.js +5 -28
- package/dist/esm/src/overlay-tools/index.js.map +1 -1
- package/dist/esm/src/primitives/AESGCM.js +27 -39
- package/dist/esm/src/primitives/AESGCM.js.map +1 -1
- package/dist/esm/src/primitives/BasePoint.js +3 -9
- package/dist/esm/src/primitives/BasePoint.js.map +1 -1
- package/dist/esm/src/primitives/BigNumber.js +6 -8
- package/dist/esm/src/primitives/BigNumber.js.map +1 -1
- package/dist/esm/src/primitives/Curve.js +70 -43
- package/dist/esm/src/primitives/Curve.js.map +1 -1
- package/dist/esm/src/primitives/DRBG.js +7 -10
- package/dist/esm/src/primitives/DRBG.js.map +1 -1
- package/dist/esm/src/primitives/ECDSA.js +72 -65
- package/dist/esm/src/primitives/ECDSA.js.map +1 -1
- package/dist/esm/src/primitives/Hash.js +131 -141
- package/dist/esm/src/primitives/Hash.js.map +1 -1
- package/dist/esm/src/primitives/JacobianPoint.js +24 -21
- package/dist/esm/src/primitives/JacobianPoint.js.map +1 -1
- package/dist/esm/src/primitives/K256.js +2 -8
- package/dist/esm/src/primitives/K256.js.map +1 -1
- package/dist/esm/src/primitives/Mersenne.js +5 -11
- package/dist/esm/src/primitives/Mersenne.js.map +1 -1
- package/dist/esm/src/primitives/MontgomoryMethod.js +5 -11
- package/dist/esm/src/primitives/MontgomoryMethod.js.map +1 -1
- package/dist/esm/src/primitives/Point.js +104 -93
- package/dist/esm/src/primitives/Point.js.map +1 -1
- package/dist/esm/src/primitives/Polynomial.js +16 -24
- package/dist/esm/src/primitives/Polynomial.js.map +1 -1
- package/dist/esm/src/primitives/PrivateKey.js +42 -83
- package/dist/esm/src/primitives/PrivateKey.js.map +1 -1
- package/dist/esm/src/primitives/PublicKey.js +23 -29
- package/dist/esm/src/primitives/PublicKey.js.map +1 -1
- package/dist/esm/src/primitives/Random.js +4 -5
- package/dist/esm/src/primitives/Random.js.map +1 -1
- package/dist/esm/src/primitives/ReductionContext.js +11 -17
- package/dist/esm/src/primitives/ReductionContext.js.map +1 -1
- package/dist/esm/src/primitives/Schnorr.js +9 -15
- package/dist/esm/src/primitives/Schnorr.js.map +1 -1
- package/dist/esm/src/primitives/Signature.js +24 -30
- package/dist/esm/src/primitives/Signature.js.map +1 -1
- package/dist/esm/src/primitives/SymmetricKey.js +13 -19
- package/dist/esm/src/primitives/SymmetricKey.js.map +1 -1
- package/dist/esm/src/primitives/TransactionSignature.js +29 -60
- package/dist/esm/src/primitives/TransactionSignature.js.map +1 -1
- package/dist/esm/src/primitives/index.js +14 -66
- package/dist/esm/src/primitives/index.js.map +1 -1
- package/dist/esm/src/primitives/utils.js +55 -74
- package/dist/esm/src/primitives/utils.js.map +1 -1
- package/dist/esm/src/script/LockingScript.js +2 -8
- package/dist/esm/src/script/LockingScript.js.map +1 -1
- package/dist/esm/src/script/OP.js +4 -6
- package/dist/esm/src/script/OP.js.map +1 -1
- package/dist/esm/src/script/Script.js +48 -54
- package/dist/esm/src/script/Script.js.map +1 -1
- package/dist/esm/src/script/ScriptChunk.js +1 -2
- package/dist/esm/src/script/ScriptTemplate.js +1 -2
- package/dist/esm/src/script/Spend.js +297 -334
- package/dist/esm/src/script/Spend.js.map +1 -1
- package/dist/esm/src/script/UnlockingScript.js +2 -8
- package/dist/esm/src/script/UnlockingScript.js.map +1 -1
- package/dist/esm/src/script/index.js +6 -31
- package/dist/esm/src/script/index.js.map +1 -1
- package/dist/esm/src/script/templates/P2PKH.js +53 -51
- package/dist/esm/src/script/templates/P2PKH.js.map +1 -1
- package/dist/esm/src/script/templates/PushDrop.js +54 -52
- package/dist/esm/src/script/templates/PushDrop.js.map +1 -1
- package/dist/esm/src/script/templates/RPuzzle.js +51 -55
- package/dist/esm/src/script/templates/RPuzzle.js.map +1 -1
- package/dist/esm/src/script/templates/index.js +3 -12
- package/dist/esm/src/script/templates/index.js.map +1 -1
- package/dist/esm/src/totp/index.js +1 -17
- package/dist/esm/src/totp/index.js.map +1 -1
- package/dist/esm/src/totp/totp.js +10 -16
- package/dist/esm/src/totp/totp.js.map +1 -1
- package/dist/esm/src/transaction/Beef.js +89 -86
- package/dist/esm/src/transaction/Beef.js.map +1 -1
- package/dist/esm/src/transaction/BeefParty.js +6 -10
- package/dist/esm/src/transaction/BeefParty.js.map +1 -1
- package/dist/esm/src/transaction/BeefTx.js +40 -40
- package/dist/esm/src/transaction/BeefTx.js.map +1 -1
- package/dist/esm/src/transaction/Broadcaster.js +2 -6
- package/dist/esm/src/transaction/Broadcaster.js.map +1 -1
- package/dist/esm/src/transaction/ChainTracker.js +1 -2
- package/dist/esm/src/transaction/FeeModel.js +1 -2
- package/dist/esm/src/transaction/MerklePath.js +58 -41
- package/dist/esm/src/transaction/MerklePath.js.map +1 -1
- package/dist/esm/src/transaction/Transaction.js +121 -92
- package/dist/esm/src/transaction/Transaction.js.map +1 -1
- package/dist/esm/src/transaction/TransactionInput.js +1 -2
- package/dist/esm/src/transaction/TransactionOutput.js +1 -2
- package/dist/esm/src/transaction/broadcasters/ARC.js +49 -50
- package/dist/esm/src/transaction/broadcasters/ARC.js.map +1 -1
- package/dist/esm/src/transaction/broadcasters/DefaultBroadcaster.js +3 -9
- package/dist/esm/src/transaction/broadcasters/DefaultBroadcaster.js.map +1 -1
- package/dist/esm/src/transaction/broadcasters/WhatsOnChainBroadcaster.js +16 -19
- package/dist/esm/src/transaction/broadcasters/WhatsOnChainBroadcaster.js.map +1 -1
- package/dist/esm/src/transaction/broadcasters/index.js +3 -12
- package/dist/esm/src/transaction/broadcasters/index.js.map +1 -1
- package/dist/esm/src/transaction/chaintrackers/DefaultChainTracker.js +3 -9
- package/dist/esm/src/transaction/chaintrackers/DefaultChainTracker.js.map +1 -1
- package/dist/esm/src/transaction/chaintrackers/WhatsOnChain.js +12 -15
- package/dist/esm/src/transaction/chaintrackers/WhatsOnChain.js.map +1 -1
- package/dist/esm/src/transaction/chaintrackers/index.js +2 -10
- package/dist/esm/src/transaction/chaintrackers/index.js.map +1 -1
- package/dist/esm/src/transaction/fee-models/SatoshisPerKilobyte.js +4 -7
- package/dist/esm/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
- package/dist/esm/src/transaction/fee-models/index.js +1 -8
- package/dist/esm/src/transaction/fee-models/index.js.map +1 -1
- package/dist/esm/src/transaction/http/DefaultHttpClient.js +11 -13
- package/dist/esm/src/transaction/http/DefaultHttpClient.js.map +1 -1
- package/dist/esm/src/transaction/http/FetchHttpClient.js +2 -6
- package/dist/esm/src/transaction/http/FetchHttpClient.js.map +1 -1
- package/dist/esm/src/transaction/http/HttpClient.js +1 -2
- package/dist/esm/src/transaction/http/NodejsHttpClient.js +9 -13
- package/dist/esm/src/transaction/http/NodejsHttpClient.js.map +1 -1
- package/dist/esm/src/transaction/http/index.js +3 -9
- package/dist/esm/src/transaction/http/index.js.map +1 -1
- package/dist/esm/src/transaction/index.js +6 -32
- package/dist/esm/src/transaction/index.js.map +1 -1
- package/dist/esm/src/wallet/CachedKeyDeriver.js +35 -15
- package/dist/esm/src/wallet/CachedKeyDeriver.js.map +1 -1
- package/dist/esm/src/wallet/KeyDeriver.js +11 -15
- package/dist/esm/src/wallet/KeyDeriver.js.map +1 -1
- package/dist/esm/src/wallet/ProtoWallet.js +66 -37
- package/dist/esm/src/wallet/ProtoWallet.js.map +1 -1
- package/dist/esm/src/wallet/Wallet.interfaces.js +2 -5
- package/dist/esm/src/wallet/Wallet.interfaces.js.map +1 -1
- package/dist/esm/src/wallet/WalletClient.js +19 -21
- package/dist/esm/src/wallet/WalletClient.js.map +1 -1
- package/dist/esm/src/wallet/WalletError.js +4 -8
- package/dist/esm/src/wallet/WalletError.js.map +1 -1
- package/dist/esm/src/wallet/index.js +8 -32
- package/dist/esm/src/wallet/index.js.map +1 -1
- package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js +3 -6
- package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
- package/dist/esm/src/wallet/substrates/HTTPWalletWire.js +12 -18
- package/dist/esm/src/wallet/substrates/HTTPWalletWire.js.map +1 -1
- package/dist/esm/src/wallet/substrates/WalletWire.js +1 -2
- package/dist/esm/src/wallet/substrates/WalletWireCalls.js +1 -3
- package/dist/esm/src/wallet/substrates/WalletWireCalls.js.map +1 -1
- package/dist/esm/src/wallet/substrates/WalletWireProcessor.js +240 -245
- package/dist/esm/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
- package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js +305 -307
- package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
- package/dist/esm/src/wallet/substrates/XDM.js +10 -11
- package/dist/esm/src/wallet/substrates/XDM.js.map +1 -1
- package/dist/esm/src/wallet/substrates/index.js +7 -32
- package/dist/esm/src/wallet/substrates/index.js.map +1 -1
- package/dist/esm/src/wallet/substrates/window.CWI.js +33 -36
- package/dist/esm/src/wallet/substrates/window.CWI.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/types/mod.d.ts +15 -15
- package/dist/types/mod.d.ts.map +1 -1
- package/dist/types/src/auth/Peer.d.ts +4 -4
- package/dist/types/src/auth/Peer.d.ts.map +1 -1
- package/dist/types/src/auth/SessionManager.d.ts +1 -1
- package/dist/types/src/auth/SessionManager.d.ts.map +1 -1
- package/dist/types/src/auth/certificates/Certificate.d.ts +6 -6
- package/dist/types/src/auth/certificates/Certificate.d.ts.map +1 -1
- package/dist/types/src/auth/certificates/MasterCertificate.d.ts +6 -6
- package/dist/types/src/auth/certificates/MasterCertificate.d.ts.map +1 -1
- package/dist/types/src/auth/certificates/VerifiableCertificate.d.ts +2 -2
- package/dist/types/src/auth/certificates/VerifiableCertificate.d.ts.map +1 -1
- package/dist/types/src/auth/certificates/__tests/CompletedProtoWallet.d.ts +23 -22
- package/dist/types/src/auth/certificates/__tests/CompletedProtoWallet.d.ts.map +1 -1
- package/dist/types/src/auth/certificates/index.d.ts +4 -4
- package/dist/types/src/auth/certificates/index.d.ts.map +1 -1
- package/dist/types/src/auth/clients/AuthFetch.d.ts +9 -9
- package/dist/types/src/auth/clients/AuthFetch.d.ts.map +1 -1
- package/dist/types/src/auth/clients/index.d.ts +1 -1
- package/dist/types/src/auth/clients/index.d.ts.map +1 -1
- package/dist/types/src/auth/index.d.ts +7 -7
- package/dist/types/src/auth/index.d.ts.map +1 -1
- package/dist/types/src/auth/transports/SimplifiedFetchTransport.d.ts +1 -1
- package/dist/types/src/auth/transports/SimplifiedFetchTransport.d.ts.map +1 -1
- package/dist/types/src/auth/transports/index.d.ts +1 -1
- package/dist/types/src/auth/transports/index.d.ts.map +1 -1
- package/dist/types/src/auth/types.d.ts +1 -1
- package/dist/types/src/auth/types.d.ts.map +1 -1
- package/dist/types/src/auth/utils/createNonce.d.ts +1 -1
- package/dist/types/src/auth/utils/createNonce.d.ts.map +1 -1
- package/dist/types/src/auth/utils/getVerifiableCertificates.d.ts +3 -3
- package/dist/types/src/auth/utils/getVerifiableCertificates.d.ts.map +1 -1
- package/dist/types/src/auth/utils/index.d.ts +4 -4
- package/dist/types/src/auth/utils/index.d.ts.map +1 -1
- package/dist/types/src/auth/utils/validateCertificates.d.ts +2 -2
- package/dist/types/src/auth/utils/validateCertificates.d.ts.map +1 -1
- package/dist/types/src/auth/utils/verifyNonce.d.ts +1 -1
- package/dist/types/src/auth/utils/verifyNonce.d.ts.map +1 -1
- package/dist/types/src/compat/BSM.d.ts +4 -4
- package/dist/types/src/compat/BSM.d.ts.map +1 -1
- package/dist/types/src/compat/ECIES.d.ts +2 -2
- package/dist/types/src/compat/ECIES.d.ts.map +1 -1
- package/dist/types/src/compat/HD.d.ts +2 -2
- package/dist/types/src/compat/HD.d.ts.map +1 -1
- package/dist/types/src/compat/Mnemonic.d.ts.map +1 -1
- package/dist/types/src/compat/Utxo.d.ts +3 -3
- package/dist/types/src/compat/Utxo.d.ts.map +1 -1
- package/dist/types/src/compat/index.d.ts +5 -5
- package/dist/types/src/compat/index.d.ts.map +1 -1
- package/dist/types/src/messages/EncryptedMessage.d.ts +2 -2
- package/dist/types/src/messages/EncryptedMessage.d.ts.map +1 -1
- package/dist/types/src/messages/SignedMessage.d.ts +2 -2
- package/dist/types/src/messages/SignedMessage.d.ts.map +1 -1
- package/dist/types/src/messages/index.d.ts +2 -2
- package/dist/types/src/messages/index.d.ts.map +1 -1
- package/dist/types/src/overlay-tools/LookupResolver.d.ts.map +1 -1
- package/dist/types/src/overlay-tools/OverlayAdminTokenTemplate.d.ts +4 -4
- package/dist/types/src/overlay-tools/OverlayAdminTokenTemplate.d.ts.map +1 -1
- package/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts +2 -2
- package/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts.map +1 -1
- package/dist/types/src/overlay-tools/index.d.ts +5 -5
- package/dist/types/src/overlay-tools/index.d.ts.map +1 -1
- package/dist/types/src/primitives/AESGCM.d.ts.map +1 -1
- package/dist/types/src/primitives/BasePoint.d.ts +9 -9
- package/dist/types/src/primitives/BasePoint.d.ts.map +1 -1
- package/dist/types/src/primitives/BigNumber.d.ts +1 -1
- package/dist/types/src/primitives/BigNumber.d.ts.map +1 -1
- package/dist/types/src/primitives/Curve.d.ts +17 -10
- package/dist/types/src/primitives/Curve.d.ts.map +1 -1
- package/dist/types/src/primitives/DRBG.d.ts +1 -1
- package/dist/types/src/primitives/DRBG.d.ts.map +1 -1
- package/dist/types/src/primitives/ECDSA.d.ts +4 -4
- package/dist/types/src/primitives/ECDSA.d.ts.map +1 -1
- package/dist/types/src/primitives/Hash.d.ts +11 -11
- package/dist/types/src/primitives/Hash.d.ts.map +1 -1
- package/dist/types/src/primitives/JacobianPoint.d.ts +3 -3
- package/dist/types/src/primitives/JacobianPoint.d.ts.map +1 -1
- package/dist/types/src/primitives/K256.d.ts +2 -2
- package/dist/types/src/primitives/K256.d.ts.map +1 -1
- package/dist/types/src/primitives/Mersenne.d.ts +1 -1
- package/dist/types/src/primitives/Mersenne.d.ts.map +1 -1
- package/dist/types/src/primitives/MontgomoryMethod.d.ts +2 -2
- package/dist/types/src/primitives/MontgomoryMethod.d.ts.map +1 -1
- package/dist/types/src/primitives/Point.d.ts +3 -3
- package/dist/types/src/primitives/Point.d.ts.map +1 -1
- package/dist/types/src/primitives/Polynomial.d.ts +2 -2
- package/dist/types/src/primitives/Polynomial.d.ts.map +1 -1
- package/dist/types/src/primitives/PrivateKey.d.ts +7 -7
- package/dist/types/src/primitives/PrivateKey.d.ts.map +1 -1
- package/dist/types/src/primitives/PublicKey.d.ts +4 -4
- package/dist/types/src/primitives/PublicKey.d.ts.map +1 -1
- package/dist/types/src/primitives/Random.d.ts.map +1 -1
- package/dist/types/src/primitives/ReductionContext.d.ts +2 -2
- package/dist/types/src/primitives/ReductionContext.d.ts.map +1 -1
- package/dist/types/src/primitives/Schnorr.d.ts +3 -3
- package/dist/types/src/primitives/Schnorr.d.ts.map +1 -1
- package/dist/types/src/primitives/Signature.d.ts +3 -3
- package/dist/types/src/primitives/Signature.d.ts.map +1 -1
- package/dist/types/src/primitives/SymmetricKey.d.ts +1 -1
- package/dist/types/src/primitives/SymmetricKey.d.ts.map +1 -1
- package/dist/types/src/primitives/TransactionSignature.d.ts +5 -5
- package/dist/types/src/primitives/TransactionSignature.d.ts.map +1 -1
- package/dist/types/src/primitives/index.d.ts +14 -14
- package/dist/types/src/primitives/index.d.ts.map +1 -1
- package/dist/types/src/primitives/utils.d.ts +4 -7
- package/dist/types/src/primitives/utils.d.ts.map +1 -1
- package/dist/types/src/script/LockingScript.d.ts +1 -1
- package/dist/types/src/script/LockingScript.d.ts.map +1 -1
- package/dist/types/src/script/Script.d.ts +2 -2
- package/dist/types/src/script/Script.d.ts.map +1 -1
- package/dist/types/src/script/ScriptTemplate.d.ts +5 -5
- package/dist/types/src/script/ScriptTemplate.d.ts.map +1 -1
- package/dist/types/src/script/Spend.d.ts +4 -4
- package/dist/types/src/script/Spend.d.ts.map +1 -1
- package/dist/types/src/script/UnlockingScript.d.ts +1 -1
- package/dist/types/src/script/UnlockingScript.d.ts.map +1 -1
- package/dist/types/src/script/index.d.ts +7 -7
- package/dist/types/src/script/index.d.ts.map +1 -1
- package/dist/types/src/script/templates/P2PKH.d.ts +7 -7
- package/dist/types/src/script/templates/P2PKH.d.ts.map +1 -1
- package/dist/types/src/script/templates/PushDrop.d.ts +6 -7
- package/dist/types/src/script/templates/PushDrop.d.ts.map +1 -1
- package/dist/types/src/script/templates/RPuzzle.d.ts +9 -9
- package/dist/types/src/script/templates/RPuzzle.d.ts.map +1 -1
- package/dist/types/src/script/templates/index.d.ts +3 -3
- package/dist/types/src/script/templates/index.d.ts.map +1 -1
- package/dist/types/src/totp/index.d.ts +1 -1
- package/dist/types/src/totp/index.d.ts.map +1 -1
- package/dist/types/src/totp/totp.d.ts.map +1 -1
- package/dist/types/src/transaction/Beef.d.ts +10 -10
- package/dist/types/src/transaction/Beef.d.ts.map +1 -1
- package/dist/types/src/transaction/BeefParty.d.ts +1 -1
- package/dist/types/src/transaction/BeefParty.d.ts.map +1 -1
- package/dist/types/src/transaction/BeefTx.d.ts +4 -4
- package/dist/types/src/transaction/BeefTx.d.ts.map +1 -1
- package/dist/types/src/transaction/Broadcaster.d.ts +1 -1
- package/dist/types/src/transaction/Broadcaster.d.ts.map +1 -1
- package/dist/types/src/transaction/FeeModel.d.ts +1 -1
- package/dist/types/src/transaction/FeeModel.d.ts.map +1 -1
- package/dist/types/src/transaction/MerklePath.d.ts +2 -2
- package/dist/types/src/transaction/MerklePath.d.ts.map +1 -1
- package/dist/types/src/transaction/Transaction.d.ts +7 -7
- package/dist/types/src/transaction/Transaction.d.ts.map +1 -1
- package/dist/types/src/transaction/TransactionInput.d.ts +2 -2
- package/dist/types/src/transaction/TransactionInput.d.ts.map +1 -1
- package/dist/types/src/transaction/TransactionOutput.d.ts +1 -1
- package/dist/types/src/transaction/TransactionOutput.d.ts.map +1 -1
- package/dist/types/src/transaction/broadcasters/ARC.d.ts +4 -4
- package/dist/types/src/transaction/broadcasters/ARC.d.ts.map +1 -1
- package/dist/types/src/transaction/broadcasters/DefaultBroadcaster.d.ts +2 -2
- package/dist/types/src/transaction/broadcasters/DefaultBroadcaster.d.ts.map +1 -1
- package/dist/types/src/transaction/broadcasters/WhatsOnChainBroadcaster.d.ts +4 -4
- package/dist/types/src/transaction/broadcasters/WhatsOnChainBroadcaster.d.ts.map +1 -1
- package/dist/types/src/transaction/broadcasters/index.d.ts +4 -4
- package/dist/types/src/transaction/broadcasters/index.d.ts.map +1 -1
- package/dist/types/src/transaction/chaintrackers/DefaultChainTracker.d.ts +1 -1
- package/dist/types/src/transaction/chaintrackers/DefaultChainTracker.d.ts.map +1 -1
- package/dist/types/src/transaction/chaintrackers/WhatsOnChain.d.ts +3 -3
- package/dist/types/src/transaction/chaintrackers/WhatsOnChain.d.ts.map +1 -1
- package/dist/types/src/transaction/chaintrackers/index.d.ts +3 -3
- package/dist/types/src/transaction/chaintrackers/index.d.ts.map +1 -1
- package/dist/types/src/transaction/fee-models/SatoshisPerKilobyte.d.ts +2 -2
- package/dist/types/src/transaction/fee-models/SatoshisPerKilobyte.d.ts.map +1 -1
- package/dist/types/src/transaction/fee-models/index.d.ts +1 -1
- package/dist/types/src/transaction/fee-models/index.d.ts.map +1 -1
- package/dist/types/src/transaction/http/DefaultHttpClient.d.ts +1 -1
- package/dist/types/src/transaction/http/DefaultHttpClient.d.ts.map +1 -1
- package/dist/types/src/transaction/http/FetchHttpClient.d.ts +1 -1
- package/dist/types/src/transaction/http/FetchHttpClient.d.ts.map +1 -1
- package/dist/types/src/transaction/http/HttpClient.d.ts.map +1 -1
- package/dist/types/src/transaction/http/NodejsHttpClient.d.ts +1 -1
- package/dist/types/src/transaction/http/NodejsHttpClient.d.ts.map +1 -1
- package/dist/types/src/transaction/http/index.d.ts +6 -6
- package/dist/types/src/transaction/http/index.d.ts.map +1 -1
- package/dist/types/src/transaction/index.d.ts +10 -10
- package/dist/types/src/transaction/index.d.ts.map +1 -1
- package/dist/types/src/wallet/CachedKeyDeriver.d.ts +3 -3
- package/dist/types/src/wallet/CachedKeyDeriver.d.ts.map +1 -1
- package/dist/types/src/wallet/KeyDeriver.d.ts +2 -2
- package/dist/types/src/wallet/KeyDeriver.d.ts.map +1 -1
- package/dist/types/src/wallet/ProtoWallet.d.ts +12 -12
- package/dist/types/src/wallet/ProtoWallet.d.ts.map +1 -1
- package/dist/types/src/wallet/Wallet.interfaces.d.ts +7 -8
- package/dist/types/src/wallet/Wallet.interfaces.d.ts.map +1 -1
- package/dist/types/src/wallet/WalletClient.d.ts +6 -6
- package/dist/types/src/wallet/WalletClient.d.ts.map +1 -1
- package/dist/types/src/wallet/index.d.ts +8 -8
- package/dist/types/src/wallet/index.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts +7 -7
- package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/HTTPWalletWire.d.ts +1 -1
- package/dist/types/src/wallet/substrates/HTTPWalletWire.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/WalletWire.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/WalletWireCalls.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/WalletWireProcessor.d.ts +2 -2
- package/dist/types/src/wallet/substrates/WalletWireProcessor.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/WalletWireTransceiver.d.ts +10 -10
- package/dist/types/src/wallet/substrates/WalletWireTransceiver.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/XDM.d.ts +2 -2
- package/dist/types/src/wallet/substrates/XDM.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/index.d.ts +7 -7
- package/dist/types/src/wallet/substrates/index.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/window.CWI.d.ts +25 -25
- package/dist/types/src/wallet/substrates/window.CWI.d.ts.map +1 -1
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/dist/umd/bundle.js +1 -1
- package/docs/auth.md +44 -38
- package/docs/primitives.md +97 -73
- package/docs/script.md +4 -4
- package/docs/swagger/dist/swagger-initializer.js +7 -7
- package/docs/swagger/dist/swagger-ui-bundle.js +1 -1
- package/docs/swagger/dist/swagger-ui-es-bundle-core.js +2 -2
- package/docs/swagger/dist/swagger-ui-es-bundle.js +1 -1
- package/docs/swagger/dist/swagger-ui-standalone-preset.js +1 -1
- package/docs/swagger/dist/swagger-ui.js +2 -2
- package/docs/transaction.md +27 -27
- package/docs/wallet-substrates.md +13 -13
- package/docs/wallet.md +80 -82
- package/mod.ts +15 -15
- package/package.json +8 -3
- package/src/auth/Peer.ts +75 -70
- package/src/auth/SessionManager.ts +11 -6
- package/src/auth/__tests/Peer.test.ts +141 -114
- package/src/auth/__tests/SessionManager.test.ts +67 -19
- package/src/auth/__tests/build.test.ts +11 -0
- package/src/auth/certificates/Certificate.ts +15 -12
- package/src/auth/certificates/MasterCertificate.ts +24 -33
- package/src/auth/certificates/VerifiableCertificate.ts +6 -4
- package/src/auth/certificates/__tests/Certificate.test.ts +140 -139
- package/src/auth/certificates/__tests/CompletedProtoWallet.ts +88 -74
- package/src/auth/certificates/__tests/MasterCertificate.test.ts +7 -15
- package/src/auth/certificates/__tests/VerifiableCertificate.test.ts +1 -6
- package/src/auth/certificates/index.ts +4 -4
- package/src/auth/clients/AuthFetch.ts +232 -316
- package/src/auth/clients/index.ts +1 -1
- package/src/auth/index.ts +7 -7
- package/src/auth/transports/SimplifiedFetchTransport.ts +126 -166
- package/src/auth/transports/index.ts +1 -1
- package/src/auth/types.ts +1 -1
- package/src/auth/utils/__tests/cryptononce.test.ts +7 -5
- package/src/auth/utils/__tests/getVerifiableCertificates.test.ts +12 -12
- package/src/auth/utils/__tests/validateCertificates.test.ts +113 -103
- package/src/auth/utils/createNonce.ts +1 -1
- package/src/auth/utils/getVerifiableCertificates.ts +4 -4
- package/src/auth/utils/index.ts +4 -4
- package/src/auth/utils/validateCertificates.ts +9 -5
- package/src/auth/utils/verifyNonce.ts +1 -1
- package/src/compat/BSM.ts +7 -7
- package/src/compat/ECIES.ts +38 -30
- package/src/compat/HD.ts +12 -13
- package/src/compat/Mnemonic.ts +16 -14
- package/src/compat/Utxo.ts +4 -4
- package/src/compat/__tests/BSM.test.ts +5 -6
- package/src/compat/__tests/HD.test.ts +6 -4
- package/src/compat/__tests/Mnemonic.test.ts +144 -145
- package/src/compat/__tests/Mnemonic.vectors.ts +110 -55
- package/src/compat/index.ts +5 -5
- package/src/messages/EncryptedMessage.ts +5 -5
- package/src/messages/SignedMessage.ts +7 -6
- package/src/messages/__tests/EncryptedMessage.test.ts +39 -39
- package/src/messages/__tests/SignedMessage.test.ts +49 -49
- package/src/messages/index.ts +2 -2
- package/src/overlay-tools/LookupResolver.ts +52 -32
- package/src/overlay-tools/OverlayAdminTokenTemplate.ts +9 -5
- package/src/overlay-tools/SHIPBroadcaster.ts +8 -7
- package/src/overlay-tools/index.ts +5 -5
- package/src/primitives/AESGCM.ts +2 -0
- package/src/primitives/BasePoint.ts +5 -5
- package/src/primitives/BigNumber.ts +8 -6
- package/src/primitives/Curve.ts +79 -27
- package/src/primitives/DRBG.ts +3 -3
- package/src/primitives/ECDSA.ts +62 -42
- package/src/primitives/Hash.ts +215 -163
- package/src/primitives/JacobianPoint.ts +19 -5
- package/src/primitives/K256.ts +2 -2
- package/src/primitives/Mersenne.ts +1 -1
- package/src/primitives/MontgomoryMethod.ts +2 -2
- package/src/primitives/Point.ts +98 -76
- package/src/primitives/Polynomial.ts +6 -6
- package/src/primitives/PrivateKey.ts +24 -24
- package/src/primitives/PublicKey.ts +8 -8
- package/src/primitives/Random.ts +7 -3
- package/src/primitives/ReductionContext.ts +3 -3
- package/src/primitives/Schnorr.ts +5 -5
- package/src/primitives/Signature.ts +14 -12
- package/src/primitives/SymmetricKey.ts +5 -5
- package/src/primitives/TransactionSignature.ts +26 -13
- package/src/primitives/__tests/AESGCM.test.ts +403 -403
- package/src/primitives/__tests/BRC42.private.vectors.ts +30 -15
- package/src/primitives/__tests/BRC42.public.vectors.ts +30 -15
- package/src/primitives/__tests/BigNumber.arithmatic.test.ts +563 -563
- package/src/primitives/__tests/BigNumber.binary.test.ts +211 -211
- package/src/primitives/__tests/BigNumber.constructor.test.ts +8 -4
- package/src/primitives/__tests/BigNumber.dhGroup.test.ts +15 -15
- package/src/primitives/__tests/BigNumber.fixtures.ts +16 -8
- package/src/primitives/__tests/BigNumber.serializers.test.ts +169 -169
- package/src/primitives/__tests/BigNumber.utils.test.ts +328 -328
- package/src/primitives/__tests/Curve.unit.test.ts +152 -145
- package/src/primitives/__tests/DRBG.test.ts +13 -13
- package/src/primitives/__tests/DRBG.vectors.ts +45 -75
- package/src/primitives/__tests/ECDSA.test.ts +51 -51
- package/src/primitives/__tests/HMAC.test.ts +46 -46
- package/src/primitives/__tests/Hash.test.ts +83 -83
- package/src/primitives/__tests/PBKDF2.vectors.ts +130 -117
- package/src/primitives/__tests/PrivateKey.split.test.ts +6 -4
- package/src/primitives/__tests/PrivateKey.test.ts +53 -55
- package/src/primitives/__tests/PublicKey.test.ts +59 -57
- package/src/primitives/__tests/Random.test.ts +10 -10
- package/src/primitives/__tests/ReductionContext.test.ts +222 -222
- package/src/primitives/__tests/Schnorr.test.ts +150 -148
- package/src/primitives/__tests/SymmetricKey.test.ts +44 -44
- package/src/primitives/__tests/SymmetricKey.vectors.ts +16 -8
- package/src/primitives/__tests/bug-31.test.ts +23 -29
- package/src/primitives/__tests/utils.test.ts +1 -1
- package/src/primitives/index.ts +14 -14
- package/src/primitives/utils.ts +25 -26
- package/src/script/LockingScript.ts +1 -1
- package/src/script/Script.ts +13 -11
- package/src/script/ScriptTemplate.ts +5 -5
- package/src/script/Spend.ts +27 -25
- package/src/script/UnlockingScript.ts +1 -1
- package/src/script/__tests/Script.test.ts +7 -3
- package/src/script/__tests/Spend.test.ts +23 -18
- package/src/script/__tests/SpendComplex.test.ts +27 -31
- package/src/script/__tests/script.invalid.vectors.ts +428 -1796
- package/src/script/__tests/script.valid.vectors.ts +1064 -1064
- package/src/script/index.ts +7 -7
- package/src/script/templates/P2PKH.ts +72 -61
- package/src/script/templates/PushDrop.ts +101 -95
- package/src/script/templates/RPuzzle.ts +65 -62
- package/src/script/templates/__tests/PushDrop.test.ts +2 -3
- package/src/script/templates/index.ts +3 -3
- package/src/totp/__tests/totp.test.ts +12 -11
- package/src/totp/index.ts +1 -1
- package/src/totp/totp.ts +5 -4
- package/src/transaction/Beef.ts +84 -59
- package/src/transaction/BeefParty.ts +9 -7
- package/src/transaction/BeefTx.ts +32 -26
- package/src/transaction/Broadcaster.ts +1 -1
- package/src/transaction/FeeModel.ts +1 -2
- package/src/transaction/MerklePath.ts +58 -37
- package/src/transaction/Transaction.ts +127 -103
- package/src/transaction/TransactionInput.ts +2 -2
- package/src/transaction/TransactionOutput.ts +1 -2
- package/src/transaction/__tests/Beef.test.ts +109 -68
- package/src/transaction/__tests/MerklePath.test.ts +132 -131
- package/src/transaction/__tests/Transaction.benchmarks.test.ts +10 -13
- package/src/transaction/__tests/Transaction.test.ts +20 -31
- package/src/transaction/__tests/bigtx.vectors.ts +2 -1
- package/src/transaction/__tests/bump.invalid.vectors.ts +24 -6
- package/src/transaction/__tests/bump.valid.vectors.ts +6 -2
- package/src/transaction/__tests/tx.invalid.vectors.ts +881 -185
- package/src/transaction/__tests/tx.valid.vectors.ts +1210 -257
- package/src/transaction/broadcasters/ARC.ts +117 -112
- package/src/transaction/broadcasters/DefaultBroadcaster.ts +4 -4
- package/src/transaction/broadcasters/WhatsOnChainBroadcaster.ts +32 -32
- package/src/transaction/broadcasters/__tests/ARC.test.ts +63 -27
- package/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.ts +9 -8
- package/src/transaction/broadcasters/index.ts +4 -4
- package/src/transaction/chaintrackers/DefaultChainTracker.ts +3 -3
- package/src/transaction/chaintrackers/WhatsOnChain.ts +39 -38
- package/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.ts +99 -99
- package/src/transaction/chaintrackers/index.ts +3 -3
- package/src/transaction/fee-models/SatoshisPerKilobyte.ts +30 -31
- package/src/transaction/fee-models/index.ts +1 -1
- package/src/transaction/http/DefaultHttpClient.ts +14 -13
- package/src/transaction/http/FetchHttpClient.ts +3 -3
- package/src/transaction/http/HttpClient.ts +20 -20
- package/src/transaction/http/NodejsHttpClient.ts +27 -27
- package/src/transaction/http/index.ts +7 -7
- package/src/transaction/index.ts +10 -10
- package/src/wallet/CachedKeyDeriver.ts +39 -16
- package/src/wallet/KeyDeriver.ts +4 -4
- package/src/wallet/ProtoWallet.ts +77 -44
- package/src/wallet/Wallet.interfaces.ts +10 -8
- package/src/wallet/WalletClient.ts +21 -24
- package/src/wallet/WalletError.ts +2 -2
- package/src/wallet/__tests/CachedKeyDeriver.test.ts +15 -12
- package/src/wallet/__tests/KeyDeriver.test.ts +115 -115
- package/src/wallet/__tests/ProtoWallet.test.ts +320 -313
- package/src/wallet/index.ts +8 -8
- package/src/wallet/substrates/HTTPWalletJSON.ts +54 -40
- package/src/wallet/substrates/HTTPWalletWire.ts +27 -27
- package/src/wallet/substrates/WalletWire.ts +1 -1
- package/src/wallet/substrates/WalletWireCalls.ts +2 -2
- package/src/wallet/substrates/WalletWireProcessor.ts +966 -967
- package/src/wallet/substrates/WalletWireTransceiver.ts +1012 -1007
- package/src/wallet/substrates/XDM.ts +18 -19
- package/src/wallet/substrates/__tests/WalletWire.integration.test.ts +6 -4
- package/src/wallet/substrates/__tests/XDM.test.ts +343 -341
- package/src/wallet/substrates/index.ts +7 -7
- package/src/wallet/substrates/window.CWI.ts +330 -330
- package/dist/cjs/src/auth/__tests/Peer.test.js +0 -446
- package/dist/cjs/src/auth/__tests/Peer.test.js.map +0 -1
- package/dist/cjs/src/auth/__tests/SessionManager.test.js +0 -69
- package/dist/cjs/src/auth/__tests/SessionManager.test.js.map +0 -1
- package/dist/cjs/src/auth/certificates/__tests/Certificate.test.js +0 -182
- package/dist/cjs/src/auth/certificates/__tests/Certificate.test.js.map +0 -1
- package/dist/cjs/src/auth/certificates/__tests/MasterCertificate.test.js +0 -184
- package/dist/cjs/src/auth/certificates/__tests/MasterCertificate.test.js.map +0 -1
- package/dist/cjs/src/auth/certificates/__tests/VerifiableCertificate.test.js +0 -75
- package/dist/cjs/src/auth/certificates/__tests/VerifiableCertificate.test.js.map +0 -1
- package/dist/cjs/src/auth/utils/__tests/cryptononce.test.js +0 -101
- package/dist/cjs/src/auth/utils/__tests/cryptononce.test.js.map +0 -1
- package/dist/cjs/src/auth/utils/__tests/getVerifiableCertificates.test.js +0 -106
- package/dist/cjs/src/auth/utils/__tests/getVerifiableCertificates.test.js.map +0 -1
- package/dist/cjs/src/auth/utils/__tests/validateCertificates.test.js +0 -111
- package/dist/cjs/src/auth/utils/__tests/validateCertificates.test.js.map +0 -1
- package/dist/cjs/src/compat/__tests/BSM.test.js +0 -69
- package/dist/cjs/src/compat/__tests/BSM.test.js.map +0 -1
- package/dist/cjs/src/compat/__tests/ECIES.test.js +0 -115
- package/dist/cjs/src/compat/__tests/ECIES.test.js.map +0 -1
- package/dist/cjs/src/compat/__tests/HD.test.js +0 -336
- package/dist/cjs/src/compat/__tests/HD.test.js.map +0 -1
- package/dist/cjs/src/compat/__tests/Mnemonic.test.js +0 -150
- package/dist/cjs/src/compat/__tests/Mnemonic.test.js.map +0 -1
- package/dist/cjs/src/compat/__tests/Mnemonic.vectors.js +0 -175
- package/dist/cjs/src/compat/__tests/Mnemonic.vectors.js.map +0 -1
- package/dist/cjs/src/messages/__tests/EncryptedMessage.test.js +0 -57
- package/dist/cjs/src/messages/__tests/EncryptedMessage.test.js.map +0 -1
- package/dist/cjs/src/messages/__tests/SignedMessage.test.js +0 -52
- package/dist/cjs/src/messages/__tests/SignedMessage.test.js.map +0 -1
- package/dist/cjs/src/overlay-tools/__tests/LookupResolver.test.js +0 -1471
- package/dist/cjs/src/overlay-tools/__tests/LookupResolver.test.js.map +0 -1
- package/dist/cjs/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js +0 -78
- package/dist/cjs/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js.map +0 -1
- package/dist/cjs/src/overlay-tools/__tests/SHIPBroadcaster.test.js +0 -933
- package/dist/cjs/src/overlay-tools/__tests/SHIPBroadcaster.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/AESGCM.test.js +0 -248
- package/dist/cjs/src/primitives/__tests/AESGCM.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/BRC42.private.vectors.js +0 -36
- package/dist/cjs/src/primitives/__tests/BRC42.private.vectors.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/BRC42.public.vectors.js +0 -36
- package/dist/cjs/src/primitives/__tests/BRC42.public.vectors.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/BigNumber.arithmatic.test.js +0 -501
- package/dist/cjs/src/primitives/__tests/BigNumber.arithmatic.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/BigNumber.binary.test.js +0 -185
- package/dist/cjs/src/primitives/__tests/BigNumber.binary.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/BigNumber.constructor.test.js +0 -149
- package/dist/cjs/src/primitives/__tests/BigNumber.constructor.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/BigNumber.dhGroup.test.js +0 -23
- package/dist/cjs/src/primitives/__tests/BigNumber.dhGroup.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/BigNumber.fixtures.js +0 -268
- package/dist/cjs/src/primitives/__tests/BigNumber.fixtures.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/BigNumber.serializers.test.js +0 -147
- package/dist/cjs/src/primitives/__tests/BigNumber.serializers.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/BigNumber.utils.test.js +0 -322
- package/dist/cjs/src/primitives/__tests/BigNumber.utils.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/Curve.unit.test.js +0 -145
- package/dist/cjs/src/primitives/__tests/Curve.unit.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/DRBG.test.js +0 -22
- package/dist/cjs/src/primitives/__tests/DRBG.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/DRBG.vectors.js +0 -170
- package/dist/cjs/src/primitives/__tests/DRBG.vectors.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/ECDH.test.js +0 -34
- package/dist/cjs/src/primitives/__tests/ECDH.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/ECDSA.test.js +0 -89
- package/dist/cjs/src/primitives/__tests/ECDSA.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/HMAC.test.js +0 -60
- package/dist/cjs/src/primitives/__tests/HMAC.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/Hash.test.js +0 -159
- package/dist/cjs/src/primitives/__tests/Hash.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/PBKDF2.vectors.js +0 -122
- package/dist/cjs/src/primitives/__tests/PBKDF2.vectors.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/PrivateKey.split.test.js +0 -105
- package/dist/cjs/src/primitives/__tests/PrivateKey.split.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/PrivateKey.test.js +0 -90
- package/dist/cjs/src/primitives/__tests/PrivateKey.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/PublicKey.test.js +0 -83
- package/dist/cjs/src/primitives/__tests/PublicKey.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/Random.test.js +0 -19
- package/dist/cjs/src/primitives/__tests/Random.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/Reader.test.js +0 -282
- package/dist/cjs/src/primitives/__tests/Reader.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/ReductionContext.test.js +0 -224
- package/dist/cjs/src/primitives/__tests/ReductionContext.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/Schnorr.test.js +0 -213
- package/dist/cjs/src/primitives/__tests/Schnorr.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/SymmetricKey.test.js +0 -51
- package/dist/cjs/src/primitives/__tests/SymmetricKey.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/SymmetricKey.vectors.js +0 -43
- package/dist/cjs/src/primitives/__tests/SymmetricKey.vectors.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/Writer.test.js +0 -176
- package/dist/cjs/src/primitives/__tests/Writer.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/bug-31.test.js +0 -32
- package/dist/cjs/src/primitives/__tests/bug-31.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/sighash.vectors.js +0 -3506
- package/dist/cjs/src/primitives/__tests/sighash.vectors.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/utils.test.js +0 -110
- package/dist/cjs/src/primitives/__tests/utils.test.js.map +0 -1
- package/dist/cjs/src/script/__tests/Script.test.js +0 -347
- package/dist/cjs/src/script/__tests/Script.test.js.map +0 -1
- package/dist/cjs/src/script/__tests/Spend.test.js +0 -282
- package/dist/cjs/src/script/__tests/Spend.test.js.map +0 -1
- package/dist/cjs/src/script/__tests/SpendComplex.test.js +0 -52
- package/dist/cjs/src/script/__tests/SpendComplex.test.js.map +0 -1
- package/dist/cjs/src/script/__tests/script.invalid.vectors.js +0 -2370
- package/dist/cjs/src/script/__tests/script.invalid.vectors.js.map +0 -1
- package/dist/cjs/src/script/__tests/script.valid.vectors.js +0 -1181
- package/dist/cjs/src/script/__tests/script.valid.vectors.js.map +0 -1
- package/dist/cjs/src/script/__tests/spend.valid.vectors.js +0 -2298
- package/dist/cjs/src/script/__tests/spend.valid.vectors.js.map +0 -1
- package/dist/cjs/src/script/templates/__tests/PushDrop.test.js +0 -161
- package/dist/cjs/src/script/templates/__tests/PushDrop.test.js.map +0 -1
- package/dist/cjs/src/totp/__tests/totp.test.js +0 -67
- package/dist/cjs/src/totp/__tests/totp.test.js.map +0 -1
- package/dist/cjs/src/transaction/__tests/Beef.test.js +0 -393
- package/dist/cjs/src/transaction/__tests/Beef.test.js.map +0 -1
- package/dist/cjs/src/transaction/__tests/MerklePath.test.js +0 -209
- package/dist/cjs/src/transaction/__tests/MerklePath.test.js.map +0 -1
- package/dist/cjs/src/transaction/__tests/Transaction.benchmarks.test.js +0 -219
- package/dist/cjs/src/transaction/__tests/Transaction.benchmarks.test.js.map +0 -1
- package/dist/cjs/src/transaction/__tests/Transaction.test.js +0 -1073
- package/dist/cjs/src/transaction/__tests/Transaction.test.js.map +0 -1
- package/dist/cjs/src/transaction/__tests/bigtx.vectors.js +0 -7
- package/dist/cjs/src/transaction/__tests/bigtx.vectors.js.map +0 -1
- package/dist/cjs/src/transaction/__tests/bump.invalid.vectors.js +0 -11
- package/dist/cjs/src/transaction/__tests/bump.invalid.vectors.js.map +0 -1
- package/dist/cjs/src/transaction/__tests/bump.valid.vectors.js +0 -7
- package/dist/cjs/src/transaction/__tests/bump.valid.vectors.js.map +0 -1
- package/dist/cjs/src/transaction/__tests/tx.invalid.vectors.js +0 -230
- package/dist/cjs/src/transaction/__tests/tx.invalid.vectors.js.map +0 -1
- package/dist/cjs/src/transaction/__tests/tx.valid.vectors.js +0 -296
- package/dist/cjs/src/transaction/__tests/tx.valid.vectors.js.map +0 -1
- package/dist/cjs/src/transaction/broadcasters/__tests/ARC.test.js +0 -246
- package/dist/cjs/src/transaction/broadcasters/__tests/ARC.test.js.map +0 -1
- package/dist/cjs/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js +0 -148
- package/dist/cjs/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js.map +0 -1
- package/dist/cjs/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js +0 -155
- package/dist/cjs/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js.map +0 -1
- package/dist/cjs/src/wallet/__tests/CachedKeyDeriver.test.js +0 -269
- package/dist/cjs/src/wallet/__tests/CachedKeyDeriver.test.js.map +0 -1
- package/dist/cjs/src/wallet/__tests/KeyDeriver.test.js +0 -114
- package/dist/cjs/src/wallet/__tests/KeyDeriver.test.js.map +0 -1
- package/dist/cjs/src/wallet/__tests/ProtoWallet.test.js +0 -475
- package/dist/cjs/src/wallet/__tests/ProtoWallet.test.js.map +0 -1
- package/dist/cjs/src/wallet/substrates/__tests/WalletWire.integration.test.js +0 -1962
- package/dist/cjs/src/wallet/substrates/__tests/WalletWire.integration.test.js.map +0 -1
- package/dist/cjs/src/wallet/substrates/__tests/XDM.test.js +0 -579
- package/dist/cjs/src/wallet/substrates/__tests/XDM.test.js.map +0 -1
- package/dist/esm/src/auth/__tests/Peer.test.js +0 -448
- package/dist/esm/src/auth/__tests/Peer.test.js.map +0 -1
- package/dist/esm/src/auth/__tests/SessionManager.test.js +0 -69
- package/dist/esm/src/auth/__tests/SessionManager.test.js.map +0 -1
- package/dist/esm/src/auth/certificates/__tests/Certificate.test.js +0 -182
- package/dist/esm/src/auth/certificates/__tests/Certificate.test.js.map +0 -1
- package/dist/esm/src/auth/certificates/__tests/MasterCertificate.test.js +0 -184
- package/dist/esm/src/auth/certificates/__tests/MasterCertificate.test.js.map +0 -1
- package/dist/esm/src/auth/certificates/__tests/VerifiableCertificate.test.js +0 -75
- package/dist/esm/src/auth/certificates/__tests/VerifiableCertificate.test.js.map +0 -1
- package/dist/esm/src/auth/utils/__tests/cryptononce.test.js +0 -101
- package/dist/esm/src/auth/utils/__tests/cryptononce.test.js.map +0 -1
- package/dist/esm/src/auth/utils/__tests/getVerifiableCertificates.test.js +0 -106
- package/dist/esm/src/auth/utils/__tests/getVerifiableCertificates.test.js.map +0 -1
- package/dist/esm/src/auth/utils/__tests/validateCertificates.test.js +0 -111
- package/dist/esm/src/auth/utils/__tests/validateCertificates.test.js.map +0 -1
- package/dist/esm/src/compat/__tests/BSM.test.js +0 -69
- package/dist/esm/src/compat/__tests/BSM.test.js.map +0 -1
- package/dist/esm/src/compat/__tests/ECIES.test.js +0 -115
- package/dist/esm/src/compat/__tests/ECIES.test.js.map +0 -1
- package/dist/esm/src/compat/__tests/HD.test.js +0 -336
- package/dist/esm/src/compat/__tests/HD.test.js.map +0 -1
- package/dist/esm/src/compat/__tests/Mnemonic.test.js +0 -150
- package/dist/esm/src/compat/__tests/Mnemonic.test.js.map +0 -1
- package/dist/esm/src/compat/__tests/Mnemonic.vectors.js +0 -175
- package/dist/esm/src/compat/__tests/Mnemonic.vectors.js.map +0 -1
- package/dist/esm/src/messages/__tests/EncryptedMessage.test.js +0 -57
- package/dist/esm/src/messages/__tests/EncryptedMessage.test.js.map +0 -1
- package/dist/esm/src/messages/__tests/SignedMessage.test.js +0 -52
- package/dist/esm/src/messages/__tests/SignedMessage.test.js.map +0 -1
- package/dist/esm/src/overlay-tools/__tests/LookupResolver.test.js +0 -1471
- package/dist/esm/src/overlay-tools/__tests/LookupResolver.test.js.map +0 -1
- package/dist/esm/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js +0 -78
- package/dist/esm/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js.map +0 -1
- package/dist/esm/src/overlay-tools/__tests/SHIPBroadcaster.test.js +0 -933
- package/dist/esm/src/overlay-tools/__tests/SHIPBroadcaster.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/AESGCM.test.js +0 -248
- package/dist/esm/src/primitives/__tests/AESGCM.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/BRC42.private.vectors.js +0 -36
- package/dist/esm/src/primitives/__tests/BRC42.private.vectors.js.map +0 -1
- package/dist/esm/src/primitives/__tests/BRC42.public.vectors.js +0 -36
- package/dist/esm/src/primitives/__tests/BRC42.public.vectors.js.map +0 -1
- package/dist/esm/src/primitives/__tests/BigNumber.arithmatic.test.js +0 -501
- package/dist/esm/src/primitives/__tests/BigNumber.arithmatic.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/BigNumber.binary.test.js +0 -185
- package/dist/esm/src/primitives/__tests/BigNumber.binary.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/BigNumber.constructor.test.js +0 -149
- package/dist/esm/src/primitives/__tests/BigNumber.constructor.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/BigNumber.dhGroup.test.js +0 -23
- package/dist/esm/src/primitives/__tests/BigNumber.dhGroup.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/BigNumber.fixtures.js +0 -268
- package/dist/esm/src/primitives/__tests/BigNumber.fixtures.js.map +0 -1
- package/dist/esm/src/primitives/__tests/BigNumber.serializers.test.js +0 -147
- package/dist/esm/src/primitives/__tests/BigNumber.serializers.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/BigNumber.utils.test.js +0 -322
- package/dist/esm/src/primitives/__tests/BigNumber.utils.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/Curve.unit.test.js +0 -145
- package/dist/esm/src/primitives/__tests/Curve.unit.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/DRBG.test.js +0 -22
- package/dist/esm/src/primitives/__tests/DRBG.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/DRBG.vectors.js +0 -170
- package/dist/esm/src/primitives/__tests/DRBG.vectors.js.map +0 -1
- package/dist/esm/src/primitives/__tests/ECDH.test.js +0 -34
- package/dist/esm/src/primitives/__tests/ECDH.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/ECDSA.test.js +0 -89
- package/dist/esm/src/primitives/__tests/ECDSA.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/HMAC.test.js +0 -60
- package/dist/esm/src/primitives/__tests/HMAC.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/Hash.test.js +0 -159
- package/dist/esm/src/primitives/__tests/Hash.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/PBKDF2.vectors.js +0 -122
- package/dist/esm/src/primitives/__tests/PBKDF2.vectors.js.map +0 -1
- package/dist/esm/src/primitives/__tests/PrivateKey.split.test.js +0 -105
- package/dist/esm/src/primitives/__tests/PrivateKey.split.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/PrivateKey.test.js +0 -90
- package/dist/esm/src/primitives/__tests/PrivateKey.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/PublicKey.test.js +0 -83
- package/dist/esm/src/primitives/__tests/PublicKey.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/Random.test.js +0 -19
- package/dist/esm/src/primitives/__tests/Random.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/Reader.test.js +0 -282
- package/dist/esm/src/primitives/__tests/Reader.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/ReductionContext.test.js +0 -223
- package/dist/esm/src/primitives/__tests/ReductionContext.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/Schnorr.test.js +0 -213
- package/dist/esm/src/primitives/__tests/Schnorr.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/SymmetricKey.test.js +0 -51
- package/dist/esm/src/primitives/__tests/SymmetricKey.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/SymmetricKey.vectors.js +0 -43
- package/dist/esm/src/primitives/__tests/SymmetricKey.vectors.js.map +0 -1
- package/dist/esm/src/primitives/__tests/Writer.test.js +0 -176
- package/dist/esm/src/primitives/__tests/Writer.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/bug-31.test.js +0 -32
- package/dist/esm/src/primitives/__tests/bug-31.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/sighash.vectors.js +0 -3506
- package/dist/esm/src/primitives/__tests/sighash.vectors.js.map +0 -1
- package/dist/esm/src/primitives/__tests/utils.test.js +0 -110
- package/dist/esm/src/primitives/__tests/utils.test.js.map +0 -1
- package/dist/esm/src/script/__tests/Script.test.js +0 -347
- package/dist/esm/src/script/__tests/Script.test.js.map +0 -1
- package/dist/esm/src/script/__tests/Spend.test.js +0 -282
- package/dist/esm/src/script/__tests/Spend.test.js.map +0 -1
- package/dist/esm/src/script/__tests/SpendComplex.test.js +0 -51
- package/dist/esm/src/script/__tests/SpendComplex.test.js.map +0 -1
- package/dist/esm/src/script/__tests/script.invalid.vectors.js +0 -2370
- package/dist/esm/src/script/__tests/script.invalid.vectors.js.map +0 -1
- package/dist/esm/src/script/__tests/script.valid.vectors.js +0 -1181
- package/dist/esm/src/script/__tests/script.valid.vectors.js.map +0 -1
- package/dist/esm/src/script/__tests/spend.valid.vectors.js +0 -2298
- package/dist/esm/src/script/__tests/spend.valid.vectors.js.map +0 -1
- package/dist/esm/src/script/templates/__tests/PushDrop.test.js +0 -161
- package/dist/esm/src/script/templates/__tests/PushDrop.test.js.map +0 -1
- package/dist/esm/src/totp/__tests/totp.test.js +0 -67
- package/dist/esm/src/totp/__tests/totp.test.js.map +0 -1
- package/dist/esm/src/transaction/__tests/Beef.test.js +0 -393
- package/dist/esm/src/transaction/__tests/Beef.test.js.map +0 -1
- package/dist/esm/src/transaction/__tests/MerklePath.test.js +0 -209
- package/dist/esm/src/transaction/__tests/MerklePath.test.js.map +0 -1
- package/dist/esm/src/transaction/__tests/Transaction.benchmarks.test.js +0 -219
- package/dist/esm/src/transaction/__tests/Transaction.benchmarks.test.js.map +0 -1
- package/dist/esm/src/transaction/__tests/Transaction.test.js +0 -1072
- package/dist/esm/src/transaction/__tests/Transaction.test.js.map +0 -1
- package/dist/esm/src/transaction/__tests/bigtx.vectors.js +0 -7
- package/dist/esm/src/transaction/__tests/bigtx.vectors.js.map +0 -1
- package/dist/esm/src/transaction/__tests/bump.invalid.vectors.js +0 -11
- package/dist/esm/src/transaction/__tests/bump.invalid.vectors.js.map +0 -1
- package/dist/esm/src/transaction/__tests/bump.valid.vectors.js +0 -7
- package/dist/esm/src/transaction/__tests/bump.valid.vectors.js.map +0 -1
- package/dist/esm/src/transaction/__tests/tx.invalid.vectors.js +0 -230
- package/dist/esm/src/transaction/__tests/tx.invalid.vectors.js.map +0 -1
- package/dist/esm/src/transaction/__tests/tx.valid.vectors.js +0 -296
- package/dist/esm/src/transaction/__tests/tx.valid.vectors.js.map +0 -1
- package/dist/esm/src/transaction/broadcasters/__tests/ARC.test.js +0 -246
- package/dist/esm/src/transaction/broadcasters/__tests/ARC.test.js.map +0 -1
- package/dist/esm/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js +0 -148
- package/dist/esm/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js.map +0 -1
- package/dist/esm/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js +0 -155
- package/dist/esm/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js.map +0 -1
- package/dist/esm/src/wallet/__tests/CachedKeyDeriver.test.js +0 -269
- package/dist/esm/src/wallet/__tests/CachedKeyDeriver.test.js.map +0 -1
- package/dist/esm/src/wallet/__tests/KeyDeriver.test.js +0 -113
- package/dist/esm/src/wallet/__tests/KeyDeriver.test.js.map +0 -1
- package/dist/esm/src/wallet/__tests/ProtoWallet.test.js +0 -475
- package/dist/esm/src/wallet/__tests/ProtoWallet.test.js.map +0 -1
- package/dist/esm/src/wallet/substrates/__tests/WalletWire.integration.test.js +0 -1962
- package/dist/esm/src/wallet/substrates/__tests/WalletWire.integration.test.js.map +0 -1
- package/dist/esm/src/wallet/substrates/__tests/XDM.test.js +0 -579
- package/dist/esm/src/wallet/substrates/__tests/XDM.test.js.map +0 -1
- package/dist/types/src/auth/__tests/Peer.test.d.ts +0 -2
- package/dist/types/src/auth/__tests/Peer.test.d.ts.map +0 -1
- package/dist/types/src/auth/__tests/SessionManager.test.d.ts +0 -2
- package/dist/types/src/auth/__tests/SessionManager.test.d.ts.map +0 -1
- package/dist/types/src/auth/certificates/__tests/Certificate.test.d.ts +0 -2
- package/dist/types/src/auth/certificates/__tests/Certificate.test.d.ts.map +0 -1
- package/dist/types/src/auth/certificates/__tests/MasterCertificate.test.d.ts +0 -2
- package/dist/types/src/auth/certificates/__tests/MasterCertificate.test.d.ts.map +0 -1
- package/dist/types/src/auth/certificates/__tests/VerifiableCertificate.test.d.ts +0 -2
- package/dist/types/src/auth/certificates/__tests/VerifiableCertificate.test.d.ts.map +0 -1
- package/dist/types/src/auth/utils/__tests/cryptononce.test.d.ts +0 -2
- package/dist/types/src/auth/utils/__tests/cryptononce.test.d.ts.map +0 -1
- package/dist/types/src/auth/utils/__tests/getVerifiableCertificates.test.d.ts +0 -2
- package/dist/types/src/auth/utils/__tests/getVerifiableCertificates.test.d.ts.map +0 -1
- package/dist/types/src/auth/utils/__tests/validateCertificates.test.d.ts +0 -2
- package/dist/types/src/auth/utils/__tests/validateCertificates.test.d.ts.map +0 -1
- package/dist/types/src/compat/__tests/BSM.test.d.ts +0 -2
- package/dist/types/src/compat/__tests/BSM.test.d.ts.map +0 -1
- package/dist/types/src/compat/__tests/ECIES.test.d.ts +0 -2
- package/dist/types/src/compat/__tests/ECIES.test.d.ts.map +0 -1
- package/dist/types/src/compat/__tests/HD.test.d.ts +0 -2
- package/dist/types/src/compat/__tests/HD.test.d.ts.map +0 -1
- package/dist/types/src/compat/__tests/Mnemonic.test.d.ts +0 -2
- package/dist/types/src/compat/__tests/Mnemonic.test.d.ts.map +0 -1
- package/dist/types/src/compat/__tests/Mnemonic.vectors.d.ts +0 -11
- package/dist/types/src/compat/__tests/Mnemonic.vectors.d.ts.map +0 -1
- package/dist/types/src/messages/__tests/EncryptedMessage.test.d.ts +0 -2
- package/dist/types/src/messages/__tests/EncryptedMessage.test.d.ts.map +0 -1
- package/dist/types/src/messages/__tests/SignedMessage.test.d.ts +0 -2
- package/dist/types/src/messages/__tests/SignedMessage.test.d.ts.map +0 -1
- package/dist/types/src/overlay-tools/__tests/LookupResolver.test.d.ts +0 -2
- package/dist/types/src/overlay-tools/__tests/LookupResolver.test.d.ts.map +0 -1
- package/dist/types/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.d.ts +0 -2
- package/dist/types/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.d.ts.map +0 -1
- package/dist/types/src/overlay-tools/__tests/SHIPBroadcaster.test.d.ts +0 -2
- package/dist/types/src/overlay-tools/__tests/SHIPBroadcaster.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/AESGCM.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/AESGCM.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/BRC42.private.vectors.d.ts +0 -8
- package/dist/types/src/primitives/__tests/BRC42.private.vectors.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/BRC42.public.vectors.d.ts +0 -8
- package/dist/types/src/primitives/__tests/BRC42.public.vectors.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/BigNumber.arithmatic.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/BigNumber.arithmatic.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/BigNumber.binary.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/BigNumber.binary.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/BigNumber.constructor.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/BigNumber.constructor.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/BigNumber.dhGroup.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/BigNumber.dhGroup.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/BigNumber.fixtures.d.ts +0 -15
- package/dist/types/src/primitives/__tests/BigNumber.fixtures.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/BigNumber.serializers.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/BigNumber.serializers.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/BigNumber.utils.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/BigNumber.utils.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/Curve.unit.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/Curve.unit.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/DRBG.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/DRBG.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/DRBG.vectors.d.ts +0 -10
- package/dist/types/src/primitives/__tests/DRBG.vectors.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/ECDH.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/ECDH.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/ECDSA.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/ECDSA.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/HMAC.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/HMAC.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/Hash.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/Hash.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/PBKDF2.vectors.d.ts +0 -68
- package/dist/types/src/primitives/__tests/PBKDF2.vectors.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/PrivateKey.split.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/PrivateKey.split.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/PrivateKey.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/PrivateKey.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/PublicKey.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/PublicKey.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/Random.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/Random.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/Reader.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/Reader.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/ReductionContext.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/ReductionContext.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/Schnorr.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/Schnorr.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/SymmetricKey.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/SymmetricKey.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/SymmetricKey.vectors.d.ts +0 -20
- package/dist/types/src/primitives/__tests/SymmetricKey.vectors.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/Writer.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/Writer.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/bug-31.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/bug-31.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/sighash.vectors.d.ts +0 -3
- package/dist/types/src/primitives/__tests/sighash.vectors.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/utils.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/utils.test.d.ts.map +0 -1
- package/dist/types/src/script/__tests/Script.test.d.ts +0 -2
- package/dist/types/src/script/__tests/Script.test.d.ts.map +0 -1
- package/dist/types/src/script/__tests/Spend.test.d.ts +0 -2
- package/dist/types/src/script/__tests/Spend.test.d.ts.map +0 -1
- package/dist/types/src/script/__tests/SpendComplex.test.d.ts +0 -2
- package/dist/types/src/script/__tests/SpendComplex.test.d.ts.map +0 -1
- package/dist/types/src/script/__tests/script.invalid.vectors.d.ts +0 -3
- package/dist/types/src/script/__tests/script.invalid.vectors.d.ts.map +0 -1
- package/dist/types/src/script/__tests/script.valid.vectors.d.ts +0 -3
- package/dist/types/src/script/__tests/script.valid.vectors.d.ts.map +0 -1
- package/dist/types/src/script/__tests/spend.valid.vectors.d.ts +0 -3
- package/dist/types/src/script/__tests/spend.valid.vectors.d.ts.map +0 -1
- package/dist/types/src/script/templates/__tests/PushDrop.test.d.ts +0 -2
- package/dist/types/src/script/templates/__tests/PushDrop.test.d.ts.map +0 -1
- package/dist/types/src/totp/__tests/totp.test.d.ts +0 -2
- package/dist/types/src/totp/__tests/totp.test.d.ts.map +0 -1
- package/dist/types/src/transaction/__tests/Beef.test.d.ts +0 -2
- package/dist/types/src/transaction/__tests/Beef.test.d.ts.map +0 -1
- package/dist/types/src/transaction/__tests/MerklePath.test.d.ts +0 -2
- package/dist/types/src/transaction/__tests/MerklePath.test.d.ts.map +0 -1
- package/dist/types/src/transaction/__tests/Transaction.benchmarks.test.d.ts +0 -2
- package/dist/types/src/transaction/__tests/Transaction.benchmarks.test.d.ts.map +0 -1
- package/dist/types/src/transaction/__tests/Transaction.test.d.ts +0 -2
- package/dist/types/src/transaction/__tests/Transaction.test.d.ts.map +0 -1
- package/dist/types/src/transaction/__tests/bigtx.vectors.d.ts +0 -6
- package/dist/types/src/transaction/__tests/bigtx.vectors.d.ts.map +0 -1
- package/dist/types/src/transaction/__tests/bump.invalid.vectors.d.ts +0 -6
- package/dist/types/src/transaction/__tests/bump.invalid.vectors.d.ts.map +0 -1
- package/dist/types/src/transaction/__tests/bump.valid.vectors.d.ts +0 -5
- package/dist/types/src/transaction/__tests/bump.valid.vectors.d.ts.map +0 -1
- package/dist/types/src/transaction/__tests/tx.invalid.vectors.d.ts +0 -3
- package/dist/types/src/transaction/__tests/tx.invalid.vectors.d.ts.map +0 -1
- package/dist/types/src/transaction/__tests/tx.valid.vectors.d.ts +0 -3
- package/dist/types/src/transaction/__tests/tx.valid.vectors.d.ts.map +0 -1
- package/dist/types/src/transaction/broadcasters/__tests/ARC.test.d.ts +0 -2
- package/dist/types/src/transaction/broadcasters/__tests/ARC.test.d.ts.map +0 -1
- package/dist/types/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.d.ts +0 -2
- package/dist/types/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.d.ts.map +0 -1
- package/dist/types/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.d.ts +0 -2
- package/dist/types/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.d.ts.map +0 -1
- package/dist/types/src/wallet/__tests/CachedKeyDeriver.test.d.ts +0 -2
- package/dist/types/src/wallet/__tests/CachedKeyDeriver.test.d.ts.map +0 -1
- package/dist/types/src/wallet/__tests/KeyDeriver.test.d.ts +0 -2
- package/dist/types/src/wallet/__tests/KeyDeriver.test.d.ts.map +0 -1
- package/dist/types/src/wallet/__tests/ProtoWallet.test.d.ts +0 -2
- package/dist/types/src/wallet/__tests/ProtoWallet.test.d.ts.map +0 -1
- package/dist/types/src/wallet/substrates/__tests/WalletWire.integration.test.d.ts +0 -2
- package/dist/types/src/wallet/substrates/__tests/WalletWire.integration.test.d.ts.map +0 -1
- package/dist/types/src/wallet/substrates/__tests/XDM.test.d.ts +0 -5
- package/dist/types/src/wallet/substrates/__tests/XDM.test.d.ts.map +0 -1
|
@@ -1,19 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import TransactionInput from './TransactionInput.js'
|
|
3
|
+
import TransactionOutput from './TransactionOutput.js'
|
|
4
|
+
import UnlockingScript from '../script/UnlockingScript.js'
|
|
5
|
+
import LockingScript from '../script/LockingScript.js'
|
|
6
|
+
import { Reader, Writer, toHex, toArray } from '../primitives/utils.js'
|
|
7
|
+
import { hash256 } from '../primitives/Hash.js'
|
|
8
|
+
import FeeModel from './FeeModel.js'
|
|
9
|
+
import SatoshisPerKilobyte from './fee-models/SatoshisPerKilobyte.js'
|
|
10
|
+
import { Broadcaster, BroadcastResponse, BroadcastFailure } from './Broadcaster.js'
|
|
11
|
+
import MerklePath from './MerklePath.js'
|
|
12
|
+
import Spend from '../script/Spend.js'
|
|
13
|
+
import ChainTracker from './ChainTracker.js'
|
|
14
|
+
import { defaultBroadcaster } from './broadcasters/DefaultBroadcaster.js'
|
|
15
|
+
import { defaultChainTracker } from './chaintrackers/DefaultChainTracker.js'
|
|
16
|
+
import { Beef, BEEF_V1 } from './Beef.js'
|
|
17
|
+
import P2PKH from '../script/templates/P2PKH.js'
|
|
17
18
|
|
|
18
19
|
/**
|
|
19
20
|
* Represents a complete Bitcoin transaction. This class encapsulates all the details
|
|
@@ -60,14 +61,14 @@ export default class Transaction {
|
|
|
60
61
|
private cachedHash?: number[]
|
|
61
62
|
|
|
62
63
|
// Recursive function for adding merkle proofs or input transactions
|
|
63
|
-
private static addPathOrInputs(
|
|
64
|
+
private static addPathOrInputs (
|
|
64
65
|
obj: { pathIndex?: number, tx: Transaction },
|
|
65
66
|
transactions: Record<
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
67
|
+
string,
|
|
68
|
+
{
|
|
69
|
+
pathIndex?: number
|
|
70
|
+
tx: Transaction
|
|
71
|
+
}
|
|
71
72
|
>,
|
|
72
73
|
BUMPs: MerklePath[]
|
|
73
74
|
): void {
|
|
@@ -79,10 +80,13 @@ export default class Transaction {
|
|
|
79
80
|
obj.tx.merklePath = path
|
|
80
81
|
} else {
|
|
81
82
|
for (const input of obj.tx.inputs) {
|
|
83
|
+
if (input.sourceTXID === undefined) {
|
|
84
|
+
throw new Error('Input sourceTXID is undefined')
|
|
85
|
+
}
|
|
82
86
|
const sourceObj = transactions[input.sourceTXID]
|
|
83
87
|
if (typeof sourceObj !== 'object') {
|
|
84
88
|
throw new Error(
|
|
85
|
-
`Reference to unknown TXID in BEEF: ${input.sourceTXID}`
|
|
89
|
+
`Reference to unknown TXID in BEEF: ${input.sourceTXID ?? 'undefined'}`
|
|
86
90
|
)
|
|
87
91
|
}
|
|
88
92
|
input.sourceTransaction = sourceObj.tx
|
|
@@ -100,7 +104,7 @@ export default class Transaction {
|
|
|
100
104
|
* @param txid Optional TXID of the transaction to retrieve from the BEEF data.
|
|
101
105
|
* @returns An anchored transaction, linked to its associated inputs populated with merkle paths.
|
|
102
106
|
*/
|
|
103
|
-
static fromBEEF(beef: number[], txid?: string): Transaction {
|
|
107
|
+
static fromBEEF (beef: number[], txid?: string): Transaction {
|
|
104
108
|
const { tx } = Transaction.fromAnyBeef(beef, txid)
|
|
105
109
|
return tx
|
|
106
110
|
}
|
|
@@ -112,29 +116,23 @@ export default class Transaction {
|
|
|
112
116
|
* @param beef A binary representation of an Atomic BEEF structure.
|
|
113
117
|
* @returns The subject transaction, linked to its associated inputs populated with merkle paths.
|
|
114
118
|
*/
|
|
115
|
-
static fromAtomicBEEF(beef: number[]): Transaction {
|
|
119
|
+
static fromAtomicBEEF (beef: number[]): Transaction {
|
|
116
120
|
const { tx, txid, beef: b } = Transaction.fromAnyBeef(beef)
|
|
117
121
|
if (txid !== b.atomicTxid) {
|
|
118
|
-
if (b.atomicTxid)
|
|
119
|
-
throw new Error(`Transaction with TXID ${b.atomicTxid} not found in BEEF data.`)
|
|
120
|
-
else
|
|
121
|
-
throw new Error(`beef must conform to BRC-95 and must contain the subject txid.`)
|
|
122
|
+
if (b.atomicTxid) { throw new Error(`Transaction with TXID ${b.atomicTxid} not found in BEEF data.`) } else { throw new Error('beef must conform to BRC-95 and must contain the subject txid.') }
|
|
122
123
|
}
|
|
123
124
|
return tx
|
|
124
125
|
}
|
|
125
126
|
|
|
126
|
-
private static fromAnyBeef(beef: number[], txid?: string): { tx: Transaction, beef: Beef, txid: string } {
|
|
127
|
+
private static fromAnyBeef (beef: number[], txid?: string): { tx: Transaction, beef: Beef, txid: string } {
|
|
127
128
|
const b = Beef.fromBinary(beef)
|
|
128
129
|
if (b.txs.length < 1) {
|
|
129
|
-
throw new Error(
|
|
130
|
+
throw new Error('beef must include at least one transaction.')
|
|
130
131
|
}
|
|
131
132
|
const target = txid || b.atomicTxid || b.txs.slice(-1)[0].txid
|
|
132
133
|
const tx = b.findAtomicTransaction(target)
|
|
133
|
-
if (
|
|
134
|
-
if (txid)
|
|
135
|
-
throw new Error(`Transaction with TXID ${target} not found in BEEF data.`)
|
|
136
|
-
else
|
|
137
|
-
throw new Error(`beef does not contain transaction for atomic txid.`)
|
|
134
|
+
if (tx == null) {
|
|
135
|
+
if (txid) { throw new Error(`Transaction with TXID ${target} not found in BEEF data.`) } else { throw new Error('beef does not contain transaction for atomic txid.') }
|
|
138
136
|
}
|
|
139
137
|
return { tx, beef: b, txid: target }
|
|
140
138
|
}
|
|
@@ -144,7 +142,7 @@ export default class Transaction {
|
|
|
144
142
|
* @param ef A binary representation of a transaction in EF format.
|
|
145
143
|
* @returns An extended transaction, linked to its associated inputs by locking script and satoshis amounts only.
|
|
146
144
|
*/
|
|
147
|
-
static fromEF(ef: number[]): Transaction {
|
|
145
|
+
static fromEF (ef: number[]): Transaction {
|
|
148
146
|
const br = new Reader(ef)
|
|
149
147
|
const version = br.readUInt32LE()
|
|
150
148
|
if (toHex(br.read(6)) !== '0000000000ef') { throw new Error('Invalid EF marker') }
|
|
@@ -161,7 +159,7 @@ export default class Transaction {
|
|
|
161
159
|
const lockingScriptLength = br.readVarIntNum()
|
|
162
160
|
const lockingScriptBin = br.read(lockingScriptLength)
|
|
163
161
|
const lockingScript = LockingScript.fromBinary(lockingScriptBin)
|
|
164
|
-
const sourceTransaction = new Transaction(
|
|
162
|
+
const sourceTransaction = new Transaction(undefined, [], [], undefined)
|
|
165
163
|
sourceTransaction.outputs = Array(sourceOutputIndex + 1).fill(null)
|
|
166
164
|
sourceTransaction.outputs[sourceOutputIndex] = {
|
|
167
165
|
satoshis,
|
|
@@ -206,7 +204,7 @@ export default class Transaction {
|
|
|
206
204
|
* outputs: { vout: number, offset: number, length: number }[]
|
|
207
205
|
* }
|
|
208
206
|
*/
|
|
209
|
-
static parseScriptOffsets(bin: number[]): {
|
|
207
|
+
static parseScriptOffsets (bin: number[]): {
|
|
210
208
|
inputs: Array<{ vin: number, offset: number, length: number }>
|
|
211
209
|
outputs: Array<{ vout: number, offset: number, length: number }>
|
|
212
210
|
} {
|
|
@@ -232,7 +230,7 @@ export default class Transaction {
|
|
|
232
230
|
return { inputs, outputs }
|
|
233
231
|
}
|
|
234
232
|
|
|
235
|
-
static fromReader(br: Reader): Transaction {
|
|
233
|
+
static fromReader (br: Reader): Transaction {
|
|
236
234
|
const version = br.readUInt32LE()
|
|
237
235
|
const inputsLength = br.readVarIntNum()
|
|
238
236
|
const inputs: TransactionInput[] = []
|
|
@@ -273,7 +271,7 @@ export default class Transaction {
|
|
|
273
271
|
* @param {number[]} bin - The binary array representation of the transaction.
|
|
274
272
|
* @returns {Transaction} - A new Transaction instance.
|
|
275
273
|
*/
|
|
276
|
-
static fromBinary(bin: number[]): Transaction {
|
|
274
|
+
static fromBinary (bin: number[]): Transaction {
|
|
277
275
|
const br = new Reader(bin)
|
|
278
276
|
return Transaction.fromReader(br)
|
|
279
277
|
}
|
|
@@ -285,7 +283,7 @@ export default class Transaction {
|
|
|
285
283
|
* @param {string} hex - The hexadecimal string representation of the transaction.
|
|
286
284
|
* @returns {Transaction} - A new Transaction instance.
|
|
287
285
|
*/
|
|
288
|
-
static fromHex(hex: string): Transaction {
|
|
286
|
+
static fromHex (hex: string): Transaction {
|
|
289
287
|
return Transaction.fromBinary(toArray(hex, 'hex'))
|
|
290
288
|
}
|
|
291
289
|
|
|
@@ -296,7 +294,7 @@ export default class Transaction {
|
|
|
296
294
|
* @param {string} hex - The hexadecimal string representation of the transaction EF.
|
|
297
295
|
* @returns {Transaction} - A new Transaction instance.
|
|
298
296
|
*/
|
|
299
|
-
static fromHexEF(hex: string): Transaction {
|
|
297
|
+
static fromHexEF (hex: string): Transaction {
|
|
300
298
|
return Transaction.fromEF(toArray(hex, 'hex'))
|
|
301
299
|
}
|
|
302
300
|
|
|
@@ -311,11 +309,11 @@ export default class Transaction {
|
|
|
311
309
|
* @param {string} [txid] - Optional TXID of the transaction to retrieve from the BEEF data.
|
|
312
310
|
* @returns {Transaction} - A new Transaction instance.
|
|
313
311
|
*/
|
|
314
|
-
static fromHexBEEF(hex: string, txid?: string): Transaction {
|
|
312
|
+
static fromHexBEEF (hex: string, txid?: string): Transaction {
|
|
315
313
|
return Transaction.fromBEEF(toArray(hex, 'hex'), txid)
|
|
316
314
|
}
|
|
317
315
|
|
|
318
|
-
constructor(
|
|
316
|
+
constructor (
|
|
319
317
|
version: number = 1,
|
|
320
318
|
inputs: TransactionInput[] = [],
|
|
321
319
|
outputs: TransactionOutput[] = [],
|
|
@@ -337,7 +335,7 @@ export default class Transaction {
|
|
|
337
335
|
* @param {TransactionInput} input - The TransactionInput object to add to the transaction.
|
|
338
336
|
* @throws {Error} - If the input does not have a sourceTXID or sourceTransaction defined.
|
|
339
337
|
*/
|
|
340
|
-
addInput(input: TransactionInput): void {
|
|
338
|
+
addInput (input: TransactionInput): void {
|
|
341
339
|
if (
|
|
342
340
|
typeof input.sourceTXID === 'undefined' &&
|
|
343
341
|
typeof input.sourceTransaction === 'undefined'
|
|
@@ -359,9 +357,9 @@ export default class Transaction {
|
|
|
359
357
|
*
|
|
360
358
|
* @param {TransactionOutput} output - The TransactionOutput object to add to the transaction.
|
|
361
359
|
*/
|
|
362
|
-
addOutput(output: TransactionOutput): void {
|
|
360
|
+
addOutput (output: TransactionOutput): void {
|
|
363
361
|
this.cachedHash = undefined
|
|
364
|
-
if (
|
|
362
|
+
if (output.change !== true) {
|
|
365
363
|
if (typeof output.satoshis === 'undefined') {
|
|
366
364
|
throw new Error(
|
|
367
365
|
'either satoshis must be defined or change must be set to true'
|
|
@@ -369,7 +367,7 @@ export default class Transaction {
|
|
|
369
367
|
}
|
|
370
368
|
if (output.satoshis < 0) { throw new Error('satoshis must be a positive integer or zero') }
|
|
371
369
|
}
|
|
372
|
-
if (
|
|
370
|
+
if (output.lockingScript == null) throw new Error('lockingScript must be defined')
|
|
373
371
|
this.outputs.push(output)
|
|
374
372
|
}
|
|
375
373
|
|
|
@@ -380,7 +378,7 @@ export default class Transaction {
|
|
|
380
378
|
* @param {number} [satoshis] - The number of satoshis to send to the address - if not provided, the output is considered a change output.
|
|
381
379
|
*
|
|
382
380
|
*/
|
|
383
|
-
addP2PKHOutput(address: number[] | string, satoshis?: number): void {
|
|
381
|
+
addP2PKHOutput (address: number[] | string, satoshis?: number): void {
|
|
384
382
|
const lockingScript = new P2PKH().lock(address)
|
|
385
383
|
if (typeof satoshis === 'undefined') {
|
|
386
384
|
return this.addOutput({ lockingScript, change: true })
|
|
@@ -396,7 +394,7 @@ export default class Transaction {
|
|
|
396
394
|
*
|
|
397
395
|
* @param {Record<string, any>} metadata - The metadata object to merge into the existing metadata.
|
|
398
396
|
*/
|
|
399
|
-
updateMetadata(metadata: Record<string, any>): void {
|
|
397
|
+
updateMetadata (metadata: Record<string, any>): void {
|
|
400
398
|
this.metadata = {
|
|
401
399
|
...this.metadata,
|
|
402
400
|
...metadata
|
|
@@ -413,7 +411,7 @@ export default class Transaction {
|
|
|
413
411
|
* amongst the change outputs
|
|
414
412
|
*
|
|
415
413
|
*/
|
|
416
|
-
async fee(
|
|
414
|
+
async fee (
|
|
417
415
|
modelOrFee: FeeModel | number = new SatoshisPerKilobyte(10),
|
|
418
416
|
changeDistribution: 'equal' | 'random' = 'equal'
|
|
419
417
|
): Promise<void> {
|
|
@@ -427,13 +425,13 @@ export default class Transaction {
|
|
|
427
425
|
const fee = await modelOrFee.computeFee(this)
|
|
428
426
|
const change = this.calculateChange(fee)
|
|
429
427
|
if (change <= 0) {
|
|
430
|
-
this.outputs = this.outputs.filter((output) =>
|
|
428
|
+
this.outputs = this.outputs.filter((output) => output.change !== true)
|
|
431
429
|
return
|
|
432
430
|
}
|
|
433
431
|
this.distributeChange(change, changeDistribution)
|
|
434
432
|
}
|
|
435
433
|
|
|
436
|
-
private calculateChange(fee: number): number {
|
|
434
|
+
private calculateChange (fee: number): number {
|
|
437
435
|
let change = 0
|
|
438
436
|
for (const input of this.inputs) {
|
|
439
437
|
if (typeof input.sourceTransaction !== 'object') {
|
|
@@ -442,18 +440,20 @@ export default class Transaction {
|
|
|
442
440
|
)
|
|
443
441
|
}
|
|
444
442
|
change +=
|
|
445
|
-
input.sourceTransaction.outputs[input.sourceOutputIndex].satoshis
|
|
443
|
+
input.sourceTransaction.outputs[input.sourceOutputIndex].satoshis ?? 0
|
|
446
444
|
}
|
|
447
445
|
change -= fee
|
|
448
446
|
for (const out of this.outputs) {
|
|
449
|
-
if (
|
|
450
|
-
|
|
447
|
+
if (out.change !== true) {
|
|
448
|
+
if (out.satoshis !== undefined) {
|
|
449
|
+
change -= out.satoshis
|
|
450
|
+
}
|
|
451
451
|
}
|
|
452
452
|
}
|
|
453
453
|
return change
|
|
454
454
|
}
|
|
455
455
|
|
|
456
|
-
private distributeChange(
|
|
456
|
+
private distributeChange (
|
|
457
457
|
change: number,
|
|
458
458
|
changeDistribution: 'equal' | 'random'
|
|
459
459
|
): void {
|
|
@@ -465,12 +465,16 @@ export default class Transaction {
|
|
|
465
465
|
distributedChange = this.distributeEqualChange(change, changeOutputs)
|
|
466
466
|
}
|
|
467
467
|
if (distributedChange < change) {
|
|
468
|
-
this.outputs[this.outputs.length - 1]
|
|
469
|
-
|
|
468
|
+
const lastOutput = this.outputs[this.outputs.length - 1]
|
|
469
|
+
if (lastOutput.satoshis !== undefined) {
|
|
470
|
+
lastOutput.satoshis += change - distributedChange
|
|
471
|
+
} else {
|
|
472
|
+
lastOutput.satoshis = change - distributedChange
|
|
473
|
+
}
|
|
470
474
|
}
|
|
471
475
|
}
|
|
472
476
|
|
|
473
|
-
private distributeRandomChange(
|
|
477
|
+
private distributeRandomChange (
|
|
474
478
|
change: number,
|
|
475
479
|
changeOutputs: TransactionOutput[]
|
|
476
480
|
): number {
|
|
@@ -480,18 +484,18 @@ export default class Transaction {
|
|
|
480
484
|
changeToUse -= changeOutputs.length
|
|
481
485
|
distributedChange += changeOutputs.length
|
|
482
486
|
for (let i = 0; i < changeOutputs.length - 1; i++) {
|
|
483
|
-
const portion = this.benfordNumber(0, changeToUse)
|
|
484
|
-
benfordNumbers[i]
|
|
487
|
+
const portion: number = this.benfordNumber(0, changeToUse)
|
|
488
|
+
benfordNumbers[i] = (benfordNumbers[i] as number) + portion
|
|
485
489
|
distributedChange += portion
|
|
486
490
|
changeToUse -= portion
|
|
487
491
|
}
|
|
488
492
|
for (const output of this.outputs) {
|
|
489
|
-
if (output.change) output.satoshis = benfordNumbers.shift()
|
|
493
|
+
if (output.change === true) output.satoshis = benfordNumbers.shift()
|
|
490
494
|
}
|
|
491
495
|
return distributedChange
|
|
492
496
|
}
|
|
493
497
|
|
|
494
|
-
private distributeEqualChange(
|
|
498
|
+
private distributeEqualChange (
|
|
495
499
|
change: number,
|
|
496
500
|
changeOutputs: TransactionOutput[]
|
|
497
501
|
): number {
|
|
@@ -504,7 +508,7 @@ export default class Transaction {
|
|
|
504
508
|
return distributedChange
|
|
505
509
|
}
|
|
506
510
|
|
|
507
|
-
private benfordNumber(min: number, max: number): number {
|
|
511
|
+
private benfordNumber (min: number, max: number): number {
|
|
508
512
|
const d = Math.floor(Math.random() * 9) + 1
|
|
509
513
|
return Math.floor(
|
|
510
514
|
min + ((max - min) * Math.log10(1 + 1 / d)) / Math.log10(10)
|
|
@@ -516,7 +520,7 @@ export default class Transaction {
|
|
|
516
520
|
*
|
|
517
521
|
* @returns The current transaction fee
|
|
518
522
|
*/
|
|
519
|
-
getFee(): number {
|
|
523
|
+
getFee (): number {
|
|
520
524
|
let totalIn = 0
|
|
521
525
|
for (const input of this.inputs) {
|
|
522
526
|
if (typeof input.sourceTransaction !== 'object') {
|
|
@@ -525,11 +529,11 @@ export default class Transaction {
|
|
|
525
529
|
)
|
|
526
530
|
}
|
|
527
531
|
totalIn +=
|
|
528
|
-
input.sourceTransaction.outputs[input.sourceOutputIndex].satoshis
|
|
532
|
+
input.sourceTransaction.outputs[input.sourceOutputIndex].satoshis ?? 0
|
|
529
533
|
}
|
|
530
534
|
let totalOut = 0
|
|
531
535
|
for (const output of this.outputs) {
|
|
532
|
-
totalOut += output.satoshis
|
|
536
|
+
totalOut += output.satoshis ?? 0
|
|
533
537
|
}
|
|
534
538
|
return totalIn - totalOut
|
|
535
539
|
}
|
|
@@ -537,11 +541,11 @@ export default class Transaction {
|
|
|
537
541
|
/**
|
|
538
542
|
* Signs a transaction, hydrating all its unlocking scripts based on the provided script templates where they are available.
|
|
539
543
|
*/
|
|
540
|
-
async sign(): Promise<void> {
|
|
544
|
+
async sign (): Promise<void> {
|
|
541
545
|
this.cachedHash = undefined
|
|
542
546
|
for (const out of this.outputs) {
|
|
543
547
|
if (typeof out.satoshis === 'undefined') {
|
|
544
|
-
if (out.change) {
|
|
548
|
+
if (out.change === true) {
|
|
545
549
|
throw new Error(
|
|
546
550
|
'There are still change outputs with uncomputed amounts. Use the fee() method to compute the change amounts and transaction fees prior to signing.'
|
|
547
551
|
)
|
|
@@ -555,7 +559,7 @@ export default class Transaction {
|
|
|
555
559
|
const unlockingScripts = await Promise.all(
|
|
556
560
|
this.inputs.map(async (x, i): Promise<UnlockingScript | undefined> => {
|
|
557
561
|
if (typeof this.inputs[i].unlockingScriptTemplate === 'object') {
|
|
558
|
-
return await this.inputs[i]
|
|
562
|
+
return await this.inputs[i]?.unlockingScriptTemplate?.sign(this, i)
|
|
559
563
|
} else {
|
|
560
564
|
return await Promise.resolve(undefined)
|
|
561
565
|
}
|
|
@@ -574,7 +578,7 @@ export default class Transaction {
|
|
|
574
578
|
* @param broadcaster The Broadcaster instance wwhere the transaction will be sent
|
|
575
579
|
* @returns A BroadcastResponse or BroadcastFailure from the Broadcaster
|
|
576
580
|
*/
|
|
577
|
-
async broadcast(
|
|
581
|
+
async broadcast (
|
|
578
582
|
broadcaster: Broadcaster = defaultBroadcaster()
|
|
579
583
|
): Promise<BroadcastResponse | BroadcastFailure> {
|
|
580
584
|
return await broadcaster.broadcast(this)
|
|
@@ -585,25 +589,32 @@ export default class Transaction {
|
|
|
585
589
|
*
|
|
586
590
|
* @returns {number[]} - The binary array representation of the transaction.
|
|
587
591
|
*/
|
|
588
|
-
toBinary(): number[] {
|
|
592
|
+
toBinary (): number[] {
|
|
589
593
|
const writer = new Writer()
|
|
590
594
|
writer.writeUInt32LE(this.version)
|
|
591
595
|
writer.writeVarIntNum(this.inputs.length)
|
|
592
596
|
for (const i of this.inputs) {
|
|
593
597
|
if (typeof i.sourceTXID === 'undefined') {
|
|
594
|
-
|
|
598
|
+
if (i.sourceTransaction != null) {
|
|
599
|
+
writer.write(i.sourceTransaction.hash() as number[])
|
|
600
|
+
} else {
|
|
601
|
+
throw new Error('sourceTransaction is undefined')
|
|
602
|
+
}
|
|
595
603
|
} else {
|
|
596
604
|
writer.writeReverse(toArray(i.sourceTXID, 'hex'))
|
|
597
605
|
}
|
|
598
606
|
writer.writeUInt32LE(i.sourceOutputIndex)
|
|
607
|
+
if (i.unlockingScript == null) {
|
|
608
|
+
throw new Error('unlockingScript is undefined')
|
|
609
|
+
}
|
|
599
610
|
const scriptBin = i.unlockingScript.toBinary()
|
|
600
611
|
writer.writeVarIntNum(scriptBin.length)
|
|
601
612
|
writer.write(scriptBin)
|
|
602
|
-
writer.writeUInt32LE(i.sequence)
|
|
613
|
+
writer.writeUInt32LE(i.sequence ?? 0)
|
|
603
614
|
}
|
|
604
615
|
writer.writeVarIntNum(this.outputs.length)
|
|
605
616
|
for (const o of this.outputs) {
|
|
606
|
-
writer.writeUInt64LE(o.satoshis)
|
|
617
|
+
writer.writeUInt64LE(o.satoshis ?? 0)
|
|
607
618
|
const scriptBin = o.lockingScript.toBinary()
|
|
608
619
|
writer.writeVarIntNum(scriptBin.length)
|
|
609
620
|
writer.write(scriptBin)
|
|
@@ -617,7 +628,7 @@ export default class Transaction {
|
|
|
617
628
|
*
|
|
618
629
|
* @returns {number[]} - The BRC-30 EF representation of the transaction.
|
|
619
630
|
*/
|
|
620
|
-
toEF(): number[] {
|
|
631
|
+
toEF (): number[] {
|
|
621
632
|
const writer = new Writer()
|
|
622
633
|
writer.writeUInt32LE(this.version)
|
|
623
634
|
writer.write([0, 0, 0, 0, 0, 0xef])
|
|
@@ -634,12 +645,15 @@ export default class Transaction {
|
|
|
634
645
|
writer.write(toArray(i.sourceTXID, 'hex').reverse() as number[])
|
|
635
646
|
}
|
|
636
647
|
writer.writeUInt32LE(i.sourceOutputIndex)
|
|
648
|
+
if (i.unlockingScript == null) {
|
|
649
|
+
throw new Error('unlockingScript is undefined')
|
|
650
|
+
}
|
|
637
651
|
const scriptBin = i.unlockingScript.toBinary()
|
|
638
652
|
writer.writeVarIntNum(scriptBin.length)
|
|
639
653
|
writer.write(scriptBin)
|
|
640
|
-
writer.writeUInt32LE(i.sequence)
|
|
654
|
+
writer.writeUInt32LE(i.sequence ?? 0)
|
|
641
655
|
writer.writeUInt64LE(
|
|
642
|
-
i.sourceTransaction.outputs[i.sourceOutputIndex].satoshis
|
|
656
|
+
i.sourceTransaction.outputs[i.sourceOutputIndex].satoshis ?? 0
|
|
643
657
|
)
|
|
644
658
|
const lockingScriptBin =
|
|
645
659
|
i.sourceTransaction.outputs[
|
|
@@ -650,7 +664,7 @@ export default class Transaction {
|
|
|
650
664
|
}
|
|
651
665
|
writer.writeVarIntNum(this.outputs.length)
|
|
652
666
|
for (const o of this.outputs) {
|
|
653
|
-
writer.writeUInt64LE(o.satoshis)
|
|
667
|
+
writer.writeUInt64LE(o.satoshis ?? 0)
|
|
654
668
|
const scriptBin = o.lockingScript.toBinary()
|
|
655
669
|
writer.writeVarIntNum(scriptBin.length)
|
|
656
670
|
writer.write(scriptBin)
|
|
@@ -664,7 +678,7 @@ export default class Transaction {
|
|
|
664
678
|
*
|
|
665
679
|
* @returns {string} - The hexadecimal string representation of the transaction EF.
|
|
666
680
|
*/
|
|
667
|
-
toHexEF(): string {
|
|
681
|
+
toHexEF (): string {
|
|
668
682
|
return toHex(this.toEF())
|
|
669
683
|
}
|
|
670
684
|
|
|
@@ -673,7 +687,7 @@ export default class Transaction {
|
|
|
673
687
|
*
|
|
674
688
|
* @returns {string} - The hexadecimal string representation of the transaction.
|
|
675
689
|
*/
|
|
676
|
-
toHex(): string {
|
|
690
|
+
toHex (): string {
|
|
677
691
|
return toHex(this.toBinary())
|
|
678
692
|
}
|
|
679
693
|
|
|
@@ -682,7 +696,7 @@ export default class Transaction {
|
|
|
682
696
|
*
|
|
683
697
|
* @returns {string} - The hexadecimal string representation of the transaction BEEF.
|
|
684
698
|
*/
|
|
685
|
-
toHexBEEF(): string {
|
|
699
|
+
toHexBEEF (): string {
|
|
686
700
|
return toHex(this.toBEEF())
|
|
687
701
|
}
|
|
688
702
|
|
|
@@ -691,7 +705,7 @@ export default class Transaction {
|
|
|
691
705
|
*
|
|
692
706
|
* @returns {string} - The hexadecimal string representation of the transaction Atomic BEEF.
|
|
693
707
|
*/
|
|
694
|
-
toHexAtomicBEEF(): string {
|
|
708
|
+
toHexAtomicBEEF (): string {
|
|
695
709
|
return toHex(this.toAtomicBEEF())
|
|
696
710
|
}
|
|
697
711
|
|
|
@@ -701,9 +715,9 @@ export default class Transaction {
|
|
|
701
715
|
* @param {'hex' | undefined} enc - The encoding to use for the hash. If 'hex', returns a hexadecimal string; otherwise returns a binary array.
|
|
702
716
|
* @returns {string | number[]} - The hash of the transaction in the specified format.
|
|
703
717
|
*/
|
|
704
|
-
hash(enc?: 'hex'): number[] | string {
|
|
718
|
+
hash (enc?: 'hex'): number[] | string {
|
|
705
719
|
let hash
|
|
706
|
-
if (this.cachedHash) {
|
|
720
|
+
if (this.cachedHash != null) {
|
|
707
721
|
hash = this.cachedHash
|
|
708
722
|
} else {
|
|
709
723
|
hash = hash256(this.toBinary())
|
|
@@ -720,21 +734,21 @@ export default class Transaction {
|
|
|
720
734
|
*
|
|
721
735
|
* @returns {number[]} - The ID of the transaction in the binary array format.
|
|
722
736
|
*/
|
|
723
|
-
id(): number[]
|
|
737
|
+
id (): number[]
|
|
724
738
|
/**
|
|
725
739
|
* Calculates the transaction's ID in hexadecimal format.
|
|
726
740
|
*
|
|
727
741
|
* @param {'hex'} enc - The encoding to use for the ID. If 'hex', returns a hexadecimal string.
|
|
728
742
|
* @returns {string} - The ID of the transaction in the hex format.
|
|
729
743
|
*/
|
|
730
|
-
id(enc: 'hex'): string
|
|
744
|
+
id (enc: 'hex'): string
|
|
731
745
|
/**
|
|
732
746
|
* Calculates the transaction's ID.
|
|
733
747
|
*
|
|
734
748
|
* @param {'hex' | undefined} enc - The encoding to use for the ID. If 'hex', returns a hexadecimal string; otherwise returns a binary array.
|
|
735
749
|
* @returns {string | number[]} - The ID of the transaction in the specified format.
|
|
736
750
|
*/
|
|
737
|
-
id(enc?: 'hex'): number[] | string {
|
|
751
|
+
id (enc?: 'hex'): number[] | string {
|
|
738
752
|
const id = [...(this.hash() as number[])]
|
|
739
753
|
id.reverse()
|
|
740
754
|
if (enc === 'hex') {
|
|
@@ -752,7 +766,7 @@ export default class Transaction {
|
|
|
752
766
|
*
|
|
753
767
|
* @example tx.verify(new WhatsOnChain(), new SatoshisPerKilobyte(1))
|
|
754
768
|
*/
|
|
755
|
-
async verify(
|
|
769
|
+
async verify (
|
|
756
770
|
chainTracker: ChainTracker | 'scripts only' = defaultChainTracker(),
|
|
757
771
|
feeModel?: FeeModel
|
|
758
772
|
): Promise<boolean> {
|
|
@@ -761,15 +775,17 @@ export default class Transaction {
|
|
|
761
775
|
|
|
762
776
|
while (txQueue.length > 0) {
|
|
763
777
|
const tx = txQueue.shift()
|
|
764
|
-
const txid = tx
|
|
765
|
-
if (verifiedTxids.has(txid)) {
|
|
778
|
+
const txid = tx?.id('hex') ?? ''
|
|
779
|
+
if (txid != null && txid !== '' && verifiedTxids.has(txid)) {
|
|
766
780
|
continue
|
|
767
781
|
}
|
|
768
782
|
|
|
769
783
|
// If the transaction has a valid merkle path, verification is complete.
|
|
770
|
-
if (typeof tx
|
|
784
|
+
if (typeof tx?.merklePath === 'object') {
|
|
771
785
|
if (chainTracker === 'scripts only') {
|
|
772
|
-
|
|
786
|
+
if (txid != null) {
|
|
787
|
+
verifiedTxids.add(txid)
|
|
788
|
+
}
|
|
773
789
|
continue
|
|
774
790
|
} else {
|
|
775
791
|
const proofValid = await tx.merklePath.verify(txid, chainTracker)
|
|
@@ -783,6 +799,9 @@ export default class Transaction {
|
|
|
783
799
|
|
|
784
800
|
// Verify fee if feeModel is provided
|
|
785
801
|
if (typeof feeModel !== 'undefined') {
|
|
802
|
+
if (tx === undefined) {
|
|
803
|
+
throw new Error('Transaction is undefined')
|
|
804
|
+
}
|
|
786
805
|
const cpTx = Transaction.fromEF(tx.toEF())
|
|
787
806
|
delete cpTx.outputs[0].satoshis
|
|
788
807
|
cpTx.outputs[0].change = true
|
|
@@ -797,6 +816,9 @@ export default class Transaction {
|
|
|
797
816
|
// Verify each input transaction and evaluate the spend events.
|
|
798
817
|
// Also, keep a total of the input amounts for later.
|
|
799
818
|
let inputTotal = 0
|
|
819
|
+
if (tx === undefined) {
|
|
820
|
+
throw new Error('Transaction is undefined')
|
|
821
|
+
}
|
|
800
822
|
for (let i = 0; i < tx.inputs.length; i++) {
|
|
801
823
|
const input = tx.inputs[i]
|
|
802
824
|
if (typeof input.sourceTransaction !== 'object') {
|
|
@@ -811,7 +833,7 @@ export default class Transaction {
|
|
|
811
833
|
}
|
|
812
834
|
const sourceOutput =
|
|
813
835
|
input.sourceTransaction.outputs[input.sourceOutputIndex]
|
|
814
|
-
inputTotal += sourceOutput.satoshis
|
|
836
|
+
inputTotal += sourceOutput.satoshis ?? 0
|
|
815
837
|
|
|
816
838
|
const sourceTxid = input.sourceTransaction.id('hex')
|
|
817
839
|
if (!verifiedTxids.has(sourceTxid)) {
|
|
@@ -827,11 +849,11 @@ export default class Transaction {
|
|
|
827
849
|
sourceTXID: input.sourceTXID,
|
|
828
850
|
sourceOutputIndex: input.sourceOutputIndex,
|
|
829
851
|
lockingScript: sourceOutput.lockingScript,
|
|
830
|
-
sourceSatoshis: sourceOutput.satoshis,
|
|
852
|
+
sourceSatoshis: sourceOutput.satoshis ?? 0,
|
|
831
853
|
transactionVersion: tx.version,
|
|
832
854
|
otherInputs,
|
|
833
855
|
unlockingScript: input.unlockingScript,
|
|
834
|
-
inputSequence: input.sequence,
|
|
856
|
+
inputSequence: input.sequence ?? 0,
|
|
835
857
|
inputIndex: i,
|
|
836
858
|
outputs: tx.outputs,
|
|
837
859
|
lockTime: tx.lockTime
|
|
@@ -872,7 +894,7 @@ export default class Transaction {
|
|
|
872
894
|
* @returns The serialized BEEF structure
|
|
873
895
|
* @throws Error if there are any missing sourceTransactions unless `allowPartial` is true.
|
|
874
896
|
*/
|
|
875
|
-
toBEEF(allowPartial?: boolean): number[] {
|
|
897
|
+
toBEEF (allowPartial?: boolean): number[] {
|
|
876
898
|
const writer = new Writer()
|
|
877
899
|
writer.writeUInt32LE(BEEF_V1)
|
|
878
900
|
const BUMPs: MerklePath[] = []
|
|
@@ -892,7 +914,7 @@ export default class Transaction {
|
|
|
892
914
|
added = true
|
|
893
915
|
break
|
|
894
916
|
}
|
|
895
|
-
if (BUMPs[i].blockHeight === tx.merklePath.blockHeight) {
|
|
917
|
+
if (tx.merklePath !== null && tx.merklePath !== undefined && BUMPs[i].blockHeight === tx.merklePath.blockHeight) {
|
|
896
918
|
// Probably the same...
|
|
897
919
|
const rootA = BUMPs[i].computeRoot()
|
|
898
920
|
const rootB = tx.merklePath.computeRoot()
|
|
@@ -908,7 +930,9 @@ export default class Transaction {
|
|
|
908
930
|
// Finally, if the proof is not yet added, add a new path.
|
|
909
931
|
if (!added) {
|
|
910
932
|
obj.pathIndex = BUMPs.length
|
|
911
|
-
|
|
933
|
+
if (tx.merklePath !== null && tx.merklePath !== undefined) {
|
|
934
|
+
BUMPs.push(tx.merklePath)
|
|
935
|
+
}
|
|
912
936
|
}
|
|
913
937
|
}
|
|
914
938
|
const duplicate = txs.some((x) => x.tx.id('hex') === tx.id('hex'))
|
|
@@ -920,7 +944,7 @@ export default class Transaction {
|
|
|
920
944
|
const input = tx.inputs[i]
|
|
921
945
|
if (typeof input.sourceTransaction === 'object') {
|
|
922
946
|
addPathsAndInputs(input.sourceTransaction)
|
|
923
|
-
} else if (
|
|
947
|
+
} else if (allowPartial === false) {
|
|
924
948
|
throw new Error('A required source transaction is missing!')
|
|
925
949
|
}
|
|
926
950
|
}
|
|
@@ -957,7 +981,7 @@ export default class Transaction {
|
|
|
957
981
|
* @returns {number[]} - The serialized Atomic BEEF structure.
|
|
958
982
|
* @throws Error if there are any missing sourceTransactions unless `allowPartial` is true.
|
|
959
983
|
*/
|
|
960
|
-
toAtomicBEEF(allowPartial?: boolean): number[] {
|
|
984
|
+
toAtomicBEEF (allowPartial?: boolean): number[] {
|
|
961
985
|
const writer = new Writer()
|
|
962
986
|
// Write the Atomic BEEF prefix
|
|
963
987
|
writer.writeUInt32LE(0x01010101)
|