@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,20 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { Utils, PrivateKey, Hash } from '
|
|
3
|
-
import WalletWireTransceiver from '
|
|
4
|
-
import WalletWireProcessor from '
|
|
1
|
+
import { CompletedProtoWallet } from '../../../auth/certificates/__tests/CompletedProtoWallet'
|
|
2
|
+
import { Utils, PrivateKey, Hash } from '../../../primitives/index'
|
|
3
|
+
import WalletWireTransceiver from '../../../wallet/substrates/WalletWireTransceiver'
|
|
4
|
+
import WalletWireProcessor from '../../../wallet/substrates/WalletWireProcessor'
|
|
5
5
|
|
|
6
6
|
const sampleData = [3, 1, 4, 1, 5, 9]
|
|
7
7
|
|
|
8
8
|
describe('WalletWire Integration Tests', () => {
|
|
9
9
|
/**
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
* This is a copy of the test suite for CompletedProtoWallet, but instead of using a CompletedProtoWallet directly, we're using it over the WalletWire.
|
|
11
|
+
* This serves as an imperfect but still useful way to ensure that the WalletWire doesn't contain serialization or deserialization issues.
|
|
12
|
+
*/
|
|
13
13
|
describe('ProtoWallet Over Wallet Wire', () => {
|
|
14
14
|
it('Throws when functions are not supported', async () => {
|
|
15
|
-
const wallet = new WalletWireTransceiver(
|
|
15
|
+
const wallet = new WalletWireTransceiver(
|
|
16
|
+
new WalletWireProcessor(new CompletedProtoWallet('anyone'))
|
|
17
|
+
)
|
|
16
18
|
await expect(() => {
|
|
17
19
|
return (wallet as any).createAction()
|
|
18
20
|
}).rejects.toThrow()
|
|
@@ -61,42 +63,88 @@ describe('WalletWire Integration Tests', () => {
|
|
|
61
63
|
}).rejects.toThrow()
|
|
62
64
|
})
|
|
63
65
|
it('Validates the BRC-3 compliance vector', async () => {
|
|
64
|
-
const wallet = new WalletWireTransceiver(
|
|
66
|
+
const wallet = new WalletWireTransceiver(
|
|
67
|
+
new WalletWireProcessor(new CompletedProtoWallet('anyone'))
|
|
68
|
+
)
|
|
65
69
|
const { valid } = await wallet.verifySignature({
|
|
66
70
|
data: Utils.toArray('BRC-3 Compliance Validated!', 'utf8'),
|
|
67
|
-
signature: [
|
|
71
|
+
signature: [
|
|
72
|
+
48, 68, 2, 32, 43, 34, 58, 156, 219, 32, 50, 70, 29, 240, 155, 137,
|
|
73
|
+
88, 60, 200, 95, 243, 198, 201, 21, 56, 82, 141, 112, 69, 196, 170,
|
|
74
|
+
73, 156, 6, 44, 48, 2, 32, 118, 125, 254, 201, 44, 87, 177, 170, 93,
|
|
75
|
+
11, 193, 134, 18, 70, 9, 31, 234, 27, 170, 177, 54, 96, 181, 140, 166,
|
|
76
|
+
196, 144, 14, 230, 118, 106, 105
|
|
77
|
+
],
|
|
68
78
|
protocolID: [2, 'BRC3 Test'],
|
|
69
79
|
keyID: '42',
|
|
70
|
-
counterparty:
|
|
80
|
+
counterparty:
|
|
81
|
+
'0294c479f762f6baa97fbcd4393564c1d7bd8336ebd15928135bbcf575cd1a71a1'
|
|
71
82
|
})
|
|
72
83
|
expect(valid).toBe(true)
|
|
73
84
|
})
|
|
74
85
|
it('Validates the BRC-2 HMAC compliance vector', async () => {
|
|
75
|
-
const wallet = new WalletWireTransceiver(
|
|
86
|
+
const wallet = new WalletWireTransceiver(
|
|
87
|
+
new WalletWireProcessor(
|
|
88
|
+
new CompletedProtoWallet(
|
|
89
|
+
new PrivateKey(
|
|
90
|
+
'6a2991c9de20e38b31d7ea147bf55f5039e4bbc073160f5e0d541d1f17e321b8',
|
|
91
|
+
'hex'
|
|
92
|
+
)
|
|
93
|
+
)
|
|
94
|
+
)
|
|
95
|
+
)
|
|
76
96
|
const { valid } = await wallet.verifyHmac({
|
|
77
97
|
data: Utils.toArray('BRC-2 HMAC Compliance Validated!', 'utf8'),
|
|
78
|
-
hmac: [
|
|
98
|
+
hmac: [
|
|
99
|
+
81, 240, 18, 153, 163, 45, 174, 85, 9, 246, 142, 125, 209, 133, 82,
|
|
100
|
+
76, 254, 103, 46, 182, 86, 59, 219, 61, 126, 30, 176, 232, 233, 100,
|
|
101
|
+
234, 14
|
|
102
|
+
],
|
|
79
103
|
protocolID: [2, 'BRC2 Test'],
|
|
80
104
|
keyID: '42',
|
|
81
|
-
counterparty:
|
|
105
|
+
counterparty:
|
|
106
|
+
'0294c479f762f6baa97fbcd4393564c1d7bd8336ebd15928135bbcf575cd1a71a1'
|
|
82
107
|
})
|
|
83
108
|
expect(valid).toBe(true)
|
|
84
109
|
})
|
|
85
110
|
it('Validates the BRC-2 Encryption compliance vector', async () => {
|
|
86
|
-
const wallet = new WalletWireTransceiver(
|
|
111
|
+
const wallet = new WalletWireTransceiver(
|
|
112
|
+
new WalletWireProcessor(
|
|
113
|
+
new CompletedProtoWallet(
|
|
114
|
+
new PrivateKey(
|
|
115
|
+
'6a2991c9de20e38b31d7ea147bf55f5039e4bbc073160f5e0d541d1f17e321b8',
|
|
116
|
+
'hex'
|
|
117
|
+
)
|
|
118
|
+
)
|
|
119
|
+
)
|
|
120
|
+
)
|
|
87
121
|
const { plaintext } = await wallet.decrypt({
|
|
88
|
-
ciphertext: [
|
|
122
|
+
ciphertext: [
|
|
123
|
+
252, 203, 216, 184, 29, 161, 223, 212, 16, 193, 94, 99, 31, 140, 99,
|
|
124
|
+
43, 61, 236, 184, 67, 54, 105, 199, 47, 11, 19, 184, 127, 2, 165, 125,
|
|
125
|
+
9, 188, 195, 196, 39, 120, 130, 213, 95, 186, 89, 64, 28, 1, 80, 20,
|
|
126
|
+
213, 159, 133, 98, 253, 128, 105, 113, 247, 197, 152, 236, 64, 166,
|
|
127
|
+
207, 113, 134, 65, 38, 58, 24, 127, 145, 140, 206, 47, 70, 146, 84,
|
|
128
|
+
186, 72, 95, 35, 154, 112, 178, 55, 72, 124
|
|
129
|
+
],
|
|
89
130
|
protocolID: [2, 'BRC2 Test'],
|
|
90
131
|
keyID: '42',
|
|
91
|
-
counterparty:
|
|
132
|
+
counterparty:
|
|
133
|
+
'0294c479f762f6baa97fbcd4393564c1d7bd8336ebd15928135bbcf575cd1a71a1'
|
|
92
134
|
})
|
|
93
|
-
expect(Utils.toUTF8(plaintext)).toEqual(
|
|
135
|
+
expect(Utils.toUTF8(plaintext)).toEqual(
|
|
136
|
+
'BRC-2 Encryption Compliance Validated!'
|
|
137
|
+
)
|
|
94
138
|
})
|
|
95
139
|
it('Encrypts messages decryptable by the counterparty', async () => {
|
|
96
140
|
const userKey = PrivateKey.fromRandom()
|
|
97
141
|
const counterpartyKey = PrivateKey.fromRandom()
|
|
98
|
-
const user = new WalletWireTransceiver(
|
|
99
|
-
|
|
142
|
+
const user = new WalletWireTransceiver(
|
|
143
|
+
new WalletWireProcessor(new CompletedProtoWallet(userKey))
|
|
144
|
+
)
|
|
145
|
+
const counterparty = new WalletWireTransceiver(
|
|
146
|
+
new WalletWireProcessor(new CompletedProtoWallet(counterpartyKey))
|
|
147
|
+
)
|
|
100
148
|
const { ciphertext } = await user.encrypt({
|
|
101
149
|
plaintext: sampleData,
|
|
102
150
|
protocolID: [2, 'tests'],
|
|
@@ -115,38 +163,55 @@ describe('WalletWire Integration Tests', () => {
|
|
|
115
163
|
it('Fails to decryupt messages for the wrong protocol, key, and counterparty', async () => {
|
|
116
164
|
const userKey = PrivateKey.fromRandom()
|
|
117
165
|
const counterpartyKey = PrivateKey.fromRandom()
|
|
118
|
-
const user = new WalletWireTransceiver(
|
|
119
|
-
|
|
166
|
+
const user = new WalletWireTransceiver(
|
|
167
|
+
new WalletWireProcessor(new CompletedProtoWallet(userKey))
|
|
168
|
+
)
|
|
169
|
+
const counterparty = new WalletWireTransceiver(
|
|
170
|
+
new WalletWireProcessor(new CompletedProtoWallet(counterpartyKey))
|
|
171
|
+
)
|
|
120
172
|
const { ciphertext } = await user.encrypt({
|
|
121
173
|
plaintext: sampleData,
|
|
122
174
|
protocolID: [2, 'tests'],
|
|
123
175
|
keyID: '4',
|
|
124
176
|
counterparty: counterpartyKey.toPublicKey().toString()
|
|
125
177
|
})
|
|
126
|
-
await expect(
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
178
|
+
await expect(
|
|
179
|
+
async () =>
|
|
180
|
+
await counterparty.decrypt({
|
|
181
|
+
ciphertext,
|
|
182
|
+
protocolID: [1, 'tests'],
|
|
183
|
+
keyID: '4',
|
|
184
|
+
counterparty: userKey.toPublicKey().toString()
|
|
185
|
+
})
|
|
186
|
+
).rejects.toThrow()
|
|
187
|
+
await expect(
|
|
188
|
+
async () =>
|
|
189
|
+
await counterparty.decrypt({
|
|
190
|
+
ciphertext,
|
|
191
|
+
protocolID: [2, 'tests'],
|
|
192
|
+
keyID: '5',
|
|
193
|
+
counterparty: userKey.toPublicKey().toString()
|
|
194
|
+
})
|
|
195
|
+
).rejects.toThrow()
|
|
196
|
+
await expect(
|
|
197
|
+
async () =>
|
|
198
|
+
await counterparty.decrypt({
|
|
199
|
+
ciphertext,
|
|
200
|
+
protocolID: [2, 'tests'],
|
|
201
|
+
keyID: '4',
|
|
202
|
+
counterparty: counterpartyKey.toPublicKey().toString()
|
|
203
|
+
})
|
|
204
|
+
).rejects.toThrow()
|
|
144
205
|
})
|
|
145
206
|
it('Correctly derives keys for a counterparty', async () => {
|
|
146
207
|
const userKey = PrivateKey.fromRandom()
|
|
147
208
|
const counterpartyKey = PrivateKey.fromRandom()
|
|
148
|
-
const user = new WalletWireTransceiver(
|
|
149
|
-
|
|
209
|
+
const user = new WalletWireTransceiver(
|
|
210
|
+
new WalletWireProcessor(new CompletedProtoWallet(userKey))
|
|
211
|
+
)
|
|
212
|
+
const counterparty = new WalletWireTransceiver(
|
|
213
|
+
new WalletWireProcessor(new CompletedProtoWallet(counterpartyKey))
|
|
214
|
+
)
|
|
150
215
|
const { publicKey: identityKey } = await user.getPublicKey({
|
|
151
216
|
identityKey: true
|
|
152
217
|
})
|
|
@@ -156,19 +221,24 @@ describe('WalletWire Integration Tests', () => {
|
|
|
156
221
|
keyID: '4',
|
|
157
222
|
counterparty: counterpartyKey.toPublicKey().toString()
|
|
158
223
|
})
|
|
159
|
-
const { publicKey: derivedByCounterparty } =
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
224
|
+
const { publicKey: derivedByCounterparty } =
|
|
225
|
+
await counterparty.getPublicKey({
|
|
226
|
+
protocolID: [2, 'tests'],
|
|
227
|
+
keyID: '4',
|
|
228
|
+
counterparty: userKey.toPublicKey().toString(),
|
|
229
|
+
forSelf: true
|
|
230
|
+
})
|
|
165
231
|
expect(derivedForCounterparty).toEqual(derivedByCounterparty)
|
|
166
232
|
})
|
|
167
233
|
it('Signs messages verifiable by the counterparty', async () => {
|
|
168
234
|
const userKey = PrivateKey.fromRandom()
|
|
169
235
|
const counterpartyKey = PrivateKey.fromRandom()
|
|
170
|
-
const user = new WalletWireTransceiver(
|
|
171
|
-
|
|
236
|
+
const user = new WalletWireTransceiver(
|
|
237
|
+
new WalletWireProcessor(new CompletedProtoWallet(userKey))
|
|
238
|
+
)
|
|
239
|
+
const counterparty = new WalletWireTransceiver(
|
|
240
|
+
new WalletWireProcessor(new CompletedProtoWallet(counterpartyKey))
|
|
241
|
+
)
|
|
172
242
|
const { signature } = await user.createSignature({
|
|
173
243
|
data: sampleData,
|
|
174
244
|
protocolID: [2, 'tests'],
|
|
@@ -188,8 +258,12 @@ describe('WalletWire Integration Tests', () => {
|
|
|
188
258
|
it('Directly signs hash of message verifiable by the counterparty', async () => {
|
|
189
259
|
const userKey = PrivateKey.fromRandom()
|
|
190
260
|
const counterpartyKey = PrivateKey.fromRandom()
|
|
191
|
-
const user = new WalletWireTransceiver(
|
|
192
|
-
|
|
261
|
+
const user = new WalletWireTransceiver(
|
|
262
|
+
new WalletWireProcessor(new CompletedProtoWallet(userKey))
|
|
263
|
+
)
|
|
264
|
+
const counterparty = new WalletWireTransceiver(
|
|
265
|
+
new WalletWireProcessor(new CompletedProtoWallet(counterpartyKey))
|
|
266
|
+
)
|
|
193
267
|
const { signature } = await user.createSignature({
|
|
194
268
|
hashToDirectlySign: Hash.sha256(sampleData),
|
|
195
269
|
protocolID: [2, 'tests'],
|
|
@@ -217,48 +291,68 @@ describe('WalletWire Integration Tests', () => {
|
|
|
217
291
|
it('Fails to verify signature for the wrong data, protocol, key, and counterparty', async () => {
|
|
218
292
|
const userKey = PrivateKey.fromRandom()
|
|
219
293
|
const counterpartyKey = PrivateKey.fromRandom()
|
|
220
|
-
const user = new WalletWireTransceiver(
|
|
221
|
-
|
|
294
|
+
const user = new WalletWireTransceiver(
|
|
295
|
+
new WalletWireProcessor(new CompletedProtoWallet(userKey))
|
|
296
|
+
)
|
|
297
|
+
const counterparty = new WalletWireTransceiver(
|
|
298
|
+
new WalletWireProcessor(new CompletedProtoWallet(counterpartyKey))
|
|
299
|
+
)
|
|
222
300
|
const { signature } = await user.createSignature({
|
|
223
301
|
data: sampleData,
|
|
224
302
|
protocolID: [2, 'tests'],
|
|
225
303
|
keyID: '4',
|
|
226
304
|
counterparty: counterpartyKey.toPublicKey().toString()
|
|
227
305
|
})
|
|
228
|
-
await expect(
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
306
|
+
await expect(
|
|
307
|
+
async () =>
|
|
308
|
+
await counterparty.verifySignature({
|
|
309
|
+
signature,
|
|
310
|
+
data: [0, ...sampleData],
|
|
311
|
+
protocolID: [2, 'tests'],
|
|
312
|
+
keyID: '4',
|
|
313
|
+
counterparty: userKey.toPublicKey().toString()
|
|
314
|
+
})
|
|
315
|
+
).rejects.toThrow()
|
|
316
|
+
await expect(
|
|
317
|
+
async () =>
|
|
318
|
+
await counterparty.verifySignature({
|
|
319
|
+
signature,
|
|
320
|
+
data: sampleData,
|
|
321
|
+
protocolID: [2, 'wrong'],
|
|
322
|
+
keyID: '4',
|
|
323
|
+
counterparty: userKey.toPublicKey().toString()
|
|
324
|
+
})
|
|
325
|
+
).rejects.toThrow()
|
|
326
|
+
await expect(
|
|
327
|
+
async () =>
|
|
328
|
+
await counterparty.verifySignature({
|
|
329
|
+
signature,
|
|
330
|
+
data: sampleData,
|
|
331
|
+
protocolID: [2, 'tests'],
|
|
332
|
+
keyID: '2',
|
|
333
|
+
counterparty: userKey.toPublicKey().toString()
|
|
334
|
+
})
|
|
335
|
+
).rejects.toThrow()
|
|
336
|
+
await expect(
|
|
337
|
+
async () =>
|
|
338
|
+
await counterparty.verifySignature({
|
|
339
|
+
signature,
|
|
340
|
+
data: sampleData,
|
|
341
|
+
protocolID: [2, 'tests'],
|
|
342
|
+
keyID: '4',
|
|
343
|
+
counterparty: counterpartyKey.toPublicKey().toString()
|
|
344
|
+
})
|
|
345
|
+
).rejects.toThrow()
|
|
256
346
|
})
|
|
257
347
|
it('Computes HMAC over messages verifiable by the counterparty', async () => {
|
|
258
348
|
const userKey = PrivateKey.fromRandom()
|
|
259
349
|
const counterpartyKey = PrivateKey.fromRandom()
|
|
260
|
-
const user = new WalletWireTransceiver(
|
|
261
|
-
|
|
350
|
+
const user = new WalletWireTransceiver(
|
|
351
|
+
new WalletWireProcessor(new CompletedProtoWallet(userKey))
|
|
352
|
+
)
|
|
353
|
+
const counterparty = new WalletWireTransceiver(
|
|
354
|
+
new WalletWireProcessor(new CompletedProtoWallet(counterpartyKey))
|
|
355
|
+
)
|
|
262
356
|
const { hmac } = await user.createHmac({
|
|
263
357
|
data: sampleData,
|
|
264
358
|
protocolID: [2, 'tests'],
|
|
@@ -278,46 +372,64 @@ describe('WalletWire Integration Tests', () => {
|
|
|
278
372
|
it('Fails to verify HMAC for the wrong data, protocol, key, and counterparty', async () => {
|
|
279
373
|
const userKey = PrivateKey.fromRandom()
|
|
280
374
|
const counterpartyKey = PrivateKey.fromRandom()
|
|
281
|
-
const user = new WalletWireTransceiver(
|
|
282
|
-
|
|
375
|
+
const user = new WalletWireTransceiver(
|
|
376
|
+
new WalletWireProcessor(new CompletedProtoWallet(userKey))
|
|
377
|
+
)
|
|
378
|
+
const counterparty = new WalletWireTransceiver(
|
|
379
|
+
new WalletWireProcessor(new CompletedProtoWallet(counterpartyKey))
|
|
380
|
+
)
|
|
283
381
|
const { hmac } = await user.createHmac({
|
|
284
382
|
data: sampleData,
|
|
285
383
|
protocolID: [2, 'tests'],
|
|
286
384
|
keyID: '4',
|
|
287
385
|
counterparty: counterpartyKey.toPublicKey().toString()
|
|
288
386
|
})
|
|
289
|
-
await expect(
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
387
|
+
await expect(
|
|
388
|
+
async () =>
|
|
389
|
+
await counterparty.verifyHmac({
|
|
390
|
+
hmac,
|
|
391
|
+
data: [0, ...sampleData],
|
|
392
|
+
protocolID: [2, 'tests'],
|
|
393
|
+
keyID: '4',
|
|
394
|
+
counterparty: userKey.toPublicKey().toString()
|
|
395
|
+
})
|
|
396
|
+
).rejects.toThrow()
|
|
397
|
+
await expect(
|
|
398
|
+
async () =>
|
|
399
|
+
await counterparty.verifyHmac({
|
|
400
|
+
hmac,
|
|
401
|
+
data: sampleData,
|
|
402
|
+
protocolID: [2, 'wrong'],
|
|
403
|
+
keyID: '4',
|
|
404
|
+
counterparty: userKey.toPublicKey().toString()
|
|
405
|
+
})
|
|
406
|
+
).rejects.toThrow()
|
|
407
|
+
await expect(
|
|
408
|
+
async () =>
|
|
409
|
+
await counterparty.verifyHmac({
|
|
410
|
+
hmac,
|
|
411
|
+
data: sampleData,
|
|
412
|
+
protocolID: [2, 'tests'],
|
|
413
|
+
keyID: '2',
|
|
414
|
+
counterparty: userKey.toPublicKey().toString()
|
|
415
|
+
})
|
|
416
|
+
).rejects.toThrow()
|
|
417
|
+
await expect(
|
|
418
|
+
async () =>
|
|
419
|
+
await counterparty.verifyHmac({
|
|
420
|
+
hmac,
|
|
421
|
+
data: sampleData,
|
|
422
|
+
protocolID: [2, 'tests'],
|
|
423
|
+
keyID: '4',
|
|
424
|
+
counterparty: counterpartyKey.toPublicKey().toString()
|
|
425
|
+
})
|
|
426
|
+
).rejects.toThrow()
|
|
317
427
|
})
|
|
318
428
|
it('Uses anyone for creating signatures and self for other operations if no counterparty is provided', async () => {
|
|
319
429
|
const userKey = PrivateKey.fromRandom()
|
|
320
|
-
const user = new WalletWireTransceiver(
|
|
430
|
+
const user = new WalletWireTransceiver(
|
|
431
|
+
new WalletWireProcessor(new CompletedProtoWallet(userKey))
|
|
432
|
+
)
|
|
321
433
|
const { hmac } = await user.createHmac({
|
|
322
434
|
data: sampleData,
|
|
323
435
|
protocolID: [2, 'tests'],
|
|
@@ -345,7 +457,9 @@ describe('WalletWire Integration Tests', () => {
|
|
|
345
457
|
keyID: '4'
|
|
346
458
|
// counterparty=anyone is implicit for creating signatures
|
|
347
459
|
})
|
|
348
|
-
const anyone = new WalletWireTransceiver(
|
|
460
|
+
const anyone = new WalletWireTransceiver(
|
|
461
|
+
new WalletWireProcessor(new CompletedProtoWallet('anyone'))
|
|
462
|
+
)
|
|
349
463
|
const { valid: anyoneSigValid } = await anyone.verifySignature({
|
|
350
464
|
signature: anyoneSig,
|
|
351
465
|
data: sampleData,
|
|
@@ -412,8 +526,12 @@ describe('WalletWire Integration Tests', () => {
|
|
|
412
526
|
const verifierKey = PrivateKey.fromRandom()
|
|
413
527
|
|
|
414
528
|
// Initialize wallets
|
|
415
|
-
const proverWallet = new WalletWireTransceiver(
|
|
416
|
-
|
|
529
|
+
const proverWallet = new WalletWireTransceiver(
|
|
530
|
+
new WalletWireProcessor(new CompletedProtoWallet(proverKey))
|
|
531
|
+
)
|
|
532
|
+
const verifierWallet = new WalletWireTransceiver(
|
|
533
|
+
new WalletWireProcessor(new CompletedProtoWallet(verifierKey))
|
|
534
|
+
)
|
|
417
535
|
|
|
418
536
|
// Prover reveals counterparty key linkage
|
|
419
537
|
const revelation = await proverWallet.revealCounterpartyKeyLinkage({
|
|
@@ -430,7 +548,9 @@ describe('WalletWire Integration Tests', () => {
|
|
|
430
548
|
})
|
|
431
549
|
|
|
432
550
|
// Compute expected linkage
|
|
433
|
-
const expectedLinkage = proverKey
|
|
551
|
+
const expectedLinkage = proverKey
|
|
552
|
+
.deriveSharedSecret(counterpartyKey.toPublicKey())
|
|
553
|
+
.encode(true)
|
|
434
554
|
|
|
435
555
|
// Compare linkage and expectedLinkage
|
|
436
556
|
expect(linkage).toEqual(expectedLinkage)
|
|
@@ -443,8 +563,12 @@ describe('WalletWire Integration Tests', () => {
|
|
|
443
563
|
const verifierKey = PrivateKey.fromRandom()
|
|
444
564
|
|
|
445
565
|
// Initialize wallets
|
|
446
|
-
const proverWallet = new WalletWireTransceiver(
|
|
447
|
-
|
|
566
|
+
const proverWallet = new WalletWireTransceiver(
|
|
567
|
+
new WalletWireProcessor(new CompletedProtoWallet(proverKey))
|
|
568
|
+
)
|
|
569
|
+
const verifierWallet = new WalletWireTransceiver(
|
|
570
|
+
new WalletWireProcessor(new CompletedProtoWallet(verifierKey))
|
|
571
|
+
)
|
|
448
572
|
|
|
449
573
|
const protocolID: [0 | 1 | 2, string] = [0, 'tests']
|
|
450
574
|
const keyID = 'test key id'
|
|
@@ -462,18 +586,27 @@ describe('WalletWire Integration Tests', () => {
|
|
|
462
586
|
// Verifier decrypts the encrypted linkage
|
|
463
587
|
const { plaintext: linkage } = await verifierWallet.decrypt({
|
|
464
588
|
ciphertext: revelation.encryptedLinkage,
|
|
465
|
-
protocolID: [
|
|
589
|
+
protocolID: [
|
|
590
|
+
2,
|
|
591
|
+
`specific linkage revelation ${protocolID[0]} ${protocolID[1]}`
|
|
592
|
+
],
|
|
466
593
|
keyID,
|
|
467
594
|
counterparty: proverKey.toPublicKey().toString()
|
|
468
595
|
})
|
|
469
596
|
|
|
470
597
|
// Compute expected linkage
|
|
471
|
-
const sharedSecret = proverKey
|
|
598
|
+
const sharedSecret = proverKey
|
|
599
|
+
.deriveSharedSecret(counterpartyKey.toPublicKey())
|
|
600
|
+
.encode(true)
|
|
472
601
|
|
|
473
602
|
// Function to compute the invoice number
|
|
474
603
|
const computeInvoiceNumber = function (protocolID, keyID) {
|
|
475
604
|
const securityLevel = protocolID[0]
|
|
476
|
-
if (
|
|
605
|
+
if (
|
|
606
|
+
!Number.isInteger(securityLevel) ||
|
|
607
|
+
securityLevel < 0 ||
|
|
608
|
+
securityLevel > 2
|
|
609
|
+
) {
|
|
477
610
|
throw new Error('Protocol security level must be 0, 1, or 2')
|
|
478
611
|
}
|
|
479
612
|
const protocolName = protocolID[1].toLowerCase().trim()
|
|
@@ -490,10 +623,14 @@ describe('WalletWire Integration Tests', () => {
|
|
|
490
623
|
throw new Error('Protocol names must be 5 characters or more')
|
|
491
624
|
}
|
|
492
625
|
if (protocolName.includes(' ')) {
|
|
493
|
-
throw new Error(
|
|
626
|
+
throw new Error(
|
|
627
|
+
'Protocol names cannot contain multiple consecutive spaces (" ")'
|
|
628
|
+
)
|
|
494
629
|
}
|
|
495
630
|
if (!/^[a-z0-9 ]+$/g.test(protocolName)) {
|
|
496
|
-
throw new Error(
|
|
631
|
+
throw new Error(
|
|
632
|
+
'Protocol names can only contain letters, numbers and spaces'
|
|
633
|
+
)
|
|
497
634
|
}
|
|
498
635
|
if (protocolName.endsWith(' protocol')) {
|
|
499
636
|
throw new Error('No need to end your protocol name with " protocol"')
|
|
@@ -511,17 +648,19 @@ describe('WalletWire Integration Tests', () => {
|
|
|
511
648
|
})
|
|
512
649
|
})
|
|
513
650
|
// Helper function to create a test wallet wire setup
|
|
514
|
-
const createTestWalletWire = (wallet:
|
|
651
|
+
const createTestWalletWire = (wallet: CompletedProtoWallet) => {
|
|
515
652
|
const processor = new WalletWireProcessor(wallet)
|
|
516
653
|
const transceiver = new WalletWireTransceiver(processor)
|
|
517
654
|
return transceiver
|
|
518
655
|
}
|
|
519
656
|
|
|
520
|
-
// Mock implementation for methods not supported by
|
|
521
|
-
const mockUnsupportedMethods = (
|
|
657
|
+
// Mock implementation for methods not supported by CompletedProtoWallet
|
|
658
|
+
const mockUnsupportedMethods = (
|
|
659
|
+
methods: Partial<CompletedProtoWallet>
|
|
660
|
+
): CompletedProtoWallet => {
|
|
522
661
|
return {
|
|
523
662
|
...methods
|
|
524
|
-
} as
|
|
663
|
+
} as CompletedProtoWallet
|
|
525
664
|
}
|
|
526
665
|
|
|
527
666
|
describe('createAction', () => {
|
|
@@ -665,11 +804,13 @@ describe('WalletWire Integration Tests', () => {
|
|
|
665
804
|
description: 'Test action with all options',
|
|
666
805
|
inputs: [],
|
|
667
806
|
inputBEEF: [1, 2, 3, 4],
|
|
668
|
-
outputs: [
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
807
|
+
outputs: [
|
|
808
|
+
{
|
|
809
|
+
lockingScript: '016a',
|
|
810
|
+
satoshis: 1,
|
|
811
|
+
outputDescription: 'This is a test.'
|
|
812
|
+
}
|
|
813
|
+
],
|
|
673
814
|
lockTime: 0,
|
|
674
815
|
version: 1,
|
|
675
816
|
labels: ['label1', 'label2'],
|
|
@@ -702,7 +843,9 @@ describe('WalletWire Integration Tests', () => {
|
|
|
702
843
|
|
|
703
844
|
it('should throw an error with invalid inputs', async () => {
|
|
704
845
|
// Mock the createAction method to throw an error
|
|
705
|
-
const createActionMock = jest
|
|
846
|
+
const createActionMock = jest
|
|
847
|
+
.fn()
|
|
848
|
+
.mockRejectedValue(new Error('Invalid inputs'))
|
|
706
849
|
const wallet = createTestWalletWire(
|
|
707
850
|
mockUnsupportedMethods({
|
|
708
851
|
createAction: createActionMock
|
|
@@ -745,7 +888,9 @@ describe('WalletWire Integration Tests', () => {
|
|
|
745
888
|
|
|
746
889
|
it('should throw an error with invalid inputs', async () => {
|
|
747
890
|
// Mock the signAction method to throw an error
|
|
748
|
-
const signActionMock = jest
|
|
891
|
+
const signActionMock = jest
|
|
892
|
+
.fn()
|
|
893
|
+
.mockRejectedValue(new Error('Invalid inputs'))
|
|
749
894
|
const wallet = createTestWalletWire(
|
|
750
895
|
mockUnsupportedMethods({
|
|
751
896
|
signAction: signActionMock
|
|
@@ -778,7 +923,9 @@ describe('WalletWire Integration Tests', () => {
|
|
|
778
923
|
|
|
779
924
|
it('should throw an error with invalid reference', async () => {
|
|
780
925
|
// Mock the abortAction method to throw an error
|
|
781
|
-
const abortActionMock = jest
|
|
926
|
+
const abortActionMock = jest
|
|
927
|
+
.fn()
|
|
928
|
+
.mockRejectedValue(new Error('Invalid reference'))
|
|
782
929
|
const wallet = createTestWalletWire(
|
|
783
930
|
mockUnsupportedMethods({
|
|
784
931
|
abortAction: abortActionMock
|
|
@@ -786,7 +933,9 @@ describe('WalletWire Integration Tests', () => {
|
|
|
786
933
|
)
|
|
787
934
|
const reference = ''
|
|
788
935
|
const args = { reference }
|
|
789
|
-
await expect(wallet.abortAction(args)).rejects.toThrow(
|
|
936
|
+
await expect(wallet.abortAction(args)).rejects.toThrow(
|
|
937
|
+
'Invalid reference'
|
|
938
|
+
)
|
|
790
939
|
expect(abortActionMock).toHaveBeenCalledWith(args, '')
|
|
791
940
|
})
|
|
792
941
|
})
|
|
@@ -855,7 +1004,9 @@ describe('WalletWire Integration Tests', () => {
|
|
|
855
1004
|
|
|
856
1005
|
it('should throw an error with invalid inputs', async () => {
|
|
857
1006
|
// Mock the listActions method to throw an error
|
|
858
|
-
const listActionsMock = jest
|
|
1007
|
+
const listActionsMock = jest
|
|
1008
|
+
.fn()
|
|
1009
|
+
.mockRejectedValue(new Error('Invalid inputs'))
|
|
859
1010
|
const wallet = createTestWalletWire(
|
|
860
1011
|
mockUnsupportedMethods({
|
|
861
1012
|
listActions: listActionsMock
|
|
@@ -872,7 +1023,9 @@ describe('WalletWire Integration Tests', () => {
|
|
|
872
1023
|
describe('internalizeAction', () => {
|
|
873
1024
|
it('should internalize an action with valid inputs', async () => {
|
|
874
1025
|
// Mock the internalizeAction method
|
|
875
|
-
const internalizeActionMock = jest
|
|
1026
|
+
const internalizeActionMock = jest
|
|
1027
|
+
.fn()
|
|
1028
|
+
.mockResolvedValue({ accepted: true })
|
|
876
1029
|
const wallet = createTestWalletWire(
|
|
877
1030
|
mockUnsupportedMethods({
|
|
878
1031
|
internalizeAction: internalizeActionMock
|
|
@@ -902,7 +1055,9 @@ describe('WalletWire Integration Tests', () => {
|
|
|
902
1055
|
|
|
903
1056
|
it('should throw an error with invalid inputs', async () => {
|
|
904
1057
|
// Mock the internalizeAction method to throw an error
|
|
905
|
-
const internalizeActionMock = jest
|
|
1058
|
+
const internalizeActionMock = jest
|
|
1059
|
+
.fn()
|
|
1060
|
+
.mockRejectedValue(new Error('Invalid inputs'))
|
|
906
1061
|
const wallet = createTestWalletWire(
|
|
907
1062
|
mockUnsupportedMethods({
|
|
908
1063
|
internalizeAction: internalizeActionMock
|
|
@@ -913,12 +1068,16 @@ describe('WalletWire Integration Tests', () => {
|
|
|
913
1068
|
outputs: [],
|
|
914
1069
|
description: 'Test internalize action'
|
|
915
1070
|
}
|
|
916
|
-
await expect(wallet.internalizeAction(args)).rejects.toThrow(
|
|
1071
|
+
await expect(wallet.internalizeAction(args)).rejects.toThrow(
|
|
1072
|
+
'Invalid inputs'
|
|
1073
|
+
)
|
|
917
1074
|
expect(internalizeActionMock).toHaveBeenCalledWith(args, '')
|
|
918
1075
|
})
|
|
919
1076
|
it('should internalize an action with "basket insertion" protocol', async () => {
|
|
920
1077
|
// Mock the internalizeAction method
|
|
921
|
-
const internalizeActionMock = jest
|
|
1078
|
+
const internalizeActionMock = jest
|
|
1079
|
+
.fn()
|
|
1080
|
+
.mockResolvedValue({ accepted: true })
|
|
922
1081
|
const wallet = createTestWalletWire(
|
|
923
1082
|
mockUnsupportedMethods({
|
|
924
1083
|
internalizeAction: internalizeActionMock
|
|
@@ -954,7 +1113,8 @@ describe('WalletWire Integration Tests', () => {
|
|
|
954
1113
|
totalOutputs: 1,
|
|
955
1114
|
outputs: [
|
|
956
1115
|
{
|
|
957
|
-
outpoint:
|
|
1116
|
+
outpoint:
|
|
1117
|
+
'deadbeef20248806deadbeef20248806deadbeef20248806deadbeef20248806.0',
|
|
958
1118
|
satoshis: 1000,
|
|
959
1119
|
lockingScript: '00',
|
|
960
1120
|
spendable: true,
|
|
@@ -985,7 +1145,9 @@ describe('WalletWire Integration Tests', () => {
|
|
|
985
1145
|
|
|
986
1146
|
it('should throw an error with invalid inputs', async () => {
|
|
987
1147
|
// Mock the listOutputs method to throw an error
|
|
988
|
-
const listOutputsMock = jest
|
|
1148
|
+
const listOutputsMock = jest
|
|
1149
|
+
.fn()
|
|
1150
|
+
.mockRejectedValue(new Error('Invalid inputs'))
|
|
989
1151
|
const wallet = createTestWalletWire(
|
|
990
1152
|
mockUnsupportedMethods({
|
|
991
1153
|
listOutputs: listOutputsMock
|
|
@@ -1004,7 +1166,8 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1004
1166
|
BEEF: [1, 2, 3, 4],
|
|
1005
1167
|
outputs: [
|
|
1006
1168
|
{
|
|
1007
|
-
outpoint:
|
|
1169
|
+
outpoint:
|
|
1170
|
+
'deadbeef20248806deadbeef20248806deadbeef20248806deadbeef20248806.0',
|
|
1008
1171
|
satoshis: 1000,
|
|
1009
1172
|
spendable: true
|
|
1010
1173
|
}
|
|
@@ -1037,7 +1200,9 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1037
1200
|
|
|
1038
1201
|
describe('getPublicKey', () => {
|
|
1039
1202
|
it('should get the identity public key', async () => {
|
|
1040
|
-
const wallet = createTestWalletWire(
|
|
1203
|
+
const wallet = createTestWalletWire(
|
|
1204
|
+
new CompletedProtoWallet(PrivateKey.fromRandom())
|
|
1205
|
+
)
|
|
1041
1206
|
const result = await wallet.getPublicKey({ identityKey: true })
|
|
1042
1207
|
expect(result).toHaveProperty('publicKey')
|
|
1043
1208
|
expect(typeof result.publicKey).toBe('string')
|
|
@@ -1047,7 +1212,7 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1047
1212
|
it('should get a derived public key with valid inputs', async () => {
|
|
1048
1213
|
const userKey = PrivateKey.fromRandom()
|
|
1049
1214
|
const counterpartyKey = PrivateKey.fromRandom()
|
|
1050
|
-
const wallet = createTestWalletWire(new
|
|
1215
|
+
const wallet = createTestWalletWire(new CompletedProtoWallet(userKey))
|
|
1051
1216
|
const args = {
|
|
1052
1217
|
protocolID: [2, 'tests'] as [0 | 1 | 2, string],
|
|
1053
1218
|
keyID: 'test-key-id',
|
|
@@ -1060,7 +1225,9 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1060
1225
|
})
|
|
1061
1226
|
|
|
1062
1227
|
it('should get the public key with counterparty "anyone"', async () => {
|
|
1063
|
-
const wallet = createTestWalletWire(
|
|
1228
|
+
const wallet = createTestWalletWire(
|
|
1229
|
+
new CompletedProtoWallet(PrivateKey.fromRandom())
|
|
1230
|
+
)
|
|
1064
1231
|
const args = {
|
|
1065
1232
|
protocolID: [1, 'testprotocol'] as [0 | 1 | 2, string],
|
|
1066
1233
|
keyID: 'testkeyid',
|
|
@@ -1073,7 +1240,9 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1073
1240
|
})
|
|
1074
1241
|
|
|
1075
1242
|
it('should get the public key with missing optional parameters', async () => {
|
|
1076
|
-
const wallet = createTestWalletWire(
|
|
1243
|
+
const wallet = createTestWalletWire(
|
|
1244
|
+
new CompletedProtoWallet(PrivateKey.fromRandom())
|
|
1245
|
+
)
|
|
1077
1246
|
const args = {
|
|
1078
1247
|
protocolID: [0, 'minimalprotocol'] as [0 | 1 | 2, string],
|
|
1079
1248
|
keyID: 'minimalkeyid'
|
|
@@ -1090,8 +1259,10 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1090
1259
|
it('should encrypt and decrypt data correctly', async () => {
|
|
1091
1260
|
const userKey = PrivateKey.fromRandom()
|
|
1092
1261
|
const counterpartyKey = PrivateKey.fromRandom()
|
|
1093
|
-
const userWallet = createTestWalletWire(new
|
|
1094
|
-
const counterpartyWallet = createTestWalletWire(
|
|
1262
|
+
const userWallet = createTestWalletWire(new CompletedProtoWallet(userKey))
|
|
1263
|
+
const counterpartyWallet = createTestWalletWire(
|
|
1264
|
+
new CompletedProtoWallet(counterpartyKey)
|
|
1265
|
+
)
|
|
1095
1266
|
|
|
1096
1267
|
const plaintext = sampleData
|
|
1097
1268
|
const encryptArgs = {
|
|
@@ -1118,7 +1289,9 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1118
1289
|
it('should throw an error for invalid decryption inputs', async () => {
|
|
1119
1290
|
const userKey = PrivateKey.fromRandom()
|
|
1120
1291
|
const counterpartyKey = PrivateKey.fromRandom()
|
|
1121
|
-
const counterpartyWallet = createTestWalletWire(
|
|
1292
|
+
const counterpartyWallet = createTestWalletWire(
|
|
1293
|
+
new CompletedProtoWallet(counterpartyKey)
|
|
1294
|
+
)
|
|
1122
1295
|
|
|
1123
1296
|
const decryptArgs = {
|
|
1124
1297
|
ciphertext: [0x00],
|
|
@@ -1134,8 +1307,10 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1134
1307
|
it('should create and verify HMAC correctly', async () => {
|
|
1135
1308
|
const userKey = PrivateKey.fromRandom()
|
|
1136
1309
|
const counterpartyKey = PrivateKey.fromRandom()
|
|
1137
|
-
const userWallet = createTestWalletWire(new
|
|
1138
|
-
const counterpartyWallet = createTestWalletWire(
|
|
1310
|
+
const userWallet = createTestWalletWire(new CompletedProtoWallet(userKey))
|
|
1311
|
+
const counterpartyWallet = createTestWalletWire(
|
|
1312
|
+
new CompletedProtoWallet(counterpartyKey)
|
|
1313
|
+
)
|
|
1139
1314
|
|
|
1140
1315
|
const data = sampleData
|
|
1141
1316
|
const createHmacArgs = {
|
|
@@ -1155,13 +1330,16 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1155
1330
|
keyID: 'test-key-id',
|
|
1156
1331
|
counterparty: userKey.toPublicKey().toString()
|
|
1157
1332
|
}
|
|
1158
|
-
const verifyHmacResult =
|
|
1333
|
+
const verifyHmacResult =
|
|
1334
|
+
await counterpartyWallet.verifyHmac(verifyHmacArgs)
|
|
1159
1335
|
expect(verifyHmacResult).toEqual({ valid: true })
|
|
1160
1336
|
})
|
|
1161
1337
|
|
|
1162
1338
|
it('should throw an error for invalid HMAC verification', async () => {
|
|
1163
1339
|
const userKey = PrivateKey.fromRandom()
|
|
1164
|
-
const counterpartyWallet = createTestWalletWire(
|
|
1340
|
+
const counterpartyWallet = createTestWalletWire(
|
|
1341
|
+
new CompletedProtoWallet(PrivateKey.fromRandom())
|
|
1342
|
+
)
|
|
1165
1343
|
|
|
1166
1344
|
const verifyHmacArgs = {
|
|
1167
1345
|
data: sampleData,
|
|
@@ -1170,7 +1348,9 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1170
1348
|
keyID: 'test-key-id',
|
|
1171
1349
|
counterparty: userKey.toPublicKey().toString()
|
|
1172
1350
|
}
|
|
1173
|
-
await expect(
|
|
1351
|
+
await expect(
|
|
1352
|
+
counterpartyWallet.verifyHmac(verifyHmacArgs)
|
|
1353
|
+
).rejects.toThrow()
|
|
1174
1354
|
})
|
|
1175
1355
|
})
|
|
1176
1356
|
|
|
@@ -1178,8 +1358,10 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1178
1358
|
it('should create and verify signature correctly', async () => {
|
|
1179
1359
|
const userKey = PrivateKey.fromRandom()
|
|
1180
1360
|
const counterpartyKey = PrivateKey.fromRandom()
|
|
1181
|
-
const userWallet = createTestWalletWire(new
|
|
1182
|
-
const counterpartyWallet = createTestWalletWire(
|
|
1361
|
+
const userWallet = createTestWalletWire(new CompletedProtoWallet(userKey))
|
|
1362
|
+
const counterpartyWallet = createTestWalletWire(
|
|
1363
|
+
new CompletedProtoWallet(counterpartyKey)
|
|
1364
|
+
)
|
|
1183
1365
|
|
|
1184
1366
|
const data = sampleData
|
|
1185
1367
|
const createSignatureArgs = {
|
|
@@ -1188,7 +1370,8 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1188
1370
|
keyID: 'test-key-id',
|
|
1189
1371
|
counterparty: counterpartyKey.toPublicKey().toString()
|
|
1190
1372
|
}
|
|
1191
|
-
const createSignatureResult =
|
|
1373
|
+
const createSignatureResult =
|
|
1374
|
+
await userWallet.createSignature(createSignatureArgs)
|
|
1192
1375
|
expect(createSignatureResult).toHaveProperty('signature')
|
|
1193
1376
|
expect(createSignatureResult.signature.length).toBeGreaterThan(0)
|
|
1194
1377
|
|
|
@@ -1199,13 +1382,16 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1199
1382
|
keyID: 'test-key-id',
|
|
1200
1383
|
counterparty: userKey.toPublicKey().toString()
|
|
1201
1384
|
}
|
|
1202
|
-
const verifySignatureResult =
|
|
1385
|
+
const verifySignatureResult =
|
|
1386
|
+
await counterpartyWallet.verifySignature(verifySignatureArgs)
|
|
1203
1387
|
expect(verifySignatureResult).toEqual({ valid: true })
|
|
1204
1388
|
})
|
|
1205
1389
|
|
|
1206
1390
|
it('should throw an error for invalid signature verification', async () => {
|
|
1207
1391
|
const userKey = PrivateKey.fromRandom()
|
|
1208
|
-
const counterpartyWallet = createTestWalletWire(
|
|
1392
|
+
const counterpartyWallet = createTestWalletWire(
|
|
1393
|
+
new CompletedProtoWallet(PrivateKey.fromRandom())
|
|
1394
|
+
)
|
|
1209
1395
|
|
|
1210
1396
|
const verifySignatureArgs = {
|
|
1211
1397
|
data: sampleData,
|
|
@@ -1214,7 +1400,9 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1214
1400
|
keyID: 'test-key-id',
|
|
1215
1401
|
counterparty: userKey.toPublicKey().toString()
|
|
1216
1402
|
}
|
|
1217
|
-
await expect(
|
|
1403
|
+
await expect(
|
|
1404
|
+
counterpartyWallet.verifySignature(verifySignatureArgs)
|
|
1405
|
+
).rejects.toThrow()
|
|
1218
1406
|
})
|
|
1219
1407
|
})
|
|
1220
1408
|
|
|
@@ -1224,8 +1412,12 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1224
1412
|
const counterpartyKey = PrivateKey.fromRandom()
|
|
1225
1413
|
const verifierKey = PrivateKey.fromRandom()
|
|
1226
1414
|
|
|
1227
|
-
const proverWallet = createTestWalletWire(
|
|
1228
|
-
|
|
1415
|
+
const proverWallet = createTestWalletWire(
|
|
1416
|
+
new CompletedProtoWallet(proverKey)
|
|
1417
|
+
)
|
|
1418
|
+
const verifierWallet = createTestWalletWire(
|
|
1419
|
+
new CompletedProtoWallet(verifierKey)
|
|
1420
|
+
)
|
|
1229
1421
|
|
|
1230
1422
|
const args = {
|
|
1231
1423
|
counterparty: counterpartyKey.toPublicKey().toString(),
|
|
@@ -1237,13 +1429,18 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1237
1429
|
|
|
1238
1430
|
const decryptArgs = {
|
|
1239
1431
|
ciphertext: revelation.encryptedLinkage,
|
|
1240
|
-
protocolID: [2, 'counterparty linkage revelation'] as [
|
|
1432
|
+
protocolID: [2, 'counterparty linkage revelation'] as [
|
|
1433
|
+
0 | 1 | 2,
|
|
1434
|
+
string
|
|
1435
|
+
],
|
|
1241
1436
|
keyID: revelation.revelationTime,
|
|
1242
1437
|
counterparty: proverKey.toPublicKey().toString()
|
|
1243
1438
|
}
|
|
1244
1439
|
const decryptedResult = await verifierWallet.decrypt(decryptArgs)
|
|
1245
1440
|
|
|
1246
|
-
const expectedLinkage = proverKey
|
|
1441
|
+
const expectedLinkage = proverKey
|
|
1442
|
+
.deriveSharedSecret(counterpartyKey.toPublicKey())
|
|
1443
|
+
.encode(true)
|
|
1247
1444
|
expect(decryptedResult.plaintext).toEqual(expectedLinkage)
|
|
1248
1445
|
})
|
|
1249
1446
|
})
|
|
@@ -1256,8 +1453,10 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1256
1453
|
subject: '02' + 'a'.repeat(64),
|
|
1257
1454
|
serialNumber: Utils.toBase64(new Array(32).fill(2)),
|
|
1258
1455
|
certifier: '02' + 'b'.repeat(64),
|
|
1259
|
-
revocationOutpoint:
|
|
1260
|
-
|
|
1456
|
+
revocationOutpoint:
|
|
1457
|
+
'deadbeef20248806deadbeef20248806deadbeef20248806deadbeef20248806.0',
|
|
1458
|
+
signature:
|
|
1459
|
+
'3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
|
|
1261
1460
|
fields: {
|
|
1262
1461
|
field1: 'value1',
|
|
1263
1462
|
field2: 'value2'
|
|
@@ -1278,8 +1477,10 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1278
1477
|
field2: 'value2'
|
|
1279
1478
|
},
|
|
1280
1479
|
serialNumber: Utils.toBase64(new Array(32).fill(2)),
|
|
1281
|
-
revocationOutpoint:
|
|
1282
|
-
|
|
1480
|
+
revocationOutpoint:
|
|
1481
|
+
'deadbeef20248806deadbeef20248806deadbeef20248806deadbeef20248806.0',
|
|
1482
|
+
signature:
|
|
1483
|
+
'3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
|
|
1283
1484
|
keyringRevealer: 'certifier',
|
|
1284
1485
|
keyringForSubject: {}
|
|
1285
1486
|
}
|
|
@@ -1300,8 +1501,10 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1300
1501
|
subject: '02' + 'a'.repeat(64),
|
|
1301
1502
|
serialNumber: Utils.toBase64(new Array(32).fill(2)),
|
|
1302
1503
|
certifier: '02' + 'b'.repeat(64),
|
|
1303
|
-
revocationOutpoint:
|
|
1304
|
-
|
|
1504
|
+
revocationOutpoint:
|
|
1505
|
+
'deadbeef20248806deadbeef20248806deadbeef20248806deadbeef20248806.0',
|
|
1506
|
+
signature:
|
|
1507
|
+
'3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
|
|
1305
1508
|
fields: {
|
|
1306
1509
|
field1: 'value1',
|
|
1307
1510
|
field2: 'value2'
|
|
@@ -1322,8 +1525,10 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1322
1525
|
field2: 'value2'
|
|
1323
1526
|
},
|
|
1324
1527
|
serialNumber: Utils.toBase64(new Array(32).fill(2)),
|
|
1325
|
-
revocationOutpoint:
|
|
1326
|
-
|
|
1528
|
+
revocationOutpoint:
|
|
1529
|
+
'deadbeef20248806deadbeef20248806deadbeef20248806deadbeef20248806.0',
|
|
1530
|
+
signature:
|
|
1531
|
+
'3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
|
|
1327
1532
|
keyringRevealer: 'certifier' as 'certifier',
|
|
1328
1533
|
keyringForSubject: {
|
|
1329
1534
|
field1: Utils.toBase64([0x01, 0x02, 0x03]),
|
|
@@ -1348,8 +1553,10 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1348
1553
|
subject: '02' + 'a'.repeat(64),
|
|
1349
1554
|
serialNumber: Utils.toBase64(new Array(32).fill(2)),
|
|
1350
1555
|
certifier: '02' + 'b'.repeat(64),
|
|
1351
|
-
revocationOutpoint:
|
|
1352
|
-
|
|
1556
|
+
revocationOutpoint:
|
|
1557
|
+
'deadbeef20248806deadbeef20248806deadbeef20248806deadbeef20248806.0',
|
|
1558
|
+
signature:
|
|
1559
|
+
'3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
|
|
1353
1560
|
fields: {
|
|
1354
1561
|
field1: 'value1',
|
|
1355
1562
|
field2: 'value2'
|
|
@@ -1371,8 +1578,10 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1371
1578
|
field2: 'value2'
|
|
1372
1579
|
},
|
|
1373
1580
|
serialNumber: Utils.toBase64(new Array(32).fill(2)),
|
|
1374
|
-
revocationOutpoint:
|
|
1375
|
-
|
|
1581
|
+
revocationOutpoint:
|
|
1582
|
+
'deadbeef20248806deadbeef20248806deadbeef20248806deadbeef20248806.0',
|
|
1583
|
+
signature:
|
|
1584
|
+
'3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
|
|
1376
1585
|
keyringRevealer: keyringRevealerPubKey,
|
|
1377
1586
|
keyringForSubject: {
|
|
1378
1587
|
field1: Utils.toBase64([0x01, 0x02, 0x03]),
|
|
@@ -1397,8 +1606,10 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1397
1606
|
subject: '02' + 'd'.repeat(64),
|
|
1398
1607
|
serialNumber: Utils.toBase64(new Array(32).fill(2)),
|
|
1399
1608
|
certifier: '02' + 'b'.repeat(64),
|
|
1400
|
-
revocationOutpoint:
|
|
1401
|
-
|
|
1609
|
+
revocationOutpoint:
|
|
1610
|
+
'cafebabedeadbeefcafebabedeadbeefdeadbeefdeadbeefdeadbeefdeadbeef.1',
|
|
1611
|
+
signature:
|
|
1612
|
+
'3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
|
|
1402
1613
|
fields: {
|
|
1403
1614
|
field3: 'value3',
|
|
1404
1615
|
field4: 'value4'
|
|
@@ -1438,8 +1649,10 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1438
1649
|
subject: '02' + 'e'.repeat(64),
|
|
1439
1650
|
serialNumber: Utils.toBase64(new Array(32).fill(2)),
|
|
1440
1651
|
certifier: '02' + 'b'.repeat(64),
|
|
1441
|
-
revocationOutpoint:
|
|
1442
|
-
|
|
1652
|
+
revocationOutpoint:
|
|
1653
|
+
'beadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbead.2',
|
|
1654
|
+
signature:
|
|
1655
|
+
'3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
|
|
1443
1656
|
fields: {
|
|
1444
1657
|
field5: 'value5'
|
|
1445
1658
|
}
|
|
@@ -1458,8 +1671,10 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1458
1671
|
field5: 'value5'
|
|
1459
1672
|
},
|
|
1460
1673
|
serialNumber: Utils.toBase64(new Array(32).fill(2)),
|
|
1461
|
-
revocationOutpoint:
|
|
1462
|
-
|
|
1674
|
+
revocationOutpoint:
|
|
1675
|
+
'beadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbead.2',
|
|
1676
|
+
signature:
|
|
1677
|
+
'3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
|
|
1463
1678
|
keyringRevealer: 'certifier' as 'certifier',
|
|
1464
1679
|
keyringForSubject: {} // Empty keyring
|
|
1465
1680
|
}
|
|
@@ -1487,8 +1702,10 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1487
1702
|
subject: '02' + 'a'.repeat(64),
|
|
1488
1703
|
serialNumber: Utils.toBase64(new Array(32).fill(2)),
|
|
1489
1704
|
certifier: '02' + 'b'.repeat(64),
|
|
1490
|
-
revocationOutpoint:
|
|
1491
|
-
|
|
1705
|
+
revocationOutpoint:
|
|
1706
|
+
'deadbeef20248806deadbeef20248806deadbeef20248806deadbeef20248806.0',
|
|
1707
|
+
signature:
|
|
1708
|
+
'3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
|
|
1492
1709
|
fields: {
|
|
1493
1710
|
field1: 'value1',
|
|
1494
1711
|
field2: 'value2'
|
|
@@ -1524,8 +1741,10 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1524
1741
|
subject: '02' + 'a'.repeat(64),
|
|
1525
1742
|
serialNumber: Utils.toBase64(new Array(32).fill(2)),
|
|
1526
1743
|
certifier: '02' + 'b'.repeat(64),
|
|
1527
|
-
revocationOutpoint:
|
|
1528
|
-
|
|
1744
|
+
revocationOutpoint:
|
|
1745
|
+
'deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef.0',
|
|
1746
|
+
signature:
|
|
1747
|
+
'3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
|
|
1529
1748
|
fields: {
|
|
1530
1749
|
field1: 'value1',
|
|
1531
1750
|
field2: 'value2'
|
|
@@ -1536,8 +1755,10 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1536
1755
|
subject: '02' + 'c'.repeat(64),
|
|
1537
1756
|
serialNumber: Utils.toBase64(new Array(32).fill(2)),
|
|
1538
1757
|
certifier: '02' + 'b'.repeat(64),
|
|
1539
|
-
revocationOutpoint:
|
|
1540
|
-
|
|
1758
|
+
revocationOutpoint:
|
|
1759
|
+
'cafebabecafebabecafebabecafebabecafebabecafebabecafebabecafebabe.1',
|
|
1760
|
+
signature:
|
|
1761
|
+
'3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
|
|
1541
1762
|
fields: {
|
|
1542
1763
|
field3: 'value3',
|
|
1543
1764
|
field4: 'value4',
|
|
@@ -1564,7 +1785,10 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1564
1785
|
const result = await wallet.listCertificates(args)
|
|
1565
1786
|
expect(result).toHaveProperty('totalCertificates', 2)
|
|
1566
1787
|
expect(result.certificates.length).toBe(2)
|
|
1567
|
-
expect(result.certificates[0].fields).toEqual({
|
|
1788
|
+
expect(result.certificates[0].fields).toEqual({
|
|
1789
|
+
field1: 'value1',
|
|
1790
|
+
field2: 'value2'
|
|
1791
|
+
})
|
|
1568
1792
|
expect(result.certificates[1].fields).toEqual({
|
|
1569
1793
|
field3: 'value3',
|
|
1570
1794
|
field4: 'value4',
|
|
@@ -1583,8 +1807,10 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1583
1807
|
subject: '02' + 'd'.repeat(64),
|
|
1584
1808
|
serialNumber: Utils.toBase64(new Array(32).fill(2)),
|
|
1585
1809
|
certifier: '02' + 'e'.repeat(64),
|
|
1586
|
-
revocationOutpoint:
|
|
1587
|
-
|
|
1810
|
+
revocationOutpoint:
|
|
1811
|
+
'cafecafecafecafecafecafecafecafecafecafecafecafecafecafecafecafe.2',
|
|
1812
|
+
signature:
|
|
1813
|
+
'3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
|
|
1588
1814
|
fields: {
|
|
1589
1815
|
field6: 'value6'
|
|
1590
1816
|
}
|
|
@@ -1633,8 +1859,10 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1633
1859
|
subject: '02' + 'a'.repeat(64),
|
|
1634
1860
|
serialNumber: Utils.toBase64(new Array(32).fill(2)),
|
|
1635
1861
|
certifier: '02' + 'b'.repeat(64),
|
|
1636
|
-
revocationOutpoint:
|
|
1637
|
-
|
|
1862
|
+
revocationOutpoint:
|
|
1863
|
+
'deadbeef20248806deadbeef20248806deadbeef20248806deadbeef20248806.0',
|
|
1864
|
+
signature:
|
|
1865
|
+
'3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
|
|
1638
1866
|
fields: {
|
|
1639
1867
|
field1: 'value1',
|
|
1640
1868
|
field2: 'value2'
|
|
@@ -1667,8 +1895,10 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1667
1895
|
subject: '02' + 'a'.repeat(64),
|
|
1668
1896
|
serialNumber: Utils.toBase64(new Array(32).fill(2)),
|
|
1669
1897
|
certifier: '02' + 'b'.repeat(64),
|
|
1670
|
-
revocationOutpoint:
|
|
1671
|
-
|
|
1898
|
+
revocationOutpoint:
|
|
1899
|
+
'deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef.0',
|
|
1900
|
+
signature:
|
|
1901
|
+
'3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
|
|
1672
1902
|
fields: {
|
|
1673
1903
|
field1: 'value1',
|
|
1674
1904
|
field2: 'value2',
|
|
@@ -1680,7 +1910,10 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1680
1910
|
}
|
|
1681
1911
|
const result = await wallet.proveCertificate(args)
|
|
1682
1912
|
expect(result).toHaveProperty('keyringForVerifier')
|
|
1683
|
-
expect(Object.keys(result.keyringForVerifier)).toEqual([
|
|
1913
|
+
expect(Object.keys(result.keyringForVerifier)).toEqual([
|
|
1914
|
+
'field1',
|
|
1915
|
+
'field2'
|
|
1916
|
+
])
|
|
1684
1917
|
expect(proveCertificateMock).toHaveBeenCalledWith(args, '')
|
|
1685
1918
|
})
|
|
1686
1919
|
|
|
@@ -1701,8 +1934,10 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1701
1934
|
subject: '02' + 'a'.repeat(64),
|
|
1702
1935
|
serialNumber: Utils.toBase64(new Array(32).fill(2)),
|
|
1703
1936
|
certifier: '02' + 'b'.repeat(64),
|
|
1704
|
-
revocationOutpoint:
|
|
1705
|
-
|
|
1937
|
+
revocationOutpoint:
|
|
1938
|
+
'cafebabecafebabecafebabecafebabecafebabecafebabecafebabecafebabe.1',
|
|
1939
|
+
signature:
|
|
1940
|
+
'3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
|
|
1706
1941
|
fields: {
|
|
1707
1942
|
field4: 'value4',
|
|
1708
1943
|
field5: 'value5'
|
|
@@ -1721,7 +1956,9 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1721
1956
|
describe('relinquishCertificate', () => {
|
|
1722
1957
|
it('should relinquish a certificate with valid inputs', async () => {
|
|
1723
1958
|
// Mock the relinquishCertificate method
|
|
1724
|
-
const relinquishCertificateMock = jest
|
|
1959
|
+
const relinquishCertificateMock = jest
|
|
1960
|
+
.fn()
|
|
1961
|
+
.mockResolvedValue({ relinquished: true })
|
|
1725
1962
|
const wallet = createTestWalletWire(
|
|
1726
1963
|
mockUnsupportedMethods({
|
|
1727
1964
|
relinquishCertificate: relinquishCertificateMock
|
|
@@ -1758,7 +1995,9 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1758
1995
|
|
|
1759
1996
|
it('should throw an error when getHeight fails', async () => {
|
|
1760
1997
|
// Mock the getHeight method to throw an error
|
|
1761
|
-
const getHeightMock = jest
|
|
1998
|
+
const getHeightMock = jest
|
|
1999
|
+
.fn()
|
|
2000
|
+
.mockRejectedValue(new Error('Failed to get height'))
|
|
1762
2001
|
const wallet = createTestWalletWire(
|
|
1763
2002
|
mockUnsupportedMethods({
|
|
1764
2003
|
getHeight: getHeightMock
|
|
@@ -1789,14 +2028,18 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1789
2028
|
|
|
1790
2029
|
it('should throw an error when getHeaderForHeight fails', async () => {
|
|
1791
2030
|
// Mock the getHeaderForHeight method to throw an error
|
|
1792
|
-
const getHeaderForHeightMock = jest
|
|
2031
|
+
const getHeaderForHeightMock = jest
|
|
2032
|
+
.fn()
|
|
2033
|
+
.mockRejectedValue(new Error('Failed to get header'))
|
|
1793
2034
|
const wallet = createTestWalletWire(
|
|
1794
2035
|
mockUnsupportedMethods({
|
|
1795
2036
|
getHeaderForHeight: getHeaderForHeightMock
|
|
1796
2037
|
})
|
|
1797
2038
|
)
|
|
1798
2039
|
const args = { height: -1 } // Invalid height
|
|
1799
|
-
await expect(wallet.getHeaderForHeight(args)).rejects.toThrow(
|
|
2040
|
+
await expect(wallet.getHeaderForHeight(args)).rejects.toThrow(
|
|
2041
|
+
'Failed to get header'
|
|
2042
|
+
)
|
|
1800
2043
|
expect(getHeaderForHeightMock).toHaveBeenCalledWith(args, '')
|
|
1801
2044
|
})
|
|
1802
2045
|
})
|
|
@@ -1812,8 +2055,10 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1812
2055
|
subject: '02' + 'a'.repeat(64),
|
|
1813
2056
|
serialNumber: Utils.toBase64(new Array(32).fill(2)),
|
|
1814
2057
|
certifier: '02' + 'b'.repeat(64),
|
|
1815
|
-
revocationOutpoint:
|
|
1816
|
-
|
|
2058
|
+
revocationOutpoint:
|
|
2059
|
+
'deadbeef20248806deadbeef20248806deadbeef20248806deadbeef20248806.0',
|
|
2060
|
+
signature:
|
|
2061
|
+
'3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
|
|
1817
2062
|
fields: {},
|
|
1818
2063
|
certifierInfo: {
|
|
1819
2064
|
name: 'Test Certifier',
|
|
@@ -1853,8 +2098,10 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1853
2098
|
subject: '02' + 'a'.repeat(64),
|
|
1854
2099
|
serialNumber: Utils.toBase64(new Array(32).fill(2)),
|
|
1855
2100
|
certifier: '02' + 'b'.repeat(64),
|
|
1856
|
-
revocationOutpoint:
|
|
1857
|
-
|
|
2101
|
+
revocationOutpoint:
|
|
2102
|
+
'deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef.0',
|
|
2103
|
+
signature:
|
|
2104
|
+
'3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
|
|
1858
2105
|
fields: {},
|
|
1859
2106
|
certifierInfo: {
|
|
1860
2107
|
name: 'Test Certifier',
|
|
@@ -1896,8 +2143,10 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1896
2143
|
subject: '02' + 'a'.repeat(64),
|
|
1897
2144
|
serialNumber: Utils.toBase64(new Array(32).fill(2)),
|
|
1898
2145
|
certifier: '02' + 'b'.repeat(64),
|
|
1899
|
-
revocationOutpoint:
|
|
1900
|
-
|
|
2146
|
+
revocationOutpoint:
|
|
2147
|
+
'deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef.0',
|
|
2148
|
+
signature:
|
|
2149
|
+
'3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
|
|
1901
2150
|
fields: {},
|
|
1902
2151
|
certifierInfo: {
|
|
1903
2152
|
name: 'Certifier One',
|
|
@@ -1917,8 +2166,10 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1917
2166
|
subject: '02' + 'a'.repeat(64),
|
|
1918
2167
|
serialNumber: Utils.toBase64(new Array(32).fill(2)),
|
|
1919
2168
|
certifier: '02' + 'c'.repeat(64),
|
|
1920
|
-
revocationOutpoint:
|
|
1921
|
-
|
|
2169
|
+
revocationOutpoint:
|
|
2170
|
+
'cafebabecafebabecafebabecafebabecafebabecafebabecafebabecafebabe.1',
|
|
2171
|
+
signature:
|
|
2172
|
+
'3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
|
|
1922
2173
|
fields: {},
|
|
1923
2174
|
certifierInfo: {
|
|
1924
2175
|
name: 'Certifier Two',
|
|
@@ -1965,8 +2216,10 @@ describe('WalletWire Integration Tests', () => {
|
|
|
1965
2216
|
subject: '02' + 'a'.repeat(64),
|
|
1966
2217
|
serialNumber: Utils.toBase64(new Array(32).fill(2)),
|
|
1967
2218
|
certifier: '02' + 'b'.repeat(64),
|
|
1968
|
-
revocationOutpoint:
|
|
1969
|
-
|
|
2219
|
+
revocationOutpoint:
|
|
2220
|
+
'deadbeef20248806deadbeef20248806deadbeef20248806deadbeef20248806.0',
|
|
2221
|
+
signature:
|
|
2222
|
+
'3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
|
|
1970
2223
|
fields: {},
|
|
1971
2224
|
certifierInfo: {
|
|
1972
2225
|
name: 'Test Certifier',
|
|
@@ -2001,7 +2254,9 @@ describe('WalletWire Integration Tests', () => {
|
|
|
2001
2254
|
|
|
2002
2255
|
it('should throw an error with invalid inputs', async () => {
|
|
2003
2256
|
// Mock the discoverByAttributes method to throw an error
|
|
2004
|
-
const discoverByAttributesMock = jest
|
|
2257
|
+
const discoverByAttributesMock = jest
|
|
2258
|
+
.fn()
|
|
2259
|
+
.mockRejectedValue(new Error('Invalid inputs'))
|
|
2005
2260
|
const wallet = createTestWalletWire(
|
|
2006
2261
|
mockUnsupportedMethods({
|
|
2007
2262
|
discoverByAttributes: discoverByAttributesMock
|
|
@@ -2010,7 +2265,9 @@ describe('WalletWire Integration Tests', () => {
|
|
|
2010
2265
|
const args = {
|
|
2011
2266
|
attributes: {}
|
|
2012
2267
|
}
|
|
2013
|
-
await expect(wallet.discoverByAttributes(args)).rejects.toThrow(
|
|
2268
|
+
await expect(wallet.discoverByAttributes(args)).rejects.toThrow(
|
|
2269
|
+
'Invalid inputs'
|
|
2270
|
+
)
|
|
2014
2271
|
expect(discoverByAttributesMock).toHaveBeenCalledWith(args, '')
|
|
2015
2272
|
})
|
|
2016
2273
|
it('should discover certificates matching provided attributes', async () => {
|
|
@@ -2023,8 +2280,10 @@ describe('WalletWire Integration Tests', () => {
|
|
|
2023
2280
|
subject: '02' + 'd'.repeat(64),
|
|
2024
2281
|
serialNumber: Utils.toBase64(new Array(32).fill(2)),
|
|
2025
2282
|
certifier: '02' + 'e'.repeat(64),
|
|
2026
|
-
revocationOutpoint:
|
|
2027
|
-
|
|
2283
|
+
revocationOutpoint:
|
|
2284
|
+
'beadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbead.2',
|
|
2285
|
+
signature:
|
|
2286
|
+
'3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
|
|
2028
2287
|
fields: {},
|
|
2029
2288
|
certifierInfo: {
|
|
2030
2289
|
name: 'Certifier Three',
|
|
@@ -2033,7 +2292,7 @@ describe('WalletWire Integration Tests', () => {
|
|
|
2033
2292
|
trust: 8
|
|
2034
2293
|
},
|
|
2035
2294
|
publiclyRevealedKeyring: {
|
|
2036
|
-
fieldX: Utils.toBase64([
|
|
2295
|
+
fieldX: Utils.toBase64([0x0a, 0x0b])
|
|
2037
2296
|
},
|
|
2038
2297
|
decryptedFields: {
|
|
2039
2298
|
fieldY: 'decryptedValueY'
|
|
@@ -2058,7 +2317,9 @@ describe('WalletWire Integration Tests', () => {
|
|
|
2058
2317
|
expect(result).toHaveProperty('totalCertificates', 1)
|
|
2059
2318
|
expect(result.certificates.length).toBe(1)
|
|
2060
2319
|
expect(result.certificates[0].certifierInfo.name).toBe('Certifier Three')
|
|
2061
|
-
expect(result.certificates[0].decryptedFields.fieldY).toBe(
|
|
2320
|
+
expect(result.certificates[0].decryptedFields.fieldY).toBe(
|
|
2321
|
+
'decryptedValueY'
|
|
2322
|
+
)
|
|
2062
2323
|
expect(discoverByAttributesMock).toHaveBeenCalledWith(args, '')
|
|
2063
2324
|
})
|
|
2064
2325
|
|