@bsv/sdk 1.3.13 → 1.3.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/mod.js +15 -15
- package/dist/cjs/mod.js.map +1 -1
- package/dist/cjs/package.json +8 -3
- package/dist/cjs/src/auth/Peer.js +71 -61
- package/dist/cjs/src/auth/Peer.js.map +1 -1
- package/dist/cjs/src/auth/SessionManager.js +10 -5
- package/dist/cjs/src/auth/SessionManager.js.map +1 -1
- package/dist/cjs/src/auth/certificates/Certificate.js +33 -30
- package/dist/cjs/src/auth/certificates/Certificate.js.map +1 -1
- package/dist/cjs/src/auth/certificates/MasterCertificate.js +36 -36
- package/dist/cjs/src/auth/certificates/MasterCertificate.js.map +1 -1
- package/dist/cjs/src/auth/certificates/VerifiableCertificate.js +9 -9
- package/dist/cjs/src/auth/certificates/VerifiableCertificate.js.map +1 -1
- package/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js +45 -29
- package/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
- package/dist/cjs/src/auth/certificates/index.js +5 -5
- package/dist/cjs/src/auth/certificates/index.js.map +1 -1
- package/dist/cjs/src/auth/clients/AuthFetch.js +65 -74
- package/dist/cjs/src/auth/clients/AuthFetch.js.map +1 -1
- package/dist/cjs/src/auth/clients/index.js +1 -1
- package/dist/cjs/src/auth/clients/index.js.map +1 -1
- package/dist/cjs/src/auth/index.js +7 -7
- package/dist/cjs/src/auth/index.js.map +1 -1
- package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js +54 -62
- package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
- package/dist/cjs/src/auth/transports/index.js +1 -1
- package/dist/cjs/src/auth/transports/index.js.map +1 -1
- package/dist/cjs/src/auth/utils/createNonce.js +6 -5
- package/dist/cjs/src/auth/utils/createNonce.js.map +1 -1
- package/dist/cjs/src/auth/utils/getVerifiableCertificates.js +2 -2
- package/dist/cjs/src/auth/utils/getVerifiableCertificates.js.map +1 -1
- package/dist/cjs/src/auth/utils/index.js +4 -4
- package/dist/cjs/src/auth/utils/index.js.map +1 -1
- package/dist/cjs/src/auth/utils/validateCertificates.js +7 -4
- package/dist/cjs/src/auth/utils/validateCertificates.js.map +1 -1
- package/dist/cjs/src/auth/utils/verifyNonce.js +5 -4
- package/dist/cjs/src/auth/utils/verifyNonce.js.map +1 -1
- package/dist/cjs/src/compat/BSM.js +16 -26
- package/dist/cjs/src/compat/BSM.js.map +1 -1
- package/dist/cjs/src/compat/ECIES.js +50 -52
- package/dist/cjs/src/compat/ECIES.js.map +1 -1
- package/dist/cjs/src/compat/HD.js +36 -46
- package/dist/cjs/src/compat/HD.js.map +1 -1
- package/dist/cjs/src/compat/Mnemonic.js +30 -39
- package/dist/cjs/src/compat/Mnemonic.js.map +1 -1
- package/dist/cjs/src/compat/Utxo.js +5 -5
- package/dist/cjs/src/compat/Utxo.js.map +1 -1
- package/dist/cjs/src/compat/index.js +16 -26
- package/dist/cjs/src/compat/index.js.map +1 -1
- package/dist/cjs/src/messages/EncryptedMessage.js +14 -14
- package/dist/cjs/src/messages/EncryptedMessage.js.map +1 -1
- package/dist/cjs/src/messages/SignedMessage.js +21 -20
- package/dist/cjs/src/messages/SignedMessage.js.map +1 -1
- package/dist/cjs/src/messages/index.js +9 -19
- package/dist/cjs/src/messages/index.js.map +1 -1
- package/dist/cjs/src/overlay-tools/LookupResolver.js +44 -32
- package/dist/cjs/src/overlay-tools/LookupResolver.js.map +1 -1
- package/dist/cjs/src/overlay-tools/OverlayAdminTokenTemplate.js +12 -12
- package/dist/cjs/src/overlay-tools/OverlayAdminTokenTemplate.js.map +1 -1
- package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js +11 -10
- package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
- package/dist/cjs/src/overlay-tools/index.js +8 -8
- package/dist/cjs/src/overlay-tools/index.js.map +1 -1
- package/dist/cjs/src/primitives/AESGCM.js +6 -5
- package/dist/cjs/src/primitives/AESGCM.js.map +1 -1
- package/dist/cjs/src/primitives/BasePoint.js +2 -2
- package/dist/cjs/src/primitives/BasePoint.js.map +1 -1
- package/dist/cjs/src/primitives/BigNumber.js +5 -4
- package/dist/cjs/src/primitives/BigNumber.js.map +1 -1
- package/dist/cjs/src/primitives/Curve.js +70 -36
- package/dist/cjs/src/primitives/Curve.js.map +1 -1
- package/dist/cjs/src/primitives/DRBG.js +6 -6
- package/dist/cjs/src/primitives/DRBG.js.map +1 -1
- package/dist/cjs/src/primitives/ECDSA.js +71 -55
- package/dist/cjs/src/primitives/ECDSA.js.map +1 -1
- package/dist/cjs/src/primitives/Hash.js +115 -105
- package/dist/cjs/src/primitives/Hash.js.map +1 -1
- package/dist/cjs/src/primitives/JacobianPoint.js +25 -15
- package/dist/cjs/src/primitives/JacobianPoint.js.map +1 -1
- package/dist/cjs/src/primitives/K256.js +2 -2
- package/dist/cjs/src/primitives/K256.js.map +1 -1
- package/dist/cjs/src/primitives/Mersenne.js +4 -4
- package/dist/cjs/src/primitives/Mersenne.js.map +1 -1
- package/dist/cjs/src/primitives/MontgomoryMethod.js +5 -5
- package/dist/cjs/src/primitives/MontgomoryMethod.js.map +1 -1
- package/dist/cjs/src/primitives/Point.js +114 -87
- package/dist/cjs/src/primitives/Point.js.map +1 -1
- package/dist/cjs/src/primitives/Polynomial.js +14 -14
- package/dist/cjs/src/primitives/Polynomial.js.map +1 -1
- package/dist/cjs/src/primitives/PrivateKey.js +48 -58
- package/dist/cjs/src/primitives/PrivateKey.js.map +1 -1
- package/dist/cjs/src/primitives/PublicKey.js +23 -23
- package/dist/cjs/src/primitives/PublicKey.js.map +1 -1
- package/dist/cjs/src/primitives/Random.js +2 -1
- package/dist/cjs/src/primitives/Random.js.map +1 -1
- package/dist/cjs/src/primitives/ReductionContext.js +10 -10
- package/dist/cjs/src/primitives/ReductionContext.js.map +1 -1
- package/dist/cjs/src/primitives/Schnorr.js +8 -8
- package/dist/cjs/src/primitives/Schnorr.js.map +1 -1
- package/dist/cjs/src/primitives/Signature.js +23 -23
- 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 +38 -38
- package/dist/cjs/src/primitives/TransactionSignature.js.map +1 -1
- package/dist/cjs/src/primitives/index.js +34 -44
- package/dist/cjs/src/primitives/index.js.map +1 -1
- package/dist/cjs/src/primitives/utils.js +38 -37
- package/dist/cjs/src/primitives/utils.js.map +1 -1
- package/dist/cjs/src/script/LockingScript.js +2 -2
- package/dist/cjs/src/script/LockingScript.js.map +1 -1
- package/dist/cjs/src/script/OP.js +3 -3
- package/dist/cjs/src/script/OP.js.map +1 -1
- package/dist/cjs/src/script/Script.js +47 -47
- package/dist/cjs/src/script/Script.js.map +1 -1
- package/dist/cjs/src/script/Spend.js +304 -311
- package/dist/cjs/src/script/Spend.js.map +1 -1
- package/dist/cjs/src/script/UnlockingScript.js +2 -2
- package/dist/cjs/src/script/UnlockingScript.js.map +1 -1
- package/dist/cjs/src/script/index.js +11 -11
- package/dist/cjs/src/script/index.js.map +1 -1
- package/dist/cjs/src/script/templates/P2PKH.js +55 -47
- package/dist/cjs/src/script/templates/P2PKH.js.map +1 -1
- package/dist/cjs/src/script/templates/PushDrop.js +57 -51
- package/dist/cjs/src/script/templates/PushDrop.js.map +1 -1
- package/dist/cjs/src/script/templates/RPuzzle.js +49 -48
- package/dist/cjs/src/script/templates/RPuzzle.js.map +1 -1
- package/dist/cjs/src/script/templates/index.js +6 -6
- package/dist/cjs/src/script/templates/index.js.map +1 -1
- package/dist/cjs/src/totp/index.js +1 -1
- package/dist/cjs/src/totp/index.js.map +1 -1
- package/dist/cjs/src/totp/totp.js +9 -8
- package/dist/cjs/src/totp/totp.js.map +1 -1
- package/dist/cjs/src/transaction/Beef.js +78 -67
- package/dist/cjs/src/transaction/Beef.js.map +1 -1
- package/dist/cjs/src/transaction/BeefParty.js +5 -5
- package/dist/cjs/src/transaction/BeefParty.js.map +1 -1
- package/dist/cjs/src/transaction/BeefTx.js +39 -33
- 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 +60 -38
- package/dist/cjs/src/transaction/MerklePath.js.map +1 -1
- package/dist/cjs/src/transaction/Transaction.js +127 -85
- package/dist/cjs/src/transaction/Transaction.js.map +1 -1
- package/dist/cjs/src/transaction/broadcasters/ARC.js +48 -43
- package/dist/cjs/src/transaction/broadcasters/ARC.js.map +1 -1
- package/dist/cjs/src/transaction/broadcasters/DefaultBroadcaster.js +4 -3
- package/dist/cjs/src/transaction/broadcasters/DefaultBroadcaster.js.map +1 -1
- package/dist/cjs/src/transaction/broadcasters/WhatsOnChainBroadcaster.js +15 -15
- package/dist/cjs/src/transaction/broadcasters/WhatsOnChainBroadcaster.js.map +1 -1
- package/dist/cjs/src/transaction/broadcasters/index.js +6 -6
- package/dist/cjs/src/transaction/broadcasters/index.js.map +1 -1
- package/dist/cjs/src/transaction/chaintrackers/DefaultChainTracker.js +4 -3
- package/dist/cjs/src/transaction/chaintrackers/DefaultChainTracker.js.map +1 -1
- package/dist/cjs/src/transaction/chaintrackers/WhatsOnChain.js +11 -11
- package/dist/cjs/src/transaction/chaintrackers/WhatsOnChain.js.map +1 -1
- package/dist/cjs/src/transaction/chaintrackers/index.js +4 -4
- package/dist/cjs/src/transaction/chaintrackers/index.js.map +1 -1
- package/dist/cjs/src/transaction/fee-models/SatoshisPerKilobyte.js +3 -3
- package/dist/cjs/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
- package/dist/cjs/src/transaction/fee-models/index.js +2 -2
- package/dist/cjs/src/transaction/fee-models/index.js.map +1 -1
- package/dist/cjs/src/transaction/http/DefaultHttpClient.js +12 -10
- package/dist/cjs/src/transaction/http/DefaultHttpClient.js.map +1 -1
- package/dist/cjs/src/transaction/http/FetchHttpClient.js +2 -1
- package/dist/cjs/src/transaction/http/FetchHttpClient.js.map +1 -1
- package/dist/cjs/src/transaction/http/NodejsHttpClient.js +8 -8
- package/dist/cjs/src/transaction/http/NodejsHttpClient.js.map +1 -1
- package/dist/cjs/src/transaction/http/index.js +6 -6
- package/dist/cjs/src/transaction/http/index.js.map +1 -1
- package/dist/cjs/src/transaction/index.js +12 -12
- package/dist/cjs/src/transaction/index.js.map +1 -1
- package/dist/cjs/src/wallet/CachedKeyDeriver.js +34 -11
- package/dist/cjs/src/wallet/CachedKeyDeriver.js.map +1 -1
- package/dist/cjs/src/wallet/KeyDeriver.js +10 -9
- package/dist/cjs/src/wallet/KeyDeriver.js.map +1 -1
- package/dist/cjs/src/wallet/ProtoWallet.js +68 -31
- package/dist/cjs/src/wallet/ProtoWallet.js.map +1 -1
- package/dist/cjs/src/wallet/WalletClient.js +18 -14
- 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/index.js +12 -12
- package/dist/cjs/src/wallet/index.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js +2 -1
- package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/HTTPWalletWire.js +11 -11
- package/dist/cjs/src/wallet/substrates/HTTPWalletWire.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/WalletWireCalls.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js +239 -238
- package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js +311 -300
- package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/XDM.js +9 -7
- package/dist/cjs/src/wallet/substrates/XDM.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/index.js +12 -12
- package/dist/cjs/src/wallet/substrates/index.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/window.CWI.js +32 -32
- 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 -31
- package/dist/esm/mod.js.map +1 -1
- package/dist/esm/src/auth/Peer.js +64 -63
- package/dist/esm/src/auth/Peer.js.map +1 -1
- package/dist/esm/src/auth/SessionManager.js +11 -10
- package/dist/esm/src/auth/SessionManager.js.map +1 -1
- package/dist/esm/src/auth/certificates/Certificate.js +32 -34
- package/dist/esm/src/auth/certificates/Certificate.js.map +1 -1
- package/dist/esm/src/auth/certificates/MasterCertificate.js +36 -43
- package/dist/esm/src/auth/certificates/MasterCertificate.js.map +1 -1
- package/dist/esm/src/auth/certificates/VerifiableCertificate.js +9 -16
- package/dist/esm/src/auth/certificates/VerifiableCertificate.js.map +1 -1
- package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js +46 -33
- package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
- package/dist/esm/src/auth/certificates/index.js +4 -25
- package/dist/esm/src/auth/certificates/index.js.map +1 -1
- package/dist/esm/src/auth/clients/AuthFetch.js +66 -79
- package/dist/esm/src/auth/clients/AuthFetch.js.map +1 -1
- package/dist/esm/src/auth/clients/index.js +1 -17
- package/dist/esm/src/auth/clients/index.js.map +1 -1
- package/dist/esm/src/auth/index.js +7 -23
- package/dist/esm/src/auth/index.js.map +1 -1
- package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js +55 -67
- package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
- package/dist/esm/src/auth/transports/index.js +1 -17
- package/dist/esm/src/auth/transports/index.js.map +1 -1
- package/dist/esm/src/auth/types.js +1 -2
- package/dist/esm/src/auth/utils/createNonce.js +5 -8
- package/dist/esm/src/auth/utils/createNonce.js.map +1 -1
- package/dist/esm/src/auth/utils/getVerifiableCertificates.js +3 -7
- package/dist/esm/src/auth/utils/getVerifiableCertificates.js.map +1 -1
- package/dist/esm/src/auth/utils/index.js +4 -20
- package/dist/esm/src/auth/utils/index.js.map +1 -1
- package/dist/esm/src/auth/utils/validateCertificates.js +8 -9
- package/dist/esm/src/auth/utils/validateCertificates.js.map +1 -1
- package/dist/esm/src/auth/utils/verifyNonce.js +4 -7
- package/dist/esm/src/auth/utils/verifyNonce.js.map +1 -1
- package/dist/esm/src/compat/BSM.js +14 -56
- package/dist/esm/src/compat/BSM.js.map +1 -1
- package/dist/esm/src/compat/ECIES.js +44 -75
- package/dist/esm/src/compat/ECIES.js.map +1 -1
- package/dist/esm/src/compat/HD.js +30 -69
- package/dist/esm/src/compat/HD.js.map +1 -1
- package/dist/esm/src/compat/Mnemonic.js +24 -62
- package/dist/esm/src/compat/Mnemonic.js.map +1 -1
- package/dist/esm/src/compat/Utxo.js +5 -11
- package/dist/esm/src/compat/Utxo.js.map +1 -1
- package/dist/esm/src/compat/bip-39-wordlist-en.js +1 -4
- package/dist/esm/src/compat/bip-39-wordlist-en.js.map +1 -1
- package/dist/esm/src/compat/index.js +5 -48
- package/dist/esm/src/compat/index.js.map +1 -1
- package/dist/esm/src/messages/EncryptedMessage.js +16 -24
- package/dist/esm/src/messages/EncryptedMessage.js.map +1 -1
- package/dist/esm/src/messages/SignedMessage.js +23 -30
- package/dist/esm/src/messages/SignedMessage.js.map +1 -1
- package/dist/esm/src/messages/index.js +2 -38
- package/dist/esm/src/messages/index.js.map +1 -1
- package/dist/esm/src/overlay-tools/LookupResolver.js +46 -43
- package/dist/esm/src/overlay-tools/LookupResolver.js.map +1 -1
- package/dist/esm/src/overlay-tools/OverlayAdminTokenTemplate.js +13 -19
- package/dist/esm/src/overlay-tools/OverlayAdminTokenTemplate.js.map +1 -1
- package/dist/esm/src/overlay-tools/SHIPBroadcaster.js +13 -20
- package/dist/esm/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
- package/dist/esm/src/overlay-tools/index.js +5 -28
- package/dist/esm/src/overlay-tools/index.js.map +1 -1
- package/dist/esm/src/primitives/AESGCM.js +27 -39
- package/dist/esm/src/primitives/AESGCM.js.map +1 -1
- package/dist/esm/src/primitives/BasePoint.js +3 -9
- package/dist/esm/src/primitives/BasePoint.js.map +1 -1
- package/dist/esm/src/primitives/BigNumber.js +6 -8
- package/dist/esm/src/primitives/BigNumber.js.map +1 -1
- package/dist/esm/src/primitives/Curve.js +70 -43
- package/dist/esm/src/primitives/Curve.js.map +1 -1
- package/dist/esm/src/primitives/DRBG.js +7 -10
- package/dist/esm/src/primitives/DRBG.js.map +1 -1
- package/dist/esm/src/primitives/ECDSA.js +72 -65
- package/dist/esm/src/primitives/ECDSA.js.map +1 -1
- package/dist/esm/src/primitives/Hash.js +131 -141
- package/dist/esm/src/primitives/Hash.js.map +1 -1
- package/dist/esm/src/primitives/JacobianPoint.js +24 -21
- package/dist/esm/src/primitives/JacobianPoint.js.map +1 -1
- package/dist/esm/src/primitives/K256.js +2 -8
- package/dist/esm/src/primitives/K256.js.map +1 -1
- package/dist/esm/src/primitives/Mersenne.js +5 -11
- package/dist/esm/src/primitives/Mersenne.js.map +1 -1
- package/dist/esm/src/primitives/MontgomoryMethod.js +5 -11
- package/dist/esm/src/primitives/MontgomoryMethod.js.map +1 -1
- package/dist/esm/src/primitives/Point.js +104 -93
- package/dist/esm/src/primitives/Point.js.map +1 -1
- package/dist/esm/src/primitives/Polynomial.js +16 -24
- package/dist/esm/src/primitives/Polynomial.js.map +1 -1
- package/dist/esm/src/primitives/PrivateKey.js +42 -83
- package/dist/esm/src/primitives/PrivateKey.js.map +1 -1
- package/dist/esm/src/primitives/PublicKey.js +23 -29
- package/dist/esm/src/primitives/PublicKey.js.map +1 -1
- package/dist/esm/src/primitives/Random.js +4 -5
- package/dist/esm/src/primitives/Random.js.map +1 -1
- package/dist/esm/src/primitives/ReductionContext.js +11 -17
- package/dist/esm/src/primitives/ReductionContext.js.map +1 -1
- package/dist/esm/src/primitives/Schnorr.js +9 -15
- package/dist/esm/src/primitives/Schnorr.js.map +1 -1
- package/dist/esm/src/primitives/Signature.js +24 -30
- package/dist/esm/src/primitives/Signature.js.map +1 -1
- package/dist/esm/src/primitives/SymmetricKey.js +13 -19
- package/dist/esm/src/primitives/SymmetricKey.js.map +1 -1
- package/dist/esm/src/primitives/TransactionSignature.js +29 -60
- package/dist/esm/src/primitives/TransactionSignature.js.map +1 -1
- package/dist/esm/src/primitives/index.js +14 -66
- package/dist/esm/src/primitives/index.js.map +1 -1
- package/dist/esm/src/primitives/utils.js +55 -74
- package/dist/esm/src/primitives/utils.js.map +1 -1
- package/dist/esm/src/script/LockingScript.js +2 -8
- package/dist/esm/src/script/LockingScript.js.map +1 -1
- package/dist/esm/src/script/OP.js +4 -6
- package/dist/esm/src/script/OP.js.map +1 -1
- package/dist/esm/src/script/Script.js +48 -54
- package/dist/esm/src/script/Script.js.map +1 -1
- package/dist/esm/src/script/ScriptChunk.js +1 -2
- package/dist/esm/src/script/ScriptTemplate.js +1 -2
- package/dist/esm/src/script/Spend.js +297 -334
- package/dist/esm/src/script/Spend.js.map +1 -1
- package/dist/esm/src/script/UnlockingScript.js +2 -8
- package/dist/esm/src/script/UnlockingScript.js.map +1 -1
- package/dist/esm/src/script/index.js +6 -31
- package/dist/esm/src/script/index.js.map +1 -1
- package/dist/esm/src/script/templates/P2PKH.js +53 -51
- package/dist/esm/src/script/templates/P2PKH.js.map +1 -1
- package/dist/esm/src/script/templates/PushDrop.js +54 -52
- package/dist/esm/src/script/templates/PushDrop.js.map +1 -1
- package/dist/esm/src/script/templates/RPuzzle.js +51 -55
- package/dist/esm/src/script/templates/RPuzzle.js.map +1 -1
- package/dist/esm/src/script/templates/index.js +3 -12
- package/dist/esm/src/script/templates/index.js.map +1 -1
- package/dist/esm/src/totp/index.js +1 -17
- package/dist/esm/src/totp/index.js.map +1 -1
- package/dist/esm/src/totp/totp.js +10 -16
- package/dist/esm/src/totp/totp.js.map +1 -1
- package/dist/esm/src/transaction/Beef.js +89 -86
- package/dist/esm/src/transaction/Beef.js.map +1 -1
- package/dist/esm/src/transaction/BeefParty.js +6 -10
- package/dist/esm/src/transaction/BeefParty.js.map +1 -1
- package/dist/esm/src/transaction/BeefTx.js +40 -40
- package/dist/esm/src/transaction/BeefTx.js.map +1 -1
- package/dist/esm/src/transaction/Broadcaster.js +2 -6
- package/dist/esm/src/transaction/Broadcaster.js.map +1 -1
- package/dist/esm/src/transaction/ChainTracker.js +1 -2
- package/dist/esm/src/transaction/FeeModel.js +1 -2
- package/dist/esm/src/transaction/MerklePath.js +58 -41
- package/dist/esm/src/transaction/MerklePath.js.map +1 -1
- package/dist/esm/src/transaction/Transaction.js +121 -92
- package/dist/esm/src/transaction/Transaction.js.map +1 -1
- package/dist/esm/src/transaction/TransactionInput.js +1 -2
- package/dist/esm/src/transaction/TransactionOutput.js +1 -2
- package/dist/esm/src/transaction/broadcasters/ARC.js +49 -50
- package/dist/esm/src/transaction/broadcasters/ARC.js.map +1 -1
- package/dist/esm/src/transaction/broadcasters/DefaultBroadcaster.js +3 -9
- package/dist/esm/src/transaction/broadcasters/DefaultBroadcaster.js.map +1 -1
- package/dist/esm/src/transaction/broadcasters/WhatsOnChainBroadcaster.js +16 -19
- package/dist/esm/src/transaction/broadcasters/WhatsOnChainBroadcaster.js.map +1 -1
- package/dist/esm/src/transaction/broadcasters/index.js +3 -12
- package/dist/esm/src/transaction/broadcasters/index.js.map +1 -1
- package/dist/esm/src/transaction/chaintrackers/DefaultChainTracker.js +3 -9
- package/dist/esm/src/transaction/chaintrackers/DefaultChainTracker.js.map +1 -1
- package/dist/esm/src/transaction/chaintrackers/WhatsOnChain.js +12 -15
- package/dist/esm/src/transaction/chaintrackers/WhatsOnChain.js.map +1 -1
- package/dist/esm/src/transaction/chaintrackers/index.js +2 -10
- package/dist/esm/src/transaction/chaintrackers/index.js.map +1 -1
- package/dist/esm/src/transaction/fee-models/SatoshisPerKilobyte.js +4 -7
- package/dist/esm/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
- package/dist/esm/src/transaction/fee-models/index.js +1 -8
- package/dist/esm/src/transaction/fee-models/index.js.map +1 -1
- package/dist/esm/src/transaction/http/DefaultHttpClient.js +11 -13
- package/dist/esm/src/transaction/http/DefaultHttpClient.js.map +1 -1
- package/dist/esm/src/transaction/http/FetchHttpClient.js +2 -6
- package/dist/esm/src/transaction/http/FetchHttpClient.js.map +1 -1
- package/dist/esm/src/transaction/http/HttpClient.js +1 -2
- package/dist/esm/src/transaction/http/NodejsHttpClient.js +9 -13
- package/dist/esm/src/transaction/http/NodejsHttpClient.js.map +1 -1
- package/dist/esm/src/transaction/http/index.js +3 -9
- package/dist/esm/src/transaction/http/index.js.map +1 -1
- package/dist/esm/src/transaction/index.js +6 -32
- package/dist/esm/src/transaction/index.js.map +1 -1
- package/dist/esm/src/wallet/CachedKeyDeriver.js +35 -15
- package/dist/esm/src/wallet/CachedKeyDeriver.js.map +1 -1
- package/dist/esm/src/wallet/KeyDeriver.js +11 -15
- package/dist/esm/src/wallet/KeyDeriver.js.map +1 -1
- package/dist/esm/src/wallet/ProtoWallet.js +66 -37
- package/dist/esm/src/wallet/ProtoWallet.js.map +1 -1
- package/dist/esm/src/wallet/Wallet.interfaces.js +2 -5
- package/dist/esm/src/wallet/Wallet.interfaces.js.map +1 -1
- package/dist/esm/src/wallet/WalletClient.js +19 -21
- package/dist/esm/src/wallet/WalletClient.js.map +1 -1
- package/dist/esm/src/wallet/WalletError.js +4 -8
- package/dist/esm/src/wallet/WalletError.js.map +1 -1
- package/dist/esm/src/wallet/index.js +8 -32
- package/dist/esm/src/wallet/index.js.map +1 -1
- package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js +3 -6
- package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
- package/dist/esm/src/wallet/substrates/HTTPWalletWire.js +12 -18
- package/dist/esm/src/wallet/substrates/HTTPWalletWire.js.map +1 -1
- package/dist/esm/src/wallet/substrates/WalletWire.js +1 -2
- package/dist/esm/src/wallet/substrates/WalletWireCalls.js +1 -3
- package/dist/esm/src/wallet/substrates/WalletWireCalls.js.map +1 -1
- package/dist/esm/src/wallet/substrates/WalletWireProcessor.js +240 -245
- package/dist/esm/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
- package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js +305 -307
- package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
- package/dist/esm/src/wallet/substrates/XDM.js +10 -11
- package/dist/esm/src/wallet/substrates/XDM.js.map +1 -1
- package/dist/esm/src/wallet/substrates/index.js +7 -32
- package/dist/esm/src/wallet/substrates/index.js.map +1 -1
- package/dist/esm/src/wallet/substrates/window.CWI.js +33 -36
- package/dist/esm/src/wallet/substrates/window.CWI.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/types/mod.d.ts +15 -15
- package/dist/types/mod.d.ts.map +1 -1
- package/dist/types/src/auth/Peer.d.ts +4 -4
- package/dist/types/src/auth/Peer.d.ts.map +1 -1
- package/dist/types/src/auth/SessionManager.d.ts +1 -1
- 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 +6 -6
- package/dist/types/src/auth/certificates/MasterCertificate.d.ts.map +1 -1
- package/dist/types/src/auth/certificates/VerifiableCertificate.d.ts +2 -2
- package/dist/types/src/auth/certificates/VerifiableCertificate.d.ts.map +1 -1
- package/dist/types/src/auth/certificates/__tests/CompletedProtoWallet.d.ts +23 -22
- package/dist/types/src/auth/certificates/__tests/CompletedProtoWallet.d.ts.map +1 -1
- package/dist/types/src/auth/certificates/index.d.ts +4 -4
- package/dist/types/src/auth/certificates/index.d.ts.map +1 -1
- package/dist/types/src/auth/clients/AuthFetch.d.ts +9 -9
- package/dist/types/src/auth/clients/AuthFetch.d.ts.map +1 -1
- package/dist/types/src/auth/clients/index.d.ts +1 -1
- package/dist/types/src/auth/clients/index.d.ts.map +1 -1
- package/dist/types/src/auth/index.d.ts +7 -7
- package/dist/types/src/auth/index.d.ts.map +1 -1
- package/dist/types/src/auth/transports/SimplifiedFetchTransport.d.ts +1 -1
- package/dist/types/src/auth/transports/SimplifiedFetchTransport.d.ts.map +1 -1
- package/dist/types/src/auth/transports/index.d.ts +1 -1
- package/dist/types/src/auth/transports/index.d.ts.map +1 -1
- package/dist/types/src/auth/types.d.ts +1 -1
- package/dist/types/src/auth/types.d.ts.map +1 -1
- package/dist/types/src/auth/utils/createNonce.d.ts +1 -1
- package/dist/types/src/auth/utils/createNonce.d.ts.map +1 -1
- package/dist/types/src/auth/utils/getVerifiableCertificates.d.ts +3 -3
- package/dist/types/src/auth/utils/getVerifiableCertificates.d.ts.map +1 -1
- package/dist/types/src/auth/utils/index.d.ts +4 -4
- package/dist/types/src/auth/utils/index.d.ts.map +1 -1
- package/dist/types/src/auth/utils/validateCertificates.d.ts +2 -2
- package/dist/types/src/auth/utils/validateCertificates.d.ts.map +1 -1
- package/dist/types/src/auth/utils/verifyNonce.d.ts +1 -1
- package/dist/types/src/auth/utils/verifyNonce.d.ts.map +1 -1
- package/dist/types/src/compat/BSM.d.ts +4 -4
- package/dist/types/src/compat/BSM.d.ts.map +1 -1
- package/dist/types/src/compat/ECIES.d.ts +2 -2
- package/dist/types/src/compat/ECIES.d.ts.map +1 -1
- package/dist/types/src/compat/HD.d.ts +2 -2
- package/dist/types/src/compat/HD.d.ts.map +1 -1
- package/dist/types/src/compat/Mnemonic.d.ts.map +1 -1
- package/dist/types/src/compat/Utxo.d.ts +3 -3
- package/dist/types/src/compat/Utxo.d.ts.map +1 -1
- package/dist/types/src/compat/index.d.ts +5 -5
- package/dist/types/src/compat/index.d.ts.map +1 -1
- package/dist/types/src/messages/EncryptedMessage.d.ts +2 -2
- package/dist/types/src/messages/EncryptedMessage.d.ts.map +1 -1
- package/dist/types/src/messages/SignedMessage.d.ts +2 -2
- package/dist/types/src/messages/SignedMessage.d.ts.map +1 -1
- package/dist/types/src/messages/index.d.ts +2 -2
- package/dist/types/src/messages/index.d.ts.map +1 -1
- package/dist/types/src/overlay-tools/LookupResolver.d.ts.map +1 -1
- package/dist/types/src/overlay-tools/OverlayAdminTokenTemplate.d.ts +4 -4
- package/dist/types/src/overlay-tools/OverlayAdminTokenTemplate.d.ts.map +1 -1
- package/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts +2 -2
- package/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts.map +1 -1
- package/dist/types/src/overlay-tools/index.d.ts +5 -5
- package/dist/types/src/overlay-tools/index.d.ts.map +1 -1
- package/dist/types/src/primitives/AESGCM.d.ts.map +1 -1
- package/dist/types/src/primitives/BasePoint.d.ts +9 -9
- package/dist/types/src/primitives/BasePoint.d.ts.map +1 -1
- package/dist/types/src/primitives/BigNumber.d.ts +1 -1
- package/dist/types/src/primitives/BigNumber.d.ts.map +1 -1
- package/dist/types/src/primitives/Curve.d.ts +17 -10
- package/dist/types/src/primitives/Curve.d.ts.map +1 -1
- package/dist/types/src/primitives/DRBG.d.ts +1 -1
- package/dist/types/src/primitives/DRBG.d.ts.map +1 -1
- package/dist/types/src/primitives/ECDSA.d.ts +4 -4
- 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 +3 -3
- package/dist/types/src/primitives/JacobianPoint.d.ts.map +1 -1
- package/dist/types/src/primitives/K256.d.ts +2 -2
- package/dist/types/src/primitives/K256.d.ts.map +1 -1
- package/dist/types/src/primitives/Mersenne.d.ts +1 -1
- package/dist/types/src/primitives/Mersenne.d.ts.map +1 -1
- package/dist/types/src/primitives/MontgomoryMethod.d.ts +2 -2
- package/dist/types/src/primitives/MontgomoryMethod.d.ts.map +1 -1
- package/dist/types/src/primitives/Point.d.ts +3 -3
- package/dist/types/src/primitives/Point.d.ts.map +1 -1
- package/dist/types/src/primitives/Polynomial.d.ts +2 -2
- package/dist/types/src/primitives/Polynomial.d.ts.map +1 -1
- package/dist/types/src/primitives/PrivateKey.d.ts +7 -7
- package/dist/types/src/primitives/PrivateKey.d.ts.map +1 -1
- package/dist/types/src/primitives/PublicKey.d.ts +4 -4
- package/dist/types/src/primitives/PublicKey.d.ts.map +1 -1
- package/dist/types/src/primitives/Random.d.ts.map +1 -1
- package/dist/types/src/primitives/ReductionContext.d.ts +2 -2
- package/dist/types/src/primitives/ReductionContext.d.ts.map +1 -1
- package/dist/types/src/primitives/Schnorr.d.ts +3 -3
- package/dist/types/src/primitives/Schnorr.d.ts.map +1 -1
- package/dist/types/src/primitives/Signature.d.ts +3 -3
- package/dist/types/src/primitives/Signature.d.ts.map +1 -1
- package/dist/types/src/primitives/SymmetricKey.d.ts +1 -1
- package/dist/types/src/primitives/SymmetricKey.d.ts.map +1 -1
- package/dist/types/src/primitives/TransactionSignature.d.ts +5 -5
- package/dist/types/src/primitives/TransactionSignature.d.ts.map +1 -1
- package/dist/types/src/primitives/index.d.ts +14 -14
- package/dist/types/src/primitives/index.d.ts.map +1 -1
- package/dist/types/src/primitives/utils.d.ts +4 -7
- package/dist/types/src/primitives/utils.d.ts.map +1 -1
- package/dist/types/src/script/LockingScript.d.ts +1 -1
- package/dist/types/src/script/LockingScript.d.ts.map +1 -1
- package/dist/types/src/script/Script.d.ts +2 -2
- package/dist/types/src/script/Script.d.ts.map +1 -1
- package/dist/types/src/script/ScriptTemplate.d.ts +5 -5
- package/dist/types/src/script/ScriptTemplate.d.ts.map +1 -1
- package/dist/types/src/script/Spend.d.ts +4 -4
- package/dist/types/src/script/Spend.d.ts.map +1 -1
- package/dist/types/src/script/UnlockingScript.d.ts +1 -1
- package/dist/types/src/script/UnlockingScript.d.ts.map +1 -1
- package/dist/types/src/script/index.d.ts +7 -7
- package/dist/types/src/script/index.d.ts.map +1 -1
- package/dist/types/src/script/templates/P2PKH.d.ts +7 -7
- package/dist/types/src/script/templates/P2PKH.d.ts.map +1 -1
- package/dist/types/src/script/templates/PushDrop.d.ts +6 -7
- package/dist/types/src/script/templates/PushDrop.d.ts.map +1 -1
- package/dist/types/src/script/templates/RPuzzle.d.ts +9 -9
- package/dist/types/src/script/templates/RPuzzle.d.ts.map +1 -1
- package/dist/types/src/script/templates/index.d.ts +3 -3
- package/dist/types/src/script/templates/index.d.ts.map +1 -1
- package/dist/types/src/totp/index.d.ts +1 -1
- package/dist/types/src/totp/index.d.ts.map +1 -1
- package/dist/types/src/totp/totp.d.ts.map +1 -1
- package/dist/types/src/transaction/Beef.d.ts +10 -10
- package/dist/types/src/transaction/Beef.d.ts.map +1 -1
- package/dist/types/src/transaction/BeefParty.d.ts +1 -1
- package/dist/types/src/transaction/BeefParty.d.ts.map +1 -1
- package/dist/types/src/transaction/BeefTx.d.ts +4 -4
- package/dist/types/src/transaction/BeefTx.d.ts.map +1 -1
- package/dist/types/src/transaction/Broadcaster.d.ts +1 -1
- package/dist/types/src/transaction/Broadcaster.d.ts.map +1 -1
- package/dist/types/src/transaction/FeeModel.d.ts +1 -1
- package/dist/types/src/transaction/FeeModel.d.ts.map +1 -1
- package/dist/types/src/transaction/MerklePath.d.ts +2 -2
- package/dist/types/src/transaction/MerklePath.d.ts.map +1 -1
- package/dist/types/src/transaction/Transaction.d.ts +7 -7
- package/dist/types/src/transaction/Transaction.d.ts.map +1 -1
- package/dist/types/src/transaction/TransactionInput.d.ts +2 -2
- package/dist/types/src/transaction/TransactionInput.d.ts.map +1 -1
- package/dist/types/src/transaction/TransactionOutput.d.ts +1 -1
- package/dist/types/src/transaction/TransactionOutput.d.ts.map +1 -1
- package/dist/types/src/transaction/broadcasters/ARC.d.ts +4 -4
- package/dist/types/src/transaction/broadcasters/ARC.d.ts.map +1 -1
- package/dist/types/src/transaction/broadcasters/DefaultBroadcaster.d.ts +2 -2
- package/dist/types/src/transaction/broadcasters/DefaultBroadcaster.d.ts.map +1 -1
- package/dist/types/src/transaction/broadcasters/WhatsOnChainBroadcaster.d.ts +4 -4
- package/dist/types/src/transaction/broadcasters/WhatsOnChainBroadcaster.d.ts.map +1 -1
- package/dist/types/src/transaction/broadcasters/index.d.ts +4 -4
- package/dist/types/src/transaction/broadcasters/index.d.ts.map +1 -1
- package/dist/types/src/transaction/chaintrackers/DefaultChainTracker.d.ts +1 -1
- package/dist/types/src/transaction/chaintrackers/DefaultChainTracker.d.ts.map +1 -1
- package/dist/types/src/transaction/chaintrackers/WhatsOnChain.d.ts +3 -3
- package/dist/types/src/transaction/chaintrackers/WhatsOnChain.d.ts.map +1 -1
- package/dist/types/src/transaction/chaintrackers/index.d.ts +3 -3
- package/dist/types/src/transaction/chaintrackers/index.d.ts.map +1 -1
- package/dist/types/src/transaction/fee-models/SatoshisPerKilobyte.d.ts +2 -2
- package/dist/types/src/transaction/fee-models/SatoshisPerKilobyte.d.ts.map +1 -1
- package/dist/types/src/transaction/fee-models/index.d.ts +1 -1
- package/dist/types/src/transaction/fee-models/index.d.ts.map +1 -1
- package/dist/types/src/transaction/http/DefaultHttpClient.d.ts +1 -1
- package/dist/types/src/transaction/http/DefaultHttpClient.d.ts.map +1 -1
- package/dist/types/src/transaction/http/FetchHttpClient.d.ts +1 -1
- package/dist/types/src/transaction/http/FetchHttpClient.d.ts.map +1 -1
- package/dist/types/src/transaction/http/HttpClient.d.ts.map +1 -1
- package/dist/types/src/transaction/http/NodejsHttpClient.d.ts +1 -1
- package/dist/types/src/transaction/http/NodejsHttpClient.d.ts.map +1 -1
- package/dist/types/src/transaction/http/index.d.ts +6 -6
- package/dist/types/src/transaction/http/index.d.ts.map +1 -1
- package/dist/types/src/transaction/index.d.ts +10 -10
- package/dist/types/src/transaction/index.d.ts.map +1 -1
- package/dist/types/src/wallet/CachedKeyDeriver.d.ts +3 -3
- package/dist/types/src/wallet/CachedKeyDeriver.d.ts.map +1 -1
- package/dist/types/src/wallet/KeyDeriver.d.ts +2 -2
- package/dist/types/src/wallet/KeyDeriver.d.ts.map +1 -1
- package/dist/types/src/wallet/ProtoWallet.d.ts +12 -12
- package/dist/types/src/wallet/ProtoWallet.d.ts.map +1 -1
- package/dist/types/src/wallet/Wallet.interfaces.d.ts +7 -8
- package/dist/types/src/wallet/Wallet.interfaces.d.ts.map +1 -1
- package/dist/types/src/wallet/WalletClient.d.ts +6 -6
- package/dist/types/src/wallet/WalletClient.d.ts.map +1 -1
- package/dist/types/src/wallet/index.d.ts +8 -8
- package/dist/types/src/wallet/index.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts +7 -7
- package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/HTTPWalletWire.d.ts +1 -1
- package/dist/types/src/wallet/substrates/HTTPWalletWire.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/WalletWire.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/WalletWireCalls.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/WalletWireProcessor.d.ts +2 -2
- package/dist/types/src/wallet/substrates/WalletWireProcessor.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/WalletWireTransceiver.d.ts +10 -10
- package/dist/types/src/wallet/substrates/WalletWireTransceiver.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/XDM.d.ts +2 -2
- package/dist/types/src/wallet/substrates/XDM.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/index.d.ts +7 -7
- package/dist/types/src/wallet/substrates/index.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/window.CWI.d.ts +25 -25
- 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 +44 -38
- package/docs/primitives.md +97 -73
- package/docs/script.md +4 -4
- 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/transaction.md +27 -27
- package/docs/wallet-substrates.md +13 -13
- package/docs/wallet.md +80 -82
- package/mod.ts +15 -15
- package/package.json +8 -3
- package/src/auth/Peer.ts +75 -70
- package/src/auth/SessionManager.ts +11 -6
- package/src/auth/__tests/Peer.test.ts +141 -114
- package/src/auth/__tests/SessionManager.test.ts +67 -19
- package/src/auth/__tests/build.test.ts +11 -0
- package/src/auth/certificates/Certificate.ts +15 -12
- package/src/auth/certificates/MasterCertificate.ts +24 -33
- package/src/auth/certificates/VerifiableCertificate.ts +6 -4
- package/src/auth/certificates/__tests/Certificate.test.ts +140 -139
- package/src/auth/certificates/__tests/CompletedProtoWallet.ts +88 -74
- package/src/auth/certificates/__tests/MasterCertificate.test.ts +7 -15
- package/src/auth/certificates/__tests/VerifiableCertificate.test.ts +1 -6
- package/src/auth/certificates/index.ts +4 -4
- package/src/auth/clients/AuthFetch.ts +232 -316
- package/src/auth/clients/index.ts +1 -1
- package/src/auth/index.ts +7 -7
- package/src/auth/transports/SimplifiedFetchTransport.ts +126 -166
- package/src/auth/transports/index.ts +1 -1
- package/src/auth/types.ts +1 -1
- package/src/auth/utils/__tests/cryptononce.test.ts +7 -5
- package/src/auth/utils/__tests/getVerifiableCertificates.test.ts +12 -12
- package/src/auth/utils/__tests/validateCertificates.test.ts +113 -103
- package/src/auth/utils/createNonce.ts +1 -1
- package/src/auth/utils/getVerifiableCertificates.ts +4 -4
- package/src/auth/utils/index.ts +4 -4
- package/src/auth/utils/validateCertificates.ts +9 -5
- package/src/auth/utils/verifyNonce.ts +1 -1
- package/src/compat/BSM.ts +7 -7
- package/src/compat/ECIES.ts +38 -30
- package/src/compat/HD.ts +12 -13
- package/src/compat/Mnemonic.ts +16 -14
- package/src/compat/Utxo.ts +4 -4
- package/src/compat/__tests/BSM.test.ts +5 -6
- package/src/compat/__tests/HD.test.ts +6 -4
- package/src/compat/__tests/Mnemonic.test.ts +144 -145
- package/src/compat/__tests/Mnemonic.vectors.ts +110 -55
- package/src/compat/index.ts +5 -5
- package/src/messages/EncryptedMessage.ts +5 -5
- package/src/messages/SignedMessage.ts +7 -6
- package/src/messages/__tests/EncryptedMessage.test.ts +39 -39
- package/src/messages/__tests/SignedMessage.test.ts +49 -49
- package/src/messages/index.ts +2 -2
- package/src/overlay-tools/LookupResolver.ts +52 -32
- package/src/overlay-tools/OverlayAdminTokenTemplate.ts +9 -5
- package/src/overlay-tools/SHIPBroadcaster.ts +8 -7
- package/src/overlay-tools/index.ts +5 -5
- package/src/primitives/AESGCM.ts +2 -0
- package/src/primitives/BasePoint.ts +5 -5
- package/src/primitives/BigNumber.ts +8 -6
- package/src/primitives/Curve.ts +79 -27
- package/src/primitives/DRBG.ts +3 -3
- package/src/primitives/ECDSA.ts +62 -42
- package/src/primitives/Hash.ts +215 -163
- package/src/primitives/JacobianPoint.ts +19 -5
- package/src/primitives/K256.ts +2 -2
- package/src/primitives/Mersenne.ts +1 -1
- package/src/primitives/MontgomoryMethod.ts +2 -2
- package/src/primitives/Point.ts +98 -76
- package/src/primitives/Polynomial.ts +6 -6
- package/src/primitives/PrivateKey.ts +24 -24
- package/src/primitives/PublicKey.ts +8 -8
- package/src/primitives/Random.ts +7 -3
- package/src/primitives/ReductionContext.ts +3 -3
- package/src/primitives/Schnorr.ts +5 -5
- package/src/primitives/Signature.ts +14 -12
- package/src/primitives/SymmetricKey.ts +5 -5
- package/src/primitives/TransactionSignature.ts +26 -13
- package/src/primitives/__tests/AESGCM.test.ts +403 -403
- 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 +563 -563
- package/src/primitives/__tests/BigNumber.binary.test.ts +211 -211
- package/src/primitives/__tests/BigNumber.constructor.test.ts +8 -4
- package/src/primitives/__tests/BigNumber.dhGroup.test.ts +15 -15
- package/src/primitives/__tests/BigNumber.fixtures.ts +16 -8
- package/src/primitives/__tests/BigNumber.serializers.test.ts +169 -169
- package/src/primitives/__tests/BigNumber.utils.test.ts +328 -328
- package/src/primitives/__tests/Curve.unit.test.ts +152 -145
- package/src/primitives/__tests/DRBG.test.ts +13 -13
- package/src/primitives/__tests/DRBG.vectors.ts +45 -75
- package/src/primitives/__tests/ECDSA.test.ts +51 -51
- package/src/primitives/__tests/HMAC.test.ts +46 -46
- package/src/primitives/__tests/Hash.test.ts +83 -83
- package/src/primitives/__tests/PBKDF2.vectors.ts +130 -117
- package/src/primitives/__tests/PrivateKey.split.test.ts +6 -4
- package/src/primitives/__tests/PrivateKey.test.ts +53 -55
- package/src/primitives/__tests/PublicKey.test.ts +59 -57
- package/src/primitives/__tests/Random.test.ts +10 -10
- package/src/primitives/__tests/ReductionContext.test.ts +222 -222
- package/src/primitives/__tests/Schnorr.test.ts +150 -148
- package/src/primitives/__tests/SymmetricKey.test.ts +44 -44
- package/src/primitives/__tests/SymmetricKey.vectors.ts +16 -8
- package/src/primitives/__tests/bug-31.test.ts +23 -29
- package/src/primitives/__tests/utils.test.ts +1 -1
- package/src/primitives/index.ts +14 -14
- package/src/primitives/utils.ts +25 -26
- package/src/script/LockingScript.ts +1 -1
- package/src/script/Script.ts +13 -11
- package/src/script/ScriptTemplate.ts +5 -5
- package/src/script/Spend.ts +27 -25
- package/src/script/UnlockingScript.ts +1 -1
- package/src/script/__tests/Script.test.ts +7 -3
- package/src/script/__tests/Spend.test.ts +23 -18
- package/src/script/__tests/SpendComplex.test.ts +27 -31
- package/src/script/__tests/script.invalid.vectors.ts +428 -1796
- package/src/script/__tests/script.valid.vectors.ts +1064 -1064
- package/src/script/index.ts +7 -7
- package/src/script/templates/P2PKH.ts +72 -61
- package/src/script/templates/PushDrop.ts +101 -95
- package/src/script/templates/RPuzzle.ts +65 -62
- package/src/script/templates/__tests/PushDrop.test.ts +2 -3
- package/src/script/templates/index.ts +3 -3
- package/src/totp/__tests/totp.test.ts +12 -11
- package/src/totp/index.ts +1 -1
- package/src/totp/totp.ts +5 -4
- package/src/transaction/Beef.ts +84 -59
- package/src/transaction/BeefParty.ts +9 -7
- package/src/transaction/BeefTx.ts +32 -26
- package/src/transaction/Broadcaster.ts +1 -1
- package/src/transaction/FeeModel.ts +1 -2
- package/src/transaction/MerklePath.ts +58 -37
- package/src/transaction/Transaction.ts +127 -103
- package/src/transaction/TransactionInput.ts +2 -2
- package/src/transaction/TransactionOutput.ts +1 -2
- package/src/transaction/__tests/Beef.test.ts +109 -68
- package/src/transaction/__tests/MerklePath.test.ts +132 -131
- package/src/transaction/__tests/Transaction.benchmarks.test.ts +10 -13
- package/src/transaction/__tests/Transaction.test.ts +20 -31
- 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 +117 -112
- package/src/transaction/broadcasters/DefaultBroadcaster.ts +4 -4
- package/src/transaction/broadcasters/WhatsOnChainBroadcaster.ts +32 -32
- package/src/transaction/broadcasters/__tests/ARC.test.ts +63 -27
- package/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.ts +9 -8
- package/src/transaction/broadcasters/index.ts +4 -4
- package/src/transaction/chaintrackers/DefaultChainTracker.ts +3 -3
- package/src/transaction/chaintrackers/WhatsOnChain.ts +39 -38
- package/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.ts +99 -99
- package/src/transaction/chaintrackers/index.ts +3 -3
- package/src/transaction/fee-models/SatoshisPerKilobyte.ts +30 -31
- package/src/transaction/fee-models/index.ts +1 -1
- package/src/transaction/http/DefaultHttpClient.ts +14 -13
- package/src/transaction/http/FetchHttpClient.ts +3 -3
- package/src/transaction/http/HttpClient.ts +20 -20
- package/src/transaction/http/NodejsHttpClient.ts +27 -27
- package/src/transaction/http/index.ts +7 -7
- package/src/transaction/index.ts +10 -10
- package/src/wallet/CachedKeyDeriver.ts +39 -16
- package/src/wallet/KeyDeriver.ts +4 -4
- package/src/wallet/ProtoWallet.ts +77 -44
- package/src/wallet/Wallet.interfaces.ts +10 -8
- package/src/wallet/WalletClient.ts +21 -24
- package/src/wallet/WalletError.ts +2 -2
- package/src/wallet/__tests/CachedKeyDeriver.test.ts +15 -12
- package/src/wallet/__tests/KeyDeriver.test.ts +115 -115
- package/src/wallet/__tests/ProtoWallet.test.ts +320 -313
- package/src/wallet/index.ts +8 -8
- package/src/wallet/substrates/HTTPWalletJSON.ts +54 -40
- package/src/wallet/substrates/HTTPWalletWire.ts +27 -27
- package/src/wallet/substrates/WalletWire.ts +1 -1
- package/src/wallet/substrates/WalletWireCalls.ts +2 -2
- package/src/wallet/substrates/WalletWireProcessor.ts +966 -967
- package/src/wallet/substrates/WalletWireTransceiver.ts +1012 -1007
- package/src/wallet/substrates/XDM.ts +18 -19
- package/src/wallet/substrates/__tests/WalletWire.integration.test.ts +6 -4
- package/src/wallet/substrates/__tests/XDM.test.ts +343 -341
- package/src/wallet/substrates/index.ts +7 -7
- package/src/wallet/substrates/window.CWI.ts +330 -330
- package/dist/cjs/src/auth/__tests/Peer.test.js +0 -446
- package/dist/cjs/src/auth/__tests/Peer.test.js.map +0 -1
- package/dist/cjs/src/auth/__tests/SessionManager.test.js +0 -69
- package/dist/cjs/src/auth/__tests/SessionManager.test.js.map +0 -1
- package/dist/cjs/src/auth/certificates/__tests/Certificate.test.js +0 -182
- package/dist/cjs/src/auth/certificates/__tests/Certificate.test.js.map +0 -1
- package/dist/cjs/src/auth/certificates/__tests/MasterCertificate.test.js +0 -184
- package/dist/cjs/src/auth/certificates/__tests/MasterCertificate.test.js.map +0 -1
- package/dist/cjs/src/auth/certificates/__tests/VerifiableCertificate.test.js +0 -75
- package/dist/cjs/src/auth/certificates/__tests/VerifiableCertificate.test.js.map +0 -1
- package/dist/cjs/src/auth/utils/__tests/cryptononce.test.js +0 -101
- package/dist/cjs/src/auth/utils/__tests/cryptononce.test.js.map +0 -1
- package/dist/cjs/src/auth/utils/__tests/getVerifiableCertificates.test.js +0 -106
- package/dist/cjs/src/auth/utils/__tests/getVerifiableCertificates.test.js.map +0 -1
- package/dist/cjs/src/auth/utils/__tests/validateCertificates.test.js +0 -111
- package/dist/cjs/src/auth/utils/__tests/validateCertificates.test.js.map +0 -1
- package/dist/cjs/src/compat/__tests/BSM.test.js +0 -69
- package/dist/cjs/src/compat/__tests/BSM.test.js.map +0 -1
- package/dist/cjs/src/compat/__tests/ECIES.test.js +0 -115
- package/dist/cjs/src/compat/__tests/ECIES.test.js.map +0 -1
- package/dist/cjs/src/compat/__tests/HD.test.js +0 -336
- package/dist/cjs/src/compat/__tests/HD.test.js.map +0 -1
- package/dist/cjs/src/compat/__tests/Mnemonic.test.js +0 -150
- package/dist/cjs/src/compat/__tests/Mnemonic.test.js.map +0 -1
- package/dist/cjs/src/compat/__tests/Mnemonic.vectors.js +0 -175
- package/dist/cjs/src/compat/__tests/Mnemonic.vectors.js.map +0 -1
- package/dist/cjs/src/messages/__tests/EncryptedMessage.test.js +0 -57
- package/dist/cjs/src/messages/__tests/EncryptedMessage.test.js.map +0 -1
- package/dist/cjs/src/messages/__tests/SignedMessage.test.js +0 -52
- package/dist/cjs/src/messages/__tests/SignedMessage.test.js.map +0 -1
- package/dist/cjs/src/overlay-tools/__tests/LookupResolver.test.js +0 -1471
- package/dist/cjs/src/overlay-tools/__tests/LookupResolver.test.js.map +0 -1
- package/dist/cjs/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js +0 -78
- package/dist/cjs/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js.map +0 -1
- package/dist/cjs/src/overlay-tools/__tests/SHIPBroadcaster.test.js +0 -933
- package/dist/cjs/src/overlay-tools/__tests/SHIPBroadcaster.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/AESGCM.test.js +0 -248
- package/dist/cjs/src/primitives/__tests/AESGCM.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/BRC42.private.vectors.js +0 -36
- package/dist/cjs/src/primitives/__tests/BRC42.private.vectors.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/BRC42.public.vectors.js +0 -36
- package/dist/cjs/src/primitives/__tests/BRC42.public.vectors.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/BigNumber.arithmatic.test.js +0 -501
- package/dist/cjs/src/primitives/__tests/BigNumber.arithmatic.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/BigNumber.binary.test.js +0 -185
- package/dist/cjs/src/primitives/__tests/BigNumber.binary.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/BigNumber.constructor.test.js +0 -149
- package/dist/cjs/src/primitives/__tests/BigNumber.constructor.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/BigNumber.dhGroup.test.js +0 -23
- package/dist/cjs/src/primitives/__tests/BigNumber.dhGroup.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/BigNumber.fixtures.js +0 -268
- package/dist/cjs/src/primitives/__tests/BigNumber.fixtures.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/BigNumber.serializers.test.js +0 -147
- package/dist/cjs/src/primitives/__tests/BigNumber.serializers.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/BigNumber.utils.test.js +0 -322
- package/dist/cjs/src/primitives/__tests/BigNumber.utils.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/Curve.unit.test.js +0 -145
- package/dist/cjs/src/primitives/__tests/Curve.unit.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/DRBG.test.js +0 -22
- package/dist/cjs/src/primitives/__tests/DRBG.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/DRBG.vectors.js +0 -170
- package/dist/cjs/src/primitives/__tests/DRBG.vectors.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/ECDH.test.js +0 -34
- package/dist/cjs/src/primitives/__tests/ECDH.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/ECDSA.test.js +0 -89
- package/dist/cjs/src/primitives/__tests/ECDSA.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/HMAC.test.js +0 -60
- package/dist/cjs/src/primitives/__tests/HMAC.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/Hash.test.js +0 -159
- package/dist/cjs/src/primitives/__tests/Hash.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/PBKDF2.vectors.js +0 -122
- package/dist/cjs/src/primitives/__tests/PBKDF2.vectors.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/PrivateKey.split.test.js +0 -105
- package/dist/cjs/src/primitives/__tests/PrivateKey.split.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/PrivateKey.test.js +0 -90
- package/dist/cjs/src/primitives/__tests/PrivateKey.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/PublicKey.test.js +0 -83
- package/dist/cjs/src/primitives/__tests/PublicKey.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/Random.test.js +0 -19
- package/dist/cjs/src/primitives/__tests/Random.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/Reader.test.js +0 -282
- package/dist/cjs/src/primitives/__tests/Reader.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/ReductionContext.test.js +0 -224
- package/dist/cjs/src/primitives/__tests/ReductionContext.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/Schnorr.test.js +0 -213
- package/dist/cjs/src/primitives/__tests/Schnorr.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/SymmetricKey.test.js +0 -51
- package/dist/cjs/src/primitives/__tests/SymmetricKey.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/SymmetricKey.vectors.js +0 -43
- package/dist/cjs/src/primitives/__tests/SymmetricKey.vectors.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/Writer.test.js +0 -176
- package/dist/cjs/src/primitives/__tests/Writer.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/bug-31.test.js +0 -32
- package/dist/cjs/src/primitives/__tests/bug-31.test.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/sighash.vectors.js +0 -3506
- package/dist/cjs/src/primitives/__tests/sighash.vectors.js.map +0 -1
- package/dist/cjs/src/primitives/__tests/utils.test.js +0 -110
- package/dist/cjs/src/primitives/__tests/utils.test.js.map +0 -1
- package/dist/cjs/src/script/__tests/Script.test.js +0 -347
- package/dist/cjs/src/script/__tests/Script.test.js.map +0 -1
- package/dist/cjs/src/script/__tests/Spend.test.js +0 -282
- package/dist/cjs/src/script/__tests/Spend.test.js.map +0 -1
- package/dist/cjs/src/script/__tests/SpendComplex.test.js +0 -52
- package/dist/cjs/src/script/__tests/SpendComplex.test.js.map +0 -1
- package/dist/cjs/src/script/__tests/script.invalid.vectors.js +0 -2370
- package/dist/cjs/src/script/__tests/script.invalid.vectors.js.map +0 -1
- package/dist/cjs/src/script/__tests/script.valid.vectors.js +0 -1181
- package/dist/cjs/src/script/__tests/script.valid.vectors.js.map +0 -1
- package/dist/cjs/src/script/__tests/spend.valid.vectors.js +0 -2298
- package/dist/cjs/src/script/__tests/spend.valid.vectors.js.map +0 -1
- package/dist/cjs/src/script/templates/__tests/PushDrop.test.js +0 -161
- package/dist/cjs/src/script/templates/__tests/PushDrop.test.js.map +0 -1
- package/dist/cjs/src/totp/__tests/totp.test.js +0 -67
- package/dist/cjs/src/totp/__tests/totp.test.js.map +0 -1
- package/dist/cjs/src/transaction/__tests/Beef.test.js +0 -393
- package/dist/cjs/src/transaction/__tests/Beef.test.js.map +0 -1
- package/dist/cjs/src/transaction/__tests/MerklePath.test.js +0 -209
- package/dist/cjs/src/transaction/__tests/MerklePath.test.js.map +0 -1
- package/dist/cjs/src/transaction/__tests/Transaction.benchmarks.test.js +0 -219
- package/dist/cjs/src/transaction/__tests/Transaction.benchmarks.test.js.map +0 -1
- package/dist/cjs/src/transaction/__tests/Transaction.test.js +0 -1073
- package/dist/cjs/src/transaction/__tests/Transaction.test.js.map +0 -1
- package/dist/cjs/src/transaction/__tests/bigtx.vectors.js +0 -7
- package/dist/cjs/src/transaction/__tests/bigtx.vectors.js.map +0 -1
- package/dist/cjs/src/transaction/__tests/bump.invalid.vectors.js +0 -11
- package/dist/cjs/src/transaction/__tests/bump.invalid.vectors.js.map +0 -1
- package/dist/cjs/src/transaction/__tests/bump.valid.vectors.js +0 -7
- package/dist/cjs/src/transaction/__tests/bump.valid.vectors.js.map +0 -1
- package/dist/cjs/src/transaction/__tests/tx.invalid.vectors.js +0 -230
- package/dist/cjs/src/transaction/__tests/tx.invalid.vectors.js.map +0 -1
- package/dist/cjs/src/transaction/__tests/tx.valid.vectors.js +0 -296
- package/dist/cjs/src/transaction/__tests/tx.valid.vectors.js.map +0 -1
- package/dist/cjs/src/transaction/broadcasters/__tests/ARC.test.js +0 -246
- package/dist/cjs/src/transaction/broadcasters/__tests/ARC.test.js.map +0 -1
- package/dist/cjs/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js +0 -148
- package/dist/cjs/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js.map +0 -1
- package/dist/cjs/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js +0 -155
- package/dist/cjs/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js.map +0 -1
- package/dist/cjs/src/wallet/__tests/CachedKeyDeriver.test.js +0 -269
- package/dist/cjs/src/wallet/__tests/CachedKeyDeriver.test.js.map +0 -1
- package/dist/cjs/src/wallet/__tests/KeyDeriver.test.js +0 -114
- package/dist/cjs/src/wallet/__tests/KeyDeriver.test.js.map +0 -1
- package/dist/cjs/src/wallet/__tests/ProtoWallet.test.js +0 -475
- package/dist/cjs/src/wallet/__tests/ProtoWallet.test.js.map +0 -1
- package/dist/cjs/src/wallet/substrates/__tests/WalletWire.integration.test.js +0 -1962
- package/dist/cjs/src/wallet/substrates/__tests/WalletWire.integration.test.js.map +0 -1
- package/dist/cjs/src/wallet/substrates/__tests/XDM.test.js +0 -579
- package/dist/cjs/src/wallet/substrates/__tests/XDM.test.js.map +0 -1
- package/dist/esm/src/auth/__tests/Peer.test.js +0 -448
- package/dist/esm/src/auth/__tests/Peer.test.js.map +0 -1
- package/dist/esm/src/auth/__tests/SessionManager.test.js +0 -69
- package/dist/esm/src/auth/__tests/SessionManager.test.js.map +0 -1
- package/dist/esm/src/auth/certificates/__tests/Certificate.test.js +0 -182
- package/dist/esm/src/auth/certificates/__tests/Certificate.test.js.map +0 -1
- package/dist/esm/src/auth/certificates/__tests/MasterCertificate.test.js +0 -184
- package/dist/esm/src/auth/certificates/__tests/MasterCertificate.test.js.map +0 -1
- package/dist/esm/src/auth/certificates/__tests/VerifiableCertificate.test.js +0 -75
- package/dist/esm/src/auth/certificates/__tests/VerifiableCertificate.test.js.map +0 -1
- package/dist/esm/src/auth/utils/__tests/cryptononce.test.js +0 -101
- package/dist/esm/src/auth/utils/__tests/cryptononce.test.js.map +0 -1
- package/dist/esm/src/auth/utils/__tests/getVerifiableCertificates.test.js +0 -106
- package/dist/esm/src/auth/utils/__tests/getVerifiableCertificates.test.js.map +0 -1
- package/dist/esm/src/auth/utils/__tests/validateCertificates.test.js +0 -111
- package/dist/esm/src/auth/utils/__tests/validateCertificates.test.js.map +0 -1
- package/dist/esm/src/compat/__tests/BSM.test.js +0 -69
- package/dist/esm/src/compat/__tests/BSM.test.js.map +0 -1
- package/dist/esm/src/compat/__tests/ECIES.test.js +0 -115
- package/dist/esm/src/compat/__tests/ECIES.test.js.map +0 -1
- package/dist/esm/src/compat/__tests/HD.test.js +0 -336
- package/dist/esm/src/compat/__tests/HD.test.js.map +0 -1
- package/dist/esm/src/compat/__tests/Mnemonic.test.js +0 -150
- package/dist/esm/src/compat/__tests/Mnemonic.test.js.map +0 -1
- package/dist/esm/src/compat/__tests/Mnemonic.vectors.js +0 -175
- package/dist/esm/src/compat/__tests/Mnemonic.vectors.js.map +0 -1
- package/dist/esm/src/messages/__tests/EncryptedMessage.test.js +0 -57
- package/dist/esm/src/messages/__tests/EncryptedMessage.test.js.map +0 -1
- package/dist/esm/src/messages/__tests/SignedMessage.test.js +0 -52
- package/dist/esm/src/messages/__tests/SignedMessage.test.js.map +0 -1
- package/dist/esm/src/overlay-tools/__tests/LookupResolver.test.js +0 -1471
- package/dist/esm/src/overlay-tools/__tests/LookupResolver.test.js.map +0 -1
- package/dist/esm/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js +0 -78
- package/dist/esm/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js.map +0 -1
- package/dist/esm/src/overlay-tools/__tests/SHIPBroadcaster.test.js +0 -933
- package/dist/esm/src/overlay-tools/__tests/SHIPBroadcaster.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/AESGCM.test.js +0 -248
- package/dist/esm/src/primitives/__tests/AESGCM.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/BRC42.private.vectors.js +0 -36
- package/dist/esm/src/primitives/__tests/BRC42.private.vectors.js.map +0 -1
- package/dist/esm/src/primitives/__tests/BRC42.public.vectors.js +0 -36
- package/dist/esm/src/primitives/__tests/BRC42.public.vectors.js.map +0 -1
- package/dist/esm/src/primitives/__tests/BigNumber.arithmatic.test.js +0 -501
- package/dist/esm/src/primitives/__tests/BigNumber.arithmatic.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/BigNumber.binary.test.js +0 -185
- package/dist/esm/src/primitives/__tests/BigNumber.binary.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/BigNumber.constructor.test.js +0 -149
- package/dist/esm/src/primitives/__tests/BigNumber.constructor.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/BigNumber.dhGroup.test.js +0 -23
- package/dist/esm/src/primitives/__tests/BigNumber.dhGroup.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/BigNumber.fixtures.js +0 -268
- package/dist/esm/src/primitives/__tests/BigNumber.fixtures.js.map +0 -1
- package/dist/esm/src/primitives/__tests/BigNumber.serializers.test.js +0 -147
- package/dist/esm/src/primitives/__tests/BigNumber.serializers.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/BigNumber.utils.test.js +0 -322
- package/dist/esm/src/primitives/__tests/BigNumber.utils.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/Curve.unit.test.js +0 -145
- package/dist/esm/src/primitives/__tests/Curve.unit.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/DRBG.test.js +0 -22
- package/dist/esm/src/primitives/__tests/DRBG.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/DRBG.vectors.js +0 -170
- package/dist/esm/src/primitives/__tests/DRBG.vectors.js.map +0 -1
- package/dist/esm/src/primitives/__tests/ECDH.test.js +0 -34
- package/dist/esm/src/primitives/__tests/ECDH.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/ECDSA.test.js +0 -89
- package/dist/esm/src/primitives/__tests/ECDSA.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/HMAC.test.js +0 -60
- package/dist/esm/src/primitives/__tests/HMAC.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/Hash.test.js +0 -159
- package/dist/esm/src/primitives/__tests/Hash.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/PBKDF2.vectors.js +0 -122
- package/dist/esm/src/primitives/__tests/PBKDF2.vectors.js.map +0 -1
- package/dist/esm/src/primitives/__tests/PrivateKey.split.test.js +0 -105
- package/dist/esm/src/primitives/__tests/PrivateKey.split.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/PrivateKey.test.js +0 -90
- package/dist/esm/src/primitives/__tests/PrivateKey.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/PublicKey.test.js +0 -83
- package/dist/esm/src/primitives/__tests/PublicKey.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/Random.test.js +0 -19
- package/dist/esm/src/primitives/__tests/Random.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/Reader.test.js +0 -282
- package/dist/esm/src/primitives/__tests/Reader.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/ReductionContext.test.js +0 -223
- package/dist/esm/src/primitives/__tests/ReductionContext.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/Schnorr.test.js +0 -213
- package/dist/esm/src/primitives/__tests/Schnorr.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/SymmetricKey.test.js +0 -51
- package/dist/esm/src/primitives/__tests/SymmetricKey.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/SymmetricKey.vectors.js +0 -43
- package/dist/esm/src/primitives/__tests/SymmetricKey.vectors.js.map +0 -1
- package/dist/esm/src/primitives/__tests/Writer.test.js +0 -176
- package/dist/esm/src/primitives/__tests/Writer.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/bug-31.test.js +0 -32
- package/dist/esm/src/primitives/__tests/bug-31.test.js.map +0 -1
- package/dist/esm/src/primitives/__tests/sighash.vectors.js +0 -3506
- package/dist/esm/src/primitives/__tests/sighash.vectors.js.map +0 -1
- package/dist/esm/src/primitives/__tests/utils.test.js +0 -110
- package/dist/esm/src/primitives/__tests/utils.test.js.map +0 -1
- package/dist/esm/src/script/__tests/Script.test.js +0 -347
- package/dist/esm/src/script/__tests/Script.test.js.map +0 -1
- package/dist/esm/src/script/__tests/Spend.test.js +0 -282
- package/dist/esm/src/script/__tests/Spend.test.js.map +0 -1
- package/dist/esm/src/script/__tests/SpendComplex.test.js +0 -51
- package/dist/esm/src/script/__tests/SpendComplex.test.js.map +0 -1
- package/dist/esm/src/script/__tests/script.invalid.vectors.js +0 -2370
- package/dist/esm/src/script/__tests/script.invalid.vectors.js.map +0 -1
- package/dist/esm/src/script/__tests/script.valid.vectors.js +0 -1181
- package/dist/esm/src/script/__tests/script.valid.vectors.js.map +0 -1
- package/dist/esm/src/script/__tests/spend.valid.vectors.js +0 -2298
- package/dist/esm/src/script/__tests/spend.valid.vectors.js.map +0 -1
- package/dist/esm/src/script/templates/__tests/PushDrop.test.js +0 -161
- package/dist/esm/src/script/templates/__tests/PushDrop.test.js.map +0 -1
- package/dist/esm/src/totp/__tests/totp.test.js +0 -67
- package/dist/esm/src/totp/__tests/totp.test.js.map +0 -1
- package/dist/esm/src/transaction/__tests/Beef.test.js +0 -393
- package/dist/esm/src/transaction/__tests/Beef.test.js.map +0 -1
- package/dist/esm/src/transaction/__tests/MerklePath.test.js +0 -209
- package/dist/esm/src/transaction/__tests/MerklePath.test.js.map +0 -1
- package/dist/esm/src/transaction/__tests/Transaction.benchmarks.test.js +0 -219
- package/dist/esm/src/transaction/__tests/Transaction.benchmarks.test.js.map +0 -1
- package/dist/esm/src/transaction/__tests/Transaction.test.js +0 -1072
- package/dist/esm/src/transaction/__tests/Transaction.test.js.map +0 -1
- package/dist/esm/src/transaction/__tests/bigtx.vectors.js +0 -7
- package/dist/esm/src/transaction/__tests/bigtx.vectors.js.map +0 -1
- package/dist/esm/src/transaction/__tests/bump.invalid.vectors.js +0 -11
- package/dist/esm/src/transaction/__tests/bump.invalid.vectors.js.map +0 -1
- package/dist/esm/src/transaction/__tests/bump.valid.vectors.js +0 -7
- package/dist/esm/src/transaction/__tests/bump.valid.vectors.js.map +0 -1
- package/dist/esm/src/transaction/__tests/tx.invalid.vectors.js +0 -230
- package/dist/esm/src/transaction/__tests/tx.invalid.vectors.js.map +0 -1
- package/dist/esm/src/transaction/__tests/tx.valid.vectors.js +0 -296
- package/dist/esm/src/transaction/__tests/tx.valid.vectors.js.map +0 -1
- package/dist/esm/src/transaction/broadcasters/__tests/ARC.test.js +0 -246
- package/dist/esm/src/transaction/broadcasters/__tests/ARC.test.js.map +0 -1
- package/dist/esm/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js +0 -148
- package/dist/esm/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js.map +0 -1
- package/dist/esm/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js +0 -155
- package/dist/esm/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js.map +0 -1
- package/dist/esm/src/wallet/__tests/CachedKeyDeriver.test.js +0 -269
- package/dist/esm/src/wallet/__tests/CachedKeyDeriver.test.js.map +0 -1
- package/dist/esm/src/wallet/__tests/KeyDeriver.test.js +0 -113
- package/dist/esm/src/wallet/__tests/KeyDeriver.test.js.map +0 -1
- package/dist/esm/src/wallet/__tests/ProtoWallet.test.js +0 -475
- package/dist/esm/src/wallet/__tests/ProtoWallet.test.js.map +0 -1
- package/dist/esm/src/wallet/substrates/__tests/WalletWire.integration.test.js +0 -1962
- package/dist/esm/src/wallet/substrates/__tests/WalletWire.integration.test.js.map +0 -1
- package/dist/esm/src/wallet/substrates/__tests/XDM.test.js +0 -579
- package/dist/esm/src/wallet/substrates/__tests/XDM.test.js.map +0 -1
- package/dist/types/src/auth/__tests/Peer.test.d.ts +0 -2
- package/dist/types/src/auth/__tests/Peer.test.d.ts.map +0 -1
- package/dist/types/src/auth/__tests/SessionManager.test.d.ts +0 -2
- package/dist/types/src/auth/__tests/SessionManager.test.d.ts.map +0 -1
- package/dist/types/src/auth/certificates/__tests/Certificate.test.d.ts +0 -2
- package/dist/types/src/auth/certificates/__tests/Certificate.test.d.ts.map +0 -1
- package/dist/types/src/auth/certificates/__tests/MasterCertificate.test.d.ts +0 -2
- package/dist/types/src/auth/certificates/__tests/MasterCertificate.test.d.ts.map +0 -1
- package/dist/types/src/auth/certificates/__tests/VerifiableCertificate.test.d.ts +0 -2
- package/dist/types/src/auth/certificates/__tests/VerifiableCertificate.test.d.ts.map +0 -1
- package/dist/types/src/auth/utils/__tests/cryptononce.test.d.ts +0 -2
- package/dist/types/src/auth/utils/__tests/cryptononce.test.d.ts.map +0 -1
- package/dist/types/src/auth/utils/__tests/getVerifiableCertificates.test.d.ts +0 -2
- package/dist/types/src/auth/utils/__tests/getVerifiableCertificates.test.d.ts.map +0 -1
- package/dist/types/src/auth/utils/__tests/validateCertificates.test.d.ts +0 -2
- package/dist/types/src/auth/utils/__tests/validateCertificates.test.d.ts.map +0 -1
- package/dist/types/src/compat/__tests/BSM.test.d.ts +0 -2
- package/dist/types/src/compat/__tests/BSM.test.d.ts.map +0 -1
- package/dist/types/src/compat/__tests/ECIES.test.d.ts +0 -2
- package/dist/types/src/compat/__tests/ECIES.test.d.ts.map +0 -1
- package/dist/types/src/compat/__tests/HD.test.d.ts +0 -2
- package/dist/types/src/compat/__tests/HD.test.d.ts.map +0 -1
- package/dist/types/src/compat/__tests/Mnemonic.test.d.ts +0 -2
- package/dist/types/src/compat/__tests/Mnemonic.test.d.ts.map +0 -1
- package/dist/types/src/compat/__tests/Mnemonic.vectors.d.ts +0 -11
- package/dist/types/src/compat/__tests/Mnemonic.vectors.d.ts.map +0 -1
- package/dist/types/src/messages/__tests/EncryptedMessage.test.d.ts +0 -2
- package/dist/types/src/messages/__tests/EncryptedMessage.test.d.ts.map +0 -1
- package/dist/types/src/messages/__tests/SignedMessage.test.d.ts +0 -2
- package/dist/types/src/messages/__tests/SignedMessage.test.d.ts.map +0 -1
- package/dist/types/src/overlay-tools/__tests/LookupResolver.test.d.ts +0 -2
- package/dist/types/src/overlay-tools/__tests/LookupResolver.test.d.ts.map +0 -1
- package/dist/types/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.d.ts +0 -2
- package/dist/types/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.d.ts.map +0 -1
- package/dist/types/src/overlay-tools/__tests/SHIPBroadcaster.test.d.ts +0 -2
- package/dist/types/src/overlay-tools/__tests/SHIPBroadcaster.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/AESGCM.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/AESGCM.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/BRC42.private.vectors.d.ts +0 -8
- package/dist/types/src/primitives/__tests/BRC42.private.vectors.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/BRC42.public.vectors.d.ts +0 -8
- package/dist/types/src/primitives/__tests/BRC42.public.vectors.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/BigNumber.arithmatic.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/BigNumber.arithmatic.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/BigNumber.binary.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/BigNumber.binary.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/BigNumber.constructor.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/BigNumber.constructor.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/BigNumber.dhGroup.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/BigNumber.dhGroup.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/BigNumber.fixtures.d.ts +0 -15
- package/dist/types/src/primitives/__tests/BigNumber.fixtures.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/BigNumber.serializers.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/BigNumber.serializers.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/BigNumber.utils.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/BigNumber.utils.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/Curve.unit.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/Curve.unit.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/DRBG.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/DRBG.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/DRBG.vectors.d.ts +0 -10
- package/dist/types/src/primitives/__tests/DRBG.vectors.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/ECDH.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/ECDH.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/ECDSA.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/ECDSA.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/HMAC.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/HMAC.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/Hash.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/Hash.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/PBKDF2.vectors.d.ts +0 -68
- package/dist/types/src/primitives/__tests/PBKDF2.vectors.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/PrivateKey.split.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/PrivateKey.split.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/PrivateKey.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/PrivateKey.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/PublicKey.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/PublicKey.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/Random.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/Random.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/Reader.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/Reader.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/ReductionContext.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/ReductionContext.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/Schnorr.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/Schnorr.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/SymmetricKey.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/SymmetricKey.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/SymmetricKey.vectors.d.ts +0 -20
- package/dist/types/src/primitives/__tests/SymmetricKey.vectors.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/Writer.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/Writer.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/bug-31.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/bug-31.test.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/sighash.vectors.d.ts +0 -3
- package/dist/types/src/primitives/__tests/sighash.vectors.d.ts.map +0 -1
- package/dist/types/src/primitives/__tests/utils.test.d.ts +0 -2
- package/dist/types/src/primitives/__tests/utils.test.d.ts.map +0 -1
- package/dist/types/src/script/__tests/Script.test.d.ts +0 -2
- package/dist/types/src/script/__tests/Script.test.d.ts.map +0 -1
- package/dist/types/src/script/__tests/Spend.test.d.ts +0 -2
- package/dist/types/src/script/__tests/Spend.test.d.ts.map +0 -1
- package/dist/types/src/script/__tests/SpendComplex.test.d.ts +0 -2
- package/dist/types/src/script/__tests/SpendComplex.test.d.ts.map +0 -1
- package/dist/types/src/script/__tests/script.invalid.vectors.d.ts +0 -3
- package/dist/types/src/script/__tests/script.invalid.vectors.d.ts.map +0 -1
- package/dist/types/src/script/__tests/script.valid.vectors.d.ts +0 -3
- package/dist/types/src/script/__tests/script.valid.vectors.d.ts.map +0 -1
- package/dist/types/src/script/__tests/spend.valid.vectors.d.ts +0 -3
- package/dist/types/src/script/__tests/spend.valid.vectors.d.ts.map +0 -1
- package/dist/types/src/script/templates/__tests/PushDrop.test.d.ts +0 -2
- package/dist/types/src/script/templates/__tests/PushDrop.test.d.ts.map +0 -1
- package/dist/types/src/totp/__tests/totp.test.d.ts +0 -2
- package/dist/types/src/totp/__tests/totp.test.d.ts.map +0 -1
- package/dist/types/src/transaction/__tests/Beef.test.d.ts +0 -2
- package/dist/types/src/transaction/__tests/Beef.test.d.ts.map +0 -1
- package/dist/types/src/transaction/__tests/MerklePath.test.d.ts +0 -2
- package/dist/types/src/transaction/__tests/MerklePath.test.d.ts.map +0 -1
- package/dist/types/src/transaction/__tests/Transaction.benchmarks.test.d.ts +0 -2
- package/dist/types/src/transaction/__tests/Transaction.benchmarks.test.d.ts.map +0 -1
- package/dist/types/src/transaction/__tests/Transaction.test.d.ts +0 -2
- package/dist/types/src/transaction/__tests/Transaction.test.d.ts.map +0 -1
- package/dist/types/src/transaction/__tests/bigtx.vectors.d.ts +0 -6
- package/dist/types/src/transaction/__tests/bigtx.vectors.d.ts.map +0 -1
- package/dist/types/src/transaction/__tests/bump.invalid.vectors.d.ts +0 -6
- package/dist/types/src/transaction/__tests/bump.invalid.vectors.d.ts.map +0 -1
- package/dist/types/src/transaction/__tests/bump.valid.vectors.d.ts +0 -5
- package/dist/types/src/transaction/__tests/bump.valid.vectors.d.ts.map +0 -1
- package/dist/types/src/transaction/__tests/tx.invalid.vectors.d.ts +0 -3
- package/dist/types/src/transaction/__tests/tx.invalid.vectors.d.ts.map +0 -1
- package/dist/types/src/transaction/__tests/tx.valid.vectors.d.ts +0 -3
- package/dist/types/src/transaction/__tests/tx.valid.vectors.d.ts.map +0 -1
- package/dist/types/src/transaction/broadcasters/__tests/ARC.test.d.ts +0 -2
- package/dist/types/src/transaction/broadcasters/__tests/ARC.test.d.ts.map +0 -1
- package/dist/types/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.d.ts +0 -2
- package/dist/types/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.d.ts.map +0 -1
- package/dist/types/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.d.ts +0 -2
- package/dist/types/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.d.ts.map +0 -1
- package/dist/types/src/wallet/__tests/CachedKeyDeriver.test.d.ts +0 -2
- package/dist/types/src/wallet/__tests/CachedKeyDeriver.test.d.ts.map +0 -1
- package/dist/types/src/wallet/__tests/KeyDeriver.test.d.ts +0 -2
- package/dist/types/src/wallet/__tests/KeyDeriver.test.d.ts.map +0 -1
- package/dist/types/src/wallet/__tests/ProtoWallet.test.d.ts +0 -2
- package/dist/types/src/wallet/__tests/ProtoWallet.test.d.ts.map +0 -1
- package/dist/types/src/wallet/substrates/__tests/WalletWire.integration.test.d.ts +0 -2
- package/dist/types/src/wallet/substrates/__tests/WalletWire.integration.test.d.ts.map +0 -1
- package/dist/types/src/wallet/substrates/__tests/XDM.test.d.ts +0 -5
- package/dist/types/src/wallet/substrates/__tests/XDM.test.d.ts.map +0 -1
|
@@ -1,132 +1,108 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { Utils, Random, P2PKH, PublicKey, WalletInterface } from '../../../mod.js'
|
|
3
|
+
import { Peer } from '../Peer.js'
|
|
4
|
+
import { SimplifiedFetchTransport } from '../transports/SimplifiedFetchTransport.js'
|
|
5
|
+
import { SessionManager } from '../SessionManager.js'
|
|
6
|
+
import { RequestedCertificateSet } from '../types.js'
|
|
7
|
+
import { VerifiableCertificate } from '../certificates/VerifiableCertificate.js'
|
|
8
|
+
import { Writer } from '../../primitives/utils.js'
|
|
8
9
|
|
|
9
10
|
type SimplifiedFetchRequestOptions = {
|
|
10
|
-
method?: string
|
|
11
|
-
headers?: Record<string, string
|
|
12
|
-
body?: any
|
|
13
|
-
retryCounter?: number
|
|
14
|
-
}
|
|
15
|
-
type AuthPeer = {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
supportsMutualAuth?: boolean;
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
const PAYMENT_VERSION = "1.0";
|
|
11
|
+
method?: string,
|
|
12
|
+
headers?: Record<string, string>,
|
|
13
|
+
body?: any,
|
|
14
|
+
retryCounter?: number
|
|
15
|
+
}
|
|
16
|
+
type AuthPeer = { peer: Peer, identityKey?: string, supportsMutualAuth?: boolean }
|
|
17
|
+
|
|
18
|
+
const PAYMENT_VERSION = '1.0'
|
|
22
19
|
|
|
23
20
|
/**
|
|
24
21
|
* AuthFetch provides a lightweight fetch client for interacting with servers
|
|
25
22
|
* over a simplified HTTP transport mechanism. It integrates session management, peer communication,
|
|
26
23
|
* and certificate handling to enable secure and mutually-authenticated requests.
|
|
27
|
-
*
|
|
24
|
+
*
|
|
28
25
|
* Additionally, it automatically handles 402 Payment Required responses by creating
|
|
29
26
|
* and sending BSV payment transactions when necessary.
|
|
30
27
|
*/
|
|
31
28
|
export class AuthFetch {
|
|
32
|
-
private sessionManager: SessionManager
|
|
33
|
-
private wallet: WalletInterface
|
|
34
|
-
private callbacks: Record<string, { resolve: Function
|
|
35
|
-
|
|
36
|
-
private
|
|
37
|
-
|
|
38
|
-
peers: Record<string, AuthPeer> = {};
|
|
29
|
+
private sessionManager: SessionManager
|
|
30
|
+
private wallet: WalletInterface
|
|
31
|
+
private callbacks: Record<string, { resolve: Function, reject: Function }> = {}
|
|
32
|
+
private certificatesReceived: VerifiableCertificate[] = []
|
|
33
|
+
private requestedCertificates?: RequestedCertificateSet
|
|
34
|
+
peers: Record<string, AuthPeer> = {}
|
|
39
35
|
|
|
40
36
|
/**
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
constructor(
|
|
46
|
-
wallet
|
|
47
|
-
requestedCertificates
|
|
48
|
-
sessionManager
|
|
49
|
-
) {
|
|
50
|
-
this.wallet = wallet;
|
|
51
|
-
this.requestedCertificates = requestedCertificates;
|
|
52
|
-
this.sessionManager = sessionManager || new SessionManager();
|
|
37
|
+
* Constructs a new AuthFetch instance.
|
|
38
|
+
* @param wallet - The wallet instance for signing and authentication.
|
|
39
|
+
* @param requestedCertificates - Optional set of certificates to request from peers.
|
|
40
|
+
*/
|
|
41
|
+
constructor(wallet: WalletInterface, requestedCertificates?: RequestedCertificateSet, sessionManager?: SessionManager) {
|
|
42
|
+
this.wallet = wallet
|
|
43
|
+
this.requestedCertificates = requestedCertificates
|
|
44
|
+
this.sessionManager = sessionManager || new SessionManager()
|
|
53
45
|
}
|
|
54
46
|
|
|
55
47
|
/**
|
|
56
48
|
* Mutually authenticates and sends a HTTP request to a server.
|
|
57
|
-
*
|
|
49
|
+
*
|
|
58
50
|
* 1) Attempt the request.
|
|
59
51
|
* 2) If 402 Payment Required, automatically create and send payment.
|
|
60
52
|
* 3) Return the final response.
|
|
61
|
-
*
|
|
53
|
+
*
|
|
62
54
|
* @param url - The URL to send the request to.
|
|
63
55
|
* @param config - Configuration options for the request, including method, headers, and body.
|
|
64
56
|
* @returns A promise that resolves with the server's response, structured as a Response-like object.
|
|
65
|
-
*
|
|
57
|
+
*
|
|
66
58
|
* @throws Will throw an error if unsupported headers are used or other validation fails.
|
|
67
59
|
*/
|
|
68
|
-
async fetch(
|
|
69
|
-
url: string,
|
|
70
|
-
config: SimplifiedFetchRequestOptions = {}
|
|
71
|
-
): Promise<Response> {
|
|
60
|
+
async fetch(url: string, config: SimplifiedFetchRequestOptions = {}): Promise<Response> {
|
|
72
61
|
if (config.retryCounter) {
|
|
73
62
|
if (config.retryCounter <= 0) {
|
|
74
|
-
throw new Error(
|
|
63
|
+
throw new Error('Request failed after maximum number of retries.')
|
|
75
64
|
}
|
|
76
|
-
config.retryCounter
|
|
65
|
+
config.retryCounter--
|
|
77
66
|
}
|
|
78
67
|
const response = await new Promise<Response>(async (resolve, reject) => {
|
|
79
68
|
try {
|
|
80
69
|
// Apply defaults
|
|
81
|
-
const { method =
|
|
70
|
+
const { method = 'GET', headers = {}, body } = config
|
|
82
71
|
|
|
83
72
|
// Extract a base url
|
|
84
|
-
const parsedUrl = new URL(url)
|
|
85
|
-
const baseURL = parsedUrl.origin
|
|
73
|
+
const parsedUrl = new URL(url)
|
|
74
|
+
const baseURL = parsedUrl.origin
|
|
86
75
|
|
|
87
76
|
// Create a new transport for this base url if needed
|
|
88
|
-
let peerToUse: AuthPeer
|
|
77
|
+
let peerToUse: AuthPeer
|
|
89
78
|
if (!this.peers[baseURL]) {
|
|
90
79
|
// Create a peer for the request
|
|
91
|
-
const newTransport = new SimplifiedFetchTransport(baseURL)
|
|
80
|
+
const newTransport = new SimplifiedFetchTransport(baseURL)
|
|
92
81
|
peerToUse = {
|
|
93
|
-
peer: new Peer(
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
)
|
|
99
|
-
}
|
|
100
|
-
this.peers[baseURL] = peerToUse;
|
|
101
|
-
const callbackId = this.peers[
|
|
102
|
-
baseURL
|
|
103
|
-
].peer.listenForCertificatesReceived(
|
|
104
|
-
(senderPublicKey: string, certs: VerifiableCertificate[]) => {
|
|
105
|
-
this.certificatesReceived.push(...certs);
|
|
106
|
-
// peerToUse.peer.stopListeningForCertificatesReceived()
|
|
107
|
-
}
|
|
108
|
-
);
|
|
82
|
+
peer: new Peer(this.wallet, newTransport, this.requestedCertificates, this.sessionManager)
|
|
83
|
+
}
|
|
84
|
+
this.peers[baseURL] = peerToUse
|
|
85
|
+
const callbackId = this.peers[baseURL].peer.listenForCertificatesReceived((senderPublicKey: string, certs: VerifiableCertificate[]) => {
|
|
86
|
+
this.certificatesReceived.push(...certs)
|
|
87
|
+
// peerToUse.peer.stopListeningForCertificatesReceived()
|
|
88
|
+
})
|
|
109
89
|
} else {
|
|
110
90
|
// Check if there's a session associated with this baseURL
|
|
111
91
|
if (this.peers[baseURL].supportsMutualAuth === false) {
|
|
112
92
|
// Use standard fetch if mutual authentication is not supported
|
|
113
93
|
try {
|
|
114
|
-
const response = await this.handleFetchAndValidate(
|
|
115
|
-
|
|
116
|
-
config,
|
|
117
|
-
this.peers[baseURL]
|
|
118
|
-
);
|
|
119
|
-
resolve(response);
|
|
94
|
+
const response = await this.handleFetchAndValidate(url, config, this.peers[baseURL])
|
|
95
|
+
resolve(response)
|
|
120
96
|
} catch (error) {
|
|
121
|
-
reject(error)
|
|
97
|
+
reject(error)
|
|
122
98
|
}
|
|
123
99
|
}
|
|
124
|
-
peerToUse = this.peers[baseURL]
|
|
100
|
+
peerToUse = this.peers[baseURL]
|
|
125
101
|
}
|
|
126
102
|
|
|
127
103
|
// Serialize the simplified fetch request.
|
|
128
|
-
const requestNonce = Random(32)
|
|
129
|
-
const requestNonceAsBase64 = Utils.toBase64(requestNonce)
|
|
104
|
+
const requestNonce = Random(32)
|
|
105
|
+
const requestNonceAsBase64 = Utils.toBase64(requestNonce)
|
|
130
106
|
|
|
131
107
|
const writer = await this.serializeRequest(
|
|
132
108
|
method,
|
|
@@ -134,163 +110,142 @@ export class AuthFetch {
|
|
|
134
110
|
body,
|
|
135
111
|
parsedUrl,
|
|
136
112
|
requestNonce
|
|
137
|
-
)
|
|
113
|
+
)
|
|
138
114
|
|
|
139
115
|
// Setup general message listener to resolve requests once a response is received
|
|
140
|
-
this.callbacks[requestNonceAsBase64] = { resolve, reject }
|
|
141
|
-
const listenerId = peerToUse.peer.listenForGeneralMessages(
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
const headerValueBytes =
|
|
169
|
-
responseReader.read(nHeaderValueBytes);
|
|
170
|
-
const headerValue = Utils.toUTF8(headerValueBytes);
|
|
171
|
-
responseHeaders[headerKey] = headerValue;
|
|
172
|
-
}
|
|
116
|
+
this.callbacks[requestNonceAsBase64] = { resolve, reject }
|
|
117
|
+
const listenerId = peerToUse.peer.listenForGeneralMessages((senderPublicKey: string, payload: number[]) => {
|
|
118
|
+
// Create a reader
|
|
119
|
+
const responseReader = new Utils.Reader(payload)
|
|
120
|
+
// Deserialize first 32 bytes of payload
|
|
121
|
+
const responseNonceAsBase64 = Utils.toBase64(responseReader.read(32))
|
|
122
|
+
if (responseNonceAsBase64 === requestNonceAsBase64) {
|
|
123
|
+
peerToUse.peer.stopListeningForGeneralMessages(listenerId)
|
|
124
|
+
|
|
125
|
+
// Save the identity key for the peer for future requests, since we have it here.
|
|
126
|
+
this.peers[baseURL].identityKey = senderPublicKey
|
|
127
|
+
this.peers[baseURL].supportsMutualAuth = true
|
|
128
|
+
|
|
129
|
+
// Status code
|
|
130
|
+
const statusCode = responseReader.readVarIntNum()
|
|
131
|
+
|
|
132
|
+
// Headers
|
|
133
|
+
const responseHeaders = {}
|
|
134
|
+
const nHeaders = responseReader.readVarIntNum()
|
|
135
|
+
if (nHeaders > 0) {
|
|
136
|
+
for (let i = 0; i < nHeaders; i++) {
|
|
137
|
+
const nHeaderKeyBytes = responseReader.readVarIntNum()
|
|
138
|
+
const headerKeyBytes = responseReader.read(nHeaderKeyBytes)
|
|
139
|
+
const headerKey = Utils.toUTF8(headerKeyBytes)
|
|
140
|
+
const nHeaderValueBytes = responseReader.readVarIntNum()
|
|
141
|
+
const headerValueBytes = responseReader.read(nHeaderValueBytes)
|
|
142
|
+
const headerValue = Utils.toUTF8(headerValueBytes)
|
|
143
|
+
responseHeaders[headerKey] = headerValue
|
|
173
144
|
}
|
|
145
|
+
}
|
|
174
146
|
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
// Body
|
|
179
|
-
let responseBody;
|
|
180
|
-
const responseBodyBytes = responseReader.readVarIntNum();
|
|
181
|
-
if (responseBodyBytes > 0) {
|
|
182
|
-
responseBody = responseReader.read(responseBodyBytes);
|
|
183
|
-
}
|
|
147
|
+
// Add back the server identity key header
|
|
148
|
+
responseHeaders['x-bsv-auth-identity-key'] = senderPublicKey
|
|
184
149
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
statusText: `${statusCode}`,
|
|
191
|
-
headers: new Headers(responseHeaders),
|
|
192
|
-
}
|
|
193
|
-
);
|
|
194
|
-
|
|
195
|
-
// Resolve or reject the correct request with the response data
|
|
196
|
-
this.callbacks[requestNonceAsBase64].resolve(responseValue);
|
|
197
|
-
|
|
198
|
-
// Clean up
|
|
199
|
-
delete this.callbacks[requestNonceAsBase64];
|
|
150
|
+
// Body
|
|
151
|
+
let responseBody
|
|
152
|
+
const responseBodyBytes = responseReader.readVarIntNum()
|
|
153
|
+
if (responseBodyBytes > 0) {
|
|
154
|
+
responseBody = responseReader.read(responseBodyBytes)
|
|
200
155
|
}
|
|
156
|
+
|
|
157
|
+
// Create the Response object
|
|
158
|
+
const responseValue = new Response(
|
|
159
|
+
responseBody ? new Uint8Array(responseBody) : null, {
|
|
160
|
+
status: statusCode,
|
|
161
|
+
statusText: `${statusCode}`,
|
|
162
|
+
headers: new Headers(responseHeaders)
|
|
163
|
+
})
|
|
164
|
+
|
|
165
|
+
// Resolve or reject the correct request with the response data
|
|
166
|
+
this.callbacks[requestNonceAsBase64].resolve(responseValue)
|
|
167
|
+
|
|
168
|
+
// Clean up
|
|
169
|
+
delete this.callbacks[requestNonceAsBase64]
|
|
201
170
|
}
|
|
202
|
-
)
|
|
171
|
+
})
|
|
203
172
|
|
|
204
173
|
// Send the request, now that all listeners are set up
|
|
205
|
-
await peerToUse.peer
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
config,
|
|
213
|
-
peerToUse
|
|
214
|
-
);
|
|
215
|
-
resolve(response);
|
|
216
|
-
} catch (fetchError) {
|
|
217
|
-
reject(fetchError);
|
|
218
|
-
}
|
|
219
|
-
} else {
|
|
220
|
-
reject(error);
|
|
174
|
+
await peerToUse.peer.toPeer(writer.toArray(), peerToUse.identityKey).catch(async error => {
|
|
175
|
+
if (error.message.includes('HTTP server failed to authenticate')) {
|
|
176
|
+
try {
|
|
177
|
+
const response = await this.handleFetchAndValidate(url, config, peerToUse)
|
|
178
|
+
resolve(response)
|
|
179
|
+
} catch (fetchError) {
|
|
180
|
+
reject(fetchError)
|
|
221
181
|
}
|
|
222
|
-
}
|
|
182
|
+
} else {
|
|
183
|
+
reject(error)
|
|
184
|
+
}
|
|
185
|
+
})
|
|
223
186
|
} catch (e) {
|
|
224
|
-
reject(e)
|
|
187
|
+
reject(e)
|
|
225
188
|
}
|
|
226
|
-
})
|
|
189
|
+
})
|
|
227
190
|
|
|
228
191
|
// Check if server requires payment to access the requested route
|
|
229
192
|
if (response.status === 402) {
|
|
230
193
|
// Create and attach a payment, then retry
|
|
231
|
-
return await this.handlePaymentAndRetry(url, config, response)
|
|
194
|
+
return await this.handlePaymentAndRetry(url, config, response)
|
|
232
195
|
}
|
|
233
196
|
|
|
234
|
-
return response
|
|
197
|
+
return response
|
|
235
198
|
}
|
|
236
199
|
|
|
237
200
|
/**
|
|
238
201
|
* Request Certificates from a Peer
|
|
239
|
-
* @param baseUrl
|
|
240
|
-
* @param certificatesToRequest
|
|
202
|
+
* @param baseUrl
|
|
203
|
+
* @param certificatesToRequest
|
|
241
204
|
*/
|
|
242
|
-
async sendCertificateRequest(
|
|
243
|
-
baseUrl
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
const baseURL = parsedUrl.origin;
|
|
248
|
-
|
|
249
|
-
let peerToUse: { peer: Peer; identityKey?: string };
|
|
205
|
+
async sendCertificateRequest(baseUrl: string, certificatesToRequest: RequestedCertificateSet): Promise<VerifiableCertificate[]> {
|
|
206
|
+
const parsedUrl = new URL(baseUrl)
|
|
207
|
+
const baseURL = parsedUrl.origin
|
|
208
|
+
|
|
209
|
+
let peerToUse: { peer: Peer; identityKey?: string }
|
|
250
210
|
if (this.peers[baseURL]) {
|
|
251
|
-
peerToUse = { peer: this.peers[baseURL].peer }
|
|
211
|
+
peerToUse = { peer: this.peers[baseURL].peer }
|
|
252
212
|
} else {
|
|
253
|
-
const newTransport = new SimplifiedFetchTransport(baseURL)
|
|
213
|
+
const newTransport = new SimplifiedFetchTransport(baseURL)
|
|
254
214
|
peerToUse = {
|
|
255
215
|
peer: new Peer(
|
|
256
216
|
this.wallet,
|
|
257
217
|
newTransport,
|
|
258
218
|
this.requestedCertificates,
|
|
259
219
|
this.sessionManager
|
|
260
|
-
)
|
|
261
|
-
}
|
|
262
|
-
this.peers[baseURL] = peerToUse
|
|
220
|
+
)
|
|
221
|
+
}
|
|
222
|
+
this.peers[baseURL] = peerToUse
|
|
263
223
|
}
|
|
264
224
|
|
|
265
225
|
// Return a promise that resolves when certificates are received
|
|
266
226
|
return new Promise<VerifiableCertificate[]>(async (resolve, reject) => {
|
|
267
227
|
// Set up the listener before making the request
|
|
268
|
-
const callbackId = peerToUse.peer.listenForCertificatesReceived(
|
|
269
|
-
(
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
}
|
|
274
|
-
);
|
|
228
|
+
const callbackId = peerToUse.peer.listenForCertificatesReceived((_senderPublicKey: string, certs: VerifiableCertificate[]) => {
|
|
229
|
+
peerToUse.peer.stopListeningForCertificatesReceived(callbackId)
|
|
230
|
+
this.certificatesReceived.push(...certs)
|
|
231
|
+
resolve(certs)
|
|
232
|
+
})
|
|
275
233
|
|
|
276
234
|
try {
|
|
277
235
|
// Initiate the certificate request
|
|
278
|
-
await peerToUse.peer.requestCertificates(
|
|
279
|
-
certificatesToRequest,
|
|
280
|
-
peerToUse.identityKey
|
|
281
|
-
);
|
|
236
|
+
await peerToUse.peer.requestCertificates(certificatesToRequest, peerToUse.identityKey)
|
|
282
237
|
} catch (err) {
|
|
283
|
-
peerToUse.peer.stopListeningForCertificatesReceived(callbackId)
|
|
284
|
-
reject(err)
|
|
238
|
+
peerToUse.peer.stopListeningForCertificatesReceived(callbackId)
|
|
239
|
+
reject(err)
|
|
285
240
|
}
|
|
286
|
-
})
|
|
241
|
+
})
|
|
287
242
|
}
|
|
288
243
|
|
|
289
244
|
/**
|
|
290
245
|
* Return any certificates we've collected thus far, then clear them out.
|
|
291
246
|
*/
|
|
292
247
|
public consumeReceivedCertificates(): VerifiableCertificate[] {
|
|
293
|
-
return this.certificatesReceived.splice(0)
|
|
248
|
+
return this.certificatesReceived.splice(0)
|
|
294
249
|
}
|
|
295
250
|
|
|
296
251
|
/**
|
|
@@ -312,107 +267,95 @@ export class AuthFetch {
|
|
|
312
267
|
parsedUrl: URL,
|
|
313
268
|
requestNonce: number[]
|
|
314
269
|
): Promise<Writer> {
|
|
315
|
-
const writer = new Utils.Writer()
|
|
270
|
+
const writer = new Utils.Writer()
|
|
316
271
|
// Write request nonce
|
|
317
|
-
writer.write(requestNonce)
|
|
272
|
+
writer.write(requestNonce)
|
|
318
273
|
// Method length
|
|
319
|
-
writer.writeVarIntNum(method.length)
|
|
274
|
+
writer.writeVarIntNum(method.length)
|
|
320
275
|
// Method
|
|
321
|
-
writer.write(Utils.toArray(method))
|
|
276
|
+
writer.write(Utils.toArray(method))
|
|
322
277
|
|
|
323
278
|
// Handle pathname (e.g. /path/to/resource)
|
|
324
279
|
if (parsedUrl.pathname.length > 0) {
|
|
325
280
|
// Pathname length
|
|
326
|
-
const pathnameAsArray = Utils.toArray(parsedUrl.pathname)
|
|
327
|
-
writer.writeVarIntNum(pathnameAsArray.length)
|
|
281
|
+
const pathnameAsArray = Utils.toArray(parsedUrl.pathname)
|
|
282
|
+
writer.writeVarIntNum(pathnameAsArray.length)
|
|
328
283
|
// Pathname
|
|
329
|
-
writer.write(pathnameAsArray)
|
|
284
|
+
writer.write(pathnameAsArray)
|
|
330
285
|
} else {
|
|
331
|
-
writer.writeVarIntNum(-1)
|
|
286
|
+
writer.writeVarIntNum(-1)
|
|
332
287
|
}
|
|
333
288
|
|
|
334
289
|
// Handle search params (e.g. ?q=hello)
|
|
335
290
|
if (parsedUrl.search.length > 0) {
|
|
336
291
|
// search length
|
|
337
|
-
const searchAsArray = Utils.toArray(parsedUrl.search)
|
|
338
|
-
writer.writeVarIntNum(searchAsArray.length)
|
|
292
|
+
const searchAsArray = Utils.toArray(parsedUrl.search)
|
|
293
|
+
writer.writeVarIntNum(searchAsArray.length)
|
|
339
294
|
// search
|
|
340
|
-
writer.write(searchAsArray)
|
|
295
|
+
writer.write(searchAsArray)
|
|
341
296
|
} else {
|
|
342
|
-
writer.writeVarIntNum(-1)
|
|
297
|
+
writer.writeVarIntNum(-1)
|
|
343
298
|
}
|
|
344
299
|
|
|
345
300
|
// Construct headers to send / sign:
|
|
346
301
|
// - Custom headers prefixed with x-bsv are included
|
|
347
302
|
// - x-bsv-auth headers are not allowed
|
|
348
303
|
// - content-type and authorization are signed by client
|
|
349
|
-
const includedHeaders: [string, string][] = []
|
|
304
|
+
const includedHeaders: [string, string][] = []
|
|
350
305
|
for (let [k, v] of Object.entries(headers)) {
|
|
351
|
-
k = k.toLowerCase()
|
|
352
|
-
if (
|
|
353
|
-
k.startsWith(
|
|
354
|
-
|
|
355
|
-
k === "authorization"
|
|
356
|
-
) {
|
|
357
|
-
if (k.startsWith("x-bsv-auth")) {
|
|
358
|
-
throw new Error("No BSV auth headers allowed here!");
|
|
306
|
+
k = k.toLowerCase() // We will always sign lower-case header keys
|
|
307
|
+
if (k.startsWith('x-bsv-') || k === 'content-type' || k === 'authorization') {
|
|
308
|
+
if (k.startsWith('x-bsv-auth')) {
|
|
309
|
+
throw new Error('No BSV auth headers allowed here!')
|
|
359
310
|
}
|
|
360
|
-
includedHeaders.push([k, v])
|
|
311
|
+
includedHeaders.push([k, v])
|
|
361
312
|
} else {
|
|
362
|
-
throw new Error(
|
|
363
|
-
"Unsupported header in the simplified fetch implementation. Only content-type, authorization, and x-bsv-* headers are supported."
|
|
364
|
-
);
|
|
313
|
+
throw new Error('Unsupported header in the simplified fetch implementation. Only content-type, authorization, and x-bsv-* headers are supported.')
|
|
365
314
|
}
|
|
366
315
|
}
|
|
367
316
|
|
|
368
317
|
// nHeaders
|
|
369
|
-
writer.writeVarIntNum(includedHeaders.length)
|
|
318
|
+
writer.writeVarIntNum(includedHeaders.length)
|
|
370
319
|
for (let i = 0; i < includedHeaders.length; i++) {
|
|
371
320
|
// headerKeyLength
|
|
372
|
-
const headerKeyAsArray = Utils.toArray(includedHeaders[i][0],
|
|
373
|
-
writer.writeVarIntNum(headerKeyAsArray.length)
|
|
321
|
+
const headerKeyAsArray = Utils.toArray(includedHeaders[i][0], 'utf8')
|
|
322
|
+
writer.writeVarIntNum(headerKeyAsArray.length)
|
|
374
323
|
// headerKey
|
|
375
|
-
writer.write(headerKeyAsArray)
|
|
324
|
+
writer.write(headerKeyAsArray)
|
|
376
325
|
// headerValueLength
|
|
377
|
-
const headerValueAsArray = Utils.toArray(includedHeaders[i][1],
|
|
378
|
-
writer.writeVarIntNum(headerValueAsArray.length)
|
|
326
|
+
const headerValueAsArray = Utils.toArray(includedHeaders[i][1], 'utf8')
|
|
327
|
+
writer.writeVarIntNum(headerValueAsArray.length)
|
|
379
328
|
// headerValue
|
|
380
|
-
writer.write(headerValueAsArray)
|
|
329
|
+
writer.write(headerValueAsArray)
|
|
381
330
|
}
|
|
382
331
|
|
|
383
332
|
// Handle body
|
|
384
333
|
if (body) {
|
|
385
|
-
const reqBody = await this.normalizeBodyToNumberArray(body)
|
|
386
|
-
writer.writeVarIntNum(reqBody.length)
|
|
387
|
-
writer.write(reqBody)
|
|
334
|
+
const reqBody = await this.normalizeBodyToNumberArray(body) // Use the utility function
|
|
335
|
+
writer.writeVarIntNum(reqBody.length)
|
|
336
|
+
writer.write(reqBody)
|
|
388
337
|
} else {
|
|
389
|
-
writer.writeVarIntNum(-1)
|
|
338
|
+
writer.writeVarIntNum(-1) // No body
|
|
390
339
|
}
|
|
391
|
-
return writer
|
|
340
|
+
return writer
|
|
392
341
|
}
|
|
393
342
|
|
|
394
|
-
/**
|
|
343
|
+
/**
|
|
395
344
|
* Handles a non-authenticated fetch requests and validates that the server is not claiming to be authenticated.
|
|
396
345
|
*/
|
|
397
|
-
private async handleFetchAndValidate(
|
|
398
|
-
url
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
const response = await fetch(url, config);
|
|
403
|
-
response.headers.forEach((header) => {
|
|
404
|
-
if (header.toLocaleLowerCase().startsWith("x-bsv")) {
|
|
405
|
-
throw new Error(
|
|
406
|
-
"The server is trying to claim it has been authenticated when it has not!"
|
|
407
|
-
);
|
|
346
|
+
private async handleFetchAndValidate(url: string, config: RequestInit, peerToUse: AuthPeer): Promise<Response> {
|
|
347
|
+
const response = await fetch(url, config)
|
|
348
|
+
response.headers.forEach(header => {
|
|
349
|
+
if (header.toLocaleLowerCase().startsWith('x-bsv')) {
|
|
350
|
+
throw new Error('The server is trying to claim it has been authenticated when it has not!')
|
|
408
351
|
}
|
|
409
|
-
})
|
|
352
|
+
})
|
|
410
353
|
|
|
411
354
|
if (response.ok) {
|
|
412
|
-
peerToUse.supportsMutualAuth = false
|
|
413
|
-
return response
|
|
355
|
+
peerToUse.supportsMutualAuth = false
|
|
356
|
+
return response
|
|
414
357
|
} else {
|
|
415
|
-
throw new Error(`Request failed with status: ${response.status}`)
|
|
358
|
+
throw new Error(`Request failed with status: ${response.status}`)
|
|
416
359
|
}
|
|
417
360
|
}
|
|
418
361
|
|
|
@@ -426,142 +369,115 @@ export class AuthFetch {
|
|
|
426
369
|
originalResponse: Response
|
|
427
370
|
): Promise<Response | null> {
|
|
428
371
|
// Make sure the server is using the correct payment version
|
|
429
|
-
const paymentVersion = originalResponse.headers.get(
|
|
430
|
-
"x-bsv-payment-version"
|
|
431
|
-
);
|
|
372
|
+
const paymentVersion = originalResponse.headers.get('x-bsv-payment-version')
|
|
432
373
|
if (!paymentVersion || paymentVersion !== PAYMENT_VERSION) {
|
|
433
|
-
throw new Error(
|
|
434
|
-
`Unsupported x-bsv-payment-version response header. Client version: ${PAYMENT_VERSION}, Server version: ${paymentVersion}`
|
|
435
|
-
);
|
|
374
|
+
throw new Error(`Unsupported x-bsv-payment-version response header. Client version: ${PAYMENT_VERSION}, Server version: ${paymentVersion}`)
|
|
436
375
|
}
|
|
437
376
|
|
|
438
377
|
// Get required headers from the 402 response
|
|
439
378
|
const satoshisRequiredHeader = originalResponse.headers.get(
|
|
440
|
-
|
|
441
|
-
)
|
|
379
|
+
'x-bsv-payment-satoshis-required'
|
|
380
|
+
)
|
|
442
381
|
if (!satoshisRequiredHeader) {
|
|
443
|
-
throw new Error(
|
|
444
|
-
"Missing x-bsv-payment-satoshis-required response header."
|
|
445
|
-
);
|
|
382
|
+
throw new Error('Missing x-bsv-payment-satoshis-required response header.')
|
|
446
383
|
}
|
|
447
|
-
const satoshisRequired = parseInt(satoshisRequiredHeader)
|
|
384
|
+
const satoshisRequired = parseInt(satoshisRequiredHeader)
|
|
448
385
|
if (isNaN(satoshisRequired) || satoshisRequired <= 0) {
|
|
449
|
-
throw new Error(
|
|
450
|
-
"Invalid x-bsv-payment-satoshis-required response header value."
|
|
451
|
-
);
|
|
386
|
+
throw new Error('Invalid x-bsv-payment-satoshis-required response header value.')
|
|
452
387
|
}
|
|
453
388
|
|
|
454
|
-
const serverIdentityKey = originalResponse.headers.get(
|
|
455
|
-
"x-bsv-auth-identity-key"
|
|
456
|
-
);
|
|
389
|
+
const serverIdentityKey = originalResponse.headers.get('x-bsv-auth-identity-key')
|
|
457
390
|
if (!serverIdentityKey) {
|
|
458
|
-
throw new Error(
|
|
391
|
+
throw new Error('Missing x-bsv-auth-identity-key response header.')
|
|
459
392
|
}
|
|
460
393
|
|
|
461
|
-
const derivationPrefix = originalResponse.headers.get(
|
|
462
|
-
"x-bsv-payment-derivation-prefix"
|
|
463
|
-
);
|
|
394
|
+
const derivationPrefix = originalResponse.headers.get('x-bsv-payment-derivation-prefix')
|
|
464
395
|
if (!derivationPrefix) {
|
|
465
|
-
throw new Error(
|
|
466
|
-
"Missing x-bsv-payment-derivation-prefix response header."
|
|
467
|
-
);
|
|
396
|
+
throw new Error('Missing x-bsv-payment-derivation-prefix response header.')
|
|
468
397
|
}
|
|
469
398
|
|
|
470
399
|
// Create a random suffix for the derivation path
|
|
471
|
-
const derivationSuffix = Utils.toBase64(Random(10))
|
|
400
|
+
const derivationSuffix = Utils.toBase64(Random(10))
|
|
472
401
|
|
|
473
402
|
// Derive the script hex from the server identity key
|
|
474
403
|
const { publicKey: derivedPublicKey } = await this.wallet.getPublicKey({
|
|
475
|
-
protocolID: [2,
|
|
404
|
+
protocolID: [2, 'wallet payment'],
|
|
476
405
|
keyID: `${derivationPrefix} ${derivationSuffix}`,
|
|
477
|
-
counterparty: serverIdentityKey
|
|
478
|
-
})
|
|
479
|
-
const lockingScript = new P2PKH()
|
|
480
|
-
.lock(PublicKey.fromString(derivedPublicKey).toHash())
|
|
481
|
-
.toHex();
|
|
406
|
+
counterparty: serverIdentityKey
|
|
407
|
+
})
|
|
408
|
+
const lockingScript = new P2PKH().lock(PublicKey.fromString(derivedPublicKey).toHash()).toHex()
|
|
482
409
|
|
|
483
410
|
// Create the payment transaction using createAction
|
|
484
411
|
const { tx } = await this.wallet.createAction({
|
|
485
412
|
description: `Payment for request to ${new URL(url).origin}`,
|
|
486
|
-
outputs: [
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
],
|
|
493
|
-
});
|
|
413
|
+
outputs: [{
|
|
414
|
+
satoshis: satoshisRequired,
|
|
415
|
+
lockingScript,
|
|
416
|
+
outputDescription: 'HTTP request payment'
|
|
417
|
+
}]
|
|
418
|
+
})
|
|
494
419
|
|
|
495
420
|
// Attach the payment to the request headers
|
|
496
|
-
config.headers = config.headers || {}
|
|
497
|
-
config.headers[
|
|
421
|
+
config.headers = config.headers || {}
|
|
422
|
+
config.headers['x-bsv-payment'] = JSON.stringify({
|
|
498
423
|
derivationPrefix,
|
|
499
|
-
transaction: Utils.toBase64(tx)
|
|
500
|
-
})
|
|
501
|
-
config.retryCounter ??= 3
|
|
424
|
+
transaction: Utils.toBase64(tx)
|
|
425
|
+
})
|
|
426
|
+
config.retryCounter ??= 3
|
|
502
427
|
|
|
503
428
|
// Re-attempt request with payment attached
|
|
504
|
-
return this.fetch(url, config)
|
|
429
|
+
return this.fetch(url, config)
|
|
505
430
|
}
|
|
506
431
|
|
|
507
|
-
private async normalizeBodyToNumberArray(
|
|
508
|
-
body: BodyInit | null | undefined
|
|
509
|
-
): Promise<number[]> {
|
|
432
|
+
private async normalizeBodyToNumberArray(body: BodyInit | null | undefined): Promise<number[]> {
|
|
510
433
|
// 1. Null / undefined
|
|
511
434
|
if (body == null) {
|
|
512
|
-
return []
|
|
435
|
+
return []
|
|
513
436
|
}
|
|
514
437
|
|
|
515
438
|
// 2. number[]
|
|
516
|
-
if (Array.isArray(body) && body.every((item) => typeof item ===
|
|
517
|
-
return body
|
|
439
|
+
if (Array.isArray(body) && body.every((item) => typeof item === 'number')) {
|
|
440
|
+
return body // Return the array as is
|
|
518
441
|
}
|
|
519
442
|
|
|
520
443
|
// 3. string
|
|
521
|
-
if (typeof body ===
|
|
522
|
-
return Utils.toArray(body,
|
|
444
|
+
if (typeof body === 'string') {
|
|
445
|
+
return Utils.toArray(body, 'utf8')
|
|
523
446
|
}
|
|
524
447
|
|
|
525
448
|
// 4. ArrayBuffer / TypedArrays
|
|
526
449
|
if (body instanceof ArrayBuffer || ArrayBuffer.isView(body)) {
|
|
527
|
-
const typedArray =
|
|
528
|
-
|
|
529
|
-
? new Uint8Array(body)
|
|
530
|
-
: new Uint8Array(body.buffer);
|
|
531
|
-
return Array.from(typedArray);
|
|
450
|
+
const typedArray = body instanceof ArrayBuffer ? new Uint8Array(body) : new Uint8Array(body.buffer)
|
|
451
|
+
return Array.from(typedArray)
|
|
532
452
|
}
|
|
533
453
|
|
|
534
454
|
// 5. Blob
|
|
535
455
|
if (body instanceof Blob) {
|
|
536
|
-
const arrayBuffer = await body.arrayBuffer()
|
|
537
|
-
return Array.from(new Uint8Array(arrayBuffer))
|
|
456
|
+
const arrayBuffer = await body.arrayBuffer()
|
|
457
|
+
return Array.from(new Uint8Array(arrayBuffer))
|
|
538
458
|
}
|
|
539
459
|
|
|
540
460
|
// 6. FormData
|
|
541
461
|
if (body instanceof FormData) {
|
|
542
|
-
const entries: [string, string][] = []
|
|
462
|
+
const entries: [string, string][] = []
|
|
543
463
|
body.forEach((value, key) => {
|
|
544
|
-
entries.push([key, value.toString()])
|
|
545
|
-
})
|
|
546
|
-
const urlEncoded = new URLSearchParams(entries).toString()
|
|
547
|
-
return Utils.toArray(urlEncoded,
|
|
464
|
+
entries.push([key, value.toString()])
|
|
465
|
+
})
|
|
466
|
+
const urlEncoded = new URLSearchParams(entries).toString()
|
|
467
|
+
return Utils.toArray(urlEncoded, 'utf8')
|
|
548
468
|
}
|
|
549
469
|
|
|
550
470
|
// 7. URLSearchParams
|
|
551
471
|
if (body instanceof URLSearchParams) {
|
|
552
|
-
return Utils.toArray(body.toString(),
|
|
472
|
+
return Utils.toArray(body.toString(), 'utf8')
|
|
553
473
|
}
|
|
554
474
|
|
|
555
475
|
// 8. ReadableStream
|
|
556
476
|
if (body instanceof ReadableStream) {
|
|
557
|
-
throw new Error(
|
|
558
|
-
"ReadableStream cannot be directly converted to number[]."
|
|
559
|
-
);
|
|
477
|
+
throw new Error('ReadableStream cannot be directly converted to number[].')
|
|
560
478
|
}
|
|
561
479
|
|
|
562
480
|
// 9. Fallback
|
|
563
|
-
throw new Error(
|
|
564
|
-
"Unsupported body type in this SimplifiedFetch implementation."
|
|
565
|
-
);
|
|
481
|
+
throw new Error('Unsupported body type in this SimplifiedFetch implementation.')
|
|
566
482
|
}
|
|
567
|
-
}
|
|
483
|
+
}
|