@bsv/sdk 1.3.12 → 1.3.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/mod.js +15 -15
- package/dist/cjs/mod.js.map +1 -1
- package/dist/cjs/package.json +10 -2
- package/dist/cjs/src/auth/Peer.js +62 -46
- package/dist/cjs/src/auth/Peer.js.map +1 -1
- package/dist/cjs/src/auth/SessionManager.js +4 -4
- package/dist/cjs/src/auth/SessionManager.js.map +1 -1
- package/dist/cjs/src/auth/__tests/Peer.test.js +446 -0
- package/dist/cjs/src/auth/__tests/Peer.test.js.map +1 -0
- package/dist/cjs/src/auth/__tests/SessionManager.test.js +69 -0
- package/dist/cjs/src/auth/__tests/SessionManager.test.js.map +1 -0
- package/dist/cjs/src/auth/certificates/Certificate.js +26 -23
- package/dist/cjs/src/auth/certificates/Certificate.js.map +1 -1
- package/dist/cjs/src/auth/certificates/MasterCertificate.js +18 -16
- package/dist/cjs/src/auth/certificates/MasterCertificate.js.map +1 -1
- package/dist/cjs/src/auth/certificates/VerifiableCertificate.js +7 -7
- package/dist/cjs/src/auth/certificates/VerifiableCertificate.js.map +1 -1
- package/dist/cjs/src/auth/certificates/__tests/Certificate.test.js +182 -0
- package/dist/cjs/src/auth/certificates/__tests/Certificate.test.js.map +1 -0
- package/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js +22 -22
- package/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
- package/dist/cjs/src/auth/certificates/__tests/MasterCertificate.test.js +184 -0
- package/dist/cjs/src/auth/certificates/__tests/MasterCertificate.test.js.map +1 -0
- package/dist/cjs/src/auth/certificates/__tests/VerifiableCertificate.test.js +75 -0
- package/dist/cjs/src/auth/certificates/__tests/VerifiableCertificate.test.js.map +1 -0
- package/dist/cjs/src/auth/certificates/index.js +5 -5
- package/dist/cjs/src/auth/certificates/index.js.map +1 -1
- package/dist/cjs/src/auth/clients/AuthFetch.js +74 -64
- package/dist/cjs/src/auth/clients/AuthFetch.js.map +1 -1
- package/dist/cjs/src/auth/clients/index.js +1 -1
- package/dist/cjs/src/auth/clients/index.js.map +1 -1
- package/dist/cjs/src/auth/index.js +7 -7
- package/dist/cjs/src/auth/index.js.map +1 -1
- package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js +62 -54
- package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
- package/dist/cjs/src/auth/transports/index.js +1 -1
- package/dist/cjs/src/auth/transports/index.js.map +1 -1
- package/dist/cjs/src/auth/utils/__tests/cryptononce.test.js +101 -0
- package/dist/cjs/src/auth/utils/__tests/cryptononce.test.js.map +1 -0
- package/dist/cjs/src/auth/utils/__tests/getVerifiableCertificates.test.js +106 -0
- package/dist/cjs/src/auth/utils/__tests/getVerifiableCertificates.test.js.map +1 -0
- package/dist/cjs/src/auth/utils/__tests/validateCertificates.test.js +111 -0
- package/dist/cjs/src/auth/utils/__tests/validateCertificates.test.js.map +1 -0
- package/dist/cjs/src/auth/utils/createNonce.js +4 -4
- package/dist/cjs/src/auth/utils/createNonce.js.map +1 -1
- package/dist/cjs/src/auth/utils/getVerifiableCertificates.js +2 -2
- package/dist/cjs/src/auth/utils/getVerifiableCertificates.js.map +1 -1
- package/dist/cjs/src/auth/utils/index.js +4 -4
- package/dist/cjs/src/auth/utils/index.js.map +1 -1
- package/dist/cjs/src/auth/utils/validateCertificates.js +2 -2
- package/dist/cjs/src/auth/utils/validateCertificates.js.map +1 -1
- package/dist/cjs/src/auth/utils/verifyNonce.js +3 -3
- package/dist/cjs/src/auth/utils/verifyNonce.js.map +1 -1
- package/dist/cjs/src/compat/BSM.js +9 -9
- package/dist/cjs/src/compat/BSM.js.map +1 -1
- package/dist/cjs/src/compat/ECIES.js +157 -116
- package/dist/cjs/src/compat/ECIES.js.map +1 -1
- package/dist/cjs/src/compat/HD.js +75 -75
- package/dist/cjs/src/compat/HD.js.map +1 -1
- package/dist/cjs/src/compat/Mnemonic.js +98 -93
- package/dist/cjs/src/compat/Mnemonic.js.map +1 -1
- package/dist/cjs/src/compat/Utxo.js +5 -5
- package/dist/cjs/src/compat/Utxo.js.map +1 -1
- package/dist/cjs/src/compat/__tests/BSM.test.js +69 -0
- package/dist/cjs/src/compat/__tests/BSM.test.js.map +1 -0
- package/dist/cjs/src/compat/__tests/ECIES.test.js +115 -0
- package/dist/cjs/src/compat/__tests/ECIES.test.js.map +1 -0
- package/dist/cjs/src/compat/__tests/HD.test.js +336 -0
- package/dist/cjs/src/compat/__tests/HD.test.js.map +1 -0
- package/dist/cjs/src/compat/__tests/Mnemonic.test.js +150 -0
- package/dist/cjs/src/compat/__tests/Mnemonic.test.js.map +1 -0
- package/dist/cjs/src/compat/__tests/Mnemonic.vectors.js +175 -0
- package/dist/cjs/src/compat/__tests/Mnemonic.vectors.js.map +1 -0
- package/dist/cjs/src/compat/index.js +9 -9
- package/dist/cjs/src/compat/index.js.map +1 -1
- package/dist/cjs/src/messages/EncryptedMessage.js +17 -15
- package/dist/cjs/src/messages/EncryptedMessage.js.map +1 -1
- package/dist/cjs/src/messages/SignedMessage.js +20 -20
- package/dist/cjs/src/messages/SignedMessage.js.map +1 -1
- package/dist/cjs/src/messages/__tests/EncryptedMessage.test.js +57 -0
- package/dist/cjs/src/messages/__tests/EncryptedMessage.test.js.map +1 -0
- package/dist/cjs/src/messages/__tests/SignedMessage.test.js +52 -0
- package/dist/cjs/src/messages/__tests/SignedMessage.test.js.map +1 -0
- package/dist/cjs/src/messages/index.js +2 -2
- package/dist/cjs/src/messages/index.js.map +1 -1
- package/dist/cjs/src/overlay-tools/LookupResolver.js +20 -13
- package/dist/cjs/src/overlay-tools/LookupResolver.js.map +1 -1
- package/dist/cjs/src/overlay-tools/OverlayAdminTokenTemplate.js +44 -32
- package/dist/cjs/src/overlay-tools/OverlayAdminTokenTemplate.js.map +1 -1
- package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js +41 -30
- package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
- package/dist/cjs/src/overlay-tools/__tests/LookupResolver.test.js +1471 -0
- package/dist/cjs/src/overlay-tools/__tests/LookupResolver.test.js.map +1 -0
- package/dist/cjs/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js +78 -0
- package/dist/cjs/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js.map +1 -0
- package/dist/cjs/src/overlay-tools/__tests/SHIPBroadcaster.test.js +933 -0
- package/dist/cjs/src/overlay-tools/__tests/SHIPBroadcaster.test.js.map +1 -0
- package/dist/cjs/src/overlay-tools/index.js +8 -8
- package/dist/cjs/src/overlay-tools/index.js.map +1 -1
- package/dist/cjs/src/primitives/BasePoint.js +2 -2
- package/dist/cjs/src/primitives/BasePoint.js.map +1 -1
- package/dist/cjs/src/primitives/BigNumber.js +46 -59
- package/dist/cjs/src/primitives/BigNumber.js.map +1 -1
- package/dist/cjs/src/primitives/Curve.js +29 -39
- package/dist/cjs/src/primitives/Curve.js.map +1 -1
- package/dist/cjs/src/primitives/DRBG.js +8 -14
- package/dist/cjs/src/primitives/DRBG.js.map +1 -1
- package/dist/cjs/src/primitives/ECDSA.js +24 -24
- package/dist/cjs/src/primitives/ECDSA.js.map +1 -1
- package/dist/cjs/src/primitives/Hash.js +76 -111
- package/dist/cjs/src/primitives/Hash.js.map +1 -1
- package/dist/cjs/src/primitives/JacobianPoint.js +20 -16
- package/dist/cjs/src/primitives/JacobianPoint.js.map +1 -1
- package/dist/cjs/src/primitives/K256.js +2 -2
- package/dist/cjs/src/primitives/K256.js.map +1 -1
- package/dist/cjs/src/primitives/Mersenne.js +4 -4
- package/dist/cjs/src/primitives/Mersenne.js.map +1 -1
- package/dist/cjs/src/primitives/MontgomoryMethod.js +5 -5
- package/dist/cjs/src/primitives/MontgomoryMethod.js.map +1 -1
- package/dist/cjs/src/primitives/Point.js +74 -72
- package/dist/cjs/src/primitives/Point.js.map +1 -1
- package/dist/cjs/src/primitives/Polynomial.js +15 -13
- package/dist/cjs/src/primitives/Polynomial.js.map +1 -1
- package/dist/cjs/src/primitives/PrivateKey.js +48 -39
- package/dist/cjs/src/primitives/PrivateKey.js.map +1 -1
- package/dist/cjs/src/primitives/PublicKey.js +23 -23
- package/dist/cjs/src/primitives/PublicKey.js.map +1 -1
- package/dist/cjs/src/primitives/Random.js +4 -4
- package/dist/cjs/src/primitives/Random.js.map +1 -1
- package/dist/cjs/src/primitives/ReductionContext.js +11 -11
- package/dist/cjs/src/primitives/ReductionContext.js.map +1 -1
- package/dist/cjs/src/primitives/Schnorr.js +29 -23
- package/dist/cjs/src/primitives/Schnorr.js.map +1 -1
- package/dist/cjs/src/primitives/Signature.js +25 -24
- package/dist/cjs/src/primitives/Signature.js.map +1 -1
- package/dist/cjs/src/primitives/SymmetricKey.js +26 -26
- package/dist/cjs/src/primitives/SymmetricKey.js.map +1 -1
- package/dist/cjs/src/primitives/TransactionSignature.js +23 -21
- package/dist/cjs/src/primitives/TransactionSignature.js.map +1 -1
- package/dist/cjs/src/primitives/__tests/AESGCM.test.js +248 -0
- package/dist/cjs/src/primitives/__tests/AESGCM.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/BRC42.private.vectors.js +36 -0
- package/dist/cjs/src/primitives/__tests/BRC42.private.vectors.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/BRC42.public.vectors.js +36 -0
- package/dist/cjs/src/primitives/__tests/BRC42.public.vectors.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.arithmatic.test.js +501 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.arithmatic.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.binary.test.js +185 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.binary.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.constructor.test.js +149 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.constructor.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.dhGroup.test.js +23 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.dhGroup.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.fixtures.js +268 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.fixtures.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.serializers.test.js +147 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.serializers.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.utils.test.js +322 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.utils.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/Curve.unit.test.js +145 -0
- package/dist/cjs/src/primitives/__tests/Curve.unit.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/DRBG.test.js +22 -0
- package/dist/cjs/src/primitives/__tests/DRBG.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/DRBG.vectors.js +170 -0
- package/dist/cjs/src/primitives/__tests/DRBG.vectors.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/ECDH.test.js +34 -0
- package/dist/cjs/src/primitives/__tests/ECDH.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/ECDSA.test.js +89 -0
- package/dist/cjs/src/primitives/__tests/ECDSA.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/HMAC.test.js +60 -0
- package/dist/cjs/src/primitives/__tests/HMAC.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/Hash.test.js +159 -0
- package/dist/cjs/src/primitives/__tests/Hash.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/PBKDF2.vectors.js +122 -0
- package/dist/cjs/src/primitives/__tests/PBKDF2.vectors.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/PrivateKey.split.test.js +105 -0
- package/dist/cjs/src/primitives/__tests/PrivateKey.split.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/PrivateKey.test.js +90 -0
- package/dist/cjs/src/primitives/__tests/PrivateKey.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/PublicKey.test.js +83 -0
- package/dist/cjs/src/primitives/__tests/PublicKey.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/Random.test.js +19 -0
- package/dist/cjs/src/primitives/__tests/Random.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/Reader.test.js +282 -0
- package/dist/cjs/src/primitives/__tests/Reader.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/ReductionContext.test.js +224 -0
- package/dist/cjs/src/primitives/__tests/ReductionContext.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/Schnorr.test.js +213 -0
- package/dist/cjs/src/primitives/__tests/Schnorr.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/SymmetricKey.test.js +51 -0
- package/dist/cjs/src/primitives/__tests/SymmetricKey.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/SymmetricKey.vectors.js +43 -0
- package/dist/cjs/src/primitives/__tests/SymmetricKey.vectors.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/Writer.test.js +176 -0
- package/dist/cjs/src/primitives/__tests/Writer.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/bug-31.test.js +32 -0
- package/dist/cjs/src/primitives/__tests/bug-31.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/sighash.vectors.js +3506 -0
- package/dist/cjs/src/primitives/__tests/sighash.vectors.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/utils.test.js +110 -0
- package/dist/cjs/src/primitives/__tests/utils.test.js.map +1 -0
- package/dist/cjs/src/primitives/index.js +27 -27
- package/dist/cjs/src/primitives/index.js.map +1 -1
- package/dist/cjs/src/primitives/utils.js +70 -60
- package/dist/cjs/src/primitives/utils.js.map +1 -1
- package/dist/cjs/src/script/LockingScript.js +2 -2
- package/dist/cjs/src/script/LockingScript.js.map +1 -1
- package/dist/cjs/src/script/Script.js +49 -47
- package/dist/cjs/src/script/Script.js.map +1 -1
- package/dist/cjs/src/script/Spend.js +305 -300
- package/dist/cjs/src/script/Spend.js.map +1 -1
- package/dist/cjs/src/script/UnlockingScript.js +2 -2
- package/dist/cjs/src/script/UnlockingScript.js.map +1 -1
- package/dist/cjs/src/script/__tests/Script.test.js +347 -0
- package/dist/cjs/src/script/__tests/Script.test.js.map +1 -0
- package/dist/cjs/src/script/__tests/Spend.test.js +282 -0
- package/dist/cjs/src/script/__tests/Spend.test.js.map +1 -0
- package/dist/cjs/src/script/__tests/SpendComplex.test.js +52 -0
- package/dist/cjs/src/script/__tests/SpendComplex.test.js.map +1 -0
- package/dist/cjs/src/script/__tests/script.invalid.vectors.js +2370 -0
- package/dist/cjs/src/script/__tests/script.invalid.vectors.js.map +1 -0
- package/dist/cjs/src/script/__tests/script.valid.vectors.js +1181 -0
- package/dist/cjs/src/script/__tests/script.valid.vectors.js.map +1 -0
- package/dist/cjs/src/script/__tests/spend.valid.vectors.js +2298 -0
- package/dist/cjs/src/script/__tests/spend.valid.vectors.js.map +1 -0
- package/dist/cjs/src/script/index.js +11 -11
- package/dist/cjs/src/script/index.js.map +1 -1
- package/dist/cjs/src/script/templates/P2PKH.js +40 -36
- package/dist/cjs/src/script/templates/P2PKH.js.map +1 -1
- package/dist/cjs/src/script/templates/PushDrop.js +42 -43
- package/dist/cjs/src/script/templates/PushDrop.js.map +1 -1
- package/dist/cjs/src/script/templates/RPuzzle.js +48 -45
- package/dist/cjs/src/script/templates/RPuzzle.js.map +1 -1
- package/dist/cjs/src/script/templates/__tests/PushDrop.test.js +161 -0
- package/dist/cjs/src/script/templates/__tests/PushDrop.test.js.map +1 -0
- package/dist/cjs/src/script/templates/index.js +6 -6
- package/dist/cjs/src/script/templates/index.js.map +1 -1
- package/dist/cjs/src/totp/__tests/totp.test.js +67 -0
- package/dist/cjs/src/totp/__tests/totp.test.js.map +1 -0
- package/dist/cjs/src/totp/index.js +1 -1
- package/dist/cjs/src/totp/index.js.map +1 -1
- package/dist/cjs/src/totp/totp.js +7 -7
- package/dist/cjs/src/totp/totp.js.map +1 -1
- package/dist/cjs/src/transaction/Beef.js +141 -129
- package/dist/cjs/src/transaction/Beef.js.map +1 -1
- package/dist/cjs/src/transaction/BeefParty.js +25 -25
- package/dist/cjs/src/transaction/BeefParty.js.map +1 -1
- package/dist/cjs/src/transaction/BeefTx.js +25 -23
- package/dist/cjs/src/transaction/BeefTx.js.map +1 -1
- package/dist/cjs/src/transaction/Broadcaster.js.map +1 -1
- package/dist/cjs/src/transaction/MerklePath.js +27 -22
- package/dist/cjs/src/transaction/MerklePath.js.map +1 -1
- package/dist/cjs/src/transaction/Transaction.js +89 -157
- package/dist/cjs/src/transaction/Transaction.js.map +1 -1
- package/dist/cjs/src/transaction/__tests/Beef.test.js +393 -0
- package/dist/cjs/src/transaction/__tests/Beef.test.js.map +1 -0
- package/dist/cjs/src/transaction/__tests/MerklePath.test.js +209 -0
- package/dist/cjs/src/transaction/__tests/MerklePath.test.js.map +1 -0
- package/dist/cjs/src/transaction/__tests/Transaction.benchmarks.test.js +219 -0
- package/dist/cjs/src/transaction/__tests/Transaction.benchmarks.test.js.map +1 -0
- package/dist/cjs/src/transaction/__tests/Transaction.test.js +1073 -0
- package/dist/cjs/src/transaction/__tests/Transaction.test.js.map +1 -0
- package/dist/cjs/src/transaction/__tests/bigtx.vectors.js +7 -0
- package/dist/cjs/src/transaction/__tests/bigtx.vectors.js.map +1 -0
- package/dist/cjs/src/transaction/__tests/bump.invalid.vectors.js +11 -0
- package/dist/cjs/src/transaction/__tests/bump.invalid.vectors.js.map +1 -0
- package/dist/cjs/src/transaction/__tests/bump.valid.vectors.js +7 -0
- package/dist/cjs/src/transaction/__tests/bump.valid.vectors.js.map +1 -0
- package/dist/cjs/src/transaction/__tests/tx.invalid.vectors.js +230 -0
- package/dist/cjs/src/transaction/__tests/tx.invalid.vectors.js.map +1 -0
- package/dist/cjs/src/transaction/__tests/tx.valid.vectors.js +296 -0
- package/dist/cjs/src/transaction/__tests/tx.valid.vectors.js.map +1 -0
- package/dist/cjs/src/transaction/broadcasters/ARC.js +39 -35
- package/dist/cjs/src/transaction/broadcasters/ARC.js.map +1 -1
- package/dist/cjs/src/transaction/broadcasters/DefaultBroadcaster.js +2 -2
- package/dist/cjs/src/transaction/broadcasters/DefaultBroadcaster.js.map +1 -1
- package/dist/cjs/src/transaction/broadcasters/WhatsOnChainBroadcaster.js +15 -15
- package/dist/cjs/src/transaction/broadcasters/WhatsOnChainBroadcaster.js.map +1 -1
- package/dist/cjs/src/transaction/broadcasters/__tests/ARC.test.js +246 -0
- package/dist/cjs/src/transaction/broadcasters/__tests/ARC.test.js.map +1 -0
- package/dist/cjs/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js +148 -0
- package/dist/cjs/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js.map +1 -0
- package/dist/cjs/src/transaction/broadcasters/index.js +6 -6
- package/dist/cjs/src/transaction/broadcasters/index.js.map +1 -1
- package/dist/cjs/src/transaction/chaintrackers/DefaultChainTracker.js +2 -2
- package/dist/cjs/src/transaction/chaintrackers/DefaultChainTracker.js.map +1 -1
- package/dist/cjs/src/transaction/chaintrackers/WhatsOnChain.js +8 -8
- package/dist/cjs/src/transaction/chaintrackers/WhatsOnChain.js.map +1 -1
- package/dist/cjs/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js +155 -0
- package/dist/cjs/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js.map +1 -0
- package/dist/cjs/src/transaction/chaintrackers/index.js +4 -4
- package/dist/cjs/src/transaction/chaintrackers/index.js.map +1 -1
- package/dist/cjs/src/transaction/fee-models/SatoshisPerKilobyte.js +3 -3
- package/dist/cjs/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
- package/dist/cjs/src/transaction/fee-models/index.js +2 -2
- package/dist/cjs/src/transaction/fee-models/index.js.map +1 -1
- package/dist/cjs/src/transaction/http/DefaultHttpClient.js +11 -11
- package/dist/cjs/src/transaction/http/DefaultHttpClient.js.map +1 -1
- package/dist/cjs/src/transaction/http/FetchHttpClient.js +4 -2
- package/dist/cjs/src/transaction/http/FetchHttpClient.js.map +1 -1
- package/dist/cjs/src/transaction/http/NodejsHttpClient.js +10 -8
- package/dist/cjs/src/transaction/http/NodejsHttpClient.js.map +1 -1
- package/dist/cjs/src/transaction/http/index.js +6 -6
- package/dist/cjs/src/transaction/http/index.js.map +1 -1
- package/dist/cjs/src/transaction/index.js +12 -12
- package/dist/cjs/src/transaction/index.js.map +1 -1
- package/dist/cjs/src/wallet/CachedKeyDeriver.js +65 -63
- package/dist/cjs/src/wallet/CachedKeyDeriver.js.map +1 -1
- package/dist/cjs/src/wallet/KeyDeriver.js +66 -58
- package/dist/cjs/src/wallet/KeyDeriver.js.map +1 -1
- package/dist/cjs/src/wallet/ProtoWallet.js +27 -14
- package/dist/cjs/src/wallet/ProtoWallet.js.map +1 -1
- package/dist/cjs/src/wallet/WalletClient.js +15 -14
- package/dist/cjs/src/wallet/WalletClient.js.map +1 -1
- package/dist/cjs/src/wallet/__tests/CachedKeyDeriver.test.js +269 -0
- package/dist/cjs/src/wallet/__tests/CachedKeyDeriver.test.js.map +1 -0
- package/dist/cjs/src/wallet/__tests/KeyDeriver.test.js +114 -0
- package/dist/cjs/src/wallet/__tests/KeyDeriver.test.js.map +1 -0
- package/dist/cjs/src/wallet/__tests/ProtoWallet.test.js +475 -0
- package/dist/cjs/src/wallet/__tests/ProtoWallet.test.js.map +1 -0
- package/dist/cjs/src/wallet/index.js +12 -12
- package/dist/cjs/src/wallet/index.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js +3 -3
- package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/HTTPWalletWire.js +10 -10
- package/dist/cjs/src/wallet/substrates/HTTPWalletWire.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/WalletWireCalls.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js +1293 -1316
- package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js +320 -272
- package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/XDM.js +8 -5
- package/dist/cjs/src/wallet/substrates/XDM.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/__tests/WalletWire.integration.test.js +1962 -0
- package/dist/cjs/src/wallet/substrates/__tests/WalletWire.integration.test.js.map +1 -0
- package/dist/cjs/src/wallet/substrates/__tests/XDM.test.js +579 -0
- package/dist/cjs/src/wallet/substrates/__tests/XDM.test.js.map +1 -0
- package/dist/cjs/src/wallet/substrates/index.js +12 -12
- package/dist/cjs/src/wallet/substrates/index.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/window.CWI.js +4 -4
- package/dist/cjs/src/wallet/substrates/window.CWI.js.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/mod.js +31 -15
- package/dist/esm/mod.js.map +1 -1
- package/dist/esm/src/auth/Peer.js +67 -47
- package/dist/esm/src/auth/Peer.js.map +1 -1
- package/dist/esm/src/auth/SessionManager.js +9 -5
- package/dist/esm/src/auth/SessionManager.js.map +1 -1
- package/dist/esm/src/auth/__tests/Peer.test.js +448 -0
- package/dist/esm/src/auth/__tests/Peer.test.js.map +1 -0
- package/dist/esm/src/auth/__tests/SessionManager.test.js +69 -0
- package/dist/esm/src/auth/__tests/SessionManager.test.js.map +1 -0
- package/dist/esm/src/auth/certificates/Certificate.js +31 -25
- package/dist/esm/src/auth/certificates/Certificate.js.map +1 -1
- package/dist/esm/src/auth/certificates/MasterCertificate.js +25 -16
- package/dist/esm/src/auth/certificates/MasterCertificate.js.map +1 -1
- package/dist/esm/src/auth/certificates/VerifiableCertificate.js +14 -7
- package/dist/esm/src/auth/certificates/VerifiableCertificate.js.map +1 -1
- package/dist/esm/src/auth/certificates/__tests/Certificate.test.js +182 -0
- package/dist/esm/src/auth/certificates/__tests/Certificate.test.js.map +1 -0
- package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js +26 -22
- package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
- package/dist/esm/src/auth/certificates/__tests/MasterCertificate.test.js +184 -0
- package/dist/esm/src/auth/certificates/__tests/MasterCertificate.test.js.map +1 -0
- package/dist/esm/src/auth/certificates/__tests/VerifiableCertificate.test.js +75 -0
- package/dist/esm/src/auth/certificates/__tests/VerifiableCertificate.test.js.map +1 -0
- package/dist/esm/src/auth/certificates/index.js +25 -4
- package/dist/esm/src/auth/certificates/index.js.map +1 -1
- package/dist/esm/src/auth/clients/AuthFetch.js +79 -65
- package/dist/esm/src/auth/clients/AuthFetch.js.map +1 -1
- package/dist/esm/src/auth/clients/index.js +17 -1
- package/dist/esm/src/auth/clients/index.js.map +1 -1
- package/dist/esm/src/auth/index.js +23 -7
- package/dist/esm/src/auth/index.js.map +1 -1
- package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js +67 -55
- package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
- package/dist/esm/src/auth/transports/index.js +17 -1
- package/dist/esm/src/auth/transports/index.js.map +1 -1
- package/dist/esm/src/auth/types.js +2 -1
- package/dist/esm/src/auth/utils/__tests/cryptononce.test.js +101 -0
- package/dist/esm/src/auth/utils/__tests/cryptononce.test.js.map +1 -0
- package/dist/esm/src/auth/utils/__tests/getVerifiableCertificates.test.js +106 -0
- package/dist/esm/src/auth/utils/__tests/getVerifiableCertificates.test.js.map +1 -0
- package/dist/esm/src/auth/utils/__tests/validateCertificates.test.js +111 -0
- package/dist/esm/src/auth/utils/__tests/validateCertificates.test.js.map +1 -0
- package/dist/esm/src/auth/utils/createNonce.js +8 -5
- package/dist/esm/src/auth/utils/createNonce.js.map +1 -1
- package/dist/esm/src/auth/utils/getVerifiableCertificates.js +7 -3
- package/dist/esm/src/auth/utils/getVerifiableCertificates.js.map +1 -1
- package/dist/esm/src/auth/utils/index.js +20 -4
- package/dist/esm/src/auth/utils/index.js.map +1 -1
- package/dist/esm/src/auth/utils/validateCertificates.js +7 -3
- package/dist/esm/src/auth/utils/validateCertificates.js.map +1 -1
- package/dist/esm/src/auth/utils/verifyNonce.js +7 -4
- package/dist/esm/src/auth/utils/verifyNonce.js.map +1 -1
- package/dist/esm/src/compat/BSM.js +56 -14
- package/dist/esm/src/compat/BSM.js.map +1 -1
- package/dist/esm/src/compat/ECIES.js +197 -117
- package/dist/esm/src/compat/ECIES.js.map +1 -1
- package/dist/esm/src/compat/HD.js +115 -76
- package/dist/esm/src/compat/HD.js.map +1 -1
- package/dist/esm/src/compat/Mnemonic.js +138 -94
- package/dist/esm/src/compat/Mnemonic.js.map +1 -1
- package/dist/esm/src/compat/Utxo.js +12 -6
- package/dist/esm/src/compat/Utxo.js.map +1 -1
- package/dist/esm/src/compat/__tests/BSM.test.js +69 -0
- package/dist/esm/src/compat/__tests/BSM.test.js.map +1 -0
- package/dist/esm/src/compat/__tests/ECIES.test.js +115 -0
- package/dist/esm/src/compat/__tests/ECIES.test.js.map +1 -0
- package/dist/esm/src/compat/__tests/HD.test.js +336 -0
- package/dist/esm/src/compat/__tests/HD.test.js.map +1 -0
- package/dist/esm/src/compat/__tests/Mnemonic.test.js +150 -0
- package/dist/esm/src/compat/__tests/Mnemonic.test.js.map +1 -0
- package/dist/esm/src/compat/__tests/Mnemonic.vectors.js +175 -0
- package/dist/esm/src/compat/__tests/Mnemonic.vectors.js.map +1 -0
- package/dist/esm/src/compat/bip-39-wordlist-en.js +4 -1
- package/dist/esm/src/compat/bip-39-wordlist-en.js.map +1 -1
- package/dist/esm/src/compat/index.js +48 -5
- package/dist/esm/src/compat/index.js.map +1 -1
- package/dist/esm/src/messages/EncryptedMessage.js +27 -17
- package/dist/esm/src/messages/EncryptedMessage.js.map +1 -1
- package/dist/esm/src/messages/SignedMessage.js +30 -22
- package/dist/esm/src/messages/SignedMessage.js.map +1 -1
- package/dist/esm/src/messages/__tests/EncryptedMessage.test.js +57 -0
- package/dist/esm/src/messages/__tests/EncryptedMessage.test.js.map +1 -0
- package/dist/esm/src/messages/__tests/SignedMessage.test.js +52 -0
- package/dist/esm/src/messages/__tests/SignedMessage.test.js.map +1 -0
- package/dist/esm/src/messages/index.js +38 -2
- package/dist/esm/src/messages/index.js.map +1 -1
- package/dist/esm/src/overlay-tools/LookupResolver.js +32 -17
- package/dist/esm/src/overlay-tools/LookupResolver.js.map +1 -1
- package/dist/esm/src/overlay-tools/OverlayAdminTokenTemplate.js +51 -33
- package/dist/esm/src/overlay-tools/OverlayAdminTokenTemplate.js.map +1 -1
- package/dist/esm/src/overlay-tools/SHIPBroadcaster.js +51 -32
- package/dist/esm/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
- package/dist/esm/src/overlay-tools/__tests/LookupResolver.test.js +1471 -0
- package/dist/esm/src/overlay-tools/__tests/LookupResolver.test.js.map +1 -0
- package/dist/esm/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js +78 -0
- package/dist/esm/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js.map +1 -0
- package/dist/esm/src/overlay-tools/__tests/SHIPBroadcaster.test.js +933 -0
- package/dist/esm/src/overlay-tools/__tests/SHIPBroadcaster.test.js.map +1 -0
- package/dist/esm/src/overlay-tools/index.js +28 -5
- package/dist/esm/src/overlay-tools/index.js.map +1 -1
- package/dist/esm/src/primitives/AESGCM.js +39 -26
- package/dist/esm/src/primitives/AESGCM.js.map +1 -1
- package/dist/esm/src/primitives/BasePoint.js +9 -3
- package/dist/esm/src/primitives/BasePoint.js.map +1 -1
- package/dist/esm/src/primitives/BigNumber.js +50 -60
- package/dist/esm/src/primitives/BigNumber.js.map +1 -1
- package/dist/esm/src/primitives/Curve.js +36 -40
- package/dist/esm/src/primitives/Curve.js.map +1 -1
- package/dist/esm/src/primitives/DRBG.js +12 -15
- package/dist/esm/src/primitives/DRBG.js.map +1 -1
- package/dist/esm/src/primitives/ECDSA.js +34 -26
- package/dist/esm/src/primitives/ECDSA.js.map +1 -1
- package/dist/esm/src/primitives/Hash.js +115 -130
- package/dist/esm/src/primitives/Hash.js.map +1 -1
- package/dist/esm/src/primitives/JacobianPoint.js +26 -16
- package/dist/esm/src/primitives/JacobianPoint.js.map +1 -1
- package/dist/esm/src/primitives/K256.js +8 -2
- package/dist/esm/src/primitives/K256.js.map +1 -1
- package/dist/esm/src/primitives/Mersenne.js +11 -5
- package/dist/esm/src/primitives/Mersenne.js.map +1 -1
- package/dist/esm/src/primitives/MontgomoryMethod.js +11 -5
- package/dist/esm/src/primitives/MontgomoryMethod.js.map +1 -1
- package/dist/esm/src/primitives/Point.js +80 -72
- package/dist/esm/src/primitives/Point.js.map +1 -1
- package/dist/esm/src/primitives/Polynomial.js +25 -15
- package/dist/esm/src/primitives/Polynomial.js.map +1 -1
- package/dist/esm/src/primitives/PrivateKey.js +90 -40
- package/dist/esm/src/primitives/PrivateKey.js.map +1 -1
- package/dist/esm/src/primitives/PublicKey.js +29 -23
- package/dist/esm/src/primitives/PublicKey.js.map +1 -1
- package/dist/esm/src/primitives/Random.js +7 -5
- package/dist/esm/src/primitives/Random.js.map +1 -1
- package/dist/esm/src/primitives/ReductionContext.js +18 -12
- package/dist/esm/src/primitives/ReductionContext.js.map +1 -1
- package/dist/esm/src/primitives/Schnorr.js +36 -24
- package/dist/esm/src/primitives/Schnorr.js.map +1 -1
- package/dist/esm/src/primitives/Signature.js +32 -25
- package/dist/esm/src/primitives/Signature.js.map +1 -1
- package/dist/esm/src/primitives/SymmetricKey.js +32 -26
- package/dist/esm/src/primitives/SymmetricKey.js.map +1 -1
- package/dist/esm/src/primitives/TransactionSignature.js +62 -21
- package/dist/esm/src/primitives/TransactionSignature.js.map +1 -1
- package/dist/esm/src/primitives/__tests/AESGCM.test.js +248 -0
- package/dist/esm/src/primitives/__tests/AESGCM.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/BRC42.private.vectors.js +36 -0
- package/dist/esm/src/primitives/__tests/BRC42.private.vectors.js.map +1 -0
- package/dist/esm/src/primitives/__tests/BRC42.public.vectors.js +36 -0
- package/dist/esm/src/primitives/__tests/BRC42.public.vectors.js.map +1 -0
- package/dist/esm/src/primitives/__tests/BigNumber.arithmatic.test.js +501 -0
- package/dist/esm/src/primitives/__tests/BigNumber.arithmatic.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/BigNumber.binary.test.js +185 -0
- package/dist/esm/src/primitives/__tests/BigNumber.binary.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/BigNumber.constructor.test.js +149 -0
- package/dist/esm/src/primitives/__tests/BigNumber.constructor.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/BigNumber.dhGroup.test.js +23 -0
- package/dist/esm/src/primitives/__tests/BigNumber.dhGroup.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/BigNumber.fixtures.js +268 -0
- package/dist/esm/src/primitives/__tests/BigNumber.fixtures.js.map +1 -0
- package/dist/esm/src/primitives/__tests/BigNumber.serializers.test.js +147 -0
- package/dist/esm/src/primitives/__tests/BigNumber.serializers.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/BigNumber.utils.test.js +322 -0
- package/dist/esm/src/primitives/__tests/BigNumber.utils.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/Curve.unit.test.js +145 -0
- package/dist/esm/src/primitives/__tests/Curve.unit.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/DRBG.test.js +22 -0
- package/dist/esm/src/primitives/__tests/DRBG.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/DRBG.vectors.js +170 -0
- package/dist/esm/src/primitives/__tests/DRBG.vectors.js.map +1 -0
- package/dist/esm/src/primitives/__tests/ECDH.test.js +34 -0
- package/dist/esm/src/primitives/__tests/ECDH.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/ECDSA.test.js +89 -0
- package/dist/esm/src/primitives/__tests/ECDSA.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/HMAC.test.js +60 -0
- package/dist/esm/src/primitives/__tests/HMAC.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/Hash.test.js +159 -0
- package/dist/esm/src/primitives/__tests/Hash.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/PBKDF2.vectors.js +122 -0
- package/dist/esm/src/primitives/__tests/PBKDF2.vectors.js.map +1 -0
- package/dist/esm/src/primitives/__tests/PrivateKey.split.test.js +105 -0
- package/dist/esm/src/primitives/__tests/PrivateKey.split.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/PrivateKey.test.js +90 -0
- package/dist/esm/src/primitives/__tests/PrivateKey.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/PublicKey.test.js +83 -0
- package/dist/esm/src/primitives/__tests/PublicKey.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/Random.test.js +19 -0
- package/dist/esm/src/primitives/__tests/Random.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/Reader.test.js +282 -0
- package/dist/esm/src/primitives/__tests/Reader.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/ReductionContext.test.js +223 -0
- package/dist/esm/src/primitives/__tests/ReductionContext.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/Schnorr.test.js +213 -0
- package/dist/esm/src/primitives/__tests/Schnorr.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/SymmetricKey.test.js +51 -0
- package/dist/esm/src/primitives/__tests/SymmetricKey.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/SymmetricKey.vectors.js +43 -0
- package/dist/esm/src/primitives/__tests/SymmetricKey.vectors.js.map +1 -0
- package/dist/esm/src/primitives/__tests/Writer.test.js +176 -0
- package/dist/esm/src/primitives/__tests/Writer.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/bug-31.test.js +32 -0
- package/dist/esm/src/primitives/__tests/bug-31.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/sighash.vectors.js +3506 -0
- package/dist/esm/src/primitives/__tests/sighash.vectors.js.map +1 -0
- package/dist/esm/src/primitives/__tests/utils.test.js +110 -0
- package/dist/esm/src/primitives/__tests/utils.test.js.map +1 -0
- package/dist/esm/src/primitives/index.js +66 -14
- package/dist/esm/src/primitives/index.js.map +1 -1
- package/dist/esm/src/primitives/utils.js +109 -80
- package/dist/esm/src/primitives/utils.js.map +1 -1
- package/dist/esm/src/script/LockingScript.js +8 -2
- package/dist/esm/src/script/LockingScript.js.map +1 -1
- package/dist/esm/src/script/OP.js +3 -1
- package/dist/esm/src/script/OP.js.map +1 -1
- package/dist/esm/src/script/Script.js +56 -48
- package/dist/esm/src/script/Script.js.map +1 -1
- package/dist/esm/src/script/ScriptChunk.js +2 -1
- package/dist/esm/src/script/ScriptTemplate.js +2 -1
- package/dist/esm/src/script/Spend.js +345 -301
- package/dist/esm/src/script/Spend.js.map +1 -1
- package/dist/esm/src/script/UnlockingScript.js +8 -2
- package/dist/esm/src/script/UnlockingScript.js.map +1 -1
- package/dist/esm/src/script/__tests/Script.test.js +347 -0
- package/dist/esm/src/script/__tests/Script.test.js.map +1 -0
- package/dist/esm/src/script/__tests/Spend.test.js +282 -0
- package/dist/esm/src/script/__tests/Spend.test.js.map +1 -0
- package/dist/esm/src/script/__tests/SpendComplex.test.js +51 -0
- package/dist/esm/src/script/__tests/SpendComplex.test.js.map +1 -0
- package/dist/esm/src/script/__tests/script.invalid.vectors.js +2370 -0
- package/dist/esm/src/script/__tests/script.invalid.vectors.js.map +1 -0
- package/dist/esm/src/script/__tests/script.valid.vectors.js +1181 -0
- package/dist/esm/src/script/__tests/script.valid.vectors.js.map +1 -0
- package/dist/esm/src/script/__tests/spend.valid.vectors.js +2298 -0
- package/dist/esm/src/script/__tests/spend.valid.vectors.js.map +1 -0
- package/dist/esm/src/script/index.js +31 -6
- package/dist/esm/src/script/index.js.map +1 -1
- package/dist/esm/src/script/templates/P2PKH.js +52 -39
- package/dist/esm/src/script/templates/P2PKH.js.map +1 -1
- package/dist/esm/src/script/templates/PushDrop.js +51 -46
- package/dist/esm/src/script/templates/PushDrop.js.map +1 -1
- package/dist/esm/src/script/templates/RPuzzle.js +55 -46
- package/dist/esm/src/script/templates/RPuzzle.js.map +1 -1
- package/dist/esm/src/script/templates/__tests/PushDrop.test.js +161 -0
- package/dist/esm/src/script/templates/__tests/PushDrop.test.js.map +1 -0
- package/dist/esm/src/script/templates/index.js +12 -3
- package/dist/esm/src/script/templates/index.js.map +1 -1
- package/dist/esm/src/totp/__tests/totp.test.js +67 -0
- package/dist/esm/src/totp/__tests/totp.test.js.map +1 -0
- package/dist/esm/src/totp/index.js +17 -1
- package/dist/esm/src/totp/index.js.map +1 -1
- package/dist/esm/src/totp/totp.js +15 -8
- package/dist/esm/src/totp/totp.js.map +1 -1
- package/dist/esm/src/transaction/Beef.js +160 -141
- package/dist/esm/src/transaction/Beef.js.map +1 -1
- package/dist/esm/src/transaction/BeefParty.js +30 -26
- package/dist/esm/src/transaction/BeefParty.js.map +1 -1
- package/dist/esm/src/transaction/BeefTx.js +32 -24
- package/dist/esm/src/transaction/BeefTx.js.map +1 -1
- package/dist/esm/src/transaction/Broadcaster.js +6 -2
- package/dist/esm/src/transaction/Broadcaster.js.map +1 -1
- package/dist/esm/src/transaction/ChainTracker.js +2 -1
- package/dist/esm/src/transaction/FeeModel.js +2 -1
- package/dist/esm/src/transaction/MerklePath.js +31 -23
- package/dist/esm/src/transaction/MerklePath.js.map +1 -1
- package/dist/esm/src/transaction/Transaction.js +96 -158
- package/dist/esm/src/transaction/Transaction.js.map +1 -1
- package/dist/esm/src/transaction/TransactionInput.js +2 -1
- package/dist/esm/src/transaction/TransactionOutput.js +2 -1
- package/dist/esm/src/transaction/__tests/Beef.test.js +393 -0
- package/dist/esm/src/transaction/__tests/Beef.test.js.map +1 -0
- package/dist/esm/src/transaction/__tests/MerklePath.test.js +209 -0
- package/dist/esm/src/transaction/__tests/MerklePath.test.js.map +1 -0
- package/dist/esm/src/transaction/__tests/Transaction.benchmarks.test.js +219 -0
- package/dist/esm/src/transaction/__tests/Transaction.benchmarks.test.js.map +1 -0
- package/dist/esm/src/transaction/__tests/Transaction.test.js +1072 -0
- package/dist/esm/src/transaction/__tests/Transaction.test.js.map +1 -0
- package/dist/esm/src/transaction/__tests/bigtx.vectors.js +7 -0
- package/dist/esm/src/transaction/__tests/bigtx.vectors.js.map +1 -0
- package/dist/esm/src/transaction/__tests/bump.invalid.vectors.js +11 -0
- package/dist/esm/src/transaction/__tests/bump.invalid.vectors.js.map +1 -0
- package/dist/esm/src/transaction/__tests/bump.valid.vectors.js +7 -0
- package/dist/esm/src/transaction/__tests/bump.valid.vectors.js.map +1 -0
- package/dist/esm/src/transaction/__tests/tx.invalid.vectors.js +230 -0
- package/dist/esm/src/transaction/__tests/tx.invalid.vectors.js.map +1 -0
- package/dist/esm/src/transaction/__tests/tx.valid.vectors.js +296 -0
- package/dist/esm/src/transaction/__tests/tx.valid.vectors.js.map +1 -0
- package/dist/esm/src/transaction/broadcasters/ARC.js +46 -36
- package/dist/esm/src/transaction/broadcasters/ARC.js.map +1 -1
- package/dist/esm/src/transaction/broadcasters/DefaultBroadcaster.js +9 -3
- package/dist/esm/src/transaction/broadcasters/DefaultBroadcaster.js.map +1 -1
- package/dist/esm/src/transaction/broadcasters/WhatsOnChainBroadcaster.js +19 -16
- package/dist/esm/src/transaction/broadcasters/WhatsOnChainBroadcaster.js.map +1 -1
- package/dist/esm/src/transaction/broadcasters/__tests/ARC.test.js +246 -0
- package/dist/esm/src/transaction/broadcasters/__tests/ARC.test.js.map +1 -0
- package/dist/esm/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js +148 -0
- package/dist/esm/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js.map +1 -0
- package/dist/esm/src/transaction/broadcasters/index.js +12 -3
- package/dist/esm/src/transaction/broadcasters/index.js.map +1 -1
- package/dist/esm/src/transaction/chaintrackers/DefaultChainTracker.js +9 -3
- package/dist/esm/src/transaction/chaintrackers/DefaultChainTracker.js.map +1 -1
- package/dist/esm/src/transaction/chaintrackers/WhatsOnChain.js +12 -9
- package/dist/esm/src/transaction/chaintrackers/WhatsOnChain.js.map +1 -1
- package/dist/esm/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js +155 -0
- package/dist/esm/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js.map +1 -0
- package/dist/esm/src/transaction/chaintrackers/index.js +10 -2
- package/dist/esm/src/transaction/chaintrackers/index.js.map +1 -1
- package/dist/esm/src/transaction/fee-models/SatoshisPerKilobyte.js +7 -4
- package/dist/esm/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
- package/dist/esm/src/transaction/fee-models/index.js +8 -1
- package/dist/esm/src/transaction/fee-models/index.js.map +1 -1
- package/dist/esm/src/transaction/http/DefaultHttpClient.js +15 -12
- package/dist/esm/src/transaction/http/DefaultHttpClient.js.map +1 -1
- package/dist/esm/src/transaction/http/FetchHttpClient.js +9 -3
- package/dist/esm/src/transaction/http/FetchHttpClient.js.map +1 -1
- package/dist/esm/src/transaction/http/HttpClient.js +2 -1
- package/dist/esm/src/transaction/http/NodejsHttpClient.js +15 -9
- package/dist/esm/src/transaction/http/NodejsHttpClient.js.map +1 -1
- package/dist/esm/src/transaction/http/index.js +9 -3
- package/dist/esm/src/transaction/http/index.js.map +1 -1
- package/dist/esm/src/transaction/index.js +32 -6
- package/dist/esm/src/transaction/index.js.map +1 -1
- package/dist/esm/src/wallet/CachedKeyDeriver.js +69 -64
- package/dist/esm/src/wallet/CachedKeyDeriver.js.map +1 -1
- package/dist/esm/src/wallet/KeyDeriver.js +72 -60
- package/dist/esm/src/wallet/KeyDeriver.js.map +1 -1
- package/dist/esm/src/wallet/ProtoWallet.js +33 -16
- package/dist/esm/src/wallet/ProtoWallet.js.map +1 -1
- package/dist/esm/src/wallet/Wallet.interfaces.js +5 -2
- package/dist/esm/src/wallet/Wallet.interfaces.js.map +1 -1
- package/dist/esm/src/wallet/WalletClient.js +22 -15
- package/dist/esm/src/wallet/WalletClient.js.map +1 -1
- package/dist/esm/src/wallet/WalletError.js +6 -2
- package/dist/esm/src/wallet/WalletError.js.map +1 -1
- package/dist/esm/src/wallet/__tests/CachedKeyDeriver.test.js +269 -0
- package/dist/esm/src/wallet/__tests/CachedKeyDeriver.test.js.map +1 -0
- package/dist/esm/src/wallet/__tests/KeyDeriver.test.js +113 -0
- package/dist/esm/src/wallet/__tests/KeyDeriver.test.js.map +1 -0
- package/dist/esm/src/wallet/__tests/ProtoWallet.test.js +475 -0
- package/dist/esm/src/wallet/__tests/ProtoWallet.test.js.map +1 -0
- package/dist/esm/src/wallet/index.js +32 -8
- package/dist/esm/src/wallet/index.js.map +1 -1
- package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js +7 -4
- package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
- package/dist/esm/src/wallet/substrates/HTTPWalletWire.js +17 -11
- package/dist/esm/src/wallet/substrates/HTTPWalletWire.js.map +1 -1
- package/dist/esm/src/wallet/substrates/WalletWire.js +2 -1
- package/dist/esm/src/wallet/substrates/WalletWireCalls.js +3 -1
- package/dist/esm/src/wallet/substrates/WalletWireCalls.js.map +1 -1
- package/dist/esm/src/wallet/substrates/WalletWireProcessor.js +1300 -1317
- package/dist/esm/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
- package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js +327 -273
- package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
- package/dist/esm/src/wallet/substrates/XDM.js +12 -6
- package/dist/esm/src/wallet/substrates/XDM.js.map +1 -1
- package/dist/esm/src/wallet/substrates/__tests/WalletWire.integration.test.js +1962 -0
- package/dist/esm/src/wallet/substrates/__tests/WalletWire.integration.test.js.map +1 -0
- package/dist/esm/src/wallet/substrates/__tests/XDM.test.js +579 -0
- package/dist/esm/src/wallet/substrates/__tests/XDM.test.js.map +1 -0
- package/dist/esm/src/wallet/substrates/index.js +32 -7
- package/dist/esm/src/wallet/substrates/index.js.map +1 -1
- package/dist/esm/src/wallet/substrates/window.CWI.js +8 -5
- package/dist/esm/src/wallet/substrates/window.CWI.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/types/mod.d.ts +15 -15
- package/dist/types/mod.d.ts.map +1 -1
- package/dist/types/src/auth/Peer.d.ts +14 -14
- package/dist/types/src/auth/Peer.d.ts.map +1 -1
- package/dist/types/src/auth/SessionManager.d.ts +5 -5
- package/dist/types/src/auth/SessionManager.d.ts.map +1 -1
- package/dist/types/src/auth/__tests/Peer.test.d.ts +2 -0
- package/dist/types/src/auth/__tests/Peer.test.d.ts.map +1 -0
- package/dist/types/src/auth/__tests/SessionManager.test.d.ts +2 -0
- package/dist/types/src/auth/__tests/SessionManager.test.d.ts.map +1 -0
- package/dist/types/src/auth/certificates/Certificate.d.ts +2 -2
- package/dist/types/src/auth/certificates/Certificate.d.ts.map +1 -1
- package/dist/types/src/auth/certificates/MasterCertificate.d.ts +2 -2
- package/dist/types/src/auth/certificates/MasterCertificate.d.ts.map +1 -1
- package/dist/types/src/auth/certificates/VerifiableCertificate.d.ts +2 -2
- package/dist/types/src/auth/certificates/VerifiableCertificate.d.ts.map +1 -1
- package/dist/types/src/auth/certificates/__tests/Certificate.test.d.ts +2 -0
- package/dist/types/src/auth/certificates/__tests/Certificate.test.d.ts.map +1 -0
- package/dist/types/src/auth/certificates/__tests/CompletedProtoWallet.d.ts +2 -2
- package/dist/types/src/auth/certificates/__tests/CompletedProtoWallet.d.ts.map +1 -1
- package/dist/types/src/auth/certificates/__tests/MasterCertificate.test.d.ts +2 -0
- package/dist/types/src/auth/certificates/__tests/MasterCertificate.test.d.ts.map +1 -0
- package/dist/types/src/auth/certificates/__tests/VerifiableCertificate.test.d.ts +2 -0
- package/dist/types/src/auth/certificates/__tests/VerifiableCertificate.test.d.ts.map +1 -0
- package/dist/types/src/auth/certificates/index.d.ts +4 -4
- package/dist/types/src/auth/certificates/index.d.ts.map +1 -1
- package/dist/types/src/auth/clients/AuthFetch.d.ts +9 -9
- package/dist/types/src/auth/clients/AuthFetch.d.ts.map +1 -1
- package/dist/types/src/auth/clients/index.d.ts +1 -1
- package/dist/types/src/auth/clients/index.d.ts.map +1 -1
- package/dist/types/src/auth/index.d.ts +7 -7
- package/dist/types/src/auth/index.d.ts.map +1 -1
- package/dist/types/src/auth/transports/SimplifiedFetchTransport.d.ts +1 -1
- package/dist/types/src/auth/transports/SimplifiedFetchTransport.d.ts.map +1 -1
- package/dist/types/src/auth/transports/index.d.ts +1 -1
- package/dist/types/src/auth/transports/index.d.ts.map +1 -1
- package/dist/types/src/auth/types.d.ts +1 -1
- package/dist/types/src/auth/types.d.ts.map +1 -1
- package/dist/types/src/auth/utils/__tests/cryptononce.test.d.ts +2 -0
- package/dist/types/src/auth/utils/__tests/cryptononce.test.d.ts.map +1 -0
- package/dist/types/src/auth/utils/__tests/getVerifiableCertificates.test.d.ts +2 -0
- package/dist/types/src/auth/utils/__tests/getVerifiableCertificates.test.d.ts.map +1 -0
- package/dist/types/src/auth/utils/__tests/validateCertificates.test.d.ts +2 -0
- package/dist/types/src/auth/utils/__tests/validateCertificates.test.d.ts.map +1 -0
- package/dist/types/src/auth/utils/createNonce.d.ts +1 -1
- package/dist/types/src/auth/utils/createNonce.d.ts.map +1 -1
- package/dist/types/src/auth/utils/getVerifiableCertificates.d.ts +3 -3
- package/dist/types/src/auth/utils/getVerifiableCertificates.d.ts.map +1 -1
- package/dist/types/src/auth/utils/index.d.ts +4 -4
- package/dist/types/src/auth/utils/index.d.ts.map +1 -1
- package/dist/types/src/auth/utils/validateCertificates.d.ts +2 -2
- package/dist/types/src/auth/utils/validateCertificates.d.ts.map +1 -1
- package/dist/types/src/auth/utils/verifyNonce.d.ts +1 -1
- package/dist/types/src/auth/utils/verifyNonce.d.ts.map +1 -1
- package/dist/types/src/compat/BSM.d.ts +3 -3
- package/dist/types/src/compat/BSM.d.ts.map +1 -1
- package/dist/types/src/compat/ECIES.d.ts +38 -38
- package/dist/types/src/compat/ECIES.d.ts.map +1 -1
- package/dist/types/src/compat/HD.d.ts +53 -53
- package/dist/types/src/compat/HD.d.ts.map +1 -1
- package/dist/types/src/compat/Mnemonic.d.ts +79 -79
- package/dist/types/src/compat/Mnemonic.d.ts.map +1 -1
- package/dist/types/src/compat/Utxo.d.ts +3 -3
- package/dist/types/src/compat/Utxo.d.ts.map +1 -1
- package/dist/types/src/compat/__tests/BSM.test.d.ts +2 -0
- package/dist/types/src/compat/__tests/BSM.test.d.ts.map +1 -0
- package/dist/types/src/compat/__tests/ECIES.test.d.ts +2 -0
- package/dist/types/src/compat/__tests/ECIES.test.d.ts.map +1 -0
- package/dist/types/src/compat/__tests/HD.test.d.ts +2 -0
- package/dist/types/src/compat/__tests/HD.test.d.ts.map +1 -0
- package/dist/types/src/compat/__tests/Mnemonic.test.d.ts +2 -0
- package/dist/types/src/compat/__tests/Mnemonic.test.d.ts.map +1 -0
- package/dist/types/src/compat/__tests/Mnemonic.vectors.d.ts +11 -0
- package/dist/types/src/compat/__tests/Mnemonic.vectors.d.ts.map +1 -0
- package/dist/types/src/compat/index.d.ts +5 -5
- package/dist/types/src/compat/index.d.ts.map +1 -1
- package/dist/types/src/messages/EncryptedMessage.d.ts +2 -2
- package/dist/types/src/messages/EncryptedMessage.d.ts.map +1 -1
- package/dist/types/src/messages/SignedMessage.d.ts +2 -2
- package/dist/types/src/messages/SignedMessage.d.ts.map +1 -1
- package/dist/types/src/messages/__tests/EncryptedMessage.test.d.ts +2 -0
- package/dist/types/src/messages/__tests/EncryptedMessage.test.d.ts.map +1 -0
- package/dist/types/src/messages/__tests/SignedMessage.test.d.ts +2 -0
- package/dist/types/src/messages/__tests/SignedMessage.test.d.ts.map +1 -0
- package/dist/types/src/messages/index.d.ts +2 -2
- package/dist/types/src/messages/index.d.ts.map +1 -1
- package/dist/types/src/overlay-tools/LookupResolver.d.ts +9 -9
- package/dist/types/src/overlay-tools/LookupResolver.d.ts.map +1 -1
- package/dist/types/src/overlay-tools/OverlayAdminTokenTemplate.d.ts +21 -21
- package/dist/types/src/overlay-tools/OverlayAdminTokenTemplate.d.ts.map +1 -1
- package/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts +16 -16
- package/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts.map +1 -1
- package/dist/types/src/overlay-tools/__tests/LookupResolver.test.d.ts +2 -0
- package/dist/types/src/overlay-tools/__tests/LookupResolver.test.d.ts.map +1 -0
- package/dist/types/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.d.ts +2 -0
- package/dist/types/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.d.ts.map +1 -0
- package/dist/types/src/overlay-tools/__tests/SHIPBroadcaster.test.d.ts +2 -0
- package/dist/types/src/overlay-tools/__tests/SHIPBroadcaster.test.d.ts.map +1 -0
- package/dist/types/src/overlay-tools/index.d.ts +5 -5
- package/dist/types/src/overlay-tools/index.d.ts.map +1 -1
- package/dist/types/src/primitives/BasePoint.d.ts +1 -1
- package/dist/types/src/primitives/BasePoint.d.ts.map +1 -1
- package/dist/types/src/primitives/BigNumber.d.ts +1 -1
- package/dist/types/src/primitives/BigNumber.d.ts.map +1 -1
- package/dist/types/src/primitives/Curve.d.ts +3 -3
- package/dist/types/src/primitives/Curve.d.ts.map +1 -1
- package/dist/types/src/primitives/DRBG.d.ts +1 -1
- package/dist/types/src/primitives/DRBG.d.ts.map +1 -1
- package/dist/types/src/primitives/ECDSA.d.ts +3 -3
- package/dist/types/src/primitives/ECDSA.d.ts.map +1 -1
- package/dist/types/src/primitives/Hash.d.ts.map +1 -1
- package/dist/types/src/primitives/JacobianPoint.d.ts +3 -3
- package/dist/types/src/primitives/JacobianPoint.d.ts.map +1 -1
- package/dist/types/src/primitives/K256.d.ts +2 -2
- package/dist/types/src/primitives/K256.d.ts.map +1 -1
- package/dist/types/src/primitives/Mersenne.d.ts +1 -1
- package/dist/types/src/primitives/Mersenne.d.ts.map +1 -1
- package/dist/types/src/primitives/MontgomoryMethod.d.ts +2 -2
- package/dist/types/src/primitives/MontgomoryMethod.d.ts.map +1 -1
- package/dist/types/src/primitives/Point.d.ts +17 -13
- package/dist/types/src/primitives/Point.d.ts.map +1 -1
- package/dist/types/src/primitives/Polynomial.d.ts +2 -2
- package/dist/types/src/primitives/Polynomial.d.ts.map +1 -1
- package/dist/types/src/primitives/PrivateKey.d.ts +5 -5
- package/dist/types/src/primitives/PrivateKey.d.ts.map +1 -1
- package/dist/types/src/primitives/PublicKey.d.ts +4 -4
- package/dist/types/src/primitives/PublicKey.d.ts.map +1 -1
- package/dist/types/src/primitives/Random.d.ts.map +1 -1
- package/dist/types/src/primitives/ReductionContext.d.ts +2 -2
- package/dist/types/src/primitives/ReductionContext.d.ts.map +1 -1
- package/dist/types/src/primitives/Schnorr.d.ts +17 -17
- package/dist/types/src/primitives/Schnorr.d.ts.map +1 -1
- package/dist/types/src/primitives/Signature.d.ts +2 -2
- package/dist/types/src/primitives/Signature.d.ts.map +1 -1
- package/dist/types/src/primitives/SymmetricKey.d.ts +14 -14
- package/dist/types/src/primitives/SymmetricKey.d.ts.map +1 -1
- package/dist/types/src/primitives/TransactionSignature.d.ts +9 -9
- package/dist/types/src/primitives/TransactionSignature.d.ts.map +1 -1
- package/dist/types/src/primitives/__tests/AESGCM.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/AESGCM.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/BRC42.private.vectors.d.ts +8 -0
- package/dist/types/src/primitives/__tests/BRC42.private.vectors.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/BRC42.public.vectors.d.ts +8 -0
- package/dist/types/src/primitives/__tests/BRC42.public.vectors.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/BigNumber.arithmatic.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/BigNumber.arithmatic.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/BigNumber.binary.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/BigNumber.binary.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/BigNumber.constructor.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/BigNumber.constructor.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/BigNumber.dhGroup.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/BigNumber.dhGroup.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/BigNumber.fixtures.d.ts +15 -0
- package/dist/types/src/primitives/__tests/BigNumber.fixtures.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/BigNumber.serializers.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/BigNumber.serializers.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/BigNumber.utils.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/BigNumber.utils.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/Curve.unit.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/Curve.unit.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/DRBG.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/DRBG.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/DRBG.vectors.d.ts +10 -0
- package/dist/types/src/primitives/__tests/DRBG.vectors.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/ECDH.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/ECDH.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/ECDSA.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/ECDSA.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/HMAC.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/HMAC.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/Hash.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/Hash.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/PBKDF2.vectors.d.ts +68 -0
- package/dist/types/src/primitives/__tests/PBKDF2.vectors.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/PrivateKey.split.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/PrivateKey.split.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/PrivateKey.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/PrivateKey.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/PublicKey.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/PublicKey.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/Random.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/Random.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/Reader.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/Reader.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/ReductionContext.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/ReductionContext.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/Schnorr.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/Schnorr.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/SymmetricKey.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/SymmetricKey.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/SymmetricKey.vectors.d.ts +20 -0
- package/dist/types/src/primitives/__tests/SymmetricKey.vectors.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/Writer.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/Writer.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/bug-31.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/bug-31.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/sighash.vectors.d.ts +3 -0
- package/dist/types/src/primitives/__tests/sighash.vectors.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/utils.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/utils.test.d.ts.map +1 -0
- package/dist/types/src/primitives/index.d.ts +14 -14
- package/dist/types/src/primitives/index.d.ts.map +1 -1
- package/dist/types/src/primitives/utils.d.ts +1 -1
- package/dist/types/src/primitives/utils.d.ts.map +1 -1
- package/dist/types/src/script/LockingScript.d.ts +1 -1
- package/dist/types/src/script/LockingScript.d.ts.map +1 -1
- package/dist/types/src/script/Script.d.ts +5 -5
- package/dist/types/src/script/Script.d.ts.map +1 -1
- package/dist/types/src/script/ScriptTemplate.d.ts +3 -3
- package/dist/types/src/script/ScriptTemplate.d.ts.map +1 -1
- package/dist/types/src/script/Spend.d.ts +4 -4
- package/dist/types/src/script/Spend.d.ts.map +1 -1
- package/dist/types/src/script/UnlockingScript.d.ts +1 -1
- package/dist/types/src/script/UnlockingScript.d.ts.map +1 -1
- package/dist/types/src/script/__tests/Script.test.d.ts +2 -0
- package/dist/types/src/script/__tests/Script.test.d.ts.map +1 -0
- package/dist/types/src/script/__tests/Spend.test.d.ts +2 -0
- package/dist/types/src/script/__tests/Spend.test.d.ts.map +1 -0
- package/dist/types/src/script/__tests/SpendComplex.test.d.ts +2 -0
- package/dist/types/src/script/__tests/SpendComplex.test.d.ts.map +1 -0
- package/dist/types/src/script/__tests/script.invalid.vectors.d.ts +3 -0
- package/dist/types/src/script/__tests/script.invalid.vectors.d.ts.map +1 -0
- package/dist/types/src/script/__tests/script.valid.vectors.d.ts +3 -0
- package/dist/types/src/script/__tests/script.valid.vectors.d.ts.map +1 -0
- package/dist/types/src/script/__tests/spend.valid.vectors.d.ts +3 -0
- package/dist/types/src/script/__tests/spend.valid.vectors.d.ts.map +1 -0
- package/dist/types/src/script/index.d.ts +7 -7
- package/dist/types/src/script/index.d.ts.map +1 -1
- package/dist/types/src/script/templates/P2PKH.d.ts +7 -7
- package/dist/types/src/script/templates/P2PKH.d.ts.map +1 -1
- package/dist/types/src/script/templates/PushDrop.d.ts +7 -7
- package/dist/types/src/script/templates/PushDrop.d.ts.map +1 -1
- package/dist/types/src/script/templates/RPuzzle.d.ts +9 -9
- package/dist/types/src/script/templates/RPuzzle.d.ts.map +1 -1
- package/dist/types/src/script/templates/__tests/PushDrop.test.d.ts +2 -0
- package/dist/types/src/script/templates/__tests/PushDrop.test.d.ts.map +1 -0
- package/dist/types/src/script/templates/index.d.ts +3 -3
- package/dist/types/src/script/templates/index.d.ts.map +1 -1
- package/dist/types/src/totp/__tests/totp.test.d.ts +2 -0
- package/dist/types/src/totp/__tests/totp.test.d.ts.map +1 -0
- package/dist/types/src/totp/index.d.ts +1 -1
- package/dist/types/src/totp/index.d.ts.map +1 -1
- package/dist/types/src/transaction/Beef.d.ts +96 -96
- package/dist/types/src/transaction/Beef.d.ts.map +1 -1
- package/dist/types/src/transaction/BeefParty.d.ts +23 -23
- package/dist/types/src/transaction/BeefParty.d.ts.map +1 -1
- package/dist/types/src/transaction/BeefTx.d.ts +5 -5
- package/dist/types/src/transaction/BeefTx.d.ts.map +1 -1
- package/dist/types/src/transaction/Broadcaster.d.ts +1 -1
- package/dist/types/src/transaction/Broadcaster.d.ts.map +1 -1
- package/dist/types/src/transaction/ChainTracker.d.ts +2 -2
- package/dist/types/src/transaction/FeeModel.d.ts +1 -1
- package/dist/types/src/transaction/FeeModel.d.ts.map +1 -1
- package/dist/types/src/transaction/MerklePath.d.ts +2 -2
- package/dist/types/src/transaction/MerklePath.d.ts.map +1 -1
- package/dist/types/src/transaction/Transaction.d.ts +11 -19
- package/dist/types/src/transaction/Transaction.d.ts.map +1 -1
- package/dist/types/src/transaction/TransactionInput.d.ts +2 -2
- package/dist/types/src/transaction/TransactionInput.d.ts.map +1 -1
- package/dist/types/src/transaction/TransactionOutput.d.ts +1 -1
- package/dist/types/src/transaction/TransactionOutput.d.ts.map +1 -1
- package/dist/types/src/transaction/__tests/Beef.test.d.ts +2 -0
- package/dist/types/src/transaction/__tests/Beef.test.d.ts.map +1 -0
- package/dist/types/src/transaction/__tests/MerklePath.test.d.ts +2 -0
- package/dist/types/src/transaction/__tests/MerklePath.test.d.ts.map +1 -0
- package/dist/types/src/transaction/__tests/Transaction.benchmarks.test.d.ts +2 -0
- package/dist/types/src/transaction/__tests/Transaction.benchmarks.test.d.ts.map +1 -0
- package/dist/types/src/transaction/__tests/Transaction.test.d.ts +2 -0
- package/dist/types/src/transaction/__tests/Transaction.test.d.ts.map +1 -0
- package/dist/types/src/transaction/__tests/bigtx.vectors.d.ts +6 -0
- package/dist/types/src/transaction/__tests/bigtx.vectors.d.ts.map +1 -0
- package/dist/types/src/transaction/__tests/bump.invalid.vectors.d.ts +6 -0
- package/dist/types/src/transaction/__tests/bump.invalid.vectors.d.ts.map +1 -0
- package/dist/types/src/transaction/__tests/bump.valid.vectors.d.ts +5 -0
- package/dist/types/src/transaction/__tests/bump.valid.vectors.d.ts.map +1 -0
- package/dist/types/src/transaction/__tests/tx.invalid.vectors.d.ts +3 -0
- package/dist/types/src/transaction/__tests/tx.invalid.vectors.d.ts.map +1 -0
- package/dist/types/src/transaction/__tests/tx.valid.vectors.d.ts +3 -0
- package/dist/types/src/transaction/__tests/tx.valid.vectors.d.ts.map +1 -0
- package/dist/types/src/transaction/broadcasters/ARC.d.ts +3 -3
- package/dist/types/src/transaction/broadcasters/ARC.d.ts.map +1 -1
- package/dist/types/src/transaction/broadcasters/DefaultBroadcaster.d.ts +2 -2
- package/dist/types/src/transaction/broadcasters/DefaultBroadcaster.d.ts.map +1 -1
- package/dist/types/src/transaction/broadcasters/WhatsOnChainBroadcaster.d.ts +4 -4
- package/dist/types/src/transaction/broadcasters/WhatsOnChainBroadcaster.d.ts.map +1 -1
- package/dist/types/src/transaction/broadcasters/__tests/ARC.test.d.ts +2 -0
- package/dist/types/src/transaction/broadcasters/__tests/ARC.test.d.ts.map +1 -0
- package/dist/types/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.d.ts +2 -0
- package/dist/types/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.d.ts.map +1 -0
- package/dist/types/src/transaction/broadcasters/index.d.ts +4 -4
- package/dist/types/src/transaction/broadcasters/index.d.ts.map +1 -1
- package/dist/types/src/transaction/chaintrackers/DefaultChainTracker.d.ts +1 -1
- package/dist/types/src/transaction/chaintrackers/DefaultChainTracker.d.ts.map +1 -1
- package/dist/types/src/transaction/chaintrackers/WhatsOnChain.d.ts +3 -3
- package/dist/types/src/transaction/chaintrackers/WhatsOnChain.d.ts.map +1 -1
- package/dist/types/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.d.ts +2 -0
- package/dist/types/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.d.ts.map +1 -0
- package/dist/types/src/transaction/chaintrackers/index.d.ts +3 -3
- package/dist/types/src/transaction/chaintrackers/index.d.ts.map +1 -1
- package/dist/types/src/transaction/fee-models/SatoshisPerKilobyte.d.ts +2 -2
- package/dist/types/src/transaction/fee-models/SatoshisPerKilobyte.d.ts.map +1 -1
- package/dist/types/src/transaction/fee-models/index.d.ts +1 -1
- package/dist/types/src/transaction/fee-models/index.d.ts.map +1 -1
- package/dist/types/src/transaction/http/DefaultHttpClient.d.ts +2 -2
- package/dist/types/src/transaction/http/DefaultHttpClient.d.ts.map +1 -1
- package/dist/types/src/transaction/http/FetchHttpClient.d.ts +6 -6
- package/dist/types/src/transaction/http/FetchHttpClient.d.ts.map +1 -1
- package/dist/types/src/transaction/http/HttpClient.d.ts +4 -4
- package/dist/types/src/transaction/http/HttpClient.d.ts.map +1 -1
- package/dist/types/src/transaction/http/NodejsHttpClient.d.ts +4 -4
- package/dist/types/src/transaction/http/NodejsHttpClient.d.ts.map +1 -1
- package/dist/types/src/transaction/http/index.d.ts +6 -6
- package/dist/types/src/transaction/http/index.d.ts.map +1 -1
- package/dist/types/src/transaction/index.d.ts +10 -10
- package/dist/types/src/transaction/index.d.ts.map +1 -1
- package/dist/types/src/wallet/CachedKeyDeriver.d.ts +61 -61
- package/dist/types/src/wallet/CachedKeyDeriver.d.ts.map +1 -1
- package/dist/types/src/wallet/KeyDeriver.d.ts +80 -80
- package/dist/types/src/wallet/KeyDeriver.d.ts.map +1 -1
- package/dist/types/src/wallet/ProtoWallet.d.ts +3 -3
- package/dist/types/src/wallet/ProtoWallet.d.ts.map +1 -1
- package/dist/types/src/wallet/Wallet.interfaces.d.ts +144 -144
- package/dist/types/src/wallet/Wallet.interfaces.d.ts.map +1 -1
- package/dist/types/src/wallet/WalletClient.d.ts +1 -1
- package/dist/types/src/wallet/WalletClient.d.ts.map +1 -1
- package/dist/types/src/wallet/__tests/CachedKeyDeriver.test.d.ts +2 -0
- package/dist/types/src/wallet/__tests/CachedKeyDeriver.test.d.ts.map +1 -0
- package/dist/types/src/wallet/__tests/KeyDeriver.test.d.ts +2 -0
- package/dist/types/src/wallet/__tests/KeyDeriver.test.d.ts.map +1 -0
- package/dist/types/src/wallet/__tests/ProtoWallet.test.d.ts +2 -0
- package/dist/types/src/wallet/__tests/ProtoWallet.test.d.ts.map +1 -0
- package/dist/types/src/wallet/index.d.ts +8 -8
- package/dist/types/src/wallet/index.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts +1 -1
- package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/HTTPWalletWire.d.ts +1 -1
- package/dist/types/src/wallet/substrates/HTTPWalletWire.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/WalletWire.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/WalletWireCalls.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/WalletWireProcessor.d.ts +2 -2
- package/dist/types/src/wallet/substrates/WalletWireProcessor.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/WalletWireTransceiver.d.ts +10 -10
- package/dist/types/src/wallet/substrates/WalletWireTransceiver.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/XDM.d.ts +2 -2
- package/dist/types/src/wallet/substrates/XDM.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/__tests/WalletWire.integration.test.d.ts +2 -0
- package/dist/types/src/wallet/substrates/__tests/WalletWire.integration.test.d.ts.map +1 -0
- package/dist/types/src/wallet/substrates/__tests/XDM.test.d.ts +5 -0
- package/dist/types/src/wallet/substrates/__tests/XDM.test.d.ts.map +1 -0
- package/dist/types/src/wallet/substrates/index.d.ts +7 -7
- package/dist/types/src/wallet/substrates/index.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/window.CWI.d.ts +19 -19
- package/dist/types/src/wallet/substrates/window.CWI.d.ts.map +1 -1
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/dist/umd/bundle.js +1 -1
- package/docs/auth.md +55 -51
- package/docs/compat.md +24 -24
- package/docs/messages.md +7 -5
- package/docs/overlay-tools.md +21 -21
- package/docs/primitives.md +239 -242
- package/docs/script.md +31 -31
- package/docs/totp.md +5 -5
- package/docs/transaction.md +76 -78
- package/docs/wallet-substrates.md +6 -6
- package/docs/wallet.md +129 -129
- package/mod.ts +15 -15
- package/package.json +10 -2
- package/src/auth/Peer.ts +217 -72
- package/src/auth/SessionManager.ts +8 -6
- package/src/auth/__tests/Peer.test.ts +314 -159
- package/src/auth/certificates/Certificate.ts +16 -6
- package/src/auth/certificates/MasterCertificate.ts +96 -43
- package/src/auth/certificates/VerifiableCertificate.ts +29 -9
- package/src/auth/certificates/__tests/Certificate.test.ts +160 -146
- package/src/auth/certificates/__tests/CompletedProtoWallet.ts +148 -59
- package/src/auth/certificates/__tests/MasterCertificate.test.ts +65 -41
- package/src/auth/certificates/__tests/VerifiableCertificate.test.ts +47 -31
- package/src/auth/certificates/index.ts +4 -4
- package/src/auth/clients/AuthFetch.ts +316 -231
- package/src/auth/clients/index.ts +1 -1
- package/src/auth/index.ts +7 -7
- package/src/auth/transports/SimplifiedFetchTransport.ts +166 -124
- package/src/auth/transports/index.ts +1 -1
- package/src/auth/types.ts +1 -1
- package/src/auth/utils/__tests/cryptononce.test.ts +52 -25
- package/src/auth/utils/__tests/getVerifiableCertificates.test.ts +64 -38
- package/src/auth/utils/__tests/validateCertificates.test.ts +101 -89
- package/src/auth/utils/createNonce.ts +11 -3
- package/src/auth/utils/getVerifiableCertificates.ts +11 -6
- package/src/auth/utils/index.ts +4 -4
- package/src/auth/utils/validateCertificates.ts +53 -39
- package/src/auth/utils/verifyNonce.ts +6 -2
- package/src/compat/BSM.ts +17 -9
- package/src/compat/ECIES.ts +239 -123
- package/src/compat/HD.ts +82 -63
- package/src/compat/Mnemonic.ts +98 -87
- package/src/compat/Utxo.ts +12 -9
- package/src/compat/__tests/BSM.test.ts +43 -16
- package/src/compat/__tests/ECIES.test.ts +117 -52
- package/src/compat/__tests/HD.test.ts +49 -38
- package/src/compat/__tests/Mnemonic.test.ts +145 -145
- package/src/compat/index.ts +5 -5
- package/src/messages/EncryptedMessage.ts +11 -7
- package/src/messages/SignedMessage.ts +19 -14
- package/src/messages/__tests/EncryptedMessage.test.ts +55 -56
- package/src/messages/__tests/SignedMessage.test.ts +58 -52
- package/src/messages/index.ts +2 -2
- package/src/overlay-tools/LookupResolver.ts +65 -33
- package/src/overlay-tools/OverlayAdminTokenTemplate.ts +52 -27
- package/src/overlay-tools/SHIPBroadcaster.ts +134 -59
- package/src/overlay-tools/__tests/LookupResolver.test.ts +723 -323
- package/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.ts +50 -22
- package/src/overlay-tools/__tests/SHIPBroadcaster.test.ts +607 -290
- package/src/overlay-tools/index.ts +5 -5
- package/src/primitives/BasePoint.ts +1 -1
- package/src/primitives/BigNumber.ts +94 -87
- package/src/primitives/Curve.ts +49 -30
- package/src/primitives/DRBG.ts +10 -12
- package/src/primitives/ECDSA.ts +59 -33
- package/src/primitives/Hash.ts +298 -179
- package/src/primitives/JacobianPoint.ts +55 -21
- package/src/primitives/K256.ts +2 -2
- package/src/primitives/Mersenne.ts +1 -1
- package/src/primitives/MontgomoryMethod.ts +2 -2
- package/src/primitives/Point.ts +193 -113
- package/src/primitives/Polynomial.ts +12 -7
- package/src/primitives/PrivateKey.ts +44 -20
- package/src/primitives/PublicKey.ts +21 -11
- package/src/primitives/Random.ts +7 -5
- package/src/primitives/ReductionContext.ts +4 -4
- package/src/primitives/Schnorr.ts +45 -23
- package/src/primitives/Signature.ts +27 -19
- package/src/primitives/SymmetricKey.ts +17 -17
- package/src/primitives/TransactionSignature.ts +29 -18
- package/src/primitives/__tests/AESGCM.test.ts +635 -329
- package/src/primitives/__tests/BigNumber.arithmatic.test.ts +721 -502
- package/src/primitives/__tests/BigNumber.binary.test.ts +271 -190
- package/src/primitives/__tests/BigNumber.constructor.test.ts +60 -24
- package/src/primitives/__tests/BigNumber.dhGroup.test.ts +19 -15
- package/src/primitives/__tests/BigNumber.serializers.test.ts +183 -157
- package/src/primitives/__tests/BigNumber.utils.test.ts +394 -304
- package/src/primitives/__tests/Curve.unit.test.ts +158 -143
- package/src/primitives/__tests/DRBG.test.ts +13 -13
- package/src/primitives/__tests/ECDH.test.ts +15 -8
- package/src/primitives/__tests/ECDSA.test.ts +63 -57
- package/src/primitives/__tests/HMAC.test.ts +55 -49
- package/src/primitives/__tests/Hash.test.ts +96 -85
- package/src/primitives/__tests/PrivateKey.split.test.ts +29 -9
- package/src/primitives/__tests/PrivateKey.test.ts +53 -50
- package/src/primitives/__tests/PublicKey.test.ts +15 -6
- package/src/primitives/__tests/Random.test.ts +10 -10
- package/src/primitives/__tests/Reader.test.ts +240 -219
- package/src/primitives/__tests/ReductionContext.test.ts +271 -234
- package/src/primitives/__tests/Schnorr.test.ts +252 -242
- package/src/primitives/__tests/SymmetricKey.test.ts +53 -50
- package/src/primitives/__tests/Writer.test.ts +23 -13
- package/src/primitives/__tests/bug-31.test.ts +25 -23
- package/src/primitives/__tests/utils.test.ts +70 -19
- package/src/primitives/index.ts +14 -14
- package/src/primitives/utils.ts +88 -63
- package/src/script/LockingScript.ts +1 -1
- package/src/script/Script.ts +14 -10
- package/src/script/ScriptTemplate.ts +5 -7
- package/src/script/Spend.ts +314 -118
- package/src/script/UnlockingScript.ts +1 -1
- package/src/script/__tests/Script.test.ts +68 -54
- package/src/script/__tests/Spend.test.ts +188 -68
- package/src/script/__tests/SpendComplex.test.ts +36 -26
- package/src/script/__tests/script.valid.vectors.ts +1064 -3100
- package/src/script/index.ts +7 -7
- package/src/script/templates/P2PKH.ts +63 -52
- package/src/script/templates/PushDrop.ts +117 -89
- package/src/script/templates/RPuzzle.ts +72 -54
- package/src/script/templates/__tests/PushDrop.test.ts +146 -40
- package/src/script/templates/index.ts +3 -3
- package/src/totp/__tests/totp.test.ts +39 -39
- package/src/totp/index.ts +1 -1
- package/src/totp/totp.ts +2 -2
- package/src/transaction/Beef.ts +211 -141
- package/src/transaction/BeefParty.ts +35 -27
- package/src/transaction/BeefTx.ts +13 -9
- package/src/transaction/Broadcaster.ts +11 -7
- package/src/transaction/ChainTracker.ts +2 -2
- package/src/transaction/FeeModel.ts +2 -2
- package/src/transaction/MerklePath.ts +81 -37
- package/src/transaction/Transaction.ts +185 -208
- package/src/transaction/TransactionInput.ts +2 -2
- package/src/transaction/TransactionOutput.ts +2 -2
- package/src/transaction/__tests/Beef.test.ts +359 -297
- package/src/transaction/__tests/MerklePath.test.ts +163 -131
- package/src/transaction/__tests/Transaction.benchmarks.test.ts +235 -202
- package/src/transaction/__tests/Transaction.test.ts +746 -459
- package/src/transaction/broadcasters/ARC.ts +120 -94
- package/src/transaction/broadcasters/DefaultBroadcaster.ts +11 -5
- package/src/transaction/broadcasters/WhatsOnChainBroadcaster.ts +46 -33
- package/src/transaction/broadcasters/__tests/ARC.test.ts +77 -45
- package/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.ts +25 -17
- package/src/transaction/broadcasters/index.ts +4 -4
- package/src/transaction/chaintrackers/DefaultChainTracker.ts +4 -4
- package/src/transaction/chaintrackers/WhatsOnChain.ts +53 -38
- package/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.ts +138 -102
- package/src/transaction/chaintrackers/index.ts +3 -3
- package/src/transaction/fee-models/SatoshisPerKilobyte.ts +37 -32
- package/src/transaction/fee-models/index.ts +1 -1
- package/src/transaction/http/DefaultHttpClient.ts +17 -17
- package/src/transaction/http/FetchHttpClient.ts +18 -9
- package/src/transaction/http/HttpClient.ts +30 -25
- package/src/transaction/http/NodejsHttpClient.ts +42 -28
- package/src/transaction/http/index.ts +10 -6
- package/src/transaction/index.ts +14 -10
- package/src/wallet/CachedKeyDeriver.ts +118 -72
- package/src/wallet/KeyDeriver.ts +186 -105
- package/src/wallet/ProtoWallet.ts +53 -17
- package/src/wallet/Wallet.interfaces.ts +158 -149
- package/src/wallet/WalletClient.ts +316 -58
- package/src/wallet/__tests/CachedKeyDeriver.test.ts +83 -27
- package/src/wallet/__tests/KeyDeriver.test.ts +219 -116
- package/src/wallet/__tests/ProtoWallet.test.ts +420 -339
- package/src/wallet/index.ts +8 -8
- package/src/wallet/substrates/HTTPWalletJSON.ts +201 -32
- package/src/wallet/substrates/HTTPWalletWire.ts +30 -26
- package/src/wallet/substrates/WalletWire.ts +1 -1
- package/src/wallet/substrates/WalletWireCalls.ts +3 -3
- package/src/wallet/substrates/WalletWireProcessor.ts +1651 -1515
- package/src/wallet/substrates/WalletWireTransceiver.ts +1424 -854
- package/src/wallet/substrates/XDM.ts +427 -37
- package/src/wallet/substrates/__tests/WalletWire.integration.test.ts +484 -223
- package/src/wallet/substrates/__tests/XDM.test.ts +191 -195
- package/src/wallet/substrates/index.ts +7 -7
- package/src/wallet/substrates/window.CWI.ts +524 -65
|
@@ -1,13 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const BigNumber_1 = __importDefault(require("./BigNumber"));
|
|
7
|
+
const ReductionContext_1 = __importDefault(require("./ReductionContext"));
|
|
8
|
+
const MontgomoryMethod_1 = __importDefault(require("./MontgomoryMethod"));
|
|
9
|
+
const Point_1 = __importDefault(require("./Point"));
|
|
10
|
+
const utils_1 = require("./utils");
|
|
6
11
|
// This ensures that only one curve is ever created, enhancing performance.
|
|
7
12
|
// This assumes there is never a need to have multiple distinct Curve instances.
|
|
8
13
|
// So far, this assumption has proven to be valid.
|
|
9
14
|
let globalCurve;
|
|
10
|
-
|
|
15
|
+
class Curve {
|
|
11
16
|
p;
|
|
12
17
|
red;
|
|
13
18
|
redN;
|
|
@@ -62,10 +67,7 @@ export default class Curve {
|
|
|
62
67
|
}
|
|
63
68
|
// Represent k1, k2 in a Joint Sparse Form
|
|
64
69
|
getJSF(k1, k2) {
|
|
65
|
-
const jsf = [
|
|
66
|
-
[],
|
|
67
|
-
[]
|
|
68
|
-
];
|
|
70
|
+
const jsf = [[], []];
|
|
69
71
|
k1 = k1.clone();
|
|
70
72
|
k2 = k2.clone();
|
|
71
73
|
let d1 = 0;
|
|
@@ -123,19 +125,15 @@ export default class Curve {
|
|
|
123
125
|
static cachedProperty(obj, name, computer) {
|
|
124
126
|
const key = '_' + name;
|
|
125
127
|
obj.prototype[name] = function cachedProperty() {
|
|
126
|
-
const r = this[key] !== undefined
|
|
127
|
-
? this[key]
|
|
128
|
-
: this[key] = computer.call(this);
|
|
128
|
+
const r = this[key] !== undefined ? this[key] : (this[key] = computer.call(this));
|
|
129
129
|
return r;
|
|
130
130
|
};
|
|
131
131
|
}
|
|
132
132
|
static parseBytes(bytes) {
|
|
133
|
-
return typeof bytes === 'string'
|
|
134
|
-
? toArray(bytes, 'hex')
|
|
135
|
-
: bytes;
|
|
133
|
+
return typeof bytes === 'string' ? (0, utils_1.toArray)(bytes, 'hex') : bytes;
|
|
136
134
|
}
|
|
137
135
|
static intFromLE(bytes) {
|
|
138
|
-
return new
|
|
136
|
+
return new BigNumber_1.default(bytes, 'hex', 'le');
|
|
139
137
|
}
|
|
140
138
|
constructor() {
|
|
141
139
|
if (typeof globalCurve !== 'undefined') {
|
|
@@ -952,16 +950,16 @@ export default class Curve {
|
|
|
952
950
|
precomputed
|
|
953
951
|
]
|
|
954
952
|
};
|
|
955
|
-
this.p = new
|
|
953
|
+
this.p = new BigNumber_1.default(conf.p, 16);
|
|
956
954
|
// Use Montgomery, when there is no fast reduction for the prime
|
|
957
|
-
this.red = new
|
|
955
|
+
this.red = new ReductionContext_1.default(conf.prime);
|
|
958
956
|
// Useful for many curves
|
|
959
|
-
this.zero = new
|
|
960
|
-
this.one = new
|
|
961
|
-
this.two = new
|
|
957
|
+
this.zero = new BigNumber_1.default(0).toRed(this.red);
|
|
958
|
+
this.one = new BigNumber_1.default(1).toRed(this.red);
|
|
959
|
+
this.two = new BigNumber_1.default(2).toRed(this.red);
|
|
962
960
|
// Curve configuration, optional
|
|
963
|
-
this.n = new
|
|
964
|
-
this.g =
|
|
961
|
+
this.n = new BigNumber_1.default(conf.n, 16);
|
|
962
|
+
this.g = Point_1.default.fromJSON(conf.g, conf.gRed);
|
|
965
963
|
// Temporary arrays
|
|
966
964
|
this._wnafT1 = new Array(4);
|
|
967
965
|
this._wnafT2 = new Array(4);
|
|
@@ -969,8 +967,8 @@ export default class Curve {
|
|
|
969
967
|
this._wnafT4 = new Array(4);
|
|
970
968
|
this._bitLength = this.n.bitLength();
|
|
971
969
|
this.redN = this.n.toRed(this.red);
|
|
972
|
-
this.a = new
|
|
973
|
-
this.b = new
|
|
970
|
+
this.a = new BigNumber_1.default(conf.a, 16).toRed(this.red);
|
|
971
|
+
this.b = new BigNumber_1.default(conf.b, 16).toRed(this.red);
|
|
974
972
|
this.tinv = this.two.redInvm();
|
|
975
973
|
this.zeroA = this.a.fromRed().cmpn(0) === 0;
|
|
976
974
|
this.threeA = this.a.fromRed().sub(this.p).cmpn(-3) === 0;
|
|
@@ -988,7 +986,7 @@ export default class Curve {
|
|
|
988
986
|
let beta;
|
|
989
987
|
let lambda;
|
|
990
988
|
if (conf.beta !== undefined) {
|
|
991
|
-
beta = new
|
|
989
|
+
beta = new BigNumber_1.default(conf.beta, 16).toRed(this.red);
|
|
992
990
|
}
|
|
993
991
|
else {
|
|
994
992
|
const betas = this._getEndoRoots(this.p);
|
|
@@ -997,7 +995,7 @@ export default class Curve {
|
|
|
997
995
|
beta = beta.toRed(this.red);
|
|
998
996
|
}
|
|
999
997
|
if (conf.lambda !== undefined) {
|
|
1000
|
-
lambda = new
|
|
998
|
+
lambda = new BigNumber_1.default(conf.lambda, 16);
|
|
1001
999
|
}
|
|
1002
1000
|
else {
|
|
1003
1001
|
// Choose the lambda that is matching selected beta
|
|
@@ -1015,8 +1013,8 @@ export default class Curve {
|
|
|
1015
1013
|
if (typeof conf.basis === 'object' && conf.basis !== null) {
|
|
1016
1014
|
basis = conf.basis.map(function (vec) {
|
|
1017
1015
|
return {
|
|
1018
|
-
a: new
|
|
1019
|
-
b: new
|
|
1016
|
+
a: new BigNumber_1.default(vec.a, 16),
|
|
1017
|
+
b: new BigNumber_1.default(vec.b, 16)
|
|
1020
1018
|
};
|
|
1021
1019
|
});
|
|
1022
1020
|
}
|
|
@@ -1029,20 +1027,18 @@ export default class Curve {
|
|
|
1029
1027
|
basis
|
|
1030
1028
|
};
|
|
1031
1029
|
}
|
|
1032
|
-
;
|
|
1033
1030
|
_getEndoRoots(num) {
|
|
1034
1031
|
// Find roots of for x^2 + x + 1 in F
|
|
1035
1032
|
// Root = (-1 +- Sqrt(-3)) / 2
|
|
1036
1033
|
//
|
|
1037
|
-
const red = num === this.p ? this.red : new
|
|
1038
|
-
const tinv = new
|
|
1034
|
+
const red = num === this.p ? this.red : new MontgomoryMethod_1.default(num);
|
|
1035
|
+
const tinv = new BigNumber_1.default(2).toRed(red).redInvm();
|
|
1039
1036
|
const ntinv = tinv.redNeg();
|
|
1040
|
-
const s = new
|
|
1037
|
+
const s = new BigNumber_1.default(3).toRed(red).redNeg().redSqrt().redMul(tinv);
|
|
1041
1038
|
const l1 = ntinv.redAdd(s).fromRed();
|
|
1042
1039
|
const l2 = ntinv.redSub(s).fromRed();
|
|
1043
1040
|
return [l1, l2];
|
|
1044
1041
|
}
|
|
1045
|
-
;
|
|
1046
1042
|
_getEndoBasis(lambda) {
|
|
1047
1043
|
// aprxSqrt >= sqrt(this.n)
|
|
1048
1044
|
const aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2));
|
|
@@ -1050,10 +1046,10 @@ export default class Curve {
|
|
|
1050
1046
|
// Run EGCD, until r(L + 1) < aprxSqrt
|
|
1051
1047
|
let u = lambda;
|
|
1052
1048
|
let v = this.n.clone();
|
|
1053
|
-
let x1 = new
|
|
1054
|
-
let y1 = new
|
|
1055
|
-
let x2 = new
|
|
1056
|
-
let y2 = new
|
|
1049
|
+
let x1 = new BigNumber_1.default(1);
|
|
1050
|
+
let y1 = new BigNumber_1.default(0);
|
|
1051
|
+
let x2 = new BigNumber_1.default(0);
|
|
1052
|
+
let y2 = new BigNumber_1.default(1);
|
|
1057
1053
|
// NOTE: all vectors are roots of: a + b * lambda = 0 (mod n)
|
|
1058
1054
|
let a0;
|
|
1059
1055
|
let b0;
|
|
@@ -1136,6 +1132,6 @@ export default class Curve {
|
|
|
1136
1132
|
const rhs = x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);
|
|
1137
1133
|
return y.redSqr().redISub(rhs).cmpn(0) === 0;
|
|
1138
1134
|
}
|
|
1139
|
-
;
|
|
1140
1135
|
}
|
|
1136
|
+
exports.default = Curve;
|
|
1141
1137
|
//# sourceMappingURL=Curve.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Curve.js","sourceRoot":"","sources":["../../../../src/primitives/Curve.ts"],"names":[],"mappings":"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E;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,iEAAiE;wBACjE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,iEAAiE;wBACjE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,gEAAgE;qBACjE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,iEAAiE;wBACjE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,iEAAiE;wBACjE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;iBACF;aACF;YACD,GAAG,EAAE;gBACH,GAAG,EAAE,CAAC;gBACN,MAAM,EAAE;oBACN;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,iEAAiE;wBACjE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,iEAAiE;wBACjE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,iEAAiE;wBACjE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,iEAAiE;wBACjE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,gEAAgE;wBAChE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,iEAAiE;wBACjE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEA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"}
|
|
1
|
+
{"version":3,"file":"Curve.js","sourceRoot":"","sources":["../../../../src/primitives/Curve.ts"],"names":[],"mappings":";;;;;AAAA,4DAAmC;AACnC,0EAAiD;AACjD,0EAAiD;AACjD,oDAA2B;AAC3B,mCAAiC;AAEjC,2EAA2E;AAC3E,gFAAgF;AAChF,kDAAkD;AAClD,IAAI,WAAkB,CAAA;AAEtB,MAAqB,KAAK;IACxB,CAAC,CAAW;IACZ,GAAG,CAAkB;IACrB,IAAI,CAAkB;IACtB,IAAI,CAAW;IACf,GAAG,CAAW;IACd,GAAG,CAAW;IACd,CAAC,CAAO;IACR,CAAC,CAAW;IACZ,CAAC,CAAW;IACZ,CAAC,CAAW;IACZ,IAAI,CAAW;IACf,KAAK,CAAS;IACd,MAAM,CAAS;IACf,IAAI,CAAK,CAAC,sBAAsB;IAChC,WAAW,CAAO;IAClB,WAAW,CAAO;IAClB,OAAO,CAAO;IACd,OAAO,CAAO;IACd,OAAO,CAAO;IACd,OAAO,CAAO;IACd,UAAU,CAAQ;IAElB,gCAAgC;IAChC,MAAM,CAAC,MAAM,CACX,UAAmB,EACnB,UAAkB,iCAAiC;QAEnD,IAAI,CAAE,UAAsB,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC;IAED,MAAM,CAAE,GAAc,EAAE,CAAS,EAAE,IAAY;QAC7C,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QAC1D,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAEX,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QACvB,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAA;QAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,IAAI,CAAC,CAAA;YACL,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;YAC3B,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;gBACd,IAAI,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;oBACxB,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,GAAG,CAAA;gBACrB,CAAC;qBAAM,CAAC;oBACN,CAAC,GAAG,GAAG,CAAA;gBACT,CAAC;gBACD,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YACZ,CAAC;iBAAM,CAAC;gBACN,CAAC,GAAG,CAAC,CAAA;YACP,CAAC;YAED,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;YACV,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QACb,CAAC;QAED,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,0CAA0C;IAC1C,MAAM,CAAE,EAAa,EAAE,EAAa;QAClC,MAAM,GAAG,GAAY,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QAE7B,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAA;QACf,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAA;QACf,IAAI,EAAE,GAAG,CAAC,CAAA;QACV,IAAI,EAAE,GAAG,CAAC,CAAA;QACV,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5C,cAAc;YACd,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;YAChC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;YAChC,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;gBACd,GAAG,GAAG,CAAC,CAAC,CAAA;YACV,CAAC;YACD,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;gBACd,GAAG,GAAG,CAAC,CAAC,CAAA;YACV,CAAC;YACD,IAAI,EAAU,CAAA;YACd,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpB,EAAE,GAAG,CAAC,CAAA;YACR,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;gBACjC,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;oBACxC,EAAE,GAAG,CAAC,GAAG,CAAA;gBACX,CAAC;qBAAM,CAAC;oBACN,EAAE,GAAG,GAAG,CAAA;gBACV,CAAC;YACH,CAAC;YACD,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAEf,IAAI,EAAU,CAAA;YACd,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpB,EAAE,GAAG,CAAC,CAAA;YACR,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;gBACjC,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;oBACxC,EAAE,GAAG,CAAC,GAAG,CAAA;gBACX,CAAC;qBAAM,CAAC;oBACN,EAAE,GAAG,GAAG,CAAA;gBACV,CAAC;YACH,CAAC;YACD,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAEf,eAAe;YACf,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;gBACtB,EAAE,GAAG,CAAC,GAAG,EAAE,CAAA;YACb,CAAC;YACD,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;gBACtB,EAAE,GAAG,CAAC,GAAG,EAAE,CAAA;YACb,CAAC;YACD,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YACZ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QACd,CAAC;QAED,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,MAAM,CAAC,cAAc,CAAE,GAAG,EAAE,IAAY,EAAE,QAAQ;QAChD,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,CAAA;QACtB,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,cAAc;YAC3C,MAAM,CAAC,GACL,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YACzE,OAAO,CAAC,CAAA;QACV,CAAC,CAAA;IACH,CAAC;IAED,MAAM,CAAC,UAAU,CAAE,KAAwB;QACzC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,eAAO,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IAClE,CAAC;IAED,MAAM,CAAC,SAAS,CAAE,KAAe;QAC/B,OAAO,IAAI,mBAAS,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IAC1C,CAAC;IAED;QACE,IAAI,OAAO,WAAW,KAAK,WAAW,EAAE,CAAC;YACvC,OAAO,WAAW,CAAA;QACpB,CAAC;aAAM,CAAC;YACN,qDAAqD;YACrD,WAAW,GAAG,IAAI,CAAA;QACpB,CAAC;QAED,MAAM,WAAW,GAAG;YAClB,OAAO,EAAE;gBACP,IAAI,EAAE,CAAC;gBACP,MAAM,EAAE;oBACN;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,iEAAiE;wBACjE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,iEAAiE;wBACjE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,gEAAgE;qBACjE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,iEAAiE;wBACjE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,iEAAiE;wBACjE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;iBACF;aACF;YACD,GAAG,EAAE;gBACH,GAAG,EAAE,CAAC;gBACN,MAAM,EAAE;oBACN;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,iEAAiE;wBACjE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,iEAAiE;wBACjE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,iEAAiE;wBACjE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,iEAAiE;wBACjE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,gEAAgE;wBAChE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,iEAAiE;wBACjE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,iEAAiE;qBAClE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBACD;wBACE,kEAAkE;wBAClE,kEAAkE;qBACnE;oBA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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const Hash_1 = require("./Hash");
|
|
4
|
+
const utils_1 = require("./utils");
|
|
3
5
|
/**
|
|
4
6
|
* This class behaves as a HMAC-based deterministic random bit generator (DRBG). It implements a deterministic random number generator using SHA256HMAC HASH function. It takes an initial entropy and nonce when instantiated for seeding purpose.
|
|
5
7
|
* @class DRBG
|
|
@@ -13,12 +15,12 @@ import { toHex, toArray } from './utils.js';
|
|
|
13
15
|
* @example
|
|
14
16
|
* const drbg = new DRBG('af12de...', '123ef...');
|
|
15
17
|
*/
|
|
16
|
-
|
|
18
|
+
class DRBG {
|
|
17
19
|
K;
|
|
18
20
|
V;
|
|
19
21
|
constructor(entropy, nonce) {
|
|
20
|
-
entropy = toArray(entropy, 'hex');
|
|
21
|
-
nonce = toArray(nonce, 'hex');
|
|
22
|
+
entropy = (0, utils_1.toArray)(entropy, 'hex');
|
|
23
|
+
nonce = (0, utils_1.toArray)(nonce, 'hex');
|
|
22
24
|
if (entropy.length < 32) {
|
|
23
25
|
throw new Error('Not enough entropy. Minimum is 256 bits');
|
|
24
26
|
}
|
|
@@ -41,7 +43,7 @@ export default class DRBG {
|
|
|
41
43
|
* const hmac = drbg.hmac();
|
|
42
44
|
*/
|
|
43
45
|
hmac() {
|
|
44
|
-
return new SHA256HMAC(this.K);
|
|
46
|
+
return new Hash_1.SHA256HMAC(this.K);
|
|
45
47
|
}
|
|
46
48
|
/**
|
|
47
49
|
* Updates the `K` and `V` values of the instance based on the seed.
|
|
@@ -55,9 +57,7 @@ export default class DRBG {
|
|
|
55
57
|
* drbg.update('e13af...');
|
|
56
58
|
*/
|
|
57
59
|
update(seed) {
|
|
58
|
-
let kmac = this.hmac()
|
|
59
|
-
.update(this.V)
|
|
60
|
-
.update([0x00]);
|
|
60
|
+
let kmac = this.hmac().update(this.V).update([0x00]);
|
|
61
61
|
if (seed !== undefined) {
|
|
62
62
|
kmac = kmac.update(seed);
|
|
63
63
|
}
|
|
@@ -66,11 +66,7 @@ export default class DRBG {
|
|
|
66
66
|
if (seed === undefined) {
|
|
67
67
|
return;
|
|
68
68
|
}
|
|
69
|
-
this.K = this.hmac()
|
|
70
|
-
.update(this.V)
|
|
71
|
-
.update([0x01])
|
|
72
|
-
.update(seed)
|
|
73
|
-
.digest();
|
|
69
|
+
this.K = this.hmac().update(this.V).update([0x01]).update(seed).digest();
|
|
74
70
|
this.V = this.hmac().update(this.V).digest();
|
|
75
71
|
}
|
|
76
72
|
/**
|
|
@@ -92,7 +88,8 @@ export default class DRBG {
|
|
|
92
88
|
}
|
|
93
89
|
const res = temp.slice(0, len);
|
|
94
90
|
this.update();
|
|
95
|
-
return toHex(res);
|
|
91
|
+
return (0, utils_1.toHex)(res);
|
|
96
92
|
}
|
|
97
93
|
}
|
|
94
|
+
exports.default = DRBG;
|
|
98
95
|
//# sourceMappingURL=DRBG.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DRBG.js","sourceRoot":"","sources":["../../../../src/primitives/DRBG.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"DRBG.js","sourceRoot":"","sources":["../../../../src/primitives/DRBG.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.verify = exports.sign = void 0;
|
|
7
|
+
const BigNumber_1 = __importDefault(require("./BigNumber"));
|
|
8
|
+
const Signature_1 = __importDefault(require("./Signature"));
|
|
9
|
+
const Curve_1 = __importDefault(require("./Curve"));
|
|
10
|
+
const DRBG_1 = __importDefault(require("./DRBG"));
|
|
5
11
|
/**
|
|
6
12
|
* Truncates a BigNumber message to the length of the curve order n, in the context of the Elliptic Curve Digital Signature Algorithm (ECDSA).
|
|
7
13
|
* This method is used as part of ECDSA signing and verification.
|
|
@@ -21,7 +27,7 @@ import DRBG from './DRBG.js';
|
|
|
21
27
|
* let msg = new BigNumber('1234567890abcdef', 16);
|
|
22
28
|
* let truncatedMsg = truncateToN(msg);
|
|
23
29
|
*/
|
|
24
|
-
function truncateToN(msg, truncOnly, curve = new
|
|
30
|
+
function truncateToN(msg, truncOnly, curve = new Curve_1.default()) {
|
|
25
31
|
const delta = msg.byteLength() * 8 - curve.n.bitLength();
|
|
26
32
|
if (delta > 0) {
|
|
27
33
|
msg.iushrn(delta);
|
|
@@ -48,7 +54,7 @@ function truncateToN(msg, truncOnly, curve = new Curve()) {
|
|
|
48
54
|
* const key = new BigNumber('123456')
|
|
49
55
|
* const signature = sign(msg, key)
|
|
50
56
|
*/
|
|
51
|
-
|
|
57
|
+
const sign = (msg, key, forceLowS = false, customK) => {
|
|
52
58
|
if (typeof BigInt === 'function') {
|
|
53
59
|
// Curve parameters for secp256k1
|
|
54
60
|
const zero = BigInt(0);
|
|
@@ -81,7 +87,7 @@ export const sign = (msg, key, forceLowS = false, customK) => {
|
|
|
81
87
|
// Zero-extend nonce to have the same byte size as N
|
|
82
88
|
const nonce = bigIntToBytes(z, bytes); // 'z' is the message hash BigInt
|
|
83
89
|
// Instantiate Hmac_DRBG
|
|
84
|
-
const drbg = new
|
|
90
|
+
const drbg = new DRBG_1.default(Array.from(bkey), Array.from(nonce));
|
|
85
91
|
// Number of bytes to generate
|
|
86
92
|
const ns1 = n - one;
|
|
87
93
|
let iter = 0;
|
|
@@ -108,7 +114,7 @@ export const sign = (msg, key, forceLowS = false, customK) => {
|
|
|
108
114
|
const k_str = k_bn.toString(16);
|
|
109
115
|
return BigInt('0x' + k_str);
|
|
110
116
|
}
|
|
111
|
-
else if (
|
|
117
|
+
else if (BigNumber_1.default.isBN(customK)) {
|
|
112
118
|
// Use customK provided, convert to BigInt
|
|
113
119
|
const k_str = customK.toString(16);
|
|
114
120
|
return BigInt('0x' + k_str);
|
|
@@ -184,7 +190,7 @@ export const sign = (msg, key, forceLowS = false, customK) => {
|
|
|
184
190
|
// Truncate k to n bits
|
|
185
191
|
k = truncateToN(k, n, true);
|
|
186
192
|
if (k <= one || k >= ns1) {
|
|
187
|
-
if (customK instanceof
|
|
193
|
+
if (customK instanceof BigNumber_1.default) {
|
|
188
194
|
throw new Error('Invalid fixed custom K value (must be more than 1 and less than N-1)');
|
|
189
195
|
}
|
|
190
196
|
else {
|
|
@@ -193,7 +199,7 @@ export const sign = (msg, key, forceLowS = false, customK) => {
|
|
|
193
199
|
}
|
|
194
200
|
const R = scalarMul(k, G);
|
|
195
201
|
if (R === null) {
|
|
196
|
-
if (customK instanceof
|
|
202
|
+
if (customK instanceof BigNumber_1.default) {
|
|
197
203
|
throw new Error('Invalid fixed custom K value (must not create a point at infinity when multiplied by the generator point)');
|
|
198
204
|
}
|
|
199
205
|
else {
|
|
@@ -202,7 +208,7 @@ export const sign = (msg, key, forceLowS = false, customK) => {
|
|
|
202
208
|
}
|
|
203
209
|
const r = mod(R.x, n);
|
|
204
210
|
if (r === zero) {
|
|
205
|
-
if (customK instanceof
|
|
211
|
+
if (customK instanceof BigNumber_1.default) {
|
|
206
212
|
throw new Error('Invalid fixed custom K value (when multiplied by G, the resulting x coordinate mod N must not be zero)');
|
|
207
213
|
}
|
|
208
214
|
else {
|
|
@@ -213,7 +219,7 @@ export const sign = (msg, key, forceLowS = false, customK) => {
|
|
|
213
219
|
const rd = mod(r * d, n);
|
|
214
220
|
let s = mod(kInv * (z + rd), n);
|
|
215
221
|
if (s === zero) {
|
|
216
|
-
if (customK instanceof
|
|
222
|
+
if (customK instanceof BigNumber_1.default) {
|
|
217
223
|
throw new Error('Invalid fixed custom K value (when used with the key, it cannot create a zero value for S)');
|
|
218
224
|
}
|
|
219
225
|
else {
|
|
@@ -225,13 +231,13 @@ export const sign = (msg, key, forceLowS = false, customK) => {
|
|
|
225
231
|
s = n - s;
|
|
226
232
|
}
|
|
227
233
|
// Return signature as BigNumbers
|
|
228
|
-
const r_bn = new
|
|
229
|
-
const s_bn = new
|
|
230
|
-
return new
|
|
234
|
+
const r_bn = new BigNumber_1.default(r.toString(16), 16);
|
|
235
|
+
const s_bn = new BigNumber_1.default(s.toString(16), 16);
|
|
236
|
+
return new Signature_1.default(r_bn, s_bn);
|
|
231
237
|
}
|
|
232
238
|
}
|
|
233
239
|
else {
|
|
234
|
-
const curve = new
|
|
240
|
+
const curve = new Curve_1.default();
|
|
235
241
|
msg = truncateToN(msg);
|
|
236
242
|
// Zero-extend key to provide enough entropy
|
|
237
243
|
const bytes = curve.n.byteLength();
|
|
@@ -239,19 +245,19 @@ export const sign = (msg, key, forceLowS = false, customK) => {
|
|
|
239
245
|
// Zero-extend nonce to have the same byte size as N
|
|
240
246
|
const nonce = msg.toArray('be', bytes);
|
|
241
247
|
// Instantiate Hmac_DRBG
|
|
242
|
-
const drbg = new
|
|
248
|
+
const drbg = new DRBG_1.default(bkey, nonce);
|
|
243
249
|
// Number of bytes to generate
|
|
244
250
|
const ns1 = curve.n.subn(1);
|
|
245
251
|
for (let iter = 0;; iter++) {
|
|
246
252
|
// Compute the k-value
|
|
247
253
|
let k = typeof customK === 'function'
|
|
248
254
|
? customK(iter)
|
|
249
|
-
:
|
|
255
|
+
: BigNumber_1.default.isBN(customK)
|
|
250
256
|
? customK
|
|
251
|
-
: new
|
|
257
|
+
: new BigNumber_1.default(drbg.generate(bytes), 16);
|
|
252
258
|
k = truncateToN(k, true);
|
|
253
259
|
if (k.cmpn(1) <= 0 || k.cmp(ns1) >= 0) {
|
|
254
|
-
if (
|
|
260
|
+
if (BigNumber_1.default.isBN(customK)) {
|
|
255
261
|
throw new Error('Invalid fixed custom K value (must be more than 1 and less than N-1)');
|
|
256
262
|
}
|
|
257
263
|
else {
|
|
@@ -260,7 +266,7 @@ export const sign = (msg, key, forceLowS = false, customK) => {
|
|
|
260
266
|
}
|
|
261
267
|
const kp = curve.g.mul(k);
|
|
262
268
|
if (kp.isInfinity()) {
|
|
263
|
-
if (
|
|
269
|
+
if (BigNumber_1.default.isBN(customK)) {
|
|
264
270
|
throw new Error('Invalid fixed custom K value (must not create a point at infinity when multiplied by the generator point)');
|
|
265
271
|
}
|
|
266
272
|
else {
|
|
@@ -270,7 +276,7 @@ export const sign = (msg, key, forceLowS = false, customK) => {
|
|
|
270
276
|
const kpX = kp.getX();
|
|
271
277
|
const r = kpX.umod(curve.n);
|
|
272
278
|
if (r.cmpn(0) === 0) {
|
|
273
|
-
if (
|
|
279
|
+
if (BigNumber_1.default.isBN(customK)) {
|
|
274
280
|
throw new Error('Invalid fixed custom K value (when multiplied by G, the resulting x coordinate mod N must not be zero)');
|
|
275
281
|
}
|
|
276
282
|
else {
|
|
@@ -280,7 +286,7 @@ export const sign = (msg, key, forceLowS = false, customK) => {
|
|
|
280
286
|
let s = k.invm(curve.n).mul(r.mul(key).iadd(msg));
|
|
281
287
|
s = s.umod(curve.n);
|
|
282
288
|
if (s.cmpn(0) === 0) {
|
|
283
|
-
if (
|
|
289
|
+
if (BigNumber_1.default.isBN(customK)) {
|
|
284
290
|
throw new Error('Invalid fixed custom K value (when used with the key, it cannot create a zero value for S)');
|
|
285
291
|
}
|
|
286
292
|
else {
|
|
@@ -291,10 +297,11 @@ export const sign = (msg, key, forceLowS = false, customK) => {
|
|
|
291
297
|
if (forceLowS && s.cmp(curve.n.ushrn(1)) > 0) {
|
|
292
298
|
s = curve.n.sub(s);
|
|
293
299
|
}
|
|
294
|
-
return new
|
|
300
|
+
return new Signature_1.default(r, s);
|
|
295
301
|
}
|
|
296
302
|
}
|
|
297
303
|
};
|
|
304
|
+
exports.sign = sign;
|
|
298
305
|
/**
|
|
299
306
|
* Verifies a digital signature of a given message.
|
|
300
307
|
*
|
|
@@ -313,7 +320,7 @@ export const sign = (msg, key, forceLowS = false, customK) => {
|
|
|
313
320
|
* const signature = sign(msg, new BigNumber('123456'))
|
|
314
321
|
* const isVerified = verify(msg, sig, key)
|
|
315
322
|
*/
|
|
316
|
-
|
|
323
|
+
const verify = (msg, sig, key) => {
|
|
317
324
|
// Use BigInt for verification opportunistically
|
|
318
325
|
if (typeof BigInt === 'function') {
|
|
319
326
|
// Curve parameters for secp256k1
|
|
@@ -454,7 +461,7 @@ export const verify = (msg, sig, key) => {
|
|
|
454
461
|
return verifyECDSA(hash, publicKey, signature);
|
|
455
462
|
}
|
|
456
463
|
else {
|
|
457
|
-
const curve = new
|
|
464
|
+
const curve = new Curve_1.default();
|
|
458
465
|
msg = truncateToN(msg);
|
|
459
466
|
// Perform primitive values validation
|
|
460
467
|
const r = sig.r;
|
|
@@ -481,4 +488,5 @@ export const verify = (msg, sig, key) => {
|
|
|
481
488
|
return p.eqXToP(r);
|
|
482
489
|
}
|
|
483
490
|
};
|
|
491
|
+
exports.verify = verify;
|
|
484
492
|
//# sourceMappingURL=ECDSA.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ECDSA.js","sourceRoot":"","sources":["../../../../src/primitives/ECDSA.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ECDSA.js","sourceRoot":"","sources":["../../../../src/primitives/ECDSA.ts"],"names":[],"mappings":"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"}
|