@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
|
@@ -34,10 +34,13 @@ export class Peer {
|
|
|
34
34
|
constructor(wallet, transport, certificatesToRequest, sessionManager, autoPersistLastSession) {
|
|
35
35
|
this.wallet = wallet;
|
|
36
36
|
this.transport = transport;
|
|
37
|
-
this.certificatesToRequest = certificatesToRequest ?? {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
37
|
+
this.certificatesToRequest = certificatesToRequest ?? {
|
|
38
|
+
certifiers: [],
|
|
39
|
+
types: {}
|
|
40
|
+
};
|
|
41
|
+
this.transport.onData(this.handleIncomingMessage.bind(this)).catch(console.error);
|
|
42
|
+
this.sessionManager = sessionManager != null ? sessionManager : new SessionManager();
|
|
43
|
+
if (autoPersistLastSession === false) {
|
|
41
44
|
this.autoPersistLastSession = false;
|
|
42
45
|
}
|
|
43
46
|
else {
|
|
@@ -53,7 +56,10 @@ export class Peer {
|
|
|
53
56
|
* @throws Will throw an error if the message fails to send.
|
|
54
57
|
*/
|
|
55
58
|
async toPeer(message, identityKey, maxWaitTime) {
|
|
56
|
-
if (this.autoPersistLastSession &&
|
|
59
|
+
if (this.autoPersistLastSession &&
|
|
60
|
+
this.lastInteractedWithPeer !== undefined &&
|
|
61
|
+
this.lastInteractedWithPeer !== null &&
|
|
62
|
+
typeof identityKey !== 'string') {
|
|
57
63
|
identityKey = this.lastInteractedWithPeer;
|
|
58
64
|
}
|
|
59
65
|
const peerSession = await this.getAuthenticatedSession(identityKey, maxWaitTime);
|
|
@@ -62,13 +68,14 @@ export class Peer {
|
|
|
62
68
|
const { signature } = await this.wallet.createSignature({
|
|
63
69
|
data: message,
|
|
64
70
|
protocolID: [2, 'auth message signature'],
|
|
65
|
-
keyID: `${requestNonce} ${peerSession.peerNonce}`,
|
|
71
|
+
keyID: `${requestNonce} ${peerSession.peerNonce ?? ''}`,
|
|
66
72
|
counterparty: peerSession.peerIdentityKey
|
|
67
73
|
});
|
|
68
74
|
const generalMessage = {
|
|
69
75
|
version: AUTH_VERSION,
|
|
70
76
|
messageType: 'general',
|
|
71
|
-
identityKey: (await this.wallet.getPublicKey({ identityKey: true }))
|
|
77
|
+
identityKey: (await this.wallet.getPublicKey({ identityKey: true }))
|
|
78
|
+
.publicKey,
|
|
72
79
|
nonce: requestNonce,
|
|
73
80
|
yourNonce: peerSession.peerNonce,
|
|
74
81
|
payload: message,
|
|
@@ -78,22 +85,22 @@ export class Peer {
|
|
|
78
85
|
await this.transport.send(generalMessage);
|
|
79
86
|
}
|
|
80
87
|
catch (error) {
|
|
81
|
-
const e = new Error(`Failed to send message to peer ${peerSession.peerIdentityKey}: ${error.message}`);
|
|
88
|
+
const e = new Error(`Failed to send message to peer ${peerSession.peerIdentityKey ?? 'unknown'}: ${String(error.message)}`);
|
|
82
89
|
e.stack = error.stack;
|
|
83
90
|
throw e;
|
|
84
91
|
}
|
|
85
92
|
}
|
|
86
93
|
/**
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
94
|
+
* Sends a request for certificates to a peer.
|
|
95
|
+
* This method allows a peer to dynamically request specific certificates after
|
|
96
|
+
* an initial handshake or message has been exchanged.
|
|
97
|
+
*
|
|
98
|
+
* @param {RequestedCertificateSet} certificatesToRequest - Specifies the certifiers and types of certificates required from the peer.
|
|
99
|
+
* @param {string} [identityKey] - The identity public key of the peer. If not provided, the current session identity is used.
|
|
100
|
+
* @param {number} [maxWaitTime=10000] - Maximum time in milliseconds to wait for the peer session to be authenticated.
|
|
101
|
+
* @returns {Promise<void>} Resolves if the certificate request message is successfully sent.
|
|
102
|
+
* @throws Will throw an error if the peer session is not authenticated or if sending the request fails.
|
|
103
|
+
*/
|
|
97
104
|
async requestCertificates(certificatesToRequest, identityKey, maxWaitTime = 10000) {
|
|
98
105
|
const peerSession = await this.getAuthenticatedSession(identityKey, maxWaitTime);
|
|
99
106
|
// Prepare the general message
|
|
@@ -101,13 +108,14 @@ export class Peer {
|
|
|
101
108
|
const { signature } = await this.wallet.createSignature({
|
|
102
109
|
data: Utils.toArray(JSON.stringify(certificatesToRequest), 'utf8'),
|
|
103
110
|
protocolID: [2, 'auth message signature'],
|
|
104
|
-
keyID: `${requestNonce} ${peerSession.peerNonce}`,
|
|
111
|
+
keyID: `${requestNonce} ${peerSession.peerNonce ?? ''}`,
|
|
105
112
|
counterparty: peerSession.peerIdentityKey
|
|
106
113
|
});
|
|
107
114
|
const certRequestMessage = {
|
|
108
115
|
version: AUTH_VERSION,
|
|
109
116
|
messageType: 'certificateRequest',
|
|
110
|
-
identityKey: (await this.wallet.getPublicKey({ identityKey: true }))
|
|
117
|
+
identityKey: (await this.wallet.getPublicKey({ identityKey: true }))
|
|
118
|
+
.publicKey,
|
|
111
119
|
nonce: requestNonce,
|
|
112
120
|
initialNonce: peerSession.sessionNonce,
|
|
113
121
|
yourNonce: peerSession.peerNonce,
|
|
@@ -118,7 +126,7 @@ export class Peer {
|
|
|
118
126
|
await this.transport.send(certRequestMessage);
|
|
119
127
|
}
|
|
120
128
|
catch (error) {
|
|
121
|
-
throw new Error(`Failed to send certificate request message to peer ${peerSession.peerIdentityKey}: ${error.message}`);
|
|
129
|
+
throw new Error(`Failed to send certificate request message to peer ${peerSession.peerIdentityKey ?? 'unknown'}: ${String(error.message)}`);
|
|
122
130
|
}
|
|
123
131
|
}
|
|
124
132
|
/**
|
|
@@ -133,14 +141,16 @@ export class Peer {
|
|
|
133
141
|
* @throws {Error} - Throws an error if the transport is not connected or if the handshake fails.
|
|
134
142
|
*/
|
|
135
143
|
async getAuthenticatedSession(identityKey, maxWaitTime) {
|
|
136
|
-
if (
|
|
144
|
+
if (this.transport === undefined) {
|
|
137
145
|
throw new Error('Peer transport is not connected!');
|
|
138
146
|
}
|
|
139
|
-
let peerSession = identityKey
|
|
140
|
-
|
|
147
|
+
let peerSession = identityKey !== undefined && identityKey !== ''
|
|
148
|
+
? this.sessionManager.getSession(identityKey)
|
|
149
|
+
: undefined;
|
|
150
|
+
if (peerSession === undefined || !peerSession?.isAuthenticated) {
|
|
141
151
|
const sessionNonce = await this.initiateHandshake(identityKey, maxWaitTime);
|
|
142
|
-
peerSession = this.sessionManager.getSession(identityKey
|
|
143
|
-
if (!peerSession.isAuthenticated) {
|
|
152
|
+
peerSession = this.sessionManager.getSession(identityKey !== undefined && identityKey !== '' ? identityKey : sessionNonce);
|
|
153
|
+
if (peerSession === undefined || !peerSession.isAuthenticated) {
|
|
144
154
|
throw new Error('Unable to establish mutual authentication with peer!');
|
|
145
155
|
}
|
|
146
156
|
}
|
|
@@ -220,7 +230,8 @@ export class Peer {
|
|
|
220
230
|
const initialRequest = {
|
|
221
231
|
version: AUTH_VERSION,
|
|
222
232
|
messageType: 'initialRequest',
|
|
223
|
-
identityKey: (await this.wallet.getPublicKey({ identityKey: true }))
|
|
233
|
+
identityKey: (await this.wallet.getPublicKey({ identityKey: true }))
|
|
234
|
+
.publicKey,
|
|
224
235
|
initialNonce: sessionNonce,
|
|
225
236
|
requestedCertificates: this.certificatesToRequest
|
|
226
237
|
};
|
|
@@ -235,7 +246,7 @@ export class Peer {
|
|
|
235
246
|
*/
|
|
236
247
|
async waitForInitialResponse(sessionNonce, maxWaitTime = 10000) {
|
|
237
248
|
return await new Promise((resolve, reject) => {
|
|
238
|
-
const callbackID = this.listenForInitialResponse(sessionNonce,
|
|
249
|
+
const callbackID = this.listenForInitialResponse(sessionNonce, sessionNonce => {
|
|
239
250
|
clearTimeout(timeoutHandle);
|
|
240
251
|
this.stopListeningForInitialResponses(callbackID);
|
|
241
252
|
resolve(sessionNonce);
|
|
@@ -256,7 +267,10 @@ export class Peer {
|
|
|
256
267
|
*/
|
|
257
268
|
listenForInitialResponse(sessionNonce, callback) {
|
|
258
269
|
const callbackID = this.callbackIdCounter++;
|
|
259
|
-
this.onInitialResponseReceivedCallbacks.set(callbackID, {
|
|
270
|
+
this.onInitialResponseReceivedCallbacks.set(callbackID, {
|
|
271
|
+
callback,
|
|
272
|
+
sessionNonce
|
|
273
|
+
});
|
|
260
274
|
return callbackID;
|
|
261
275
|
}
|
|
262
276
|
/**
|
|
@@ -275,7 +289,7 @@ export class Peer {
|
|
|
275
289
|
* @returns {Promise<void>}
|
|
276
290
|
*/
|
|
277
291
|
async handleIncomingMessage(message) {
|
|
278
|
-
if (
|
|
292
|
+
if (message.version === undefined || message.version === '' || message.version !== AUTH_VERSION) {
|
|
279
293
|
console.error(`Invalid message auth version! Received: ${message.version}, expected: ${AUTH_VERSION}`);
|
|
280
294
|
return;
|
|
281
295
|
}
|
|
@@ -296,7 +310,7 @@ export class Peer {
|
|
|
296
310
|
await this.processGeneralMessage(message);
|
|
297
311
|
break;
|
|
298
312
|
default:
|
|
299
|
-
console.error(`Unknown message type of ${message.messageType} from ${message.identityKey}`);
|
|
313
|
+
console.error(`Unknown message type of ${String(message.messageType)} from ${String(message.identityKey)}`);
|
|
300
314
|
}
|
|
301
315
|
}
|
|
302
316
|
/**
|
|
@@ -306,7 +320,7 @@ export class Peer {
|
|
|
306
320
|
* @returns {Promise<void>}
|
|
307
321
|
*/
|
|
308
322
|
async processInitialRequest(message) {
|
|
309
|
-
if (
|
|
323
|
+
if (message.identityKey === undefined || message.identityKey === '' || message.initialNonce === undefined || message.initialNonce === '') {
|
|
310
324
|
throw new Error('Missing required fields in initialResponse message.');
|
|
311
325
|
}
|
|
312
326
|
// Create an initial session nonce
|
|
@@ -319,7 +333,7 @@ export class Peer {
|
|
|
319
333
|
});
|
|
320
334
|
// Handle initial certificate requests
|
|
321
335
|
let certificatesToInclude;
|
|
322
|
-
if (message.requestedCertificates?.certifiers?.length > 0) {
|
|
336
|
+
if (message.requestedCertificates !== undefined && Array.isArray(message.requestedCertificates?.certifiers) && message.requestedCertificates?.certifiers?.length > 0) {
|
|
323
337
|
if (this.onCertificateRequestReceivedCallbacks.size > 0) {
|
|
324
338
|
// The application wants to handle certificate requests
|
|
325
339
|
this.onCertificateRequestReceivedCallbacks.forEach(callback => {
|
|
@@ -341,7 +355,8 @@ export class Peer {
|
|
|
341
355
|
const initialResponseMessage = {
|
|
342
356
|
version: AUTH_VERSION,
|
|
343
357
|
messageType: 'initialResponse',
|
|
344
|
-
identityKey: (await this.wallet.getPublicKey({ identityKey: true }))
|
|
358
|
+
identityKey: (await this.wallet.getPublicKey({ identityKey: true }))
|
|
359
|
+
.publicKey,
|
|
345
360
|
initialNonce: sessionNonce,
|
|
346
361
|
yourNonce: message.initialNonce,
|
|
347
362
|
certificates: certificatesToInclude,
|
|
@@ -349,7 +364,7 @@ export class Peer {
|
|
|
349
364
|
signature
|
|
350
365
|
};
|
|
351
366
|
// For security, only set the last-interacted-with peer here if this is the first peer we've interacted with.
|
|
352
|
-
if (
|
|
367
|
+
if (this.lastInteractedWithPeer === undefined || this.lastInteractedWithPeer === null) {
|
|
353
368
|
this.lastInteractedWithPeer = message.identityKey;
|
|
354
369
|
}
|
|
355
370
|
await this.transport.send(initialResponseMessage);
|
|
@@ -368,15 +383,15 @@ export class Peer {
|
|
|
368
383
|
throw new Error(`Initial response nonce verification failed from peer: ${message.identityKey}`);
|
|
369
384
|
}
|
|
370
385
|
const peerSession = this.sessionManager.getSession(message.yourNonce);
|
|
371
|
-
if (
|
|
386
|
+
if (peerSession === null || peerSession === undefined) {
|
|
372
387
|
throw new Error(`Peer session not found for peer: ${message.identityKey}`);
|
|
373
388
|
}
|
|
374
389
|
// Validate message signature
|
|
375
390
|
const { valid } = await this.wallet.verifySignature({
|
|
376
|
-
data: Utils.toArray(peerSession.sessionNonce + message.initialNonce, 'base64'),
|
|
391
|
+
data: Utils.toArray((peerSession.sessionNonce ?? '') + (message.initialNonce ?? ''), 'base64'),
|
|
377
392
|
signature: message.signature,
|
|
378
393
|
protocolID: [2, 'auth message signature'],
|
|
379
|
-
keyID: `${peerSession.sessionNonce} ${message.initialNonce}`,
|
|
394
|
+
keyID: `${peerSession.sessionNonce ?? ''} ${message.initialNonce ?? ''}`,
|
|
380
395
|
counterparty: message.identityKey
|
|
381
396
|
});
|
|
382
397
|
if (!valid) {
|
|
@@ -391,18 +406,22 @@ export class Peer {
|
|
|
391
406
|
// Run update to ensure lookup is available by both peerIdentityKey and sessionNonce
|
|
392
407
|
this.sessionManager.updateSession(peerSession);
|
|
393
408
|
// Process certificates received
|
|
394
|
-
if (this.certificatesToRequest?.certifiers?.length
|
|
409
|
+
if ((this.certificatesToRequest?.certifiers?.length ?? 0) > 0 &&
|
|
410
|
+
(message.certificates !== null && message.certificates !== undefined && message.certificates.length > 0)) {
|
|
395
411
|
await validateCertificates(this.wallet, message, this.certificatesToRequest);
|
|
396
|
-
|
|
412
|
+
const messageCertificates = message.certificates;
|
|
413
|
+
if (message.certificates !== undefined) {
|
|
414
|
+
this.onCertificatesReceivedCallbacks.forEach(callback => callback(message.identityKey, messageCertificates));
|
|
415
|
+
}
|
|
397
416
|
}
|
|
398
417
|
this.lastInteractedWithPeer = message.identityKey;
|
|
399
|
-
this.onInitialResponseReceivedCallbacks.forEach(
|
|
400
|
-
if (entry
|
|
418
|
+
this.onInitialResponseReceivedCallbacks.forEach(entry => {
|
|
419
|
+
if (entry?.sessionNonce === peerSession.sessionNonce) {
|
|
401
420
|
entry.callback(peerSession.sessionNonce);
|
|
402
421
|
}
|
|
403
422
|
});
|
|
404
423
|
// Check if the peer requested certificates from us
|
|
405
|
-
if (message.requestedCertificates?.certifiers?.length > 0) {
|
|
424
|
+
if (message.requestedCertificates !== undefined && Array.isArray(message.requestedCertificates?.certifiers) && message.requestedCertificates?.certifiers?.length > 0) {
|
|
406
425
|
if (this.onCertificateRequestReceivedCallbacks.size > 0) {
|
|
407
426
|
// Application wants to handle certificate requests
|
|
408
427
|
this.onCertificateRequestReceivedCallbacks.forEach(callback => {
|
|
@@ -434,13 +453,13 @@ export class Peer {
|
|
|
434
453
|
data: Utils.toArray(JSON.stringify(message.requestedCertificates), 'utf8'),
|
|
435
454
|
signature: message.signature,
|
|
436
455
|
protocolID: [2, 'auth message signature'],
|
|
437
|
-
keyID: `${message.nonce} ${peerSession
|
|
438
|
-
counterparty: peerSession
|
|
456
|
+
keyID: `${message.nonce ?? ''} ${peerSession?.sessionNonce ?? ''}`,
|
|
457
|
+
counterparty: peerSession?.peerIdentityKey
|
|
439
458
|
});
|
|
440
459
|
if (!valid) {
|
|
441
|
-
throw new Error(`Invalid signature in certificate request message from ${peerSession
|
|
460
|
+
throw new Error(`Invalid signature in certificate request message from ${peerSession?.peerIdentityKey ?? 'unknown'}`);
|
|
442
461
|
}
|
|
443
|
-
if (message.requestedCertificates?.certifiers?.length > 0) {
|
|
462
|
+
if (message.requestedCertificates !== undefined && Array.isArray(message.requestedCertificates?.certifiers) && message.requestedCertificates?.certifiers?.length > 0) {
|
|
444
463
|
if (this.onCertificateRequestReceivedCallbacks.size > 0) {
|
|
445
464
|
// Application wants to handle certificate requests
|
|
446
465
|
this.onCertificateRequestReceivedCallbacks.forEach(callback => {
|
|
@@ -469,13 +488,14 @@ export class Peer {
|
|
|
469
488
|
const { signature } = await this.wallet.createSignature({
|
|
470
489
|
data: Utils.toArray(JSON.stringify(certificates), 'utf8'),
|
|
471
490
|
protocolID: [2, 'auth message signature'],
|
|
472
|
-
keyID: `${requestNonce} ${peerSession.peerNonce}`,
|
|
491
|
+
keyID: `${requestNonce} ${peerSession.peerNonce ?? ''}`,
|
|
473
492
|
counterparty: peerSession.peerIdentityKey
|
|
474
493
|
});
|
|
475
494
|
const certificateResponse = {
|
|
476
495
|
version: AUTH_VERSION,
|
|
477
496
|
messageType: 'certificateResponse',
|
|
478
|
-
identityKey: (await this.wallet.getPublicKey({ identityKey: true }))
|
|
497
|
+
identityKey: (await this.wallet.getPublicKey({ identityKey: true }))
|
|
498
|
+
.publicKey,
|
|
479
499
|
nonce: requestNonce,
|
|
480
500
|
initialNonce: peerSession.sessionNonce,
|
|
481
501
|
yourNonce: peerSession.peerNonce,
|
|
@@ -486,7 +506,8 @@ export class Peer {
|
|
|
486
506
|
await this.transport.send(certificateResponse);
|
|
487
507
|
}
|
|
488
508
|
catch (error) {
|
|
489
|
-
|
|
509
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
510
|
+
throw new Error(`Failed to send certificate response message to peer ${peerSession.peerIdentityKey ?? 'unknown'}: ${errorMessage}`);
|
|
490
511
|
}
|
|
491
512
|
}
|
|
492
513
|
/**
|
|
@@ -508,7 +529,7 @@ export class Peer {
|
|
|
508
529
|
data: Utils.toArray(JSON.stringify(message.certificates), 'utf8'),
|
|
509
530
|
signature: message.signature,
|
|
510
531
|
protocolID: [2, 'auth message signature'],
|
|
511
|
-
keyID: `${message.nonce} ${peerSession
|
|
532
|
+
keyID: `${message.nonce ?? ''} ${peerSession?.sessionNonce ?? ''}`,
|
|
512
533
|
counterparty: message.identityKey
|
|
513
534
|
});
|
|
514
535
|
if (!valid) {
|
|
@@ -538,11 +559,11 @@ export class Peer {
|
|
|
538
559
|
data: message.payload,
|
|
539
560
|
signature: message.signature,
|
|
540
561
|
protocolID: [2, 'auth message signature'],
|
|
541
|
-
keyID: `${message.nonce} ${peerSession
|
|
542
|
-
counterparty: peerSession
|
|
562
|
+
keyID: `${message.nonce ?? ''} ${peerSession?.sessionNonce ?? ''}`,
|
|
563
|
+
counterparty: peerSession?.peerIdentityKey
|
|
543
564
|
});
|
|
544
565
|
if (!valid) {
|
|
545
|
-
throw new Error(`Invalid signature in generalMessage from ${peerSession
|
|
566
|
+
throw new Error(`Invalid signature in generalMessage from ${peerSession?.peerIdentityKey ?? 'unknown'}`);
|
|
546
567
|
}
|
|
547
568
|
this.lastInteractedWithPeer = message.identityKey;
|
|
548
569
|
this.onGeneralMessageReceivedCallbacks.forEach(callback => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Peer.js","sourceRoot":"","sources":["../../../../src/auth/Peer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Peer.js","sourceRoot":"","sources":["../../../../src/auth/Peer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EACL,WAAW,EACX,WAAW,EACX,yBAAyB,EACzB,oBAAoB,EACrB,MAAM,kBAAkB,CAAA;AAQzB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAmB,MAAM,cAAc,CAAA;AAE7D,MAAM,YAAY,GAAG,KAAK,CAAA;AAE1B;;;;GAIG;AACH,MAAM,OAAO,IAAI;IACR,cAAc,CAAgB;IACpB,SAAS,CAAW;IACpB,MAAM,CAAiB;IACxC,qBAAqB,CAAyB;IAC7B,iCAAiC,GAG9C,IAAI,GAAG,EAAE,CAAA;IAEI,+BAA+B,GAG5C,IAAI,GAAG,EAAE,CAAA;IAEI,qCAAqC,GAMlD,IAAI,GAAG,EAAE,CAAA;IAEI,kCAAkC,GAG/C,IAAI,GAAG,EAAE,CAAA;IAEb,+CAA+C;IACvC,iBAAiB,GAAW,CAAC,CAAA;IAErC,yEAAyE;IACxD,sBAAsB,GAAY,IAAI,CAAA;IAEvD,yCAAyC;IACjC,sBAAsB,CAAoB;IAElD;;;;;;;;OAQG;IACH,YACE,MAAuB,EACvB,SAAoB,EACpB,qBAA+C,EAC/C,cAA+B,EAC/B,sBAAgC;QAEhC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,IAAI;YACpD,UAAU,EAAE,EAAE;YACd,KAAK,EAAE,EAAE;SACV,CAAA;QACD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACjF,IAAI,CAAC,cAAc,GAAG,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,cAAc,EAAE,CAAA;QACpF,IAAI,sBAAsB,KAAK,KAAK,EAAE;YACpC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAA;SACpC;aAAM;YACL,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAA;SACnC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CACV,OAAiB,EACjB,WAAoB,EACpB,WAAoB;QAEpB,IACE,IAAI,CAAC,sBAAsB;YAC3B,IAAI,CAAC,sBAAsB,KAAK,SAAS;YACzC,IAAI,CAAC,sBAAsB,KAAK,IAAI;YACpC,OAAO,WAAW,KAAK,QAAQ,EAC/B;YACA,WAAW,GAAG,IAAI,CAAC,sBAAsB,CAAA;SAC1C;QACD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,uBAAuB,CACpD,WAAW,EACX,WAAW,CACZ,CAAA;QAED,8BAA8B;QAC9B,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;QAC/C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;YACtD,IAAI,EAAE,OAAO;YACb,UAAU,EAAE,CAAC,CAAC,EAAE,wBAAwB,CAAC;YACzC,KAAK,EAAE,GAAG,YAAY,IAAI,WAAW,CAAC,SAAS,IAAI,EAAE,EAAE;YACvD,YAAY,EAAE,WAAW,CAAC,eAAe;SAC1C,CAAC,CAAA;QAEF,MAAM,cAAc,GAAgB;YAClC,OAAO,EAAE,YAAY;YACrB,WAAW,EAAE,SAAS;YACtB,WAAW,EAAE,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;iBACjE,SAAS;YACZ,KAAK,EAAE,YAAY;YACnB,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,OAAO,EAAE,OAAO;YAChB,SAAS;SACV,CAAA;QAED,IAAI;YACF,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;SAC1C;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,CAAC,GAAG,IAAI,KAAK,CACjB,kCAAkC,WAAW,CAAC,eAAe,IAAI,SAAS,KAAK,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CACvG,CAAA;YACD,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;YACrB,MAAM,CAAC,CAAA;SACR;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,mBAAmB,CACvB,qBAA8C,EAC9C,WAAoB,EACpB,WAAW,GAAG,KAAK;QAEnB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,uBAAuB,CACpD,WAAW,EACX,WAAW,CACZ,CAAA;QAED,8BAA8B;QAC9B,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;QAC/C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;YACtD,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;YAClE,UAAU,EAAE,CAAC,CAAC,EAAE,wBAAwB,CAAC;YACzC,KAAK,EAAE,GAAG,YAAY,IAAI,WAAW,CAAC,SAAS,IAAI,EAAE,EAAE;YACvD,YAAY,EAAE,WAAW,CAAC,eAAe;SAC1C,CAAC,CAAA;QAEF,MAAM,kBAAkB,GAAgB;YACtC,OAAO,EAAE,YAAY;YACrB,WAAW,EAAE,oBAAoB;YACjC,WAAW,EAAE,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;iBACjE,SAAS;YACZ,KAAK,EAAE,YAAY;YACnB,YAAY,EAAE,WAAW,CAAC,YAAY;YACtC,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,qBAAqB,EAAE,qBAAqB;YAC5C,SAAS;SACV,CAAA;QAED,IAAI;YACF,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;SAC9C;QAAC,OAAO,KAAU,EAAE;YACnB,MAAM,IAAI,KAAK,CACb,sDAAsD,WAAW,CAAC,eAAe,IAAI,SAAS,KAAK,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAC3H,CAAA;SACF;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,uBAAuB,CAC3B,WAAoB,EACpB,WAAoB;QAEpB,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;SACpD;QAED,IAAI,WAAW,GAAG,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,EAAE;YAC/D,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC;YAC7C,CAAC,CAAC,SAAS,CAAA;QACb,IAAI,WAAW,KAAK,SAAS,IAAI,CAAC,WAAW,EAAE,eAAe,EAAE;YAC9D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAC/C,WAAW,EACX,WAAW,CACZ,CAAA;YACD,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;YAC1H,IAAI,WAAW,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE;gBAC7D,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;aACxE;SACF;QAED,OAAO,WAAW,CAAA;IACpB,CAAC;IAED;;;;;OAKG;IACH,wBAAwB,CACtB,QAA8D;QAE9D,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAC3C,IAAI,CAAC,iCAAiC,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAChE,OAAO,UAAU,CAAA;IACnB,CAAC;IAED;;;;OAIG;IACH,+BAA+B,CAAE,UAAkB;QACjD,IAAI,CAAC,iCAAiC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IAC3D,CAAC;IAED;;;;;OAKG;IACH,6BAA6B,CAC3B,QAA2E;QAE3E,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAC3C,IAAI,CAAC,+BAA+B,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAC9D,OAAO,UAAU,CAAA;IACnB,CAAC;IAED;;;;OAIG;IACH,oCAAoC,CAAE,UAAkB;QACtD,IAAI,CAAC,+BAA+B,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IACzD,CAAC;IAED;;;;;OAKG;IACH,8BAA8B,CAC5B,QAGS;QAET,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAC3C,IAAI,CAAC,qCAAqC,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QACpE,OAAO,UAAU,CAAA;IACnB,CAAC;IAED;;;;OAIG;IACH,qCAAqC,CAAE,UAAkB;QACvD,IAAI,CAAC,qCAAqC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IAC/D,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,iBAAiB,CAC7B,WAAoB,EACpB,WAAW,GAAG,KAAK;QAEnB,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA,CAAC,wBAAwB;QAC5E,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC;YAC7B,eAAe,EAAE,KAAK;YACtB,YAAY;YACZ,eAAe,EAAE,WAAW;SAC7B,CAAC,CAAA;QAEF,MAAM,cAAc,GAAgB;YAClC,OAAO,EAAE,YAAY;YACrB,WAAW,EAAE,gBAAgB;YAC7B,WAAW,EAAE,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;iBACjE,SAAS;YACZ,YAAY,EAAE,YAAY;YAC1B,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;SAClD,CAAA;QAED,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QACzC,OAAO,MAAM,IAAI,CAAC,sBAAsB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;IACrE,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,sBAAsB,CAClC,YAAoB,EACpB,WAAW,GAAG,KAAK;QAEnB,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAC9C,YAAY,EACZ,YAAY,CAAC,EAAE;gBACb,YAAY,CAAC,aAAa,CAAC,CAAA;gBAC3B,IAAI,CAAC,gCAAgC,CAAC,UAAU,CAAC,CAAA;gBACjD,OAAO,CAAC,YAAY,CAAC,CAAA;YACvB,CAAC,CACF,CAAA;YAED,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;gBACpC,IAAI,CAAC,gCAAgC,CAAC,UAAU,CAAC,CAAA;gBACjD,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAA;YAClD,CAAC,EAAE,WAAW,CAAC,CAAA;QACjB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;OAOG;IACK,wBAAwB,CAC9B,YAAoB,EACpB,QAAwC;QAExC,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAC3C,IAAI,CAAC,kCAAkC,CAAC,GAAG,CAAC,UAAU,EAAE;YACtD,QAAQ;YACR,YAAY;SACb,CAAC,CAAA;QACF,OAAO,UAAU,CAAA;IACnB,CAAC;IAED;;;;;OAKG;IACK,gCAAgC,CAAE,UAAkB;QAC1D,IAAI,CAAC,kCAAkC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IAC5D,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,qBAAqB,CAAE,OAAoB;QACvD,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO,KAAK,EAAE,IAAI,OAAO,CAAC,OAAO,KAAK,YAAY,EAAE;YAC/F,OAAO,CAAC,KAAK,CACX,2CAA2C,OAAO,CAAC,OAAO,eAAe,YAAY,EAAE,CACxF,CAAA;YACD,OAAM;SACP;QAED,QAAQ,OAAO,CAAC,WAAW,EAAE;YAC3B,KAAK,gBAAgB;gBACnB,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAA;gBACzC,MAAK;YACP,KAAK,iBAAiB;gBACpB,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAA;gBAC1C,MAAK;YACP,KAAK,oBAAoB;gBACvB,MAAM,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAA;gBAC7C,MAAK;YACP,KAAK,qBAAqB;gBACxB,MAAM,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAA;gBAC9C,MAAK;YACP,KAAK,SAAS;gBACZ,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAA;gBACzC,MAAK;YACP;gBACE,OAAO,CAAC,KAAK,CACX,2BAA2B,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAC7F,CAAA;SACJ;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,qBAAqB,CAAE,OAAoB;QAC/C,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,OAAO,CAAC,WAAW,KAAK,EAAE,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,IAAI,OAAO,CAAC,YAAY,KAAK,EAAE,EAAE;YACxI,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;SACvE;QAED,kCAAkC;QAClC,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACnD,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC;YAC7B,eAAe,EAAE,IAAI;YACrB,YAAY;YACZ,SAAS,EAAE,OAAO,CAAC,YAAY;YAC/B,eAAe,EAAE,OAAO,CAAC,WAAW;SACrC,CAAC,CAAA;QAEF,sCAAsC;QACtC,IAAI,qBAAqB,CAAA;QACzB,IAAI,OAAO,CAAC,qBAAqB,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,UAAU,CAAC,IAAI,OAAO,CAAC,qBAAqB,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC,EAAE;YACpK,IAAI,IAAI,CAAC,qCAAqC,CAAC,IAAI,GAAG,CAAC,EAAE;gBACvD,uDAAuD;gBACvD,IAAI,CAAC,qCAAqC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBAC5D,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,qBAAgD,CAAC,CAAA;gBACzF,CAAC,CAAC,CAAA;aACH;iBAAM;gBACL,0FAA0F;gBAC1F,qBAAqB,GAAG,MAAM,yBAAyB,CACrD,IAAI,CAAC,MAAM,EACX,OAAO,CAAC,qBAAqB,EAC7B,OAAO,CAAC,WAAW,CACpB,CAAA;aACF;SACF;QAED,uCAAuC;QACvC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;YACtD,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,GAAG,YAAY,EAAE,QAAQ,CAAC;YAClE,UAAU,EAAE,CAAC,CAAC,EAAE,wBAAwB,CAAC;YACzC,KAAK,EAAE,GAAG,OAAO,CAAC,YAAY,IAAI,YAAY,EAAE;YAChD,YAAY,EAAE,OAAO,CAAC,WAAW;SAClC,CAAC,CAAA;QAEF,MAAM,sBAAsB,GAAgB;YAC1C,OAAO,EAAE,YAAY;YACrB,WAAW,EAAE,iBAAiB;YAC9B,WAAW,EAAE,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;iBACjE,SAAS;YACZ,YAAY,EAAE,YAAY;YAC1B,SAAS,EAAE,OAAO,CAAC,YAAY;YAC/B,YAAY,EAAE,qBAAqB;YACnC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,SAAS;SACV,CAAA;QAED,6GAA6G;QAC7G,IAAI,IAAI,CAAC,sBAAsB,KAAK,SAAS,IAAI,IAAI,CAAC,sBAAsB,KAAK,IAAI,EAAE;YACrF,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC,WAAW,CAAA;SAClD;QAED,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;IACnD,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,sBAAsB,CAAE,OAAoB;QACxD,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,SAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAC9E,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,IAAI,KAAK,CACb,yDAAyD,OAAO,CAAC,WAAW,EAAE,CAC/E,CAAA;SACF;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,SAAmB,CAAC,CAAA;QAC/E,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,SAAS,EAAE;YACrD,MAAM,IAAI,KAAK,CAAC,oCAAoC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAA;SAC3E;QAED,6BAA6B;QAC7B,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;YAClD,IAAI,EAAE,KAAK,CAAC,OAAO,CACjB,CAAC,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC,EAC/D,QAAQ,CACT;YACD,SAAS,EAAE,OAAO,CAAC,SAAqB;YACxC,UAAU,EAAE,CAAC,CAAC,EAAE,wBAAwB,CAAC;YACzC,KAAK,EAAE,GAAG,WAAW,CAAC,YAAY,IAAI,EAAE,IAAI,OAAO,CAAC,YAAY,IAAI,EAAE,EAAE;YACxE,YAAY,EAAE,OAAO,CAAC,WAAW;SAClC,CAAC,CAAA;QACF,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CACb,yDAAyD,OAAO,CAAC,WAAW,EAAE,CAC/E,CAAA;SACF;QAED,2FAA2F;QAC3F,iDAAiD;QACjD,+DAA+D;QAC/D,WAAW,CAAC,SAAS,GAAG,OAAO,CAAC,YAAY,CAAA;QAC5C,WAAW,CAAC,eAAe,GAAG,OAAO,CAAC,WAAW,CAAA;QACjD,WAAW,CAAC,eAAe,GAAG,IAAI,CAAA;QAClC,oFAAoF;QACpF,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;QAE9C,gCAAgC;QAChC,IACE,CAAC,IAAI,CAAC,qBAAqB,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;YACzD,CAAC,OAAO,CAAC,YAAY,KAAK,IAAI,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,EACxG;YACA,MAAM,oBAAoB,CACxB,IAAI,CAAC,MAAM,EACX,OAAO,EACP,IAAI,CAAC,qBAAqB,CAC3B,CAAA;YAED,MAAM,mBAAmB,GAAG,OAAO,CAAC,YAAY,CAAA;YAChD,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE;gBACtC,IAAI,CAAC,+BAA+B,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CACtD,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,mBAAmB,CAAC,CACnD,CAAA;aACF;SACF;QAED,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC,WAAW,CAAA;QAEjD,IAAI,CAAC,kCAAkC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACtD,IAAI,KAAK,EAAE,YAAY,KAAK,WAAW,CAAC,YAAY,EAAE;gBACpD,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;aACzC;QACH,CAAC,CAAC,CAAA;QAEF,mDAAmD;QACnD,IAAI,OAAO,CAAC,qBAAqB,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,UAAU,CAAC,IAAI,OAAO,CAAC,qBAAqB,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC,EAAE;YACpK,IAAI,IAAI,CAAC,qCAAqC,CAAC,IAAI,GAAG,CAAC,EAAE;gBACvD,mDAAmD;gBACnD,IAAI,CAAC,qCAAqC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBAC5D,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,qBAAgD,CAAC,CAAA;gBACzF,CAAC,CAAC,CAAA;aACH;iBAAM;gBACL,4FAA4F;gBAC5F,MAAM,sBAAsB,GAAG,MAAM,yBAAyB,CAC5D,IAAI,CAAC,MAAM,EACX,OAAO,CAAC,qBAAqB,EAC7B,OAAO,CAAC,WAAW,CACpB,CAAA;gBACD,MAAM,IAAI,CAAC,uBAAuB,CAChC,OAAO,CAAC,WAAW,EACnB,sBAAsB,CACvB,CAAA;aACF;SACF;IACH,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,yBAAyB,CAAE,OAAoB;QAC3D,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,SAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAC9E,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,IAAI,KAAK,CACb,gEAAgE,OAAO,CAAC,WAAW,EAAE,CACtF,CAAA;SACF;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,SAAmB,CAAC,CAAA;QAE/E,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;YAClD,IAAI,EAAE,KAAK,CAAC,OAAO,CACjB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAC7C,MAAM,CACP;YACD,SAAS,EAAE,OAAO,CAAC,SAAqB;YACxC,UAAU,EAAE,CAAC,CAAC,EAAE,wBAAwB,CAAC;YACzC,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,IAAI,WAAW,EAAE,YAAY,IAAI,EAAE,EAAE;YAClE,YAAY,EAAE,WAAW,EAAE,eAAe;SAC3C,CAAC,CAAA;QAEF,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CACb,yDAAyD,WAAW,EAAE,eAAe,IAAI,SAAS,EAAE,CACrG,CAAA;SACF;QAED,IAAI,OAAO,CAAC,qBAAqB,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,UAAU,CAAC,IAAI,OAAO,CAAC,qBAAqB,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC,EAAE;YACpK,IAAI,IAAI,CAAC,qCAAqC,CAAC,IAAI,GAAG,CAAC,EAAE;gBACvD,mDAAmD;gBACnD,IAAI,CAAC,qCAAqC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBAC5D,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,qBAAgD,CAAC,CAAA;gBACzF,CAAC,CAAC,CAAA;aACH;iBAAM;gBACL,4FAA4F;gBAC5F,MAAM,sBAAsB,GAAG,MAAM,yBAAyB,CAC5D,IAAI,CAAC,MAAM,EACX,OAAO,CAAC,qBAAqB,EAC7B,OAAO,CAAC,WAAW,CACpB,CAAA;gBACD,MAAM,IAAI,CAAC,uBAAuB,CAChC,OAAO,CAAC,WAAW,EACnB,sBAAsB,CACvB,CAAA;aACF;SACF;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,uBAAuB,CAC3B,mBAA2B,EAC3B,YAAqC;QAErC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,CAAA;QAC3E,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;QAC/C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;YACtD,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;YACzD,UAAU,EAAE,CAAC,CAAC,EAAE,wBAAwB,CAAC;YACzC,KAAK,EAAE,GAAG,YAAY,IAAI,WAAW,CAAC,SAAS,IAAI,EAAE,EAAE;YACvD,YAAY,EAAE,WAAW,CAAC,eAAe;SAC1C,CAAC,CAAA;QAEF,MAAM,mBAAmB,GAAgB;YACvC,OAAO,EAAE,YAAY;YACrB,WAAW,EAAE,qBAAqB;YAClC,WAAW,EAAE,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;iBACjE,SAAS;YACZ,KAAK,EAAE,YAAY;YACnB,YAAY,EAAE,WAAW,CAAC,YAAY;YACtC,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,YAAY;YACZ,SAAS;SACV,CAAA;QAED,IAAI;YACF,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;SAC/C;QAAC,OAAO,KAAU,EAAE;YACnB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAC3E,MAAM,IAAI,KAAK,CACb,uDAAuD,WAAW,CAAC,eAAe,IAAI,SAAS,KAAK,YAAY,EAAE,CACnH,CAAA;SACF;IACH,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,0BAA0B,CAAE,OAAoB;QAC5D,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,SAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAC9E,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,IAAI,KAAK,CACb,yDAAyD,OAAO,CAAC,WAAW,GAAG,CAChF,CAAA;SACF;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,SAAmB,CAAC,CAAA;QAE/E,6BAA6B;QAC7B,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;YAClD,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;YACjE,SAAS,EAAE,OAAO,CAAC,SAAqB;YACxC,UAAU,EAAE,CAAC,CAAC,EAAE,wBAAwB,CAAC;YACzC,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,IAAI,WAAW,EAAE,YAAY,IAAI,EAAE,EAAE;YAClE,YAAY,EAAE,OAAO,CAAC,WAAW;SAClC,CAAC,CAAA;QAEF,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CACb,6DAA6D,OAAO,CAAC,WAAW,EAAE,CACnF,CAAA;SACF;QAED,+CAA+C;QAC/C,MAAM,oBAAoB,CACxB,IAAI,CAAC,MAAM,EACX,OAAO,EACP,OAAO,CAAC,qBAAqB,CAC9B,CAAA;QAED,IAAI,CAAC,+BAA+B,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACtD,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,YAAuC,CAAC,CAAA;QAChF,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,qBAAqB,CAAE,OAAoB;QACvD,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,SAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAC9E,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,IAAI,KAAK,CACb,oDAAoD,OAAO,CAAC,WAAW,EAAE,CAC1E,CAAA;SACF;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,SAAmB,CAAC,CAAA;QAE/E,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;YAClD,IAAI,EAAE,OAAO,CAAC,OAAO;YACrB,SAAS,EAAE,OAAO,CAAC,SAAqB;YACxC,UAAU,EAAE,CAAC,CAAC,EAAE,wBAAwB,CAAC;YACzC,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,IAAI,WAAW,EAAE,YAAY,IAAI,EAAE,EAAE;YAClE,YAAY,EAAE,WAAW,EAAE,eAAe;SAC3C,CAAC,CAAA;QAEF,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CACb,4CAA4C,WAAW,EAAE,eAAe,IAAI,SAAS,EAAE,CACxF,CAAA;SACF;QAED,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC,WAAW,CAAA;QAEjD,IAAI,CAAC,iCAAiC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACxD,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,OAAmB,CAAC,CAAA;QAC5D,CAAC,CAAC,CAAA;IACJ,CAAC;CACF"}
|
|
@@ -13,21 +13,22 @@ export class SessionManager {
|
|
|
13
13
|
* @param {PeerSession} session - The peer session to add.
|
|
14
14
|
*/
|
|
15
15
|
addSession(session) {
|
|
16
|
-
if (
|
|
16
|
+
if ((session.sessionNonce === null || session.sessionNonce === undefined || session.sessionNonce === '') &&
|
|
17
|
+
(session.peerIdentityKey === null || session.peerIdentityKey === undefined || session.peerIdentityKey === '')) {
|
|
17
18
|
throw new Error('Invalid session: at least one of sessionNonce or peerIdentityKey is required.');
|
|
18
19
|
}
|
|
19
|
-
if (session.sessionNonce) {
|
|
20
|
+
if (session.sessionNonce !== null && session.sessionNonce !== undefined && session.sessionNonce !== '') {
|
|
20
21
|
this.identifierToSession.set(session.sessionNonce, session);
|
|
21
22
|
}
|
|
22
|
-
if (session.peerIdentityKey) {
|
|
23
|
+
if (session.peerIdentityKey !== null && session.peerIdentityKey !== undefined && session.peerIdentityKey !== '') {
|
|
23
24
|
this.identifierToSession.set(session.peerIdentityKey, session);
|
|
24
25
|
}
|
|
25
26
|
}
|
|
26
27
|
/**
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
* Updates a session in the manager, ensuring that all identifiers are correctly associated.
|
|
29
|
+
*
|
|
30
|
+
* @param {PeerSession} session - The peer session to update.
|
|
31
|
+
*/
|
|
31
32
|
updateSession(session) {
|
|
32
33
|
this.removeSession(session);
|
|
33
34
|
this.addSession(session);
|
|
@@ -47,8 +48,12 @@ export class SessionManager {
|
|
|
47
48
|
* @param {PeerSession} session - The peer session to remove.
|
|
48
49
|
*/
|
|
49
50
|
removeSession(session) {
|
|
50
|
-
|
|
51
|
-
|
|
51
|
+
if (session.sessionNonce !== null && session.sessionNonce !== undefined && session.sessionNonce !== '') {
|
|
52
|
+
this.identifierToSession.delete(session.sessionNonce);
|
|
53
|
+
}
|
|
54
|
+
if (session.peerIdentityKey !== null && session.peerIdentityKey !== undefined && session.peerIdentityKey !== '') {
|
|
55
|
+
this.identifierToSession.delete(session.peerIdentityKey);
|
|
56
|
+
}
|
|
52
57
|
}
|
|
53
58
|
/**
|
|
54
59
|
* Checks if a session exists based on a given identifier.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionManager.js","sourceRoot":"","sources":["../../../../src/auth/SessionManager.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,OAAO,cAAc;IACR,mBAAmB,CAA0B;IAE9D;QACE,IAAI,CAAC,mBAAmB,GAAG,IAAI,GAAG,EAAuB,CAAA;IAC3D,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAE,OAAoB;QAC9B,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"SessionManager.js","sourceRoot":"","sources":["../../../../src/auth/SessionManager.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,OAAO,cAAc;IACR,mBAAmB,CAA0B;IAE9D;QACE,IAAI,CAAC,mBAAmB,GAAG,IAAI,GAAG,EAAuB,CAAA;IAC3D,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAE,OAAoB;QAC9B,IAAI,CAAC,OAAO,CAAC,YAAY,KAAK,IAAI,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,IAAI,OAAO,CAAC,YAAY,KAAK,EAAE,CAAC;YACtG,CAAC,OAAO,CAAC,eAAe,KAAK,IAAI,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,IAAI,OAAO,CAAC,eAAe,KAAK,EAAE,CAAC,EAAE;YAC/G,MAAM,IAAI,KAAK,CACb,+EAA+E,CAChF,CAAA;SACF;QAED,IAAI,OAAO,CAAC,YAAY,KAAK,IAAI,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,IAAI,OAAO,CAAC,YAAY,KAAK,EAAE,EAAE;YACtG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;SAC5D;QACD,IAAI,OAAO,CAAC,eAAe,KAAK,IAAI,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,IAAI,OAAO,CAAC,eAAe,KAAK,EAAE,EAAE;YAC/G,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;SAC/D;IACH,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAE,OAAoB;QACjC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QAC3B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IAC1B,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAE,UAAkB;QAC5B,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACjD,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAE,OAAoB;QACjC,IAAI,OAAO,CAAC,YAAY,KAAK,IAAI,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,IAAI,OAAO,CAAC,YAAY,KAAK,EAAE,EAAE;YACtG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;SACtD;QACD,IAAI,OAAO,CAAC,eAAe,KAAK,IAAI,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,IAAI,OAAO,CAAC,eAAe,KAAK,EAAE,EAAE;YAC/G,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;SACzD;IACH,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAE,UAAkB;QAC5B,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACjD,CAAC;CACF"}
|
|
@@ -31,7 +31,7 @@ export default class Certificate {
|
|
|
31
31
|
fields;
|
|
32
32
|
/**
|
|
33
33
|
* Certificate signature by the certifier's private key, DER encoded hex string.
|
|
34
|
-
|
|
34
|
+
*/
|
|
35
35
|
signature;
|
|
36
36
|
/**
|
|
37
37
|
* Constructs a new Certificate.
|
|
@@ -94,8 +94,8 @@ export default class Certificate {
|
|
|
94
94
|
writer.write(fieldValueBytes);
|
|
95
95
|
}
|
|
96
96
|
// Write signature if included
|
|
97
|
-
if (includeSignature && this.signature
|
|
98
|
-
const signatureBytes = Utils.toArray(this.signature, 'hex');
|
|
97
|
+
if (includeSignature && (this.signature ?? '').length > 0) { // ✅ Explicitly handle nullish signature
|
|
98
|
+
const signatureBytes = Utils.toArray(this.signature, 'hex'); // ✅ Type assertion ensures it's a string
|
|
99
99
|
writer.write(signatureBytes);
|
|
100
100
|
}
|
|
101
101
|
return writer.toArray();
|
|
@@ -157,8 +157,9 @@ export default class Certificate {
|
|
|
157
157
|
// A verifier can be any wallet capable of verifying signatures
|
|
158
158
|
const verifier = new ProtoWallet('anyone');
|
|
159
159
|
const verificationData = this.toBinary(false); // Exclude the signature from the verification data
|
|
160
|
+
const signatureHex = this.signature ?? ''; // Provide a fallback value (empty string)
|
|
160
161
|
const { valid } = await verifier.verifySignature({
|
|
161
|
-
signature: Utils.toArray(
|
|
162
|
+
signature: Utils.toArray(signatureHex, 'hex'),
|
|
162
163
|
data: verificationData,
|
|
163
164
|
protocolID: [2, 'certificate signature'],
|
|
164
165
|
keyID: `${this.type} ${this.serialNumber}`,
|
|
@@ -167,13 +168,13 @@ export default class Certificate {
|
|
|
167
168
|
return valid;
|
|
168
169
|
}
|
|
169
170
|
/**
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
171
|
+
* Signs the certificate using the provided certifier wallet.
|
|
172
|
+
*
|
|
173
|
+
* @param {Wallet} certifierWallet - The wallet representing the certifier.
|
|
174
|
+
* @returns {Promise<void>}
|
|
175
|
+
*/
|
|
175
176
|
async sign(certifierWallet) {
|
|
176
|
-
if (this.signature) {
|
|
177
|
+
if (this.signature != null && this.signature.length > 0) { // ✅ Explicitly checking for null/undefined
|
|
177
178
|
throw new Error(`Certificate has already been signed! Signature present: ${this.signature}`);
|
|
178
179
|
}
|
|
179
180
|
// Ensure the certifier declared is the one actually signing
|
|
@@ -196,7 +197,10 @@ export default class Certificate {
|
|
|
196
197
|
* - `keyID` (string): A unique key identifier derived from the serial number and field name.
|
|
197
198
|
*/
|
|
198
199
|
static getCertificateFieldEncryptionDetails(fieldName, serialNumber) {
|
|
199
|
-
return {
|
|
200
|
+
return {
|
|
201
|
+
protocolID: [2, 'certificate field encryption'],
|
|
202
|
+
keyID: `${serialNumber ?? 'unknown'} ${fieldName}`
|
|
203
|
+
};
|
|
200
204
|
}
|
|
201
205
|
}
|
|
202
206
|
//# sourceMappingURL=Certificate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Certificate.js","sourceRoot":"","sources":["../../../../../src/auth/certificates/Certificate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EAML,SAAS,EAET,WAAW,EACZ,MAAM,iBAAiB,CAAA;AAExB;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,WAAW;IAC9B;;OAEG;IACH,IAAI,CAAc;IAElB;;OAEG;IACH,YAAY,CAAc;IAE1B;;OAEG;IACH,OAAO,CAAW;IAElB;;OAEG;IACH,SAAS,CAAW;IAEpB;;OAEG;IACH,kBAAkB,CAAgB;IAElC;;OAEG;IACH,MAAM,CAAwD;IAE9D;;
|
|
1
|
+
{"version":3,"file":"Certificate.js","sourceRoot":"","sources":["../../../../../src/auth/certificates/Certificate.ts"],"names":[],"mappings":"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"}
|