@bsv/sdk 1.3.12 → 1.3.13
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 +10 -2
- package/dist/cjs/src/auth/Peer.js +62 -46
- package/dist/cjs/src/auth/Peer.js.map +1 -1
- package/dist/cjs/src/auth/SessionManager.js +4 -4
- package/dist/cjs/src/auth/SessionManager.js.map +1 -1
- package/dist/cjs/src/auth/__tests/Peer.test.js +446 -0
- package/dist/cjs/src/auth/__tests/Peer.test.js.map +1 -0
- package/dist/cjs/src/auth/__tests/SessionManager.test.js +69 -0
- package/dist/cjs/src/auth/__tests/SessionManager.test.js.map +1 -0
- package/dist/cjs/src/auth/certificates/Certificate.js +26 -23
- package/dist/cjs/src/auth/certificates/Certificate.js.map +1 -1
- package/dist/cjs/src/auth/certificates/MasterCertificate.js +18 -16
- package/dist/cjs/src/auth/certificates/MasterCertificate.js.map +1 -1
- package/dist/cjs/src/auth/certificates/VerifiableCertificate.js +7 -7
- package/dist/cjs/src/auth/certificates/VerifiableCertificate.js.map +1 -1
- package/dist/cjs/src/auth/certificates/__tests/Certificate.test.js +182 -0
- package/dist/cjs/src/auth/certificates/__tests/Certificate.test.js.map +1 -0
- package/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js +22 -22
- package/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
- package/dist/cjs/src/auth/certificates/__tests/MasterCertificate.test.js +184 -0
- package/dist/cjs/src/auth/certificates/__tests/MasterCertificate.test.js.map +1 -0
- package/dist/cjs/src/auth/certificates/__tests/VerifiableCertificate.test.js +75 -0
- package/dist/cjs/src/auth/certificates/__tests/VerifiableCertificate.test.js.map +1 -0
- 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 +74 -64
- 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 +62 -54
- 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/__tests/cryptononce.test.js +101 -0
- package/dist/cjs/src/auth/utils/__tests/cryptononce.test.js.map +1 -0
- package/dist/cjs/src/auth/utils/__tests/getVerifiableCertificates.test.js +106 -0
- package/dist/cjs/src/auth/utils/__tests/getVerifiableCertificates.test.js.map +1 -0
- package/dist/cjs/src/auth/utils/__tests/validateCertificates.test.js +111 -0
- package/dist/cjs/src/auth/utils/__tests/validateCertificates.test.js.map +1 -0
- package/dist/cjs/src/auth/utils/createNonce.js +4 -4
- 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 +2 -2
- package/dist/cjs/src/auth/utils/validateCertificates.js.map +1 -1
- package/dist/cjs/src/auth/utils/verifyNonce.js +3 -3
- package/dist/cjs/src/auth/utils/verifyNonce.js.map +1 -1
- package/dist/cjs/src/compat/BSM.js +9 -9
- package/dist/cjs/src/compat/BSM.js.map +1 -1
- package/dist/cjs/src/compat/ECIES.js +157 -116
- package/dist/cjs/src/compat/ECIES.js.map +1 -1
- package/dist/cjs/src/compat/HD.js +75 -75
- package/dist/cjs/src/compat/HD.js.map +1 -1
- package/dist/cjs/src/compat/Mnemonic.js +98 -93
- 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/__tests/BSM.test.js +69 -0
- package/dist/cjs/src/compat/__tests/BSM.test.js.map +1 -0
- package/dist/cjs/src/compat/__tests/ECIES.test.js +115 -0
- package/dist/cjs/src/compat/__tests/ECIES.test.js.map +1 -0
- package/dist/cjs/src/compat/__tests/HD.test.js +336 -0
- package/dist/cjs/src/compat/__tests/HD.test.js.map +1 -0
- package/dist/cjs/src/compat/__tests/Mnemonic.test.js +150 -0
- package/dist/cjs/src/compat/__tests/Mnemonic.test.js.map +1 -0
- package/dist/cjs/src/compat/__tests/Mnemonic.vectors.js +175 -0
- package/dist/cjs/src/compat/__tests/Mnemonic.vectors.js.map +1 -0
- package/dist/cjs/src/compat/index.js +9 -9
- package/dist/cjs/src/compat/index.js.map +1 -1
- package/dist/cjs/src/messages/EncryptedMessage.js +17 -15
- package/dist/cjs/src/messages/EncryptedMessage.js.map +1 -1
- package/dist/cjs/src/messages/SignedMessage.js +20 -20
- package/dist/cjs/src/messages/SignedMessage.js.map +1 -1
- package/dist/cjs/src/messages/__tests/EncryptedMessage.test.js +57 -0
- package/dist/cjs/src/messages/__tests/EncryptedMessage.test.js.map +1 -0
- package/dist/cjs/src/messages/__tests/SignedMessage.test.js +52 -0
- package/dist/cjs/src/messages/__tests/SignedMessage.test.js.map +1 -0
- package/dist/cjs/src/messages/index.js +2 -2
- package/dist/cjs/src/messages/index.js.map +1 -1
- package/dist/cjs/src/overlay-tools/LookupResolver.js +20 -13
- package/dist/cjs/src/overlay-tools/LookupResolver.js.map +1 -1
- package/dist/cjs/src/overlay-tools/OverlayAdminTokenTemplate.js +44 -32
- package/dist/cjs/src/overlay-tools/OverlayAdminTokenTemplate.js.map +1 -1
- package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js +41 -30
- package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
- package/dist/cjs/src/overlay-tools/__tests/LookupResolver.test.js +1471 -0
- package/dist/cjs/src/overlay-tools/__tests/LookupResolver.test.js.map +1 -0
- package/dist/cjs/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js +78 -0
- package/dist/cjs/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js.map +1 -0
- package/dist/cjs/src/overlay-tools/__tests/SHIPBroadcaster.test.js +933 -0
- package/dist/cjs/src/overlay-tools/__tests/SHIPBroadcaster.test.js.map +1 -0
- 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/BasePoint.js +2 -2
- package/dist/cjs/src/primitives/BasePoint.js.map +1 -1
- package/dist/cjs/src/primitives/BigNumber.js +46 -59
- package/dist/cjs/src/primitives/BigNumber.js.map +1 -1
- package/dist/cjs/src/primitives/Curve.js +29 -39
- package/dist/cjs/src/primitives/Curve.js.map +1 -1
- package/dist/cjs/src/primitives/DRBG.js +8 -14
- package/dist/cjs/src/primitives/DRBG.js.map +1 -1
- package/dist/cjs/src/primitives/ECDSA.js +24 -24
- package/dist/cjs/src/primitives/ECDSA.js.map +1 -1
- package/dist/cjs/src/primitives/Hash.js +76 -111
- package/dist/cjs/src/primitives/Hash.js.map +1 -1
- package/dist/cjs/src/primitives/JacobianPoint.js +20 -16
- 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 +74 -72
- package/dist/cjs/src/primitives/Point.js.map +1 -1
- package/dist/cjs/src/primitives/Polynomial.js +15 -13
- package/dist/cjs/src/primitives/Polynomial.js.map +1 -1
- package/dist/cjs/src/primitives/PrivateKey.js +48 -39
- 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 +4 -4
- package/dist/cjs/src/primitives/Random.js.map +1 -1
- package/dist/cjs/src/primitives/ReductionContext.js +11 -11
- package/dist/cjs/src/primitives/ReductionContext.js.map +1 -1
- package/dist/cjs/src/primitives/Schnorr.js +29 -23
- package/dist/cjs/src/primitives/Schnorr.js.map +1 -1
- package/dist/cjs/src/primitives/Signature.js +25 -24
- package/dist/cjs/src/primitives/Signature.js.map +1 -1
- package/dist/cjs/src/primitives/SymmetricKey.js +26 -26
- package/dist/cjs/src/primitives/SymmetricKey.js.map +1 -1
- package/dist/cjs/src/primitives/TransactionSignature.js +23 -21
- package/dist/cjs/src/primitives/TransactionSignature.js.map +1 -1
- package/dist/cjs/src/primitives/__tests/AESGCM.test.js +248 -0
- package/dist/cjs/src/primitives/__tests/AESGCM.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/BRC42.private.vectors.js +36 -0
- package/dist/cjs/src/primitives/__tests/BRC42.private.vectors.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/BRC42.public.vectors.js +36 -0
- package/dist/cjs/src/primitives/__tests/BRC42.public.vectors.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.arithmatic.test.js +501 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.arithmatic.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.binary.test.js +185 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.binary.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.constructor.test.js +149 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.constructor.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.dhGroup.test.js +23 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.dhGroup.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.fixtures.js +268 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.fixtures.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.serializers.test.js +147 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.serializers.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.utils.test.js +322 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.utils.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/Curve.unit.test.js +145 -0
- package/dist/cjs/src/primitives/__tests/Curve.unit.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/DRBG.test.js +22 -0
- package/dist/cjs/src/primitives/__tests/DRBG.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/DRBG.vectors.js +170 -0
- package/dist/cjs/src/primitives/__tests/DRBG.vectors.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/ECDH.test.js +34 -0
- package/dist/cjs/src/primitives/__tests/ECDH.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/ECDSA.test.js +89 -0
- package/dist/cjs/src/primitives/__tests/ECDSA.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/HMAC.test.js +60 -0
- package/dist/cjs/src/primitives/__tests/HMAC.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/Hash.test.js +159 -0
- package/dist/cjs/src/primitives/__tests/Hash.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/PBKDF2.vectors.js +122 -0
- package/dist/cjs/src/primitives/__tests/PBKDF2.vectors.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/PrivateKey.split.test.js +105 -0
- package/dist/cjs/src/primitives/__tests/PrivateKey.split.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/PrivateKey.test.js +90 -0
- package/dist/cjs/src/primitives/__tests/PrivateKey.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/PublicKey.test.js +83 -0
- package/dist/cjs/src/primitives/__tests/PublicKey.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/Random.test.js +19 -0
- package/dist/cjs/src/primitives/__tests/Random.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/Reader.test.js +282 -0
- package/dist/cjs/src/primitives/__tests/Reader.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/ReductionContext.test.js +224 -0
- package/dist/cjs/src/primitives/__tests/ReductionContext.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/Schnorr.test.js +213 -0
- package/dist/cjs/src/primitives/__tests/Schnorr.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/SymmetricKey.test.js +51 -0
- package/dist/cjs/src/primitives/__tests/SymmetricKey.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/SymmetricKey.vectors.js +43 -0
- package/dist/cjs/src/primitives/__tests/SymmetricKey.vectors.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/Writer.test.js +176 -0
- package/dist/cjs/src/primitives/__tests/Writer.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/bug-31.test.js +32 -0
- package/dist/cjs/src/primitives/__tests/bug-31.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/sighash.vectors.js +3506 -0
- package/dist/cjs/src/primitives/__tests/sighash.vectors.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/utils.test.js +110 -0
- package/dist/cjs/src/primitives/__tests/utils.test.js.map +1 -0
- package/dist/cjs/src/primitives/index.js +27 -27
- package/dist/cjs/src/primitives/index.js.map +1 -1
- package/dist/cjs/src/primitives/utils.js +70 -60
- 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/Script.js +49 -47
- package/dist/cjs/src/script/Script.js.map +1 -1
- package/dist/cjs/src/script/Spend.js +305 -300
- 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/__tests/Script.test.js +347 -0
- package/dist/cjs/src/script/__tests/Script.test.js.map +1 -0
- package/dist/cjs/src/script/__tests/Spend.test.js +282 -0
- package/dist/cjs/src/script/__tests/Spend.test.js.map +1 -0
- package/dist/cjs/src/script/__tests/SpendComplex.test.js +52 -0
- package/dist/cjs/src/script/__tests/SpendComplex.test.js.map +1 -0
- package/dist/cjs/src/script/__tests/script.invalid.vectors.js +2370 -0
- package/dist/cjs/src/script/__tests/script.invalid.vectors.js.map +1 -0
- package/dist/cjs/src/script/__tests/script.valid.vectors.js +1181 -0
- package/dist/cjs/src/script/__tests/script.valid.vectors.js.map +1 -0
- package/dist/cjs/src/script/__tests/spend.valid.vectors.js +2298 -0
- package/dist/cjs/src/script/__tests/spend.valid.vectors.js.map +1 -0
- 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 +40 -36
- package/dist/cjs/src/script/templates/P2PKH.js.map +1 -1
- package/dist/cjs/src/script/templates/PushDrop.js +42 -43
- package/dist/cjs/src/script/templates/PushDrop.js.map +1 -1
- package/dist/cjs/src/script/templates/RPuzzle.js +48 -45
- package/dist/cjs/src/script/templates/RPuzzle.js.map +1 -1
- package/dist/cjs/src/script/templates/__tests/PushDrop.test.js +161 -0
- package/dist/cjs/src/script/templates/__tests/PushDrop.test.js.map +1 -0
- 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/__tests/totp.test.js +67 -0
- package/dist/cjs/src/totp/__tests/totp.test.js.map +1 -0
- 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 +7 -7
- package/dist/cjs/src/totp/totp.js.map +1 -1
- package/dist/cjs/src/transaction/Beef.js +141 -129
- package/dist/cjs/src/transaction/Beef.js.map +1 -1
- package/dist/cjs/src/transaction/BeefParty.js +25 -25
- package/dist/cjs/src/transaction/BeefParty.js.map +1 -1
- package/dist/cjs/src/transaction/BeefTx.js +25 -23
- package/dist/cjs/src/transaction/BeefTx.js.map +1 -1
- package/dist/cjs/src/transaction/Broadcaster.js.map +1 -1
- package/dist/cjs/src/transaction/MerklePath.js +27 -22
- package/dist/cjs/src/transaction/MerklePath.js.map +1 -1
- package/dist/cjs/src/transaction/Transaction.js +89 -157
- package/dist/cjs/src/transaction/Transaction.js.map +1 -1
- package/dist/cjs/src/transaction/__tests/Beef.test.js +393 -0
- package/dist/cjs/src/transaction/__tests/Beef.test.js.map +1 -0
- package/dist/cjs/src/transaction/__tests/MerklePath.test.js +209 -0
- package/dist/cjs/src/transaction/__tests/MerklePath.test.js.map +1 -0
- package/dist/cjs/src/transaction/__tests/Transaction.benchmarks.test.js +219 -0
- package/dist/cjs/src/transaction/__tests/Transaction.benchmarks.test.js.map +1 -0
- package/dist/cjs/src/transaction/__tests/Transaction.test.js +1073 -0
- package/dist/cjs/src/transaction/__tests/Transaction.test.js.map +1 -0
- package/dist/cjs/src/transaction/__tests/bigtx.vectors.js +7 -0
- package/dist/cjs/src/transaction/__tests/bigtx.vectors.js.map +1 -0
- package/dist/cjs/src/transaction/__tests/bump.invalid.vectors.js +11 -0
- package/dist/cjs/src/transaction/__tests/bump.invalid.vectors.js.map +1 -0
- package/dist/cjs/src/transaction/__tests/bump.valid.vectors.js +7 -0
- package/dist/cjs/src/transaction/__tests/bump.valid.vectors.js.map +1 -0
- package/dist/cjs/src/transaction/__tests/tx.invalid.vectors.js +230 -0
- package/dist/cjs/src/transaction/__tests/tx.invalid.vectors.js.map +1 -0
- package/dist/cjs/src/transaction/__tests/tx.valid.vectors.js +296 -0
- package/dist/cjs/src/transaction/__tests/tx.valid.vectors.js.map +1 -0
- package/dist/cjs/src/transaction/broadcasters/ARC.js +39 -35
- package/dist/cjs/src/transaction/broadcasters/ARC.js.map +1 -1
- package/dist/cjs/src/transaction/broadcasters/DefaultBroadcaster.js +2 -2
- 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/__tests/ARC.test.js +246 -0
- package/dist/cjs/src/transaction/broadcasters/__tests/ARC.test.js.map +1 -0
- package/dist/cjs/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js +148 -0
- package/dist/cjs/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js.map +1 -0
- 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 +2 -2
- package/dist/cjs/src/transaction/chaintrackers/DefaultChainTracker.js.map +1 -1
- package/dist/cjs/src/transaction/chaintrackers/WhatsOnChain.js +8 -8
- package/dist/cjs/src/transaction/chaintrackers/WhatsOnChain.js.map +1 -1
- package/dist/cjs/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js +155 -0
- package/dist/cjs/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js.map +1 -0
- 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 +11 -11
- package/dist/cjs/src/transaction/http/DefaultHttpClient.js.map +1 -1
- package/dist/cjs/src/transaction/http/FetchHttpClient.js +4 -2
- package/dist/cjs/src/transaction/http/FetchHttpClient.js.map +1 -1
- package/dist/cjs/src/transaction/http/NodejsHttpClient.js +10 -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 +65 -63
- package/dist/cjs/src/wallet/CachedKeyDeriver.js.map +1 -1
- package/dist/cjs/src/wallet/KeyDeriver.js +66 -58
- package/dist/cjs/src/wallet/KeyDeriver.js.map +1 -1
- package/dist/cjs/src/wallet/ProtoWallet.js +27 -14
- package/dist/cjs/src/wallet/ProtoWallet.js.map +1 -1
- package/dist/cjs/src/wallet/WalletClient.js +15 -14
- package/dist/cjs/src/wallet/WalletClient.js.map +1 -1
- package/dist/cjs/src/wallet/__tests/CachedKeyDeriver.test.js +269 -0
- package/dist/cjs/src/wallet/__tests/CachedKeyDeriver.test.js.map +1 -0
- package/dist/cjs/src/wallet/__tests/KeyDeriver.test.js +114 -0
- package/dist/cjs/src/wallet/__tests/KeyDeriver.test.js.map +1 -0
- package/dist/cjs/src/wallet/__tests/ProtoWallet.test.js +475 -0
- package/dist/cjs/src/wallet/__tests/ProtoWallet.test.js.map +1 -0
- 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 +3 -3
- package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/HTTPWalletWire.js +10 -10
- 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 +1293 -1316
- package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js +320 -272
- package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/XDM.js +8 -5
- package/dist/cjs/src/wallet/substrates/XDM.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/__tests/WalletWire.integration.test.js +1962 -0
- package/dist/cjs/src/wallet/substrates/__tests/WalletWire.integration.test.js.map +1 -0
- package/dist/cjs/src/wallet/substrates/__tests/XDM.test.js +579 -0
- package/dist/cjs/src/wallet/substrates/__tests/XDM.test.js.map +1 -0
- 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 +4 -4
- 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 +31 -15
- package/dist/esm/mod.js.map +1 -1
- package/dist/esm/src/auth/Peer.js +67 -47
- package/dist/esm/src/auth/Peer.js.map +1 -1
- package/dist/esm/src/auth/SessionManager.js +9 -5
- package/dist/esm/src/auth/SessionManager.js.map +1 -1
- package/dist/esm/src/auth/__tests/Peer.test.js +448 -0
- package/dist/esm/src/auth/__tests/Peer.test.js.map +1 -0
- package/dist/esm/src/auth/__tests/SessionManager.test.js +69 -0
- package/dist/esm/src/auth/__tests/SessionManager.test.js.map +1 -0
- package/dist/esm/src/auth/certificates/Certificate.js +31 -25
- package/dist/esm/src/auth/certificates/Certificate.js.map +1 -1
- package/dist/esm/src/auth/certificates/MasterCertificate.js +25 -16
- package/dist/esm/src/auth/certificates/MasterCertificate.js.map +1 -1
- package/dist/esm/src/auth/certificates/VerifiableCertificate.js +14 -7
- package/dist/esm/src/auth/certificates/VerifiableCertificate.js.map +1 -1
- package/dist/esm/src/auth/certificates/__tests/Certificate.test.js +182 -0
- package/dist/esm/src/auth/certificates/__tests/Certificate.test.js.map +1 -0
- package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js +26 -22
- package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
- package/dist/esm/src/auth/certificates/__tests/MasterCertificate.test.js +184 -0
- package/dist/esm/src/auth/certificates/__tests/MasterCertificate.test.js.map +1 -0
- package/dist/esm/src/auth/certificates/__tests/VerifiableCertificate.test.js +75 -0
- package/dist/esm/src/auth/certificates/__tests/VerifiableCertificate.test.js.map +1 -0
- package/dist/esm/src/auth/certificates/index.js +25 -4
- package/dist/esm/src/auth/certificates/index.js.map +1 -1
- package/dist/esm/src/auth/clients/AuthFetch.js +79 -65
- package/dist/esm/src/auth/clients/AuthFetch.js.map +1 -1
- package/dist/esm/src/auth/clients/index.js +17 -1
- package/dist/esm/src/auth/clients/index.js.map +1 -1
- package/dist/esm/src/auth/index.js +23 -7
- package/dist/esm/src/auth/index.js.map +1 -1
- package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js +67 -55
- package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
- package/dist/esm/src/auth/transports/index.js +17 -1
- package/dist/esm/src/auth/transports/index.js.map +1 -1
- package/dist/esm/src/auth/types.js +2 -1
- package/dist/esm/src/auth/utils/__tests/cryptononce.test.js +101 -0
- package/dist/esm/src/auth/utils/__tests/cryptononce.test.js.map +1 -0
- package/dist/esm/src/auth/utils/__tests/getVerifiableCertificates.test.js +106 -0
- package/dist/esm/src/auth/utils/__tests/getVerifiableCertificates.test.js.map +1 -0
- package/dist/esm/src/auth/utils/__tests/validateCertificates.test.js +111 -0
- package/dist/esm/src/auth/utils/__tests/validateCertificates.test.js.map +1 -0
- package/dist/esm/src/auth/utils/createNonce.js +8 -5
- package/dist/esm/src/auth/utils/createNonce.js.map +1 -1
- package/dist/esm/src/auth/utils/getVerifiableCertificates.js +7 -3
- package/dist/esm/src/auth/utils/getVerifiableCertificates.js.map +1 -1
- package/dist/esm/src/auth/utils/index.js +20 -4
- package/dist/esm/src/auth/utils/index.js.map +1 -1
- package/dist/esm/src/auth/utils/validateCertificates.js +7 -3
- package/dist/esm/src/auth/utils/validateCertificates.js.map +1 -1
- package/dist/esm/src/auth/utils/verifyNonce.js +7 -4
- package/dist/esm/src/auth/utils/verifyNonce.js.map +1 -1
- package/dist/esm/src/compat/BSM.js +56 -14
- package/dist/esm/src/compat/BSM.js.map +1 -1
- package/dist/esm/src/compat/ECIES.js +197 -117
- package/dist/esm/src/compat/ECIES.js.map +1 -1
- package/dist/esm/src/compat/HD.js +115 -76
- package/dist/esm/src/compat/HD.js.map +1 -1
- package/dist/esm/src/compat/Mnemonic.js +138 -94
- package/dist/esm/src/compat/Mnemonic.js.map +1 -1
- package/dist/esm/src/compat/Utxo.js +12 -6
- package/dist/esm/src/compat/Utxo.js.map +1 -1
- package/dist/esm/src/compat/__tests/BSM.test.js +69 -0
- package/dist/esm/src/compat/__tests/BSM.test.js.map +1 -0
- package/dist/esm/src/compat/__tests/ECIES.test.js +115 -0
- package/dist/esm/src/compat/__tests/ECIES.test.js.map +1 -0
- package/dist/esm/src/compat/__tests/HD.test.js +336 -0
- package/dist/esm/src/compat/__tests/HD.test.js.map +1 -0
- package/dist/esm/src/compat/__tests/Mnemonic.test.js +150 -0
- package/dist/esm/src/compat/__tests/Mnemonic.test.js.map +1 -0
- package/dist/esm/src/compat/__tests/Mnemonic.vectors.js +175 -0
- package/dist/esm/src/compat/__tests/Mnemonic.vectors.js.map +1 -0
- package/dist/esm/src/compat/bip-39-wordlist-en.js +4 -1
- package/dist/esm/src/compat/bip-39-wordlist-en.js.map +1 -1
- package/dist/esm/src/compat/index.js +48 -5
- package/dist/esm/src/compat/index.js.map +1 -1
- package/dist/esm/src/messages/EncryptedMessage.js +27 -17
- package/dist/esm/src/messages/EncryptedMessage.js.map +1 -1
- package/dist/esm/src/messages/SignedMessage.js +30 -22
- package/dist/esm/src/messages/SignedMessage.js.map +1 -1
- package/dist/esm/src/messages/__tests/EncryptedMessage.test.js +57 -0
- package/dist/esm/src/messages/__tests/EncryptedMessage.test.js.map +1 -0
- package/dist/esm/src/messages/__tests/SignedMessage.test.js +52 -0
- package/dist/esm/src/messages/__tests/SignedMessage.test.js.map +1 -0
- package/dist/esm/src/messages/index.js +38 -2
- package/dist/esm/src/messages/index.js.map +1 -1
- package/dist/esm/src/overlay-tools/LookupResolver.js +32 -17
- package/dist/esm/src/overlay-tools/LookupResolver.js.map +1 -1
- package/dist/esm/src/overlay-tools/OverlayAdminTokenTemplate.js +51 -33
- package/dist/esm/src/overlay-tools/OverlayAdminTokenTemplate.js.map +1 -1
- package/dist/esm/src/overlay-tools/SHIPBroadcaster.js +51 -32
- package/dist/esm/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
- package/dist/esm/src/overlay-tools/__tests/LookupResolver.test.js +1471 -0
- package/dist/esm/src/overlay-tools/__tests/LookupResolver.test.js.map +1 -0
- package/dist/esm/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js +78 -0
- package/dist/esm/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js.map +1 -0
- package/dist/esm/src/overlay-tools/__tests/SHIPBroadcaster.test.js +933 -0
- package/dist/esm/src/overlay-tools/__tests/SHIPBroadcaster.test.js.map +1 -0
- package/dist/esm/src/overlay-tools/index.js +28 -5
- package/dist/esm/src/overlay-tools/index.js.map +1 -1
- package/dist/esm/src/primitives/AESGCM.js +39 -26
- package/dist/esm/src/primitives/AESGCM.js.map +1 -1
- package/dist/esm/src/primitives/BasePoint.js +9 -3
- package/dist/esm/src/primitives/BasePoint.js.map +1 -1
- package/dist/esm/src/primitives/BigNumber.js +50 -60
- package/dist/esm/src/primitives/BigNumber.js.map +1 -1
- package/dist/esm/src/primitives/Curve.js +36 -40
- package/dist/esm/src/primitives/Curve.js.map +1 -1
- package/dist/esm/src/primitives/DRBG.js +12 -15
- package/dist/esm/src/primitives/DRBG.js.map +1 -1
- package/dist/esm/src/primitives/ECDSA.js +34 -26
- package/dist/esm/src/primitives/ECDSA.js.map +1 -1
- package/dist/esm/src/primitives/Hash.js +115 -130
- package/dist/esm/src/primitives/Hash.js.map +1 -1
- package/dist/esm/src/primitives/JacobianPoint.js +26 -16
- package/dist/esm/src/primitives/JacobianPoint.js.map +1 -1
- package/dist/esm/src/primitives/K256.js +8 -2
- package/dist/esm/src/primitives/K256.js.map +1 -1
- package/dist/esm/src/primitives/Mersenne.js +11 -5
- package/dist/esm/src/primitives/Mersenne.js.map +1 -1
- package/dist/esm/src/primitives/MontgomoryMethod.js +11 -5
- package/dist/esm/src/primitives/MontgomoryMethod.js.map +1 -1
- package/dist/esm/src/primitives/Point.js +80 -72
- package/dist/esm/src/primitives/Point.js.map +1 -1
- package/dist/esm/src/primitives/Polynomial.js +25 -15
- package/dist/esm/src/primitives/Polynomial.js.map +1 -1
- package/dist/esm/src/primitives/PrivateKey.js +90 -40
- package/dist/esm/src/primitives/PrivateKey.js.map +1 -1
- package/dist/esm/src/primitives/PublicKey.js +29 -23
- package/dist/esm/src/primitives/PublicKey.js.map +1 -1
- package/dist/esm/src/primitives/Random.js +7 -5
- package/dist/esm/src/primitives/Random.js.map +1 -1
- package/dist/esm/src/primitives/ReductionContext.js +18 -12
- package/dist/esm/src/primitives/ReductionContext.js.map +1 -1
- package/dist/esm/src/primitives/Schnorr.js +36 -24
- package/dist/esm/src/primitives/Schnorr.js.map +1 -1
- package/dist/esm/src/primitives/Signature.js +32 -25
- package/dist/esm/src/primitives/Signature.js.map +1 -1
- package/dist/esm/src/primitives/SymmetricKey.js +32 -26
- package/dist/esm/src/primitives/SymmetricKey.js.map +1 -1
- package/dist/esm/src/primitives/TransactionSignature.js +62 -21
- package/dist/esm/src/primitives/TransactionSignature.js.map +1 -1
- package/dist/esm/src/primitives/__tests/AESGCM.test.js +248 -0
- package/dist/esm/src/primitives/__tests/AESGCM.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/BRC42.private.vectors.js +36 -0
- package/dist/esm/src/primitives/__tests/BRC42.private.vectors.js.map +1 -0
- package/dist/esm/src/primitives/__tests/BRC42.public.vectors.js +36 -0
- package/dist/esm/src/primitives/__tests/BRC42.public.vectors.js.map +1 -0
- package/dist/esm/src/primitives/__tests/BigNumber.arithmatic.test.js +501 -0
- package/dist/esm/src/primitives/__tests/BigNumber.arithmatic.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/BigNumber.binary.test.js +185 -0
- package/dist/esm/src/primitives/__tests/BigNumber.binary.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/BigNumber.constructor.test.js +149 -0
- package/dist/esm/src/primitives/__tests/BigNumber.constructor.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/BigNumber.dhGroup.test.js +23 -0
- package/dist/esm/src/primitives/__tests/BigNumber.dhGroup.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/BigNumber.fixtures.js +268 -0
- package/dist/esm/src/primitives/__tests/BigNumber.fixtures.js.map +1 -0
- package/dist/esm/src/primitives/__tests/BigNumber.serializers.test.js +147 -0
- package/dist/esm/src/primitives/__tests/BigNumber.serializers.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/BigNumber.utils.test.js +322 -0
- package/dist/esm/src/primitives/__tests/BigNumber.utils.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/Curve.unit.test.js +145 -0
- package/dist/esm/src/primitives/__tests/Curve.unit.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/DRBG.test.js +22 -0
- package/dist/esm/src/primitives/__tests/DRBG.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/DRBG.vectors.js +170 -0
- package/dist/esm/src/primitives/__tests/DRBG.vectors.js.map +1 -0
- package/dist/esm/src/primitives/__tests/ECDH.test.js +34 -0
- package/dist/esm/src/primitives/__tests/ECDH.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/ECDSA.test.js +89 -0
- package/dist/esm/src/primitives/__tests/ECDSA.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/HMAC.test.js +60 -0
- package/dist/esm/src/primitives/__tests/HMAC.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/Hash.test.js +159 -0
- package/dist/esm/src/primitives/__tests/Hash.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/PBKDF2.vectors.js +122 -0
- package/dist/esm/src/primitives/__tests/PBKDF2.vectors.js.map +1 -0
- package/dist/esm/src/primitives/__tests/PrivateKey.split.test.js +105 -0
- package/dist/esm/src/primitives/__tests/PrivateKey.split.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/PrivateKey.test.js +90 -0
- package/dist/esm/src/primitives/__tests/PrivateKey.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/PublicKey.test.js +83 -0
- package/dist/esm/src/primitives/__tests/PublicKey.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/Random.test.js +19 -0
- package/dist/esm/src/primitives/__tests/Random.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/Reader.test.js +282 -0
- package/dist/esm/src/primitives/__tests/Reader.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/ReductionContext.test.js +223 -0
- package/dist/esm/src/primitives/__tests/ReductionContext.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/Schnorr.test.js +213 -0
- package/dist/esm/src/primitives/__tests/Schnorr.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/SymmetricKey.test.js +51 -0
- package/dist/esm/src/primitives/__tests/SymmetricKey.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/SymmetricKey.vectors.js +43 -0
- package/dist/esm/src/primitives/__tests/SymmetricKey.vectors.js.map +1 -0
- package/dist/esm/src/primitives/__tests/Writer.test.js +176 -0
- package/dist/esm/src/primitives/__tests/Writer.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/bug-31.test.js +32 -0
- package/dist/esm/src/primitives/__tests/bug-31.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/sighash.vectors.js +3506 -0
- package/dist/esm/src/primitives/__tests/sighash.vectors.js.map +1 -0
- package/dist/esm/src/primitives/__tests/utils.test.js +110 -0
- package/dist/esm/src/primitives/__tests/utils.test.js.map +1 -0
- package/dist/esm/src/primitives/index.js +66 -14
- package/dist/esm/src/primitives/index.js.map +1 -1
- package/dist/esm/src/primitives/utils.js +109 -80
- package/dist/esm/src/primitives/utils.js.map +1 -1
- package/dist/esm/src/script/LockingScript.js +8 -2
- package/dist/esm/src/script/LockingScript.js.map +1 -1
- package/dist/esm/src/script/OP.js +3 -1
- package/dist/esm/src/script/OP.js.map +1 -1
- package/dist/esm/src/script/Script.js +56 -48
- package/dist/esm/src/script/Script.js.map +1 -1
- package/dist/esm/src/script/ScriptChunk.js +2 -1
- package/dist/esm/src/script/ScriptTemplate.js +2 -1
- package/dist/esm/src/script/Spend.js +345 -301
- package/dist/esm/src/script/Spend.js.map +1 -1
- package/dist/esm/src/script/UnlockingScript.js +8 -2
- package/dist/esm/src/script/UnlockingScript.js.map +1 -1
- package/dist/esm/src/script/__tests/Script.test.js +347 -0
- package/dist/esm/src/script/__tests/Script.test.js.map +1 -0
- package/dist/esm/src/script/__tests/Spend.test.js +282 -0
- package/dist/esm/src/script/__tests/Spend.test.js.map +1 -0
- package/dist/esm/src/script/__tests/SpendComplex.test.js +51 -0
- package/dist/esm/src/script/__tests/SpendComplex.test.js.map +1 -0
- package/dist/esm/src/script/__tests/script.invalid.vectors.js +2370 -0
- package/dist/esm/src/script/__tests/script.invalid.vectors.js.map +1 -0
- package/dist/esm/src/script/__tests/script.valid.vectors.js +1181 -0
- package/dist/esm/src/script/__tests/script.valid.vectors.js.map +1 -0
- package/dist/esm/src/script/__tests/spend.valid.vectors.js +2298 -0
- package/dist/esm/src/script/__tests/spend.valid.vectors.js.map +1 -0
- package/dist/esm/src/script/index.js +31 -6
- package/dist/esm/src/script/index.js.map +1 -1
- package/dist/esm/src/script/templates/P2PKH.js +52 -39
- package/dist/esm/src/script/templates/P2PKH.js.map +1 -1
- package/dist/esm/src/script/templates/PushDrop.js +51 -46
- package/dist/esm/src/script/templates/PushDrop.js.map +1 -1
- package/dist/esm/src/script/templates/RPuzzle.js +55 -46
- package/dist/esm/src/script/templates/RPuzzle.js.map +1 -1
- package/dist/esm/src/script/templates/__tests/PushDrop.test.js +161 -0
- package/dist/esm/src/script/templates/__tests/PushDrop.test.js.map +1 -0
- package/dist/esm/src/script/templates/index.js +12 -3
- package/dist/esm/src/script/templates/index.js.map +1 -1
- package/dist/esm/src/totp/__tests/totp.test.js +67 -0
- package/dist/esm/src/totp/__tests/totp.test.js.map +1 -0
- package/dist/esm/src/totp/index.js +17 -1
- package/dist/esm/src/totp/index.js.map +1 -1
- package/dist/esm/src/totp/totp.js +15 -8
- package/dist/esm/src/totp/totp.js.map +1 -1
- package/dist/esm/src/transaction/Beef.js +160 -141
- package/dist/esm/src/transaction/Beef.js.map +1 -1
- package/dist/esm/src/transaction/BeefParty.js +30 -26
- package/dist/esm/src/transaction/BeefParty.js.map +1 -1
- package/dist/esm/src/transaction/BeefTx.js +32 -24
- package/dist/esm/src/transaction/BeefTx.js.map +1 -1
- package/dist/esm/src/transaction/Broadcaster.js +6 -2
- package/dist/esm/src/transaction/Broadcaster.js.map +1 -1
- package/dist/esm/src/transaction/ChainTracker.js +2 -1
- package/dist/esm/src/transaction/FeeModel.js +2 -1
- package/dist/esm/src/transaction/MerklePath.js +31 -23
- package/dist/esm/src/transaction/MerklePath.js.map +1 -1
- package/dist/esm/src/transaction/Transaction.js +96 -158
- package/dist/esm/src/transaction/Transaction.js.map +1 -1
- package/dist/esm/src/transaction/TransactionInput.js +2 -1
- package/dist/esm/src/transaction/TransactionOutput.js +2 -1
- package/dist/esm/src/transaction/__tests/Beef.test.js +393 -0
- package/dist/esm/src/transaction/__tests/Beef.test.js.map +1 -0
- package/dist/esm/src/transaction/__tests/MerklePath.test.js +209 -0
- package/dist/esm/src/transaction/__tests/MerklePath.test.js.map +1 -0
- package/dist/esm/src/transaction/__tests/Transaction.benchmarks.test.js +219 -0
- package/dist/esm/src/transaction/__tests/Transaction.benchmarks.test.js.map +1 -0
- package/dist/esm/src/transaction/__tests/Transaction.test.js +1072 -0
- package/dist/esm/src/transaction/__tests/Transaction.test.js.map +1 -0
- package/dist/esm/src/transaction/__tests/bigtx.vectors.js +7 -0
- package/dist/esm/src/transaction/__tests/bigtx.vectors.js.map +1 -0
- package/dist/esm/src/transaction/__tests/bump.invalid.vectors.js +11 -0
- package/dist/esm/src/transaction/__tests/bump.invalid.vectors.js.map +1 -0
- package/dist/esm/src/transaction/__tests/bump.valid.vectors.js +7 -0
- package/dist/esm/src/transaction/__tests/bump.valid.vectors.js.map +1 -0
- package/dist/esm/src/transaction/__tests/tx.invalid.vectors.js +230 -0
- package/dist/esm/src/transaction/__tests/tx.invalid.vectors.js.map +1 -0
- package/dist/esm/src/transaction/__tests/tx.valid.vectors.js +296 -0
- package/dist/esm/src/transaction/__tests/tx.valid.vectors.js.map +1 -0
- package/dist/esm/src/transaction/broadcasters/ARC.js +46 -36
- package/dist/esm/src/transaction/broadcasters/ARC.js.map +1 -1
- package/dist/esm/src/transaction/broadcasters/DefaultBroadcaster.js +9 -3
- package/dist/esm/src/transaction/broadcasters/DefaultBroadcaster.js.map +1 -1
- package/dist/esm/src/transaction/broadcasters/WhatsOnChainBroadcaster.js +19 -16
- package/dist/esm/src/transaction/broadcasters/WhatsOnChainBroadcaster.js.map +1 -1
- package/dist/esm/src/transaction/broadcasters/__tests/ARC.test.js +246 -0
- package/dist/esm/src/transaction/broadcasters/__tests/ARC.test.js.map +1 -0
- package/dist/esm/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js +148 -0
- package/dist/esm/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js.map +1 -0
- package/dist/esm/src/transaction/broadcasters/index.js +12 -3
- package/dist/esm/src/transaction/broadcasters/index.js.map +1 -1
- package/dist/esm/src/transaction/chaintrackers/DefaultChainTracker.js +9 -3
- package/dist/esm/src/transaction/chaintrackers/DefaultChainTracker.js.map +1 -1
- package/dist/esm/src/transaction/chaintrackers/WhatsOnChain.js +12 -9
- package/dist/esm/src/transaction/chaintrackers/WhatsOnChain.js.map +1 -1
- package/dist/esm/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js +155 -0
- package/dist/esm/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js.map +1 -0
- package/dist/esm/src/transaction/chaintrackers/index.js +10 -2
- package/dist/esm/src/transaction/chaintrackers/index.js.map +1 -1
- package/dist/esm/src/transaction/fee-models/SatoshisPerKilobyte.js +7 -4
- package/dist/esm/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
- package/dist/esm/src/transaction/fee-models/index.js +8 -1
- package/dist/esm/src/transaction/fee-models/index.js.map +1 -1
- package/dist/esm/src/transaction/http/DefaultHttpClient.js +15 -12
- package/dist/esm/src/transaction/http/DefaultHttpClient.js.map +1 -1
- package/dist/esm/src/transaction/http/FetchHttpClient.js +9 -3
- package/dist/esm/src/transaction/http/FetchHttpClient.js.map +1 -1
- package/dist/esm/src/transaction/http/HttpClient.js +2 -1
- package/dist/esm/src/transaction/http/NodejsHttpClient.js +15 -9
- package/dist/esm/src/transaction/http/NodejsHttpClient.js.map +1 -1
- package/dist/esm/src/transaction/http/index.js +9 -3
- package/dist/esm/src/transaction/http/index.js.map +1 -1
- package/dist/esm/src/transaction/index.js +32 -6
- package/dist/esm/src/transaction/index.js.map +1 -1
- package/dist/esm/src/wallet/CachedKeyDeriver.js +69 -64
- package/dist/esm/src/wallet/CachedKeyDeriver.js.map +1 -1
- package/dist/esm/src/wallet/KeyDeriver.js +72 -60
- package/dist/esm/src/wallet/KeyDeriver.js.map +1 -1
- package/dist/esm/src/wallet/ProtoWallet.js +33 -16
- package/dist/esm/src/wallet/ProtoWallet.js.map +1 -1
- package/dist/esm/src/wallet/Wallet.interfaces.js +5 -2
- package/dist/esm/src/wallet/Wallet.interfaces.js.map +1 -1
- package/dist/esm/src/wallet/WalletClient.js +22 -15
- package/dist/esm/src/wallet/WalletClient.js.map +1 -1
- package/dist/esm/src/wallet/WalletError.js +6 -2
- package/dist/esm/src/wallet/WalletError.js.map +1 -1
- package/dist/esm/src/wallet/__tests/CachedKeyDeriver.test.js +269 -0
- package/dist/esm/src/wallet/__tests/CachedKeyDeriver.test.js.map +1 -0
- package/dist/esm/src/wallet/__tests/KeyDeriver.test.js +113 -0
- package/dist/esm/src/wallet/__tests/KeyDeriver.test.js.map +1 -0
- package/dist/esm/src/wallet/__tests/ProtoWallet.test.js +475 -0
- package/dist/esm/src/wallet/__tests/ProtoWallet.test.js.map +1 -0
- package/dist/esm/src/wallet/index.js +32 -8
- package/dist/esm/src/wallet/index.js.map +1 -1
- package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js +7 -4
- package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
- package/dist/esm/src/wallet/substrates/HTTPWalletWire.js +17 -11
- package/dist/esm/src/wallet/substrates/HTTPWalletWire.js.map +1 -1
- package/dist/esm/src/wallet/substrates/WalletWire.js +2 -1
- package/dist/esm/src/wallet/substrates/WalletWireCalls.js +3 -1
- package/dist/esm/src/wallet/substrates/WalletWireCalls.js.map +1 -1
- package/dist/esm/src/wallet/substrates/WalletWireProcessor.js +1300 -1317
- package/dist/esm/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
- package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js +327 -273
- package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
- package/dist/esm/src/wallet/substrates/XDM.js +12 -6
- package/dist/esm/src/wallet/substrates/XDM.js.map +1 -1
- package/dist/esm/src/wallet/substrates/__tests/WalletWire.integration.test.js +1962 -0
- package/dist/esm/src/wallet/substrates/__tests/WalletWire.integration.test.js.map +1 -0
- package/dist/esm/src/wallet/substrates/__tests/XDM.test.js +579 -0
- package/dist/esm/src/wallet/substrates/__tests/XDM.test.js.map +1 -0
- package/dist/esm/src/wallet/substrates/index.js +32 -7
- package/dist/esm/src/wallet/substrates/index.js.map +1 -1
- package/dist/esm/src/wallet/substrates/window.CWI.js +8 -5
- 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 +14 -14
- package/dist/types/src/auth/Peer.d.ts.map +1 -1
- package/dist/types/src/auth/SessionManager.d.ts +5 -5
- package/dist/types/src/auth/SessionManager.d.ts.map +1 -1
- package/dist/types/src/auth/__tests/Peer.test.d.ts +2 -0
- package/dist/types/src/auth/__tests/Peer.test.d.ts.map +1 -0
- package/dist/types/src/auth/__tests/SessionManager.test.d.ts +2 -0
- package/dist/types/src/auth/__tests/SessionManager.test.d.ts.map +1 -0
- package/dist/types/src/auth/certificates/Certificate.d.ts +2 -2
- package/dist/types/src/auth/certificates/Certificate.d.ts.map +1 -1
- package/dist/types/src/auth/certificates/MasterCertificate.d.ts +2 -2
- 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/Certificate.test.d.ts +2 -0
- package/dist/types/src/auth/certificates/__tests/Certificate.test.d.ts.map +1 -0
- package/dist/types/src/auth/certificates/__tests/CompletedProtoWallet.d.ts +2 -2
- package/dist/types/src/auth/certificates/__tests/CompletedProtoWallet.d.ts.map +1 -1
- package/dist/types/src/auth/certificates/__tests/MasterCertificate.test.d.ts +2 -0
- package/dist/types/src/auth/certificates/__tests/MasterCertificate.test.d.ts.map +1 -0
- package/dist/types/src/auth/certificates/__tests/VerifiableCertificate.test.d.ts +2 -0
- package/dist/types/src/auth/certificates/__tests/VerifiableCertificate.test.d.ts.map +1 -0
- 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/__tests/cryptononce.test.d.ts +2 -0
- package/dist/types/src/auth/utils/__tests/cryptononce.test.d.ts.map +1 -0
- package/dist/types/src/auth/utils/__tests/getVerifiableCertificates.test.d.ts +2 -0
- package/dist/types/src/auth/utils/__tests/getVerifiableCertificates.test.d.ts.map +1 -0
- package/dist/types/src/auth/utils/__tests/validateCertificates.test.d.ts +2 -0
- package/dist/types/src/auth/utils/__tests/validateCertificates.test.d.ts.map +1 -0
- 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 +3 -3
- package/dist/types/src/compat/BSM.d.ts.map +1 -1
- package/dist/types/src/compat/ECIES.d.ts +38 -38
- package/dist/types/src/compat/ECIES.d.ts.map +1 -1
- package/dist/types/src/compat/HD.d.ts +53 -53
- package/dist/types/src/compat/HD.d.ts.map +1 -1
- package/dist/types/src/compat/Mnemonic.d.ts +79 -79
- 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/__tests/BSM.test.d.ts +2 -0
- package/dist/types/src/compat/__tests/BSM.test.d.ts.map +1 -0
- package/dist/types/src/compat/__tests/ECIES.test.d.ts +2 -0
- package/dist/types/src/compat/__tests/ECIES.test.d.ts.map +1 -0
- package/dist/types/src/compat/__tests/HD.test.d.ts +2 -0
- package/dist/types/src/compat/__tests/HD.test.d.ts.map +1 -0
- package/dist/types/src/compat/__tests/Mnemonic.test.d.ts +2 -0
- package/dist/types/src/compat/__tests/Mnemonic.test.d.ts.map +1 -0
- package/dist/types/src/compat/__tests/Mnemonic.vectors.d.ts +11 -0
- package/dist/types/src/compat/__tests/Mnemonic.vectors.d.ts.map +1 -0
- 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/__tests/EncryptedMessage.test.d.ts +2 -0
- package/dist/types/src/messages/__tests/EncryptedMessage.test.d.ts.map +1 -0
- package/dist/types/src/messages/__tests/SignedMessage.test.d.ts +2 -0
- package/dist/types/src/messages/__tests/SignedMessage.test.d.ts.map +1 -0
- 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 +9 -9
- package/dist/types/src/overlay-tools/LookupResolver.d.ts.map +1 -1
- package/dist/types/src/overlay-tools/OverlayAdminTokenTemplate.d.ts +21 -21
- package/dist/types/src/overlay-tools/OverlayAdminTokenTemplate.d.ts.map +1 -1
- package/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts +16 -16
- package/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts.map +1 -1
- package/dist/types/src/overlay-tools/__tests/LookupResolver.test.d.ts +2 -0
- package/dist/types/src/overlay-tools/__tests/LookupResolver.test.d.ts.map +1 -0
- package/dist/types/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.d.ts +2 -0
- package/dist/types/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.d.ts.map +1 -0
- package/dist/types/src/overlay-tools/__tests/SHIPBroadcaster.test.d.ts +2 -0
- package/dist/types/src/overlay-tools/__tests/SHIPBroadcaster.test.d.ts.map +1 -0
- 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/BasePoint.d.ts +1 -1
- 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 +3 -3
- 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 +3 -3
- package/dist/types/src/primitives/ECDSA.d.ts.map +1 -1
- 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 +17 -13
- 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 +5 -5
- 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 +17 -17
- package/dist/types/src/primitives/Schnorr.d.ts.map +1 -1
- package/dist/types/src/primitives/Signature.d.ts +2 -2
- package/dist/types/src/primitives/Signature.d.ts.map +1 -1
- package/dist/types/src/primitives/SymmetricKey.d.ts +14 -14
- package/dist/types/src/primitives/SymmetricKey.d.ts.map +1 -1
- package/dist/types/src/primitives/TransactionSignature.d.ts +9 -9
- package/dist/types/src/primitives/TransactionSignature.d.ts.map +1 -1
- package/dist/types/src/primitives/__tests/AESGCM.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/AESGCM.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/BRC42.private.vectors.d.ts +8 -0
- package/dist/types/src/primitives/__tests/BRC42.private.vectors.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/BRC42.public.vectors.d.ts +8 -0
- package/dist/types/src/primitives/__tests/BRC42.public.vectors.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/BigNumber.arithmatic.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/BigNumber.arithmatic.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/BigNumber.binary.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/BigNumber.binary.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/BigNumber.constructor.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/BigNumber.constructor.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/BigNumber.dhGroup.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/BigNumber.dhGroup.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/BigNumber.fixtures.d.ts +15 -0
- package/dist/types/src/primitives/__tests/BigNumber.fixtures.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/BigNumber.serializers.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/BigNumber.serializers.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/BigNumber.utils.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/BigNumber.utils.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/Curve.unit.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/Curve.unit.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/DRBG.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/DRBG.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/DRBG.vectors.d.ts +10 -0
- package/dist/types/src/primitives/__tests/DRBG.vectors.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/ECDH.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/ECDH.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/ECDSA.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/ECDSA.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/HMAC.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/HMAC.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/Hash.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/Hash.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/PBKDF2.vectors.d.ts +68 -0
- package/dist/types/src/primitives/__tests/PBKDF2.vectors.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/PrivateKey.split.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/PrivateKey.split.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/PrivateKey.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/PrivateKey.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/PublicKey.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/PublicKey.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/Random.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/Random.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/Reader.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/Reader.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/ReductionContext.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/ReductionContext.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/Schnorr.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/Schnorr.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/SymmetricKey.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/SymmetricKey.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/SymmetricKey.vectors.d.ts +20 -0
- package/dist/types/src/primitives/__tests/SymmetricKey.vectors.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/Writer.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/Writer.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/bug-31.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/bug-31.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/sighash.vectors.d.ts +3 -0
- package/dist/types/src/primitives/__tests/sighash.vectors.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/utils.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/utils.test.d.ts.map +1 -0
- 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 +1 -1
- 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 +5 -5
- package/dist/types/src/script/Script.d.ts.map +1 -1
- package/dist/types/src/script/ScriptTemplate.d.ts +3 -3
- 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/__tests/Script.test.d.ts +2 -0
- package/dist/types/src/script/__tests/Script.test.d.ts.map +1 -0
- package/dist/types/src/script/__tests/Spend.test.d.ts +2 -0
- package/dist/types/src/script/__tests/Spend.test.d.ts.map +1 -0
- package/dist/types/src/script/__tests/SpendComplex.test.d.ts +2 -0
- package/dist/types/src/script/__tests/SpendComplex.test.d.ts.map +1 -0
- package/dist/types/src/script/__tests/script.invalid.vectors.d.ts +3 -0
- package/dist/types/src/script/__tests/script.invalid.vectors.d.ts.map +1 -0
- package/dist/types/src/script/__tests/script.valid.vectors.d.ts +3 -0
- package/dist/types/src/script/__tests/script.valid.vectors.d.ts.map +1 -0
- package/dist/types/src/script/__tests/spend.valid.vectors.d.ts +3 -0
- package/dist/types/src/script/__tests/spend.valid.vectors.d.ts.map +1 -0
- 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 +7 -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/__tests/PushDrop.test.d.ts +2 -0
- package/dist/types/src/script/templates/__tests/PushDrop.test.d.ts.map +1 -0
- 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/__tests/totp.test.d.ts +2 -0
- package/dist/types/src/totp/__tests/totp.test.d.ts.map +1 -0
- 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/transaction/Beef.d.ts +96 -96
- package/dist/types/src/transaction/Beef.d.ts.map +1 -1
- package/dist/types/src/transaction/BeefParty.d.ts +23 -23
- package/dist/types/src/transaction/BeefParty.d.ts.map +1 -1
- package/dist/types/src/transaction/BeefTx.d.ts +5 -5
- 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/ChainTracker.d.ts +2 -2
- 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 +11 -19
- 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/__tests/Beef.test.d.ts +2 -0
- package/dist/types/src/transaction/__tests/Beef.test.d.ts.map +1 -0
- package/dist/types/src/transaction/__tests/MerklePath.test.d.ts +2 -0
- package/dist/types/src/transaction/__tests/MerklePath.test.d.ts.map +1 -0
- package/dist/types/src/transaction/__tests/Transaction.benchmarks.test.d.ts +2 -0
- package/dist/types/src/transaction/__tests/Transaction.benchmarks.test.d.ts.map +1 -0
- package/dist/types/src/transaction/__tests/Transaction.test.d.ts +2 -0
- package/dist/types/src/transaction/__tests/Transaction.test.d.ts.map +1 -0
- package/dist/types/src/transaction/__tests/bigtx.vectors.d.ts +6 -0
- package/dist/types/src/transaction/__tests/bigtx.vectors.d.ts.map +1 -0
- package/dist/types/src/transaction/__tests/bump.invalid.vectors.d.ts +6 -0
- package/dist/types/src/transaction/__tests/bump.invalid.vectors.d.ts.map +1 -0
- package/dist/types/src/transaction/__tests/bump.valid.vectors.d.ts +5 -0
- package/dist/types/src/transaction/__tests/bump.valid.vectors.d.ts.map +1 -0
- package/dist/types/src/transaction/__tests/tx.invalid.vectors.d.ts +3 -0
- package/dist/types/src/transaction/__tests/tx.invalid.vectors.d.ts.map +1 -0
- package/dist/types/src/transaction/__tests/tx.valid.vectors.d.ts +3 -0
- package/dist/types/src/transaction/__tests/tx.valid.vectors.d.ts.map +1 -0
- package/dist/types/src/transaction/broadcasters/ARC.d.ts +3 -3
- 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/__tests/ARC.test.d.ts +2 -0
- package/dist/types/src/transaction/broadcasters/__tests/ARC.test.d.ts.map +1 -0
- package/dist/types/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.d.ts +2 -0
- package/dist/types/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.d.ts.map +1 -0
- 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/__tests/WhatsOnChainChainTracker.test.d.ts +2 -0
- package/dist/types/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.d.ts.map +1 -0
- 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 +2 -2
- package/dist/types/src/transaction/http/DefaultHttpClient.d.ts.map +1 -1
- package/dist/types/src/transaction/http/FetchHttpClient.d.ts +6 -6
- package/dist/types/src/transaction/http/FetchHttpClient.d.ts.map +1 -1
- package/dist/types/src/transaction/http/HttpClient.d.ts +4 -4
- package/dist/types/src/transaction/http/HttpClient.d.ts.map +1 -1
- package/dist/types/src/transaction/http/NodejsHttpClient.d.ts +4 -4
- 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 +61 -61
- package/dist/types/src/wallet/CachedKeyDeriver.d.ts.map +1 -1
- package/dist/types/src/wallet/KeyDeriver.d.ts +80 -80
- package/dist/types/src/wallet/KeyDeriver.d.ts.map +1 -1
- package/dist/types/src/wallet/ProtoWallet.d.ts +3 -3
- package/dist/types/src/wallet/ProtoWallet.d.ts.map +1 -1
- package/dist/types/src/wallet/Wallet.interfaces.d.ts +144 -144
- package/dist/types/src/wallet/Wallet.interfaces.d.ts.map +1 -1
- package/dist/types/src/wallet/WalletClient.d.ts +1 -1
- package/dist/types/src/wallet/WalletClient.d.ts.map +1 -1
- package/dist/types/src/wallet/__tests/CachedKeyDeriver.test.d.ts +2 -0
- package/dist/types/src/wallet/__tests/CachedKeyDeriver.test.d.ts.map +1 -0
- package/dist/types/src/wallet/__tests/KeyDeriver.test.d.ts +2 -0
- package/dist/types/src/wallet/__tests/KeyDeriver.test.d.ts.map +1 -0
- package/dist/types/src/wallet/__tests/ProtoWallet.test.d.ts +2 -0
- package/dist/types/src/wallet/__tests/ProtoWallet.test.d.ts.map +1 -0
- 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 +1 -1
- 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/__tests/WalletWire.integration.test.d.ts +2 -0
- package/dist/types/src/wallet/substrates/__tests/WalletWire.integration.test.d.ts.map +1 -0
- package/dist/types/src/wallet/substrates/__tests/XDM.test.d.ts +5 -0
- package/dist/types/src/wallet/substrates/__tests/XDM.test.d.ts.map +1 -0
- 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 +19 -19
- 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 +55 -51
- package/docs/compat.md +24 -24
- package/docs/messages.md +7 -5
- package/docs/overlay-tools.md +21 -21
- package/docs/primitives.md +239 -242
- package/docs/script.md +31 -31
- package/docs/totp.md +5 -5
- package/docs/transaction.md +76 -78
- package/docs/wallet-substrates.md +6 -6
- package/docs/wallet.md +129 -129
- package/mod.ts +15 -15
- package/package.json +10 -2
- package/src/auth/Peer.ts +217 -72
- package/src/auth/SessionManager.ts +8 -6
- package/src/auth/__tests/Peer.test.ts +314 -159
- package/src/auth/certificates/Certificate.ts +16 -6
- package/src/auth/certificates/MasterCertificate.ts +96 -43
- package/src/auth/certificates/VerifiableCertificate.ts +29 -9
- package/src/auth/certificates/__tests/Certificate.test.ts +160 -146
- package/src/auth/certificates/__tests/CompletedProtoWallet.ts +148 -59
- package/src/auth/certificates/__tests/MasterCertificate.test.ts +65 -41
- package/src/auth/certificates/__tests/VerifiableCertificate.test.ts +47 -31
- package/src/auth/certificates/index.ts +4 -4
- package/src/auth/clients/AuthFetch.ts +316 -231
- package/src/auth/clients/index.ts +1 -1
- package/src/auth/index.ts +7 -7
- package/src/auth/transports/SimplifiedFetchTransport.ts +166 -124
- package/src/auth/transports/index.ts +1 -1
- package/src/auth/types.ts +1 -1
- package/src/auth/utils/__tests/cryptononce.test.ts +52 -25
- package/src/auth/utils/__tests/getVerifiableCertificates.test.ts +64 -38
- package/src/auth/utils/__tests/validateCertificates.test.ts +101 -89
- package/src/auth/utils/createNonce.ts +11 -3
- package/src/auth/utils/getVerifiableCertificates.ts +11 -6
- package/src/auth/utils/index.ts +4 -4
- package/src/auth/utils/validateCertificates.ts +53 -39
- package/src/auth/utils/verifyNonce.ts +6 -2
- package/src/compat/BSM.ts +17 -9
- package/src/compat/ECIES.ts +239 -123
- package/src/compat/HD.ts +82 -63
- package/src/compat/Mnemonic.ts +98 -87
- package/src/compat/Utxo.ts +12 -9
- package/src/compat/__tests/BSM.test.ts +43 -16
- package/src/compat/__tests/ECIES.test.ts +117 -52
- package/src/compat/__tests/HD.test.ts +49 -38
- package/src/compat/__tests/Mnemonic.test.ts +145 -145
- package/src/compat/index.ts +5 -5
- package/src/messages/EncryptedMessage.ts +11 -7
- package/src/messages/SignedMessage.ts +19 -14
- package/src/messages/__tests/EncryptedMessage.test.ts +55 -56
- package/src/messages/__tests/SignedMessage.test.ts +58 -52
- package/src/messages/index.ts +2 -2
- package/src/overlay-tools/LookupResolver.ts +65 -33
- package/src/overlay-tools/OverlayAdminTokenTemplate.ts +52 -27
- package/src/overlay-tools/SHIPBroadcaster.ts +134 -59
- package/src/overlay-tools/__tests/LookupResolver.test.ts +723 -323
- package/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.ts +50 -22
- package/src/overlay-tools/__tests/SHIPBroadcaster.test.ts +607 -290
- package/src/overlay-tools/index.ts +5 -5
- package/src/primitives/BasePoint.ts +1 -1
- package/src/primitives/BigNumber.ts +94 -87
- package/src/primitives/Curve.ts +49 -30
- package/src/primitives/DRBG.ts +10 -12
- package/src/primitives/ECDSA.ts +59 -33
- package/src/primitives/Hash.ts +298 -179
- package/src/primitives/JacobianPoint.ts +55 -21
- 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 +193 -113
- package/src/primitives/Polynomial.ts +12 -7
- package/src/primitives/PrivateKey.ts +44 -20
- package/src/primitives/PublicKey.ts +21 -11
- package/src/primitives/Random.ts +7 -5
- package/src/primitives/ReductionContext.ts +4 -4
- package/src/primitives/Schnorr.ts +45 -23
- package/src/primitives/Signature.ts +27 -19
- package/src/primitives/SymmetricKey.ts +17 -17
- package/src/primitives/TransactionSignature.ts +29 -18
- package/src/primitives/__tests/AESGCM.test.ts +635 -329
- package/src/primitives/__tests/BigNumber.arithmatic.test.ts +721 -502
- package/src/primitives/__tests/BigNumber.binary.test.ts +271 -190
- package/src/primitives/__tests/BigNumber.constructor.test.ts +60 -24
- package/src/primitives/__tests/BigNumber.dhGroup.test.ts +19 -15
- package/src/primitives/__tests/BigNumber.serializers.test.ts +183 -157
- package/src/primitives/__tests/BigNumber.utils.test.ts +394 -304
- package/src/primitives/__tests/Curve.unit.test.ts +158 -143
- package/src/primitives/__tests/DRBG.test.ts +13 -13
- package/src/primitives/__tests/ECDH.test.ts +15 -8
- package/src/primitives/__tests/ECDSA.test.ts +63 -57
- package/src/primitives/__tests/HMAC.test.ts +55 -49
- package/src/primitives/__tests/Hash.test.ts +96 -85
- package/src/primitives/__tests/PrivateKey.split.test.ts +29 -9
- package/src/primitives/__tests/PrivateKey.test.ts +53 -50
- package/src/primitives/__tests/PublicKey.test.ts +15 -6
- package/src/primitives/__tests/Random.test.ts +10 -10
- package/src/primitives/__tests/Reader.test.ts +240 -219
- package/src/primitives/__tests/ReductionContext.test.ts +271 -234
- package/src/primitives/__tests/Schnorr.test.ts +252 -242
- package/src/primitives/__tests/SymmetricKey.test.ts +53 -50
- package/src/primitives/__tests/Writer.test.ts +23 -13
- package/src/primitives/__tests/bug-31.test.ts +25 -23
- package/src/primitives/__tests/utils.test.ts +70 -19
- package/src/primitives/index.ts +14 -14
- package/src/primitives/utils.ts +88 -63
- package/src/script/LockingScript.ts +1 -1
- package/src/script/Script.ts +14 -10
- package/src/script/ScriptTemplate.ts +5 -7
- package/src/script/Spend.ts +314 -118
- package/src/script/UnlockingScript.ts +1 -1
- package/src/script/__tests/Script.test.ts +68 -54
- package/src/script/__tests/Spend.test.ts +188 -68
- package/src/script/__tests/SpendComplex.test.ts +36 -26
- package/src/script/__tests/script.valid.vectors.ts +1064 -3100
- package/src/script/index.ts +7 -7
- package/src/script/templates/P2PKH.ts +63 -52
- package/src/script/templates/PushDrop.ts +117 -89
- package/src/script/templates/RPuzzle.ts +72 -54
- package/src/script/templates/__tests/PushDrop.test.ts +146 -40
- package/src/script/templates/index.ts +3 -3
- package/src/totp/__tests/totp.test.ts +39 -39
- package/src/totp/index.ts +1 -1
- package/src/totp/totp.ts +2 -2
- package/src/transaction/Beef.ts +211 -141
- package/src/transaction/BeefParty.ts +35 -27
- package/src/transaction/BeefTx.ts +13 -9
- package/src/transaction/Broadcaster.ts +11 -7
- package/src/transaction/ChainTracker.ts +2 -2
- package/src/transaction/FeeModel.ts +2 -2
- package/src/transaction/MerklePath.ts +81 -37
- package/src/transaction/Transaction.ts +185 -208
- package/src/transaction/TransactionInput.ts +2 -2
- package/src/transaction/TransactionOutput.ts +2 -2
- package/src/transaction/__tests/Beef.test.ts +359 -297
- package/src/transaction/__tests/MerklePath.test.ts +163 -131
- package/src/transaction/__tests/Transaction.benchmarks.test.ts +235 -202
- package/src/transaction/__tests/Transaction.test.ts +746 -459
- package/src/transaction/broadcasters/ARC.ts +120 -94
- package/src/transaction/broadcasters/DefaultBroadcaster.ts +11 -5
- package/src/transaction/broadcasters/WhatsOnChainBroadcaster.ts +46 -33
- package/src/transaction/broadcasters/__tests/ARC.test.ts +77 -45
- package/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.ts +25 -17
- package/src/transaction/broadcasters/index.ts +4 -4
- package/src/transaction/chaintrackers/DefaultChainTracker.ts +4 -4
- package/src/transaction/chaintrackers/WhatsOnChain.ts +53 -38
- package/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.ts +138 -102
- package/src/transaction/chaintrackers/index.ts +3 -3
- package/src/transaction/fee-models/SatoshisPerKilobyte.ts +37 -32
- package/src/transaction/fee-models/index.ts +1 -1
- package/src/transaction/http/DefaultHttpClient.ts +17 -17
- package/src/transaction/http/FetchHttpClient.ts +18 -9
- package/src/transaction/http/HttpClient.ts +30 -25
- package/src/transaction/http/NodejsHttpClient.ts +42 -28
- package/src/transaction/http/index.ts +10 -6
- package/src/transaction/index.ts +14 -10
- package/src/wallet/CachedKeyDeriver.ts +118 -72
- package/src/wallet/KeyDeriver.ts +186 -105
- package/src/wallet/ProtoWallet.ts +53 -17
- package/src/wallet/Wallet.interfaces.ts +158 -149
- package/src/wallet/WalletClient.ts +316 -58
- package/src/wallet/__tests/CachedKeyDeriver.test.ts +83 -27
- package/src/wallet/__tests/KeyDeriver.test.ts +219 -116
- package/src/wallet/__tests/ProtoWallet.test.ts +420 -339
- package/src/wallet/index.ts +8 -8
- package/src/wallet/substrates/HTTPWalletJSON.ts +201 -32
- package/src/wallet/substrates/HTTPWalletWire.ts +30 -26
- package/src/wallet/substrates/WalletWire.ts +1 -1
- package/src/wallet/substrates/WalletWireCalls.ts +3 -3
- package/src/wallet/substrates/WalletWireProcessor.ts +1651 -1515
- package/src/wallet/substrates/WalletWireTransceiver.ts +1424 -854
- package/src/wallet/substrates/XDM.ts +427 -37
- package/src/wallet/substrates/__tests/WalletWire.integration.test.ts +484 -223
- package/src/wallet/substrates/__tests/XDM.test.ts +191 -195
- package/src/wallet/substrates/index.ts +7 -7
- package/src/wallet/substrates/window.CWI.ts +524 -65
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = [
|
|
4
|
+
['The following are deserialized transactions which are valid.'],
|
|
5
|
+
['They are in the form'],
|
|
6
|
+
['[[[prevout hash, prevout index, prevout scriptPubKey], [input 2], ...],'],
|
|
7
|
+
['serializedTransaction, verifyFlags|[verifyFlags1, verifyFlags2, ...]]'],
|
|
8
|
+
['Objects that are only a single string (like this one) are ignored'],
|
|
9
|
+
['The following is 23b397edccd3740a74adb603c9756370fafcde9bcc4483eb271ecad09a94dd63'],
|
|
10
|
+
['It is of particular interest because it contains an invalidly-encoded signature which OpenSSL accepts'],
|
|
11
|
+
['See http://r6.ca/blog/20111119T211504Z.html'],
|
|
12
|
+
['It is also the first OP_CHECKMULTISIG transaction in standard form'],
|
|
13
|
+
[[['60a20bd93aa49ab4b28d514ec10b06e1829ce6818ec06cd3aabd013ebcdc4bb1', 0, '1 0x41 0x04cc71eb30d653c0c3163990c47b976f3fb3f37cccdcbedb169a1dfef58bbfbfaff7d8a473e7e2e6d317b87bafe8bde97e3cf8f065dec022b51d11fcdd0d348ac4 0x41 0x0461cbdcc5409fb4b4d42b51d33381354d80e550078cb532a34bfa2fcfdeb7d76519aecc62770f5b0e4ef8551946d8a540911abe3e7854a26f39f58b25c15342af 2 OP_CHECKMULTISIG']],
|
|
14
|
+
'0100000001b14bdcbc3e01bdaad36cc08e81e69c82e1060bc14e518db2b49aa43ad90ba26000000000490047304402203f16c6f40162ab686621ef3000b04e75418a0c0cb2d8aebeac894ae360ac1e780220ddc15ecdfc3507ac48e1681a33eb60996631bf6bf5bc0a0682c4db743ce7ca2b01ffffffff0140420f00000000001976a914660d4ef3a743e3e696ad990364e555c271ad504b88ac00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
15
|
+
['The following is a tweaked form of 23b397edccd3740a74adb603c9756370fafcde9bcc4483eb271ecad09a94dd63'],
|
|
16
|
+
['It is an OP_CHECKMULTISIG with an arbitrary extra byte stuffed into the signature at pos length - 2'],
|
|
17
|
+
['The dummy byte is fine however, so the NULLDUMMY flag should be happy'],
|
|
18
|
+
[[['60a20bd93aa49ab4b28d514ec10b06e1829ce6818ec06cd3aabd013ebcdc4bb1', 0, '1 0x41 0x04cc71eb30d653c0c3163990c47b976f3fb3f37cccdcbedb169a1dfef58bbfbfaff7d8a473e7e2e6d317b87bafe8bde97e3cf8f065dec022b51d11fcdd0d348ac4 0x41 0x0461cbdcc5409fb4b4d42b51d33381354d80e550078cb532a34bfa2fcfdeb7d76519aecc62770f5b0e4ef8551946d8a540911abe3e7854a26f39f58b25c15342af 2 OP_CHECKMULTISIG']],
|
|
19
|
+
'0100000001b14bdcbc3e01bdaad36cc08e81e69c82e1060bc14e518db2b49aa43ad90ba260000000004a0048304402203f16c6f40162ab686621ef3000b04e75418a0c0cb2d8aebeac894ae360ac1e780220ddc15ecdfc3507ac48e1681a33eb60996631bf6bf5bc0a0682c4db743ce7ca2bab01ffffffff0140420f00000000001976a914660d4ef3a743e3e696ad990364e555c271ad504b88ac00000000', 'P2SH,UTXO_AFTER_GENESIS,NULLDUMMY'],
|
|
20
|
+
['The following is a tweaked form of 23b397edccd3740a74adb603c9756370fafcde9bcc4483eb271ecad09a94dd63'],
|
|
21
|
+
['It is an OP_CHECKMULTISIG with the dummy value set to something other than an empty string'],
|
|
22
|
+
[[['60a20bd93aa49ab4b28d514ec10b06e1829ce6818ec06cd3aabd013ebcdc4bb1', 0, '1 0x41 0x04cc71eb30d653c0c3163990c47b976f3fb3f37cccdcbedb169a1dfef58bbfbfaff7d8a473e7e2e6d317b87bafe8bde97e3cf8f065dec022b51d11fcdd0d348ac4 0x41 0x0461cbdcc5409fb4b4d42b51d33381354d80e550078cb532a34bfa2fcfdeb7d76519aecc62770f5b0e4ef8551946d8a540911abe3e7854a26f39f58b25c15342af 2 OP_CHECKMULTISIG']],
|
|
23
|
+
'0100000001b14bdcbc3e01bdaad36cc08e81e69c82e1060bc14e518db2b49aa43ad90ba260000000004a01ff47304402203f16c6f40162ab686621ef3000b04e75418a0c0cb2d8aebeac894ae360ac1e780220ddc15ecdfc3507ac48e1681a33eb60996631bf6bf5bc0a0682c4db743ce7ca2b01ffffffff0140420f00000000001976a914660d4ef3a743e3e696ad990364e555c271ad504b88ac00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
24
|
+
['As above, but using a OP_1'],
|
|
25
|
+
[[['60a20bd93aa49ab4b28d514ec10b06e1829ce6818ec06cd3aabd013ebcdc4bb1', 0, '1 0x41 0x04cc71eb30d653c0c3163990c47b976f3fb3f37cccdcbedb169a1dfef58bbfbfaff7d8a473e7e2e6d317b87bafe8bde97e3cf8f065dec022b51d11fcdd0d348ac4 0x41 0x0461cbdcc5409fb4b4d42b51d33381354d80e550078cb532a34bfa2fcfdeb7d76519aecc62770f5b0e4ef8551946d8a540911abe3e7854a26f39f58b25c15342af 2 OP_CHECKMULTISIG']],
|
|
26
|
+
'0100000001b14bdcbc3e01bdaad36cc08e81e69c82e1060bc14e518db2b49aa43ad90ba26000000000495147304402203f16c6f40162ab686621ef3000b04e75418a0c0cb2d8aebeac894ae360ac1e780220ddc15ecdfc3507ac48e1681a33eb60996631bf6bf5bc0a0682c4db743ce7ca2b01ffffffff0140420f00000000001976a914660d4ef3a743e3e696ad990364e555c271ad504b88ac00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
27
|
+
['As above, but using a OP_1NEGATE'],
|
|
28
|
+
[[['60a20bd93aa49ab4b28d514ec10b06e1829ce6818ec06cd3aabd013ebcdc4bb1', 0, '1 0x41 0x04cc71eb30d653c0c3163990c47b976f3fb3f37cccdcbedb169a1dfef58bbfbfaff7d8a473e7e2e6d317b87bafe8bde97e3cf8f065dec022b51d11fcdd0d348ac4 0x41 0x0461cbdcc5409fb4b4d42b51d33381354d80e550078cb532a34bfa2fcfdeb7d76519aecc62770f5b0e4ef8551946d8a540911abe3e7854a26f39f58b25c15342af 2 OP_CHECKMULTISIG']],
|
|
29
|
+
'0100000001b14bdcbc3e01bdaad36cc08e81e69c82e1060bc14e518db2b49aa43ad90ba26000000000494f47304402203f16c6f40162ab686621ef3000b04e75418a0c0cb2d8aebeac894ae360ac1e780220ddc15ecdfc3507ac48e1681a33eb60996631bf6bf5bc0a0682c4db743ce7ca2b01ffffffff0140420f00000000001976a914660d4ef3a743e3e696ad990364e555c271ad504b88ac00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
30
|
+
['The following is c99c49da4c38af669dea436d3e73780dfdb6c1ecf9958baa52960e8baee30e73'],
|
|
31
|
+
['It is of interest because it contains a 0-sequence as well as a signature of SIGHASH type 0 (which is not a real type)'],
|
|
32
|
+
[[['406b2b06bcd34d3c8733e6b79f7a394c8a431fbf4ff5ac705c93f4076bb77602', 0, 'DUP HASH160 0x14 0xdc44b1164188067c3a32d4780f5996fa14a4f2d9 EQUALVERIFY CHECKSIG']],
|
|
33
|
+
'01000000010276b76b07f4935c70acf54fbf1f438a4c397a9fb7e633873c4dd3bc062b6b40000000008c493046022100d23459d03ed7e9511a47d13292d3430a04627de6235b6e51a40f9cd386f2abe3022100e7d25b080f0bb8d8d5f878bba7d54ad2fda650ea8d158a33ee3cbd11768191fd004104b0e2c879e4daf7b9ab68350228c159766676a14f5815084ba166432aab46198d4cca98fa3e9981d0a90b2effc514b76279476550ba3663fdcaff94c38420e9d5000000000100093d00000000001976a9149a7b0f3b80c6baaeedce0a0842553800f832ba1f88ac00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
34
|
+
['A nearly-standard transaction with CHECKSIGVERIFY 1 instead of CHECKSIG'],
|
|
35
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, 'DUP HASH160 0x14 0x5b6462475454710f3c22f5fdf0b40704c92f25c3 EQUALVERIFY CHECKSIGVERIFY 1']],
|
|
36
|
+
'01000000010001000000000000000000000000000000000000000000000000000000000000000000006a473044022067288ea50aa799543a536ff9306f8e1cba05b9c6b10951175b924f96732555ed022026d7b5265f38d21541519e4a1e55044d5b9e17e15cdbaf29ae3792e99e883e7a012103ba8c8b86dea131c22ab967e6dd99bdae8eff7a1f75a2c35f1f944109e3fe5e22ffffffff010000000000000000015100000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
37
|
+
['Same as above, but with the signature duplicated in the scriptPubKey with the proper pushdata prefix'],
|
|
38
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, 'DUP HASH160 0x14 0x5b6462475454710f3c22f5fdf0b40704c92f25c3 EQUALVERIFY CHECKSIGVERIFY 1 0x47 0x3044022067288ea50aa799543a536ff9306f8e1cba05b9c6b10951175b924f96732555ed022026d7b5265f38d21541519e4a1e55044d5b9e17e15cdbaf29ae3792e99e883e7a01']],
|
|
39
|
+
'01000000010001000000000000000000000000000000000000000000000000000000000000000000006a473044022067288ea50aa799543a536ff9306f8e1cba05b9c6b10951175b924f96732555ed022026d7b5265f38d21541519e4a1e55044d5b9e17e15cdbaf29ae3792e99e883e7a012103ba8c8b86dea131c22ab967e6dd99bdae8eff7a1f75a2c35f1f944109e3fe5e22ffffffff010000000000000000015100000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
40
|
+
['The following is f7fdd091fa6d8f5e7a8c2458f5c38faffff2d3f1406b6e4fe2c99dcc0d2d1cbb'],
|
|
41
|
+
['It caught a bug in the workaround for 23b397edccd3740a74adb603c9756370fafcde9bcc4483eb271ecad09a94dd63 in an overly simple implementation'],
|
|
42
|
+
[[['b464e85df2a238416f8bdae11d120add610380ea07f4ef19c5f9dfd472f96c3d', 0, 'DUP HASH160 0x14 0xbef80ecf3a44500fda1bc92176e442891662aed2 EQUALVERIFY CHECKSIG'],
|
|
43
|
+
['b7978cc96e59a8b13e0865d3f95657561a7f725be952438637475920bac9eb21', 1, 'DUP HASH160 0x14 0xbef80ecf3a44500fda1bc92176e442891662aed2 EQUALVERIFY CHECKSIG']],
|
|
44
|
+
'01000000023d6cf972d4dff9c519eff407ea800361dd0a121de1da8b6f4138a2f25de864b4000000008a4730440220ffda47bfc776bcd269da4832626ac332adfca6dd835e8ecd83cd1ebe7d709b0e022049cffa1cdc102a0b56e0e04913606c70af702a1149dc3b305ab9439288fee090014104266abb36d66eb4218a6dd31f09bb92cf3cfa803c7ea72c1fc80a50f919273e613f895b855fb7465ccbc8919ad1bd4a306c783f22cd3227327694c4fa4c1c439affffffff21ebc9ba20594737864352e95b727f1a565756f9d365083eb1a8596ec98c97b7010000008a4730440220503ff10e9f1e0de731407a4a245531c9ff17676eda461f8ceeb8c06049fa2c810220c008ac34694510298fa60b3f000df01caa244f165b727d4896eb84f81e46bcc4014104266abb36d66eb4218a6dd31f09bb92cf3cfa803c7ea72c1fc80a50f919273e613f895b855fb7465ccbc8919ad1bd4a306c783f22cd3227327694c4fa4c1c439affffffff01f0da5200000000001976a914857ccd42dded6df32949d4646dfa10a92458cfaa88ac00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
45
|
+
['The following tests for the presence of a bug in the handling of SIGHASH_SINGLE'],
|
|
46
|
+
['It results in signing the constant 1, instead of something generated based on the transaction,'],
|
|
47
|
+
['when the input doing the signing has an index greater than the maximum output index'],
|
|
48
|
+
[[['0000000000000000000000000000000000000000000000000000000000000200', 0, '1'], ['0000000000000000000000000000000000000000000000000000000000000100', 0, 'DUP HASH160 0x14 0xe52b482f2faa8ecbf0db344f93c84ac908557f33 EQUALVERIFY CHECKSIG']],
|
|
49
|
+
'01000000020002000000000000000000000000000000000000000000000000000000000000000000000151ffffffff0001000000000000000000000000000000000000000000000000000000000000000000006b483045022100c9cdd08798a28af9d1baf44a6c77bcc7e279f47dc487c8c899911bc48feaffcc0220503c5c50ae3998a733263c5c0f7061b483e2b56c4c41b456e7d2f5a78a74c077032102d5c25adb51b61339d2b05315791e21bbe80ea470a49db0135720983c905aace0ffffffff010000000000000000015100000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
50
|
+
['An invalid P2SH Transaction'],
|
|
51
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, 'HASH160 0x14 0x7a052c840ba73af26755de42cf01cc9e0a49fef0 EQUAL']],
|
|
52
|
+
'010000000100010000000000000000000000000000000000000000000000000000000000000000000009085768617420697320ffffffff010000000000000000015100000000', 'NONE'],
|
|
53
|
+
['A valid P2SH Transaction using the standard transaction type put forth in BIP 16'],
|
|
54
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, 'HASH160 0x14 0x8febbed40483661de6958d957412f82deed8e2f7 EQUAL']],
|
|
55
|
+
'01000000010001000000000000000000000000000000000000000000000000000000000000000000006e493046022100c66c9cdf4c43609586d15424c54707156e316d88b0a1534c9e6b0d4f311406310221009c0fe51dbc9c4ab7cc25d3fdbeccf6679fe6827f08edf2b4a9f16ee3eb0e438a0123210338e8034509af564c62644c07691942e0c056752008a173c89f60ab2a88ac2ebfacffffffff010000000000000000015100000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
56
|
+
['Tests for CheckTransaction()'],
|
|
57
|
+
['MAX_MONEY output'],
|
|
58
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, 'HASH160 0x14 0x32afac281462b822adbec5094b8d4d337dd5bd6a EQUAL']],
|
|
59
|
+
'01000000010001000000000000000000000000000000000000000000000000000000000000000000006e493046022100e1eadba00d9296c743cb6ecc703fd9ddc9b3cd12906176a226ae4c18d6b00796022100a71aef7d2874deff681ba6080f1b278bac7bb99c61b08a85f4311970ffe7f63f012321030c0588dc44d92bdcbf8e72093466766fdc265ead8db64517b0c542275b70fffbacffffffff010040075af0750700015100000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
60
|
+
['MAX_MONEY output + 0 output'],
|
|
61
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, 'HASH160 0x14 0xb558cbf4930954aa6a344363a15668d7477ae716 EQUAL']],
|
|
62
|
+
'01000000010001000000000000000000000000000000000000000000000000000000000000000000006d483045022027deccc14aa6668e78a8c9da3484fbcd4f9dcc9bb7d1b85146314b21b9ae4d86022100d0b43dece8cfb07348de0ca8bc5b86276fa88f7f2138381128b7c36ab2e42264012321029bb13463ddd5d2cc05da6e84e37536cb9525703cfd8f43afdb414988987a92f6acffffffff020040075af075070001510000000000000000015100000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
63
|
+
['Coinbase of size 2'],
|
|
64
|
+
['Note the input is just required to make the tester happy'],
|
|
65
|
+
[[['0000000000000000000000000000000000000000000000000000000000000000', -1, '1']],
|
|
66
|
+
'01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff025151ffffffff010000000000000000015100000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
67
|
+
['Coinbase of size 100'],
|
|
68
|
+
['Note the input is just required to make the tester happy'],
|
|
69
|
+
[[['0000000000000000000000000000000000000000000000000000000000000000', -1, '1']],
|
|
70
|
+
'01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff6451515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151ffffffff010000000000000000015100000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
71
|
+
['Simple transaction with first input is signed with SIGHASH_ALL, second with SIGHASH_ANYONECANPAY'],
|
|
72
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '0x21 0x035e7f0d4d0841bcd56c39337ed086b1a633ee770c1ffdd94ac552a95ac2ce0efc CHECKSIG'],
|
|
73
|
+
['0000000000000000000000000000000000000000000000000000000000000200', 0, '0x21 0x035e7f0d4d0841bcd56c39337ed086b1a633ee770c1ffdd94ac552a95ac2ce0efc CHECKSIG']],
|
|
74
|
+
'010000000200010000000000000000000000000000000000000000000000000000000000000000000049483045022100d180fd2eb9140aeb4210c9204d3f358766eb53842b2a9473db687fa24b12a3cc022079781799cd4f038b85135bbe49ec2b57f306b2bb17101b17f71f000fcab2b6fb01ffffffff0002000000000000000000000000000000000000000000000000000000000000000000004847304402205f7530653eea9b38699e476320ab135b74771e1c48b81a5d041e2ca84b9be7a802200ac8d1f40fb026674fe5a5edd3dea715c27baa9baca51ed45ea750ac9dc0a55e81ffffffff010100000000000000015100000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
75
|
+
['Same as above, but we change the sequence number of the first input to check that SIGHASH_ANYONECANPAY is being followed'],
|
|
76
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '0x21 0x035e7f0d4d0841bcd56c39337ed086b1a633ee770c1ffdd94ac552a95ac2ce0efc CHECKSIG'],
|
|
77
|
+
['0000000000000000000000000000000000000000000000000000000000000200', 0, '0x21 0x035e7f0d4d0841bcd56c39337ed086b1a633ee770c1ffdd94ac552a95ac2ce0efc CHECKSIG']],
|
|
78
|
+
'01000000020001000000000000000000000000000000000000000000000000000000000000000000004948304502203a0f5f0e1f2bdbcd04db3061d18f3af70e07f4f467cbc1b8116f267025f5360b022100c792b6e215afc5afc721a351ec413e714305cb749aae3d7fee76621313418df101010000000002000000000000000000000000000000000000000000000000000000000000000000004847304402205f7530653eea9b38699e476320ab135b74771e1c48b81a5d041e2ca84b9be7a802200ac8d1f40fb026674fe5a5edd3dea715c27baa9baca51ed45ea750ac9dc0a55e81ffffffff010100000000000000015100000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
79
|
+
['afd9c17f8913577ec3509520bd6e5d63e9c0fd2a5f70c787993b097ba6ca9fae which has several SIGHASH_SINGLE signatures'],
|
|
80
|
+
[[['63cfa5a09dc540bf63e53713b82d9ea3692ca97cd608c384f2aa88e51a0aac70', 0, 'DUP HASH160 0x14 0xdcf72c4fd02f5a987cf9b02f2fabfcac3341a87d EQUALVERIFY CHECKSIG'],
|
|
81
|
+
['04e8d0fcf3846c6734477b98f0f3d4badfb78f020ee097a0be5fe347645b817d', 1, 'DUP HASH160 0x14 0xdcf72c4fd02f5a987cf9b02f2fabfcac3341a87d EQUALVERIFY CHECKSIG'],
|
|
82
|
+
['ee1377aff5d0579909e11782e1d2f5f7b84d26537be7f5516dd4e43373091f3f', 1, 'DUP HASH160 0x14 0xdcf72c4fd02f5a987cf9b02f2fabfcac3341a87d EQUALVERIFY CHECKSIG']],
|
|
83
|
+
'010000000370ac0a1ae588aaf284c308d67ca92c69a39e2db81337e563bf40c59da0a5cf63000000006a4730440220360d20baff382059040ba9be98947fd678fb08aab2bb0c172efa996fd8ece9b702201b4fb0de67f015c90e7ac8a193aeab486a1f587e0f54d0fb9552ef7f5ce6caec032103579ca2e6d107522f012cd00b52b9a65fb46f0c57b9b8b6e377c48f526a44741affffffff7d815b6447e35fbea097e00e028fb7dfbad4f3f0987b4734676c84f3fcd0e804010000006b483045022100c714310be1e3a9ff1c5f7cacc65c2d8e781fc3a88ceb063c6153bf950650802102200b2d0979c76e12bb480da635f192cc8dc6f905380dd4ac1ff35a4f68f462fffd032103579ca2e6d107522f012cd00b52b9a65fb46f0c57b9b8b6e377c48f526a44741affffffff3f1f097333e4d46d51f5e77b53264db8f7f5d2e18217e1099957d0f5af7713ee010000006c493046022100b663499ef73273a3788dea342717c2640ac43c5a1cf862c9e09b206fcb3f6bb8022100b09972e75972d9148f2bdd462e5cb69b57c1214b88fc55ca638676c07cfc10d8032103579ca2e6d107522f012cd00b52b9a65fb46f0c57b9b8b6e377c48f526a44741affffffff0380841e00000000001976a914bfb282c70c4191f45b5a6665cad1682f2c9cfdfb88ac80841e00000000001976a9149857cc07bed33a5cf12b9c5e0500b675d500c81188ace0fd1c00000000001976a91443c52850606c872403c0601e69fa34b26f62db4a88ac00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
84
|
+
['ddc454a1c0c35c188c98976b17670f69e586d9c0f3593ea879928332f0a069e7, which spends an input that pushes using a PUSHDATA1 that is negative when read as signed'],
|
|
85
|
+
[[['c5510a5dd97a25f43175af1fe649b707b1df8e1a41489bac33a23087027a2f48', 0, '0x4c 0xae 0x606563686f2022553246736447566b58312b5a536e587574356542793066794778625456415675534a6c376a6a334878416945325364667657734f53474f36633338584d7439435c6e543249584967306a486956304f376e775236644546673d3d22203e20743b206f70656e73736c20656e63202d7061737320706173733a5b314a564d7751432d707269766b65792d6865785d202d64202d6165732d3235362d636263202d61202d696e207460 DROP DUP HASH160 0x14 0xbfd7436b6265aa9de506f8a994f881ff08cc2872 EQUALVERIFY CHECKSIG']],
|
|
86
|
+
'0100000001482f7a028730a233ac9b48411a8edfb107b749e61faf7531f4257ad95d0a51c5000000008b483045022100bf0bbae9bde51ad2b222e87fbf67530fbafc25c903519a1e5dcc52a32ff5844e022028c4d9ad49b006dd59974372a54291d5764be541574bb0c4dc208ec51f80b7190141049dd4aad62741dc27d5f267f7b70682eee22e7e9c1923b9c0957bdae0b96374569b460eb8d5b40d972e8c7c0ad441de3d94c4a29864b212d56050acb980b72b2bffffffff0180969800000000001976a914e336d0017a9d28de99d16472f6ca6d5a3a8ebc9988ac00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
87
|
+
['Correct signature order'],
|
|
88
|
+
['Note the input is just required to make the tester happy'],
|
|
89
|
+
[[['b3da01dd4aae683c7aee4d5d8b52a540a508e1115f77cd7fa9a291243f501223', 0, 'HASH160 0x14 0xb1ce99298d5f07364b57b1e5c9cc00be0b04a954 EQUAL']],
|
|
90
|
+
'01000000012312503f2491a2a97fcd775f11e108a540a5528b5d4dee7a3c68ae4add01dab300000000fdfe0000483045022100f6649b0eddfdfd4ad55426663385090d51ee86c3481bdc6b0c18ea6c0ece2c0b0220561c315b07cffa6f7dd9df96dbae9200c2dee09bf93cc35ca05e6cdf613340aa0148304502207aacee820e08b0b174e248abd8d7a34ed63b5da3abedb99934df9fddd65c05c4022100dfe87896ab5ee3df476c2655f9fbe5bd089dccbef3e4ea05b5d121169fe7f5f4014c695221031d11db38972b712a9fe1fc023577c7ae3ddb4a3004187d41c45121eecfdbb5b7210207ec36911b6ad2382860d32989c7b8728e9489d7bbc94a6b5509ef0029be128821024ea9fac06f666a4adc3fc1357b7bec1fd0bdece2b9d08579226a8ebde53058e453aeffffffff0180380100000000001976a914c9b99cddf847d10685a4fabaa0baf505f7c3dfab88ac00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
91
|
+
['cc60b1f899ec0a69b7c3f25ddf32c4524096a9c5b01cbd84c6d0312a0c478984, which is a fairly strange transaction which relies on OP_CHECKSIG returning 0 when checking a completely invalid sig of length 0'],
|
|
92
|
+
[[['cbebc4da731e8995fe97f6fadcd731b36ad40e5ecb31e38e904f6e5982fa09f7', 0, '0x2102085c6600657566acc2d6382a47bc3f324008d2aa10940dd7705a48aa2a5a5e33ac7c2103f5d0fb955f95dd6be6115ce85661db412ec6a08abcbfce7da0ba8297c6cc0ec4ac7c5379a820d68df9e32a147cffa36193c6f7c43a1c8c69cda530e1c6db354bfabdcfefaf3c875379a820f531f3041d3136701ea09067c53e7159c8f9b2746a56c3d82966c54bbc553226879a5479827701200122a59a5379827701200122a59a6353798277537982778779679a68']],
|
|
93
|
+
'0100000001f709fa82596e4f908ee331cb5e0ed46ab331d7dcfaf697fe95891e73dac4ebcb000000008c20ca42095840735e89283fec298e62ac2ddea9b5f34a8cbb7097ad965b87568100201b1b01dc829177da4a14551d2fc96a9db00c6501edfa12f22cd9cefd335c227f483045022100a9df60536df5733dd0de6bc921fab0b3eee6426501b43a228afa2c90072eb5ca02201c78b74266fac7d1db5deff080d8a403743203f109fbcabf6d5a760bf87386d20100ffffffff01c075790000000000232103611f9a45c18f28f06f19076ad571c344c82ce8fcfe34464cf8085217a2d294a6ac00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
94
|
+
['Empty pubkey'],
|
|
95
|
+
[[['229257c295e7f555421c1bfec8538dd30a4b5c37c1c8810bbe83cafa7811652c', 0, '0x00 CHECKSIG NOT']],
|
|
96
|
+
'01000000012c651178faca83be0b81c8c1375c4b0ad38d53c8fe1b1c4255f5e795c25792220000000049483045022100d6044562284ac76c985018fc4a90127847708c9edb280996c507b28babdc4b2a02203d74eca3f1a4d1eea7ff77b528fde6d5dc324ec2dbfdb964ba885f643b9704cd01ffffffff010100000000000000232102c2410f8891ae918cab4ffc4bb4a3b0881be67c7a1e7faa8b5acf9ab8932ec30cac00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
97
|
+
['Empty signature'],
|
|
98
|
+
[[['9ca93cfd8e3806b9d9e2ba1cf64e3cc6946ee0119670b1796a09928d14ea25f7', 0, '0x21 0x028a1d66975dbdf97897e3a4aef450ebeb5b5293e4a0b4a6d3a2daaa0b2b110e02 CHECKSIG NOT']],
|
|
99
|
+
'0100000001f725ea148d92096a79b1709611e06e94c63c4ef61cbae2d9b906388efd3ca99c000000000100ffffffff0101000000000000002321028a1d66975dbdf97897e3a4aef450ebeb5b5293e4a0b4a6d3a2daaa0b2b110e02ac00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
100
|
+
[[['444e00ed7840d41f20ecd9c11d3f91982326c731a02f3c05748414a4fa9e59be', 0, '1 0x00 0x21 0x02136b04758b0b6e363e7a6fbe83aaf527a153db2b060d36cc29f7f8309ba6e458 2 CHECKMULTISIG']],
|
|
101
|
+
'0100000001be599efaa4148474053c2fa031c7262398913f1dc1d9ec201fd44078ed004e44000000004900473044022022b29706cb2ed9ef0cb3c97b72677ca2dfd7b4160f7b4beb3ba806aa856c401502202d1e52582412eba2ed474f1f437a427640306fd3838725fab173ade7fe4eae4a01ffffffff010100000000000000232103ac4bba7e7ca3e873eea49e08132ad30c7f03640b6539e9b59903cf14fd016bbbac00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
102
|
+
[[['e16abbe80bf30c080f63830c8dbf669deaef08957446e95940227d8c5e6db612', 0, '1 0x21 0x03905380c7013e36e6e19d305311c1b81fce6581f5ee1c86ef0627c68c9362fc9f 0x00 2 CHECKMULTISIG']],
|
|
103
|
+
'010000000112b66d5e8c7d224059e946749508efea9d66bf8d0c83630f080cf30be8bb6ae100000000490047304402206ffe3f14caf38ad5c1544428e99da76ffa5455675ec8d9780fac215ca17953520220779502985e194d84baa36b9bd40a0dbd981163fa191eb884ae83fc5bd1c86b1101ffffffff010100000000000000232103905380c7013e36e6e19d305311c1b81fce6581f5ee1c86ef0627c68c9362fc9fac00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
104
|
+
[[['ebbcf4bfce13292bd791d6a65a2a858d59adbf737e387e40370d4e64cc70efb0', 0, '2 0x21 0x033bcaa0a602f0d44cc9d5637c6e515b0471db514c020883830b7cefd73af04194 0x21 0x03a88b326f8767f4f192ce252afe33c94d25ab1d24f27f159b3cb3aa691ffe1423 2 CHECKMULTISIG NOT']],
|
|
105
|
+
'0100000001b0ef70cc644e0d37407e387e73bfad598d852a5aa6d691d72b2913cebff4bceb000000004a00473044022068cd4851fc7f9a892ab910df7a24e616f293bcb5c5fbdfbc304a194b26b60fba022078e6da13d8cb881a22939b952c24f88b97afd06b4c47a47d7f804c9a352a6d6d0100ffffffff0101000000000000002321033bcaa0a602f0d44cc9d5637c6e515b0471db514c020883830b7cefd73af04194ac00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
106
|
+
[[['ba4cd7ae2ad4d4d13ebfc8ab1d93a63e4a6563f25089a18bf0fc68f282aa88c1', 0, '2 0x21 0x037c615d761e71d38903609bf4f46847266edc2fb37532047d747ba47eaae5ffe1 0x21 0x02edc823cd634f2c4033d94f5755207cb6b60c4b1f1f056ad7471c47de5f2e4d50 2 CHECKMULTISIG NOT']],
|
|
107
|
+
'0100000001c188aa82f268fcf08ba18950f263654a3ea6931dabc8bf3ed1d4d42aaed74cba000000004b0000483045022100940378576e069aca261a6b26fb38344e4497ca6751bb10905c76bb689f4222b002204833806b014c26fd801727b792b1260003c55710f87c5adbd7a9cb57446dbc9801ffffffff0101000000000000002321037c615d761e71d38903609bf4f46847266edc2fb37532047d747ba47eaae5ffe1ac00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
108
|
+
['OP_CODESEPARATOR tests'],
|
|
109
|
+
['Test that SignatureHash() removes OP_CODESEPARATOR with FindAndDelete()'],
|
|
110
|
+
[[['bc7fd132fcf817918334822ee6d9bd95c889099c96e07ca2c1eb2cc70db63224', 0, 'CODESEPARATOR 0x21 0x038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041 CHECKSIG']],
|
|
111
|
+
'01000000012432b60dc72cebc1a27ce0969c0989c895bdd9e62e8234839117f8fc32d17fbc000000004a493046022100a576b52051962c25e642c0fd3d77ee6c92487048e5d90818bcf5b51abaccd7900221008204f8fb121be4ec3b24483b1f92d89b1b0548513a134e345c5442e86e8617a501ffffffff010000000000000000016a00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
112
|
+
[[['83e194f90b6ef21fa2e3a365b63794fb5daa844bdc9b25de30899fcfe7b01047', 0, 'CODESEPARATOR CODESEPARATOR 0x21 0x038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041 CHECKSIG']],
|
|
113
|
+
'01000000014710b0e7cf9f8930de259bdc4b84aa5dfb9437b665a3e3a21ff26e0bf994e183000000004a493046022100a166121a61b4eeb19d8f922b978ff6ab58ead8a5a5552bf9be73dc9c156873ea02210092ad9bc43ee647da4f6652c320800debcf08ec20a094a0aaf085f63ecb37a17201ffffffff010000000000000000016a00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
114
|
+
['Hashed data starts at the CODESEPARATOR'],
|
|
115
|
+
[[['326882a7f22b5191f1a0cc9962ca4b878cd969cf3b3a70887aece4d801a0ba5e', 0, '0x21 0x038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041 CODESEPARATOR CHECKSIG']],
|
|
116
|
+
'01000000015ebaa001d8e4ec7a88703a3bcf69d98c874bca6299cca0f191512bf2a7826832000000004948304502203bf754d1c6732fbf87c5dcd81258aefd30f2060d7bd8ac4a5696f7927091dad1022100f5bcb726c4cf5ed0ed34cc13dadeedf628ae1045b7cb34421bc60b89f4cecae701ffffffff010000000000000000016a00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
117
|
+
['But only if execution has reached it'],
|
|
118
|
+
[[['a955032f4d6b0c9bfe8cad8f00a8933790b9c1dc28c82e0f48e75b35da0e4944', 0, '0x21 0x038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041 CHECKSIGVERIFY CODESEPARATOR 0x21 0x038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041 CHECKSIGVERIFY CODESEPARATOR 1']],
|
|
119
|
+
'010000000144490eda355be7480f2ec828dcc1b9903793a8008fad8cfe9b0c6b4d2f0355a900000000924830450221009c0a27f886a1d8cb87f6f595fbc3163d28f7a81ec3c4b252ee7f3ac77fd13ffa02203caa8dfa09713c8c4d7ef575c75ed97812072405d932bd11e6a1593a98b679370148304502201e3861ef39a526406bad1e20ecad06be7375ad40ddb582c9be42d26c3a0d7b240221009d0a3985e96522e59635d19cc4448547477396ce0ef17a58e7d74c3ef464292301ffffffff010000000000000000016a00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
120
|
+
['CODESEPARATOR in an unexecuted IF block does not change what is hashed'],
|
|
121
|
+
[[['a955032f4d6b0c9bfe8cad8f00a8933790b9c1dc28c82e0f48e75b35da0e4944', 0, 'IF CODESEPARATOR ENDIF 0x21 0x0378d430274f8c5ec1321338151e9f27f4c676a008bdf8638d07c0b6be9ab35c71 CHECKSIGVERIFY CODESEPARATOR 1']],
|
|
122
|
+
'010000000144490eda355be7480f2ec828dcc1b9903793a8008fad8cfe9b0c6b4d2f0355a9000000004a48304502207a6974a77c591fa13dff60cabbb85a0de9e025c09c65a4b2285e47ce8e22f761022100f0efaac9ff8ac36b10721e0aae1fb975c90500b50c56e8a0cc52b0403f0425dd0100ffffffff010000000000000000016a00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
123
|
+
['As above, with the IF block executed'],
|
|
124
|
+
[[['a955032f4d6b0c9bfe8cad8f00a8933790b9c1dc28c82e0f48e75b35da0e4944', 0, 'IF CODESEPARATOR ENDIF 0x21 0x0378d430274f8c5ec1321338151e9f27f4c676a008bdf8638d07c0b6be9ab35c71 CHECKSIGVERIFY CODESEPARATOR 1']],
|
|
125
|
+
'010000000144490eda355be7480f2ec828dcc1b9903793a8008fad8cfe9b0c6b4d2f0355a9000000004a483045022100fa4a74ba9fd59c59f46c3960cf90cbe0d2b743c471d24a3d5d6db6002af5eebb02204d70ec490fd0f7055a7c45f86514336e3a7f03503dacecabb247fc23f15c83510151ffffffff010000000000000000016a00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
126
|
+
['CHECKSIG is legal in scriptSigs'],
|
|
127
|
+
[[['ccf7f4053a02e653c36ac75c891b7496d0dc5ce5214f6c913d9cf8f1329ebee0', 0, 'DUP HASH160 0x14 0xee5a6aa40facefb2655ac23c0c28c57c65c41f9b EQUALVERIFY CHECKSIG']],
|
|
128
|
+
'0100000001e0be9e32f1f89c3d916c4f21e55cdcd096741b895cc76ac353e6023a05f4f7cc00000000d86149304602210086e5f736a2c3622ebb62bd9d93d8e5d76508b98be922b97160edc3dcca6d8c47022100b23c312ac232a4473f19d2aeb95ab7bdf2b65518911a0d72d50e38b5dd31dc820121038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041ac4730440220508fa761865c8abd81244a168392876ee1d94e8ed83897066b5e2df2400dad24022043f5ee7538e87e9c6aef7ef55133d3e51da7cc522830a9c4d736977a76ef755c0121038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041ffffffff010000000000000000016a00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
129
|
+
['Same semantics for OP_CODESEPARATOR'],
|
|
130
|
+
[[['10c9f0effe83e97f80f067de2b11c6a00c3088a4bce42c5ae761519af9306f3c', 1, 'DUP HASH160 0x14 0xee5a6aa40facefb2655ac23c0c28c57c65c41f9b EQUALVERIFY CHECKSIG']],
|
|
131
|
+
'01000000013c6f30f99a5161e75a2ce4bca488300ca0c6112bde67f0807fe983feeff0c91001000000e608646561646265656675ab61493046022100ce18d384221a731c993939015e3d1bcebafb16e8c0b5b5d14097ec8177ae6f28022100bcab227af90bab33c3fe0a9abfee03ba976ee25dc6ce542526e9b2e56e14b7f10121038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041ac493046022100c3b93edcc0fd6250eb32f2dd8a0bba1754b0f6c3be8ed4100ed582f3db73eba2022100bf75b5bd2eff4d6bf2bda2e34a40fcc07d4aa3cf862ceaa77b47b81eff829f9a01ab21038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041ffffffff010000000000000000016a00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
132
|
+
['Signatures are removed from the script they are in by FindAndDelete() in the CHECKSIG code; even multiple instances of one signature can be removed.'],
|
|
133
|
+
[[['6056ebd549003b10cbbd915cea0d82209fe40b8617104be917a26fa92cbe3d6f', 0, 'DUP HASH160 0x14 0xee5a6aa40facefb2655ac23c0c28c57c65c41f9b EQUALVERIFY CHECKSIG']],
|
|
134
|
+
'01000000016f3dbe2ca96fa217e94b1017860be49f20820dea5c91bdcb103b0049d5eb566000000000fd1d0147304402203989ac8f9ad36b5d0919d97fa0a7f70c5272abee3b14477dc646288a8b976df5022027d19da84a066af9053ad3d1d7459d171b7e3a80bc6c4ef7a330677a6be548140147304402203989ac8f9ad36b5d0919d97fa0a7f70c5272abee3b14477dc646288a8b976df5022027d19da84a066af9053ad3d1d7459d171b7e3a80bc6c4ef7a330677a6be548140121038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041ac47304402203757e937ba807e4a5da8534c17f9d121176056406a6465054bdd260457515c1a02200f02eccf1bec0f3a0d65df37889143c2e88ab7acec61a7b6f5aa264139141a2b0121038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041ffffffff010000000000000000016a00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
135
|
+
['That also includes ahead of the opcode being executed.'],
|
|
136
|
+
[[['5a6b0021a6042a686b6b94abc36b387bef9109847774e8b1e51eb8cc55c53921', 1, 'DUP HASH160 0x14 0xee5a6aa40facefb2655ac23c0c28c57c65c41f9b EQUALVERIFY CHECKSIG']],
|
|
137
|
+
'01000000012139c555ccb81ee5b1e87477840991ef7b386bc3ab946b6b682a04a621006b5a01000000fdb40148304502201723e692e5f409a7151db386291b63524c5eb2030df652b1f53022fd8207349f022100b90d9bbf2f3366ce176e5e780a00433da67d9e5c79312c6388312a296a5800390148304502201723e692e5f409a7151db386291b63524c5eb2030df652b1f53022fd8207349f022100b90d9bbf2f3366ce176e5e780a00433da67d9e5c79312c6388312a296a5800390121038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f2204148304502201723e692e5f409a7151db386291b63524c5eb2030df652b1f53022fd8207349f022100b90d9bbf2f3366ce176e5e780a00433da67d9e5c79312c6388312a296a5800390175ac4830450220646b72c35beeec51f4d5bc1cbae01863825750d7f490864af354e6ea4f625e9c022100f04b98432df3a9641719dbced53393022e7249fb59db993af1118539830aab870148304502201723e692e5f409a7151db386291b63524c5eb2030df652b1f53022fd8207349f022100b90d9bbf2f3366ce176e5e780a00433da67d9e5c79312c6388312a296a580039017521038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041ffffffff010000000000000000016a00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
138
|
+
["Finally CHECKMULTISIG removes all signatures prior to hashing the script containing those signatures. In conjunction with the SIGHASH_SINGLE bug this lets us test whether or not FindAndDelete() is actually present in scriptPubKey/redeemScript evaluation by including a signature of the digest 0x01 We can compute in advance for our pubkey, embed it it in the scriptPubKey, and then also using a normal SIGHASH_ALL signature. If FindAndDelete() wasn't run, the 'bugged' signature would still be in the hashed script, and the normal signature would fail."],
|
|
139
|
+
["Here's an example on mainnet within a P2SH redeemScript. Remarkably it's a standard transaction in <0.9"],
|
|
140
|
+
[[['b5b598de91787439afd5938116654e0b16b7a0d0f82742ba37564219c5afcbf9', 0, 'DUP HASH160 0x14 0xf6f365c40f0739b61de827a44751e5e99032ed8f EQUALVERIFY CHECKSIG'],
|
|
141
|
+
['ab9805c6d57d7070d9a42c5176e47bb705023e6b67249fb6760880548298e742', 0, 'HASH160 0x14 0xd8dacdadb7462ae15cd906f1878706d0da8660e6 EQUAL']],
|
|
142
|
+
'0100000002f9cbafc519425637ba4227f8d0a0b7160b4e65168193d5af39747891de98b5b5000000006b4830450221008dd619c563e527c47d9bd53534a770b102e40faa87f61433580e04e271ef2f960220029886434e18122b53d5decd25f1f4acb2480659fea20aabd856987ba3c3907e0121022b78b756e2258af13779c1a1f37ea6800259716ca4b7f0b87610e0bf3ab52a01ffffffff42e7988254800876b69f24676b3e0205b77be476512ca4d970707dd5c60598ab00000000fd260100483045022015bd0139bcccf990a6af6ec5c1c52ed8222e03a0d51c334df139968525d2fcd20221009f9efe325476eb64c3958e4713e9eefe49bf1d820ed58d2112721b134e2a1a53034930460221008431bdfa72bc67f9d41fe72e94c88fb8f359ffa30b33c72c121c5a877d922e1002210089ef5fc22dd8bfc6bf9ffdb01a9862d27687d424d1fefbab9e9c7176844a187a014c9052483045022015bd0139bcccf990a6af6ec5c1c52ed8222e03a0d51c334df139968525d2fcd20221009f9efe325476eb64c3958e4713e9eefe49bf1d820ed58d2112721b134e2a1a5303210378d430274f8c5ec1321338151e9f27f4c676a008bdf8638d07c0b6be9ab35c71210378d430274f8c5ec1321338151e9f27f4c676a008bdf8638d07c0b6be9ab35c7153aeffffffff01a08601000000000017a914d8dacdadb7462ae15cd906f1878706d0da8660e68700000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
143
|
+
['An valid Transaction with invalid redeem script, it is valid because UTXO_AFTER_GENESIS is set'],
|
|
144
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, 'HASH160 0x14 0x7a052c840ba73af26755de42cf01cc9e0a49fef0 EQUAL']],
|
|
145
|
+
'010000000100010000000000000000000000000000000000000000000000000000000000000000000009085768617420697320ffffffff010000000000000000015100000000', 'P2SH,UTXO_AFTER_GENESIS'],
|
|
146
|
+
['Same idea, but with bare CHECKMULTISIG'],
|
|
147
|
+
[[['ceafe58e0f6e7d67c0409fbbf673c84c166e3c5d3c24af58f7175b18df3bb3db', 0, 'DUP HASH160 0x14 0xf6f365c40f0739b61de827a44751e5e99032ed8f EQUALVERIFY CHECKSIG'],
|
|
148
|
+
['ceafe58e0f6e7d67c0409fbbf673c84c166e3c5d3c24af58f7175b18df3bb3db', 1, '2 0x48 0x3045022015bd0139bcccf990a6af6ec5c1c52ed8222e03a0d51c334df139968525d2fcd20221009f9efe325476eb64c3958e4713e9eefe49bf1d820ed58d2112721b134e2a1a5303 0x21 0x0378d430274f8c5ec1321338151e9f27f4c676a008bdf8638d07c0b6be9ab35c71 0x21 0x0378d430274f8c5ec1321338151e9f27f4c676a008bdf8638d07c0b6be9ab35c71 3 CHECKMULTISIG']],
|
|
149
|
+
'0100000002dbb33bdf185b17f758af243c5d3c6e164cc873f6bb9f40c0677d6e0f8ee5afce000000006b4830450221009627444320dc5ef8d7f68f35010b4c050a6ed0d96b67a84db99fda9c9de58b1e02203e4b4aaa019e012e65d69b487fdf8719df72f488fa91506a80c49a33929f1fd50121022b78b756e2258af13779c1a1f37ea6800259716ca4b7f0b87610e0bf3ab52a01ffffffffdbb33bdf185b17f758af243c5d3c6e164cc873f6bb9f40c0677d6e0f8ee5afce010000009300483045022015bd0139bcccf990a6af6ec5c1c52ed8222e03a0d51c334df139968525d2fcd20221009f9efe325476eb64c3958e4713e9eefe49bf1d820ed58d2112721b134e2a1a5303483045022015bd0139bcccf990a6af6ec5c1c52ed8222e03a0d51c334df139968525d2fcd20221009f9efe325476eb64c3958e4713e9eefe49bf1d820ed58d2112721b134e2a1a5303ffffffff01a0860100000000001976a9149bc0bbdd3024da4d0c38ed1aecf5c68dd1d3fa1288ac00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
150
|
+
['CHECKLOCKTIMEVERIFY tests'],
|
|
151
|
+
['By-height locks, with argument == 0 and == tx nLockTime'],
|
|
152
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '0 CHECKLOCKTIMEVERIFY 1']],
|
|
153
|
+
'010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000', ['P2SH,CHECKLOCKTIMEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']],
|
|
154
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '499999999 CHECKLOCKTIMEVERIFY 1']],
|
|
155
|
+
'0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ff64cd1d', ['P2SH,CHECKLOCKTIMEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']],
|
|
156
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '0 CHECKLOCKTIMEVERIFY 1']],
|
|
157
|
+
'0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ff64cd1d', ['P2SH,CHECKLOCKTIMEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']],
|
|
158
|
+
['By-height locks, with argument just beyond tx nLockTime. This script should be invalid but passes because of UTXO_AFTER_GENESIS flag'],
|
|
159
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '1 CHECKLOCKTIMEVERIFY 1']],
|
|
160
|
+
'010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000', ['P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']],
|
|
161
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '499999999 CHECKLOCKTIMEVERIFY 1']],
|
|
162
|
+
'0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000fe64cd1d', ['P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']],
|
|
163
|
+
['By-time locks, with argument just beyond tx nLockTime (but within numerical boundaries)'],
|
|
164
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '500000000 CHECKLOCKTIMEVERIFY 1']],
|
|
165
|
+
'01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d', ['P2SH,CHECKLOCKTIMEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']],
|
|
166
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '4294967295 CHECKLOCKTIMEVERIFY 1']],
|
|
167
|
+
'0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ffffffff', ['P2SH,CHECKLOCKTIMEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']],
|
|
168
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '500000000 CHECKLOCKTIMEVERIFY 1']],
|
|
169
|
+
'0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ffffffff', ['P2SH,CHECKLOCKTIMEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']],
|
|
170
|
+
['Any non-maxint nSequence is fine'],
|
|
171
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '0 CHECKLOCKTIMEVERIFY 1']],
|
|
172
|
+
'010000000100010000000000000000000000000000000000000000000000000000000000000000000000feffffff0100000000000000000000000000', ['P2SH,CHECKLOCKTIMEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']],
|
|
173
|
+
['The argument can be calculated rather than created directly by a PUSHDATA'],
|
|
174
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '499999999 1ADD CHECKLOCKTIMEVERIFY 1']],
|
|
175
|
+
'01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d', ['P2SH,CHECKLOCKTIMEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']],
|
|
176
|
+
['Perhaps even by an ADD producing a 5-byte result that is out of bounds for other opcodes'],
|
|
177
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '2147483647 2147483647 ADD CHECKLOCKTIMEVERIFY 1']],
|
|
178
|
+
'0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000feffffff', ['P2SH,CHECKLOCKTIMEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']],
|
|
179
|
+
['5 byte non-minimally-encoded arguments are valid'],
|
|
180
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '0x05 0x0000000000 CHECKLOCKTIMEVERIFY 1']],
|
|
181
|
+
'010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000', ['P2SH,CHECKLOCKTIMEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']],
|
|
182
|
+
['Valid CHECKLOCKTIMEVERIFY in scriptSig'],
|
|
183
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '1']],
|
|
184
|
+
'01000000010001000000000000000000000000000000000000000000000000000000000000000000000251b1000000000100000000000000000001000000', ['P2SH,CHECKLOCKTIMEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']],
|
|
185
|
+
['Valid CHECKLOCKTIMEVERIFY in redeemScript'],
|
|
186
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, 'HASH160 0x14 0xc5b93064159b3b2d6ab506a41b1f50463771b988 EQUAL']],
|
|
187
|
+
'0100000001000100000000000000000000000000000000000000000000000000000000000000000000030251b1000000000100000000000000000001000000', ['P2SH,CHECKLOCKTIMEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']],
|
|
188
|
+
['the redeem script fails due to failing CHECKLOCKTIMEVERIFY, but it is not executed because the UTXO_AFTER_GENESIS is set'],
|
|
189
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, 'HASH160 0x14 0xc5b93064159b3b2d6ab506a41b1f50463771b988 EQUAL']],
|
|
190
|
+
'0100000001000100000000000000000000000000000000000000000000000000000000000000000000030251b1000000000100000000000000000000000000', 'P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY'],
|
|
191
|
+
['A transaction with a non-standard DER signature.'],
|
|
192
|
+
[[['b1dbc81696c8a9c0fccd0693ab66d7c368dbc38c0def4e800685560ddd1b2132', 0, 'DUP HASH160 0x14 0x4b3bd7eba3bc0284fd3007be7f3be275e94f5826 EQUALVERIFY CHECKSIG']],
|
|
193
|
+
'010000000132211bdd0d568506804eef0d8cc3db68c3d766ab9306cdfcc0a9c89616c8dbb1000000006c493045022100c7bb0faea0522e74ff220c20c022d2cb6033f8d167fb89e75a50e237a35fd6d202203064713491b1f8ad5f79e623d0219ad32510bfaa1009ab30cbee77b59317d6e30001210237af13eb2d84e4545af287b919c2282019c9691cc509e78e196a9d8274ed1be0ffffffff0100000000000000001976a914f1b3ed2eda9a2ebe5a9374f692877cdf87c0f95b88ac00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
194
|
+
['CHECKSEQUENCEVERIFY tests'],
|
|
195
|
+
['By-height locks, with argument == 0 and == txin.nSequence'],
|
|
196
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '0 CHECKSEQUENCEVERIFY 1']],
|
|
197
|
+
'020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
|
|
198
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '65535 CHECKSEQUENCEVERIFY 1']],
|
|
199
|
+
'020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffff00000100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
|
|
200
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '65535 CHECKSEQUENCEVERIFY 1']],
|
|
201
|
+
'020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffbf7f0100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
|
|
202
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '0 CHECKSEQUENCEVERIFY 1']],
|
|
203
|
+
'020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffbf7f0100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
|
|
204
|
+
['By-height locks, with argument just beyond txin.nSequence. This script should be invalid but passes because of UTXO_AFTER_GENESIS flag'],
|
|
205
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '1 CHECKSEQUENCEVERIFY 1']],
|
|
206
|
+
'020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000', ['P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
|
|
207
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '4259839 CHECKSEQUENCEVERIFY 1']],
|
|
208
|
+
'020000000100010000000000000000000000000000000000000000000000000000000000000000000000feff40000100000000000000000000000000', ['P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
|
|
209
|
+
['By-time locks, with argument == 0 and == txin.nSequence'],
|
|
210
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '4194304 CHECKSEQUENCEVERIFY 1']],
|
|
211
|
+
'020000000100010000000000000000000000000000000000000000000000000000000000000000000000000040000100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
|
|
212
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '4259839 CHECKSEQUENCEVERIFY 1']],
|
|
213
|
+
'020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffff40000100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
|
|
214
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '4259839 CHECKSEQUENCEVERIFY 1']],
|
|
215
|
+
'020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffff7f0100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
|
|
216
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '4194304 CHECKSEQUENCEVERIFY 1']],
|
|
217
|
+
'020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffff7f0100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
|
|
218
|
+
['Upper sequence with upper sequence is fine'],
|
|
219
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '2147483648 CHECKSEQUENCEVERIFY 1']],
|
|
220
|
+
'020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000800100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
|
|
221
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '4294967295 CHECKSEQUENCEVERIFY 1']],
|
|
222
|
+
'020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000800100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
|
|
223
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '2147483648 CHECKSEQUENCEVERIFY 1']],
|
|
224
|
+
'020000000100010000000000000000000000000000000000000000000000000000000000000000000000feffffff0100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
|
|
225
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '4294967295 CHECKSEQUENCEVERIFY 1']],
|
|
226
|
+
'020000000100010000000000000000000000000000000000000000000000000000000000000000000000feffffff0100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
|
|
227
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '2147483648 CHECKSEQUENCEVERIFY 1']],
|
|
228
|
+
'020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff0100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
|
|
229
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '4294967295 CHECKSEQUENCEVERIFY 1']],
|
|
230
|
+
'020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff0100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
|
|
231
|
+
['Argument 2^31 with various nSequence'],
|
|
232
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '2147483648 CHECKSEQUENCEVERIFY 1']],
|
|
233
|
+
'020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffbf7f0100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
|
|
234
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '2147483648 CHECKSEQUENCEVERIFY 1']],
|
|
235
|
+
'020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffff7f0100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
|
|
236
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '2147483648 CHECKSEQUENCEVERIFY 1']],
|
|
237
|
+
'020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff0100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
|
|
238
|
+
['Argument 2^32-1 with various nSequence'],
|
|
239
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '4294967295 CHECKSEQUENCEVERIFY 1']],
|
|
240
|
+
'020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffbf7f0100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
|
|
241
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '4294967295 CHECKSEQUENCEVERIFY 1']],
|
|
242
|
+
'020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffff7f0100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
|
|
243
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '4294967295 CHECKSEQUENCEVERIFY 1']],
|
|
244
|
+
'020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff0100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
|
|
245
|
+
['Argument 3<<31 with various nSequence'],
|
|
246
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '6442450944 CHECKSEQUENCEVERIFY 1']],
|
|
247
|
+
'020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffbf7f0100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
|
|
248
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '6442450944 CHECKSEQUENCEVERIFY 1']],
|
|
249
|
+
'020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffff7f0100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
|
|
250
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '6442450944 CHECKSEQUENCEVERIFY 1']],
|
|
251
|
+
'020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff0100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
|
|
252
|
+
['5 byte non-minimally-encoded operandss are valid'],
|
|
253
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '0x05 0x0000000000 CHECKSEQUENCEVERIFY 1']],
|
|
254
|
+
'020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
|
|
255
|
+
['The argument can be calculated rather than created directly by a PUSHDATA'],
|
|
256
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '4194303 1ADD CHECKSEQUENCEVERIFY 1']],
|
|
257
|
+
'020000000100010000000000000000000000000000000000000000000000000000000000000000000000000040000100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
|
|
258
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '4194304 1SUB CHECKSEQUENCEVERIFY 1']],
|
|
259
|
+
'020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffff00000100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
|
|
260
|
+
['An ADD producing a 5-byte result that sets CTxIn::SEQUENCE_LOCKTIME_DISABLE_FLAG'],
|
|
261
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '2147483647 65536 CHECKSEQUENCEVERIFY 1']],
|
|
262
|
+
'020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
|
|
263
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '2147483647 4259840 ADD CHECKSEQUENCEVERIFY 1']],
|
|
264
|
+
'020000000100010000000000000000000000000000000000000000000000000000000000000000000000000040000100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
|
|
265
|
+
['Valid CHECKSEQUENCEVERIFY in scriptSig'],
|
|
266
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '1']],
|
|
267
|
+
'02000000010001000000000000000000000000000000000000000000000000000000000000000000000251b2010000000100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
|
|
268
|
+
['Valid CHECKSEQUENCEVERIFY in redeemScript'],
|
|
269
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, 'HASH160 0x14 0x7c17aff532f22beb54069942f9bf567a66133eaf EQUAL']],
|
|
270
|
+
'0200000001000100000000000000000000000000000000000000000000000000000000000000000000030251b2010000000100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
|
|
271
|
+
['Unknown version witness program with empty witness'],
|
|
272
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '0x60 0x14 0x4c9c3dfac4207d5d8cb89df5722cb3d712385e3f', 1000]],
|
|
273
|
+
'010000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff01e803000000000000015100000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
274
|
+
["Non witness Single|AnyoneCanPay hash input's position"],
|
|
275
|
+
[[['0000000000000000000000000000000000000000000000000000000000000100', 0, '0x21 0x03596d3451025c19dbbdeb932d6bf8bfb4ad499b95b6f88db8899efac102e5fc71 CHECKSIG', 1000],
|
|
276
|
+
['0000000000000000000000000000000000000000000000000000000000000100', 1, '0x21 0x03596d3451025c19dbbdeb932d6bf8bfb4ad499b95b6f88db8899efac102e5fc71 CHECKSIG', 1001]],
|
|
277
|
+
'01000000020001000000000000000000000000000000000000000000000000000000000000000000004847304402202a0b4b1294d70540235ae033d78e64b4897ec859c7b6f1b2b1d8a02e1d46006702201445e756d2254b0f1dfda9ab8e1e1bc26df9668077403204f32d16a49a36eb6983ffffffff00010000000000000000000000000000000000000000000000000000000000000100000049483045022100acb96cfdbda6dc94b489fd06f2d720983b5f350e31ba906cdbd800773e80b21c02200d74ea5bdf114212b4bbe9ed82c36d2e369e302dff57cb60d01c428f0bd3daab83ffffffff02e8030000000000000151e903000000000000015100000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
278
|
+
['FindAndDelete tests'],
|
|
279
|
+
['This is a test of FindAndDelete. The first tx is a spend of normal P2SH and the second tx is a spend of bare P2WSH.'],
|
|
280
|
+
['The redeemScript/witnessScript is CHECKSIGVERIFY <0x30450220487fb382c4974de3f7d834c1b617fe15860828c7f96454490edd6d891556dcc9022100baf95feb48f845d5bfc9882eb6aeefa1bc3790e39f59eaa46ff7f15ae626c53e01>.'],
|
|
281
|
+
['The signature is <0x30450220487fb382c4974de3f7d834c1b617fe15860828c7f96454490edd6d891556dcc9022100baf95feb48f845d5bfc9882eb6aeefa1bc3790e39f59eaa46ff7f15ae626c53e01> <pubkey>,'],
|
|
282
|
+
['where the pubkey is obtained through key recovery with sig and correct sighash.'],
|
|
283
|
+
['This is to show that FindAndDelete is applied only to non-segwit scripts'],
|
|
284
|
+
['Non-segwit: correct sighash (with FindAndDelete) = 1ba1fe3bc90c5d1265460e684ce6774e324f0fabdf67619eda729e64e8b6bc08'],
|
|
285
|
+
[[['f18783ace138abac5d3a7a5cf08e88fe6912f267ef936452e0c27d090621c169', 7000, 'HASH160 0x14 0x0c746489e2d83cdbb5b90b432773342ba809c134 EQUAL', 200000]],
|
|
286
|
+
'010000000169c12106097dc2e0526493ef67f21269fe888ef05c7a3a5dacab38e1ac8387f1581b0000b64830450220487fb382c4974de3f7d834c1b617fe15860828c7f96454490edd6d891556dcc9022100baf95feb48f845d5bfc9882eb6aeefa1bc3790e39f59eaa46ff7f15ae626c53e0121037a3fb04bcdb09eba90f69961ba1692a3528e45e67c85b200df820212d7594d334aad4830450220487fb382c4974de3f7d834c1b617fe15860828c7f96454490edd6d891556dcc9022100baf95feb48f845d5bfc9882eb6aeefa1bc3790e39f59eaa46ff7f15ae626c53e01ffffffff0101000000000000000000000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
287
|
+
['This is multisig version of the FindAndDelete tests'],
|
|
288
|
+
['Script is 2 CHECKMULTISIGVERIFY <sig1> <sig2> DROP'],
|
|
289
|
+
['52af4830450220487fb382c4974de3f7d834c1b617fe15860828c7f96454490edd6d891556dcc9022100baf95feb48f845d5bfc9882eb6aeefa1bc3790e39f59eaa46ff7f15ae626c53e0148304502205286f726690b2e9b0207f0345711e63fa7012045b9eb0f19c2458ce1db90cf43022100e89f17f86abc5b149eba4115d4f128bcf45d77fb3ecdd34f594091340c0395960175'],
|
|
290
|
+
['Signature is 0 <sig1> <sig2> 2 <key1> <key2>'],
|
|
291
|
+
['Non-segwit: correct sighash (with FindAndDelete) = 1d50f00ba4db2917b903b0ec5002e017343bb38876398c9510570f5dce099295'],
|
|
292
|
+
[[['9628667ad48219a169b41b020800162287d2c0f713c04157e95c484a8dcb7592', 7000, 'HASH160 0x14 0x5748407f5ca5cdca53ba30b79040260770c9ee1b EQUAL', 200000]],
|
|
293
|
+
'01000000019275cb8d4a485ce95741c013f7c0d28722160008021bb469a11982d47a662896581b0000fd6f01004830450220487fb382c4974de3f7d834c1b617fe15860828c7f96454490edd6d891556dcc9022100baf95feb48f845d5bfc9882eb6aeefa1bc3790e39f59eaa46ff7f15ae626c53e0148304502205286f726690b2e9b0207f0345711e63fa7012045b9eb0f19c2458ce1db90cf43022100e89f17f86abc5b149eba4115d4f128bcf45d77fb3ecdd34f594091340c03959601522102cd74a2809ffeeed0092bc124fd79836706e41f048db3f6ae9df8708cefb83a1c2102e615999372426e46fd107b76eaf007156a507584aa2cc21de9eee3bdbd26d36c4c9552af4830450220487fb382c4974de3f7d834c1b617fe15860828c7f96454490edd6d891556dcc9022100baf95feb48f845d5bfc9882eb6aeefa1bc3790e39f59eaa46ff7f15ae626c53e0148304502205286f726690b2e9b0207f0345711e63fa7012045b9eb0f19c2458ce1db90cf43022100e89f17f86abc5b149eba4115d4f128bcf45d77fb3ecdd34f594091340c0395960175ffffffff0101000000000000000000000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
|
|
294
|
+
['Make diffs cleaner by leaving a comment here without comma at the end']
|
|
295
|
+
];
|
|
296
|
+
//# sourceMappingURL=tx.valid.vectors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tx.valid.vectors.js","sourceRoot":"","sources":["../../../../../src/transaction/__tests/tx.valid.vectors.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,11 +3,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
6
|
+
const DefaultHttpClient_1 = require("../http/DefaultHttpClient");
|
|
7
|
+
const Random_1 = __importDefault(require("../../primitives/Random"));
|
|
8
|
+
const utils_1 = require("../../primitives/utils");
|
|
9
9
|
function defaultDeploymentId() {
|
|
10
|
-
return `ts-sdk-${(0,
|
|
10
|
+
return `ts-sdk-${(0, utils_1.toHex)((0, Random_1.default)(16))}`;
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
13
13
|
* Represents an ARC transaction broadcaster.
|
|
@@ -15,17 +15,17 @@ function defaultDeploymentId() {
|
|
|
15
15
|
class ARC {
|
|
16
16
|
constructor(URL, config) {
|
|
17
17
|
this.URL = URL;
|
|
18
|
-
if (typeof config ===
|
|
18
|
+
if (typeof config === "string") {
|
|
19
19
|
this.apiKey = config;
|
|
20
|
-
this.httpClient = (0,
|
|
20
|
+
this.httpClient = (0, DefaultHttpClient_1.defaultHttpClient)();
|
|
21
21
|
this.deploymentId = defaultDeploymentId();
|
|
22
22
|
this.callbackToken = undefined;
|
|
23
23
|
this.callbackUrl = undefined;
|
|
24
24
|
}
|
|
25
25
|
else {
|
|
26
|
-
const { apiKey, deploymentId, httpClient, callbackToken, callbackUrl, headers } = config !== null && config !== void 0 ? config : {};
|
|
26
|
+
const { apiKey, deploymentId, httpClient, callbackToken, callbackUrl, headers, } = config !== null && config !== void 0 ? config : {};
|
|
27
27
|
this.apiKey = apiKey;
|
|
28
|
-
this.httpClient = httpClient !== null && httpClient !== void 0 ? httpClient : (0,
|
|
28
|
+
this.httpClient = httpClient !== null && httpClient !== void 0 ? httpClient : (0, DefaultHttpClient_1.defaultHttpClient)();
|
|
29
29
|
this.deploymentId = deploymentId !== null && deploymentId !== void 0 ? deploymentId : defaultDeploymentId();
|
|
30
30
|
this.callbackToken = callbackToken;
|
|
31
31
|
this.callbackUrl = callbackUrl;
|
|
@@ -37,17 +37,17 @@ class ARC {
|
|
|
37
37
|
*/
|
|
38
38
|
requestHeaders() {
|
|
39
39
|
const headers = {
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
"Content-Type": "application/json",
|
|
41
|
+
"XDeployment-ID": this.deploymentId,
|
|
42
42
|
};
|
|
43
43
|
if (this.apiKey) {
|
|
44
44
|
headers.Authorization = `Bearer ${this.apiKey}`;
|
|
45
45
|
}
|
|
46
46
|
if (this.callbackUrl) {
|
|
47
|
-
headers[
|
|
47
|
+
headers["X-CallbackUrl"] = this.callbackUrl;
|
|
48
48
|
}
|
|
49
49
|
if (this.callbackToken) {
|
|
50
|
-
headers[
|
|
50
|
+
headers["X-CallbackToken"] = this.callbackToken;
|
|
51
51
|
}
|
|
52
52
|
if (this.headers) {
|
|
53
53
|
for (const key in this.headers) {
|
|
@@ -68,7 +68,8 @@ class ARC {
|
|
|
68
68
|
rawTx = tx.toHexEF();
|
|
69
69
|
}
|
|
70
70
|
catch (error) {
|
|
71
|
-
if (error.message ===
|
|
71
|
+
if (error.message ===
|
|
72
|
+
"All inputs must have source transactions when serializing to EF format") {
|
|
72
73
|
rawTx = tx.toHex();
|
|
73
74
|
}
|
|
74
75
|
else {
|
|
@@ -76,18 +77,18 @@ class ARC {
|
|
|
76
77
|
}
|
|
77
78
|
}
|
|
78
79
|
const requestOptions = {
|
|
79
|
-
method:
|
|
80
|
+
method: "POST",
|
|
80
81
|
headers: this.requestHeaders(),
|
|
81
|
-
data: { rawTx }
|
|
82
|
+
data: { rawTx },
|
|
82
83
|
};
|
|
83
84
|
try {
|
|
84
85
|
const response = await this.httpClient.request(`${this.URL}/v1/tx`, requestOptions);
|
|
85
86
|
if (response.ok) {
|
|
86
87
|
const { txid, extraInfo, txStatus, competingTxs } = response.data;
|
|
87
88
|
let broadcastRes = {
|
|
88
|
-
status:
|
|
89
|
+
status: "success",
|
|
89
90
|
txid,
|
|
90
|
-
message: `${txStatus} ${extraInfo}
|
|
91
|
+
message: `${txStatus} ${extraInfo}`,
|
|
91
92
|
};
|
|
92
93
|
if (competingTxs) {
|
|
93
94
|
broadcastRes.competingTxs = competingTxs;
|
|
@@ -97,23 +98,25 @@ class ARC {
|
|
|
97
98
|
else {
|
|
98
99
|
const st = typeof response.status;
|
|
99
100
|
const r = {
|
|
100
|
-
status:
|
|
101
|
-
code: st ===
|
|
102
|
-
|
|
101
|
+
status: "error",
|
|
102
|
+
code: st === "number" || st === "string"
|
|
103
|
+
? response.status.toString()
|
|
104
|
+
: "ERR_UNKNOWN",
|
|
105
|
+
description: "Unknown error",
|
|
103
106
|
};
|
|
104
107
|
let d = response.data;
|
|
105
|
-
if (typeof d ===
|
|
108
|
+
if (typeof d === "string") {
|
|
106
109
|
try {
|
|
107
110
|
d = JSON.parse(response.data);
|
|
108
111
|
}
|
|
109
112
|
catch { }
|
|
110
113
|
}
|
|
111
|
-
if (typeof d ===
|
|
114
|
+
if (typeof d === "object") {
|
|
112
115
|
r.more = d;
|
|
113
|
-
if (typeof d.txid ===
|
|
116
|
+
if (typeof d.txid === "string") {
|
|
114
117
|
r.txid = d.txid;
|
|
115
118
|
}
|
|
116
|
-
if (typeof d.detail ===
|
|
119
|
+
if (typeof d.detail === "string") {
|
|
117
120
|
r.description = d.detail;
|
|
118
121
|
}
|
|
119
122
|
}
|
|
@@ -122,11 +125,11 @@ class ARC {
|
|
|
122
125
|
}
|
|
123
126
|
catch (error) {
|
|
124
127
|
return {
|
|
125
|
-
status:
|
|
126
|
-
code:
|
|
127
|
-
description: typeof error.message ===
|
|
128
|
+
status: "error",
|
|
129
|
+
code: "500",
|
|
130
|
+
description: typeof error.message === "string"
|
|
128
131
|
? error.message
|
|
129
|
-
:
|
|
132
|
+
: "Internal Server Error",
|
|
130
133
|
};
|
|
131
134
|
}
|
|
132
135
|
}
|
|
@@ -138,21 +141,22 @@ class ARC {
|
|
|
138
141
|
* @returns {Promise<Array<object>>} A promise that resolves to an array of objects.
|
|
139
142
|
*/
|
|
140
143
|
async broadcastMany(txs) {
|
|
141
|
-
const rawTxs = txs.map(tx => {
|
|
144
|
+
const rawTxs = txs.map((tx) => {
|
|
142
145
|
try {
|
|
143
146
|
return { rawTx: tx.toHexEF() };
|
|
144
147
|
}
|
|
145
148
|
catch (error) {
|
|
146
|
-
if (error.message ===
|
|
149
|
+
if (error.message ===
|
|
150
|
+
"All inputs must have source transactions when serializing to EF format") {
|
|
147
151
|
return { rawTx: tx.toHex() };
|
|
148
152
|
}
|
|
149
153
|
throw error;
|
|
150
154
|
}
|
|
151
155
|
});
|
|
152
156
|
const requestOptions = {
|
|
153
|
-
method:
|
|
157
|
+
method: "POST",
|
|
154
158
|
headers: this.requestHeaders(),
|
|
155
|
-
data: rawTxs
|
|
159
|
+
data: rawTxs,
|
|
156
160
|
};
|
|
157
161
|
try {
|
|
158
162
|
const response = await this.httpClient.request(`${this.URL}/v1/txs`, requestOptions);
|
|
@@ -160,9 +164,9 @@ class ARC {
|
|
|
160
164
|
}
|
|
161
165
|
catch (error) {
|
|
162
166
|
const errorResponse = {
|
|
163
|
-
status:
|
|
164
|
-
code:
|
|
165
|
-
description: error.message ||
|
|
167
|
+
status: "error",
|
|
168
|
+
code: "500",
|
|
169
|
+
description: error.message || "Internal Server Error",
|
|
166
170
|
};
|
|
167
171
|
return txs.map(() => errorResponse);
|
|
168
172
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ARC.js","sourceRoot":"","sources":["../../../../../src/transaction/broadcasters/ARC.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"ARC.js","sourceRoot":"","sources":["../../../../../src/transaction/broadcasters/ARC.ts"],"names":[],"mappings":"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"}
|