@bsv/sdk 1.3.12 → 1.3.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/mod.js +15 -15
- package/dist/cjs/mod.js.map +1 -1
- package/dist/cjs/package.json +10 -2
- package/dist/cjs/src/auth/Peer.js +62 -46
- package/dist/cjs/src/auth/Peer.js.map +1 -1
- package/dist/cjs/src/auth/SessionManager.js +4 -4
- package/dist/cjs/src/auth/SessionManager.js.map +1 -1
- package/dist/cjs/src/auth/__tests/Peer.test.js +446 -0
- package/dist/cjs/src/auth/__tests/Peer.test.js.map +1 -0
- package/dist/cjs/src/auth/__tests/SessionManager.test.js +69 -0
- package/dist/cjs/src/auth/__tests/SessionManager.test.js.map +1 -0
- package/dist/cjs/src/auth/certificates/Certificate.js +26 -23
- package/dist/cjs/src/auth/certificates/Certificate.js.map +1 -1
- package/dist/cjs/src/auth/certificates/MasterCertificate.js +18 -16
- package/dist/cjs/src/auth/certificates/MasterCertificate.js.map +1 -1
- package/dist/cjs/src/auth/certificates/VerifiableCertificate.js +7 -7
- package/dist/cjs/src/auth/certificates/VerifiableCertificate.js.map +1 -1
- package/dist/cjs/src/auth/certificates/__tests/Certificate.test.js +182 -0
- package/dist/cjs/src/auth/certificates/__tests/Certificate.test.js.map +1 -0
- package/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js +22 -22
- package/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
- package/dist/cjs/src/auth/certificates/__tests/MasterCertificate.test.js +184 -0
- package/dist/cjs/src/auth/certificates/__tests/MasterCertificate.test.js.map +1 -0
- package/dist/cjs/src/auth/certificates/__tests/VerifiableCertificate.test.js +75 -0
- package/dist/cjs/src/auth/certificates/__tests/VerifiableCertificate.test.js.map +1 -0
- package/dist/cjs/src/auth/certificates/index.js +5 -5
- package/dist/cjs/src/auth/certificates/index.js.map +1 -1
- package/dist/cjs/src/auth/clients/AuthFetch.js +74 -64
- package/dist/cjs/src/auth/clients/AuthFetch.js.map +1 -1
- package/dist/cjs/src/auth/clients/index.js +1 -1
- package/dist/cjs/src/auth/clients/index.js.map +1 -1
- package/dist/cjs/src/auth/index.js +7 -7
- package/dist/cjs/src/auth/index.js.map +1 -1
- package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js +62 -54
- package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
- package/dist/cjs/src/auth/transports/index.js +1 -1
- package/dist/cjs/src/auth/transports/index.js.map +1 -1
- package/dist/cjs/src/auth/utils/__tests/cryptononce.test.js +101 -0
- package/dist/cjs/src/auth/utils/__tests/cryptononce.test.js.map +1 -0
- package/dist/cjs/src/auth/utils/__tests/getVerifiableCertificates.test.js +106 -0
- package/dist/cjs/src/auth/utils/__tests/getVerifiableCertificates.test.js.map +1 -0
- package/dist/cjs/src/auth/utils/__tests/validateCertificates.test.js +111 -0
- package/dist/cjs/src/auth/utils/__tests/validateCertificates.test.js.map +1 -0
- package/dist/cjs/src/auth/utils/createNonce.js +4 -4
- package/dist/cjs/src/auth/utils/createNonce.js.map +1 -1
- package/dist/cjs/src/auth/utils/getVerifiableCertificates.js +2 -2
- package/dist/cjs/src/auth/utils/getVerifiableCertificates.js.map +1 -1
- package/dist/cjs/src/auth/utils/index.js +4 -4
- package/dist/cjs/src/auth/utils/index.js.map +1 -1
- package/dist/cjs/src/auth/utils/validateCertificates.js +2 -2
- package/dist/cjs/src/auth/utils/validateCertificates.js.map +1 -1
- package/dist/cjs/src/auth/utils/verifyNonce.js +3 -3
- package/dist/cjs/src/auth/utils/verifyNonce.js.map +1 -1
- package/dist/cjs/src/compat/BSM.js +9 -9
- package/dist/cjs/src/compat/BSM.js.map +1 -1
- package/dist/cjs/src/compat/ECIES.js +157 -116
- package/dist/cjs/src/compat/ECIES.js.map +1 -1
- package/dist/cjs/src/compat/HD.js +75 -75
- package/dist/cjs/src/compat/HD.js.map +1 -1
- package/dist/cjs/src/compat/Mnemonic.js +98 -93
- package/dist/cjs/src/compat/Mnemonic.js.map +1 -1
- package/dist/cjs/src/compat/Utxo.js +5 -5
- package/dist/cjs/src/compat/Utxo.js.map +1 -1
- package/dist/cjs/src/compat/__tests/BSM.test.js +69 -0
- package/dist/cjs/src/compat/__tests/BSM.test.js.map +1 -0
- package/dist/cjs/src/compat/__tests/ECIES.test.js +115 -0
- package/dist/cjs/src/compat/__tests/ECIES.test.js.map +1 -0
- package/dist/cjs/src/compat/__tests/HD.test.js +336 -0
- package/dist/cjs/src/compat/__tests/HD.test.js.map +1 -0
- package/dist/cjs/src/compat/__tests/Mnemonic.test.js +150 -0
- package/dist/cjs/src/compat/__tests/Mnemonic.test.js.map +1 -0
- package/dist/cjs/src/compat/__tests/Mnemonic.vectors.js +175 -0
- package/dist/cjs/src/compat/__tests/Mnemonic.vectors.js.map +1 -0
- package/dist/cjs/src/compat/index.js +9 -9
- package/dist/cjs/src/compat/index.js.map +1 -1
- package/dist/cjs/src/messages/EncryptedMessage.js +17 -15
- package/dist/cjs/src/messages/EncryptedMessage.js.map +1 -1
- package/dist/cjs/src/messages/SignedMessage.js +20 -20
- package/dist/cjs/src/messages/SignedMessage.js.map +1 -1
- package/dist/cjs/src/messages/__tests/EncryptedMessage.test.js +57 -0
- package/dist/cjs/src/messages/__tests/EncryptedMessage.test.js.map +1 -0
- package/dist/cjs/src/messages/__tests/SignedMessage.test.js +52 -0
- package/dist/cjs/src/messages/__tests/SignedMessage.test.js.map +1 -0
- package/dist/cjs/src/messages/index.js +2 -2
- package/dist/cjs/src/messages/index.js.map +1 -1
- package/dist/cjs/src/overlay-tools/LookupResolver.js +20 -13
- package/dist/cjs/src/overlay-tools/LookupResolver.js.map +1 -1
- package/dist/cjs/src/overlay-tools/OverlayAdminTokenTemplate.js +44 -32
- package/dist/cjs/src/overlay-tools/OverlayAdminTokenTemplate.js.map +1 -1
- package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js +41 -30
- package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
- package/dist/cjs/src/overlay-tools/__tests/LookupResolver.test.js +1471 -0
- package/dist/cjs/src/overlay-tools/__tests/LookupResolver.test.js.map +1 -0
- package/dist/cjs/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js +78 -0
- package/dist/cjs/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js.map +1 -0
- package/dist/cjs/src/overlay-tools/__tests/SHIPBroadcaster.test.js +933 -0
- package/dist/cjs/src/overlay-tools/__tests/SHIPBroadcaster.test.js.map +1 -0
- package/dist/cjs/src/overlay-tools/index.js +8 -8
- package/dist/cjs/src/overlay-tools/index.js.map +1 -1
- package/dist/cjs/src/primitives/BasePoint.js +2 -2
- package/dist/cjs/src/primitives/BasePoint.js.map +1 -1
- package/dist/cjs/src/primitives/BigNumber.js +46 -59
- package/dist/cjs/src/primitives/BigNumber.js.map +1 -1
- package/dist/cjs/src/primitives/Curve.js +29 -39
- package/dist/cjs/src/primitives/Curve.js.map +1 -1
- package/dist/cjs/src/primitives/DRBG.js +8 -14
- package/dist/cjs/src/primitives/DRBG.js.map +1 -1
- package/dist/cjs/src/primitives/ECDSA.js +24 -24
- package/dist/cjs/src/primitives/ECDSA.js.map +1 -1
- package/dist/cjs/src/primitives/Hash.js +76 -111
- package/dist/cjs/src/primitives/Hash.js.map +1 -1
- package/dist/cjs/src/primitives/JacobianPoint.js +20 -16
- package/dist/cjs/src/primitives/JacobianPoint.js.map +1 -1
- package/dist/cjs/src/primitives/K256.js +2 -2
- package/dist/cjs/src/primitives/K256.js.map +1 -1
- package/dist/cjs/src/primitives/Mersenne.js +4 -4
- package/dist/cjs/src/primitives/Mersenne.js.map +1 -1
- package/dist/cjs/src/primitives/MontgomoryMethod.js +5 -5
- package/dist/cjs/src/primitives/MontgomoryMethod.js.map +1 -1
- package/dist/cjs/src/primitives/Point.js +74 -72
- package/dist/cjs/src/primitives/Point.js.map +1 -1
- package/dist/cjs/src/primitives/Polynomial.js +15 -13
- package/dist/cjs/src/primitives/Polynomial.js.map +1 -1
- package/dist/cjs/src/primitives/PrivateKey.js +48 -39
- package/dist/cjs/src/primitives/PrivateKey.js.map +1 -1
- package/dist/cjs/src/primitives/PublicKey.js +23 -23
- package/dist/cjs/src/primitives/PublicKey.js.map +1 -1
- package/dist/cjs/src/primitives/Random.js +4 -4
- package/dist/cjs/src/primitives/Random.js.map +1 -1
- package/dist/cjs/src/primitives/ReductionContext.js +11 -11
- package/dist/cjs/src/primitives/ReductionContext.js.map +1 -1
- package/dist/cjs/src/primitives/Schnorr.js +29 -23
- package/dist/cjs/src/primitives/Schnorr.js.map +1 -1
- package/dist/cjs/src/primitives/Signature.js +25 -24
- package/dist/cjs/src/primitives/Signature.js.map +1 -1
- package/dist/cjs/src/primitives/SymmetricKey.js +26 -26
- package/dist/cjs/src/primitives/SymmetricKey.js.map +1 -1
- package/dist/cjs/src/primitives/TransactionSignature.js +23 -21
- package/dist/cjs/src/primitives/TransactionSignature.js.map +1 -1
- package/dist/cjs/src/primitives/__tests/AESGCM.test.js +248 -0
- package/dist/cjs/src/primitives/__tests/AESGCM.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/BRC42.private.vectors.js +36 -0
- package/dist/cjs/src/primitives/__tests/BRC42.private.vectors.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/BRC42.public.vectors.js +36 -0
- package/dist/cjs/src/primitives/__tests/BRC42.public.vectors.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.arithmatic.test.js +501 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.arithmatic.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.binary.test.js +185 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.binary.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.constructor.test.js +149 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.constructor.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.dhGroup.test.js +23 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.dhGroup.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.fixtures.js +268 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.fixtures.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.serializers.test.js +147 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.serializers.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.utils.test.js +322 -0
- package/dist/cjs/src/primitives/__tests/BigNumber.utils.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/Curve.unit.test.js +145 -0
- package/dist/cjs/src/primitives/__tests/Curve.unit.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/DRBG.test.js +22 -0
- package/dist/cjs/src/primitives/__tests/DRBG.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/DRBG.vectors.js +170 -0
- package/dist/cjs/src/primitives/__tests/DRBG.vectors.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/ECDH.test.js +34 -0
- package/dist/cjs/src/primitives/__tests/ECDH.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/ECDSA.test.js +89 -0
- package/dist/cjs/src/primitives/__tests/ECDSA.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/HMAC.test.js +60 -0
- package/dist/cjs/src/primitives/__tests/HMAC.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/Hash.test.js +159 -0
- package/dist/cjs/src/primitives/__tests/Hash.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/PBKDF2.vectors.js +122 -0
- package/dist/cjs/src/primitives/__tests/PBKDF2.vectors.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/PrivateKey.split.test.js +105 -0
- package/dist/cjs/src/primitives/__tests/PrivateKey.split.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/PrivateKey.test.js +90 -0
- package/dist/cjs/src/primitives/__tests/PrivateKey.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/PublicKey.test.js +83 -0
- package/dist/cjs/src/primitives/__tests/PublicKey.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/Random.test.js +19 -0
- package/dist/cjs/src/primitives/__tests/Random.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/Reader.test.js +282 -0
- package/dist/cjs/src/primitives/__tests/Reader.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/ReductionContext.test.js +224 -0
- package/dist/cjs/src/primitives/__tests/ReductionContext.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/Schnorr.test.js +213 -0
- package/dist/cjs/src/primitives/__tests/Schnorr.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/SymmetricKey.test.js +51 -0
- package/dist/cjs/src/primitives/__tests/SymmetricKey.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/SymmetricKey.vectors.js +43 -0
- package/dist/cjs/src/primitives/__tests/SymmetricKey.vectors.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/Writer.test.js +176 -0
- package/dist/cjs/src/primitives/__tests/Writer.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/bug-31.test.js +32 -0
- package/dist/cjs/src/primitives/__tests/bug-31.test.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/sighash.vectors.js +3506 -0
- package/dist/cjs/src/primitives/__tests/sighash.vectors.js.map +1 -0
- package/dist/cjs/src/primitives/__tests/utils.test.js +110 -0
- package/dist/cjs/src/primitives/__tests/utils.test.js.map +1 -0
- package/dist/cjs/src/primitives/index.js +27 -27
- package/dist/cjs/src/primitives/index.js.map +1 -1
- package/dist/cjs/src/primitives/utils.js +70 -60
- package/dist/cjs/src/primitives/utils.js.map +1 -1
- package/dist/cjs/src/script/LockingScript.js +2 -2
- package/dist/cjs/src/script/LockingScript.js.map +1 -1
- package/dist/cjs/src/script/Script.js +49 -47
- package/dist/cjs/src/script/Script.js.map +1 -1
- package/dist/cjs/src/script/Spend.js +305 -300
- package/dist/cjs/src/script/Spend.js.map +1 -1
- package/dist/cjs/src/script/UnlockingScript.js +2 -2
- package/dist/cjs/src/script/UnlockingScript.js.map +1 -1
- package/dist/cjs/src/script/__tests/Script.test.js +347 -0
- package/dist/cjs/src/script/__tests/Script.test.js.map +1 -0
- package/dist/cjs/src/script/__tests/Spend.test.js +282 -0
- package/dist/cjs/src/script/__tests/Spend.test.js.map +1 -0
- package/dist/cjs/src/script/__tests/SpendComplex.test.js +52 -0
- package/dist/cjs/src/script/__tests/SpendComplex.test.js.map +1 -0
- package/dist/cjs/src/script/__tests/script.invalid.vectors.js +2370 -0
- package/dist/cjs/src/script/__tests/script.invalid.vectors.js.map +1 -0
- package/dist/cjs/src/script/__tests/script.valid.vectors.js +1181 -0
- package/dist/cjs/src/script/__tests/script.valid.vectors.js.map +1 -0
- package/dist/cjs/src/script/__tests/spend.valid.vectors.js +2298 -0
- package/dist/cjs/src/script/__tests/spend.valid.vectors.js.map +1 -0
- package/dist/cjs/src/script/index.js +11 -11
- package/dist/cjs/src/script/index.js.map +1 -1
- package/dist/cjs/src/script/templates/P2PKH.js +40 -36
- package/dist/cjs/src/script/templates/P2PKH.js.map +1 -1
- package/dist/cjs/src/script/templates/PushDrop.js +42 -43
- package/dist/cjs/src/script/templates/PushDrop.js.map +1 -1
- package/dist/cjs/src/script/templates/RPuzzle.js +48 -45
- package/dist/cjs/src/script/templates/RPuzzle.js.map +1 -1
- package/dist/cjs/src/script/templates/__tests/PushDrop.test.js +161 -0
- package/dist/cjs/src/script/templates/__tests/PushDrop.test.js.map +1 -0
- package/dist/cjs/src/script/templates/index.js +6 -6
- package/dist/cjs/src/script/templates/index.js.map +1 -1
- package/dist/cjs/src/totp/__tests/totp.test.js +67 -0
- package/dist/cjs/src/totp/__tests/totp.test.js.map +1 -0
- package/dist/cjs/src/totp/index.js +1 -1
- package/dist/cjs/src/totp/index.js.map +1 -1
- package/dist/cjs/src/totp/totp.js +7 -7
- package/dist/cjs/src/totp/totp.js.map +1 -1
- package/dist/cjs/src/transaction/Beef.js +141 -129
- package/dist/cjs/src/transaction/Beef.js.map +1 -1
- package/dist/cjs/src/transaction/BeefParty.js +25 -25
- package/dist/cjs/src/transaction/BeefParty.js.map +1 -1
- package/dist/cjs/src/transaction/BeefTx.js +25 -23
- package/dist/cjs/src/transaction/BeefTx.js.map +1 -1
- package/dist/cjs/src/transaction/Broadcaster.js.map +1 -1
- package/dist/cjs/src/transaction/MerklePath.js +27 -22
- package/dist/cjs/src/transaction/MerklePath.js.map +1 -1
- package/dist/cjs/src/transaction/Transaction.js +89 -157
- package/dist/cjs/src/transaction/Transaction.js.map +1 -1
- package/dist/cjs/src/transaction/__tests/Beef.test.js +393 -0
- package/dist/cjs/src/transaction/__tests/Beef.test.js.map +1 -0
- package/dist/cjs/src/transaction/__tests/MerklePath.test.js +209 -0
- package/dist/cjs/src/transaction/__tests/MerklePath.test.js.map +1 -0
- package/dist/cjs/src/transaction/__tests/Transaction.benchmarks.test.js +219 -0
- package/dist/cjs/src/transaction/__tests/Transaction.benchmarks.test.js.map +1 -0
- package/dist/cjs/src/transaction/__tests/Transaction.test.js +1073 -0
- package/dist/cjs/src/transaction/__tests/Transaction.test.js.map +1 -0
- package/dist/cjs/src/transaction/__tests/bigtx.vectors.js +7 -0
- package/dist/cjs/src/transaction/__tests/bigtx.vectors.js.map +1 -0
- package/dist/cjs/src/transaction/__tests/bump.invalid.vectors.js +11 -0
- package/dist/cjs/src/transaction/__tests/bump.invalid.vectors.js.map +1 -0
- package/dist/cjs/src/transaction/__tests/bump.valid.vectors.js +7 -0
- package/dist/cjs/src/transaction/__tests/bump.valid.vectors.js.map +1 -0
- package/dist/cjs/src/transaction/__tests/tx.invalid.vectors.js +230 -0
- package/dist/cjs/src/transaction/__tests/tx.invalid.vectors.js.map +1 -0
- package/dist/cjs/src/transaction/__tests/tx.valid.vectors.js +296 -0
- package/dist/cjs/src/transaction/__tests/tx.valid.vectors.js.map +1 -0
- package/dist/cjs/src/transaction/broadcasters/ARC.js +39 -35
- package/dist/cjs/src/transaction/broadcasters/ARC.js.map +1 -1
- package/dist/cjs/src/transaction/broadcasters/DefaultBroadcaster.js +2 -2
- package/dist/cjs/src/transaction/broadcasters/DefaultBroadcaster.js.map +1 -1
- package/dist/cjs/src/transaction/broadcasters/WhatsOnChainBroadcaster.js +15 -15
- package/dist/cjs/src/transaction/broadcasters/WhatsOnChainBroadcaster.js.map +1 -1
- package/dist/cjs/src/transaction/broadcasters/__tests/ARC.test.js +246 -0
- package/dist/cjs/src/transaction/broadcasters/__tests/ARC.test.js.map +1 -0
- package/dist/cjs/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js +148 -0
- package/dist/cjs/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js.map +1 -0
- package/dist/cjs/src/transaction/broadcasters/index.js +6 -6
- package/dist/cjs/src/transaction/broadcasters/index.js.map +1 -1
- package/dist/cjs/src/transaction/chaintrackers/DefaultChainTracker.js +2 -2
- package/dist/cjs/src/transaction/chaintrackers/DefaultChainTracker.js.map +1 -1
- package/dist/cjs/src/transaction/chaintrackers/WhatsOnChain.js +8 -8
- package/dist/cjs/src/transaction/chaintrackers/WhatsOnChain.js.map +1 -1
- package/dist/cjs/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js +155 -0
- package/dist/cjs/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js.map +1 -0
- package/dist/cjs/src/transaction/chaintrackers/index.js +4 -4
- package/dist/cjs/src/transaction/chaintrackers/index.js.map +1 -1
- package/dist/cjs/src/transaction/fee-models/SatoshisPerKilobyte.js +3 -3
- package/dist/cjs/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
- package/dist/cjs/src/transaction/fee-models/index.js +2 -2
- package/dist/cjs/src/transaction/fee-models/index.js.map +1 -1
- package/dist/cjs/src/transaction/http/DefaultHttpClient.js +11 -11
- package/dist/cjs/src/transaction/http/DefaultHttpClient.js.map +1 -1
- package/dist/cjs/src/transaction/http/FetchHttpClient.js +4 -2
- package/dist/cjs/src/transaction/http/FetchHttpClient.js.map +1 -1
- package/dist/cjs/src/transaction/http/NodejsHttpClient.js +10 -8
- package/dist/cjs/src/transaction/http/NodejsHttpClient.js.map +1 -1
- package/dist/cjs/src/transaction/http/index.js +6 -6
- package/dist/cjs/src/transaction/http/index.js.map +1 -1
- package/dist/cjs/src/transaction/index.js +12 -12
- package/dist/cjs/src/transaction/index.js.map +1 -1
- package/dist/cjs/src/wallet/CachedKeyDeriver.js +65 -63
- package/dist/cjs/src/wallet/CachedKeyDeriver.js.map +1 -1
- package/dist/cjs/src/wallet/KeyDeriver.js +66 -58
- package/dist/cjs/src/wallet/KeyDeriver.js.map +1 -1
- package/dist/cjs/src/wallet/ProtoWallet.js +27 -14
- package/dist/cjs/src/wallet/ProtoWallet.js.map +1 -1
- package/dist/cjs/src/wallet/WalletClient.js +15 -14
- package/dist/cjs/src/wallet/WalletClient.js.map +1 -1
- package/dist/cjs/src/wallet/__tests/CachedKeyDeriver.test.js +269 -0
- package/dist/cjs/src/wallet/__tests/CachedKeyDeriver.test.js.map +1 -0
- package/dist/cjs/src/wallet/__tests/KeyDeriver.test.js +114 -0
- package/dist/cjs/src/wallet/__tests/KeyDeriver.test.js.map +1 -0
- package/dist/cjs/src/wallet/__tests/ProtoWallet.test.js +475 -0
- package/dist/cjs/src/wallet/__tests/ProtoWallet.test.js.map +1 -0
- package/dist/cjs/src/wallet/index.js +12 -12
- package/dist/cjs/src/wallet/index.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js +3 -3
- package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/HTTPWalletWire.js +10 -10
- package/dist/cjs/src/wallet/substrates/HTTPWalletWire.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/WalletWireCalls.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js +1293 -1316
- package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js +320 -272
- package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/XDM.js +8 -5
- package/dist/cjs/src/wallet/substrates/XDM.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/__tests/WalletWire.integration.test.js +1962 -0
- package/dist/cjs/src/wallet/substrates/__tests/WalletWire.integration.test.js.map +1 -0
- package/dist/cjs/src/wallet/substrates/__tests/XDM.test.js +579 -0
- package/dist/cjs/src/wallet/substrates/__tests/XDM.test.js.map +1 -0
- package/dist/cjs/src/wallet/substrates/index.js +12 -12
- package/dist/cjs/src/wallet/substrates/index.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/window.CWI.js +4 -4
- package/dist/cjs/src/wallet/substrates/window.CWI.js.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/mod.js +31 -15
- package/dist/esm/mod.js.map +1 -1
- package/dist/esm/src/auth/Peer.js +67 -47
- package/dist/esm/src/auth/Peer.js.map +1 -1
- package/dist/esm/src/auth/SessionManager.js +9 -5
- package/dist/esm/src/auth/SessionManager.js.map +1 -1
- package/dist/esm/src/auth/__tests/Peer.test.js +448 -0
- package/dist/esm/src/auth/__tests/Peer.test.js.map +1 -0
- package/dist/esm/src/auth/__tests/SessionManager.test.js +69 -0
- package/dist/esm/src/auth/__tests/SessionManager.test.js.map +1 -0
- package/dist/esm/src/auth/certificates/Certificate.js +31 -25
- package/dist/esm/src/auth/certificates/Certificate.js.map +1 -1
- package/dist/esm/src/auth/certificates/MasterCertificate.js +25 -16
- package/dist/esm/src/auth/certificates/MasterCertificate.js.map +1 -1
- package/dist/esm/src/auth/certificates/VerifiableCertificate.js +14 -7
- package/dist/esm/src/auth/certificates/VerifiableCertificate.js.map +1 -1
- package/dist/esm/src/auth/certificates/__tests/Certificate.test.js +182 -0
- package/dist/esm/src/auth/certificates/__tests/Certificate.test.js.map +1 -0
- package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js +26 -22
- package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
- package/dist/esm/src/auth/certificates/__tests/MasterCertificate.test.js +184 -0
- package/dist/esm/src/auth/certificates/__tests/MasterCertificate.test.js.map +1 -0
- package/dist/esm/src/auth/certificates/__tests/VerifiableCertificate.test.js +75 -0
- package/dist/esm/src/auth/certificates/__tests/VerifiableCertificate.test.js.map +1 -0
- package/dist/esm/src/auth/certificates/index.js +25 -4
- package/dist/esm/src/auth/certificates/index.js.map +1 -1
- package/dist/esm/src/auth/clients/AuthFetch.js +79 -65
- package/dist/esm/src/auth/clients/AuthFetch.js.map +1 -1
- package/dist/esm/src/auth/clients/index.js +17 -1
- package/dist/esm/src/auth/clients/index.js.map +1 -1
- package/dist/esm/src/auth/index.js +23 -7
- package/dist/esm/src/auth/index.js.map +1 -1
- package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js +67 -55
- package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
- package/dist/esm/src/auth/transports/index.js +17 -1
- package/dist/esm/src/auth/transports/index.js.map +1 -1
- package/dist/esm/src/auth/types.js +2 -1
- package/dist/esm/src/auth/utils/__tests/cryptononce.test.js +101 -0
- package/dist/esm/src/auth/utils/__tests/cryptononce.test.js.map +1 -0
- package/dist/esm/src/auth/utils/__tests/getVerifiableCertificates.test.js +106 -0
- package/dist/esm/src/auth/utils/__tests/getVerifiableCertificates.test.js.map +1 -0
- package/dist/esm/src/auth/utils/__tests/validateCertificates.test.js +111 -0
- package/dist/esm/src/auth/utils/__tests/validateCertificates.test.js.map +1 -0
- package/dist/esm/src/auth/utils/createNonce.js +8 -5
- package/dist/esm/src/auth/utils/createNonce.js.map +1 -1
- package/dist/esm/src/auth/utils/getVerifiableCertificates.js +7 -3
- package/dist/esm/src/auth/utils/getVerifiableCertificates.js.map +1 -1
- package/dist/esm/src/auth/utils/index.js +20 -4
- package/dist/esm/src/auth/utils/index.js.map +1 -1
- package/dist/esm/src/auth/utils/validateCertificates.js +7 -3
- package/dist/esm/src/auth/utils/validateCertificates.js.map +1 -1
- package/dist/esm/src/auth/utils/verifyNonce.js +7 -4
- package/dist/esm/src/auth/utils/verifyNonce.js.map +1 -1
- package/dist/esm/src/compat/BSM.js +56 -14
- package/dist/esm/src/compat/BSM.js.map +1 -1
- package/dist/esm/src/compat/ECIES.js +197 -117
- package/dist/esm/src/compat/ECIES.js.map +1 -1
- package/dist/esm/src/compat/HD.js +115 -76
- package/dist/esm/src/compat/HD.js.map +1 -1
- package/dist/esm/src/compat/Mnemonic.js +138 -94
- package/dist/esm/src/compat/Mnemonic.js.map +1 -1
- package/dist/esm/src/compat/Utxo.js +12 -6
- package/dist/esm/src/compat/Utxo.js.map +1 -1
- package/dist/esm/src/compat/__tests/BSM.test.js +69 -0
- package/dist/esm/src/compat/__tests/BSM.test.js.map +1 -0
- package/dist/esm/src/compat/__tests/ECIES.test.js +115 -0
- package/dist/esm/src/compat/__tests/ECIES.test.js.map +1 -0
- package/dist/esm/src/compat/__tests/HD.test.js +336 -0
- package/dist/esm/src/compat/__tests/HD.test.js.map +1 -0
- package/dist/esm/src/compat/__tests/Mnemonic.test.js +150 -0
- package/dist/esm/src/compat/__tests/Mnemonic.test.js.map +1 -0
- package/dist/esm/src/compat/__tests/Mnemonic.vectors.js +175 -0
- package/dist/esm/src/compat/__tests/Mnemonic.vectors.js.map +1 -0
- package/dist/esm/src/compat/bip-39-wordlist-en.js +4 -1
- package/dist/esm/src/compat/bip-39-wordlist-en.js.map +1 -1
- package/dist/esm/src/compat/index.js +48 -5
- package/dist/esm/src/compat/index.js.map +1 -1
- package/dist/esm/src/messages/EncryptedMessage.js +27 -17
- package/dist/esm/src/messages/EncryptedMessage.js.map +1 -1
- package/dist/esm/src/messages/SignedMessage.js +30 -22
- package/dist/esm/src/messages/SignedMessage.js.map +1 -1
- package/dist/esm/src/messages/__tests/EncryptedMessage.test.js +57 -0
- package/dist/esm/src/messages/__tests/EncryptedMessage.test.js.map +1 -0
- package/dist/esm/src/messages/__tests/SignedMessage.test.js +52 -0
- package/dist/esm/src/messages/__tests/SignedMessage.test.js.map +1 -0
- package/dist/esm/src/messages/index.js +38 -2
- package/dist/esm/src/messages/index.js.map +1 -1
- package/dist/esm/src/overlay-tools/LookupResolver.js +32 -17
- package/dist/esm/src/overlay-tools/LookupResolver.js.map +1 -1
- package/dist/esm/src/overlay-tools/OverlayAdminTokenTemplate.js +51 -33
- package/dist/esm/src/overlay-tools/OverlayAdminTokenTemplate.js.map +1 -1
- package/dist/esm/src/overlay-tools/SHIPBroadcaster.js +51 -32
- package/dist/esm/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
- package/dist/esm/src/overlay-tools/__tests/LookupResolver.test.js +1471 -0
- package/dist/esm/src/overlay-tools/__tests/LookupResolver.test.js.map +1 -0
- package/dist/esm/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js +78 -0
- package/dist/esm/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js.map +1 -0
- package/dist/esm/src/overlay-tools/__tests/SHIPBroadcaster.test.js +933 -0
- package/dist/esm/src/overlay-tools/__tests/SHIPBroadcaster.test.js.map +1 -0
- package/dist/esm/src/overlay-tools/index.js +28 -5
- package/dist/esm/src/overlay-tools/index.js.map +1 -1
- package/dist/esm/src/primitives/AESGCM.js +39 -26
- package/dist/esm/src/primitives/AESGCM.js.map +1 -1
- package/dist/esm/src/primitives/BasePoint.js +9 -3
- package/dist/esm/src/primitives/BasePoint.js.map +1 -1
- package/dist/esm/src/primitives/BigNumber.js +50 -60
- package/dist/esm/src/primitives/BigNumber.js.map +1 -1
- package/dist/esm/src/primitives/Curve.js +36 -40
- package/dist/esm/src/primitives/Curve.js.map +1 -1
- package/dist/esm/src/primitives/DRBG.js +12 -15
- package/dist/esm/src/primitives/DRBG.js.map +1 -1
- package/dist/esm/src/primitives/ECDSA.js +34 -26
- package/dist/esm/src/primitives/ECDSA.js.map +1 -1
- package/dist/esm/src/primitives/Hash.js +115 -130
- package/dist/esm/src/primitives/Hash.js.map +1 -1
- package/dist/esm/src/primitives/JacobianPoint.js +26 -16
- package/dist/esm/src/primitives/JacobianPoint.js.map +1 -1
- package/dist/esm/src/primitives/K256.js +8 -2
- package/dist/esm/src/primitives/K256.js.map +1 -1
- package/dist/esm/src/primitives/Mersenne.js +11 -5
- package/dist/esm/src/primitives/Mersenne.js.map +1 -1
- package/dist/esm/src/primitives/MontgomoryMethod.js +11 -5
- package/dist/esm/src/primitives/MontgomoryMethod.js.map +1 -1
- package/dist/esm/src/primitives/Point.js +80 -72
- package/dist/esm/src/primitives/Point.js.map +1 -1
- package/dist/esm/src/primitives/Polynomial.js +25 -15
- package/dist/esm/src/primitives/Polynomial.js.map +1 -1
- package/dist/esm/src/primitives/PrivateKey.js +90 -40
- package/dist/esm/src/primitives/PrivateKey.js.map +1 -1
- package/dist/esm/src/primitives/PublicKey.js +29 -23
- package/dist/esm/src/primitives/PublicKey.js.map +1 -1
- package/dist/esm/src/primitives/Random.js +7 -5
- package/dist/esm/src/primitives/Random.js.map +1 -1
- package/dist/esm/src/primitives/ReductionContext.js +18 -12
- package/dist/esm/src/primitives/ReductionContext.js.map +1 -1
- package/dist/esm/src/primitives/Schnorr.js +36 -24
- package/dist/esm/src/primitives/Schnorr.js.map +1 -1
- package/dist/esm/src/primitives/Signature.js +32 -25
- package/dist/esm/src/primitives/Signature.js.map +1 -1
- package/dist/esm/src/primitives/SymmetricKey.js +32 -26
- package/dist/esm/src/primitives/SymmetricKey.js.map +1 -1
- package/dist/esm/src/primitives/TransactionSignature.js +62 -21
- package/dist/esm/src/primitives/TransactionSignature.js.map +1 -1
- package/dist/esm/src/primitives/__tests/AESGCM.test.js +248 -0
- package/dist/esm/src/primitives/__tests/AESGCM.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/BRC42.private.vectors.js +36 -0
- package/dist/esm/src/primitives/__tests/BRC42.private.vectors.js.map +1 -0
- package/dist/esm/src/primitives/__tests/BRC42.public.vectors.js +36 -0
- package/dist/esm/src/primitives/__tests/BRC42.public.vectors.js.map +1 -0
- package/dist/esm/src/primitives/__tests/BigNumber.arithmatic.test.js +501 -0
- package/dist/esm/src/primitives/__tests/BigNumber.arithmatic.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/BigNumber.binary.test.js +185 -0
- package/dist/esm/src/primitives/__tests/BigNumber.binary.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/BigNumber.constructor.test.js +149 -0
- package/dist/esm/src/primitives/__tests/BigNumber.constructor.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/BigNumber.dhGroup.test.js +23 -0
- package/dist/esm/src/primitives/__tests/BigNumber.dhGroup.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/BigNumber.fixtures.js +268 -0
- package/dist/esm/src/primitives/__tests/BigNumber.fixtures.js.map +1 -0
- package/dist/esm/src/primitives/__tests/BigNumber.serializers.test.js +147 -0
- package/dist/esm/src/primitives/__tests/BigNumber.serializers.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/BigNumber.utils.test.js +322 -0
- package/dist/esm/src/primitives/__tests/BigNumber.utils.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/Curve.unit.test.js +145 -0
- package/dist/esm/src/primitives/__tests/Curve.unit.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/DRBG.test.js +22 -0
- package/dist/esm/src/primitives/__tests/DRBG.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/DRBG.vectors.js +170 -0
- package/dist/esm/src/primitives/__tests/DRBG.vectors.js.map +1 -0
- package/dist/esm/src/primitives/__tests/ECDH.test.js +34 -0
- package/dist/esm/src/primitives/__tests/ECDH.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/ECDSA.test.js +89 -0
- package/dist/esm/src/primitives/__tests/ECDSA.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/HMAC.test.js +60 -0
- package/dist/esm/src/primitives/__tests/HMAC.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/Hash.test.js +159 -0
- package/dist/esm/src/primitives/__tests/Hash.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/PBKDF2.vectors.js +122 -0
- package/dist/esm/src/primitives/__tests/PBKDF2.vectors.js.map +1 -0
- package/dist/esm/src/primitives/__tests/PrivateKey.split.test.js +105 -0
- package/dist/esm/src/primitives/__tests/PrivateKey.split.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/PrivateKey.test.js +90 -0
- package/dist/esm/src/primitives/__tests/PrivateKey.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/PublicKey.test.js +83 -0
- package/dist/esm/src/primitives/__tests/PublicKey.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/Random.test.js +19 -0
- package/dist/esm/src/primitives/__tests/Random.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/Reader.test.js +282 -0
- package/dist/esm/src/primitives/__tests/Reader.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/ReductionContext.test.js +223 -0
- package/dist/esm/src/primitives/__tests/ReductionContext.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/Schnorr.test.js +213 -0
- package/dist/esm/src/primitives/__tests/Schnorr.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/SymmetricKey.test.js +51 -0
- package/dist/esm/src/primitives/__tests/SymmetricKey.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/SymmetricKey.vectors.js +43 -0
- package/dist/esm/src/primitives/__tests/SymmetricKey.vectors.js.map +1 -0
- package/dist/esm/src/primitives/__tests/Writer.test.js +176 -0
- package/dist/esm/src/primitives/__tests/Writer.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/bug-31.test.js +32 -0
- package/dist/esm/src/primitives/__tests/bug-31.test.js.map +1 -0
- package/dist/esm/src/primitives/__tests/sighash.vectors.js +3506 -0
- package/dist/esm/src/primitives/__tests/sighash.vectors.js.map +1 -0
- package/dist/esm/src/primitives/__tests/utils.test.js +110 -0
- package/dist/esm/src/primitives/__tests/utils.test.js.map +1 -0
- package/dist/esm/src/primitives/index.js +66 -14
- package/dist/esm/src/primitives/index.js.map +1 -1
- package/dist/esm/src/primitives/utils.js +109 -80
- package/dist/esm/src/primitives/utils.js.map +1 -1
- package/dist/esm/src/script/LockingScript.js +8 -2
- package/dist/esm/src/script/LockingScript.js.map +1 -1
- package/dist/esm/src/script/OP.js +3 -1
- package/dist/esm/src/script/OP.js.map +1 -1
- package/dist/esm/src/script/Script.js +56 -48
- package/dist/esm/src/script/Script.js.map +1 -1
- package/dist/esm/src/script/ScriptChunk.js +2 -1
- package/dist/esm/src/script/ScriptTemplate.js +2 -1
- package/dist/esm/src/script/Spend.js +345 -301
- package/dist/esm/src/script/Spend.js.map +1 -1
- package/dist/esm/src/script/UnlockingScript.js +8 -2
- package/dist/esm/src/script/UnlockingScript.js.map +1 -1
- package/dist/esm/src/script/__tests/Script.test.js +347 -0
- package/dist/esm/src/script/__tests/Script.test.js.map +1 -0
- package/dist/esm/src/script/__tests/Spend.test.js +282 -0
- package/dist/esm/src/script/__tests/Spend.test.js.map +1 -0
- package/dist/esm/src/script/__tests/SpendComplex.test.js +51 -0
- package/dist/esm/src/script/__tests/SpendComplex.test.js.map +1 -0
- package/dist/esm/src/script/__tests/script.invalid.vectors.js +2370 -0
- package/dist/esm/src/script/__tests/script.invalid.vectors.js.map +1 -0
- package/dist/esm/src/script/__tests/script.valid.vectors.js +1181 -0
- package/dist/esm/src/script/__tests/script.valid.vectors.js.map +1 -0
- package/dist/esm/src/script/__tests/spend.valid.vectors.js +2298 -0
- package/dist/esm/src/script/__tests/spend.valid.vectors.js.map +1 -0
- package/dist/esm/src/script/index.js +31 -6
- package/dist/esm/src/script/index.js.map +1 -1
- package/dist/esm/src/script/templates/P2PKH.js +52 -39
- package/dist/esm/src/script/templates/P2PKH.js.map +1 -1
- package/dist/esm/src/script/templates/PushDrop.js +51 -46
- package/dist/esm/src/script/templates/PushDrop.js.map +1 -1
- package/dist/esm/src/script/templates/RPuzzle.js +55 -46
- package/dist/esm/src/script/templates/RPuzzle.js.map +1 -1
- package/dist/esm/src/script/templates/__tests/PushDrop.test.js +161 -0
- package/dist/esm/src/script/templates/__tests/PushDrop.test.js.map +1 -0
- package/dist/esm/src/script/templates/index.js +12 -3
- package/dist/esm/src/script/templates/index.js.map +1 -1
- package/dist/esm/src/totp/__tests/totp.test.js +67 -0
- package/dist/esm/src/totp/__tests/totp.test.js.map +1 -0
- package/dist/esm/src/totp/index.js +17 -1
- package/dist/esm/src/totp/index.js.map +1 -1
- package/dist/esm/src/totp/totp.js +15 -8
- package/dist/esm/src/totp/totp.js.map +1 -1
- package/dist/esm/src/transaction/Beef.js +160 -141
- package/dist/esm/src/transaction/Beef.js.map +1 -1
- package/dist/esm/src/transaction/BeefParty.js +30 -26
- package/dist/esm/src/transaction/BeefParty.js.map +1 -1
- package/dist/esm/src/transaction/BeefTx.js +32 -24
- package/dist/esm/src/transaction/BeefTx.js.map +1 -1
- package/dist/esm/src/transaction/Broadcaster.js +6 -2
- package/dist/esm/src/transaction/Broadcaster.js.map +1 -1
- package/dist/esm/src/transaction/ChainTracker.js +2 -1
- package/dist/esm/src/transaction/FeeModel.js +2 -1
- package/dist/esm/src/transaction/MerklePath.js +31 -23
- package/dist/esm/src/transaction/MerklePath.js.map +1 -1
- package/dist/esm/src/transaction/Transaction.js +96 -158
- package/dist/esm/src/transaction/Transaction.js.map +1 -1
- package/dist/esm/src/transaction/TransactionInput.js +2 -1
- package/dist/esm/src/transaction/TransactionOutput.js +2 -1
- package/dist/esm/src/transaction/__tests/Beef.test.js +393 -0
- package/dist/esm/src/transaction/__tests/Beef.test.js.map +1 -0
- package/dist/esm/src/transaction/__tests/MerklePath.test.js +209 -0
- package/dist/esm/src/transaction/__tests/MerklePath.test.js.map +1 -0
- package/dist/esm/src/transaction/__tests/Transaction.benchmarks.test.js +219 -0
- package/dist/esm/src/transaction/__tests/Transaction.benchmarks.test.js.map +1 -0
- package/dist/esm/src/transaction/__tests/Transaction.test.js +1072 -0
- package/dist/esm/src/transaction/__tests/Transaction.test.js.map +1 -0
- package/dist/esm/src/transaction/__tests/bigtx.vectors.js +7 -0
- package/dist/esm/src/transaction/__tests/bigtx.vectors.js.map +1 -0
- package/dist/esm/src/transaction/__tests/bump.invalid.vectors.js +11 -0
- package/dist/esm/src/transaction/__tests/bump.invalid.vectors.js.map +1 -0
- package/dist/esm/src/transaction/__tests/bump.valid.vectors.js +7 -0
- package/dist/esm/src/transaction/__tests/bump.valid.vectors.js.map +1 -0
- package/dist/esm/src/transaction/__tests/tx.invalid.vectors.js +230 -0
- package/dist/esm/src/transaction/__tests/tx.invalid.vectors.js.map +1 -0
- package/dist/esm/src/transaction/__tests/tx.valid.vectors.js +296 -0
- package/dist/esm/src/transaction/__tests/tx.valid.vectors.js.map +1 -0
- package/dist/esm/src/transaction/broadcasters/ARC.js +46 -36
- package/dist/esm/src/transaction/broadcasters/ARC.js.map +1 -1
- package/dist/esm/src/transaction/broadcasters/DefaultBroadcaster.js +9 -3
- package/dist/esm/src/transaction/broadcasters/DefaultBroadcaster.js.map +1 -1
- package/dist/esm/src/transaction/broadcasters/WhatsOnChainBroadcaster.js +19 -16
- package/dist/esm/src/transaction/broadcasters/WhatsOnChainBroadcaster.js.map +1 -1
- package/dist/esm/src/transaction/broadcasters/__tests/ARC.test.js +246 -0
- package/dist/esm/src/transaction/broadcasters/__tests/ARC.test.js.map +1 -0
- package/dist/esm/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js +148 -0
- package/dist/esm/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js.map +1 -0
- package/dist/esm/src/transaction/broadcasters/index.js +12 -3
- package/dist/esm/src/transaction/broadcasters/index.js.map +1 -1
- package/dist/esm/src/transaction/chaintrackers/DefaultChainTracker.js +9 -3
- package/dist/esm/src/transaction/chaintrackers/DefaultChainTracker.js.map +1 -1
- package/dist/esm/src/transaction/chaintrackers/WhatsOnChain.js +12 -9
- package/dist/esm/src/transaction/chaintrackers/WhatsOnChain.js.map +1 -1
- package/dist/esm/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js +155 -0
- package/dist/esm/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js.map +1 -0
- package/dist/esm/src/transaction/chaintrackers/index.js +10 -2
- package/dist/esm/src/transaction/chaintrackers/index.js.map +1 -1
- package/dist/esm/src/transaction/fee-models/SatoshisPerKilobyte.js +7 -4
- package/dist/esm/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
- package/dist/esm/src/transaction/fee-models/index.js +8 -1
- package/dist/esm/src/transaction/fee-models/index.js.map +1 -1
- package/dist/esm/src/transaction/http/DefaultHttpClient.js +15 -12
- package/dist/esm/src/transaction/http/DefaultHttpClient.js.map +1 -1
- package/dist/esm/src/transaction/http/FetchHttpClient.js +9 -3
- package/dist/esm/src/transaction/http/FetchHttpClient.js.map +1 -1
- package/dist/esm/src/transaction/http/HttpClient.js +2 -1
- package/dist/esm/src/transaction/http/NodejsHttpClient.js +15 -9
- package/dist/esm/src/transaction/http/NodejsHttpClient.js.map +1 -1
- package/dist/esm/src/transaction/http/index.js +9 -3
- package/dist/esm/src/transaction/http/index.js.map +1 -1
- package/dist/esm/src/transaction/index.js +32 -6
- package/dist/esm/src/transaction/index.js.map +1 -1
- package/dist/esm/src/wallet/CachedKeyDeriver.js +69 -64
- package/dist/esm/src/wallet/CachedKeyDeriver.js.map +1 -1
- package/dist/esm/src/wallet/KeyDeriver.js +72 -60
- package/dist/esm/src/wallet/KeyDeriver.js.map +1 -1
- package/dist/esm/src/wallet/ProtoWallet.js +33 -16
- package/dist/esm/src/wallet/ProtoWallet.js.map +1 -1
- package/dist/esm/src/wallet/Wallet.interfaces.js +5 -2
- package/dist/esm/src/wallet/Wallet.interfaces.js.map +1 -1
- package/dist/esm/src/wallet/WalletClient.js +22 -15
- package/dist/esm/src/wallet/WalletClient.js.map +1 -1
- package/dist/esm/src/wallet/WalletError.js +6 -2
- package/dist/esm/src/wallet/WalletError.js.map +1 -1
- package/dist/esm/src/wallet/__tests/CachedKeyDeriver.test.js +269 -0
- package/dist/esm/src/wallet/__tests/CachedKeyDeriver.test.js.map +1 -0
- package/dist/esm/src/wallet/__tests/KeyDeriver.test.js +113 -0
- package/dist/esm/src/wallet/__tests/KeyDeriver.test.js.map +1 -0
- package/dist/esm/src/wallet/__tests/ProtoWallet.test.js +475 -0
- package/dist/esm/src/wallet/__tests/ProtoWallet.test.js.map +1 -0
- package/dist/esm/src/wallet/index.js +32 -8
- package/dist/esm/src/wallet/index.js.map +1 -1
- package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js +7 -4
- package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
- package/dist/esm/src/wallet/substrates/HTTPWalletWire.js +17 -11
- package/dist/esm/src/wallet/substrates/HTTPWalletWire.js.map +1 -1
- package/dist/esm/src/wallet/substrates/WalletWire.js +2 -1
- package/dist/esm/src/wallet/substrates/WalletWireCalls.js +3 -1
- package/dist/esm/src/wallet/substrates/WalletWireCalls.js.map +1 -1
- package/dist/esm/src/wallet/substrates/WalletWireProcessor.js +1300 -1317
- package/dist/esm/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
- package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js +327 -273
- package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
- package/dist/esm/src/wallet/substrates/XDM.js +12 -6
- package/dist/esm/src/wallet/substrates/XDM.js.map +1 -1
- package/dist/esm/src/wallet/substrates/__tests/WalletWire.integration.test.js +1962 -0
- package/dist/esm/src/wallet/substrates/__tests/WalletWire.integration.test.js.map +1 -0
- package/dist/esm/src/wallet/substrates/__tests/XDM.test.js +579 -0
- package/dist/esm/src/wallet/substrates/__tests/XDM.test.js.map +1 -0
- package/dist/esm/src/wallet/substrates/index.js +32 -7
- package/dist/esm/src/wallet/substrates/index.js.map +1 -1
- package/dist/esm/src/wallet/substrates/window.CWI.js +8 -5
- package/dist/esm/src/wallet/substrates/window.CWI.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/types/mod.d.ts +15 -15
- package/dist/types/mod.d.ts.map +1 -1
- package/dist/types/src/auth/Peer.d.ts +14 -14
- package/dist/types/src/auth/Peer.d.ts.map +1 -1
- package/dist/types/src/auth/SessionManager.d.ts +5 -5
- package/dist/types/src/auth/SessionManager.d.ts.map +1 -1
- package/dist/types/src/auth/__tests/Peer.test.d.ts +2 -0
- package/dist/types/src/auth/__tests/Peer.test.d.ts.map +1 -0
- package/dist/types/src/auth/__tests/SessionManager.test.d.ts +2 -0
- package/dist/types/src/auth/__tests/SessionManager.test.d.ts.map +1 -0
- package/dist/types/src/auth/certificates/Certificate.d.ts +2 -2
- package/dist/types/src/auth/certificates/Certificate.d.ts.map +1 -1
- package/dist/types/src/auth/certificates/MasterCertificate.d.ts +2 -2
- package/dist/types/src/auth/certificates/MasterCertificate.d.ts.map +1 -1
- package/dist/types/src/auth/certificates/VerifiableCertificate.d.ts +2 -2
- package/dist/types/src/auth/certificates/VerifiableCertificate.d.ts.map +1 -1
- package/dist/types/src/auth/certificates/__tests/Certificate.test.d.ts +2 -0
- package/dist/types/src/auth/certificates/__tests/Certificate.test.d.ts.map +1 -0
- package/dist/types/src/auth/certificates/__tests/CompletedProtoWallet.d.ts +2 -2
- package/dist/types/src/auth/certificates/__tests/CompletedProtoWallet.d.ts.map +1 -1
- package/dist/types/src/auth/certificates/__tests/MasterCertificate.test.d.ts +2 -0
- package/dist/types/src/auth/certificates/__tests/MasterCertificate.test.d.ts.map +1 -0
- package/dist/types/src/auth/certificates/__tests/VerifiableCertificate.test.d.ts +2 -0
- package/dist/types/src/auth/certificates/__tests/VerifiableCertificate.test.d.ts.map +1 -0
- package/dist/types/src/auth/certificates/index.d.ts +4 -4
- package/dist/types/src/auth/certificates/index.d.ts.map +1 -1
- package/dist/types/src/auth/clients/AuthFetch.d.ts +9 -9
- package/dist/types/src/auth/clients/AuthFetch.d.ts.map +1 -1
- package/dist/types/src/auth/clients/index.d.ts +1 -1
- package/dist/types/src/auth/clients/index.d.ts.map +1 -1
- package/dist/types/src/auth/index.d.ts +7 -7
- package/dist/types/src/auth/index.d.ts.map +1 -1
- package/dist/types/src/auth/transports/SimplifiedFetchTransport.d.ts +1 -1
- package/dist/types/src/auth/transports/SimplifiedFetchTransport.d.ts.map +1 -1
- package/dist/types/src/auth/transports/index.d.ts +1 -1
- package/dist/types/src/auth/transports/index.d.ts.map +1 -1
- package/dist/types/src/auth/types.d.ts +1 -1
- package/dist/types/src/auth/types.d.ts.map +1 -1
- package/dist/types/src/auth/utils/__tests/cryptononce.test.d.ts +2 -0
- package/dist/types/src/auth/utils/__tests/cryptononce.test.d.ts.map +1 -0
- package/dist/types/src/auth/utils/__tests/getVerifiableCertificates.test.d.ts +2 -0
- package/dist/types/src/auth/utils/__tests/getVerifiableCertificates.test.d.ts.map +1 -0
- package/dist/types/src/auth/utils/__tests/validateCertificates.test.d.ts +2 -0
- package/dist/types/src/auth/utils/__tests/validateCertificates.test.d.ts.map +1 -0
- package/dist/types/src/auth/utils/createNonce.d.ts +1 -1
- package/dist/types/src/auth/utils/createNonce.d.ts.map +1 -1
- package/dist/types/src/auth/utils/getVerifiableCertificates.d.ts +3 -3
- package/dist/types/src/auth/utils/getVerifiableCertificates.d.ts.map +1 -1
- package/dist/types/src/auth/utils/index.d.ts +4 -4
- package/dist/types/src/auth/utils/index.d.ts.map +1 -1
- package/dist/types/src/auth/utils/validateCertificates.d.ts +2 -2
- package/dist/types/src/auth/utils/validateCertificates.d.ts.map +1 -1
- package/dist/types/src/auth/utils/verifyNonce.d.ts +1 -1
- package/dist/types/src/auth/utils/verifyNonce.d.ts.map +1 -1
- package/dist/types/src/compat/BSM.d.ts +3 -3
- package/dist/types/src/compat/BSM.d.ts.map +1 -1
- package/dist/types/src/compat/ECIES.d.ts +38 -38
- package/dist/types/src/compat/ECIES.d.ts.map +1 -1
- package/dist/types/src/compat/HD.d.ts +53 -53
- package/dist/types/src/compat/HD.d.ts.map +1 -1
- package/dist/types/src/compat/Mnemonic.d.ts +79 -79
- package/dist/types/src/compat/Mnemonic.d.ts.map +1 -1
- package/dist/types/src/compat/Utxo.d.ts +3 -3
- package/dist/types/src/compat/Utxo.d.ts.map +1 -1
- package/dist/types/src/compat/__tests/BSM.test.d.ts +2 -0
- package/dist/types/src/compat/__tests/BSM.test.d.ts.map +1 -0
- package/dist/types/src/compat/__tests/ECIES.test.d.ts +2 -0
- package/dist/types/src/compat/__tests/ECIES.test.d.ts.map +1 -0
- package/dist/types/src/compat/__tests/HD.test.d.ts +2 -0
- package/dist/types/src/compat/__tests/HD.test.d.ts.map +1 -0
- package/dist/types/src/compat/__tests/Mnemonic.test.d.ts +2 -0
- package/dist/types/src/compat/__tests/Mnemonic.test.d.ts.map +1 -0
- package/dist/types/src/compat/__tests/Mnemonic.vectors.d.ts +11 -0
- package/dist/types/src/compat/__tests/Mnemonic.vectors.d.ts.map +1 -0
- package/dist/types/src/compat/index.d.ts +5 -5
- package/dist/types/src/compat/index.d.ts.map +1 -1
- package/dist/types/src/messages/EncryptedMessage.d.ts +2 -2
- package/dist/types/src/messages/EncryptedMessage.d.ts.map +1 -1
- package/dist/types/src/messages/SignedMessage.d.ts +2 -2
- package/dist/types/src/messages/SignedMessage.d.ts.map +1 -1
- package/dist/types/src/messages/__tests/EncryptedMessage.test.d.ts +2 -0
- package/dist/types/src/messages/__tests/EncryptedMessage.test.d.ts.map +1 -0
- package/dist/types/src/messages/__tests/SignedMessage.test.d.ts +2 -0
- package/dist/types/src/messages/__tests/SignedMessage.test.d.ts.map +1 -0
- package/dist/types/src/messages/index.d.ts +2 -2
- package/dist/types/src/messages/index.d.ts.map +1 -1
- package/dist/types/src/overlay-tools/LookupResolver.d.ts +9 -9
- package/dist/types/src/overlay-tools/LookupResolver.d.ts.map +1 -1
- package/dist/types/src/overlay-tools/OverlayAdminTokenTemplate.d.ts +21 -21
- package/dist/types/src/overlay-tools/OverlayAdminTokenTemplate.d.ts.map +1 -1
- package/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts +16 -16
- package/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts.map +1 -1
- package/dist/types/src/overlay-tools/__tests/LookupResolver.test.d.ts +2 -0
- package/dist/types/src/overlay-tools/__tests/LookupResolver.test.d.ts.map +1 -0
- package/dist/types/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.d.ts +2 -0
- package/dist/types/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.d.ts.map +1 -0
- package/dist/types/src/overlay-tools/__tests/SHIPBroadcaster.test.d.ts +2 -0
- package/dist/types/src/overlay-tools/__tests/SHIPBroadcaster.test.d.ts.map +1 -0
- package/dist/types/src/overlay-tools/index.d.ts +5 -5
- package/dist/types/src/overlay-tools/index.d.ts.map +1 -1
- package/dist/types/src/primitives/BasePoint.d.ts +1 -1
- package/dist/types/src/primitives/BasePoint.d.ts.map +1 -1
- package/dist/types/src/primitives/BigNumber.d.ts +1 -1
- package/dist/types/src/primitives/BigNumber.d.ts.map +1 -1
- package/dist/types/src/primitives/Curve.d.ts +3 -3
- package/dist/types/src/primitives/Curve.d.ts.map +1 -1
- package/dist/types/src/primitives/DRBG.d.ts +1 -1
- package/dist/types/src/primitives/DRBG.d.ts.map +1 -1
- package/dist/types/src/primitives/ECDSA.d.ts +3 -3
- package/dist/types/src/primitives/ECDSA.d.ts.map +1 -1
- package/dist/types/src/primitives/Hash.d.ts.map +1 -1
- package/dist/types/src/primitives/JacobianPoint.d.ts +3 -3
- package/dist/types/src/primitives/JacobianPoint.d.ts.map +1 -1
- package/dist/types/src/primitives/K256.d.ts +2 -2
- package/dist/types/src/primitives/K256.d.ts.map +1 -1
- package/dist/types/src/primitives/Mersenne.d.ts +1 -1
- package/dist/types/src/primitives/Mersenne.d.ts.map +1 -1
- package/dist/types/src/primitives/MontgomoryMethod.d.ts +2 -2
- package/dist/types/src/primitives/MontgomoryMethod.d.ts.map +1 -1
- package/dist/types/src/primitives/Point.d.ts +17 -13
- package/dist/types/src/primitives/Point.d.ts.map +1 -1
- package/dist/types/src/primitives/Polynomial.d.ts +2 -2
- package/dist/types/src/primitives/Polynomial.d.ts.map +1 -1
- package/dist/types/src/primitives/PrivateKey.d.ts +5 -5
- package/dist/types/src/primitives/PrivateKey.d.ts.map +1 -1
- package/dist/types/src/primitives/PublicKey.d.ts +4 -4
- package/dist/types/src/primitives/PublicKey.d.ts.map +1 -1
- package/dist/types/src/primitives/Random.d.ts.map +1 -1
- package/dist/types/src/primitives/ReductionContext.d.ts +2 -2
- package/dist/types/src/primitives/ReductionContext.d.ts.map +1 -1
- package/dist/types/src/primitives/Schnorr.d.ts +17 -17
- package/dist/types/src/primitives/Schnorr.d.ts.map +1 -1
- package/dist/types/src/primitives/Signature.d.ts +2 -2
- package/dist/types/src/primitives/Signature.d.ts.map +1 -1
- package/dist/types/src/primitives/SymmetricKey.d.ts +14 -14
- package/dist/types/src/primitives/SymmetricKey.d.ts.map +1 -1
- package/dist/types/src/primitives/TransactionSignature.d.ts +9 -9
- package/dist/types/src/primitives/TransactionSignature.d.ts.map +1 -1
- package/dist/types/src/primitives/__tests/AESGCM.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/AESGCM.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/BRC42.private.vectors.d.ts +8 -0
- package/dist/types/src/primitives/__tests/BRC42.private.vectors.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/BRC42.public.vectors.d.ts +8 -0
- package/dist/types/src/primitives/__tests/BRC42.public.vectors.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/BigNumber.arithmatic.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/BigNumber.arithmatic.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/BigNumber.binary.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/BigNumber.binary.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/BigNumber.constructor.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/BigNumber.constructor.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/BigNumber.dhGroup.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/BigNumber.dhGroup.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/BigNumber.fixtures.d.ts +15 -0
- package/dist/types/src/primitives/__tests/BigNumber.fixtures.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/BigNumber.serializers.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/BigNumber.serializers.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/BigNumber.utils.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/BigNumber.utils.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/Curve.unit.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/Curve.unit.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/DRBG.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/DRBG.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/DRBG.vectors.d.ts +10 -0
- package/dist/types/src/primitives/__tests/DRBG.vectors.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/ECDH.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/ECDH.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/ECDSA.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/ECDSA.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/HMAC.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/HMAC.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/Hash.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/Hash.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/PBKDF2.vectors.d.ts +68 -0
- package/dist/types/src/primitives/__tests/PBKDF2.vectors.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/PrivateKey.split.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/PrivateKey.split.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/PrivateKey.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/PrivateKey.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/PublicKey.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/PublicKey.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/Random.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/Random.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/Reader.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/Reader.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/ReductionContext.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/ReductionContext.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/Schnorr.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/Schnorr.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/SymmetricKey.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/SymmetricKey.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/SymmetricKey.vectors.d.ts +20 -0
- package/dist/types/src/primitives/__tests/SymmetricKey.vectors.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/Writer.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/Writer.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/bug-31.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/bug-31.test.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/sighash.vectors.d.ts +3 -0
- package/dist/types/src/primitives/__tests/sighash.vectors.d.ts.map +1 -0
- package/dist/types/src/primitives/__tests/utils.test.d.ts +2 -0
- package/dist/types/src/primitives/__tests/utils.test.d.ts.map +1 -0
- package/dist/types/src/primitives/index.d.ts +14 -14
- package/dist/types/src/primitives/index.d.ts.map +1 -1
- package/dist/types/src/primitives/utils.d.ts +1 -1
- package/dist/types/src/primitives/utils.d.ts.map +1 -1
- package/dist/types/src/script/LockingScript.d.ts +1 -1
- package/dist/types/src/script/LockingScript.d.ts.map +1 -1
- package/dist/types/src/script/Script.d.ts +5 -5
- package/dist/types/src/script/Script.d.ts.map +1 -1
- package/dist/types/src/script/ScriptTemplate.d.ts +3 -3
- package/dist/types/src/script/ScriptTemplate.d.ts.map +1 -1
- package/dist/types/src/script/Spend.d.ts +4 -4
- package/dist/types/src/script/Spend.d.ts.map +1 -1
- package/dist/types/src/script/UnlockingScript.d.ts +1 -1
- package/dist/types/src/script/UnlockingScript.d.ts.map +1 -1
- package/dist/types/src/script/__tests/Script.test.d.ts +2 -0
- package/dist/types/src/script/__tests/Script.test.d.ts.map +1 -0
- package/dist/types/src/script/__tests/Spend.test.d.ts +2 -0
- package/dist/types/src/script/__tests/Spend.test.d.ts.map +1 -0
- package/dist/types/src/script/__tests/SpendComplex.test.d.ts +2 -0
- package/dist/types/src/script/__tests/SpendComplex.test.d.ts.map +1 -0
- package/dist/types/src/script/__tests/script.invalid.vectors.d.ts +3 -0
- package/dist/types/src/script/__tests/script.invalid.vectors.d.ts.map +1 -0
- package/dist/types/src/script/__tests/script.valid.vectors.d.ts +3 -0
- package/dist/types/src/script/__tests/script.valid.vectors.d.ts.map +1 -0
- package/dist/types/src/script/__tests/spend.valid.vectors.d.ts +3 -0
- package/dist/types/src/script/__tests/spend.valid.vectors.d.ts.map +1 -0
- package/dist/types/src/script/index.d.ts +7 -7
- package/dist/types/src/script/index.d.ts.map +1 -1
- package/dist/types/src/script/templates/P2PKH.d.ts +7 -7
- package/dist/types/src/script/templates/P2PKH.d.ts.map +1 -1
- package/dist/types/src/script/templates/PushDrop.d.ts +7 -7
- package/dist/types/src/script/templates/PushDrop.d.ts.map +1 -1
- package/dist/types/src/script/templates/RPuzzle.d.ts +9 -9
- package/dist/types/src/script/templates/RPuzzle.d.ts.map +1 -1
- package/dist/types/src/script/templates/__tests/PushDrop.test.d.ts +2 -0
- package/dist/types/src/script/templates/__tests/PushDrop.test.d.ts.map +1 -0
- package/dist/types/src/script/templates/index.d.ts +3 -3
- package/dist/types/src/script/templates/index.d.ts.map +1 -1
- package/dist/types/src/totp/__tests/totp.test.d.ts +2 -0
- package/dist/types/src/totp/__tests/totp.test.d.ts.map +1 -0
- package/dist/types/src/totp/index.d.ts +1 -1
- package/dist/types/src/totp/index.d.ts.map +1 -1
- package/dist/types/src/transaction/Beef.d.ts +96 -96
- package/dist/types/src/transaction/Beef.d.ts.map +1 -1
- package/dist/types/src/transaction/BeefParty.d.ts +23 -23
- package/dist/types/src/transaction/BeefParty.d.ts.map +1 -1
- package/dist/types/src/transaction/BeefTx.d.ts +5 -5
- package/dist/types/src/transaction/BeefTx.d.ts.map +1 -1
- package/dist/types/src/transaction/Broadcaster.d.ts +1 -1
- package/dist/types/src/transaction/Broadcaster.d.ts.map +1 -1
- package/dist/types/src/transaction/ChainTracker.d.ts +2 -2
- package/dist/types/src/transaction/FeeModel.d.ts +1 -1
- package/dist/types/src/transaction/FeeModel.d.ts.map +1 -1
- package/dist/types/src/transaction/MerklePath.d.ts +2 -2
- package/dist/types/src/transaction/MerklePath.d.ts.map +1 -1
- package/dist/types/src/transaction/Transaction.d.ts +11 -19
- package/dist/types/src/transaction/Transaction.d.ts.map +1 -1
- package/dist/types/src/transaction/TransactionInput.d.ts +2 -2
- package/dist/types/src/transaction/TransactionInput.d.ts.map +1 -1
- package/dist/types/src/transaction/TransactionOutput.d.ts +1 -1
- package/dist/types/src/transaction/TransactionOutput.d.ts.map +1 -1
- package/dist/types/src/transaction/__tests/Beef.test.d.ts +2 -0
- package/dist/types/src/transaction/__tests/Beef.test.d.ts.map +1 -0
- package/dist/types/src/transaction/__tests/MerklePath.test.d.ts +2 -0
- package/dist/types/src/transaction/__tests/MerklePath.test.d.ts.map +1 -0
- package/dist/types/src/transaction/__tests/Transaction.benchmarks.test.d.ts +2 -0
- package/dist/types/src/transaction/__tests/Transaction.benchmarks.test.d.ts.map +1 -0
- package/dist/types/src/transaction/__tests/Transaction.test.d.ts +2 -0
- package/dist/types/src/transaction/__tests/Transaction.test.d.ts.map +1 -0
- package/dist/types/src/transaction/__tests/bigtx.vectors.d.ts +6 -0
- package/dist/types/src/transaction/__tests/bigtx.vectors.d.ts.map +1 -0
- package/dist/types/src/transaction/__tests/bump.invalid.vectors.d.ts +6 -0
- package/dist/types/src/transaction/__tests/bump.invalid.vectors.d.ts.map +1 -0
- package/dist/types/src/transaction/__tests/bump.valid.vectors.d.ts +5 -0
- package/dist/types/src/transaction/__tests/bump.valid.vectors.d.ts.map +1 -0
- package/dist/types/src/transaction/__tests/tx.invalid.vectors.d.ts +3 -0
- package/dist/types/src/transaction/__tests/tx.invalid.vectors.d.ts.map +1 -0
- package/dist/types/src/transaction/__tests/tx.valid.vectors.d.ts +3 -0
- package/dist/types/src/transaction/__tests/tx.valid.vectors.d.ts.map +1 -0
- package/dist/types/src/transaction/broadcasters/ARC.d.ts +3 -3
- package/dist/types/src/transaction/broadcasters/ARC.d.ts.map +1 -1
- package/dist/types/src/transaction/broadcasters/DefaultBroadcaster.d.ts +2 -2
- package/dist/types/src/transaction/broadcasters/DefaultBroadcaster.d.ts.map +1 -1
- package/dist/types/src/transaction/broadcasters/WhatsOnChainBroadcaster.d.ts +4 -4
- package/dist/types/src/transaction/broadcasters/WhatsOnChainBroadcaster.d.ts.map +1 -1
- package/dist/types/src/transaction/broadcasters/__tests/ARC.test.d.ts +2 -0
- package/dist/types/src/transaction/broadcasters/__tests/ARC.test.d.ts.map +1 -0
- package/dist/types/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.d.ts +2 -0
- package/dist/types/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.d.ts.map +1 -0
- package/dist/types/src/transaction/broadcasters/index.d.ts +4 -4
- package/dist/types/src/transaction/broadcasters/index.d.ts.map +1 -1
- package/dist/types/src/transaction/chaintrackers/DefaultChainTracker.d.ts +1 -1
- package/dist/types/src/transaction/chaintrackers/DefaultChainTracker.d.ts.map +1 -1
- package/dist/types/src/transaction/chaintrackers/WhatsOnChain.d.ts +3 -3
- package/dist/types/src/transaction/chaintrackers/WhatsOnChain.d.ts.map +1 -1
- package/dist/types/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.d.ts +2 -0
- package/dist/types/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.d.ts.map +1 -0
- package/dist/types/src/transaction/chaintrackers/index.d.ts +3 -3
- package/dist/types/src/transaction/chaintrackers/index.d.ts.map +1 -1
- package/dist/types/src/transaction/fee-models/SatoshisPerKilobyte.d.ts +2 -2
- package/dist/types/src/transaction/fee-models/SatoshisPerKilobyte.d.ts.map +1 -1
- package/dist/types/src/transaction/fee-models/index.d.ts +1 -1
- package/dist/types/src/transaction/fee-models/index.d.ts.map +1 -1
- package/dist/types/src/transaction/http/DefaultHttpClient.d.ts +2 -2
- package/dist/types/src/transaction/http/DefaultHttpClient.d.ts.map +1 -1
- package/dist/types/src/transaction/http/FetchHttpClient.d.ts +6 -6
- package/dist/types/src/transaction/http/FetchHttpClient.d.ts.map +1 -1
- package/dist/types/src/transaction/http/HttpClient.d.ts +4 -4
- package/dist/types/src/transaction/http/HttpClient.d.ts.map +1 -1
- package/dist/types/src/transaction/http/NodejsHttpClient.d.ts +4 -4
- package/dist/types/src/transaction/http/NodejsHttpClient.d.ts.map +1 -1
- package/dist/types/src/transaction/http/index.d.ts +6 -6
- package/dist/types/src/transaction/http/index.d.ts.map +1 -1
- package/dist/types/src/transaction/index.d.ts +10 -10
- package/dist/types/src/transaction/index.d.ts.map +1 -1
- package/dist/types/src/wallet/CachedKeyDeriver.d.ts +61 -61
- package/dist/types/src/wallet/CachedKeyDeriver.d.ts.map +1 -1
- package/dist/types/src/wallet/KeyDeriver.d.ts +80 -80
- package/dist/types/src/wallet/KeyDeriver.d.ts.map +1 -1
- package/dist/types/src/wallet/ProtoWallet.d.ts +3 -3
- package/dist/types/src/wallet/ProtoWallet.d.ts.map +1 -1
- package/dist/types/src/wallet/Wallet.interfaces.d.ts +144 -144
- package/dist/types/src/wallet/Wallet.interfaces.d.ts.map +1 -1
- package/dist/types/src/wallet/WalletClient.d.ts +1 -1
- package/dist/types/src/wallet/WalletClient.d.ts.map +1 -1
- package/dist/types/src/wallet/__tests/CachedKeyDeriver.test.d.ts +2 -0
- package/dist/types/src/wallet/__tests/CachedKeyDeriver.test.d.ts.map +1 -0
- package/dist/types/src/wallet/__tests/KeyDeriver.test.d.ts +2 -0
- package/dist/types/src/wallet/__tests/KeyDeriver.test.d.ts.map +1 -0
- package/dist/types/src/wallet/__tests/ProtoWallet.test.d.ts +2 -0
- package/dist/types/src/wallet/__tests/ProtoWallet.test.d.ts.map +1 -0
- package/dist/types/src/wallet/index.d.ts +8 -8
- package/dist/types/src/wallet/index.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts +1 -1
- package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/HTTPWalletWire.d.ts +1 -1
- package/dist/types/src/wallet/substrates/HTTPWalletWire.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/WalletWire.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/WalletWireCalls.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/WalletWireProcessor.d.ts +2 -2
- package/dist/types/src/wallet/substrates/WalletWireProcessor.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/WalletWireTransceiver.d.ts +10 -10
- package/dist/types/src/wallet/substrates/WalletWireTransceiver.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/XDM.d.ts +2 -2
- package/dist/types/src/wallet/substrates/XDM.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/__tests/WalletWire.integration.test.d.ts +2 -0
- package/dist/types/src/wallet/substrates/__tests/WalletWire.integration.test.d.ts.map +1 -0
- package/dist/types/src/wallet/substrates/__tests/XDM.test.d.ts +5 -0
- package/dist/types/src/wallet/substrates/__tests/XDM.test.d.ts.map +1 -0
- package/dist/types/src/wallet/substrates/index.d.ts +7 -7
- package/dist/types/src/wallet/substrates/index.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/window.CWI.d.ts +19 -19
- package/dist/types/src/wallet/substrates/window.CWI.d.ts.map +1 -1
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/dist/umd/bundle.js +1 -1
- package/docs/auth.md +55 -51
- package/docs/compat.md +24 -24
- package/docs/messages.md +7 -5
- package/docs/overlay-tools.md +21 -21
- package/docs/primitives.md +239 -242
- package/docs/script.md +31 -31
- package/docs/totp.md +5 -5
- package/docs/transaction.md +76 -78
- package/docs/wallet-substrates.md +6 -6
- package/docs/wallet.md +129 -129
- package/mod.ts +15 -15
- package/package.json +10 -2
- package/src/auth/Peer.ts +217 -72
- package/src/auth/SessionManager.ts +8 -6
- package/src/auth/__tests/Peer.test.ts +314 -159
- package/src/auth/certificates/Certificate.ts +16 -6
- package/src/auth/certificates/MasterCertificate.ts +96 -43
- package/src/auth/certificates/VerifiableCertificate.ts +29 -9
- package/src/auth/certificates/__tests/Certificate.test.ts +160 -146
- package/src/auth/certificates/__tests/CompletedProtoWallet.ts +148 -59
- package/src/auth/certificates/__tests/MasterCertificate.test.ts +65 -41
- package/src/auth/certificates/__tests/VerifiableCertificate.test.ts +47 -31
- package/src/auth/certificates/index.ts +4 -4
- package/src/auth/clients/AuthFetch.ts +316 -231
- package/src/auth/clients/index.ts +1 -1
- package/src/auth/index.ts +7 -7
- package/src/auth/transports/SimplifiedFetchTransport.ts +166 -124
- package/src/auth/transports/index.ts +1 -1
- package/src/auth/types.ts +1 -1
- package/src/auth/utils/__tests/cryptononce.test.ts +52 -25
- package/src/auth/utils/__tests/getVerifiableCertificates.test.ts +64 -38
- package/src/auth/utils/__tests/validateCertificates.test.ts +101 -89
- package/src/auth/utils/createNonce.ts +11 -3
- package/src/auth/utils/getVerifiableCertificates.ts +11 -6
- package/src/auth/utils/index.ts +4 -4
- package/src/auth/utils/validateCertificates.ts +53 -39
- package/src/auth/utils/verifyNonce.ts +6 -2
- package/src/compat/BSM.ts +17 -9
- package/src/compat/ECIES.ts +239 -123
- package/src/compat/HD.ts +82 -63
- package/src/compat/Mnemonic.ts +98 -87
- package/src/compat/Utxo.ts +12 -9
- package/src/compat/__tests/BSM.test.ts +43 -16
- package/src/compat/__tests/ECIES.test.ts +117 -52
- package/src/compat/__tests/HD.test.ts +49 -38
- package/src/compat/__tests/Mnemonic.test.ts +145 -145
- package/src/compat/index.ts +5 -5
- package/src/messages/EncryptedMessage.ts +11 -7
- package/src/messages/SignedMessage.ts +19 -14
- package/src/messages/__tests/EncryptedMessage.test.ts +55 -56
- package/src/messages/__tests/SignedMessage.test.ts +58 -52
- package/src/messages/index.ts +2 -2
- package/src/overlay-tools/LookupResolver.ts +65 -33
- package/src/overlay-tools/OverlayAdminTokenTemplate.ts +52 -27
- package/src/overlay-tools/SHIPBroadcaster.ts +134 -59
- package/src/overlay-tools/__tests/LookupResolver.test.ts +723 -323
- package/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.ts +50 -22
- package/src/overlay-tools/__tests/SHIPBroadcaster.test.ts +607 -290
- package/src/overlay-tools/index.ts +5 -5
- package/src/primitives/BasePoint.ts +1 -1
- package/src/primitives/BigNumber.ts +94 -87
- package/src/primitives/Curve.ts +49 -30
- package/src/primitives/DRBG.ts +10 -12
- package/src/primitives/ECDSA.ts +59 -33
- package/src/primitives/Hash.ts +298 -179
- package/src/primitives/JacobianPoint.ts +55 -21
- package/src/primitives/K256.ts +2 -2
- package/src/primitives/Mersenne.ts +1 -1
- package/src/primitives/MontgomoryMethod.ts +2 -2
- package/src/primitives/Point.ts +193 -113
- package/src/primitives/Polynomial.ts +12 -7
- package/src/primitives/PrivateKey.ts +44 -20
- package/src/primitives/PublicKey.ts +21 -11
- package/src/primitives/Random.ts +7 -5
- package/src/primitives/ReductionContext.ts +4 -4
- package/src/primitives/Schnorr.ts +45 -23
- package/src/primitives/Signature.ts +27 -19
- package/src/primitives/SymmetricKey.ts +17 -17
- package/src/primitives/TransactionSignature.ts +29 -18
- package/src/primitives/__tests/AESGCM.test.ts +635 -329
- package/src/primitives/__tests/BigNumber.arithmatic.test.ts +721 -502
- package/src/primitives/__tests/BigNumber.binary.test.ts +271 -190
- package/src/primitives/__tests/BigNumber.constructor.test.ts +60 -24
- package/src/primitives/__tests/BigNumber.dhGroup.test.ts +19 -15
- package/src/primitives/__tests/BigNumber.serializers.test.ts +183 -157
- package/src/primitives/__tests/BigNumber.utils.test.ts +394 -304
- package/src/primitives/__tests/Curve.unit.test.ts +158 -143
- package/src/primitives/__tests/DRBG.test.ts +13 -13
- package/src/primitives/__tests/ECDH.test.ts +15 -8
- package/src/primitives/__tests/ECDSA.test.ts +63 -57
- package/src/primitives/__tests/HMAC.test.ts +55 -49
- package/src/primitives/__tests/Hash.test.ts +96 -85
- package/src/primitives/__tests/PrivateKey.split.test.ts +29 -9
- package/src/primitives/__tests/PrivateKey.test.ts +53 -50
- package/src/primitives/__tests/PublicKey.test.ts +15 -6
- package/src/primitives/__tests/Random.test.ts +10 -10
- package/src/primitives/__tests/Reader.test.ts +240 -219
- package/src/primitives/__tests/ReductionContext.test.ts +271 -234
- package/src/primitives/__tests/Schnorr.test.ts +252 -242
- package/src/primitives/__tests/SymmetricKey.test.ts +53 -50
- package/src/primitives/__tests/Writer.test.ts +23 -13
- package/src/primitives/__tests/bug-31.test.ts +25 -23
- package/src/primitives/__tests/utils.test.ts +70 -19
- package/src/primitives/index.ts +14 -14
- package/src/primitives/utils.ts +88 -63
- package/src/script/LockingScript.ts +1 -1
- package/src/script/Script.ts +14 -10
- package/src/script/ScriptTemplate.ts +5 -7
- package/src/script/Spend.ts +314 -118
- package/src/script/UnlockingScript.ts +1 -1
- package/src/script/__tests/Script.test.ts +68 -54
- package/src/script/__tests/Spend.test.ts +188 -68
- package/src/script/__tests/SpendComplex.test.ts +36 -26
- package/src/script/__tests/script.valid.vectors.ts +1064 -3100
- package/src/script/index.ts +7 -7
- package/src/script/templates/P2PKH.ts +63 -52
- package/src/script/templates/PushDrop.ts +117 -89
- package/src/script/templates/RPuzzle.ts +72 -54
- package/src/script/templates/__tests/PushDrop.test.ts +146 -40
- package/src/script/templates/index.ts +3 -3
- package/src/totp/__tests/totp.test.ts +39 -39
- package/src/totp/index.ts +1 -1
- package/src/totp/totp.ts +2 -2
- package/src/transaction/Beef.ts +211 -141
- package/src/transaction/BeefParty.ts +35 -27
- package/src/transaction/BeefTx.ts +13 -9
- package/src/transaction/Broadcaster.ts +11 -7
- package/src/transaction/ChainTracker.ts +2 -2
- package/src/transaction/FeeModel.ts +2 -2
- package/src/transaction/MerklePath.ts +81 -37
- package/src/transaction/Transaction.ts +185 -208
- package/src/transaction/TransactionInput.ts +2 -2
- package/src/transaction/TransactionOutput.ts +2 -2
- package/src/transaction/__tests/Beef.test.ts +359 -297
- package/src/transaction/__tests/MerklePath.test.ts +163 -131
- package/src/transaction/__tests/Transaction.benchmarks.test.ts +235 -202
- package/src/transaction/__tests/Transaction.test.ts +746 -459
- package/src/transaction/broadcasters/ARC.ts +120 -94
- package/src/transaction/broadcasters/DefaultBroadcaster.ts +11 -5
- package/src/transaction/broadcasters/WhatsOnChainBroadcaster.ts +46 -33
- package/src/transaction/broadcasters/__tests/ARC.test.ts +77 -45
- package/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.ts +25 -17
- package/src/transaction/broadcasters/index.ts +4 -4
- package/src/transaction/chaintrackers/DefaultChainTracker.ts +4 -4
- package/src/transaction/chaintrackers/WhatsOnChain.ts +53 -38
- package/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.ts +138 -102
- package/src/transaction/chaintrackers/index.ts +3 -3
- package/src/transaction/fee-models/SatoshisPerKilobyte.ts +37 -32
- package/src/transaction/fee-models/index.ts +1 -1
- package/src/transaction/http/DefaultHttpClient.ts +17 -17
- package/src/transaction/http/FetchHttpClient.ts +18 -9
- package/src/transaction/http/HttpClient.ts +30 -25
- package/src/transaction/http/NodejsHttpClient.ts +42 -28
- package/src/transaction/http/index.ts +10 -6
- package/src/transaction/index.ts +14 -10
- package/src/wallet/CachedKeyDeriver.ts +118 -72
- package/src/wallet/KeyDeriver.ts +186 -105
- package/src/wallet/ProtoWallet.ts +53 -17
- package/src/wallet/Wallet.interfaces.ts +158 -149
- package/src/wallet/WalletClient.ts +316 -58
- package/src/wallet/__tests/CachedKeyDeriver.test.ts +83 -27
- package/src/wallet/__tests/KeyDeriver.test.ts +219 -116
- package/src/wallet/__tests/ProtoWallet.test.ts +420 -339
- package/src/wallet/index.ts +8 -8
- package/src/wallet/substrates/HTTPWalletJSON.ts +201 -32
- package/src/wallet/substrates/HTTPWalletWire.ts +30 -26
- package/src/wallet/substrates/WalletWire.ts +1 -1
- package/src/wallet/substrates/WalletWireCalls.ts +3 -3
- package/src/wallet/substrates/WalletWireProcessor.ts +1651 -1515
- package/src/wallet/substrates/WalletWireTransceiver.ts +1424 -854
- package/src/wallet/substrates/XDM.ts +427 -37
- package/src/wallet/substrates/__tests/WalletWire.integration.test.ts +484 -223
- package/src/wallet/substrates/__tests/XDM.test.ts +191 -195
- package/src/wallet/substrates/index.ts +7 -7
- package/src/wallet/substrates/window.CWI.ts +524 -65
|
@@ -1,18 +1,40 @@
|
|
|
1
|
-
import LookupResolver, {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
1
|
+
import LookupResolver, {
|
|
2
|
+
HTTPSOverlayLookupFacilitator
|
|
3
|
+
} from '../LookupResolver'
|
|
4
|
+
import OverlayAdminTokenTemplate from '../../overlay-tools/OverlayAdminTokenTemplate'
|
|
5
|
+
import { CompletedProtoWallet } from '../../auth/certificates/__tests/CompletedProtoWallet'
|
|
6
|
+
import { PrivateKey } from '../../primitives/index'
|
|
7
|
+
import { Transaction } from '../../transaction/index'
|
|
8
|
+
import { LockingScript } from '../../script/index'
|
|
7
9
|
|
|
8
10
|
const mockFacilitator = {
|
|
9
11
|
lookup: jest.fn()
|
|
10
12
|
}
|
|
11
13
|
|
|
12
|
-
const sampleBeef1 = new Transaction(
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
const sampleBeef1 = new Transaction(
|
|
15
|
+
1,
|
|
16
|
+
[],
|
|
17
|
+
[{ lockingScript: LockingScript.fromHex('88'), satoshis: 1 }],
|
|
18
|
+
0
|
|
19
|
+
).toBEEF()
|
|
20
|
+
const sampleBeef2 = new Transaction(
|
|
21
|
+
1,
|
|
22
|
+
[],
|
|
23
|
+
[{ lockingScript: LockingScript.fromHex('88'), satoshis: 2 }],
|
|
24
|
+
0
|
|
25
|
+
).toBEEF()
|
|
26
|
+
const sampleBeef3 = new Transaction(
|
|
27
|
+
1,
|
|
28
|
+
[],
|
|
29
|
+
[{ lockingScript: LockingScript.fromHex('88'), satoshis: 3 }],
|
|
30
|
+
0
|
|
31
|
+
).toBEEF()
|
|
32
|
+
const sampleBeef4 = new Transaction(
|
|
33
|
+
1,
|
|
34
|
+
[],
|
|
35
|
+
[{ lockingScript: LockingScript.fromHex('88'), satoshis: 4 }],
|
|
36
|
+
0
|
|
37
|
+
).toBEEF()
|
|
16
38
|
|
|
17
39
|
describe('LookupResolver', () => {
|
|
18
40
|
beforeEach(() => {
|
|
@@ -21,39 +43,61 @@ describe('LookupResolver', () => {
|
|
|
21
43
|
|
|
22
44
|
it('should query the host and return the response when a single host is found via SLAP', async () => {
|
|
23
45
|
const slapHostKey = new PrivateKey(42)
|
|
24
|
-
const slapWallet = new
|
|
46
|
+
const slapWallet = new CompletedProtoWallet(slapHostKey)
|
|
25
47
|
const slapLib = new OverlayAdminTokenTemplate(slapWallet)
|
|
26
|
-
const slapScript = await slapLib.lock(
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
48
|
+
const slapScript = await slapLib.lock(
|
|
49
|
+
'SLAP',
|
|
50
|
+
'https://slaphost.com',
|
|
51
|
+
'ls_foo'
|
|
52
|
+
)
|
|
53
|
+
const slapTx = new Transaction(
|
|
54
|
+
1,
|
|
55
|
+
[],
|
|
56
|
+
[
|
|
57
|
+
{
|
|
58
|
+
lockingScript: slapScript,
|
|
59
|
+
satoshis: 1
|
|
60
|
+
}
|
|
61
|
+
],
|
|
62
|
+
0
|
|
63
|
+
)
|
|
31
64
|
|
|
32
|
-
mockFacilitator.lookup
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
65
|
+
mockFacilitator.lookup
|
|
66
|
+
.mockReturnValueOnce({
|
|
67
|
+
type: 'output-list',
|
|
68
|
+
outputs: [
|
|
69
|
+
{
|
|
70
|
+
outputIndex: 0,
|
|
71
|
+
beef: slapTx.toBEEF()
|
|
72
|
+
}
|
|
73
|
+
]
|
|
74
|
+
})
|
|
75
|
+
.mockReturnValueOnce({
|
|
76
|
+
type: 'output-list',
|
|
77
|
+
outputs: [
|
|
78
|
+
{
|
|
79
|
+
beef: sampleBeef1,
|
|
80
|
+
outputIndex: 0
|
|
81
|
+
}
|
|
82
|
+
]
|
|
83
|
+
})
|
|
45
84
|
|
|
46
|
-
const r = new LookupResolver({
|
|
85
|
+
const r = new LookupResolver({
|
|
86
|
+
facilitator: mockFacilitator,
|
|
87
|
+
slapTrackers: ['https://mock.slap']
|
|
88
|
+
})
|
|
47
89
|
const res = await r.query({
|
|
48
90
|
service: 'ls_foo',
|
|
49
91
|
query: { test: 1 }
|
|
50
92
|
})
|
|
51
93
|
expect(res).toEqual({
|
|
52
94
|
type: 'output-list',
|
|
53
|
-
outputs: [
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
95
|
+
outputs: [
|
|
96
|
+
{
|
|
97
|
+
beef: sampleBeef1,
|
|
98
|
+
outputIndex: 0
|
|
99
|
+
}
|
|
100
|
+
]
|
|
57
101
|
})
|
|
58
102
|
expect(mockFacilitator.lookup.mock.calls).toEqual([
|
|
59
103
|
[
|
|
@@ -72,7 +116,7 @@ describe('LookupResolver', () => {
|
|
|
72
116
|
service: 'ls_foo',
|
|
73
117
|
query: {
|
|
74
118
|
test: 1
|
|
75
|
-
}
|
|
119
|
+
}
|
|
76
120
|
},
|
|
77
121
|
undefined
|
|
78
122
|
]
|
|
@@ -81,36 +125,59 @@ describe('LookupResolver', () => {
|
|
|
81
125
|
|
|
82
126
|
it('should query from provided additional hosts while still making use of SLAP', async () => {
|
|
83
127
|
const slapHostKey = new PrivateKey(42)
|
|
84
|
-
const slapWallet = new
|
|
128
|
+
const slapWallet = new CompletedProtoWallet(slapHostKey)
|
|
85
129
|
const slapLib = new OverlayAdminTokenTemplate(slapWallet)
|
|
86
|
-
const slapScript = await slapLib.lock(
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
130
|
+
const slapScript = await slapLib.lock(
|
|
131
|
+
'SLAP',
|
|
132
|
+
'https://slaphost.com',
|
|
133
|
+
'ls_foo'
|
|
134
|
+
)
|
|
135
|
+
const slapTx = new Transaction(
|
|
136
|
+
1,
|
|
137
|
+
[],
|
|
138
|
+
[
|
|
139
|
+
{
|
|
140
|
+
lockingScript: slapScript,
|
|
141
|
+
satoshis: 1
|
|
142
|
+
}
|
|
143
|
+
],
|
|
144
|
+
0
|
|
145
|
+
)
|
|
91
146
|
|
|
92
|
-
mockFacilitator.lookup
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
147
|
+
mockFacilitator.lookup
|
|
148
|
+
.mockReturnValueOnce({
|
|
149
|
+
type: 'output-list',
|
|
150
|
+
outputs: [
|
|
151
|
+
{
|
|
152
|
+
outputIndex: 0,
|
|
153
|
+
beef: slapTx.toBEEF()
|
|
154
|
+
}
|
|
155
|
+
]
|
|
156
|
+
})
|
|
157
|
+
.mockReturnValueOnce({
|
|
158
|
+
type: 'output-list',
|
|
159
|
+
outputs: [
|
|
160
|
+
{
|
|
161
|
+
beef: sampleBeef1,
|
|
162
|
+
outputIndex: 0
|
|
163
|
+
}
|
|
164
|
+
]
|
|
165
|
+
})
|
|
166
|
+
.mockReturnValueOnce({
|
|
167
|
+
type: 'output-list',
|
|
168
|
+
outputs: [
|
|
169
|
+
{
|
|
170
|
+
// duplicate the output the other host knows about
|
|
171
|
+
beef: sampleBeef1,
|
|
172
|
+
outputIndex: 0
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
// the additional host also knows about a second output
|
|
176
|
+
beef: sampleBeef2,
|
|
177
|
+
outputIndex: 1033
|
|
178
|
+
}
|
|
179
|
+
]
|
|
180
|
+
})
|
|
114
181
|
|
|
115
182
|
const r = new LookupResolver({
|
|
116
183
|
facilitator: mockFacilitator,
|
|
@@ -125,13 +192,18 @@ describe('LookupResolver', () => {
|
|
|
125
192
|
})
|
|
126
193
|
expect(res).toEqual({
|
|
127
194
|
type: 'output-list',
|
|
128
|
-
outputs: [
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
195
|
+
outputs: [
|
|
196
|
+
{
|
|
197
|
+
// expect the first output to appear only once, and be de-duplicated
|
|
198
|
+
beef: sampleBeef1,
|
|
199
|
+
outputIndex: 0
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
// also expect the second output from the additional host
|
|
203
|
+
beef: sampleBeef2,
|
|
204
|
+
outputIndex: 1033
|
|
205
|
+
}
|
|
206
|
+
]
|
|
135
207
|
})
|
|
136
208
|
expect(mockFacilitator.lookup.mock.calls).toEqual([
|
|
137
209
|
[
|
|
@@ -154,7 +226,8 @@ describe('LookupResolver', () => {
|
|
|
154
226
|
},
|
|
155
227
|
undefined
|
|
156
228
|
],
|
|
157
|
-
[
|
|
229
|
+
[
|
|
230
|
+
// additional host should also have been queried
|
|
158
231
|
'https://additional.host',
|
|
159
232
|
{
|
|
160
233
|
service: 'ls_foo',
|
|
@@ -170,10 +243,12 @@ describe('LookupResolver', () => {
|
|
|
170
243
|
it('should utilize host overrides instead of SLAP', async () => {
|
|
171
244
|
mockFacilitator.lookup.mockReturnValueOnce({
|
|
172
245
|
type: 'output-list',
|
|
173
|
-
outputs: [
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
246
|
+
outputs: [
|
|
247
|
+
{
|
|
248
|
+
beef: sampleBeef1,
|
|
249
|
+
outputIndex: 0
|
|
250
|
+
}
|
|
251
|
+
]
|
|
177
252
|
})
|
|
178
253
|
|
|
179
254
|
const r = new LookupResolver({
|
|
@@ -189,10 +264,12 @@ describe('LookupResolver', () => {
|
|
|
189
264
|
})
|
|
190
265
|
expect(res).toEqual({
|
|
191
266
|
type: 'output-list',
|
|
192
|
-
outputs: [
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
267
|
+
outputs: [
|
|
268
|
+
{
|
|
269
|
+
beef: sampleBeef1,
|
|
270
|
+
outputIndex: 0
|
|
271
|
+
}
|
|
272
|
+
]
|
|
196
273
|
})
|
|
197
274
|
expect(mockFacilitator.lookup.mock.calls).toEqual([
|
|
198
275
|
[
|
|
@@ -209,22 +286,29 @@ describe('LookupResolver', () => {
|
|
|
209
286
|
})
|
|
210
287
|
|
|
211
288
|
it('should allow using host overrides with additional hosts at the same time', async () => {
|
|
212
|
-
mockFacilitator.lookup
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
289
|
+
mockFacilitator.lookup
|
|
290
|
+
.mockReturnValueOnce({
|
|
291
|
+
type: 'output-list', // from the override host
|
|
292
|
+
outputs: [
|
|
293
|
+
{
|
|
294
|
+
beef: sampleBeef1,
|
|
295
|
+
outputIndex: 0
|
|
296
|
+
}
|
|
297
|
+
]
|
|
298
|
+
})
|
|
299
|
+
.mockReturnValueOnce({
|
|
300
|
+
type: 'output-list', // from the additional host
|
|
301
|
+
outputs: [
|
|
302
|
+
{
|
|
303
|
+
beef: sampleBeef1,
|
|
304
|
+
outputIndex: 0
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
beef: sampleBeef2,
|
|
308
|
+
outputIndex: 1033
|
|
309
|
+
}
|
|
310
|
+
]
|
|
311
|
+
})
|
|
228
312
|
|
|
229
313
|
const r = new LookupResolver({
|
|
230
314
|
facilitator: mockFacilitator,
|
|
@@ -242,13 +326,18 @@ describe('LookupResolver', () => {
|
|
|
242
326
|
})
|
|
243
327
|
expect(res).toEqual({
|
|
244
328
|
type: 'output-list',
|
|
245
|
-
outputs: [
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
329
|
+
outputs: [
|
|
330
|
+
{
|
|
331
|
+
// expect the first output to appear only once, and be de-duplicated
|
|
332
|
+
beef: sampleBeef1,
|
|
333
|
+
outputIndex: 0
|
|
334
|
+
},
|
|
335
|
+
{
|
|
336
|
+
// also expect the second output from the additional host
|
|
337
|
+
beef: sampleBeef2,
|
|
338
|
+
outputIndex: 1033
|
|
339
|
+
}
|
|
340
|
+
]
|
|
252
341
|
})
|
|
253
342
|
expect(mockFacilitator.lookup.mock.calls).toEqual([
|
|
254
343
|
[
|
|
@@ -261,7 +350,8 @@ describe('LookupResolver', () => {
|
|
|
261
350
|
},
|
|
262
351
|
undefined
|
|
263
352
|
],
|
|
264
|
-
[
|
|
353
|
+
[
|
|
354
|
+
// additional host should also have been queried
|
|
265
355
|
'https://additional.host',
|
|
266
356
|
{
|
|
267
357
|
service: 'ls_foo',
|
|
@@ -276,52 +366,86 @@ describe('LookupResolver', () => {
|
|
|
276
366
|
|
|
277
367
|
it('should handle multiple SLAP trackers and aggregate results from multiple hosts', async () => {
|
|
278
368
|
const slapHostKey1 = new PrivateKey(42)
|
|
279
|
-
const slapWallet1 = new
|
|
369
|
+
const slapWallet1 = new CompletedProtoWallet(slapHostKey1)
|
|
280
370
|
const slapLib1 = new OverlayAdminTokenTemplate(slapWallet1)
|
|
281
|
-
const slapScript1 = await slapLib1.lock(
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
371
|
+
const slapScript1 = await slapLib1.lock(
|
|
372
|
+
'SLAP',
|
|
373
|
+
'https://slaphost1.com',
|
|
374
|
+
'ls_foo'
|
|
375
|
+
)
|
|
376
|
+
const slapTx1 = new Transaction(
|
|
377
|
+
1,
|
|
378
|
+
[],
|
|
379
|
+
[
|
|
380
|
+
{
|
|
381
|
+
lockingScript: slapScript1,
|
|
382
|
+
satoshis: 1
|
|
383
|
+
}
|
|
384
|
+
],
|
|
385
|
+
0
|
|
386
|
+
)
|
|
286
387
|
|
|
287
388
|
const slapHostKey2 = new PrivateKey(43)
|
|
288
|
-
const slapWallet2 = new
|
|
389
|
+
const slapWallet2 = new CompletedProtoWallet(slapHostKey2)
|
|
289
390
|
const slapLib2 = new OverlayAdminTokenTemplate(slapWallet2)
|
|
290
|
-
const slapScript2 = await slapLib2.lock(
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
391
|
+
const slapScript2 = await slapLib2.lock(
|
|
392
|
+
'SLAP',
|
|
393
|
+
'https://slaphost2.com',
|
|
394
|
+
'ls_foo'
|
|
395
|
+
)
|
|
396
|
+
const slapTx2 = new Transaction(
|
|
397
|
+
1,
|
|
398
|
+
[],
|
|
399
|
+
[
|
|
400
|
+
{
|
|
401
|
+
lockingScript: slapScript2,
|
|
402
|
+
satoshis: 1
|
|
403
|
+
}
|
|
404
|
+
],
|
|
405
|
+
0
|
|
406
|
+
)
|
|
295
407
|
|
|
296
408
|
// SLAP trackers return hosts
|
|
297
|
-
mockFacilitator.lookup
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
409
|
+
mockFacilitator.lookup
|
|
410
|
+
.mockReturnValueOnce({
|
|
411
|
+
type: 'output-list',
|
|
412
|
+
outputs: [
|
|
413
|
+
{
|
|
414
|
+
outputIndex: 0,
|
|
415
|
+
beef: slapTx1.toBEEF()
|
|
416
|
+
}
|
|
417
|
+
]
|
|
418
|
+
})
|
|
419
|
+
.mockReturnValueOnce({
|
|
420
|
+
type: 'output-list',
|
|
421
|
+
outputs: [
|
|
422
|
+
{
|
|
423
|
+
outputIndex: 0,
|
|
424
|
+
beef: slapTx2.toBEEF()
|
|
425
|
+
}
|
|
426
|
+
]
|
|
427
|
+
})
|
|
310
428
|
|
|
311
429
|
// Hosts respond to the query
|
|
312
|
-
mockFacilitator.lookup
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
430
|
+
mockFacilitator.lookup
|
|
431
|
+
.mockReturnValueOnce({
|
|
432
|
+
type: 'output-list',
|
|
433
|
+
outputs: [
|
|
434
|
+
{
|
|
435
|
+
beef: sampleBeef3,
|
|
436
|
+
outputIndex: 0
|
|
437
|
+
}
|
|
438
|
+
]
|
|
439
|
+
})
|
|
440
|
+
.mockReturnValueOnce({
|
|
441
|
+
type: 'output-list',
|
|
442
|
+
outputs: [
|
|
443
|
+
{
|
|
444
|
+
beef: sampleBeef4,
|
|
445
|
+
outputIndex: 1
|
|
446
|
+
}
|
|
447
|
+
]
|
|
448
|
+
})
|
|
325
449
|
|
|
326
450
|
const r = new LookupResolver({
|
|
327
451
|
facilitator: mockFacilitator,
|
|
@@ -387,22 +511,44 @@ describe('LookupResolver', () => {
|
|
|
387
511
|
|
|
388
512
|
it('should de-duplicate outputs from multiple hosts', async () => {
|
|
389
513
|
const slapHostKey1 = new PrivateKey(42)
|
|
390
|
-
const slapWallet1 = new
|
|
514
|
+
const slapWallet1 = new CompletedProtoWallet(slapHostKey1)
|
|
391
515
|
const slapLib1 = new OverlayAdminTokenTemplate(slapWallet1)
|
|
392
|
-
const slapScript1 = await slapLib1.lock(
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
516
|
+
const slapScript1 = await slapLib1.lock(
|
|
517
|
+
'SLAP',
|
|
518
|
+
'https://slaphost1.com',
|
|
519
|
+
'ls_foo'
|
|
520
|
+
)
|
|
521
|
+
const slapTx1 = new Transaction(
|
|
522
|
+
1,
|
|
523
|
+
[],
|
|
524
|
+
[
|
|
525
|
+
{
|
|
526
|
+
lockingScript: slapScript1,
|
|
527
|
+
satoshis: 1
|
|
528
|
+
}
|
|
529
|
+
],
|
|
530
|
+
0
|
|
531
|
+
)
|
|
397
532
|
|
|
398
533
|
const slapHostKey2 = new PrivateKey(43)
|
|
399
|
-
const slapWallet2 = new
|
|
534
|
+
const slapWallet2 = new CompletedProtoWallet(slapHostKey2)
|
|
400
535
|
const slapLib2 = new OverlayAdminTokenTemplate(slapWallet2)
|
|
401
|
-
const slapScript2 = await slapLib2.lock(
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
536
|
+
const slapScript2 = await slapLib2.lock(
|
|
537
|
+
'SLAP',
|
|
538
|
+
'https://slaphost2.com',
|
|
539
|
+
'ls_foo'
|
|
540
|
+
)
|
|
541
|
+
const slapTx2 = new Transaction(
|
|
542
|
+
1,
|
|
543
|
+
[],
|
|
544
|
+
[
|
|
545
|
+
{
|
|
546
|
+
lockingScript: slapScript2,
|
|
547
|
+
satoshis: 1
|
|
548
|
+
}
|
|
549
|
+
],
|
|
550
|
+
0
|
|
551
|
+
)
|
|
406
552
|
|
|
407
553
|
// SLAP tracker returns two hosts
|
|
408
554
|
mockFacilitator.lookup.mockReturnValueOnce({
|
|
@@ -415,13 +561,15 @@ describe('LookupResolver', () => {
|
|
|
415
561
|
|
|
416
562
|
// Both hosts return the same output
|
|
417
563
|
const duplicateOutput = { beef: sampleBeef3, outputIndex: 0 }
|
|
418
|
-
mockFacilitator.lookup
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
564
|
+
mockFacilitator.lookup
|
|
565
|
+
.mockReturnValueOnce({
|
|
566
|
+
type: 'output-list',
|
|
567
|
+
outputs: [duplicateOutput]
|
|
568
|
+
})
|
|
569
|
+
.mockReturnValueOnce({
|
|
570
|
+
type: 'output-list',
|
|
571
|
+
outputs: [duplicateOutput]
|
|
572
|
+
})
|
|
425
573
|
|
|
426
574
|
const r = new LookupResolver({
|
|
427
575
|
facilitator: mockFacilitator,
|
|
@@ -474,22 +622,44 @@ describe('LookupResolver', () => {
|
|
|
474
622
|
|
|
475
623
|
it('should handle hosts returning different response types', async () => {
|
|
476
624
|
const slapHostKey1 = new PrivateKey(42)
|
|
477
|
-
const slapWallet1 = new
|
|
625
|
+
const slapWallet1 = new CompletedProtoWallet(slapHostKey1)
|
|
478
626
|
const slapLib1 = new OverlayAdminTokenTemplate(slapWallet1)
|
|
479
|
-
const slapScript1 = await slapLib1.lock(
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
627
|
+
const slapScript1 = await slapLib1.lock(
|
|
628
|
+
'SLAP',
|
|
629
|
+
'https://slaphost1.com',
|
|
630
|
+
'ls_foo'
|
|
631
|
+
)
|
|
632
|
+
const slapTx1 = new Transaction(
|
|
633
|
+
1,
|
|
634
|
+
[],
|
|
635
|
+
[
|
|
636
|
+
{
|
|
637
|
+
lockingScript: slapScript1,
|
|
638
|
+
satoshis: 1
|
|
639
|
+
}
|
|
640
|
+
],
|
|
641
|
+
0
|
|
642
|
+
)
|
|
484
643
|
|
|
485
644
|
const slapHostKey2 = new PrivateKey(43)
|
|
486
|
-
const slapWallet2 = new
|
|
645
|
+
const slapWallet2 = new CompletedProtoWallet(slapHostKey2)
|
|
487
646
|
const slapLib2 = new OverlayAdminTokenTemplate(slapWallet2)
|
|
488
|
-
const slapScript2 = await slapLib2.lock(
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
647
|
+
const slapScript2 = await slapLib2.lock(
|
|
648
|
+
'SLAP',
|
|
649
|
+
'https://slaphost2.com',
|
|
650
|
+
'ls_foo'
|
|
651
|
+
)
|
|
652
|
+
const slapTx2 = new Transaction(
|
|
653
|
+
1,
|
|
654
|
+
[],
|
|
655
|
+
[
|
|
656
|
+
{
|
|
657
|
+
lockingScript: slapScript2,
|
|
658
|
+
satoshis: 1
|
|
659
|
+
}
|
|
660
|
+
],
|
|
661
|
+
0
|
|
662
|
+
)
|
|
493
663
|
|
|
494
664
|
// SLAP tracker returns two hosts
|
|
495
665
|
mockFacilitator.lookup.mockReturnValueOnce({
|
|
@@ -564,22 +734,44 @@ describe('LookupResolver', () => {
|
|
|
564
734
|
|
|
565
735
|
it('should ignore freeform responses when first response is output-list', async () => {
|
|
566
736
|
const slapHostKey1 = new PrivateKey(42)
|
|
567
|
-
const slapWallet1 = new
|
|
737
|
+
const slapWallet1 = new CompletedProtoWallet(slapHostKey1)
|
|
568
738
|
const slapLib1 = new OverlayAdminTokenTemplate(slapWallet1)
|
|
569
|
-
const slapScript1 = await slapLib1.lock(
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
739
|
+
const slapScript1 = await slapLib1.lock(
|
|
740
|
+
'SLAP',
|
|
741
|
+
'https://slaphost1.com',
|
|
742
|
+
'ls_foo'
|
|
743
|
+
)
|
|
744
|
+
const slapTx1 = new Transaction(
|
|
745
|
+
1,
|
|
746
|
+
[],
|
|
747
|
+
[
|
|
748
|
+
{
|
|
749
|
+
lockingScript: slapScript1,
|
|
750
|
+
satoshis: 1
|
|
751
|
+
}
|
|
752
|
+
],
|
|
753
|
+
0
|
|
754
|
+
)
|
|
574
755
|
|
|
575
756
|
const slapHostKey2 = new PrivateKey(43)
|
|
576
|
-
const slapWallet2 = new
|
|
757
|
+
const slapWallet2 = new CompletedProtoWallet(slapHostKey2)
|
|
577
758
|
const slapLib2 = new OverlayAdminTokenTemplate(slapWallet2)
|
|
578
|
-
const slapScript2 = await slapLib2.lock(
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
759
|
+
const slapScript2 = await slapLib2.lock(
|
|
760
|
+
'SLAP',
|
|
761
|
+
'https://slaphost2.com',
|
|
762
|
+
'ls_foo'
|
|
763
|
+
)
|
|
764
|
+
const slapTx2 = new Transaction(
|
|
765
|
+
1,
|
|
766
|
+
[],
|
|
767
|
+
[
|
|
768
|
+
{
|
|
769
|
+
lockingScript: slapScript2,
|
|
770
|
+
satoshis: 1
|
|
771
|
+
}
|
|
772
|
+
],
|
|
773
|
+
0
|
|
774
|
+
)
|
|
583
775
|
|
|
584
776
|
// SLAP tracker returns two hosts
|
|
585
777
|
mockFacilitator.lookup.mockReturnValueOnce({
|
|
@@ -663,10 +855,14 @@ describe('LookupResolver', () => {
|
|
|
663
855
|
slapTrackers: ['https://mock.slap']
|
|
664
856
|
})
|
|
665
857
|
|
|
666
|
-
await expect(
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
858
|
+
await expect(
|
|
859
|
+
r.query({
|
|
860
|
+
service: 'ls_foo',
|
|
861
|
+
query: { test: 1 }
|
|
862
|
+
})
|
|
863
|
+
).rejects.toThrow(
|
|
864
|
+
'No competent hosts found by the SLAP trackers for lookup service: ls_foo'
|
|
865
|
+
)
|
|
670
866
|
|
|
671
867
|
expect(mockFacilitator.lookup.mock.calls).toEqual([
|
|
672
868
|
[
|
|
@@ -684,22 +880,44 @@ describe('LookupResolver', () => {
|
|
|
684
880
|
|
|
685
881
|
it('should not throw an error when one host fails to respond', async () => {
|
|
686
882
|
const slapHostKey1 = new PrivateKey(42)
|
|
687
|
-
const slapWallet1 = new
|
|
883
|
+
const slapWallet1 = new CompletedProtoWallet(slapHostKey1)
|
|
688
884
|
const slapLib1 = new OverlayAdminTokenTemplate(slapWallet1)
|
|
689
|
-
const slapScript1 = await slapLib1.lock(
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
885
|
+
const slapScript1 = await slapLib1.lock(
|
|
886
|
+
'SLAP',
|
|
887
|
+
'https://slaphost1.com',
|
|
888
|
+
'ls_foo'
|
|
889
|
+
)
|
|
890
|
+
const slapTx1 = new Transaction(
|
|
891
|
+
1,
|
|
892
|
+
[],
|
|
893
|
+
[
|
|
894
|
+
{
|
|
895
|
+
lockingScript: slapScript1,
|
|
896
|
+
satoshis: 1
|
|
897
|
+
}
|
|
898
|
+
],
|
|
899
|
+
0
|
|
900
|
+
)
|
|
694
901
|
|
|
695
902
|
const slapHostKey2 = new PrivateKey(43)
|
|
696
|
-
const slapWallet2 = new
|
|
903
|
+
const slapWallet2 = new CompletedProtoWallet(slapHostKey2)
|
|
697
904
|
const slapLib2 = new OverlayAdminTokenTemplate(slapWallet2)
|
|
698
|
-
const slapScript2 = await slapLib2.lock(
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
905
|
+
const slapScript2 = await slapLib2.lock(
|
|
906
|
+
'SLAP',
|
|
907
|
+
'https://slaphost2.com',
|
|
908
|
+
'ls_foo'
|
|
909
|
+
)
|
|
910
|
+
const slapTx2 = new Transaction(
|
|
911
|
+
1,
|
|
912
|
+
[],
|
|
913
|
+
[
|
|
914
|
+
{
|
|
915
|
+
lockingScript: slapScript2,
|
|
916
|
+
satoshis: 1
|
|
917
|
+
}
|
|
918
|
+
],
|
|
919
|
+
0
|
|
920
|
+
)
|
|
703
921
|
|
|
704
922
|
// SLAP tracker returns two hosts
|
|
705
923
|
mockFacilitator.lookup.mockReturnValueOnce({
|
|
@@ -733,10 +951,12 @@ describe('LookupResolver', () => {
|
|
|
733
951
|
|
|
734
952
|
expect(res).toEqual({
|
|
735
953
|
type: 'output-list',
|
|
736
|
-
outputs: [
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
954
|
+
outputs: [
|
|
955
|
+
{
|
|
956
|
+
beef: sampleBeef3,
|
|
957
|
+
outputIndex: 0
|
|
958
|
+
}
|
|
959
|
+
]
|
|
740
960
|
})
|
|
741
961
|
|
|
742
962
|
expect(mockFacilitator.lookup.mock.calls).toEqual([
|
|
@@ -776,23 +996,30 @@ describe('LookupResolver', () => {
|
|
|
776
996
|
it('Directly uses SLAP resolvers to facilitate SLAP queries', async () => {
|
|
777
997
|
mockFacilitator.lookup.mockReturnValueOnce({
|
|
778
998
|
type: 'output-list',
|
|
779
|
-
outputs: [
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
999
|
+
outputs: [
|
|
1000
|
+
{
|
|
1001
|
+
beef: sampleBeef1,
|
|
1002
|
+
outputIndex: 0
|
|
1003
|
+
}
|
|
1004
|
+
]
|
|
783
1005
|
})
|
|
784
1006
|
|
|
785
|
-
const r = new LookupResolver({
|
|
1007
|
+
const r = new LookupResolver({
|
|
1008
|
+
facilitator: mockFacilitator,
|
|
1009
|
+
slapTrackers: ['https://mock.slap']
|
|
1010
|
+
})
|
|
786
1011
|
const res = await r.query({
|
|
787
1012
|
service: 'ls_slap',
|
|
788
1013
|
query: { test: 1 }
|
|
789
1014
|
})
|
|
790
1015
|
expect(res).toEqual({
|
|
791
1016
|
type: 'output-list',
|
|
792
|
-
outputs: [
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
1017
|
+
outputs: [
|
|
1018
|
+
{
|
|
1019
|
+
beef: sampleBeef1,
|
|
1020
|
+
outputIndex: 0
|
|
1021
|
+
}
|
|
1022
|
+
]
|
|
796
1023
|
})
|
|
797
1024
|
expect(mockFacilitator.lookup.mock.calls).toEqual([
|
|
798
1025
|
[
|
|
@@ -821,10 +1048,14 @@ describe('LookupResolver', () => {
|
|
|
821
1048
|
})
|
|
822
1049
|
|
|
823
1050
|
// Because a freeform response is not valid, the SLAP trackers have not found any competent hosts.
|
|
824
|
-
await expect(
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
1051
|
+
await expect(
|
|
1052
|
+
r.query({
|
|
1053
|
+
service: 'ls_foo',
|
|
1054
|
+
query: { test: 1 }
|
|
1055
|
+
})
|
|
1056
|
+
).rejects.toThrow(
|
|
1057
|
+
'No competent hosts found by the SLAP trackers for lookup service: ls_foo'
|
|
1058
|
+
)
|
|
828
1059
|
|
|
829
1060
|
expect(mockFacilitator.lookup.mock.calls).toEqual([
|
|
830
1061
|
[
|
|
@@ -842,8 +1073,11 @@ describe('LookupResolver', () => {
|
|
|
842
1073
|
|
|
843
1074
|
it('should throw an error when HTTPSOverlayLookupFacilitator is used with non-HTTPS URL', async () => {
|
|
844
1075
|
const facilitator = new HTTPSOverlayLookupFacilitator()
|
|
845
|
-
await expect(
|
|
846
|
-
.
|
|
1076
|
+
await expect(
|
|
1077
|
+
facilitator.lookup('http://insecure.url', { service: 'test', query: {} })
|
|
1078
|
+
).rejects.toThrow(
|
|
1079
|
+
'HTTPS facilitator can only use URLs that start with "https:"'
|
|
1080
|
+
)
|
|
847
1081
|
})
|
|
848
1082
|
describe('LookupResolver Resiliency', () => {
|
|
849
1083
|
beforeEach(() => {
|
|
@@ -852,13 +1086,24 @@ describe('LookupResolver', () => {
|
|
|
852
1086
|
|
|
853
1087
|
it('should continue to function when one SLAP tracker fails', async () => {
|
|
854
1088
|
const slapHostKey = new PrivateKey(42)
|
|
855
|
-
const slapWallet = new
|
|
1089
|
+
const slapWallet = new CompletedProtoWallet(slapHostKey)
|
|
856
1090
|
const slapLib = new OverlayAdminTokenTemplate(slapWallet)
|
|
857
|
-
const slapScript = await slapLib.lock(
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
1091
|
+
const slapScript = await slapLib.lock(
|
|
1092
|
+
'SLAP',
|
|
1093
|
+
'https://slaphost.com',
|
|
1094
|
+
'ls_foo'
|
|
1095
|
+
)
|
|
1096
|
+
const slapTx = new Transaction(
|
|
1097
|
+
1,
|
|
1098
|
+
[],
|
|
1099
|
+
[
|
|
1100
|
+
{
|
|
1101
|
+
lockingScript: slapScript,
|
|
1102
|
+
satoshis: 1
|
|
1103
|
+
}
|
|
1104
|
+
],
|
|
1105
|
+
0
|
|
1106
|
+
)
|
|
862
1107
|
|
|
863
1108
|
// First SLAP tracker fails
|
|
864
1109
|
mockFacilitator.lookup.mockImplementationOnce(async () => {
|
|
@@ -868,19 +1113,23 @@ describe('LookupResolver', () => {
|
|
|
868
1113
|
// Second SLAP tracker succeeds
|
|
869
1114
|
mockFacilitator.lookup.mockReturnValueOnce({
|
|
870
1115
|
type: 'output-list',
|
|
871
|
-
outputs: [
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
1116
|
+
outputs: [
|
|
1117
|
+
{
|
|
1118
|
+
outputIndex: 0,
|
|
1119
|
+
beef: slapTx.toBEEF()
|
|
1120
|
+
}
|
|
1121
|
+
]
|
|
875
1122
|
})
|
|
876
1123
|
|
|
877
1124
|
// Host responds successfully
|
|
878
1125
|
mockFacilitator.lookup.mockReturnValueOnce({
|
|
879
1126
|
type: 'output-list',
|
|
880
|
-
outputs: [
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
1127
|
+
outputs: [
|
|
1128
|
+
{
|
|
1129
|
+
beef: sampleBeef3,
|
|
1130
|
+
outputIndex: 0
|
|
1131
|
+
}
|
|
1132
|
+
]
|
|
884
1133
|
})
|
|
885
1134
|
|
|
886
1135
|
const r = new LookupResolver({
|
|
@@ -895,10 +1144,12 @@ describe('LookupResolver', () => {
|
|
|
895
1144
|
|
|
896
1145
|
expect(res).toEqual({
|
|
897
1146
|
type: 'output-list',
|
|
898
|
-
outputs: [
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
1147
|
+
outputs: [
|
|
1148
|
+
{
|
|
1149
|
+
beef: sampleBeef3,
|
|
1150
|
+
outputIndex: 0
|
|
1151
|
+
}
|
|
1152
|
+
]
|
|
902
1153
|
})
|
|
903
1154
|
|
|
904
1155
|
expect(mockFacilitator.lookup.mock.calls).toEqual([
|
|
@@ -937,31 +1188,64 @@ describe('LookupResolver', () => {
|
|
|
937
1188
|
|
|
938
1189
|
it('should aggregate outputs from hosts that respond, even if some SLAP trackers lie to our face', async () => {
|
|
939
1190
|
const slapHostKey1 = new PrivateKey(42)
|
|
940
|
-
const slapWallet1 = new
|
|
1191
|
+
const slapWallet1 = new CompletedProtoWallet(slapHostKey1)
|
|
941
1192
|
const slapLib1 = new OverlayAdminTokenTemplate(slapWallet1)
|
|
942
|
-
const slapScript1 = await slapLib1.lock(
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
1193
|
+
const slapScript1 = await slapLib1.lock(
|
|
1194
|
+
'SLAP',
|
|
1195
|
+
'https://slaphost1.com',
|
|
1196
|
+
'ls_foo'
|
|
1197
|
+
)
|
|
1198
|
+
const slapTx1 = new Transaction(
|
|
1199
|
+
1,
|
|
1200
|
+
[],
|
|
1201
|
+
[
|
|
1202
|
+
{
|
|
1203
|
+
lockingScript: slapScript1,
|
|
1204
|
+
satoshis: 1
|
|
1205
|
+
}
|
|
1206
|
+
],
|
|
1207
|
+
0
|
|
1208
|
+
)
|
|
947
1209
|
|
|
948
1210
|
const slapHostKey2 = new PrivateKey(43)
|
|
949
|
-
const slapWallet2 = new
|
|
1211
|
+
const slapWallet2 = new CompletedProtoWallet(slapHostKey2)
|
|
950
1212
|
const slapLib2 = new OverlayAdminTokenTemplate(slapWallet2)
|
|
951
|
-
const slapScript2 = await slapLib2.lock(
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
1213
|
+
const slapScript2 = await slapLib2.lock(
|
|
1214
|
+
'SLAP',
|
|
1215
|
+
'https://slaphost2.com',
|
|
1216
|
+
'ls_foo'
|
|
1217
|
+
)
|
|
1218
|
+
const slapTx2 = new Transaction(
|
|
1219
|
+
1,
|
|
1220
|
+
[],
|
|
1221
|
+
[
|
|
1222
|
+
{
|
|
1223
|
+
lockingScript: slapScript2,
|
|
1224
|
+
satoshis: 1
|
|
1225
|
+
}
|
|
1226
|
+
],
|
|
1227
|
+
0
|
|
1228
|
+
)
|
|
956
1229
|
|
|
957
1230
|
const slapHostKey3 = new PrivateKey(44)
|
|
958
|
-
const slapWallet3 = new
|
|
1231
|
+
const slapWallet3 = new CompletedProtoWallet(slapHostKey3)
|
|
959
1232
|
const slapLib3 = new OverlayAdminTokenTemplate(slapWallet3)
|
|
960
|
-
const slapScript3 = await slapLib3.lock(
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
1233
|
+
const slapScript3 = await slapLib3.lock(
|
|
1234
|
+
'SLAP',
|
|
1235
|
+
'https://slaphost3.pantsonfire.com',
|
|
1236
|
+
'ls_not_what_i_asked_you_for'
|
|
1237
|
+
)
|
|
1238
|
+
const slapTx3 = new Transaction(
|
|
1239
|
+
1,
|
|
1240
|
+
[],
|
|
1241
|
+
[
|
|
1242
|
+
{
|
|
1243
|
+
lockingScript: slapScript3,
|
|
1244
|
+
satoshis: 1
|
|
1245
|
+
}
|
|
1246
|
+
],
|
|
1247
|
+
0
|
|
1248
|
+
)
|
|
965
1249
|
|
|
966
1250
|
// SLAP trackers return hosts
|
|
967
1251
|
mockFacilitator.lookup.mockReturnValueOnce({
|
|
@@ -1035,22 +1319,44 @@ describe('LookupResolver', () => {
|
|
|
1035
1319
|
|
|
1036
1320
|
it('should aggregate outputs from hosts that respond, even if some SLAP trackers give us rotten BEEF', async () => {
|
|
1037
1321
|
const slapHostKey1 = new PrivateKey(42)
|
|
1038
|
-
const slapWallet1 = new
|
|
1322
|
+
const slapWallet1 = new CompletedProtoWallet(slapHostKey1)
|
|
1039
1323
|
const slapLib1 = new OverlayAdminTokenTemplate(slapWallet1)
|
|
1040
|
-
const slapScript1 = await slapLib1.lock(
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1324
|
+
const slapScript1 = await slapLib1.lock(
|
|
1325
|
+
'SLAP',
|
|
1326
|
+
'https://slaphost1.com',
|
|
1327
|
+
'ls_foo'
|
|
1328
|
+
)
|
|
1329
|
+
const slapTx1 = new Transaction(
|
|
1330
|
+
1,
|
|
1331
|
+
[],
|
|
1332
|
+
[
|
|
1333
|
+
{
|
|
1334
|
+
lockingScript: slapScript1,
|
|
1335
|
+
satoshis: 1
|
|
1336
|
+
}
|
|
1337
|
+
],
|
|
1338
|
+
0
|
|
1339
|
+
)
|
|
1045
1340
|
|
|
1046
1341
|
const slapHostKey2 = new PrivateKey(43)
|
|
1047
|
-
const slapWallet2 = new
|
|
1342
|
+
const slapWallet2 = new CompletedProtoWallet(slapHostKey2)
|
|
1048
1343
|
const slapLib2 = new OverlayAdminTokenTemplate(slapWallet2)
|
|
1049
|
-
const slapScript2 = await slapLib2.lock(
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1344
|
+
const slapScript2 = await slapLib2.lock(
|
|
1345
|
+
'SLAP',
|
|
1346
|
+
'https://slaphost2.com',
|
|
1347
|
+
'ls_foo'
|
|
1348
|
+
)
|
|
1349
|
+
const slapTx2 = new Transaction(
|
|
1350
|
+
1,
|
|
1351
|
+
[],
|
|
1352
|
+
[
|
|
1353
|
+
{
|
|
1354
|
+
lockingScript: slapScript2,
|
|
1355
|
+
satoshis: 1
|
|
1356
|
+
}
|
|
1357
|
+
],
|
|
1358
|
+
0
|
|
1359
|
+
)
|
|
1054
1360
|
|
|
1055
1361
|
// SLAP trackers return hosts
|
|
1056
1362
|
mockFacilitator.lookup.mockReturnValueOnce({
|
|
@@ -1124,22 +1430,44 @@ describe('LookupResolver', () => {
|
|
|
1124
1430
|
|
|
1125
1431
|
it('should aggregate outputs from hosts that respond, even if some fail', async () => {
|
|
1126
1432
|
const slapHostKey1 = new PrivateKey(42)
|
|
1127
|
-
const slapWallet1 = new
|
|
1433
|
+
const slapWallet1 = new CompletedProtoWallet(slapHostKey1)
|
|
1128
1434
|
const slapLib1 = new OverlayAdminTokenTemplate(slapWallet1)
|
|
1129
|
-
const slapScript1 = await slapLib1.lock(
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1435
|
+
const slapScript1 = await slapLib1.lock(
|
|
1436
|
+
'SLAP',
|
|
1437
|
+
'https://slaphost1.com',
|
|
1438
|
+
'ls_foo'
|
|
1439
|
+
)
|
|
1440
|
+
const slapTx1 = new Transaction(
|
|
1441
|
+
1,
|
|
1442
|
+
[],
|
|
1443
|
+
[
|
|
1444
|
+
{
|
|
1445
|
+
lockingScript: slapScript1,
|
|
1446
|
+
satoshis: 1
|
|
1447
|
+
}
|
|
1448
|
+
],
|
|
1449
|
+
0
|
|
1450
|
+
)
|
|
1134
1451
|
|
|
1135
1452
|
const slapHostKey2 = new PrivateKey(43)
|
|
1136
|
-
const slapWallet2 = new
|
|
1453
|
+
const slapWallet2 = new CompletedProtoWallet(slapHostKey2)
|
|
1137
1454
|
const slapLib2 = new OverlayAdminTokenTemplate(slapWallet2)
|
|
1138
|
-
const slapScript2 = await slapLib2.lock(
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1455
|
+
const slapScript2 = await slapLib2.lock(
|
|
1456
|
+
'SLAP',
|
|
1457
|
+
'https://slaphost2.com',
|
|
1458
|
+
'ls_foo'
|
|
1459
|
+
)
|
|
1460
|
+
const slapTx2 = new Transaction(
|
|
1461
|
+
1,
|
|
1462
|
+
[],
|
|
1463
|
+
[
|
|
1464
|
+
{
|
|
1465
|
+
lockingScript: slapScript2,
|
|
1466
|
+
satoshis: 1
|
|
1467
|
+
}
|
|
1468
|
+
],
|
|
1469
|
+
0
|
|
1470
|
+
)
|
|
1143
1471
|
|
|
1144
1472
|
// SLAP trackers return hosts
|
|
1145
1473
|
mockFacilitator.lookup.mockReturnValueOnce({
|
|
@@ -1212,13 +1540,24 @@ describe('LookupResolver', () => {
|
|
|
1212
1540
|
|
|
1213
1541
|
it('should handle invalid responses from some hosts and continue with valid ones', async () => {
|
|
1214
1542
|
const slapHostKey = new PrivateKey(42)
|
|
1215
|
-
const slapWallet = new
|
|
1543
|
+
const slapWallet = new CompletedProtoWallet(slapHostKey)
|
|
1216
1544
|
const slapLib = new OverlayAdminTokenTemplate(slapWallet)
|
|
1217
|
-
const slapScript = await slapLib.lock(
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1545
|
+
const slapScript = await slapLib.lock(
|
|
1546
|
+
'SLAP',
|
|
1547
|
+
'https://slaphost.com',
|
|
1548
|
+
'ls_foo'
|
|
1549
|
+
)
|
|
1550
|
+
const slapTx = new Transaction(
|
|
1551
|
+
1,
|
|
1552
|
+
[],
|
|
1553
|
+
[
|
|
1554
|
+
{
|
|
1555
|
+
lockingScript: slapScript,
|
|
1556
|
+
satoshis: 1
|
|
1557
|
+
}
|
|
1558
|
+
],
|
|
1559
|
+
0
|
|
1560
|
+
)
|
|
1222
1561
|
|
|
1223
1562
|
// SLAP tracker returns host
|
|
1224
1563
|
mockFacilitator.lookup.mockReturnValueOnce({
|
|
@@ -1283,23 +1622,38 @@ describe('LookupResolver', () => {
|
|
|
1283
1622
|
slapTrackers: ['https://mock.slap1', 'https://mock.slap2']
|
|
1284
1623
|
})
|
|
1285
1624
|
|
|
1286
|
-
await expect(
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1625
|
+
await expect(
|
|
1626
|
+
r.query({
|
|
1627
|
+
service: 'ls_foo',
|
|
1628
|
+
query: { test: 1 }
|
|
1629
|
+
})
|
|
1630
|
+
).rejects.toThrow(
|
|
1631
|
+
'No competent hosts found by the SLAP trackers for lookup service: ls_foo'
|
|
1632
|
+
)
|
|
1290
1633
|
|
|
1291
1634
|
expect(mockFacilitator.lookup.mock.calls.length).toBe(2)
|
|
1292
1635
|
})
|
|
1293
1636
|
|
|
1294
1637
|
it('should handle all hosts failing and throw an error', async () => {
|
|
1295
1638
|
const slapHostKey = new PrivateKey(42)
|
|
1296
|
-
const slapWallet = new
|
|
1639
|
+
const slapWallet = new CompletedProtoWallet(slapHostKey)
|
|
1297
1640
|
const slapLib = new OverlayAdminTokenTemplate(slapWallet)
|
|
1298
|
-
const slapScript = await slapLib.lock(
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1641
|
+
const slapScript = await slapLib.lock(
|
|
1642
|
+
'SLAP',
|
|
1643
|
+
'https://slaphost.com',
|
|
1644
|
+
'ls_foo'
|
|
1645
|
+
)
|
|
1646
|
+
const slapTx = new Transaction(
|
|
1647
|
+
1,
|
|
1648
|
+
[],
|
|
1649
|
+
[
|
|
1650
|
+
{
|
|
1651
|
+
lockingScript: slapScript,
|
|
1652
|
+
satoshis: 1
|
|
1653
|
+
}
|
|
1654
|
+
],
|
|
1655
|
+
0
|
|
1656
|
+
)
|
|
1303
1657
|
|
|
1304
1658
|
// SLAP tracker returns host
|
|
1305
1659
|
mockFacilitator.lookup.mockReturnValueOnce({
|
|
@@ -1317,32 +1671,56 @@ describe('LookupResolver', () => {
|
|
|
1317
1671
|
slapTrackers: ['https://mock.slap']
|
|
1318
1672
|
})
|
|
1319
1673
|
|
|
1320
|
-
await expect(
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1674
|
+
await expect(
|
|
1675
|
+
r.query({
|
|
1676
|
+
service: 'ls_foo',
|
|
1677
|
+
query: { test: 1 }
|
|
1678
|
+
})
|
|
1679
|
+
).rejects.toThrow('No successful responses from any hosts')
|
|
1324
1680
|
|
|
1325
1681
|
expect(mockFacilitator.lookup.mock.calls.length).toBe(2)
|
|
1326
1682
|
})
|
|
1327
1683
|
|
|
1328
1684
|
it('should continue to aggregate outputs when some hosts return invalid outputs', async () => {
|
|
1329
1685
|
const slapHostKey1 = new PrivateKey(42)
|
|
1330
|
-
const slapWallet1 = new
|
|
1686
|
+
const slapWallet1 = new CompletedProtoWallet(slapHostKey1)
|
|
1331
1687
|
const slapLib1 = new OverlayAdminTokenTemplate(slapWallet1)
|
|
1332
|
-
const slapScript1 = await slapLib1.lock(
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1688
|
+
const slapScript1 = await slapLib1.lock(
|
|
1689
|
+
'SLAP',
|
|
1690
|
+
'https://slaphost1.com',
|
|
1691
|
+
'ls_foo'
|
|
1692
|
+
)
|
|
1693
|
+
const slapTx1 = new Transaction(
|
|
1694
|
+
1,
|
|
1695
|
+
[],
|
|
1696
|
+
[
|
|
1697
|
+
{
|
|
1698
|
+
lockingScript: slapScript1,
|
|
1699
|
+
satoshis: 1
|
|
1700
|
+
}
|
|
1701
|
+
],
|
|
1702
|
+
0
|
|
1703
|
+
)
|
|
1337
1704
|
|
|
1338
1705
|
const slapHostKey2 = new PrivateKey(43)
|
|
1339
|
-
const slapWallet2 = new
|
|
1706
|
+
const slapWallet2 = new CompletedProtoWallet(slapHostKey2)
|
|
1340
1707
|
const slapLib2 = new OverlayAdminTokenTemplate(slapWallet2)
|
|
1341
|
-
const slapScript2 = await slapLib2.lock(
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1708
|
+
const slapScript2 = await slapLib2.lock(
|
|
1709
|
+
'SLAP',
|
|
1710
|
+
'https://slaphost2.com',
|
|
1711
|
+
'ls_foo'
|
|
1712
|
+
)
|
|
1713
|
+
const slapTx2 = new Transaction(
|
|
1714
|
+
1,
|
|
1715
|
+
[],
|
|
1716
|
+
[
|
|
1717
|
+
{
|
|
1718
|
+
lockingScript: slapScript2,
|
|
1719
|
+
satoshis: 1
|
|
1720
|
+
}
|
|
1721
|
+
],
|
|
1722
|
+
0
|
|
1723
|
+
)
|
|
1346
1724
|
|
|
1347
1725
|
// SLAP tracker returns two hosts
|
|
1348
1726
|
mockFacilitator.lookup.mockReturnValueOnce({
|
|
@@ -1385,22 +1763,44 @@ describe('LookupResolver', () => {
|
|
|
1385
1763
|
|
|
1386
1764
|
it('should continue to aggregate outputs when some hosts return malformed malarkie', async () => {
|
|
1387
1765
|
const slapHostKey1 = new PrivateKey(42)
|
|
1388
|
-
const slapWallet1 = new
|
|
1766
|
+
const slapWallet1 = new CompletedProtoWallet(slapHostKey1)
|
|
1389
1767
|
const slapLib1 = new OverlayAdminTokenTemplate(slapWallet1)
|
|
1390
|
-
const slapScript1 = await slapLib1.lock(
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1768
|
+
const slapScript1 = await slapLib1.lock(
|
|
1769
|
+
'SLAP',
|
|
1770
|
+
'https://slaphost1.com',
|
|
1771
|
+
'ls_foo'
|
|
1772
|
+
)
|
|
1773
|
+
const slapTx1 = new Transaction(
|
|
1774
|
+
1,
|
|
1775
|
+
[],
|
|
1776
|
+
[
|
|
1777
|
+
{
|
|
1778
|
+
lockingScript: slapScript1,
|
|
1779
|
+
satoshis: 1
|
|
1780
|
+
}
|
|
1781
|
+
],
|
|
1782
|
+
0
|
|
1783
|
+
)
|
|
1395
1784
|
|
|
1396
1785
|
const slapHostKey2 = new PrivateKey(43)
|
|
1397
|
-
const slapWallet2 = new
|
|
1786
|
+
const slapWallet2 = new CompletedProtoWallet(slapHostKey2)
|
|
1398
1787
|
const slapLib2 = new OverlayAdminTokenTemplate(slapWallet2)
|
|
1399
|
-
const slapScript2 = await slapLib2.lock(
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1788
|
+
const slapScript2 = await slapLib2.lock(
|
|
1789
|
+
'SLAP',
|
|
1790
|
+
'https://slaphost2.com',
|
|
1791
|
+
'ls_foo'
|
|
1792
|
+
)
|
|
1793
|
+
const slapTx2 = new Transaction(
|
|
1794
|
+
1,
|
|
1795
|
+
[],
|
|
1796
|
+
[
|
|
1797
|
+
{
|
|
1798
|
+
lockingScript: slapScript2,
|
|
1799
|
+
satoshis: 1
|
|
1800
|
+
}
|
|
1801
|
+
],
|
|
1802
|
+
0
|
|
1803
|
+
)
|
|
1404
1804
|
|
|
1405
1805
|
// SLAP tracker returns two hosts
|
|
1406
1806
|
mockFacilitator.lookup.mockReturnValueOnce({
|