@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
|
@@ -7,9 +7,9 @@ export class KeyDeriver {
|
|
|
7
7
|
rootKey;
|
|
8
8
|
identityKey;
|
|
9
9
|
/**
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
* Initializes the KeyDeriver instance with a root private key.
|
|
11
|
+
* @param {PrivateKey | 'anyone'} rootKey - The root private key or the string 'anyone'.
|
|
12
|
+
*/
|
|
13
13
|
constructor(rootKey) {
|
|
14
14
|
if (rootKey === 'anyone') {
|
|
15
15
|
this.rootKey = new PrivateKey(1);
|
|
@@ -20,41 +20,43 @@ export class KeyDeriver {
|
|
|
20
20
|
this.identityKey = this.rootKey.toPublicKey().toString();
|
|
21
21
|
}
|
|
22
22
|
/**
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
23
|
+
* Derives a public key based on protocol ID, key ID, and counterparty.
|
|
24
|
+
* @param {WalletProtocol} protocolID - The protocol ID including a security level and protocol name.
|
|
25
|
+
* @param {string} keyID - The key identifier.
|
|
26
|
+
* @param {Counterparty} counterparty - The counterparty's public key or a predefined value ('self' or 'anyone').
|
|
27
|
+
* @param {boolean} [forSelf=false] - Whether deriving for self.
|
|
28
|
+
* @returns {PublicKey} - The derived public key.
|
|
29
|
+
*/
|
|
30
30
|
derivePublicKey(protocolID, keyID, counterparty, forSelf = false) {
|
|
31
31
|
counterparty = this.normalizeCounterparty(counterparty);
|
|
32
32
|
if (forSelf) {
|
|
33
|
-
return this.rootKey
|
|
33
|
+
return this.rootKey
|
|
34
|
+
.deriveChild(counterparty, this.computeInvoiceNumber(protocolID, keyID))
|
|
35
|
+
.toPublicKey();
|
|
34
36
|
}
|
|
35
37
|
else {
|
|
36
38
|
return counterparty.deriveChild(this.rootKey, this.computeInvoiceNumber(protocolID, keyID));
|
|
37
39
|
}
|
|
38
40
|
}
|
|
39
41
|
/**
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
42
|
+
* Derives a private key based on protocol ID, key ID, and counterparty.
|
|
43
|
+
* @param {WalletProtocol} protocolID - The protocol ID including a security level and protocol name.
|
|
44
|
+
* @param {string} keyID - The key identifier.
|
|
45
|
+
* @param {Counterparty} counterparty - The counterparty's public key or a predefined value ('self' or 'anyone').
|
|
46
|
+
* @returns {PrivateKey} - The derived private key.
|
|
47
|
+
*/
|
|
46
48
|
derivePrivateKey(protocolID, keyID, counterparty) {
|
|
47
49
|
counterparty = this.normalizeCounterparty(counterparty);
|
|
48
50
|
return this.rootKey.deriveChild(counterparty, this.computeInvoiceNumber(protocolID, keyID));
|
|
49
51
|
}
|
|
50
52
|
/**
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
53
|
+
* Derives a symmetric key based on protocol ID, key ID, and counterparty.
|
|
54
|
+
* Note: Symmetric keys should not be derivable by everyone due to security risks.
|
|
55
|
+
* @param {WalletProtocol} protocolID - The protocol ID including a security level and protocol name.
|
|
56
|
+
* @param {string} keyID - The key identifier.
|
|
57
|
+
* @param {Counterparty} counterparty - The counterparty's public key or a predefined value ('self' or 'anyone').
|
|
58
|
+
* @returns {SymmetricKey} - The derived symmetric key.
|
|
59
|
+
*/
|
|
58
60
|
deriveSymmetricKey(protocolID, keyID, counterparty) {
|
|
59
61
|
// If counterparty is 'anyone', we use 1*G as the public key.
|
|
60
62
|
// This is a publicly derivable key and should only be used in scenarios where public disclosure is intended.
|
|
@@ -64,15 +66,15 @@ export class KeyDeriver {
|
|
|
64
66
|
counterparty = this.normalizeCounterparty(counterparty);
|
|
65
67
|
const derivedPublicKey = this.derivePublicKey(protocolID, keyID, counterparty);
|
|
66
68
|
const derivedPrivateKey = this.derivePrivateKey(protocolID, keyID, counterparty);
|
|
67
|
-
return new SymmetricKey(derivedPrivateKey.deriveSharedSecret(derivedPublicKey)
|
|
69
|
+
return new SymmetricKey(derivedPrivateKey.deriveSharedSecret(derivedPublicKey)?.x?.toArray() ?? []);
|
|
68
70
|
}
|
|
69
71
|
/**
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
72
|
+
* Reveals the shared secret between the root key and the counterparty.
|
|
73
|
+
* Note: This should not be used for 'self'.
|
|
74
|
+
* @param {Counterparty} counterparty - The counterparty's public key or a predefined value ('self' or 'anyone').
|
|
75
|
+
* @returns {number[]} - The shared secret as a number array.
|
|
76
|
+
* @throws {Error} - Throws an error if attempting to reveal a shared secret for 'self'.
|
|
77
|
+
*/
|
|
76
78
|
revealCounterpartySecret(counterparty) {
|
|
77
79
|
if (counterparty === 'self') {
|
|
78
80
|
throw new Error('Counterparty secrets cannot be revealed for counterparty=self.');
|
|
@@ -81,19 +83,23 @@ export class KeyDeriver {
|
|
|
81
83
|
// Double-check to ensure not revealing the secret for 'self'
|
|
82
84
|
const self = this.rootKey.toPublicKey();
|
|
83
85
|
const keyDerivedBySelf = this.rootKey.deriveChild(self, 'test').toHex();
|
|
84
|
-
const keyDerivedByCounterparty = this.rootKey
|
|
86
|
+
const keyDerivedByCounterparty = this.rootKey
|
|
87
|
+
.deriveChild(counterparty, 'test')
|
|
88
|
+
.toHex();
|
|
85
89
|
if (keyDerivedBySelf === keyDerivedByCounterparty) {
|
|
86
90
|
throw new Error('Counterparty secrets cannot be revealed for counterparty=self.');
|
|
87
91
|
}
|
|
88
|
-
return this.rootKey
|
|
92
|
+
return this.rootKey
|
|
93
|
+
.deriveSharedSecret(counterparty)
|
|
94
|
+
.encode(true);
|
|
89
95
|
}
|
|
90
96
|
/**
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
+
* Reveals the specific key association for a given protocol ID, key ID, and counterparty.
|
|
98
|
+
* @param {Counterparty} counterparty - The counterparty's public key or a predefined value ('self' or 'anyone').
|
|
99
|
+
* @param {WalletProtocol} protocolID - The protocol ID including a security level and protocol name.
|
|
100
|
+
* @param {string} keyID - The key identifier.
|
|
101
|
+
* @returns {number[]} - The specific key association as a number array.
|
|
102
|
+
*/
|
|
97
103
|
revealSpecificSecret(counterparty, protocolID, keyID) {
|
|
98
104
|
counterparty = this.normalizeCounterparty(counterparty);
|
|
99
105
|
const sharedSecret = this.rootKey.deriveSharedSecret(counterparty);
|
|
@@ -101,13 +107,13 @@ export class KeyDeriver {
|
|
|
101
107
|
return Hash.sha256hmac(sharedSecret.encode(true), invoiceNumberBin);
|
|
102
108
|
}
|
|
103
109
|
/**
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
110
|
+
* Normalizes the counterparty to a public key.
|
|
111
|
+
* @param {Counterparty} counterparty - The counterparty's public key or a predefined value ('self' or 'anyone').
|
|
112
|
+
* @returns {PublicKey} - The normalized counterparty public key.
|
|
113
|
+
* @throws {Error} - Throws an error if the counterparty is invalid.
|
|
114
|
+
*/
|
|
109
115
|
normalizeCounterparty(counterparty) {
|
|
110
|
-
if (
|
|
116
|
+
if (counterparty === null || counterparty === undefined) {
|
|
111
117
|
throw new Error('counterparty must be self, anyone or a public key!');
|
|
112
118
|
}
|
|
113
119
|
else if (counterparty === 'self') {
|
|
@@ -124,15 +130,17 @@ export class KeyDeriver {
|
|
|
124
130
|
}
|
|
125
131
|
}
|
|
126
132
|
/**
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
+
* Computes the invoice number based on the protocol ID and key ID.
|
|
134
|
+
* @param {WalletProtocol} protocolID - The protocol ID including a security level and protocol name.
|
|
135
|
+
* @param {string} keyID - The key identifier.
|
|
136
|
+
* @returns {string} - The computed invoice number.
|
|
137
|
+
* @throws {Error} - Throws an error if protocol ID or key ID are invalid.
|
|
138
|
+
*/
|
|
133
139
|
computeInvoiceNumber(protocolID, keyID) {
|
|
134
140
|
const securityLevel = protocolID[0];
|
|
135
|
-
if (!Number.isInteger(securityLevel) ||
|
|
141
|
+
if (!Number.isInteger(securityLevel) ||
|
|
142
|
+
securityLevel < 0 ||
|
|
143
|
+
securityLevel > 2) {
|
|
136
144
|
throw new Error('Protocol security level must be 0, 1, or 2');
|
|
137
145
|
}
|
|
138
146
|
const protocolName = protocolID[1].toLowerCase().trim();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyDeriver.js","sourceRoot":"","sources":["../../../../src/wallet/KeyDeriver.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"KeyDeriver.js","sourceRoot":"","sources":["../../../../src/wallet/KeyDeriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,23 +15,35 @@ export class ProtoWallet {
|
|
|
15
15
|
}
|
|
16
16
|
this.keyDeriver = rootKeyOrKeyDeriver;
|
|
17
17
|
}
|
|
18
|
-
async getPublicKey(args
|
|
18
|
+
async getPublicKey(args) {
|
|
19
19
|
if (args.identityKey) {
|
|
20
|
+
if (this.keyDeriver == null) {
|
|
21
|
+
throw new Error('keyDeriver is undefined');
|
|
22
|
+
}
|
|
20
23
|
return { publicKey: this.keyDeriver.rootKey.toPublicKey().toString() };
|
|
21
24
|
}
|
|
22
25
|
else {
|
|
23
|
-
if (
|
|
26
|
+
if (args.protocolID == null || args.keyID == null || args.keyID === '') {
|
|
24
27
|
throw new Error('protocolID and keyID are required if identityKey is false or undefined.');
|
|
25
28
|
}
|
|
29
|
+
const keyDeriver = this.keyDeriver ??
|
|
30
|
+
(() => {
|
|
31
|
+
throw new Error('keyDeriver is undefined');
|
|
32
|
+
})();
|
|
26
33
|
return {
|
|
27
|
-
publicKey:
|
|
28
|
-
.derivePublicKey(args.protocolID, args.keyID, args.counterparty
|
|
34
|
+
publicKey: keyDeriver
|
|
35
|
+
.derivePublicKey(args.protocolID, args.keyID, args.counterparty ?? 'self', args.forSelf)
|
|
29
36
|
.toString()
|
|
30
37
|
};
|
|
31
38
|
}
|
|
32
39
|
}
|
|
33
|
-
async revealCounterpartyKeyLinkage(args
|
|
34
|
-
const { publicKey: identityKey } = await this.getPublicKey({
|
|
40
|
+
async revealCounterpartyKeyLinkage(args) {
|
|
41
|
+
const { publicKey: identityKey } = await this.getPublicKey({
|
|
42
|
+
identityKey: true
|
|
43
|
+
});
|
|
44
|
+
if (this.keyDeriver == null) {
|
|
45
|
+
throw new Error('keyDeriver is undefined');
|
|
46
|
+
}
|
|
35
47
|
const linkage = this.keyDeriver.revealCounterpartySecret(args.counterparty);
|
|
36
48
|
const linkageProof = new Schnorr().generateProof(this.keyDeriver.rootKey, this.keyDeriver.rootKey.toPublicKey(), PublicKey.fromString(args.counterparty), Point.fromDER(linkage));
|
|
37
49
|
const linkageProofBin = [
|
|
@@ -61,18 +73,29 @@ export class ProtoWallet {
|
|
|
61
73
|
encryptedLinkageProof
|
|
62
74
|
};
|
|
63
75
|
}
|
|
64
|
-
async revealSpecificKeyLinkage(args
|
|
65
|
-
const { publicKey: identityKey } = await this.getPublicKey({
|
|
76
|
+
async revealSpecificKeyLinkage(args) {
|
|
77
|
+
const { publicKey: identityKey } = await this.getPublicKey({
|
|
78
|
+
identityKey: true
|
|
79
|
+
});
|
|
80
|
+
if (this.keyDeriver == null) {
|
|
81
|
+
throw new Error('keyDeriver is undefined');
|
|
82
|
+
}
|
|
66
83
|
const linkage = this.keyDeriver.revealSpecificSecret(args.counterparty, args.protocolID, args.keyID);
|
|
67
84
|
const { ciphertext: encryptedLinkage } = await this.encrypt({
|
|
68
85
|
plaintext: linkage,
|
|
69
|
-
protocolID: [
|
|
86
|
+
protocolID: [
|
|
87
|
+
2,
|
|
88
|
+
`specific linkage revelation ${args.protocolID[0]} ${args.protocolID[1]}`
|
|
89
|
+
],
|
|
70
90
|
keyID: args.keyID,
|
|
71
91
|
counterparty: args.verifier
|
|
72
92
|
});
|
|
73
93
|
const { ciphertext: encryptedLinkageProof } = await this.encrypt({
|
|
74
|
-
plaintext: [0],
|
|
75
|
-
protocolID: [
|
|
94
|
+
plaintext: [0],
|
|
95
|
+
protocolID: [
|
|
96
|
+
2,
|
|
97
|
+
`specific linkage revelation ${args.protocolID[0]} ${args.protocolID[1]}`
|
|
98
|
+
],
|
|
76
99
|
keyID: args.keyID,
|
|
77
100
|
counterparty: args.verifier
|
|
78
101
|
});
|
|
@@ -87,21 +110,34 @@ export class ProtoWallet {
|
|
|
87
110
|
proofType: 0
|
|
88
111
|
};
|
|
89
112
|
}
|
|
90
|
-
async encrypt(args
|
|
91
|
-
|
|
113
|
+
async encrypt(args) {
|
|
114
|
+
if (this.keyDeriver == null) {
|
|
115
|
+
throw new Error('keyDeriver is undefined');
|
|
116
|
+
}
|
|
117
|
+
const key = this.keyDeriver.deriveSymmetricKey(args.protocolID, args.keyID, args.counterparty ?? 'self');
|
|
92
118
|
return { ciphertext: key.encrypt(args.plaintext) };
|
|
93
119
|
}
|
|
94
|
-
async decrypt(args
|
|
95
|
-
|
|
120
|
+
async decrypt(args) {
|
|
121
|
+
if (this.keyDeriver == null) {
|
|
122
|
+
throw new Error('keyDeriver is undefined');
|
|
123
|
+
}
|
|
124
|
+
const key = this.keyDeriver.deriveSymmetricKey(args.protocolID, args.keyID, args.counterparty ?? 'self');
|
|
96
125
|
return { plaintext: key.decrypt(args.ciphertext) };
|
|
97
126
|
}
|
|
98
|
-
async createHmac(args
|
|
99
|
-
|
|
127
|
+
async createHmac(args) {
|
|
128
|
+
if (this.keyDeriver == null) {
|
|
129
|
+
throw new Error('keyDeriver is undefined');
|
|
130
|
+
}
|
|
131
|
+
const key = this.keyDeriver.deriveSymmetricKey(args.protocolID, args.keyID, args.counterparty ?? 'self');
|
|
100
132
|
return { hmac: Hash.sha256hmac(key.toArray(), args.data) };
|
|
101
133
|
}
|
|
102
|
-
async verifyHmac(args
|
|
103
|
-
|
|
104
|
-
|
|
134
|
+
async verifyHmac(args) {
|
|
135
|
+
if (this.keyDeriver == null) {
|
|
136
|
+
throw new Error('keyDeriver is undefined');
|
|
137
|
+
}
|
|
138
|
+
const key = this.keyDeriver.deriveSymmetricKey(args.protocolID, args.keyID, args.counterparty ?? 'self');
|
|
139
|
+
const valid = Hash.sha256hmac(key.toArray(), args.data).toString() ===
|
|
140
|
+
args.hmac.toString();
|
|
105
141
|
if (!valid) {
|
|
106
142
|
const e = new Error('HMAC is not valid');
|
|
107
143
|
e.code = 'ERR_INVALID_HMAC';
|
|
@@ -109,20 +145,30 @@ export class ProtoWallet {
|
|
|
109
145
|
}
|
|
110
146
|
return { valid };
|
|
111
147
|
}
|
|
112
|
-
async createSignature(args
|
|
113
|
-
if (
|
|
148
|
+
async createSignature(args) {
|
|
149
|
+
if ((args.hashToDirectlySign == null) && (args.data == null)) {
|
|
114
150
|
throw new Error('args.data or args.hashToDirectlySign must be valid');
|
|
115
151
|
}
|
|
116
|
-
const hash = args.hashToDirectlySign
|
|
117
|
-
const
|
|
118
|
-
|
|
152
|
+
const hash = args.hashToDirectlySign ?? Hash.sha256(args.data ?? []);
|
|
153
|
+
const keyDeriver = this.keyDeriver ??
|
|
154
|
+
(() => {
|
|
155
|
+
throw new Error('keyDeriver is undefined');
|
|
156
|
+
})();
|
|
157
|
+
const key = keyDeriver.derivePrivateKey(args.protocolID, args.keyID, args.counterparty ?? 'anyone');
|
|
158
|
+
return {
|
|
159
|
+
signature: ECDSA.sign(new BigNumber(hash), key, true).toDER()
|
|
160
|
+
};
|
|
119
161
|
}
|
|
120
|
-
async verifySignature(args
|
|
121
|
-
if (
|
|
162
|
+
async verifySignature(args) {
|
|
163
|
+
if ((args.hashToDirectlyVerify == null) && (args.data == null)) {
|
|
122
164
|
throw new Error('args.data or args.hashToDirectlyVerify must be valid');
|
|
123
165
|
}
|
|
124
|
-
const hash = args.hashToDirectlyVerify
|
|
125
|
-
const
|
|
166
|
+
const hash = args.hashToDirectlyVerify ?? Hash.sha256(args.data ?? []);
|
|
167
|
+
const keyDeriver = this.keyDeriver ??
|
|
168
|
+
(() => {
|
|
169
|
+
throw new Error('keyDeriver is undefined');
|
|
170
|
+
})();
|
|
171
|
+
const key = keyDeriver.derivePublicKey(args.protocolID, args.keyID, args.counterparty ?? 'self', args.forSelf);
|
|
126
172
|
const valid = ECDSA.verify(new BigNumber(hash), Signature.fromDER(args.signature), key);
|
|
127
173
|
if (!valid) {
|
|
128
174
|
const e = new Error('Signature is not valid');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProtoWallet.js","sourceRoot":"","sources":["../../../../src/wallet/ProtoWallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAiB,MAAM,iBAAiB,CAAA;AAC3D,OAAO,
|
|
1
|
+
{"version":3,"file":"ProtoWallet.js","sourceRoot":"","sources":["../../../../src/wallet/ProtoWallet.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,8 +11,9 @@ export default class WalletClient {
|
|
|
11
11
|
substrate;
|
|
12
12
|
originator;
|
|
13
13
|
constructor(substrate = 'auto', originator) {
|
|
14
|
-
if (substrate === 'Cicada')
|
|
14
|
+
if (substrate === 'Cicada') {
|
|
15
15
|
substrate = new WalletWireTransceiver(new HTTPWalletWire(originator));
|
|
16
|
+
}
|
|
16
17
|
if (substrate === 'window.CWI')
|
|
17
18
|
substrate = new WindowCWISubstrate();
|
|
18
19
|
if (substrate === 'XDM')
|
|
@@ -32,7 +33,7 @@ export default class WalletClient {
|
|
|
32
33
|
if (typeof timeout === 'number') {
|
|
33
34
|
result = await Promise.race([
|
|
34
35
|
sub.getVersion({}),
|
|
35
|
-
new Promise((
|
|
36
|
+
new Promise((_resolve, reject) => setTimeout(() => reject(new Error('Timed out.')), timeout))
|
|
36
37
|
]);
|
|
37
38
|
}
|
|
38
39
|
else {
|
|
@@ -48,24 +49,28 @@ export default class WalletClient {
|
|
|
48
49
|
this.substrate = sub;
|
|
49
50
|
}
|
|
50
51
|
catch (e) {
|
|
52
|
+
console.error('XDMSubstrate initialization failed:', e); // Log the error
|
|
51
53
|
try {
|
|
52
54
|
sub = new XDMSubstrate();
|
|
53
55
|
await checkSub(MAX_XDM_RESPONSE_WAIT);
|
|
54
56
|
this.substrate = sub;
|
|
55
57
|
}
|
|
56
58
|
catch (e) {
|
|
59
|
+
console.error('WalletWireTransceiver initialization failed:', e);
|
|
57
60
|
try {
|
|
58
61
|
sub = new WalletWireTransceiver(new HTTPWalletWire(this.originator));
|
|
59
62
|
await checkSub();
|
|
60
63
|
this.substrate = sub;
|
|
61
64
|
}
|
|
62
65
|
catch (e) {
|
|
66
|
+
console.error('HTTPWalletJSON initialization failed:', e);
|
|
63
67
|
try {
|
|
64
68
|
sub = new HTTPWalletJSON(this.originator);
|
|
65
69
|
await checkSub();
|
|
66
70
|
this.substrate = sub;
|
|
67
71
|
}
|
|
68
72
|
catch (e) {
|
|
73
|
+
console.error('No wallet available:', e);
|
|
69
74
|
throw new Error('No wallet available over any communication substrate. Install a BSV wallet today!');
|
|
70
75
|
}
|
|
71
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WalletClient.js","sourceRoot":"","sources":["../../../../src/wallet/WalletClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WalletClient.js","sourceRoot":"","sources":["../../../../src/wallet/WalletClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,10 +5,10 @@ export class WalletError extends Error {
|
|
|
5
5
|
super(message);
|
|
6
6
|
this.code = code;
|
|
7
7
|
this.name = this.constructor.name;
|
|
8
|
-
if (stack) {
|
|
8
|
+
if (stack !== undefined && stack !== null && stack !== '') {
|
|
9
9
|
this.stack = stack;
|
|
10
10
|
}
|
|
11
|
-
else
|
|
11
|
+
else {
|
|
12
12
|
Error.captureStackTrace(this, this.constructor);
|
|
13
13
|
}
|
|
14
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WalletError.js","sourceRoot":"","sources":["../../../../src/wallet/WalletError.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC,IAAI,CAAQ;IACZ,OAAO,GAAY,IAAI,CAAA;IAEvB,YAAa,OAAe,EAAE,IAAI,GAAG,CAAC,EAAE,KAAc;QACpD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;QAEjC,IAAI,KAAK,
|
|
1
|
+
{"version":3,"file":"WalletError.js","sourceRoot":"","sources":["../../../../src/wallet/WalletError.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC,IAAI,CAAQ;IACZ,OAAO,GAAY,IAAI,CAAA;IAEvB,YAAa,OAAe,EAAE,IAAI,GAAG,CAAC,EAAE,KAAc;QACpD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;QAEjC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE;YACzD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;SACnB;aAAM;YACL,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;SAChD;IACH,CAAC;CACF;AAED,4DAA4D;AAC5D,IAAK,YAKJ;AALD,WAAK,YAAY;IACf,+DAAgB,CAAA;IAChB,yEAAqB,CAAA;IACrB,6DAAe,CAAA;IACf,uEAAoB,CAAA;AACtB,CAAC,EALI,YAAY,KAAZ,YAAY,QAKhB;AAED,eAAe,YAAY,CAAA"}
|
|
@@ -2,7 +2,7 @@ export default class HTTPWalletJSON {
|
|
|
2
2
|
baseUrl;
|
|
3
3
|
httpClient;
|
|
4
4
|
originator;
|
|
5
|
-
api;
|
|
5
|
+
api; // Fixed `any` types
|
|
6
6
|
constructor(originator, baseUrl = 'http://localhost:3321', httpClient = fetch) {
|
|
7
7
|
this.baseUrl = baseUrl;
|
|
8
8
|
this.originator = originator;
|
|
@@ -12,16 +12,16 @@ export default class HTTPWalletJSON {
|
|
|
12
12
|
const response = await (await httpClient(`${this.baseUrl}/${call}`, {
|
|
13
13
|
method: 'POST',
|
|
14
14
|
headers: {
|
|
15
|
-
|
|
15
|
+
Accept: 'application/json',
|
|
16
16
|
'Content-Type': 'application/json',
|
|
17
|
-
|
|
17
|
+
Originator: this.originator ?? '' // ✅ Fix: Explicitly handle nullish `originator`
|
|
18
18
|
},
|
|
19
19
|
body: JSON.stringify(args)
|
|
20
20
|
})).json();
|
|
21
21
|
return response;
|
|
22
22
|
}
|
|
23
23
|
catch (error) {
|
|
24
|
-
console.log({
|
|
24
|
+
console.log({ HTTPWalletJSON: { call, args, error } });
|
|
25
25
|
throw error;
|
|
26
26
|
}
|
|
27
27
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HTTPWalletJSON.js","sourceRoot":"","sources":["../../../../../src/wallet/substrates/HTTPWalletJSON.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HTTPWalletJSON.js","sourceRoot":"","sources":["../../../../../src/wallet/substrates/HTTPWalletJSON.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ export default class HTTPWalletWire {
|
|
|
15
15
|
const callCode = messageReader.readUInt8();
|
|
16
16
|
// Map call code to call name
|
|
17
17
|
const callName = WalletWireCalls[callCode]; // calls is enum
|
|
18
|
-
if (
|
|
18
|
+
if (callName === undefined || callName === '') {
|
|
19
19
|
// Invalid call code
|
|
20
20
|
throw new Error(`Invalid call code: ${callCode}`);
|
|
21
21
|
}
|
|
@@ -31,7 +31,7 @@ export default class HTTPWalletWire {
|
|
|
31
31
|
method: 'POST',
|
|
32
32
|
headers: {
|
|
33
33
|
'Content-Type': 'application/octet-stream',
|
|
34
|
-
Origin: originator
|
|
34
|
+
Origin: originator ?? '' // ✅ Explicitly handle null/undefined cases
|
|
35
35
|
},
|
|
36
36
|
body: new Uint8Array(payload)
|
|
37
37
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HTTPWalletWire.js","sourceRoot":"","sources":["../../../../../src/wallet/substrates/HTTPWalletWire.ts"],"names":[],"mappings":"AACA,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AAEjD,MAAM,CAAC,OAAO,OAAO,cAAc;IACjC,OAAO,CAAQ;IACf,UAAU,CAAc;IACxB,UAAU,CAAoB;IAE9B,
|
|
1
|
+
{"version":3,"file":"HTTPWalletWire.js","sourceRoot":"","sources":["../../../../../src/wallet/substrates/HTTPWalletWire.ts"],"names":[],"mappings":"AACA,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AAEjD,MAAM,CAAC,OAAO,OAAO,cAAc;IACjC,OAAO,CAAQ;IACf,UAAU,CAAc;IACxB,UAAU,CAAoB;IAE9B,YACE,UAA8B,EAC9B,UAAkB,uBAAuB,EACzC,UAAU,GAAG,KAAK;QAElB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9B,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,OAAiB;QACtC,MAAM,aAAa,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAC/C,iBAAiB;QACjB,MAAM,QAAQ,GAAG,aAAa,CAAC,SAAS,EAAE,CAAA;QAE1C,6BAA6B;QAC7B,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAA,CAAC,gBAAgB;QAC3D,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,EAAE,EAAE;YAC7C,oBAAoB;YACpB,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAA;SAClD;QAED,yBAAyB;QACzB,MAAM,gBAAgB,GAAG,aAAa,CAAC,SAAS,EAAE,CAAA;QAClD,IAAI,UAA8B,CAAA;QAClC,IAAI,gBAAgB,GAAG,CAAC,EAAE;YACxB,MAAM,eAAe,GAAG,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAC5D,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;SAC3C;QACD,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,CAAA;QACpC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,IAAI,QAAQ,EAAE,EAAE;YAC1D,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,0BAA0B;gBAC1C,MAAM,EAAE,UAAU,IAAI,EAAE,CAAC,2CAA2C;aACrE;YACD,IAAI,EAAE,IAAI,UAAU,CAAC,OAAO,CAAC;SAC9B,CAAC,CAAA;QACF,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAA;QACnD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,cAAc,CAAC,CAAC,CAAA;IACnD,CAAC;CACF"}
|