@bsv/sdk 1.3.12 → 1.3.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/package.json +15 -3
- package/dist/cjs/src/auth/Peer.js +83 -57
- package/dist/cjs/src/auth/Peer.js.map +1 -1
- package/dist/cjs/src/auth/SessionManager.js +14 -9
- package/dist/cjs/src/auth/SessionManager.js.map +1 -1
- package/dist/cjs/src/auth/certificates/Certificate.js +16 -10
- package/dist/cjs/src/auth/certificates/Certificate.js.map +1 -1
- package/dist/cjs/src/auth/certificates/MasterCertificate.js +25 -23
- package/dist/cjs/src/auth/certificates/MasterCertificate.js.map +1 -1
- package/dist/cjs/src/auth/certificates/VerifiableCertificate.js +2 -2
- package/dist/cjs/src/auth/certificates/VerifiableCertificate.js.map +1 -1
- package/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js +62 -46
- package/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
- package/dist/cjs/src/auth/clients/AuthFetch.js +1 -0
- package/dist/cjs/src/auth/clients/AuthFetch.js.map +1 -1
- package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js +70 -43
- package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
- package/dist/cjs/src/auth/utils/createNonce.js +2 -1
- package/dist/cjs/src/auth/utils/createNonce.js.map +1 -1
- package/dist/cjs/src/auth/utils/getVerifiableCertificates.js.map +1 -1
- package/dist/cjs/src/auth/utils/validateCertificates.js +5 -2
- package/dist/cjs/src/auth/utils/validateCertificates.js.map +1 -1
- package/dist/cjs/src/auth/utils/verifyNonce.js +2 -1
- package/dist/cjs/src/auth/utils/verifyNonce.js.map +1 -1
- package/dist/cjs/src/compat/BSM.js +7 -17
- package/dist/cjs/src/compat/BSM.js.map +1 -1
- package/dist/cjs/src/compat/ECIES.js +172 -133
- package/dist/cjs/src/compat/ECIES.js.map +1 -1
- package/dist/cjs/src/compat/HD.js +63 -73
- package/dist/cjs/src/compat/HD.js.map +1 -1
- package/dist/cjs/src/compat/Mnemonic.js +102 -106
- package/dist/cjs/src/compat/Mnemonic.js.map +1 -1
- package/dist/cjs/src/compat/Utxo.js +2 -2
- package/dist/cjs/src/compat/Utxo.js.map +1 -1
- package/dist/cjs/src/compat/index.js +7 -17
- package/dist/cjs/src/compat/index.js.map +1 -1
- package/dist/cjs/src/messages/EncryptedMessage.js +3 -1
- package/dist/cjs/src/messages/EncryptedMessage.js.map +1 -1
- package/dist/cjs/src/messages/SignedMessage.js +1 -0
- package/dist/cjs/src/messages/SignedMessage.js.map +1 -1
- package/dist/cjs/src/messages/index.js +7 -17
- package/dist/cjs/src/messages/index.js.map +1 -1
- package/dist/cjs/src/overlay-tools/LookupResolver.js +54 -35
- package/dist/cjs/src/overlay-tools/LookupResolver.js.map +1 -1
- package/dist/cjs/src/overlay-tools/OverlayAdminTokenTemplate.js +32 -20
- package/dist/cjs/src/overlay-tools/OverlayAdminTokenTemplate.js.map +1 -1
- package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js +40 -28
- package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
- package/dist/cjs/src/primitives/AESGCM.js +6 -5
- package/dist/cjs/src/primitives/AESGCM.js.map +1 -1
- package/dist/cjs/src/primitives/BasePoint.js +1 -1
- package/dist/cjs/src/primitives/BasePoint.js.map +1 -1
- package/dist/cjs/src/primitives/BigNumber.js +50 -62
- package/dist/cjs/src/primitives/BigNumber.js.map +1 -1
- package/dist/cjs/src/primitives/Curve.js +46 -22
- package/dist/cjs/src/primitives/Curve.js.map +1 -1
- package/dist/cjs/src/primitives/DRBG.js +2 -8
- package/dist/cjs/src/primitives/DRBG.js.map +1 -1
- package/dist/cjs/src/primitives/ECDSA.js +51 -35
- package/dist/cjs/src/primitives/ECDSA.js.map +1 -1
- package/dist/cjs/src/primitives/Hash.js +191 -216
- package/dist/cjs/src/primitives/Hash.js.map +1 -1
- package/dist/cjs/src/primitives/JacobianPoint.js +19 -5
- package/dist/cjs/src/primitives/JacobianPoint.js.map +1 -1
- package/dist/cjs/src/primitives/K256.js.map +1 -1
- package/dist/cjs/src/primitives/Mersenne.js.map +1 -1
- package/dist/cjs/src/primitives/MontgomoryMethod.js.map +1 -1
- package/dist/cjs/src/primitives/Point.js +117 -88
- package/dist/cjs/src/primitives/Point.js.map +1 -1
- package/dist/cjs/src/primitives/Polynomial.js +4 -2
- package/dist/cjs/src/primitives/Polynomial.js.map +1 -1
- package/dist/cjs/src/primitives/PrivateKey.js +32 -33
- package/dist/cjs/src/primitives/PrivateKey.js.map +1 -1
- package/dist/cjs/src/primitives/PublicKey.js.map +1 -1
- package/dist/cjs/src/primitives/Random.js +6 -5
- package/dist/cjs/src/primitives/Random.js.map +1 -1
- package/dist/cjs/src/primitives/ReductionContext.js +1 -1
- package/dist/cjs/src/primitives/ReductionContext.js.map +1 -1
- package/dist/cjs/src/primitives/Schnorr.js +21 -15
- package/dist/cjs/src/primitives/Schnorr.js.map +1 -1
- package/dist/cjs/src/primitives/Signature.js +8 -7
- package/dist/cjs/src/primitives/Signature.js.map +1 -1
- package/dist/cjs/src/primitives/SymmetricKey.js +13 -13
- package/dist/cjs/src/primitives/SymmetricKey.js.map +1 -1
- package/dist/cjs/src/primitives/TransactionSignature.js +31 -29
- package/dist/cjs/src/primitives/TransactionSignature.js.map +1 -1
- package/dist/cjs/src/primitives/index.js +7 -17
- package/dist/cjs/src/primitives/index.js.map +1 -1
- package/dist/cjs/src/primitives/utils.js +79 -68
- package/dist/cjs/src/primitives/utils.js.map +1 -1
- package/dist/cjs/src/script/OP.js +3 -3
- package/dist/cjs/src/script/OP.js.map +1 -1
- package/dist/cjs/src/script/Script.js +12 -10
- package/dist/cjs/src/script/Script.js.map +1 -1
- package/dist/cjs/src/script/Spend.js +47 -49
- package/dist/cjs/src/script/Spend.js.map +1 -1
- package/dist/cjs/src/script/templates/P2PKH.js +24 -12
- package/dist/cjs/src/script/templates/P2PKH.js.map +1 -1
- package/dist/cjs/src/script/templates/PushDrop.js +28 -23
- package/dist/cjs/src/script/templates/PushDrop.js.map +1 -1
- package/dist/cjs/src/script/templates/RPuzzle.js +10 -6
- package/dist/cjs/src/script/templates/RPuzzle.js.map +1 -1
- package/dist/cjs/src/totp/totp.js +2 -1
- package/dist/cjs/src/totp/totp.js.map +1 -1
- package/dist/cjs/src/transaction/Beef.js +177 -154
- package/dist/cjs/src/transaction/Beef.js.map +1 -1
- package/dist/cjs/src/transaction/BeefParty.js +24 -24
- package/dist/cjs/src/transaction/BeefParty.js.map +1 -1
- package/dist/cjs/src/transaction/BeefTx.js +26 -18
- package/dist/cjs/src/transaction/BeefTx.js.map +1 -1
- package/dist/cjs/src/transaction/Broadcaster.js +3 -2
- package/dist/cjs/src/transaction/Broadcaster.js.map +1 -1
- package/dist/cjs/src/transaction/MerklePath.js +64 -37
- package/dist/cjs/src/transaction/MerklePath.js.map +1 -1
- package/dist/cjs/src/transaction/Transaction.js +111 -137
- package/dist/cjs/src/transaction/Transaction.js.map +1 -1
- package/dist/cjs/src/transaction/broadcasters/ARC.js +25 -16
- package/dist/cjs/src/transaction/broadcasters/ARC.js.map +1 -1
- package/dist/cjs/src/transaction/broadcasters/DefaultBroadcaster.js +2 -1
- package/dist/cjs/src/transaction/broadcasters/DefaultBroadcaster.js.map +1 -1
- package/dist/cjs/src/transaction/broadcasters/WhatsOnChainBroadcaster.js.map +1 -1
- package/dist/cjs/src/transaction/chaintrackers/DefaultChainTracker.js +2 -1
- package/dist/cjs/src/transaction/chaintrackers/DefaultChainTracker.js.map +1 -1
- package/dist/cjs/src/transaction/chaintrackers/WhatsOnChain.js +3 -3
- package/dist/cjs/src/transaction/chaintrackers/WhatsOnChain.js.map +1 -1
- package/dist/cjs/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
- package/dist/cjs/src/transaction/http/DefaultHttpClient.js +5 -3
- package/dist/cjs/src/transaction/http/DefaultHttpClient.js.map +1 -1
- package/dist/cjs/src/transaction/http/FetchHttpClient.js +5 -2
- package/dist/cjs/src/transaction/http/FetchHttpClient.js.map +1 -1
- package/dist/cjs/src/transaction/http/NodejsHttpClient.js +5 -3
- package/dist/cjs/src/transaction/http/NodejsHttpClient.js.map +1 -1
- package/dist/cjs/src/transaction/http/index.js.map +1 -1
- package/dist/cjs/src/transaction/index.js.map +1 -1
- package/dist/cjs/src/wallet/CachedKeyDeriver.js +91 -66
- package/dist/cjs/src/wallet/CachedKeyDeriver.js.map +1 -1
- package/dist/cjs/src/wallet/KeyDeriver.js +61 -52
- package/dist/cjs/src/wallet/KeyDeriver.js.map +1 -1
- package/dist/cjs/src/wallet/ProtoWallet.js +79 -29
- package/dist/cjs/src/wallet/ProtoWallet.js.map +1 -1
- package/dist/cjs/src/wallet/WalletClient.js +7 -2
- package/dist/cjs/src/wallet/WalletClient.js.map +1 -1
- package/dist/cjs/src/wallet/WalletError.js +2 -2
- package/dist/cjs/src/wallet/WalletError.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js +4 -3
- package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/HTTPWalletWire.js +2 -2
- package/dist/cjs/src/wallet/substrates/HTTPWalletWire.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js +1239 -1261
- package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js +102 -43
- package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/XDM.js +8 -3
- package/dist/cjs/src/wallet/substrates/XDM.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/window.CWI.js +28 -28
- package/dist/cjs/src/wallet/substrates/window.CWI.js.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/mod.js +15 -15
- package/dist/esm/src/auth/Peer.js +75 -54
- package/dist/esm/src/auth/Peer.js.map +1 -1
- package/dist/esm/src/auth/SessionManager.js +14 -9
- package/dist/esm/src/auth/SessionManager.js.map +1 -1
- package/dist/esm/src/auth/certificates/Certificate.js +15 -11
- package/dist/esm/src/auth/certificates/Certificate.js.map +1 -1
- package/dist/esm/src/auth/certificates/MasterCertificate.js +25 -23
- package/dist/esm/src/auth/certificates/MasterCertificate.js.map +1 -1
- package/dist/esm/src/auth/certificates/VerifiableCertificate.js +2 -2
- package/dist/esm/src/auth/certificates/VerifiableCertificate.js.map +1 -1
- package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js +64 -47
- package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
- package/dist/esm/src/auth/clients/AuthFetch.js +1 -0
- package/dist/esm/src/auth/clients/AuthFetch.js.map +1 -1
- package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js +69 -43
- package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
- package/dist/esm/src/auth/utils/createNonce.js.map +1 -1
- package/dist/esm/src/auth/utils/getVerifiableCertificates.js +1 -1
- package/dist/esm/src/auth/utils/getVerifiableCertificates.js.map +1 -1
- package/dist/esm/src/auth/utils/validateCertificates.js +6 -3
- package/dist/esm/src/auth/utils/validateCertificates.js.map +1 -1
- package/dist/esm/src/auth/utils/verifyNonce.js.map +1 -1
- package/dist/esm/src/compat/BSM.js.map +1 -1
- package/dist/esm/src/compat/ECIES.js +165 -116
- package/dist/esm/src/compat/ECIES.js.map +1 -1
- package/dist/esm/src/compat/HD.js +56 -56
- package/dist/esm/src/compat/HD.js.map +1 -1
- package/dist/esm/src/compat/Mnemonic.js +95 -89
- package/dist/esm/src/compat/Mnemonic.js.map +1 -1
- package/dist/esm/src/compat/Utxo.js +1 -1
- package/dist/esm/src/compat/Utxo.js.map +1 -1
- package/dist/esm/src/messages/EncryptedMessage.js +3 -1
- package/dist/esm/src/messages/EncryptedMessage.js.map +1 -1
- package/dist/esm/src/messages/SignedMessage.js +1 -0
- package/dist/esm/src/messages/SignedMessage.js.map +1 -1
- package/dist/esm/src/overlay-tools/LookupResolver.js +53 -35
- package/dist/esm/src/overlay-tools/LookupResolver.js.map +1 -1
- package/dist/esm/src/overlay-tools/OverlayAdminTokenTemplate.js +32 -20
- package/dist/esm/src/overlay-tools/OverlayAdminTokenTemplate.js.map +1 -1
- package/dist/esm/src/overlay-tools/SHIPBroadcaster.js +40 -28
- package/dist/esm/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
- package/dist/esm/src/primitives/AESGCM.js +1 -0
- package/dist/esm/src/primitives/AESGCM.js.map +1 -1
- package/dist/esm/src/primitives/BasePoint.js +1 -1
- package/dist/esm/src/primitives/BasePoint.js.map +1 -1
- package/dist/esm/src/primitives/BigNumber.js +50 -62
- package/dist/esm/src/primitives/BigNumber.js.map +1 -1
- package/dist/esm/src/primitives/Curve.js +45 -22
- package/dist/esm/src/primitives/Curve.js.map +1 -1
- package/dist/esm/src/primitives/DRBG.js +2 -8
- package/dist/esm/src/primitives/DRBG.js.map +1 -1
- package/dist/esm/src/primitives/ECDSA.js +50 -35
- package/dist/esm/src/primitives/ECDSA.js.map +1 -1
- package/dist/esm/src/primitives/Hash.js +188 -213
- package/dist/esm/src/primitives/Hash.js.map +1 -1
- package/dist/esm/src/primitives/JacobianPoint.js +18 -5
- package/dist/esm/src/primitives/JacobianPoint.js.map +1 -1
- package/dist/esm/src/primitives/K256.js.map +1 -1
- package/dist/esm/src/primitives/Mersenne.js.map +1 -1
- package/dist/esm/src/primitives/MontgomoryMethod.js.map +1 -1
- package/dist/esm/src/primitives/Point.js +107 -88
- package/dist/esm/src/primitives/Point.js.map +1 -1
- package/dist/esm/src/primitives/Polynomial.js +4 -2
- package/dist/esm/src/primitives/Polynomial.js.map +1 -1
- package/dist/esm/src/primitives/PrivateKey.js +25 -16
- package/dist/esm/src/primitives/PrivateKey.js.map +1 -1
- package/dist/esm/src/primitives/PublicKey.js.map +1 -1
- package/dist/esm/src/primitives/Random.js +7 -6
- package/dist/esm/src/primitives/Random.js.map +1 -1
- package/dist/esm/src/primitives/ReductionContext.js +1 -1
- package/dist/esm/src/primitives/ReductionContext.js.map +1 -1
- package/dist/esm/src/primitives/Schnorr.js +21 -15
- package/dist/esm/src/primitives/Schnorr.js.map +1 -1
- package/dist/esm/src/primitives/Signature.js +8 -7
- package/dist/esm/src/primitives/Signature.js.map +1 -1
- package/dist/esm/src/primitives/SymmetricKey.js +13 -13
- package/dist/esm/src/primitives/SymmetricKey.js.map +1 -1
- package/dist/esm/src/primitives/TransactionSignature.js +22 -12
- package/dist/esm/src/primitives/TransactionSignature.js.map +1 -1
- package/dist/esm/src/primitives/utils.js +76 -66
- package/dist/esm/src/primitives/utils.js.map +1 -1
- package/dist/esm/src/script/OP.js +3 -3
- package/dist/esm/src/script/OP.js.map +1 -1
- package/dist/esm/src/script/Script.js +12 -10
- package/dist/esm/src/script/Script.js.map +1 -1
- package/dist/esm/src/script/Spend.js +39 -32
- package/dist/esm/src/script/Spend.js.map +1 -1
- package/dist/esm/src/script/templates/P2PKH.js +26 -11
- package/dist/esm/src/script/templates/P2PKH.js.map +1 -1
- package/dist/esm/src/script/templates/PushDrop.js +29 -22
- package/dist/esm/src/script/templates/PushDrop.js.map +1 -1
- package/dist/esm/src/script/templates/RPuzzle.js +11 -6
- package/dist/esm/src/script/templates/RPuzzle.js.map +1 -1
- package/dist/esm/src/totp/totp.js +2 -1
- package/dist/esm/src/totp/totp.js.map +1 -1
- package/dist/esm/src/transaction/Beef.js +176 -154
- package/dist/esm/src/transaction/Beef.js.map +1 -1
- package/dist/esm/src/transaction/BeefParty.js +24 -24
- package/dist/esm/src/transaction/BeefParty.js.map +1 -1
- package/dist/esm/src/transaction/BeefTx.js +26 -18
- package/dist/esm/src/transaction/BeefTx.js.map +1 -1
- package/dist/esm/src/transaction/Broadcaster.js.map +1 -1
- package/dist/esm/src/transaction/MerklePath.js +61 -36
- package/dist/esm/src/transaction/MerklePath.js.map +1 -1
- package/dist/esm/src/transaction/Transaction.js +105 -138
- package/dist/esm/src/transaction/Transaction.js.map +1 -1
- package/dist/esm/src/transaction/broadcasters/ARC.js +25 -16
- package/dist/esm/src/transaction/broadcasters/ARC.js.map +1 -1
- package/dist/esm/src/transaction/broadcasters/DefaultBroadcaster.js.map +1 -1
- package/dist/esm/src/transaction/broadcasters/WhatsOnChainBroadcaster.js.map +1 -1
- package/dist/esm/src/transaction/chaintrackers/WhatsOnChain.js +3 -3
- package/dist/esm/src/transaction/chaintrackers/WhatsOnChain.js.map +1 -1
- package/dist/esm/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
- package/dist/esm/src/transaction/http/DefaultHttpClient.js +3 -2
- package/dist/esm/src/transaction/http/DefaultHttpClient.js.map +1 -1
- package/dist/esm/src/transaction/http/FetchHttpClient.js +4 -2
- package/dist/esm/src/transaction/http/FetchHttpClient.js.map +1 -1
- package/dist/esm/src/transaction/http/NodejsHttpClient.js +5 -3
- package/dist/esm/src/transaction/http/NodejsHttpClient.js.map +1 -1
- package/dist/esm/src/transaction/http/index.js.map +1 -1
- package/dist/esm/src/transaction/index.js.map +1 -1
- package/dist/esm/src/wallet/CachedKeyDeriver.js +91 -66
- package/dist/esm/src/wallet/CachedKeyDeriver.js.map +1 -1
- package/dist/esm/src/wallet/KeyDeriver.js +60 -52
- package/dist/esm/src/wallet/KeyDeriver.js.map +1 -1
- package/dist/esm/src/wallet/ProtoWallet.js +75 -29
- package/dist/esm/src/wallet/ProtoWallet.js.map +1 -1
- package/dist/esm/src/wallet/WalletClient.js +7 -2
- package/dist/esm/src/wallet/WalletClient.js.map +1 -1
- package/dist/esm/src/wallet/WalletError.js +2 -2
- package/dist/esm/src/wallet/WalletError.js.map +1 -1
- package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js +4 -4
- package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
- package/dist/esm/src/wallet/substrates/HTTPWalletWire.js +2 -2
- package/dist/esm/src/wallet/substrates/HTTPWalletWire.js.map +1 -1
- package/dist/esm/src/wallet/substrates/WalletWireProcessor.js +1239 -1261
- package/dist/esm/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
- package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js +95 -43
- package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
- package/dist/esm/src/wallet/substrates/XDM.js +8 -3
- package/dist/esm/src/wallet/substrates/XDM.js.map +1 -1
- package/dist/esm/src/wallet/substrates/window.CWI.js +28 -28
- 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/src/auth/Peer.d.ts +10 -10
- package/dist/types/src/auth/Peer.d.ts.map +1 -1
- package/dist/types/src/auth/SessionManager.d.ts +4 -4
- package/dist/types/src/auth/SessionManager.d.ts.map +1 -1
- package/dist/types/src/auth/certificates/Certificate.d.ts +6 -6
- package/dist/types/src/auth/certificates/Certificate.d.ts.map +1 -1
- package/dist/types/src/auth/certificates/MasterCertificate.d.ts +5 -5
- package/dist/types/src/auth/certificates/MasterCertificate.d.ts.map +1 -1
- package/dist/types/src/auth/certificates/VerifiableCertificate.d.ts.map +1 -1
- package/dist/types/src/auth/certificates/__tests/CompletedProtoWallet.d.ts +23 -22
- package/dist/types/src/auth/certificates/__tests/CompletedProtoWallet.d.ts.map +1 -1
- package/dist/types/src/auth/clients/AuthFetch.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/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/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 +1 -1
- package/dist/types/src/compat/BSM.d.ts.map +1 -1
- package/dist/types/src/compat/ECIES.d.ts +36 -36
- package/dist/types/src/compat/ECIES.d.ts.map +1 -1
- package/dist/types/src/compat/HD.d.ts +51 -51
- 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.map +1 -1
- package/dist/types/src/messages/EncryptedMessage.d.ts.map +1 -1
- package/dist/types/src/messages/SignedMessage.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 +17 -17
- package/dist/types/src/overlay-tools/OverlayAdminTokenTemplate.d.ts.map +1 -1
- package/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts +14 -14
- package/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts.map +1 -1
- package/dist/types/src/primitives/AESGCM.d.ts.map +1 -1
- package/dist/types/src/primitives/BasePoint.d.ts +8 -8
- package/dist/types/src/primitives/BasePoint.d.ts.map +1 -1
- package/dist/types/src/primitives/BigNumber.d.ts.map +1 -1
- package/dist/types/src/primitives/Curve.d.ts +14 -7
- package/dist/types/src/primitives/Curve.d.ts.map +1 -1
- package/dist/types/src/primitives/DRBG.d.ts.map +1 -1
- package/dist/types/src/primitives/ECDSA.d.ts +1 -1
- package/dist/types/src/primitives/ECDSA.d.ts.map +1 -1
- package/dist/types/src/primitives/Hash.d.ts +11 -11
- package/dist/types/src/primitives/Hash.d.ts.map +1 -1
- package/dist/types/src/primitives/JacobianPoint.d.ts.map +1 -1
- package/dist/types/src/primitives/Point.d.ts +14 -10
- package/dist/types/src/primitives/Point.d.ts.map +1 -1
- package/dist/types/src/primitives/Polynomial.d.ts.map +1 -1
- package/dist/types/src/primitives/PrivateKey.d.ts +2 -2
- package/dist/types/src/primitives/PrivateKey.d.ts.map +1 -1
- 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/Schnorr.d.ts +14 -14
- package/dist/types/src/primitives/Schnorr.d.ts.map +1 -1
- package/dist/types/src/primitives/Signature.d.ts +1 -1
- package/dist/types/src/primitives/Signature.d.ts.map +1 -1
- package/dist/types/src/primitives/SymmetricKey.d.ts +13 -13
- package/dist/types/src/primitives/SymmetricKey.d.ts.map +1 -1
- package/dist/types/src/primitives/TransactionSignature.d.ts +4 -4
- package/dist/types/src/primitives/TransactionSignature.d.ts.map +1 -1
- package/dist/types/src/primitives/utils.d.ts +3 -6
- package/dist/types/src/primitives/utils.d.ts.map +1 -1
- package/dist/types/src/script/Script.d.ts +3 -3
- package/dist/types/src/script/Script.d.ts.map +1 -1
- package/dist/types/src/script/ScriptTemplate.d.ts +2 -2
- package/dist/types/src/script/ScriptTemplate.d.ts.map +1 -1
- package/dist/types/src/script/Spend.d.ts.map +1 -1
- package/dist/types/src/script/templates/P2PKH.d.ts.map +1 -1
- package/dist/types/src/script/templates/PushDrop.d.ts +1 -2
- package/dist/types/src/script/templates/PushDrop.d.ts.map +1 -1
- package/dist/types/src/script/templates/RPuzzle.d.ts.map +1 -1
- package/dist/types/src/totp/totp.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 +22 -22
- 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.map +1 -1
- package/dist/types/src/transaction/ChainTracker.d.ts +2 -2
- package/dist/types/src/transaction/FeeModel.d.ts.map +1 -1
- package/dist/types/src/transaction/MerklePath.d.ts.map +1 -1
- package/dist/types/src/transaction/Transaction.d.ts +4 -12
- package/dist/types/src/transaction/Transaction.d.ts.map +1 -1
- package/dist/types/src/transaction/TransactionOutput.d.ts.map +1 -1
- package/dist/types/src/transaction/broadcasters/ARC.d.ts +1 -1
- package/dist/types/src/transaction/broadcasters/ARC.d.ts.map +1 -1
- package/dist/types/src/transaction/broadcasters/DefaultBroadcaster.d.ts.map +1 -1
- package/dist/types/src/transaction/broadcasters/WhatsOnChainBroadcaster.d.ts.map +1 -1
- package/dist/types/src/transaction/chaintrackers/DefaultChainTracker.d.ts.map +1 -1
- package/dist/types/src/transaction/chaintrackers/WhatsOnChain.d.ts.map +1 -1
- package/dist/types/src/transaction/fee-models/SatoshisPerKilobyte.d.ts.map +1 -1
- package/dist/types/src/transaction/http/DefaultHttpClient.d.ts +1 -1
- package/dist/types/src/transaction/http/DefaultHttpClient.d.ts.map +1 -1
- package/dist/types/src/transaction/http/FetchHttpClient.d.ts +5 -5
- 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 +3 -3
- package/dist/types/src/transaction/http/NodejsHttpClient.d.ts.map +1 -1
- package/dist/types/src/transaction/http/index.d.ts.map +1 -1
- package/dist/types/src/transaction/index.d.ts.map +1 -1
- package/dist/types/src/wallet/CachedKeyDeriver.d.ts +58 -58
- package/dist/types/src/wallet/CachedKeyDeriver.d.ts.map +1 -1
- package/dist/types/src/wallet/KeyDeriver.d.ts +78 -78
- package/dist/types/src/wallet/KeyDeriver.d.ts.map +1 -1
- package/dist/types/src/wallet/ProtoWallet.d.ts +10 -10
- package/dist/types/src/wallet/ProtoWallet.d.ts.map +1 -1
- package/dist/types/src/wallet/Wallet.interfaces.d.ts +151 -152
- package/dist/types/src/wallet/Wallet.interfaces.d.ts.map +1 -1
- package/dist/types/src/wallet/WalletClient.d.ts +5 -5
- package/dist/types/src/wallet/WalletClient.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts +6 -6
- package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/HTTPWalletWire.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/WalletWireProcessor.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/WalletWireTransceiver.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/XDM.d.ts +1 -1
- package/dist/types/src/wallet/substrates/XDM.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/window.CWI.d.ts +6 -6
- 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 +92 -82
- package/docs/compat.md +24 -24
- package/docs/messages.md +7 -5
- package/docs/overlay-tools.md +21 -21
- package/docs/primitives.md +336 -315
- package/docs/script.md +35 -35
- package/docs/swagger/dist/swagger-initializer.js +7 -7
- package/docs/swagger/dist/swagger-ui-bundle.js +1 -1
- package/docs/swagger/dist/swagger-ui-es-bundle-core.js +2 -2
- package/docs/swagger/dist/swagger-ui-es-bundle.js +1 -1
- package/docs/swagger/dist/swagger-ui-standalone-preset.js +1 -1
- package/docs/swagger/dist/swagger-ui.js +2 -2
- package/docs/totp.md +5 -5
- package/docs/transaction.md +103 -105
- package/docs/wallet-substrates.md +17 -17
- package/docs/wallet.md +202 -204
- package/mod.ts +15 -15
- package/package.json +15 -3
- package/src/auth/Peer.ts +271 -121
- package/src/auth/SessionManager.ts +17 -10
- package/src/auth/__tests/Peer.test.ts +361 -179
- package/src/auth/__tests/SessionManager.test.ts +67 -19
- package/src/auth/__tests/build.test.ts +11 -0
- package/src/auth/certificates/Certificate.ts +27 -14
- package/src/auth/certificates/MasterCertificate.ts +106 -62
- package/src/auth/certificates/VerifiableCertificate.ts +30 -8
- package/src/auth/certificates/__tests/Certificate.test.ts +32 -17
- package/src/auth/certificates/__tests/CompletedProtoWallet.ts +171 -68
- package/src/auth/certificates/__tests/MasterCertificate.test.ts +63 -47
- package/src/auth/certificates/__tests/VerifiableCertificate.test.ts +42 -31
- package/src/auth/certificates/index.ts +1 -1
- package/src/auth/clients/AuthFetch.ts +1 -0
- package/src/auth/clients/index.ts +1 -1
- package/src/auth/transports/SimplifiedFetchTransport.ts +145 -72
- package/src/auth/transports/index.ts +1 -1
- package/src/auth/utils/__tests/cryptononce.test.ts +52 -23
- package/src/auth/utils/__tests/getVerifiableCertificates.test.ts +56 -30
- package/src/auth/utils/__tests/validateCertificates.test.ts +53 -31
- package/src/auth/utils/createNonce.ts +11 -3
- package/src/auth/utils/getVerifiableCertificates.ts +12 -7
- package/src/auth/utils/validateCertificates.ts +57 -39
- package/src/auth/utils/verifyNonce.ts +6 -2
- package/src/compat/BSM.ts +10 -2
- package/src/compat/ECIES.ts +265 -141
- package/src/compat/HD.ts +81 -63
- package/src/compat/Mnemonic.ts +104 -91
- package/src/compat/Utxo.ts +8 -5
- package/src/compat/__tests/BSM.test.ts +42 -16
- package/src/compat/__tests/ECIES.test.ts +117 -52
- package/src/compat/__tests/HD.test.ts +55 -42
- package/src/compat/__tests/Mnemonic.test.ts +11 -12
- package/src/compat/__tests/Mnemonic.vectors.ts +110 -55
- package/src/messages/EncryptedMessage.ts +6 -2
- package/src/messages/SignedMessage.ts +14 -8
- package/src/messages/__tests/EncryptedMessage.test.ts +23 -24
- package/src/messages/__tests/SignedMessage.test.ts +17 -11
- package/src/overlay-tools/LookupResolver.ts +108 -56
- package/src/overlay-tools/OverlayAdminTokenTemplate.ts +52 -23
- package/src/overlay-tools/SHIPBroadcaster.ts +135 -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/primitives/AESGCM.ts +2 -0
- package/src/primitives/BasePoint.ts +4 -4
- package/src/primitives/BigNumber.ts +99 -90
- package/src/primitives/Curve.ts +117 -46
- package/src/primitives/DRBG.ts +9 -11
- package/src/primitives/ECDSA.ts +109 -63
- package/src/primitives/Hash.ts +492 -321
- package/src/primitives/JacobianPoint.ts +67 -19
- package/src/primitives/Point.ts +254 -152
- package/src/primitives/Polynomial.ts +8 -3
- package/src/primitives/PrivateKey.ts +41 -17
- package/src/primitives/PublicKey.ts +13 -3
- package/src/primitives/Random.ts +14 -8
- package/src/primitives/ReductionContext.ts +1 -1
- package/src/primitives/Schnorr.ts +40 -18
- package/src/primitives/Signature.ts +26 -16
- package/src/primitives/SymmetricKey.ts +14 -14
- package/src/primitives/TransactionSignature.ts +41 -17
- package/src/primitives/__tests/AESGCM.test.ts +457 -151
- package/src/primitives/__tests/BRC42.private.vectors.ts +30 -15
- package/src/primitives/__tests/BRC42.public.vectors.ts +30 -15
- package/src/primitives/__tests/BigNumber.arithmatic.test.ts +344 -125
- package/src/primitives/__tests/BigNumber.binary.test.ts +148 -67
- package/src/primitives/__tests/BigNumber.constructor.test.ts +65 -25
- package/src/primitives/__tests/BigNumber.dhGroup.test.ts +15 -11
- package/src/primitives/__tests/BigNumber.fixtures.ts +16 -8
- package/src/primitives/__tests/BigNumber.serializers.test.ts +41 -15
- package/src/primitives/__tests/BigNumber.utils.test.ts +132 -42
- package/src/primitives/__tests/Curve.unit.test.ts +75 -53
- package/src/primitives/__tests/DRBG.test.ts +1 -1
- package/src/primitives/__tests/DRBG.vectors.ts +45 -75
- package/src/primitives/__tests/ECDH.test.ts +15 -8
- package/src/primitives/__tests/ECDSA.test.ts +12 -6
- package/src/primitives/__tests/HMAC.test.ts +24 -18
- package/src/primitives/__tests/Hash.test.ts +57 -46
- package/src/primitives/__tests/PBKDF2.vectors.ts +130 -117
- package/src/primitives/__tests/PrivateKey.split.test.ts +33 -11
- package/src/primitives/__tests/PrivateKey.test.ts +11 -10
- package/src/primitives/__tests/PublicKey.test.ts +64 -53
- package/src/primitives/__tests/Random.test.ts +1 -1
- package/src/primitives/__tests/Reader.test.ts +240 -219
- package/src/primitives/__tests/ReductionContext.test.ts +98 -61
- package/src/primitives/__tests/Schnorr.test.ts +249 -237
- package/src/primitives/__tests/SymmetricKey.test.ts +18 -15
- package/src/primitives/__tests/SymmetricKey.vectors.ts +16 -8
- package/src/primitives/__tests/Writer.test.ts +23 -13
- package/src/primitives/__tests/bug-31.test.ts +6 -10
- package/src/primitives/__tests/utils.test.ts +70 -19
- package/src/primitives/utils.ts +103 -79
- package/src/script/Script.ts +18 -12
- package/src/script/ScriptTemplate.ts +3 -5
- package/src/script/Spend.ts +306 -108
- package/src/script/__tests/Script.test.ts +73 -55
- package/src/script/__tests/Spend.test.ts +208 -83
- package/src/script/__tests/SpendComplex.test.ts +19 -13
- package/src/script/__tests/script.invalid.vectors.ts +428 -1796
- package/src/script/__tests/script.valid.vectors.ts +728 -2764
- package/src/script/templates/P2PKH.ts +34 -12
- package/src/script/templates/PushDrop.ts +65 -31
- package/src/script/templates/RPuzzle.ts +29 -8
- package/src/script/templates/__tests/PushDrop.test.ts +146 -41
- package/src/totp/__tests/totp.test.ts +45 -44
- package/src/totp/totp.ts +3 -2
- package/src/transaction/Beef.ts +269 -174
- package/src/transaction/BeefParty.ts +41 -31
- package/src/transaction/BeefTx.ts +36 -26
- package/src/transaction/Broadcaster.ts +10 -6
- package/src/transaction/ChainTracker.ts +2 -2
- package/src/transaction/FeeModel.ts +0 -1
- package/src/transaction/MerklePath.ts +124 -59
- package/src/transaction/Transaction.ts +188 -187
- package/src/transaction/TransactionOutput.ts +0 -1
- package/src/transaction/__tests/Beef.test.ts +390 -287
- package/src/transaction/__tests/MerklePath.test.ts +59 -26
- package/src/transaction/__tests/Transaction.benchmarks.test.ts +231 -201
- package/src/transaction/__tests/Transaction.test.ts +758 -482
- package/src/transaction/__tests/bigtx.vectors.ts +2 -1
- package/src/transaction/__tests/bump.invalid.vectors.ts +24 -6
- package/src/transaction/__tests/bump.valid.vectors.ts +6 -2
- package/src/transaction/__tests/tx.invalid.vectors.ts +881 -185
- package/src/transaction/__tests/tx.valid.vectors.ts +1210 -257
- package/src/transaction/broadcasters/ARC.ts +69 -38
- package/src/transaction/broadcasters/DefaultBroadcaster.ts +9 -3
- package/src/transaction/broadcasters/WhatsOnChainBroadcaster.ts +20 -7
- package/src/transaction/broadcasters/__tests/ARC.test.ts +127 -59
- package/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.ts +27 -18
- package/src/transaction/chaintrackers/DefaultChainTracker.ts +1 -1
- package/src/transaction/chaintrackers/WhatsOnChain.ts +27 -11
- package/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.ts +59 -23
- package/src/transaction/fee-models/SatoshisPerKilobyte.ts +9 -5
- package/src/transaction/http/DefaultHttpClient.ts +5 -4
- package/src/transaction/http/FetchHttpClient.ts +18 -9
- package/src/transaction/http/HttpClient.ts +27 -22
- package/src/transaction/http/NodejsHttpClient.ts +23 -9
- package/src/transaction/http/index.ts +5 -1
- package/src/transaction/index.ts +5 -1
- package/src/wallet/CachedKeyDeriver.ts +151 -82
- package/src/wallet/KeyDeriver.ts +186 -105
- package/src/wallet/ProtoWallet.ts +121 -52
- package/src/wallet/Wallet.interfaces.ts +167 -156
- package/src/wallet/WalletClient.ts +314 -59
- package/src/wallet/WalletError.ts +2 -2
- package/src/wallet/__tests/CachedKeyDeriver.test.ts +86 -27
- package/src/wallet/__tests/KeyDeriver.test.ts +136 -33
- package/src/wallet/__tests/ProtoWallet.test.ts +190 -102
- package/src/wallet/substrates/HTTPWalletJSON.ts +250 -67
- package/src/wallet/substrates/HTTPWalletWire.ts +7 -3
- package/src/wallet/substrates/WalletWireCalls.ts +2 -2
- package/src/wallet/substrates/WalletWireProcessor.ts +1412 -1277
- package/src/wallet/substrates/WalletWireTransceiver.ts +713 -138
- package/src/wallet/substrates/XDM.ts +425 -36
- package/src/wallet/substrates/__tests/WalletWire.integration.test.ts +488 -225
- package/src/wallet/substrates/__tests/XDM.test.ts +232 -234
- package/src/wallet/substrates/window.CWI.ts +520 -61
|
@@ -46,10 +46,7 @@ class Curve {
|
|
|
46
46
|
}
|
|
47
47
|
// Represent k1, k2 in a Joint Sparse Form
|
|
48
48
|
getJSF(k1, k2) {
|
|
49
|
-
const jsf = [
|
|
50
|
-
[],
|
|
51
|
-
[]
|
|
52
|
-
];
|
|
49
|
+
const jsf = [[], []];
|
|
53
50
|
k1 = k1.clone();
|
|
54
51
|
k2 = k2.clone();
|
|
55
52
|
let d1 = 0;
|
|
@@ -107,16 +104,12 @@ class Curve {
|
|
|
107
104
|
static cachedProperty(obj, name, computer) {
|
|
108
105
|
const key = '_' + name;
|
|
109
106
|
obj.prototype[name] = function cachedProperty() {
|
|
110
|
-
const r = this[key] !== undefined
|
|
111
|
-
? this[key]
|
|
112
|
-
: this[key] = computer.call(this);
|
|
107
|
+
const r = this[key] !== undefined ? this[key] : (this[key] = computer.call(this));
|
|
113
108
|
return r;
|
|
114
109
|
};
|
|
115
110
|
}
|
|
116
111
|
static parseBytes(bytes) {
|
|
117
|
-
return typeof bytes === 'string'
|
|
118
|
-
? (0, utils_js_1.toArray)(bytes, 'hex')
|
|
119
|
-
: bytes;
|
|
112
|
+
return typeof bytes === 'string' ? (0, utils_js_1.toArray)(bytes, 'hex') : bytes;
|
|
120
113
|
}
|
|
121
114
|
static intFromLE(bytes) {
|
|
122
115
|
return new BigNumber_js_1.default(bytes, 'hex', 'le');
|
|
@@ -964,6 +957,7 @@ class Curve {
|
|
|
964
957
|
this._endoWnafT2 = new Array(4);
|
|
965
958
|
}
|
|
966
959
|
_getEndomorphism(conf) {
|
|
960
|
+
var _a, _b;
|
|
967
961
|
// No efficient endomorphism
|
|
968
962
|
if (!this.zeroA || this.p.modrn(3) !== 1) {
|
|
969
963
|
return;
|
|
@@ -976,6 +970,9 @@ class Curve {
|
|
|
976
970
|
}
|
|
977
971
|
else {
|
|
978
972
|
const betas = this._getEndoRoots(this.p);
|
|
973
|
+
if (betas === null) {
|
|
974
|
+
throw new Error('Failed to get endomorphism roots for beta.');
|
|
975
|
+
}
|
|
979
976
|
// Choose the smallest beta
|
|
980
977
|
beta = betas[0].cmp(betas[1]) < 0 ? betas[0] : betas[1];
|
|
981
978
|
beta = beta.toRed(this.red);
|
|
@@ -984,14 +981,30 @@ class Curve {
|
|
|
984
981
|
lambda = new BigNumber_js_1.default(conf.lambda, 16);
|
|
985
982
|
}
|
|
986
983
|
else {
|
|
987
|
-
// Choose the lambda that
|
|
984
|
+
// Choose the lambda that matches selected beta
|
|
988
985
|
const lambdas = this._getEndoRoots(this.n);
|
|
989
|
-
if (
|
|
986
|
+
if (lambdas === null) {
|
|
987
|
+
throw new Error('Failed to get endomorphism roots for lambda.');
|
|
988
|
+
}
|
|
989
|
+
if (this.g == null) {
|
|
990
|
+
throw new Error('Curve generator point (g) is not defined.');
|
|
991
|
+
}
|
|
992
|
+
const gMulX = (_a = this.g.mul(lambdas[0])) === null || _a === void 0 ? void 0 : _a.x;
|
|
993
|
+
const gXRedMulBeta = (this.g.x != null) ? this.g.x.redMul(beta) : undefined;
|
|
994
|
+
if ((gMulX != null) && (gXRedMulBeta != null) && gMulX.cmp(gXRedMulBeta) === 0) {
|
|
990
995
|
lambda = lambdas[0];
|
|
991
996
|
}
|
|
992
997
|
else {
|
|
993
998
|
lambda = lambdas[1];
|
|
994
|
-
|
|
999
|
+
if (this.g == null) {
|
|
1000
|
+
throw new Error('Curve generator point (g) is not defined.');
|
|
1001
|
+
}
|
|
1002
|
+
const gMulX = (_b = this.g.mul(lambda)) === null || _b === void 0 ? void 0 : _b.x;
|
|
1003
|
+
const gXRedMulBeta = (this.g.x != null) ? this.g.x.redMul(beta) : undefined;
|
|
1004
|
+
if ((gMulX == null) || (gXRedMulBeta == null)) {
|
|
1005
|
+
throw new Error('Lambda computation failed: g.mul(lambda).x or g.x.redMul(beta) is undefined.');
|
|
1006
|
+
}
|
|
1007
|
+
Curve.assert(gMulX.cmp(gXRedMulBeta) === 0, 'Lambda selection does not match computed beta.');
|
|
995
1008
|
}
|
|
996
1009
|
}
|
|
997
1010
|
// Get basis vectors, used for balanced length-two representation
|
|
@@ -1013,7 +1026,6 @@ class Curve {
|
|
|
1013
1026
|
basis
|
|
1014
1027
|
};
|
|
1015
1028
|
}
|
|
1016
|
-
;
|
|
1017
1029
|
_getEndoRoots(num) {
|
|
1018
1030
|
// Find roots of for x^2 + x + 1 in F
|
|
1019
1031
|
// Root = (-1 +- Sqrt(-3)) / 2
|
|
@@ -1026,7 +1038,6 @@ class Curve {
|
|
|
1026
1038
|
const l2 = ntinv.redSub(s).fromRed();
|
|
1027
1039
|
return [l1, l2];
|
|
1028
1040
|
}
|
|
1029
|
-
;
|
|
1030
1041
|
_getEndoBasis(lambda) {
|
|
1031
1042
|
// aprxSqrt >= sqrt(this.n)
|
|
1032
1043
|
const aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2));
|
|
@@ -1047,22 +1058,22 @@ class Curve {
|
|
|
1047
1058
|
// Second vector
|
|
1048
1059
|
let a2;
|
|
1049
1060
|
let b2;
|
|
1050
|
-
let prevR;
|
|
1061
|
+
let prevR = new BigNumber_js_1.default(0);
|
|
1051
1062
|
let i = 0;
|
|
1052
|
-
let r;
|
|
1053
|
-
let x;
|
|
1063
|
+
let r = new BigNumber_js_1.default(0);
|
|
1064
|
+
let x = new BigNumber_js_1.default(0); // Ensure x is initialized
|
|
1054
1065
|
while (u.cmpn(0) !== 0) {
|
|
1055
1066
|
const q = v.div(u);
|
|
1056
1067
|
r = v.sub(q.mul(u));
|
|
1057
|
-
x = x2.sub(q.mul(x1));
|
|
1068
|
+
x = x2.sub(q.mul(x1)); // Now TypeScript knows x is always assigned
|
|
1058
1069
|
const y = y2.sub(q.mul(y1));
|
|
1059
|
-
if (
|
|
1070
|
+
if (a1 === undefined && r.cmp(aprxSqrt) < 0) {
|
|
1060
1071
|
a0 = prevR.neg();
|
|
1061
1072
|
b0 = x1;
|
|
1062
1073
|
a1 = r.neg();
|
|
1063
1074
|
b1 = x;
|
|
1064
1075
|
}
|
|
1065
|
-
else if (
|
|
1076
|
+
else if (a1 !== undefined && ++i === 2) {
|
|
1066
1077
|
break;
|
|
1067
1078
|
}
|
|
1068
1079
|
prevR = r;
|
|
@@ -1073,6 +1084,13 @@ class Curve {
|
|
|
1073
1084
|
y2 = y1;
|
|
1074
1085
|
y1 = y;
|
|
1075
1086
|
}
|
|
1087
|
+
// Ensure a0 and b0 have been assigned
|
|
1088
|
+
if (a0 === undefined ||
|
|
1089
|
+
b0 === undefined ||
|
|
1090
|
+
a1 === undefined ||
|
|
1091
|
+
b1 === undefined) {
|
|
1092
|
+
throw new Error('Failed to compute Endo Basis values');
|
|
1093
|
+
}
|
|
1076
1094
|
a2 = r.neg();
|
|
1077
1095
|
b2 = x;
|
|
1078
1096
|
const len1 = a1.sqr().add(b1.sqr());
|
|
@@ -1096,6 +1114,9 @@ class Curve {
|
|
|
1096
1114
|
];
|
|
1097
1115
|
}
|
|
1098
1116
|
_endoSplit(k) {
|
|
1117
|
+
if (this.endo == null) {
|
|
1118
|
+
throw new Error('Endomorphism is not defined.');
|
|
1119
|
+
}
|
|
1099
1120
|
const basis = this.endo.basis;
|
|
1100
1121
|
const v1 = basis[0];
|
|
1101
1122
|
const v2 = basis[1];
|
|
@@ -1116,11 +1137,14 @@ class Curve {
|
|
|
1116
1137
|
}
|
|
1117
1138
|
const x = point.x;
|
|
1118
1139
|
const y = point.y;
|
|
1140
|
+
// Ensure x and y are not null before proceeding
|
|
1141
|
+
if (x === null || y === null) {
|
|
1142
|
+
throw new Error('Point coordinates cannot be null');
|
|
1143
|
+
}
|
|
1119
1144
|
const ax = this.a.redMul(x);
|
|
1120
1145
|
const rhs = x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);
|
|
1121
1146
|
return y.redSqr().redISub(rhs).cmpn(0) === 0;
|
|
1122
1147
|
}
|
|
1123
|
-
;
|
|
1124
1148
|
}
|
|
1125
1149
|
exports.default = Curve;
|
|
1126
1150
|
//# sourceMappingURL=Curve.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Curve.js","sourceRoot":"","sources":["../../../../src/primitives/Curve.ts"],"names":[],"mappings":"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D;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;wB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"}
|
|
1
|
+
{"version":3,"file":"Curve.js","sourceRoot":"","sources":["../../../../src/primitives/Curve.ts"],"names":[],"mappings":"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E;YACtC,OAAO,WAAW,CAAA;SACnB;aAAM;YACL,qDAAqD;YACrD,WAAW,GAAG,IAAI,CAAA;SACnB;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,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"}
|
|
@@ -55,9 +55,7 @@ class DRBG {
|
|
|
55
55
|
* drbg.update('e13af...');
|
|
56
56
|
*/
|
|
57
57
|
update(seed) {
|
|
58
|
-
let kmac = this.hmac()
|
|
59
|
-
.update(this.V)
|
|
60
|
-
.update([0x00]);
|
|
58
|
+
let kmac = this.hmac().update(this.V).update([0x00]);
|
|
61
59
|
if (seed !== undefined) {
|
|
62
60
|
kmac = kmac.update(seed);
|
|
63
61
|
}
|
|
@@ -66,11 +64,7 @@ class DRBG {
|
|
|
66
64
|
if (seed === undefined) {
|
|
67
65
|
return;
|
|
68
66
|
}
|
|
69
|
-
this.K = this.hmac()
|
|
70
|
-
.update(this.V)
|
|
71
|
-
.update([0x01])
|
|
72
|
-
.update(seed)
|
|
73
|
-
.digest();
|
|
67
|
+
this.K = this.hmac().update(this.V).update([0x01]).update(seed).digest();
|
|
74
68
|
this.V = this.hmac().update(this.V).digest();
|
|
75
69
|
}
|
|
76
70
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DRBG.js","sourceRoot":"","sources":["../../../../src/primitives/DRBG.ts"],"names":[],"mappings":";;AAAA,uCAAsC;AACtC,yCAA2C;AAE3C;;;;;;;;;;;;GAYG;AACH,MAAqB,IAAI;IAIvB,YAAa,OAA0B,EAAE,KAAwB;QAC/D,OAAO,GAAG,IAAA,kBAAO,EAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QACjC,KAAK,GAAG,IAAA,kBAAO,EAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAE7B,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE
|
|
1
|
+
{"version":3,"file":"DRBG.js","sourceRoot":"","sources":["../../../../src/primitives/DRBG.ts"],"names":[],"mappings":";;AAAA,uCAAsC;AACtC,yCAA2C;AAE3C;;;;;;;;;;;;GAYG;AACH,MAAqB,IAAI;IAIvB,YAAa,OAA0B,EAAE,KAAwB;QAC/D,OAAO,GAAG,IAAA,kBAAO,EAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QACjC,KAAK,GAAG,IAAA,kBAAO,EAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAE7B,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;SAC3D;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAElC,IAAI,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,CAAA;QACtB,IAAI,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,CAAA;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;YAC3B,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;YAChB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;SACjB;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACnB,CAAC;IAED;;;;;;;;OAQG;IACH,IAAI;QACF,OAAO,IAAI,oBAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC/B,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAE,IAAK;QACX,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QACpD,IAAI,IAAI,KAAK,SAAS,EAAE;YACtB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;SACzB;QACD,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;QACtB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAA;QAC5C,IAAI,IAAI,KAAK,SAAS,EAAE;YACtB,OAAM;SACP;QAED,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAA;QACxE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAA;IAC9C,CAAC;IAED;;;;;;;;;;OAUG;IACH,QAAQ,CAAE,GAAW;QACnB,IAAI,IAAI,GAAa,EAAE,CAAA;QACvB,OAAO,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE;YACxB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAA;YAC5C,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;SAC3B;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QAC9B,IAAI,CAAC,MAAM,EAAE,CAAA;QACb,OAAO,IAAA,gBAAK,EAAC,GAAG,CAAC,CAAA;IACnB,CAAC;CACF;AAnFD,uBAmFC"}
|
|
@@ -32,7 +32,7 @@ function truncateToN(msg, truncOnly, curve = new Curve_js_1.default()) {
|
|
|
32
32
|
if (delta > 0) {
|
|
33
33
|
msg.iushrn(delta);
|
|
34
34
|
}
|
|
35
|
-
if (
|
|
35
|
+
if (truncOnly === null && msg.cmp(curve.n) >= 0) {
|
|
36
36
|
return msg.sub(curve.n);
|
|
37
37
|
}
|
|
38
38
|
else {
|
|
@@ -106,23 +106,23 @@ const sign = (msg, key, forceLowS = false, customK) => {
|
|
|
106
106
|
return k;
|
|
107
107
|
}
|
|
108
108
|
}
|
|
109
|
-
function generateK() {
|
|
109
|
+
function generateK(customK) {
|
|
110
110
|
if (typeof customK === 'function') {
|
|
111
111
|
// Call customK function to get k as BigNumber
|
|
112
|
-
const
|
|
112
|
+
const kbn = customK(iter);
|
|
113
113
|
// Convert k_bn (BigNumber) to BigInt
|
|
114
|
-
const
|
|
115
|
-
return BigInt('0x' +
|
|
114
|
+
const kstr = kbn.toString(16);
|
|
115
|
+
return BigInt('0x' + kstr);
|
|
116
116
|
}
|
|
117
|
-
else if (BigNumber_js_1.default.isBN(customK)) {
|
|
117
|
+
else if ((customK != null) && BigNumber_js_1.default.isBN(customK)) {
|
|
118
118
|
// Use customK provided, convert to BigInt
|
|
119
|
-
const
|
|
120
|
-
return BigInt('0x' +
|
|
119
|
+
const kstr = customK.toString(16);
|
|
120
|
+
return BigInt('0x' + kstr);
|
|
121
121
|
}
|
|
122
122
|
else {
|
|
123
123
|
// Use DRBG to generate k
|
|
124
|
-
const
|
|
125
|
-
return BigInt('0x' +
|
|
124
|
+
const khex = drbg.generate(bytes); // Generate hex string
|
|
125
|
+
return BigInt('0x' + khex);
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
128
|
// Modular arithmetic functions
|
|
@@ -173,20 +173,28 @@ const sign = (msg, key, forceLowS = false, customK) => {
|
|
|
173
173
|
return { x: xR, y: yR };
|
|
174
174
|
}
|
|
175
175
|
function scalarMul(k, P) {
|
|
176
|
+
var _a, _b;
|
|
176
177
|
let N = P;
|
|
177
|
-
let Q = null;
|
|
178
|
-
while (k >
|
|
179
|
-
if (k %
|
|
180
|
-
Q = pointAdd(Q, N);
|
|
178
|
+
let Q = null;
|
|
179
|
+
while (k > BigInt(0)) {
|
|
180
|
+
if (k % BigInt(2) === BigInt(1)) {
|
|
181
|
+
Q = Q === null ? N : ((_a = pointAdd(Q, N)) !== null && _a !== void 0 ? _a : Q);
|
|
181
182
|
}
|
|
182
|
-
N = pointAdd(N, N);
|
|
183
|
-
k >>=
|
|
183
|
+
N = (_b = pointAdd(N, N)) !== null && _b !== void 0 ? _b : N;
|
|
184
|
+
k >>= BigInt(1);
|
|
185
|
+
}
|
|
186
|
+
if (Q === null) {
|
|
187
|
+
throw new Error('Scalar multiplication resulted in an invalid point.');
|
|
184
188
|
}
|
|
185
189
|
return Q;
|
|
186
190
|
}
|
|
187
|
-
|
|
188
|
-
|
|
191
|
+
let validSignature = false;
|
|
192
|
+
while (!validSignature) {
|
|
189
193
|
iter += 1;
|
|
194
|
+
validSignature = true;
|
|
195
|
+
iter += 1;
|
|
196
|
+
// Generate k value
|
|
197
|
+
let k = generateK(customK);
|
|
190
198
|
// Truncate k to n bits
|
|
191
199
|
k = truncateToN(k, n, true);
|
|
192
200
|
if (k <= one || k >= ns1) {
|
|
@@ -231,9 +239,9 @@ const sign = (msg, key, forceLowS = false, customK) => {
|
|
|
231
239
|
s = n - s;
|
|
232
240
|
}
|
|
233
241
|
// Return signature as BigNumbers
|
|
234
|
-
const
|
|
235
|
-
const
|
|
236
|
-
return new Signature_js_1.default(
|
|
242
|
+
const rbn = new BigNumber_js_1.default(r.toString(16), 16);
|
|
243
|
+
const sbn = new BigNumber_js_1.default(s.toString(16), 16);
|
|
244
|
+
return new Signature_js_1.default(rbn, sbn);
|
|
237
245
|
}
|
|
238
246
|
}
|
|
239
247
|
else {
|
|
@@ -255,7 +263,12 @@ const sign = (msg, key, forceLowS = false, customK) => {
|
|
|
255
263
|
: BigNumber_js_1.default.isBN(customK)
|
|
256
264
|
? customK
|
|
257
265
|
: new BigNumber_js_1.default(drbg.generate(bytes), 16);
|
|
258
|
-
|
|
266
|
+
if (k != null) {
|
|
267
|
+
k = truncateToN(k, true);
|
|
268
|
+
}
|
|
269
|
+
else {
|
|
270
|
+
throw new Error('k is undefined');
|
|
271
|
+
}
|
|
259
272
|
if (k.cmpn(1) <= 0 || k.cmp(ns1) >= 0) {
|
|
260
273
|
if (BigNumber_js_1.default.isBN(customK)) {
|
|
261
274
|
throw new Error('Invalid fixed custom K value (must be more than 1 and less than N-1)');
|
|
@@ -300,6 +313,7 @@ const sign = (msg, key, forceLowS = false, customK) => {
|
|
|
300
313
|
return new Signature_js_1.default(r, s);
|
|
301
314
|
}
|
|
302
315
|
}
|
|
316
|
+
throw new Error('Failed to generate a valid signature');
|
|
303
317
|
};
|
|
304
318
|
exports.sign = sign;
|
|
305
319
|
/**
|
|
@@ -338,20 +352,19 @@ const verify = (msg, sig, key) => {
|
|
|
338
352
|
const mod = (a, m) => ((a % m) + m) % m;
|
|
339
353
|
const modInv = (a, m) => {
|
|
340
354
|
// Extended Euclidean Algorithm for modular inverse
|
|
341
|
-
let [
|
|
342
|
-
let [
|
|
355
|
+
let [oldr, r] = [a, m];
|
|
356
|
+
let [olds, s] = [BigInt(1), BigInt(0)];
|
|
343
357
|
while (r !== zero) {
|
|
344
|
-
const q =
|
|
345
|
-
[
|
|
346
|
-
[
|
|
358
|
+
const q = oldr / r;
|
|
359
|
+
[oldr, r] = [r, oldr - q * r];
|
|
360
|
+
[olds, s] = [s, olds - q * s];
|
|
347
361
|
}
|
|
348
|
-
if (
|
|
362
|
+
if (oldr > one)
|
|
349
363
|
return zero; // No inverse
|
|
350
|
-
return mod(
|
|
364
|
+
return mod(olds, m);
|
|
351
365
|
};
|
|
352
366
|
const modMul = (a, b, m) => mod(a * b, m);
|
|
353
367
|
const modSub = (a, b, m) => mod(a - b, m);
|
|
354
|
-
const modAdd = (a, b, m) => mod(a + b, m);
|
|
355
368
|
// Define constants
|
|
356
369
|
const four = BigInt(4);
|
|
357
370
|
const eight = BigInt(8);
|
|
@@ -361,11 +374,11 @@ const verify = (msg, sig, key) => {
|
|
|
361
374
|
if (Y1 === zero) {
|
|
362
375
|
return { X: zero, Y: one, Z: zero }; // Point at infinity
|
|
363
376
|
}
|
|
364
|
-
const
|
|
365
|
-
const S = modMul(four, modMul(X1,
|
|
377
|
+
const Y1sq = modMul(Y1, Y1, p); // Y1^2
|
|
378
|
+
const S = modMul(four, modMul(X1, Y1sq, p), p); // S = 4 * X1 * Y1^2
|
|
366
379
|
const M = modMul(three, modMul(X1, X1, p), p); // M = 3 * X1^2
|
|
367
380
|
const X3 = modSub(modMul(M, M, p), modMul(two, S, p), p); // X3 = M^2 - 2 * S
|
|
368
|
-
const Y3 = modSub(modMul(M, modSub(S, X3, p), p), modMul(eight, modMul(
|
|
381
|
+
const Y3 = modSub(modMul(M, modSub(S, X3, p), p), modMul(eight, modMul(Y1sq, Y1sq, p), p), p); // Y3 = M * (S - X3) - 8 * Y1^4
|
|
369
382
|
const Z3 = modMul(two, modMul(Y1, Z1, p), p); // Z3 = 2 * Y1 * Z1
|
|
370
383
|
return { X: X3, Y: Y3, Z: Z3 };
|
|
371
384
|
};
|
|
@@ -442,14 +455,17 @@ const verify = (msg, sig, key) => {
|
|
|
442
455
|
return false; // No inverse exists
|
|
443
456
|
}
|
|
444
457
|
const ZInv2 = modMul(ZInv, ZInv, p);
|
|
445
|
-
const
|
|
458
|
+
const x1affine = modMul(R.X, ZInv2, p);
|
|
446
459
|
// Compute v = x1_affine mod n
|
|
447
|
-
const v = mod(
|
|
460
|
+
const v = mod(x1affine, n);
|
|
448
461
|
// Signature is valid if v == r mod n
|
|
449
462
|
return v === r;
|
|
450
463
|
};
|
|
451
464
|
// Convert inputs to BigInt
|
|
452
465
|
const hash = BigInt('0x' + msg.toString(16));
|
|
466
|
+
if ((key.x == null) || (key.y == null)) {
|
|
467
|
+
throw new Error('Invalid public key: missing coordinates.');
|
|
468
|
+
}
|
|
453
469
|
const publicKey = {
|
|
454
470
|
x: BigInt('0x' + key.x.toString(16)),
|
|
455
471
|
y: BigInt('0x' + key.y.toString(16))
|
|
@@ -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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"}
|