@bsv/sdk 1.3.13 → 1.3.14
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 +7 -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 +99 -80
- 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 +99 -85
- 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 +43 -37
- 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 +7 -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 +185 -154
- 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,49 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
const Script_1 = __importDefault(require("./Script"));
|
|
40
|
-
const BigNumber_1 = __importDefault(require("../primitives/BigNumber"));
|
|
41
|
-
const OP_17 = __importDefault(require("./OP"));
|
|
42
|
-
const utils_1 = require("../primitives/utils");
|
|
43
|
-
const Hash = __importStar(require("../primitives/Hash"));
|
|
44
|
-
const TransactionSignature_1 = __importDefault(require("../primitives/TransactionSignature"));
|
|
45
|
-
const PublicKey_1 = __importDefault(require("../primitives/PublicKey"));
|
|
46
|
-
const ECDSA_1 = require("../primitives/ECDSA");
|
|
1
|
+
import Script from './Script.js';
|
|
2
|
+
import BigNumber from '../primitives/BigNumber.js';
|
|
3
|
+
import OP from './OP.js';
|
|
4
|
+
import { toHex, minimallyEncode } from '../primitives/utils.js';
|
|
5
|
+
import * as Hash from '../primitives/Hash.js';
|
|
6
|
+
import TransactionSignature from '../primitives/TransactionSignature.js';
|
|
7
|
+
import PublicKey from '../primitives/PublicKey.js';
|
|
8
|
+
import { verify } from '../primitives/ECDSA.js';
|
|
47
9
|
// These constants control the current behavior of the interpreter.
|
|
48
10
|
// In the future, all of them will go away.
|
|
49
11
|
const maxScriptElementSize = 1024 * 1024 * 1024;
|
|
@@ -70,7 +32,7 @@ const requireCleanStack = true;
|
|
|
70
32
|
* @property {UnlockingScript} unlockingScript - The unlocking script that unlocks the UTXO for spending.
|
|
71
33
|
* @property {number} inputSequence - The sequence number of this input.
|
|
72
34
|
*/
|
|
73
|
-
class Spend {
|
|
35
|
+
export default class Spend {
|
|
74
36
|
sourceTXID;
|
|
75
37
|
sourceOutputIndex;
|
|
76
38
|
sourceSatoshis;
|
|
@@ -157,11 +119,11 @@ class Spend {
|
|
|
157
119
|
operation = this.lockingScript.chunks[this.programCounter];
|
|
158
120
|
}
|
|
159
121
|
const isOpcodeDisabled = (op) => {
|
|
160
|
-
return (op ===
|
|
161
|
-
op ===
|
|
162
|
-
op ===
|
|
163
|
-
op ===
|
|
164
|
-
op ===
|
|
122
|
+
return (op === OP.OP_2MUL ||
|
|
123
|
+
op === OP.OP_2DIV ||
|
|
124
|
+
op === OP.OP_VERIF ||
|
|
125
|
+
op === OP.OP_VERNOTIF ||
|
|
126
|
+
op === OP.OP_VER);
|
|
165
127
|
};
|
|
166
128
|
const isChunkMinimal = (chunk) => {
|
|
167
129
|
const data = chunk.data;
|
|
@@ -171,15 +133,15 @@ class Spend {
|
|
|
171
133
|
}
|
|
172
134
|
if (data.length === 0) {
|
|
173
135
|
// Could have used OP_0.
|
|
174
|
-
return op ===
|
|
136
|
+
return op === OP.OP_0;
|
|
175
137
|
}
|
|
176
138
|
else if (data.length === 1 && data[0] >= 1 && data[0] <= 16) {
|
|
177
139
|
// Could have used OP_1 .. OP_16.
|
|
178
|
-
return op ===
|
|
140
|
+
return op === OP.OP_1 + (data[0] - 1);
|
|
179
141
|
}
|
|
180
142
|
else if (data.length === 1 && data[0] === 0x81) {
|
|
181
143
|
// Could have used OP_1NEGATE.
|
|
182
|
-
return op ===
|
|
144
|
+
return op === OP.OP_1NEGATE;
|
|
183
145
|
}
|
|
184
146
|
else if (data.length <= 75) {
|
|
185
147
|
// Could have used a direct push (opCode indicating number of bytes pushed + those bytes).
|
|
@@ -187,11 +149,11 @@ class Spend {
|
|
|
187
149
|
}
|
|
188
150
|
else if (data.length <= 255) {
|
|
189
151
|
// Could have used OP_PUSHDATA.
|
|
190
|
-
return op ===
|
|
152
|
+
return op === OP.OP_PUSHDATA1;
|
|
191
153
|
}
|
|
192
154
|
else if (data.length <= 65535) {
|
|
193
155
|
// Could have used OP_PUSHDATA2.
|
|
194
|
-
return op ===
|
|
156
|
+
return op === OP.OP_PUSHDATA2;
|
|
195
157
|
}
|
|
196
158
|
return true;
|
|
197
159
|
};
|
|
@@ -311,11 +273,11 @@ class Spend {
|
|
|
311
273
|
if (!isChecksigFormat(buf)) {
|
|
312
274
|
this.scriptEvaluationError('The signature format is invalid.');
|
|
313
275
|
}
|
|
314
|
-
const sig =
|
|
276
|
+
const sig = TransactionSignature.fromChecksigFormat(buf);
|
|
315
277
|
if (requireLowSSignatures && !sig.hasLowS()) {
|
|
316
278
|
this.scriptEvaluationError('The signature must have a low S value.');
|
|
317
279
|
}
|
|
318
|
-
if ((sig.scope &
|
|
280
|
+
if ((sig.scope & TransactionSignature.SIGHASH_FORKID) === 0) {
|
|
319
281
|
this.scriptEvaluationError('The signature must use SIGHASH_FORKID.');
|
|
320
282
|
return false;
|
|
321
283
|
}
|
|
@@ -341,7 +303,7 @@ class Spend {
|
|
|
341
303
|
return true;
|
|
342
304
|
};
|
|
343
305
|
const verifySignature = (sig, pubkey, subscript) => {
|
|
344
|
-
const preimage =
|
|
306
|
+
const preimage = TransactionSignature.format({
|
|
345
307
|
sourceTXID: this.sourceTXID,
|
|
346
308
|
sourceOutputIndex: this.sourceOutputIndex,
|
|
347
309
|
sourceSatoshis: this.sourceSatoshis,
|
|
@@ -354,11 +316,11 @@ class Spend {
|
|
|
354
316
|
lockTime: this.lockTime,
|
|
355
317
|
scope: sig.scope
|
|
356
318
|
});
|
|
357
|
-
const hash = new
|
|
358
|
-
return
|
|
319
|
+
const hash = new BigNumber(Hash.hash256(preimage));
|
|
320
|
+
return verify(hash, sig, pubkey);
|
|
359
321
|
};
|
|
360
322
|
const isScriptExecuting = !this.ifStack.includes(false);
|
|
361
|
-
let buf, buf1, buf2, buf3, spliced, n, size, rawnum, num, signbit, x1, x2, x3, bn, bn1, bn2, bn3, bufSig, bufPubkey, subscript
|
|
323
|
+
let buf, buf1, buf2, buf3, spliced, n, size, rawnum, num, signbit, x1, x2, x3, bn, bn1, bn2, bn3, bufSig, bufPubkey, subscript;
|
|
362
324
|
let sig, pubkey, i, fOk, nKeysCount, ikey, ikey2, nSigsCount, isig;
|
|
363
325
|
let fValue, fEqual, fSuccess;
|
|
364
326
|
// Read instruction
|
|
@@ -375,7 +337,7 @@ class Spend {
|
|
|
375
337
|
}
|
|
376
338
|
if (isScriptExecuting &&
|
|
377
339
|
currentOpcode >= 0 &&
|
|
378
|
-
currentOpcode <=
|
|
340
|
+
currentOpcode <= OP.OP_PUSHDATA4) {
|
|
379
341
|
if (requireMinimalPush && !isChunkMinimal(operation)) {
|
|
380
342
|
this.scriptEvaluationError('This data is not minimally-encoded.');
|
|
381
343
|
}
|
|
@@ -387,107 +349,107 @@ class Spend {
|
|
|
387
349
|
}
|
|
388
350
|
}
|
|
389
351
|
else if (isScriptExecuting ||
|
|
390
|
-
(
|
|
352
|
+
(OP.OP_IF <= currentOpcode && currentOpcode <= OP.OP_ENDIF)) {
|
|
391
353
|
switch (currentOpcode) {
|
|
392
|
-
case
|
|
393
|
-
case
|
|
394
|
-
case
|
|
395
|
-
case
|
|
396
|
-
case
|
|
397
|
-
case
|
|
398
|
-
case
|
|
399
|
-
case
|
|
400
|
-
case
|
|
401
|
-
case
|
|
402
|
-
case
|
|
403
|
-
case
|
|
404
|
-
case
|
|
405
|
-
case
|
|
406
|
-
case
|
|
407
|
-
case
|
|
408
|
-
case
|
|
409
|
-
n = currentOpcode - (
|
|
410
|
-
buf = new
|
|
354
|
+
case OP.OP_1NEGATE:
|
|
355
|
+
case OP.OP_1:
|
|
356
|
+
case OP.OP_2:
|
|
357
|
+
case OP.OP_3:
|
|
358
|
+
case OP.OP_4:
|
|
359
|
+
case OP.OP_5:
|
|
360
|
+
case OP.OP_6:
|
|
361
|
+
case OP.OP_7:
|
|
362
|
+
case OP.OP_8:
|
|
363
|
+
case OP.OP_9:
|
|
364
|
+
case OP.OP_10:
|
|
365
|
+
case OP.OP_11:
|
|
366
|
+
case OP.OP_12:
|
|
367
|
+
case OP.OP_13:
|
|
368
|
+
case OP.OP_14:
|
|
369
|
+
case OP.OP_15:
|
|
370
|
+
case OP.OP_16:
|
|
371
|
+
n = currentOpcode - (OP.OP_1 - 1);
|
|
372
|
+
buf = new BigNumber(n).toScriptNum();
|
|
411
373
|
this.stack.push(buf);
|
|
412
374
|
break;
|
|
413
|
-
case
|
|
414
|
-
case
|
|
415
|
-
case
|
|
416
|
-
case
|
|
417
|
-
case
|
|
418
|
-
case
|
|
419
|
-
case
|
|
420
|
-
case
|
|
421
|
-
case
|
|
422
|
-
case
|
|
423
|
-
case
|
|
424
|
-
case
|
|
425
|
-
case
|
|
426
|
-
case
|
|
427
|
-
case
|
|
428
|
-
case
|
|
429
|
-
case
|
|
430
|
-
case
|
|
431
|
-
case
|
|
432
|
-
case
|
|
433
|
-
case
|
|
434
|
-
case
|
|
435
|
-
case
|
|
436
|
-
case
|
|
437
|
-
case
|
|
438
|
-
case
|
|
439
|
-
case
|
|
440
|
-
case
|
|
441
|
-
case
|
|
442
|
-
case
|
|
443
|
-
case
|
|
444
|
-
case
|
|
445
|
-
case
|
|
446
|
-
case
|
|
447
|
-
case
|
|
448
|
-
case
|
|
449
|
-
case
|
|
450
|
-
case
|
|
451
|
-
case
|
|
452
|
-
case
|
|
453
|
-
case
|
|
454
|
-
case
|
|
455
|
-
case
|
|
456
|
-
case
|
|
457
|
-
case
|
|
458
|
-
case
|
|
459
|
-
case
|
|
460
|
-
case
|
|
461
|
-
case
|
|
462
|
-
case
|
|
463
|
-
case
|
|
464
|
-
case
|
|
465
|
-
case
|
|
466
|
-
case
|
|
467
|
-
case
|
|
468
|
-
case
|
|
469
|
-
case
|
|
470
|
-
case
|
|
471
|
-
case
|
|
472
|
-
case
|
|
473
|
-
case
|
|
474
|
-
case
|
|
475
|
-
case
|
|
476
|
-
case
|
|
477
|
-
case
|
|
478
|
-
case
|
|
479
|
-
case
|
|
480
|
-
case
|
|
481
|
-
case
|
|
482
|
-
case
|
|
483
|
-
case
|
|
484
|
-
case
|
|
485
|
-
case
|
|
486
|
-
case
|
|
487
|
-
case
|
|
375
|
+
case OP.OP_NOP:
|
|
376
|
+
case OP.OP_NOP2:
|
|
377
|
+
case OP.OP_NOP3:
|
|
378
|
+
case OP.OP_NOP1:
|
|
379
|
+
case OP.OP_NOP4:
|
|
380
|
+
case OP.OP_NOP5:
|
|
381
|
+
case OP.OP_NOP6:
|
|
382
|
+
case OP.OP_NOP7:
|
|
383
|
+
case OP.OP_NOP8:
|
|
384
|
+
case OP.OP_NOP9:
|
|
385
|
+
case OP.OP_NOP10:
|
|
386
|
+
case OP.OP_NOP11:
|
|
387
|
+
case OP.OP_NOP12:
|
|
388
|
+
case OP.OP_NOP13:
|
|
389
|
+
case OP.OP_NOP14:
|
|
390
|
+
case OP.OP_NOP15:
|
|
391
|
+
case OP.OP_NOP16:
|
|
392
|
+
case OP.OP_NOP17:
|
|
393
|
+
case OP.OP_NOP18:
|
|
394
|
+
case OP.OP_NOP19:
|
|
395
|
+
case OP.OP_NOP20:
|
|
396
|
+
case OP.OP_NOP21:
|
|
397
|
+
case OP.OP_NOP22:
|
|
398
|
+
case OP.OP_NOP23:
|
|
399
|
+
case OP.OP_NOP24:
|
|
400
|
+
case OP.OP_NOP25:
|
|
401
|
+
case OP.OP_NOP26:
|
|
402
|
+
case OP.OP_NOP27:
|
|
403
|
+
case OP.OP_NOP28:
|
|
404
|
+
case OP.OP_NOP29:
|
|
405
|
+
case OP.OP_NOP30:
|
|
406
|
+
case OP.OP_NOP31:
|
|
407
|
+
case OP.OP_NOP32:
|
|
408
|
+
case OP.OP_NOP33:
|
|
409
|
+
case OP.OP_NOP34:
|
|
410
|
+
case OP.OP_NOP35:
|
|
411
|
+
case OP.OP_NOP36:
|
|
412
|
+
case OP.OP_NOP37:
|
|
413
|
+
case OP.OP_NOP38:
|
|
414
|
+
case OP.OP_NOP39:
|
|
415
|
+
case OP.OP_NOP40:
|
|
416
|
+
case OP.OP_NOP41:
|
|
417
|
+
case OP.OP_NOP42:
|
|
418
|
+
case OP.OP_NOP43:
|
|
419
|
+
case OP.OP_NOP44:
|
|
420
|
+
case OP.OP_NOP45:
|
|
421
|
+
case OP.OP_NOP46:
|
|
422
|
+
case OP.OP_NOP47:
|
|
423
|
+
case OP.OP_NOP48:
|
|
424
|
+
case OP.OP_NOP49:
|
|
425
|
+
case OP.OP_NOP50:
|
|
426
|
+
case OP.OP_NOP51:
|
|
427
|
+
case OP.OP_NOP52:
|
|
428
|
+
case OP.OP_NOP53:
|
|
429
|
+
case OP.OP_NOP54:
|
|
430
|
+
case OP.OP_NOP55:
|
|
431
|
+
case OP.OP_NOP56:
|
|
432
|
+
case OP.OP_NOP57:
|
|
433
|
+
case OP.OP_NOP58:
|
|
434
|
+
case OP.OP_NOP59:
|
|
435
|
+
case OP.OP_NOP60:
|
|
436
|
+
case OP.OP_NOP61:
|
|
437
|
+
case OP.OP_NOP62:
|
|
438
|
+
case OP.OP_NOP63:
|
|
439
|
+
case OP.OP_NOP64:
|
|
440
|
+
case OP.OP_NOP65:
|
|
441
|
+
case OP.OP_NOP66:
|
|
442
|
+
case OP.OP_NOP67:
|
|
443
|
+
case OP.OP_NOP68:
|
|
444
|
+
case OP.OP_NOP69:
|
|
445
|
+
case OP.OP_NOP70:
|
|
446
|
+
case OP.OP_NOP71:
|
|
447
|
+
case OP.OP_NOP72:
|
|
448
|
+
case OP.OP_NOP73:
|
|
449
|
+
case OP.OP_NOP77:
|
|
488
450
|
break;
|
|
489
|
-
case
|
|
490
|
-
case
|
|
451
|
+
case OP.OP_IF:
|
|
452
|
+
case OP.OP_NOTIF:
|
|
491
453
|
fValue = false;
|
|
492
454
|
if (isScriptExecuting) {
|
|
493
455
|
if (this.stack.length < 1) {
|
|
@@ -495,27 +457,27 @@ class Spend {
|
|
|
495
457
|
}
|
|
496
458
|
buf = this.stacktop(-1);
|
|
497
459
|
fValue = this.castToBool(buf);
|
|
498
|
-
if (currentOpcode ===
|
|
460
|
+
if (currentOpcode === OP.OP_NOTIF) {
|
|
499
461
|
fValue = !fValue;
|
|
500
462
|
}
|
|
501
463
|
this.stack.pop();
|
|
502
464
|
}
|
|
503
465
|
this.ifStack.push(fValue);
|
|
504
466
|
break;
|
|
505
|
-
case
|
|
467
|
+
case OP.OP_ELSE:
|
|
506
468
|
if (this.ifStack.length === 0) {
|
|
507
469
|
this.scriptEvaluationError('OP_ELSE requires a preceeding OP_IF.');
|
|
508
470
|
}
|
|
509
471
|
this.ifStack[this.ifStack.length - 1] =
|
|
510
472
|
!this.ifStack[this.ifStack.length - 1];
|
|
511
473
|
break;
|
|
512
|
-
case
|
|
474
|
+
case OP.OP_ENDIF:
|
|
513
475
|
if (this.ifStack.length === 0) {
|
|
514
476
|
this.scriptEvaluationError('OP_ENDIF requires a preceeding OP_IF.');
|
|
515
477
|
}
|
|
516
478
|
this.ifStack.pop();
|
|
517
479
|
break;
|
|
518
|
-
case
|
|
480
|
+
case OP.OP_VERIFY:
|
|
519
481
|
if (this.stack.length < 1) {
|
|
520
482
|
this.scriptEvaluationError('OP_VERIFY requires at least one item to be on the stack.');
|
|
521
483
|
}
|
|
@@ -528,7 +490,7 @@ class Spend {
|
|
|
528
490
|
this.scriptEvaluationError('OP_VERIFY requires the top stack value to be truthy.');
|
|
529
491
|
}
|
|
530
492
|
break;
|
|
531
|
-
case
|
|
493
|
+
case OP.OP_RETURN:
|
|
532
494
|
if (this.context === 'UnlockingScript') {
|
|
533
495
|
this.programCounter = this.unlockingScript.chunks.length;
|
|
534
496
|
}
|
|
@@ -537,26 +499,26 @@ class Spend {
|
|
|
537
499
|
}
|
|
538
500
|
this.ifStack = [];
|
|
539
501
|
break;
|
|
540
|
-
case
|
|
502
|
+
case OP.OP_TOALTSTACK:
|
|
541
503
|
if (this.stack.length < 1) {
|
|
542
504
|
this.scriptEvaluationError('OP_TOALTSTACK requires at oeast one item to be on the stack.');
|
|
543
505
|
}
|
|
544
|
-
this.altStack.push(this.stack.pop());
|
|
506
|
+
this.altStack.push(this.stack.pop() ?? []);
|
|
545
507
|
break;
|
|
546
|
-
case
|
|
508
|
+
case OP.OP_FROMALTSTACK:
|
|
547
509
|
if (this.altStack.length < 1) {
|
|
548
510
|
this.scriptEvaluationError('OP_FROMALTSTACK requires at least one item to be on the stack.');
|
|
549
511
|
}
|
|
550
|
-
this.stack.push(this.altStack.pop());
|
|
512
|
+
this.stack.push(this.altStack.pop() ?? []);
|
|
551
513
|
break;
|
|
552
|
-
case
|
|
514
|
+
case OP.OP_2DROP:
|
|
553
515
|
if (this.stack.length < 2) {
|
|
554
516
|
this.scriptEvaluationError('OP_2DROP requires at least two items to be on the stack.');
|
|
555
517
|
}
|
|
556
518
|
this.stack.pop();
|
|
557
519
|
this.stack.pop();
|
|
558
520
|
break;
|
|
559
|
-
case
|
|
521
|
+
case OP.OP_2DUP:
|
|
560
522
|
if (this.stack.length < 2) {
|
|
561
523
|
this.scriptEvaluationError('OP_2DUP requires at least two items to be on the stack.');
|
|
562
524
|
}
|
|
@@ -565,7 +527,7 @@ class Spend {
|
|
|
565
527
|
this.stack.push([...buf1]);
|
|
566
528
|
this.stack.push([...buf2]);
|
|
567
529
|
break;
|
|
568
|
-
case
|
|
530
|
+
case OP.OP_3DUP:
|
|
569
531
|
if (this.stack.length < 3) {
|
|
570
532
|
this.scriptEvaluationError('OP_3DUP requires at least three items to be on the stack.');
|
|
571
533
|
}
|
|
@@ -576,7 +538,7 @@ class Spend {
|
|
|
576
538
|
this.stack.push([...buf2]);
|
|
577
539
|
this.stack.push([...buf3]);
|
|
578
540
|
break;
|
|
579
|
-
case
|
|
541
|
+
case OP.OP_2OVER:
|
|
580
542
|
if (this.stack.length < 4) {
|
|
581
543
|
this.scriptEvaluationError('OP_2OVER requires at least four items to be on the stack.');
|
|
582
544
|
}
|
|
@@ -585,7 +547,7 @@ class Spend {
|
|
|
585
547
|
this.stack.push([...buf1]);
|
|
586
548
|
this.stack.push([...buf2]);
|
|
587
549
|
break;
|
|
588
|
-
case
|
|
550
|
+
case OP.OP_2ROT:
|
|
589
551
|
if (this.stack.length < 6) {
|
|
590
552
|
this.scriptEvaluationError('OP_2ROT requires at least six items to be on the stack.');
|
|
591
553
|
}
|
|
@@ -593,7 +555,7 @@ class Spend {
|
|
|
593
555
|
this.stack.push(spliced[0]);
|
|
594
556
|
this.stack.push(spliced[1]);
|
|
595
557
|
break;
|
|
596
|
-
case
|
|
558
|
+
case OP.OP_2SWAP:
|
|
597
559
|
if (this.stack.length < 4) {
|
|
598
560
|
this.scriptEvaluationError('OP_2SWAP requires at least four items to be on the stack.');
|
|
599
561
|
}
|
|
@@ -601,7 +563,7 @@ class Spend {
|
|
|
601
563
|
this.stack.push(spliced[0]);
|
|
602
564
|
this.stack.push(spliced[1]);
|
|
603
565
|
break;
|
|
604
|
-
case
|
|
566
|
+
case OP.OP_IFDUP:
|
|
605
567
|
if (this.stack.length < 1) {
|
|
606
568
|
this.scriptEvaluationError('OP_IFDUP requires at least one item to be on the stack.');
|
|
607
569
|
}
|
|
@@ -611,53 +573,53 @@ class Spend {
|
|
|
611
573
|
this.stack.push([...buf]);
|
|
612
574
|
}
|
|
613
575
|
break;
|
|
614
|
-
case
|
|
615
|
-
buf = new
|
|
576
|
+
case OP.OP_DEPTH:
|
|
577
|
+
buf = new BigNumber(this.stack.length).toScriptNum();
|
|
616
578
|
this.stack.push(buf);
|
|
617
579
|
break;
|
|
618
|
-
case
|
|
580
|
+
case OP.OP_DROP:
|
|
619
581
|
if (this.stack.length < 1) {
|
|
620
582
|
this.scriptEvaluationError('OP_DROP requires at least one item to be on the stack.');
|
|
621
583
|
}
|
|
622
584
|
this.stack.pop();
|
|
623
585
|
break;
|
|
624
|
-
case
|
|
586
|
+
case OP.OP_DUP:
|
|
625
587
|
if (this.stack.length < 1) {
|
|
626
588
|
this.scriptEvaluationError('OP_DUP requires at least one item to be on the stack.');
|
|
627
589
|
}
|
|
628
590
|
this.stack.push([...this.stacktop(-1)]);
|
|
629
591
|
break;
|
|
630
|
-
case
|
|
592
|
+
case OP.OP_NIP:
|
|
631
593
|
if (this.stack.length < 2) {
|
|
632
594
|
this.scriptEvaluationError('OP_NIP requires at least two items to be on the stack.');
|
|
633
595
|
}
|
|
634
596
|
this.stack.splice(this.stack.length - 2, 1);
|
|
635
597
|
break;
|
|
636
|
-
case
|
|
598
|
+
case OP.OP_OVER:
|
|
637
599
|
if (this.stack.length < 2) {
|
|
638
600
|
this.scriptEvaluationError('OP_OVER requires at least two items to be on the stack.');
|
|
639
601
|
}
|
|
640
602
|
this.stack.push([...this.stacktop(-2)]);
|
|
641
603
|
break;
|
|
642
|
-
case
|
|
643
|
-
case
|
|
604
|
+
case OP.OP_PICK:
|
|
605
|
+
case OP.OP_ROLL:
|
|
644
606
|
if (this.stack.length < 2) {
|
|
645
|
-
this.scriptEvaluationError(`${
|
|
607
|
+
this.scriptEvaluationError(`${OP[currentOpcode]} requires at least two items to be on the stack.`);
|
|
646
608
|
}
|
|
647
609
|
buf = this.stacktop(-1);
|
|
648
|
-
bn =
|
|
610
|
+
bn = BigNumber.fromScriptNum(buf, requireMinimalPush);
|
|
649
611
|
n = bn.toNumber();
|
|
650
612
|
this.stack.pop();
|
|
651
613
|
if (n < 0 || n >= this.stack.length) {
|
|
652
|
-
this.scriptEvaluationError(`${
|
|
614
|
+
this.scriptEvaluationError(`${OP[currentOpcode]} requires the top stack element to be 0 or a positive number less than the current size of the stack.`);
|
|
653
615
|
}
|
|
654
616
|
buf = this.stacktop(-n - 1);
|
|
655
|
-
if (currentOpcode ===
|
|
617
|
+
if (currentOpcode === OP.OP_ROLL) {
|
|
656
618
|
this.stack.splice(this.stack.length - n - 1, 1);
|
|
657
619
|
}
|
|
658
620
|
this.stack.push([...buf]);
|
|
659
621
|
break;
|
|
660
|
-
case
|
|
622
|
+
case OP.OP_ROT:
|
|
661
623
|
if (this.stack.length < 3) {
|
|
662
624
|
this.scriptEvaluationError('OP_ROT requires at least three items to be on the stack.');
|
|
663
625
|
}
|
|
@@ -668,7 +630,7 @@ class Spend {
|
|
|
668
630
|
this.stack[this.stack.length - 2] = x3;
|
|
669
631
|
this.stack[this.stack.length - 1] = x1;
|
|
670
632
|
break;
|
|
671
|
-
case
|
|
633
|
+
case OP.OP_SWAP:
|
|
672
634
|
if (this.stack.length < 2) {
|
|
673
635
|
this.scriptEvaluationError('OP_SWAP requires at least two items to be on the stack.');
|
|
674
636
|
}
|
|
@@ -677,42 +639,42 @@ class Spend {
|
|
|
677
639
|
this.stack[this.stack.length - 2] = x2;
|
|
678
640
|
this.stack[this.stack.length - 1] = x1;
|
|
679
641
|
break;
|
|
680
|
-
case
|
|
642
|
+
case OP.OP_TUCK:
|
|
681
643
|
if (this.stack.length < 2) {
|
|
682
644
|
this.scriptEvaluationError('OP_TUCK requires at least two items to be on the stack.');
|
|
683
645
|
}
|
|
684
646
|
this.stack.splice(this.stack.length - 2, 0, [...this.stacktop(-1)]);
|
|
685
647
|
break;
|
|
686
|
-
case
|
|
648
|
+
case OP.OP_SIZE:
|
|
687
649
|
if (this.stack.length < 1) {
|
|
688
650
|
this.scriptEvaluationError('OP_SIZE requires at least one item to be on the stack.');
|
|
689
651
|
}
|
|
690
|
-
bn = new
|
|
652
|
+
bn = new BigNumber(this.stacktop(-1).length);
|
|
691
653
|
this.stack.push(bn.toScriptNum());
|
|
692
654
|
break;
|
|
693
|
-
case
|
|
694
|
-
case
|
|
695
|
-
case
|
|
655
|
+
case OP.OP_AND:
|
|
656
|
+
case OP.OP_OR:
|
|
657
|
+
case OP.OP_XOR:
|
|
696
658
|
if (this.stack.length < 2) {
|
|
697
|
-
this.scriptEvaluationError(`${
|
|
659
|
+
this.scriptEvaluationError(`${OP[currentOpcode]} requires at least one item to be on the stack.`);
|
|
698
660
|
}
|
|
699
661
|
buf1 = this.stacktop(-2);
|
|
700
662
|
buf2 = this.stacktop(-1);
|
|
701
663
|
if (buf1.length !== buf2.length) {
|
|
702
|
-
this.scriptEvaluationError(`${
|
|
664
|
+
this.scriptEvaluationError(`${OP[currentOpcode]} requires the top two stack items to be the same size.`);
|
|
703
665
|
}
|
|
704
666
|
switch (currentOpcode) {
|
|
705
|
-
case
|
|
667
|
+
case OP.OP_AND:
|
|
706
668
|
for (let i = 0; i < buf1.length; i++) {
|
|
707
669
|
buf1[i] &= buf2[i];
|
|
708
670
|
}
|
|
709
671
|
break;
|
|
710
|
-
case
|
|
672
|
+
case OP.OP_OR:
|
|
711
673
|
for (let i = 0; i < buf1.length; i++) {
|
|
712
674
|
buf1[i] |= buf2[i];
|
|
713
675
|
}
|
|
714
676
|
break;
|
|
715
|
-
case
|
|
677
|
+
case OP.OP_XOR:
|
|
716
678
|
for (let i = 0; i < buf1.length; i++) {
|
|
717
679
|
buf1[i] ^= buf2[i];
|
|
718
680
|
}
|
|
@@ -721,7 +683,7 @@ class Spend {
|
|
|
721
683
|
// And pop vch2.
|
|
722
684
|
this.stack.pop();
|
|
723
685
|
break;
|
|
724
|
-
case
|
|
686
|
+
case OP.OP_INVERT:
|
|
725
687
|
if (this.stack.length < 1) {
|
|
726
688
|
this.scriptEvaluationError('OP_INVERT requires at least one item to be on the stack.');
|
|
727
689
|
}
|
|
@@ -730,47 +692,47 @@ class Spend {
|
|
|
730
692
|
buf[i] = ~buf[i];
|
|
731
693
|
}
|
|
732
694
|
break;
|
|
733
|
-
case
|
|
734
|
-
case
|
|
695
|
+
case OP.OP_LSHIFT:
|
|
696
|
+
case OP.OP_RSHIFT:
|
|
735
697
|
if (this.stack.length < 2) {
|
|
736
|
-
this.scriptEvaluationError(`${
|
|
698
|
+
this.scriptEvaluationError(`${OP[currentOpcode]} requires at least two items to be on the stack.`);
|
|
737
699
|
}
|
|
738
700
|
buf1 = this.stacktop(-2);
|
|
739
701
|
if (buf1.length === 0) {
|
|
740
702
|
this.stack.pop();
|
|
741
703
|
}
|
|
742
704
|
else {
|
|
743
|
-
bn1 = new
|
|
744
|
-
bn2 =
|
|
705
|
+
bn1 = new BigNumber(buf1);
|
|
706
|
+
bn2 = BigNumber.fromScriptNum(this.stacktop(-1), requireMinimalPush);
|
|
745
707
|
n = bn2.toNumber();
|
|
746
708
|
if (n < 0) {
|
|
747
|
-
this.scriptEvaluationError(`${
|
|
709
|
+
this.scriptEvaluationError(`${OP[currentOpcode]} requires the top item on the stack not to be negative.`);
|
|
748
710
|
}
|
|
749
711
|
this.stack.pop();
|
|
750
712
|
this.stack.pop();
|
|
751
713
|
let shifted;
|
|
752
|
-
if (currentOpcode ===
|
|
714
|
+
if (currentOpcode === OP.OP_LSHIFT) {
|
|
753
715
|
shifted = bn1.ushln(n);
|
|
754
716
|
}
|
|
755
|
-
if (currentOpcode ===
|
|
717
|
+
if (currentOpcode === OP.OP_RSHIFT) {
|
|
756
718
|
shifted = bn1.ushrn(n);
|
|
757
719
|
}
|
|
758
720
|
const bufShifted = padDataToSize(shifted.toArray().slice(buf1.length * -1), buf1.length);
|
|
759
721
|
this.stack.push(bufShifted);
|
|
760
722
|
}
|
|
761
723
|
break;
|
|
762
|
-
case
|
|
763
|
-
case
|
|
724
|
+
case OP.OP_EQUAL:
|
|
725
|
+
case OP.OP_EQUALVERIFY:
|
|
764
726
|
if (this.stack.length < 2) {
|
|
765
|
-
this.scriptEvaluationError(`${
|
|
727
|
+
this.scriptEvaluationError(`${OP[currentOpcode]} requires at least two items to be on the stack.`);
|
|
766
728
|
}
|
|
767
729
|
buf1 = this.stacktop(-2);
|
|
768
730
|
buf2 = this.stacktop(-1);
|
|
769
|
-
fEqual =
|
|
731
|
+
fEqual = toHex(buf1) === toHex(buf2);
|
|
770
732
|
this.stack.pop();
|
|
771
733
|
this.stack.pop();
|
|
772
734
|
this.stack.push(fEqual ? [1] : []);
|
|
773
|
-
if (currentOpcode ===
|
|
735
|
+
if (currentOpcode === OP.OP_EQUALVERIFY) {
|
|
774
736
|
if (fEqual) {
|
|
775
737
|
this.stack.pop();
|
|
776
738
|
}
|
|
@@ -779,124 +741,124 @@ class Spend {
|
|
|
779
741
|
}
|
|
780
742
|
}
|
|
781
743
|
break;
|
|
782
|
-
case
|
|
783
|
-
case
|
|
784
|
-
case
|
|
785
|
-
case
|
|
786
|
-
case
|
|
787
|
-
case
|
|
744
|
+
case OP.OP_1ADD:
|
|
745
|
+
case OP.OP_1SUB:
|
|
746
|
+
case OP.OP_NEGATE:
|
|
747
|
+
case OP.OP_ABS:
|
|
748
|
+
case OP.OP_NOT:
|
|
749
|
+
case OP.OP_0NOTEQUAL:
|
|
788
750
|
if (this.stack.length < 1) {
|
|
789
|
-
this.scriptEvaluationError(`${
|
|
751
|
+
this.scriptEvaluationError(`${OP[currentOpcode]} requires at least one items to be on the stack.`);
|
|
790
752
|
}
|
|
791
753
|
buf = this.stacktop(-1);
|
|
792
|
-
bn =
|
|
754
|
+
bn = BigNumber.fromScriptNum(buf, requireMinimalPush);
|
|
793
755
|
switch (currentOpcode) {
|
|
794
|
-
case
|
|
756
|
+
case OP.OP_1ADD:
|
|
795
757
|
bn = bn.addn(1);
|
|
796
758
|
break;
|
|
797
|
-
case
|
|
759
|
+
case OP.OP_1SUB:
|
|
798
760
|
bn = bn.subn(1);
|
|
799
761
|
break;
|
|
800
|
-
case
|
|
762
|
+
case OP.OP_NEGATE:
|
|
801
763
|
bn = bn.neg();
|
|
802
764
|
break;
|
|
803
|
-
case
|
|
765
|
+
case OP.OP_ABS:
|
|
804
766
|
if (bn.cmpn(0) < 0) {
|
|
805
767
|
bn = bn.neg();
|
|
806
768
|
}
|
|
807
769
|
break;
|
|
808
|
-
case
|
|
809
|
-
bn = new
|
|
770
|
+
case OP.OP_NOT:
|
|
771
|
+
bn = new BigNumber(bn.cmpn(0) === 0 ? 1 : 0 + 0);
|
|
810
772
|
break;
|
|
811
|
-
case
|
|
812
|
-
bn = new
|
|
773
|
+
case OP.OP_0NOTEQUAL:
|
|
774
|
+
bn = new BigNumber(bn.cmpn(0) !== 0 ? 1 : 0 + 0);
|
|
813
775
|
break;
|
|
814
776
|
}
|
|
815
777
|
this.stack.pop();
|
|
816
778
|
this.stack.push(bn.toScriptNum());
|
|
817
779
|
break;
|
|
818
|
-
case
|
|
819
|
-
case
|
|
820
|
-
case
|
|
821
|
-
case
|
|
822
|
-
case
|
|
823
|
-
case
|
|
824
|
-
case
|
|
825
|
-
case
|
|
826
|
-
case
|
|
827
|
-
case
|
|
828
|
-
case
|
|
829
|
-
case
|
|
830
|
-
case
|
|
831
|
-
case
|
|
832
|
-
case
|
|
833
|
-
case
|
|
780
|
+
case OP.OP_ADD:
|
|
781
|
+
case OP.OP_SUB:
|
|
782
|
+
case OP.OP_MUL:
|
|
783
|
+
case OP.OP_MOD:
|
|
784
|
+
case OP.OP_DIV:
|
|
785
|
+
case OP.OP_BOOLAND:
|
|
786
|
+
case OP.OP_BOOLOR:
|
|
787
|
+
case OP.OP_NUMEQUAL:
|
|
788
|
+
case OP.OP_NUMEQUALVERIFY:
|
|
789
|
+
case OP.OP_NUMNOTEQUAL:
|
|
790
|
+
case OP.OP_LESSTHAN:
|
|
791
|
+
case OP.OP_GREATERTHAN:
|
|
792
|
+
case OP.OP_LESSTHANOREQUAL:
|
|
793
|
+
case OP.OP_GREATERTHANOREQUAL:
|
|
794
|
+
case OP.OP_MIN:
|
|
795
|
+
case OP.OP_MAX:
|
|
834
796
|
if (this.stack.length < 2) {
|
|
835
|
-
this.scriptEvaluationError(`${
|
|
797
|
+
this.scriptEvaluationError(`${OP[currentOpcode]} requires at least two items to be on the stack.`);
|
|
836
798
|
}
|
|
837
|
-
bn1 =
|
|
838
|
-
bn2 =
|
|
839
|
-
bn = new
|
|
799
|
+
bn1 = BigNumber.fromScriptNum(this.stacktop(-2), requireMinimalPush);
|
|
800
|
+
bn2 = BigNumber.fromScriptNum(this.stacktop(-1), requireMinimalPush);
|
|
801
|
+
bn = new BigNumber(0);
|
|
840
802
|
switch (currentOpcode) {
|
|
841
|
-
case
|
|
803
|
+
case OP.OP_ADD:
|
|
842
804
|
bn = bn1.add(bn2);
|
|
843
805
|
break;
|
|
844
|
-
case
|
|
806
|
+
case OP.OP_SUB:
|
|
845
807
|
bn = bn1.sub(bn2);
|
|
846
808
|
break;
|
|
847
|
-
case
|
|
809
|
+
case OP.OP_MUL:
|
|
848
810
|
bn = bn1.mul(bn2);
|
|
849
811
|
break;
|
|
850
|
-
case
|
|
812
|
+
case OP.OP_DIV:
|
|
851
813
|
if (bn2.cmpn(0) === 0) {
|
|
852
814
|
this.scriptEvaluationError('OP_DIV cannot divide by zero!');
|
|
853
815
|
}
|
|
854
816
|
bn = bn1.div(bn2);
|
|
855
817
|
break;
|
|
856
|
-
case
|
|
818
|
+
case OP.OP_MOD:
|
|
857
819
|
if (bn2.cmpn(0) === 0) {
|
|
858
820
|
this.scriptEvaluationError('OP_MOD cannot divide by zero!');
|
|
859
821
|
}
|
|
860
822
|
bn = bn1.mod(bn2);
|
|
861
823
|
break;
|
|
862
|
-
case
|
|
863
|
-
bn = new
|
|
824
|
+
case OP.OP_BOOLAND:
|
|
825
|
+
bn = new BigNumber(bn1.cmpn(0) !== 0 && bn2.cmpn(0) !== 0 ? 1 : 0 + 0);
|
|
864
826
|
break;
|
|
865
|
-
case
|
|
866
|
-
bn = new
|
|
827
|
+
case OP.OP_BOOLOR:
|
|
828
|
+
bn = new BigNumber(bn1.cmpn(0) !== 0 || bn2.cmpn(0) !== 0 ? 1 : 0 + 0);
|
|
867
829
|
break;
|
|
868
|
-
case
|
|
869
|
-
bn = new
|
|
830
|
+
case OP.OP_NUMEQUAL:
|
|
831
|
+
bn = new BigNumber(bn1.cmp(bn2) === 0 ? 1 : 0 + 0);
|
|
870
832
|
break;
|
|
871
|
-
case
|
|
872
|
-
bn = new
|
|
833
|
+
case OP.OP_NUMEQUALVERIFY:
|
|
834
|
+
bn = new BigNumber(bn1.cmp(bn2) === 0 ? 1 : 0 + 0);
|
|
873
835
|
break;
|
|
874
|
-
case
|
|
875
|
-
bn = new
|
|
836
|
+
case OP.OP_NUMNOTEQUAL:
|
|
837
|
+
bn = new BigNumber(bn1.cmp(bn2) !== 0 ? 1 : 0 + 0);
|
|
876
838
|
break;
|
|
877
|
-
case
|
|
878
|
-
bn = new
|
|
839
|
+
case OP.OP_LESSTHAN:
|
|
840
|
+
bn = new BigNumber(bn1.cmp(bn2) < 0 ? 1 : 0 + 0);
|
|
879
841
|
break;
|
|
880
|
-
case
|
|
881
|
-
bn = new
|
|
842
|
+
case OP.OP_GREATERTHAN:
|
|
843
|
+
bn = new BigNumber(bn1.cmp(bn2) > 0 ? 1 : 0 + 0);
|
|
882
844
|
break;
|
|
883
|
-
case
|
|
884
|
-
bn = new
|
|
845
|
+
case OP.OP_LESSTHANOREQUAL:
|
|
846
|
+
bn = new BigNumber(bn1.cmp(bn2) <= 0 ? 1 : 0 + 0);
|
|
885
847
|
break;
|
|
886
|
-
case
|
|
887
|
-
bn = new
|
|
848
|
+
case OP.OP_GREATERTHANOREQUAL:
|
|
849
|
+
bn = new BigNumber(bn1.cmp(bn2) >= 0 ? 1 : 0 + 0);
|
|
888
850
|
break;
|
|
889
|
-
case
|
|
851
|
+
case OP.OP_MIN:
|
|
890
852
|
bn = bn1.cmp(bn2) < 0 ? bn1 : bn2;
|
|
891
853
|
break;
|
|
892
|
-
case
|
|
854
|
+
case OP.OP_MAX:
|
|
893
855
|
bn = bn1.cmp(bn2) > 0 ? bn1 : bn2;
|
|
894
856
|
break;
|
|
895
857
|
}
|
|
896
858
|
this.stack.pop();
|
|
897
859
|
this.stack.pop();
|
|
898
860
|
this.stack.push(bn.toScriptNum());
|
|
899
|
-
if (currentOpcode ===
|
|
861
|
+
if (currentOpcode === OP.OP_NUMEQUALVERIFY) {
|
|
900
862
|
if (this.castToBool(this.stacktop(-1))) {
|
|
901
863
|
this.stack.pop();
|
|
902
864
|
}
|
|
@@ -905,73 +867,75 @@ class Spend {
|
|
|
905
867
|
}
|
|
906
868
|
}
|
|
907
869
|
break;
|
|
908
|
-
case
|
|
870
|
+
case OP.OP_WITHIN:
|
|
909
871
|
if (this.stack.length < 3) {
|
|
910
872
|
this.scriptEvaluationError('OP_WITHIN requires at least three items to be on the stack.');
|
|
911
873
|
}
|
|
912
|
-
bn1 =
|
|
913
|
-
bn2 =
|
|
914
|
-
bn3 =
|
|
874
|
+
bn1 = BigNumber.fromScriptNum(this.stacktop(-3), requireMinimalPush);
|
|
875
|
+
bn2 = BigNumber.fromScriptNum(this.stacktop(-2), requireMinimalPush);
|
|
876
|
+
bn3 = BigNumber.fromScriptNum(this.stacktop(-1), requireMinimalPush);
|
|
915
877
|
fValue = bn2.cmp(bn1) <= 0 && bn1.cmp(bn3) < 0;
|
|
916
878
|
this.stack.pop();
|
|
917
879
|
this.stack.pop();
|
|
918
880
|
this.stack.pop();
|
|
919
881
|
this.stack.push(fValue ? [1] : []);
|
|
920
882
|
break;
|
|
921
|
-
case
|
|
922
|
-
case
|
|
923
|
-
case
|
|
924
|
-
case
|
|
925
|
-
case
|
|
883
|
+
case OP.OP_RIPEMD160:
|
|
884
|
+
case OP.OP_SHA1:
|
|
885
|
+
case OP.OP_SHA256:
|
|
886
|
+
case OP.OP_HASH160:
|
|
887
|
+
case OP.OP_HASH256: {
|
|
926
888
|
if (this.stack.length < 1) {
|
|
927
|
-
this.scriptEvaluationError(`${
|
|
889
|
+
this.scriptEvaluationError(`${OP[currentOpcode]} requires at least one item to be on the stack.`);
|
|
928
890
|
}
|
|
891
|
+
let bufHash = []; // ✅ Initialize bufHash to an empty array
|
|
929
892
|
buf = this.stacktop(-1);
|
|
930
|
-
if (currentOpcode ===
|
|
893
|
+
if (currentOpcode === OP.OP_RIPEMD160) {
|
|
931
894
|
bufHash = Hash.ripemd160(buf);
|
|
932
895
|
}
|
|
933
|
-
else if (currentOpcode ===
|
|
896
|
+
else if (currentOpcode === OP.OP_SHA1) {
|
|
934
897
|
bufHash = Hash.sha1(buf);
|
|
935
898
|
}
|
|
936
|
-
else if (currentOpcode ===
|
|
899
|
+
else if (currentOpcode === OP.OP_SHA256) {
|
|
937
900
|
bufHash = Hash.sha256(buf);
|
|
938
901
|
}
|
|
939
|
-
else if (currentOpcode ===
|
|
902
|
+
else if (currentOpcode === OP.OP_HASH160) {
|
|
940
903
|
bufHash = Hash.hash160(buf);
|
|
941
904
|
}
|
|
942
|
-
else if (currentOpcode ===
|
|
905
|
+
else if (currentOpcode === OP.OP_HASH256) {
|
|
943
906
|
bufHash = Hash.hash256(buf);
|
|
944
907
|
}
|
|
945
908
|
this.stack.pop();
|
|
946
909
|
this.stack.push(bufHash);
|
|
947
910
|
break;
|
|
948
|
-
|
|
911
|
+
}
|
|
912
|
+
case OP.OP_CODESEPARATOR:
|
|
949
913
|
this.lastCodeSeparator = this.programCounter;
|
|
950
914
|
break;
|
|
951
|
-
case
|
|
952
|
-
case
|
|
915
|
+
case OP.OP_CHECKSIG:
|
|
916
|
+
case OP.OP_CHECKSIGVERIFY:
|
|
953
917
|
if (this.stack.length < 2) {
|
|
954
|
-
this.scriptEvaluationError(`${
|
|
918
|
+
this.scriptEvaluationError(`${OP[currentOpcode]} requires at least two items to be on the stack.`);
|
|
955
919
|
}
|
|
956
920
|
bufSig = this.stacktop(-2);
|
|
957
921
|
bufPubkey = this.stacktop(-1);
|
|
958
922
|
if (!checkSignatureEncoding(bufSig) ||
|
|
959
923
|
!checkPublicKeyEncoding(bufPubkey)) {
|
|
960
|
-
this.scriptEvaluationError(`${
|
|
924
|
+
this.scriptEvaluationError(`${OP[currentOpcode]} requires correct encoding for the public key and signature.`);
|
|
961
925
|
}
|
|
962
926
|
// Subset of script starting at the most recent codeseparator
|
|
963
927
|
// CScript scriptCode(pbegincodehash, pend);
|
|
964
928
|
if (this.context === 'UnlockingScript') {
|
|
965
|
-
subscript = new
|
|
929
|
+
subscript = new Script(this.unlockingScript.chunks.slice(this.lastCodeSeparator ?? 0));
|
|
966
930
|
}
|
|
967
931
|
else {
|
|
968
|
-
subscript = new
|
|
932
|
+
subscript = new Script(this.lockingScript.chunks.slice(this.lastCodeSeparator ?? 0));
|
|
969
933
|
}
|
|
970
934
|
// Drop the signature, since there's no way for a signature to sign itself
|
|
971
|
-
subscript.findAndDelete(new
|
|
935
|
+
subscript.findAndDelete(new Script().writeBin(bufSig));
|
|
972
936
|
try {
|
|
973
|
-
sig =
|
|
974
|
-
pubkey =
|
|
937
|
+
sig = TransactionSignature.fromChecksigFormat(bufSig);
|
|
938
|
+
pubkey = PublicKey.fromDER(bufPubkey);
|
|
975
939
|
fSuccess = verifySignature(sig, pubkey, subscript);
|
|
976
940
|
}
|
|
977
941
|
catch (e) {
|
|
@@ -979,13 +943,13 @@ class Spend {
|
|
|
979
943
|
fSuccess = false;
|
|
980
944
|
}
|
|
981
945
|
if (!fSuccess && bufSig.length > 0) {
|
|
982
|
-
this.scriptEvaluationError(`${
|
|
946
|
+
this.scriptEvaluationError(`${OP[currentOpcode]} failed to verify the signature, and requires an empty signature when verification fails.`);
|
|
983
947
|
}
|
|
984
948
|
this.stack.pop();
|
|
985
949
|
this.stack.pop();
|
|
986
950
|
// stack.push_back(fSuccess ? vchTrue : vchFalse);
|
|
987
951
|
this.stack.push(fSuccess ? [1] : []);
|
|
988
|
-
if (currentOpcode ===
|
|
952
|
+
if (currentOpcode === OP.OP_CHECKSIGVERIFY) {
|
|
989
953
|
if (fSuccess) {
|
|
990
954
|
this.stack.pop();
|
|
991
955
|
}
|
|
@@ -994,16 +958,16 @@ class Spend {
|
|
|
994
958
|
}
|
|
995
959
|
}
|
|
996
960
|
break;
|
|
997
|
-
case
|
|
998
|
-
case
|
|
961
|
+
case OP.OP_CHECKMULTISIG:
|
|
962
|
+
case OP.OP_CHECKMULTISIGVERIFY:
|
|
999
963
|
i = 1;
|
|
1000
964
|
if (this.stack.length < i) {
|
|
1001
|
-
this.scriptEvaluationError(`${
|
|
965
|
+
this.scriptEvaluationError(`${OP[currentOpcode]} requires at least 1 item to be on the stack.`);
|
|
1002
966
|
}
|
|
1003
|
-
nKeysCount =
|
|
967
|
+
nKeysCount = BigNumber.fromScriptNum(this.stacktop(-i), requireMinimalPush).toNumber();
|
|
1004
968
|
// TODO: Keys and opcount are parameterized in client. No magic numbers!
|
|
1005
969
|
if (nKeysCount < 0 || nKeysCount > maxMultisigKeyCount) {
|
|
1006
|
-
this.scriptEvaluationError(`${
|
|
970
|
+
this.scriptEvaluationError(`${OP[currentOpcode]} requires a key count between 0 and ${maxMultisigKeyCount}.`);
|
|
1007
971
|
}
|
|
1008
972
|
ikey = ++i;
|
|
1009
973
|
i += nKeysCount;
|
|
@@ -1013,28 +977,28 @@ class Spend {
|
|
|
1013
977
|
// operation fails.
|
|
1014
978
|
ikey2 = nKeysCount + 2;
|
|
1015
979
|
if (this.stack.length < i) {
|
|
1016
|
-
this.scriptEvaluationError(`${
|
|
980
|
+
this.scriptEvaluationError(`${OP[currentOpcode]} requires the number of stack items not to be less than the number of keys used.`);
|
|
1017
981
|
}
|
|
1018
|
-
nSigsCount =
|
|
982
|
+
nSigsCount = BigNumber.fromScriptNum(this.stacktop(-i), requireMinimalPush).toNumber();
|
|
1019
983
|
if (nSigsCount < 0 || nSigsCount > nKeysCount) {
|
|
1020
|
-
this.scriptEvaluationError(`${
|
|
984
|
+
this.scriptEvaluationError(`${OP[currentOpcode]} requires the number of signatures to be no greater than the number of keys.`);
|
|
1021
985
|
}
|
|
1022
986
|
isig = ++i;
|
|
1023
987
|
i += nSigsCount;
|
|
1024
988
|
if (this.stack.length < i) {
|
|
1025
|
-
this.scriptEvaluationError(`${
|
|
989
|
+
this.scriptEvaluationError(`${OP[currentOpcode]} requires the number of stack items not to be less than the number of signatures provided.`);
|
|
1026
990
|
}
|
|
1027
991
|
// Subset of script starting at the most recent codeseparator
|
|
1028
992
|
if (this.context === 'UnlockingScript') {
|
|
1029
|
-
subscript = new
|
|
993
|
+
subscript = new Script(this.unlockingScript.chunks.slice(this.lastCodeSeparator ?? 0));
|
|
1030
994
|
}
|
|
1031
995
|
else {
|
|
1032
|
-
subscript = new
|
|
996
|
+
subscript = new Script(this.lockingScript.chunks.slice(this.lastCodeSeparator ?? 0));
|
|
1033
997
|
}
|
|
1034
998
|
// Drop the signatures, since there's no way for a signature to sign itself
|
|
1035
999
|
for (let k = 0; k < nSigsCount; k++) {
|
|
1036
1000
|
bufSig = this.stacktop(-isig - k);
|
|
1037
|
-
subscript.findAndDelete(new
|
|
1001
|
+
subscript.findAndDelete(new Script().writeBin(bufSig));
|
|
1038
1002
|
}
|
|
1039
1003
|
fSuccess = true;
|
|
1040
1004
|
while (fSuccess && nSigsCount > 0) {
|
|
@@ -1044,11 +1008,11 @@ class Spend {
|
|
|
1044
1008
|
bufPubkey = this.stacktop(-ikey);
|
|
1045
1009
|
if (!checkSignatureEncoding(bufSig) ||
|
|
1046
1010
|
!checkPublicKeyEncoding(bufPubkey)) {
|
|
1047
|
-
this.scriptEvaluationError(`${
|
|
1011
|
+
this.scriptEvaluationError(`${OP[currentOpcode]} requires correct encoding for the public key and signature.`);
|
|
1048
1012
|
}
|
|
1049
1013
|
try {
|
|
1050
|
-
sig =
|
|
1051
|
-
pubkey =
|
|
1014
|
+
sig = TransactionSignature.fromChecksigFormat(bufSig);
|
|
1015
|
+
pubkey = PublicKey.fromString(toHex(bufPubkey));
|
|
1052
1016
|
fOk = verifySignature(sig, pubkey, subscript);
|
|
1053
1017
|
}
|
|
1054
1018
|
catch (e) {
|
|
@@ -1069,8 +1033,8 @@ class Spend {
|
|
|
1069
1033
|
}
|
|
1070
1034
|
// Clean up stack of actual arguments
|
|
1071
1035
|
while (i-- > 1) {
|
|
1072
|
-
if (!fSuccess &&
|
|
1073
|
-
this.scriptEvaluationError(`${
|
|
1036
|
+
if (!fSuccess && ikey2 === 0 && this.stacktop(-1).length > 0) {
|
|
1037
|
+
this.scriptEvaluationError(`${OP[currentOpcode]} failed to verify a signature, and requires an empty signature when verification fails.`);
|
|
1074
1038
|
}
|
|
1075
1039
|
if (ikey2 > 0) {
|
|
1076
1040
|
ikey2--;
|
|
@@ -1084,15 +1048,15 @@ class Spend {
|
|
|
1084
1048
|
// so optionally verify it is exactly equal to zero prior
|
|
1085
1049
|
// to removing it from the stack.
|
|
1086
1050
|
if (this.stack.length < 1) {
|
|
1087
|
-
this.scriptEvaluationError(`${
|
|
1051
|
+
this.scriptEvaluationError(`${OP[currentOpcode]} requires an extra item to be on the stack.`);
|
|
1088
1052
|
}
|
|
1089
1053
|
if (this.stacktop(-1).length > 0) {
|
|
1090
1054
|
// NOTE: Is this necessary? We don't care about malleability.
|
|
1091
|
-
this.scriptEvaluationError(`${
|
|
1055
|
+
this.scriptEvaluationError(`${OP[currentOpcode]} requires the extra stack item to be empty.`);
|
|
1092
1056
|
}
|
|
1093
1057
|
this.stack.pop();
|
|
1094
1058
|
this.stack.push(fSuccess ? [1] : []);
|
|
1095
|
-
if (currentOpcode ===
|
|
1059
|
+
if (currentOpcode === OP.OP_CHECKMULTISIGVERIFY) {
|
|
1096
1060
|
if (fSuccess) {
|
|
1097
1061
|
this.stack.pop();
|
|
1098
1062
|
}
|
|
@@ -1101,7 +1065,7 @@ class Spend {
|
|
|
1101
1065
|
}
|
|
1102
1066
|
}
|
|
1103
1067
|
break;
|
|
1104
|
-
case
|
|
1068
|
+
case OP.OP_CAT:
|
|
1105
1069
|
if (this.stack.length < 2) {
|
|
1106
1070
|
this.scriptEvaluationError('OP_CAT requires at least two items to be on the stack.');
|
|
1107
1071
|
}
|
|
@@ -1113,13 +1077,13 @@ class Spend {
|
|
|
1113
1077
|
this.stack[this.stack.length - 2] = [...buf1, ...buf2];
|
|
1114
1078
|
this.stack.pop();
|
|
1115
1079
|
break;
|
|
1116
|
-
case
|
|
1080
|
+
case OP.OP_SPLIT:
|
|
1117
1081
|
if (this.stack.length < 2) {
|
|
1118
1082
|
this.scriptEvaluationError('OP_SPLIT requires at least two items to be on the stack.');
|
|
1119
1083
|
}
|
|
1120
1084
|
buf1 = this.stacktop(-2);
|
|
1121
1085
|
// Make sure the split point is apropriate.
|
|
1122
|
-
n =
|
|
1086
|
+
n = BigNumber.fromScriptNum(this.stacktop(-1), requireMinimalPush).toNumber();
|
|
1123
1087
|
if (n < 0 || n > buf1.length) {
|
|
1124
1088
|
this.scriptEvaluationError('OP_SPLIT requires the first stack item to be a non-negative number less than or equal to the size of the second-from-top stack item.');
|
|
1125
1089
|
}
|
|
@@ -1131,11 +1095,11 @@ class Spend {
|
|
|
1131
1095
|
this.stack[this.stack.length - 2] = buf2.slice(0, n);
|
|
1132
1096
|
this.stack[this.stack.length - 1] = buf2.slice(n);
|
|
1133
1097
|
break;
|
|
1134
|
-
case
|
|
1098
|
+
case OP.OP_NUM2BIN:
|
|
1135
1099
|
if (this.stack.length < 2) {
|
|
1136
1100
|
this.scriptEvaluationError('OP_NUM2BIN requires at least two items to be on the stack.');
|
|
1137
1101
|
}
|
|
1138
|
-
size =
|
|
1102
|
+
size = BigNumber.fromScriptNum(this.stacktop(-1), requireMinimalPush).toNumber();
|
|
1139
1103
|
if (size > maxScriptElementSize) {
|
|
1140
1104
|
this.scriptEvaluationError(`It's not currently possible to push data larger than ${maxScriptElementSize} bytes.`);
|
|
1141
1105
|
}
|
|
@@ -1143,7 +1107,7 @@ class Spend {
|
|
|
1143
1107
|
rawnum = this.stacktop(-1);
|
|
1144
1108
|
// Try to see if we can fit that number in the number of
|
|
1145
1109
|
// byte requested.
|
|
1146
|
-
rawnum =
|
|
1110
|
+
rawnum = minimallyEncode(rawnum);
|
|
1147
1111
|
if (rawnum.length > size) {
|
|
1148
1112
|
this.scriptEvaluationError('OP_NUM2BIN requires that the size expressed in the top stack item is large enough to hold the value expressed in the second-from-top stack item.');
|
|
1149
1113
|
}
|
|
@@ -1170,12 +1134,12 @@ class Spend {
|
|
|
1170
1134
|
num[n] = signbit;
|
|
1171
1135
|
this.stack[this.stack.length - 1] = num;
|
|
1172
1136
|
break;
|
|
1173
|
-
case
|
|
1137
|
+
case OP.OP_BIN2NUM:
|
|
1174
1138
|
if (this.stack.length < 1) {
|
|
1175
1139
|
this.scriptEvaluationError('OP_BIN2NUM requires at least one item to be on the stack.');
|
|
1176
1140
|
}
|
|
1177
1141
|
buf1 = this.stacktop(-1);
|
|
1178
|
-
buf2 =
|
|
1142
|
+
buf2 = minimallyEncode(buf1);
|
|
1179
1143
|
this.stack[this.stack.length - 1] = buf2;
|
|
1180
1144
|
// The resulting number must be a valid number.
|
|
1181
1145
|
if (!isMinimallyEncoded(buf2)) {
|
|
@@ -1243,5 +1207,4 @@ class Spend {
|
|
|
1243
1207
|
throw new Error(`Script evaluation error: ${str}\n\nSource TXID: ${this.sourceTXID}\nSource output index: ${this.sourceOutputIndex}\nContext: ${this.context}\nProgram counter: ${this.programCounter}\nStack size: ${this.stack.length}\nAlt stack size: ${this.altStack.length}`);
|
|
1244
1208
|
}
|
|
1245
1209
|
}
|
|
1246
|
-
exports.default = Spend;
|
|
1247
1210
|
//# sourceMappingURL=Spend.js.map
|