@bsv/sdk 1.3.11 → 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 +26 -24
- package/dist/cjs/src/auth/certificates/MasterCertificate.js.map +1 -1
- package/dist/cjs/src/auth/certificates/VerifiableCertificate.js +8 -8
- 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 +36 -23
- 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 +33 -24
- package/dist/esm/src/auth/certificates/MasterCertificate.js.map +1 -1
- package/dist/esm/src/auth/certificates/VerifiableCertificate.js +15 -8
- 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 +42 -25
- 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 +3 -3
- package/dist/types/src/auth/certificates/Certificate.d.ts.map +1 -1
- package/dist/types/src/auth/certificates/MasterCertificate.d.ts +11 -11
- package/dist/types/src/auth/certificates/MasterCertificate.d.ts.map +1 -1
- package/dist/types/src/auth/certificates/VerifiableCertificate.d.ts +4 -4
- 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 +14 -14
- 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 +71 -63
- 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 +140 -140
- 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 +17 -8
- package/src/auth/certificates/MasterCertificate.ts +111 -55
- package/src/auth/certificates/VerifiableCertificate.ts +31 -11
- 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 +60 -15
- 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 +73 -28
- 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
package/src/primitives/Hash.ts
CHANGED
|
@@ -50,7 +50,10 @@ abstract class BaseHash {
|
|
|
50
50
|
hmacStrength: number
|
|
51
51
|
|
|
52
52
|
constructor (
|
|
53
|
-
blockSize: number,
|
|
53
|
+
blockSize: number,
|
|
54
|
+
outSize: number,
|
|
55
|
+
hmacStrength: number,
|
|
56
|
+
padLength: number
|
|
54
57
|
) {
|
|
55
58
|
this.pending = null
|
|
56
59
|
this.pendingTotal = 0
|
|
@@ -106,7 +109,9 @@ abstract class BaseHash {
|
|
|
106
109
|
// Process pending data in blocks
|
|
107
110
|
const r = msg.length % this._delta8
|
|
108
111
|
this.pending = msg.slice(msg.length - r, msg.length)
|
|
109
|
-
if (this.pending.length === 0) {
|
|
112
|
+
if (this.pending.length === 0) {
|
|
113
|
+
this.pending = null
|
|
114
|
+
}
|
|
110
115
|
|
|
111
116
|
msg = join32(msg, 0, msg.length - r, this.endian)
|
|
112
117
|
for (let i = 0; i < msg.length; i += this._delta32) {
|
|
@@ -132,7 +137,7 @@ abstract class BaseHash {
|
|
|
132
137
|
assert(this.pending === null)
|
|
133
138
|
|
|
134
139
|
return this._digest()
|
|
135
|
-
}
|
|
140
|
+
}
|
|
136
141
|
|
|
137
142
|
/**
|
|
138
143
|
* Finalizes the hash computation and returns the hash value/result as a hex string.
|
|
@@ -149,7 +154,7 @@ abstract class BaseHash {
|
|
|
149
154
|
assert(this.pending === null)
|
|
150
155
|
|
|
151
156
|
return this._digestHex()
|
|
152
|
-
}
|
|
157
|
+
}
|
|
153
158
|
|
|
154
159
|
/**
|
|
155
160
|
* [Private Method] Used internally to prepare the padding for the final stage of the hash computation.
|
|
@@ -159,20 +164,25 @@ abstract class BaseHash {
|
|
|
159
164
|
*
|
|
160
165
|
* @returns Returns an array denoting the padding.
|
|
161
166
|
*/
|
|
162
|
-
private _pad (): number[] {
|
|
167
|
+
private _pad (): number[] {
|
|
168
|
+
//
|
|
163
169
|
let len = this.pendingTotal
|
|
164
170
|
const bytes = this._delta8
|
|
165
171
|
const k = bytes - ((len + this.padLength) % bytes)
|
|
166
172
|
const res = new Array(k + this.padLength)
|
|
167
173
|
res[0] = 0x80
|
|
168
174
|
let i
|
|
169
|
-
for (i = 1; i < k; i++) {
|
|
175
|
+
for (i = 1; i < k; i++) {
|
|
176
|
+
res[i] = 0
|
|
177
|
+
}
|
|
170
178
|
|
|
171
179
|
// Append length
|
|
172
180
|
len <<= 3
|
|
173
181
|
let t
|
|
174
182
|
if (this.endian === 'big') {
|
|
175
|
-
for (t = 8; t < this.padLength; t++) {
|
|
183
|
+
for (t = 8; t < this.padLength; t++) {
|
|
184
|
+
res[i++] = 0
|
|
185
|
+
}
|
|
176
186
|
|
|
177
187
|
res[i++] = 0
|
|
178
188
|
res[i++] = 0
|
|
@@ -192,7 +202,9 @@ abstract class BaseHash {
|
|
|
192
202
|
res[i++] = 0
|
|
193
203
|
res[i++] = 0
|
|
194
204
|
|
|
195
|
-
for (t = 8; t < this.padLength; t++) {
|
|
205
|
+
for (t = 8; t < this.padLength; t++) {
|
|
206
|
+
res[i++] = 0
|
|
207
|
+
}
|
|
196
208
|
}
|
|
197
209
|
|
|
198
210
|
return res
|
|
@@ -200,13 +212,13 @@ abstract class BaseHash {
|
|
|
200
212
|
}
|
|
201
213
|
|
|
202
214
|
function isSurrogatePair (msg: string, i: number): boolean {
|
|
203
|
-
if ((msg.charCodeAt(i) &
|
|
215
|
+
if ((msg.charCodeAt(i) & 0xfc00) !== 0xd800) {
|
|
204
216
|
return false
|
|
205
217
|
}
|
|
206
218
|
if (i < 0 || i + 1 >= msg.length) {
|
|
207
219
|
return false
|
|
208
220
|
}
|
|
209
|
-
return (msg.charCodeAt(i + 1) &
|
|
221
|
+
return (msg.charCodeAt(i + 1) & 0xfc00) === 0xdc00
|
|
210
222
|
}
|
|
211
223
|
|
|
212
224
|
/**
|
|
@@ -215,14 +227,21 @@ function isSurrogatePair (msg: string, i: number): boolean {
|
|
|
215
227
|
* @param enc Optional. Encoding to use if msg is string. Default is 'utf8'.
|
|
216
228
|
* @returns array of byte values from msg. If msg is an array, a copy is returned.
|
|
217
229
|
*/
|
|
218
|
-
export function toArray (
|
|
219
|
-
|
|
220
|
-
|
|
230
|
+
export function toArray (
|
|
231
|
+
msg: number[] | string,
|
|
232
|
+
enc?: 'hex' | 'utf8'
|
|
233
|
+
): number[] {
|
|
234
|
+
if (Array.isArray(msg)) {
|
|
235
|
+
return msg.slice()
|
|
236
|
+
}
|
|
237
|
+
if (!(msg as unknown as boolean)) {
|
|
238
|
+
return []
|
|
239
|
+
}
|
|
221
240
|
const res = []
|
|
222
241
|
if (typeof msg === 'string') {
|
|
223
242
|
if (enc !== 'hex') {
|
|
224
243
|
// Inspired by stringToUtf8ByteArray() in closure-library by Google
|
|
225
|
-
// https://github.com/google/closure-library/blob/8598d87242af59aac233270742c8984e2b2bdbe0/closure/goog/crypt/crypt
|
|
244
|
+
// https://github.com/google/closure-library/blob/8598d87242af59aac233270742c8984e2b2bdbe0/closure/goog/crypt/crypt#L117-L143
|
|
226
245
|
// Apache License 2.0
|
|
227
246
|
// https://github.com/google/closure-library/blob/master/LICENSE
|
|
228
247
|
let p = 0
|
|
@@ -234,7 +253,7 @@ export function toArray (msg: number[] | string, enc?: 'hex' | 'utf8'): number[]
|
|
|
234
253
|
res[p++] = (c >> 6) | 192
|
|
235
254
|
res[p++] = (c & 63) | 128
|
|
236
255
|
} else if (isSurrogatePair(msg, i)) {
|
|
237
|
-
c = 0x10000 + ((c &
|
|
256
|
+
c = 0x10000 + ((c & 0x03ff) << 10) + (msg.charCodeAt(++i) & 0x03ff)
|
|
238
257
|
res[p++] = (c >> 18) | 240
|
|
239
258
|
res[p++] = ((c >> 12) & 63) | 128
|
|
240
259
|
res[p++] = ((c >> 6) & 63) | 128
|
|
@@ -246,7 +265,7 @@ export function toArray (msg: number[] | string, enc?: 'hex' | 'utf8'): number[]
|
|
|
246
265
|
}
|
|
247
266
|
}
|
|
248
267
|
} else {
|
|
249
|
-
msg = msg.replace(/[^a-z0-9]+/
|
|
268
|
+
msg = msg.replace(/[^a-z0-9]+/gi, '')
|
|
250
269
|
if (msg.length % 2 !== 0) {
|
|
251
270
|
msg = '0' + msg
|
|
252
271
|
}
|
|
@@ -256,13 +275,16 @@ export function toArray (msg: number[] | string, enc?: 'hex' | 'utf8'): number[]
|
|
|
256
275
|
}
|
|
257
276
|
} else {
|
|
258
277
|
msg = msg as number[]
|
|
259
|
-
for (let i = 0; i < msg.length; i++) {
|
|
278
|
+
for (let i = 0; i < msg.length; i++) {
|
|
279
|
+
res[i] = msg[i] | 0
|
|
280
|
+
}
|
|
260
281
|
}
|
|
261
282
|
return res
|
|
262
283
|
}
|
|
263
284
|
|
|
264
285
|
function htonl (w: number): number {
|
|
265
|
-
const res =
|
|
286
|
+
const res =
|
|
287
|
+
(w >>> 24) |
|
|
266
288
|
((w >>> 8) & 0xff00) |
|
|
267
289
|
((w << 8) & 0xff0000) |
|
|
268
290
|
((w & 0xff) << 24)
|
|
@@ -273,7 +295,9 @@ function toHex32 (msg: number[], endian?: 'little' | 'big'): string {
|
|
|
273
295
|
let res = ''
|
|
274
296
|
for (let i = 0; i < msg.length; i++) {
|
|
275
297
|
let w = msg[i]
|
|
276
|
-
if (endian === 'little') {
|
|
298
|
+
if (endian === 'little') {
|
|
299
|
+
w = htonl(w)
|
|
300
|
+
}
|
|
277
301
|
res += zero8(w.toString(16))
|
|
278
302
|
}
|
|
279
303
|
return res
|
|
@@ -355,19 +379,29 @@ function SUM32_4 (a: number, b: number, c: number, d: number): number {
|
|
|
355
379
|
}
|
|
356
380
|
|
|
357
381
|
function SUM32_5 (
|
|
358
|
-
a: number,
|
|
382
|
+
a: number,
|
|
383
|
+
b: number,
|
|
384
|
+
c: number,
|
|
385
|
+
d: number,
|
|
386
|
+
e: number
|
|
359
387
|
): number {
|
|
360
388
|
return (a + b + c + d + e) >>> 0
|
|
361
389
|
}
|
|
362
390
|
|
|
363
391
|
function FT_1 (s, x, y, z): number {
|
|
364
|
-
if (s === 0) {
|
|
365
|
-
|
|
366
|
-
|
|
392
|
+
if (s === 0) {
|
|
393
|
+
return ch32(x, y, z)
|
|
394
|
+
}
|
|
395
|
+
if (s === 1 || s === 3) {
|
|
396
|
+
return p32(x, y, z)
|
|
397
|
+
}
|
|
398
|
+
if (s === 2) {
|
|
399
|
+
return maj32(x, y, z)
|
|
400
|
+
}
|
|
367
401
|
}
|
|
368
402
|
|
|
369
403
|
function ch32 (x, y, z): number {
|
|
370
|
-
return (x & y) ^ (
|
|
404
|
+
return (x & y) ^ (~x & z)
|
|
371
405
|
}
|
|
372
406
|
|
|
373
407
|
function maj32 (x, y, z): number {
|
|
@@ -395,47 +429,73 @@ function G1_256 (x): number {
|
|
|
395
429
|
}
|
|
396
430
|
|
|
397
431
|
const r = [
|
|
398
|
-
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13
|
|
432
|
+
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 4, 13, 1, 10, 6, 15,
|
|
433
|
+
3, 12, 0, 9, 5, 2, 14, 11, 8, 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11,
|
|
434
|
+
5, 12, 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, 4, 0, 5, 9, 7,
|
|
435
|
+
12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13
|
|
403
436
|
]
|
|
404
437
|
|
|
405
438
|
const rh = [
|
|
406
|
-
5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11
|
|
439
|
+
5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 6, 11, 3, 7, 0, 13, 5,
|
|
440
|
+
10, 14, 15, 8, 12, 4, 9, 1, 2, 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0,
|
|
441
|
+
4, 13, 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, 12, 15, 10, 4, 1,
|
|
442
|
+
5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11
|
|
411
443
|
]
|
|
412
444
|
|
|
413
445
|
const s = [
|
|
414
|
-
11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,
|
|
415
|
-
7,
|
|
416
|
-
11,
|
|
417
|
-
11,
|
|
418
|
-
9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6
|
|
446
|
+
11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, 7, 6, 8, 13, 11, 9, 7,
|
|
447
|
+
15, 7, 12, 15, 9, 11, 7, 13, 12, 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5,
|
|
448
|
+
12, 7, 5, 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, 9, 15, 5,
|
|
449
|
+
11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6
|
|
419
450
|
]
|
|
420
451
|
|
|
421
452
|
const sh = [
|
|
422
|
-
8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,
|
|
423
|
-
9,
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11
|
|
453
|
+
8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, 9, 13, 15, 7, 12, 8,
|
|
454
|
+
9, 11, 7, 7, 12, 7, 6, 15, 13, 11, 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14,
|
|
455
|
+
13, 13, 7, 5, 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, 8, 5,
|
|
456
|
+
12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11
|
|
427
457
|
]
|
|
428
458
|
|
|
429
459
|
function f (j, x, y, z): number {
|
|
430
|
-
if (j <= 15) {
|
|
460
|
+
if (j <= 15) {
|
|
461
|
+
return x ^ y ^ z
|
|
462
|
+
} else if (j <= 31) {
|
|
463
|
+
return (x & y) | (~x & z)
|
|
464
|
+
} else if (j <= 47) {
|
|
465
|
+
return (x | ~y) ^ z
|
|
466
|
+
} else if (j <= 63) {
|
|
467
|
+
return (x & z) | (y & ~z)
|
|
468
|
+
} else {
|
|
469
|
+
return x ^ (y | ~z)
|
|
470
|
+
}
|
|
431
471
|
}
|
|
432
472
|
|
|
433
473
|
function K (j): number {
|
|
434
|
-
if (j <= 15) {
|
|
474
|
+
if (j <= 15) {
|
|
475
|
+
return 0x00000000
|
|
476
|
+
} else if (j <= 31) {
|
|
477
|
+
return 0x5a827999
|
|
478
|
+
} else if (j <= 47) {
|
|
479
|
+
return 0x6ed9eba1
|
|
480
|
+
} else if (j <= 63) {
|
|
481
|
+
return 0x8f1bbcdc
|
|
482
|
+
} else {
|
|
483
|
+
return 0xa953fd4e
|
|
484
|
+
}
|
|
435
485
|
}
|
|
436
486
|
|
|
437
487
|
function Kh (j): number {
|
|
438
|
-
if (j <= 15) {
|
|
488
|
+
if (j <= 15) {
|
|
489
|
+
return 0x50a28be6
|
|
490
|
+
} else if (j <= 31) {
|
|
491
|
+
return 0x5c4dd124
|
|
492
|
+
} else if (j <= 47) {
|
|
493
|
+
return 0x6d703ef3
|
|
494
|
+
} else if (j <= 63) {
|
|
495
|
+
return 0x7a6d76e9
|
|
496
|
+
} else {
|
|
497
|
+
return 0x00000000
|
|
498
|
+
}
|
|
439
499
|
}
|
|
440
500
|
|
|
441
501
|
function sum64 (buf, pos, ah, al) {
|
|
@@ -561,10 +621,9 @@ export class RIPEMD160 extends BaseHash {
|
|
|
561
621
|
let T
|
|
562
622
|
for (let j = 0; j < 80; j++) {
|
|
563
623
|
T = sum32(
|
|
564
|
-
rotl32(
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
E)
|
|
624
|
+
rotl32(SUM32_4(A, f(j, B, C, D), msg[r[j] + start], K(j)), s[j]),
|
|
625
|
+
E
|
|
626
|
+
)
|
|
568
627
|
A = E
|
|
569
628
|
E = D
|
|
570
629
|
D = rotl32(C, 10)
|
|
@@ -573,8 +632,10 @@ export class RIPEMD160 extends BaseHash {
|
|
|
573
632
|
T = sum32(
|
|
574
633
|
rotl32(
|
|
575
634
|
SUM32_4(Ah, f(79 - j, Bh, Ch, Dh), msg[rh[j] + start], Kh(j)),
|
|
576
|
-
sh[j]
|
|
577
|
-
|
|
635
|
+
sh[j]
|
|
636
|
+
),
|
|
637
|
+
Eh
|
|
638
|
+
)
|
|
578
639
|
Ah = Eh
|
|
579
640
|
Eh = Dh
|
|
580
641
|
Dh = rotl32(Ch, 10)
|
|
@@ -625,25 +686,20 @@ export class SHA256 extends BaseHash {
|
|
|
625
686
|
constructor () {
|
|
626
687
|
super(512, 256, 192, 64)
|
|
627
688
|
this.h = [
|
|
628
|
-
0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,
|
|
629
|
-
|
|
689
|
+
0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c,
|
|
690
|
+
0x1f83d9ab, 0x5be0cd19
|
|
630
691
|
]
|
|
631
692
|
this.k = [
|
|
632
|
-
0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,
|
|
643
|
-
0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
|
|
644
|
-
0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,
|
|
645
|
-
0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
|
|
646
|
-
0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,
|
|
693
|
+
0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1,
|
|
694
|
+
0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,
|
|
695
|
+
0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786,
|
|
696
|
+
0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
|
|
697
|
+
0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147,
|
|
698
|
+
0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,
|
|
699
|
+
0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b,
|
|
700
|
+
0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
|
|
701
|
+
0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a,
|
|
702
|
+
0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,
|
|
647
703
|
0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2
|
|
648
704
|
]
|
|
649
705
|
this.W = new Array(64)
|
|
@@ -691,7 +747,7 @@ export class SHA256 extends BaseHash {
|
|
|
691
747
|
this.h[5] = sum32(this.h[5], f)
|
|
692
748
|
this.h[6] = sum32(this.h[6], g)
|
|
693
749
|
this.h[7] = sum32(this.h[7], h)
|
|
694
|
-
}
|
|
750
|
+
}
|
|
695
751
|
|
|
696
752
|
_digest (): number[] {
|
|
697
753
|
return split32(this.h, 'big')
|
|
@@ -728,13 +784,8 @@ export class SHA1 extends BaseHash {
|
|
|
728
784
|
|
|
729
785
|
constructor () {
|
|
730
786
|
super(512, 160, 80, 64)
|
|
731
|
-
this.k = [
|
|
732
|
-
|
|
733
|
-
0x8F1BBCDC, 0xCA62C1D6
|
|
734
|
-
]
|
|
735
|
-
this.h = [
|
|
736
|
-
0x67452301, 0xefcdab89, 0x98badcfe,
|
|
737
|
-
0x10325476, 0xc3d2e1f0]
|
|
787
|
+
this.k = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6]
|
|
788
|
+
this.h = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0]
|
|
738
789
|
this.W = new Array(80)
|
|
739
790
|
}
|
|
740
791
|
|
|
@@ -742,7 +793,9 @@ export class SHA1 extends BaseHash {
|
|
|
742
793
|
const W = this.W
|
|
743
794
|
|
|
744
795
|
let i: number
|
|
745
|
-
for (i = 0; i < 16; i++) {
|
|
796
|
+
for (i = 0; i < 16; i++) {
|
|
797
|
+
W[i] = msg[start + i]
|
|
798
|
+
}
|
|
746
799
|
|
|
747
800
|
for (; i < W.length; i++) {
|
|
748
801
|
W[i] = rotl32(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1)
|
|
@@ -807,54 +860,37 @@ export class SHA512 extends BaseHash {
|
|
|
807
860
|
constructor () {
|
|
808
861
|
super(1024, 512, 192, 128)
|
|
809
862
|
this.h = [
|
|
810
|
-
0x6a09e667, 0xf3bcc908,
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
0x510e527f, 0xade682d1,
|
|
815
|
-
0x9b05688c, 0x2b3e6c1f,
|
|
816
|
-
0x1f83d9ab, 0xfb41bd6b,
|
|
817
|
-
0x5be0cd19, 0x137e2179]
|
|
863
|
+
0x6a09e667, 0xf3bcc908, 0xbb67ae85, 0x84caa73b, 0x3c6ef372, 0xfe94f82b,
|
|
864
|
+
0xa54ff53a, 0x5f1d36f1, 0x510e527f, 0xade682d1, 0x9b05688c, 0x2b3e6c1f,
|
|
865
|
+
0x1f83d9ab, 0xfb41bd6b, 0x5be0cd19, 0x137e2179
|
|
866
|
+
]
|
|
818
867
|
this.k = [
|
|
819
|
-
0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,
|
|
846
|
-
0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,
|
|
847
|
-
0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,
|
|
848
|
-
0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,
|
|
849
|
-
0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,
|
|
850
|
-
0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,
|
|
851
|
-
0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,
|
|
852
|
-
0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,
|
|
853
|
-
0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,
|
|
854
|
-
0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,
|
|
855
|
-
0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,
|
|
856
|
-
0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,
|
|
857
|
-
0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,
|
|
868
|
+
0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd, 0xb5c0fbcf, 0xec4d3b2f,
|
|
869
|
+
0xe9b5dba5, 0x8189dbbc, 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,
|
|
870
|
+
0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118, 0xd807aa98, 0xa3030242,
|
|
871
|
+
0x12835b01, 0x45706fbe, 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,
|
|
872
|
+
0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1, 0x9bdc06a7, 0x25c71235,
|
|
873
|
+
0xc19bf174, 0xcf692694, 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,
|
|
874
|
+
0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65, 0x2de92c6f, 0x592b0275,
|
|
875
|
+
0x4a7484aa, 0x6ea6e483, 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,
|
|
876
|
+
0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210, 0xb00327c8, 0x98fb213f,
|
|
877
|
+
0xbf597fc7, 0xbeef0ee4, 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,
|
|
878
|
+
0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70, 0x27b70a85, 0x46d22ffc,
|
|
879
|
+
0x2e1b2138, 0x5c26c926, 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,
|
|
880
|
+
0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8, 0x81c2c92e, 0x47edaee6,
|
|
881
|
+
0x92722c85, 0x1482353b, 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,
|
|
882
|
+
0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30, 0xd192e819, 0xd6ef5218,
|
|
883
|
+
0xd6990624, 0x5565a910, 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,
|
|
884
|
+
0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53, 0x2748774c, 0xdf8eeb99,
|
|
885
|
+
0x34b0bcb5, 0xe19b48a8, 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,
|
|
886
|
+
0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3, 0x748f82ee, 0x5defb2fc,
|
|
887
|
+
0x78a5636f, 0x43172f60, 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,
|
|
888
|
+
0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9, 0xbef9a3f7, 0xb2c67915,
|
|
889
|
+
0xc67178f2, 0xe372532b, 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,
|
|
890
|
+
0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178, 0x06f067aa, 0x72176fba,
|
|
891
|
+
0x0a637dc5, 0xa2c898a6, 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,
|
|
892
|
+
0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493, 0x3c9ebe0a, 0x15c9bebc,
|
|
893
|
+
0x431d67c4, 0x9c100d4c, 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,
|
|
858
894
|
0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817
|
|
859
895
|
]
|
|
860
896
|
this.W = new Array(160)
|
|
@@ -865,7 +901,9 @@ export class SHA512 extends BaseHash {
|
|
|
865
901
|
|
|
866
902
|
// 32 x 32bit words
|
|
867
903
|
let i
|
|
868
|
-
for (i = 0; i < 32; i++) {
|
|
904
|
+
for (i = 0; i < 32; i++) {
|
|
905
|
+
W[i] = msg[start + i]
|
|
906
|
+
}
|
|
869
907
|
for (; i < W.length; i += 2) {
|
|
870
908
|
const c0_hi = g1_512_hi(W[i - 4], W[i - 3]) // i - 2
|
|
871
909
|
const c0_lo = g1_512_lo(W[i - 4], W[i - 3])
|
|
@@ -876,16 +914,17 @@ export class SHA512 extends BaseHash {
|
|
|
876
914
|
const c3_hi = W[i - 32] // i - 16
|
|
877
915
|
const c3_lo = W[i - 31]
|
|
878
916
|
|
|
879
|
-
W[i] = sum64_4_hi(
|
|
880
|
-
c0_hi, c0_lo,
|
|
881
|
-
c1_hi, c1_lo,
|
|
882
|
-
c2_hi, c2_lo,
|
|
883
|
-
c3_hi, c3_lo)
|
|
917
|
+
W[i] = sum64_4_hi(c0_hi, c0_lo, c1_hi, c1_lo, c2_hi, c2_lo, c3_hi, c3_lo)
|
|
884
918
|
W[i + 1] = sum64_4_lo(
|
|
885
|
-
c0_hi,
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
919
|
+
c0_hi,
|
|
920
|
+
c0_lo,
|
|
921
|
+
c1_hi,
|
|
922
|
+
c1_lo,
|
|
923
|
+
c2_hi,
|
|
924
|
+
c2_lo,
|
|
925
|
+
c3_hi,
|
|
926
|
+
c3_lo
|
|
927
|
+
)
|
|
889
928
|
}
|
|
890
929
|
}
|
|
891
930
|
|
|
@@ -925,17 +964,29 @@ export class SHA512 extends BaseHash {
|
|
|
925
964
|
const c4_lo = W[i + 1]
|
|
926
965
|
|
|
927
966
|
const T1_hi = sum64_5_hi(
|
|
928
|
-
c0_hi,
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
967
|
+
c0_hi,
|
|
968
|
+
c0_lo,
|
|
969
|
+
c1_hi,
|
|
970
|
+
c1_lo,
|
|
971
|
+
c2_hi,
|
|
972
|
+
c2_lo,
|
|
973
|
+
c3_hi,
|
|
974
|
+
c3_lo,
|
|
975
|
+
c4_hi,
|
|
976
|
+
c4_lo
|
|
977
|
+
)
|
|
933
978
|
const T1_lo = sum64_5_lo(
|
|
934
|
-
c0_hi,
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
979
|
+
c0_hi,
|
|
980
|
+
c0_lo,
|
|
981
|
+
c1_hi,
|
|
982
|
+
c1_lo,
|
|
983
|
+
c2_hi,
|
|
984
|
+
c2_lo,
|
|
985
|
+
c3_hi,
|
|
986
|
+
c3_lo,
|
|
987
|
+
c4_hi,
|
|
988
|
+
c4_lo
|
|
989
|
+
)
|
|
939
990
|
|
|
940
991
|
c0_hi = s0_512_hi(ah, al)
|
|
941
992
|
c0_lo = s0_512_lo(ah, al)
|
|
@@ -990,26 +1041,34 @@ export class SHA512 extends BaseHash {
|
|
|
990
1041
|
}
|
|
991
1042
|
|
|
992
1043
|
function ch64_hi (xh, xl, yh, yl, zh, zl) {
|
|
993
|
-
let r = (xh & yh) ^ (
|
|
994
|
-
if (r < 0) {
|
|
1044
|
+
let r = (xh & yh) ^ (~xh & zh)
|
|
1045
|
+
if (r < 0) {
|
|
1046
|
+
r += 0x100000000
|
|
1047
|
+
}
|
|
995
1048
|
return r
|
|
996
1049
|
}
|
|
997
1050
|
|
|
998
1051
|
function ch64_lo (xh, xl, yh, yl, zh, zl) {
|
|
999
|
-
let r = (xl & yl) ^ (
|
|
1000
|
-
if (r < 0) {
|
|
1052
|
+
let r = (xl & yl) ^ (~xl & zl)
|
|
1053
|
+
if (r < 0) {
|
|
1054
|
+
r += 0x100000000
|
|
1055
|
+
}
|
|
1001
1056
|
return r
|
|
1002
1057
|
}
|
|
1003
1058
|
|
|
1004
1059
|
function maj64_hi (xh, xl, yh, yl, zh, zl) {
|
|
1005
1060
|
let r = (xh & yh) ^ (xh & zh) ^ (yh & zh)
|
|
1006
|
-
if (r < 0) {
|
|
1061
|
+
if (r < 0) {
|
|
1062
|
+
r += 0x100000000
|
|
1063
|
+
}
|
|
1007
1064
|
return r
|
|
1008
1065
|
}
|
|
1009
1066
|
|
|
1010
1067
|
function maj64_lo (xh, xl, yh, yl, zh, zl) {
|
|
1011
1068
|
let r = (xl & yl) ^ (xl & zl) ^ (yl & zl)
|
|
1012
|
-
if (r < 0) {
|
|
1069
|
+
if (r < 0) {
|
|
1070
|
+
r += 0x100000000
|
|
1071
|
+
}
|
|
1013
1072
|
return r
|
|
1014
1073
|
}
|
|
1015
1074
|
|
|
@@ -1019,7 +1078,9 @@ function s0_512_hi (xh, xl) {
|
|
|
1019
1078
|
const c2_hi = rotr64_hi(xl, xh, 7) // 39
|
|
1020
1079
|
|
|
1021
1080
|
let r = c0_hi ^ c1_hi ^ c2_hi
|
|
1022
|
-
if (r < 0) {
|
|
1081
|
+
if (r < 0) {
|
|
1082
|
+
r += 0x100000000
|
|
1083
|
+
}
|
|
1023
1084
|
return r
|
|
1024
1085
|
}
|
|
1025
1086
|
|
|
@@ -1029,7 +1090,9 @@ function s0_512_lo (xh, xl) {
|
|
|
1029
1090
|
const c2_lo = rotr64_lo(xl, xh, 7) // 39
|
|
1030
1091
|
|
|
1031
1092
|
let r = c0_lo ^ c1_lo ^ c2_lo
|
|
1032
|
-
if (r < 0) {
|
|
1093
|
+
if (r < 0) {
|
|
1094
|
+
r += 0x100000000
|
|
1095
|
+
}
|
|
1033
1096
|
return r
|
|
1034
1097
|
}
|
|
1035
1098
|
|
|
@@ -1039,7 +1102,9 @@ function s1_512_hi (xh, xl) {
|
|
|
1039
1102
|
const c2_hi = rotr64_hi(xl, xh, 9) // 41
|
|
1040
1103
|
|
|
1041
1104
|
let r = c0_hi ^ c1_hi ^ c2_hi
|
|
1042
|
-
if (r < 0) {
|
|
1105
|
+
if (r < 0) {
|
|
1106
|
+
r += 0x100000000
|
|
1107
|
+
}
|
|
1043
1108
|
return r
|
|
1044
1109
|
}
|
|
1045
1110
|
|
|
@@ -1049,7 +1114,9 @@ function s1_512_lo (xh, xl) {
|
|
|
1049
1114
|
const c2_lo = rotr64_lo(xl, xh, 9) // 41
|
|
1050
1115
|
|
|
1051
1116
|
let r = c0_lo ^ c1_lo ^ c2_lo
|
|
1052
|
-
if (r < 0) {
|
|
1117
|
+
if (r < 0) {
|
|
1118
|
+
r += 0x100000000
|
|
1119
|
+
}
|
|
1053
1120
|
return r
|
|
1054
1121
|
}
|
|
1055
1122
|
|
|
@@ -1059,7 +1126,9 @@ function g0_512_hi (xh, xl) {
|
|
|
1059
1126
|
const c2_hi = shr64_hi(xh, xl, 7)
|
|
1060
1127
|
|
|
1061
1128
|
let r = c0_hi ^ c1_hi ^ c2_hi
|
|
1062
|
-
if (r < 0) {
|
|
1129
|
+
if (r < 0) {
|
|
1130
|
+
r += 0x100000000
|
|
1131
|
+
}
|
|
1063
1132
|
return r
|
|
1064
1133
|
}
|
|
1065
1134
|
|
|
@@ -1069,7 +1138,9 @@ function g0_512_lo (xh, xl) {
|
|
|
1069
1138
|
const c2_lo = shr64_lo(xh, xl, 7)
|
|
1070
1139
|
|
|
1071
1140
|
let r = c0_lo ^ c1_lo ^ c2_lo
|
|
1072
|
-
if (r < 0) {
|
|
1141
|
+
if (r < 0) {
|
|
1142
|
+
r += 0x100000000
|
|
1143
|
+
}
|
|
1073
1144
|
return r
|
|
1074
1145
|
}
|
|
1075
1146
|
|
|
@@ -1079,7 +1150,9 @@ function g1_512_hi (xh, xl) {
|
|
|
1079
1150
|
const c2_hi = shr64_hi(xh, xl, 6)
|
|
1080
1151
|
|
|
1081
1152
|
let r = c0_hi ^ c1_hi ^ c2_hi
|
|
1082
|
-
if (r < 0) {
|
|
1153
|
+
if (r < 0) {
|
|
1154
|
+
r += 0x100000000
|
|
1155
|
+
}
|
|
1083
1156
|
return r
|
|
1084
1157
|
}
|
|
1085
1158
|
|
|
@@ -1089,7 +1162,9 @@ function g1_512_lo (xh, xl) {
|
|
|
1089
1162
|
const c2_lo = shr64_lo(xh, xl, 6)
|
|
1090
1163
|
|
|
1091
1164
|
let r = c0_lo ^ c1_lo ^ c2_lo
|
|
1092
|
-
if (r < 0) {
|
|
1165
|
+
if (r < 0) {
|
|
1166
|
+
r += 0x100000000
|
|
1167
|
+
}
|
|
1093
1168
|
return r
|
|
1094
1169
|
}
|
|
1095
1170
|
|
|
@@ -1134,13 +1209,19 @@ export class SHA256HMAC {
|
|
|
1134
1209
|
|
|
1135
1210
|
// Add padding to key
|
|
1136
1211
|
let i
|
|
1137
|
-
for (i = key.length; i < this.blockSize; i++) {
|
|
1212
|
+
for (i = key.length; i < this.blockSize; i++) {
|
|
1213
|
+
key.push(0)
|
|
1214
|
+
}
|
|
1138
1215
|
|
|
1139
|
-
for (i = 0; i < key.length; i++) {
|
|
1216
|
+
for (i = 0; i < key.length; i++) {
|
|
1217
|
+
key[i] ^= 0x36
|
|
1218
|
+
}
|
|
1140
1219
|
this.inner = new SHA256().update(key)
|
|
1141
1220
|
|
|
1142
1221
|
// 0x36 ^ 0x5c = 0x6a
|
|
1143
|
-
for (i = 0; i < key.length; i++) {
|
|
1222
|
+
for (i = 0; i < key.length; i++) {
|
|
1223
|
+
key[i] ^= 0x6a
|
|
1224
|
+
}
|
|
1144
1225
|
this.outer = new SHA256().update(key)
|
|
1145
1226
|
}
|
|
1146
1227
|
|
|
@@ -1276,13 +1357,19 @@ export class SHA512HMAC {
|
|
|
1276
1357
|
|
|
1277
1358
|
// Add padding to key
|
|
1278
1359
|
let i
|
|
1279
|
-
for (i = key.length; i < this.blockSize; i++) {
|
|
1360
|
+
for (i = key.length; i < this.blockSize; i++) {
|
|
1361
|
+
key.push(0)
|
|
1362
|
+
}
|
|
1280
1363
|
|
|
1281
|
-
for (i = 0; i < key.length; i++) {
|
|
1364
|
+
for (i = 0; i < key.length; i++) {
|
|
1365
|
+
key[i] ^= 0x36
|
|
1366
|
+
}
|
|
1282
1367
|
this.inner = new SHA512().update(key)
|
|
1283
1368
|
|
|
1284
1369
|
// 0x36 ^ 0x5c = 0x6a
|
|
1285
|
-
for (i = 0; i < key.length; i++) {
|
|
1370
|
+
for (i = 0; i < key.length; i++) {
|
|
1371
|
+
key[i] ^= 0x6a
|
|
1372
|
+
}
|
|
1286
1373
|
this.outer = new SHA512().update(key)
|
|
1287
1374
|
}
|
|
1288
1375
|
|
|
@@ -1342,7 +1429,10 @@ export class SHA512HMAC {
|
|
|
1342
1429
|
* @example
|
|
1343
1430
|
* const digest = ripemd160('Hello, world!');
|
|
1344
1431
|
*/
|
|
1345
|
-
export const ripemd160 = (
|
|
1432
|
+
export const ripemd160 = (
|
|
1433
|
+
msg: number[] | string,
|
|
1434
|
+
enc?: 'hex' | 'utf8'
|
|
1435
|
+
): number[] => {
|
|
1346
1436
|
return new RIPEMD160().update(msg, enc).digest()
|
|
1347
1437
|
}
|
|
1348
1438
|
|
|
@@ -1357,7 +1447,10 @@ export const ripemd160 = (msg: number[] | string, enc?: 'hex' | 'utf8'): number[
|
|
|
1357
1447
|
* @example
|
|
1358
1448
|
* const digest = sha1('Hello, world!');
|
|
1359
1449
|
*/
|
|
1360
|
-
export const sha1 = (
|
|
1450
|
+
export const sha1 = (
|
|
1451
|
+
msg: number[] | string,
|
|
1452
|
+
enc?: 'hex' | 'utf8'
|
|
1453
|
+
): number[] => {
|
|
1361
1454
|
return new SHA1().update(msg, enc).digest()
|
|
1362
1455
|
}
|
|
1363
1456
|
|
|
@@ -1372,7 +1465,10 @@ export const sha1 = (msg: number[] | string, enc?: 'hex' | 'utf8'): number[] =>
|
|
|
1372
1465
|
* @example
|
|
1373
1466
|
* const digest = sha256('Hello, world!');
|
|
1374
1467
|
*/
|
|
1375
|
-
export const sha256 = (
|
|
1468
|
+
export const sha256 = (
|
|
1469
|
+
msg: number[] | string,
|
|
1470
|
+
enc?: 'hex' | 'utf8'
|
|
1471
|
+
): number[] => {
|
|
1376
1472
|
return new SHA256().update(msg, enc).digest()
|
|
1377
1473
|
}
|
|
1378
1474
|
|
|
@@ -1387,7 +1483,10 @@ export const sha256 = (msg: number[] | string, enc?: 'hex' | 'utf8'): number[] =
|
|
|
1387
1483
|
* @example
|
|
1388
1484
|
* const digest = sha512('Hello, world!');
|
|
1389
1485
|
*/
|
|
1390
|
-
export const sha512 = (
|
|
1486
|
+
export const sha512 = (
|
|
1487
|
+
msg: number[] | string,
|
|
1488
|
+
enc?: 'hex' | 'utf8'
|
|
1489
|
+
): number[] => {
|
|
1391
1490
|
return new SHA512().update(msg, enc).digest()
|
|
1392
1491
|
}
|
|
1393
1492
|
|
|
@@ -1404,7 +1503,10 @@ export const sha512 = (msg: number[] | string, enc?: 'hex' | 'utf8'): number[] =
|
|
|
1404
1503
|
* @example
|
|
1405
1504
|
* const doubleHash = hash256('Hello, world!');
|
|
1406
1505
|
*/
|
|
1407
|
-
export const hash256 = (
|
|
1506
|
+
export const hash256 = (
|
|
1507
|
+
msg: number[] | string,
|
|
1508
|
+
enc?: 'hex' | 'utf8'
|
|
1509
|
+
): number[] => {
|
|
1408
1510
|
const first = new SHA256().update(msg, enc).digest()
|
|
1409
1511
|
return new SHA256().update(first).digest()
|
|
1410
1512
|
}
|
|
@@ -1421,7 +1523,10 @@ export const hash256 = (msg: number[] | string, enc?: 'hex' | 'utf8'): number[]
|
|
|
1421
1523
|
* @example
|
|
1422
1524
|
* const hash = hash160('Hello, world!');
|
|
1423
1525
|
*/
|
|
1424
|
-
export const hash160 = (
|
|
1526
|
+
export const hash160 = (
|
|
1527
|
+
msg: number[] | string,
|
|
1528
|
+
enc?: 'hex' | 'utf8'
|
|
1529
|
+
): number[] => {
|
|
1425
1530
|
const first = new SHA256().update(msg, enc).digest()
|
|
1426
1531
|
return new RIPEMD160().update(first).digest()
|
|
1427
1532
|
}
|
|
@@ -1438,7 +1543,11 @@ export const hash160 = (msg: number[] | string, enc?: 'hex' | 'utf8'): number[]
|
|
|
1438
1543
|
* @example
|
|
1439
1544
|
* const digest = sha256hmac('deadbeef', 'ffff001d');
|
|
1440
1545
|
*/
|
|
1441
|
-
export const sha256hmac = (
|
|
1546
|
+
export const sha256hmac = (
|
|
1547
|
+
key: number[] | string,
|
|
1548
|
+
msg: number[] | string,
|
|
1549
|
+
enc?: 'hex'
|
|
1550
|
+
): number[] => {
|
|
1442
1551
|
return new SHA256HMAC(key).update(msg, enc).digest()
|
|
1443
1552
|
}
|
|
1444
1553
|
|
|
@@ -1454,7 +1563,11 @@ export const sha256hmac = (key: number[] | string, msg: number[] | string, enc?:
|
|
|
1454
1563
|
* @example
|
|
1455
1564
|
* const digest = sha512hmac('deadbeef', 'ffff001d');
|
|
1456
1565
|
*/
|
|
1457
|
-
export const sha512hmac = (
|
|
1566
|
+
export const sha512hmac = (
|
|
1567
|
+
key: number[] | string,
|
|
1568
|
+
msg: number[] | string,
|
|
1569
|
+
enc?: 'hex'
|
|
1570
|
+
): number[] => {
|
|
1458
1571
|
return new SHA512HMAC(key).update(msg, enc).digest()
|
|
1459
1572
|
}
|
|
1460
1573
|
|
|
@@ -1469,7 +1582,13 @@ export const sha512hmac = (key: number[] | string, msg: number[] | string, enc?:
|
|
|
1469
1582
|
*
|
|
1470
1583
|
* @returns The computed key
|
|
1471
1584
|
*/
|
|
1472
|
-
export function pbkdf2 (
|
|
1585
|
+
export function pbkdf2 (
|
|
1586
|
+
password: number[],
|
|
1587
|
+
salt: number[],
|
|
1588
|
+
iterations: number,
|
|
1589
|
+
keylen: number,
|
|
1590
|
+
digest = 'sha512'
|
|
1591
|
+
): number[] {
|
|
1473
1592
|
if (digest !== 'sha512') {
|
|
1474
1593
|
throw new Error('Only sha512 is supported in this PBKDF2 implementation')
|
|
1475
1594
|
}
|
|
@@ -1481,10 +1600,10 @@ export function pbkdf2 (password: number[], salt: number[], iterations: number,
|
|
|
1481
1600
|
const l = Math.ceil(keylen / hLen)
|
|
1482
1601
|
|
|
1483
1602
|
for (let i = 1; i <= l; i++) {
|
|
1484
|
-
block1[salt.length] = (i >> 24) &
|
|
1485
|
-
block1[salt.length + 1] = (i >> 16) &
|
|
1486
|
-
block1[salt.length + 2] = (i >> 8) &
|
|
1487
|
-
block1[salt.length + 3] = i &
|
|
1603
|
+
block1[salt.length] = (i >> 24) & 0xff // MSB
|
|
1604
|
+
block1[salt.length + 1] = (i >> 16) & 0xff
|
|
1605
|
+
block1[salt.length + 2] = (i >> 8) & 0xff
|
|
1606
|
+
block1[salt.length + 3] = i & 0xff // LSB
|
|
1488
1607
|
|
|
1489
1608
|
const T = sha512hmac(password, block1)
|
|
1490
1609
|
let U = T
|