@bsv/sdk 1.3.12 → 1.3.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/package.json +15 -3
- package/dist/cjs/src/auth/Peer.js +83 -57
- package/dist/cjs/src/auth/Peer.js.map +1 -1
- package/dist/cjs/src/auth/SessionManager.js +14 -9
- package/dist/cjs/src/auth/SessionManager.js.map +1 -1
- package/dist/cjs/src/auth/certificates/Certificate.js +16 -10
- package/dist/cjs/src/auth/certificates/Certificate.js.map +1 -1
- package/dist/cjs/src/auth/certificates/MasterCertificate.js +25 -23
- package/dist/cjs/src/auth/certificates/MasterCertificate.js.map +1 -1
- package/dist/cjs/src/auth/certificates/VerifiableCertificate.js +2 -2
- package/dist/cjs/src/auth/certificates/VerifiableCertificate.js.map +1 -1
- package/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js +62 -46
- package/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
- package/dist/cjs/src/auth/clients/AuthFetch.js +1 -0
- package/dist/cjs/src/auth/clients/AuthFetch.js.map +1 -1
- package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js +70 -43
- package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
- package/dist/cjs/src/auth/utils/createNonce.js +2 -1
- package/dist/cjs/src/auth/utils/createNonce.js.map +1 -1
- package/dist/cjs/src/auth/utils/getVerifiableCertificates.js.map +1 -1
- package/dist/cjs/src/auth/utils/validateCertificates.js +5 -2
- package/dist/cjs/src/auth/utils/validateCertificates.js.map +1 -1
- package/dist/cjs/src/auth/utils/verifyNonce.js +2 -1
- package/dist/cjs/src/auth/utils/verifyNonce.js.map +1 -1
- package/dist/cjs/src/compat/BSM.js +7 -17
- package/dist/cjs/src/compat/BSM.js.map +1 -1
- package/dist/cjs/src/compat/ECIES.js +172 -133
- package/dist/cjs/src/compat/ECIES.js.map +1 -1
- package/dist/cjs/src/compat/HD.js +63 -73
- package/dist/cjs/src/compat/HD.js.map +1 -1
- package/dist/cjs/src/compat/Mnemonic.js +102 -106
- package/dist/cjs/src/compat/Mnemonic.js.map +1 -1
- package/dist/cjs/src/compat/Utxo.js +2 -2
- package/dist/cjs/src/compat/Utxo.js.map +1 -1
- package/dist/cjs/src/compat/index.js +7 -17
- package/dist/cjs/src/compat/index.js.map +1 -1
- package/dist/cjs/src/messages/EncryptedMessage.js +3 -1
- package/dist/cjs/src/messages/EncryptedMessage.js.map +1 -1
- package/dist/cjs/src/messages/SignedMessage.js +1 -0
- package/dist/cjs/src/messages/SignedMessage.js.map +1 -1
- package/dist/cjs/src/messages/index.js +7 -17
- package/dist/cjs/src/messages/index.js.map +1 -1
- package/dist/cjs/src/overlay-tools/LookupResolver.js +54 -35
- package/dist/cjs/src/overlay-tools/LookupResolver.js.map +1 -1
- package/dist/cjs/src/overlay-tools/OverlayAdminTokenTemplate.js +32 -20
- package/dist/cjs/src/overlay-tools/OverlayAdminTokenTemplate.js.map +1 -1
- package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js +40 -28
- package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
- package/dist/cjs/src/primitives/AESGCM.js +6 -5
- package/dist/cjs/src/primitives/AESGCM.js.map +1 -1
- package/dist/cjs/src/primitives/BasePoint.js +1 -1
- package/dist/cjs/src/primitives/BasePoint.js.map +1 -1
- package/dist/cjs/src/primitives/BigNumber.js +50 -62
- package/dist/cjs/src/primitives/BigNumber.js.map +1 -1
- package/dist/cjs/src/primitives/Curve.js +46 -22
- package/dist/cjs/src/primitives/Curve.js.map +1 -1
- package/dist/cjs/src/primitives/DRBG.js +2 -8
- package/dist/cjs/src/primitives/DRBG.js.map +1 -1
- package/dist/cjs/src/primitives/ECDSA.js +51 -35
- package/dist/cjs/src/primitives/ECDSA.js.map +1 -1
- package/dist/cjs/src/primitives/Hash.js +191 -216
- package/dist/cjs/src/primitives/Hash.js.map +1 -1
- package/dist/cjs/src/primitives/JacobianPoint.js +19 -5
- package/dist/cjs/src/primitives/JacobianPoint.js.map +1 -1
- package/dist/cjs/src/primitives/K256.js.map +1 -1
- package/dist/cjs/src/primitives/Mersenne.js.map +1 -1
- package/dist/cjs/src/primitives/MontgomoryMethod.js.map +1 -1
- package/dist/cjs/src/primitives/Point.js +117 -88
- package/dist/cjs/src/primitives/Point.js.map +1 -1
- package/dist/cjs/src/primitives/Polynomial.js +4 -2
- package/dist/cjs/src/primitives/Polynomial.js.map +1 -1
- package/dist/cjs/src/primitives/PrivateKey.js +32 -33
- package/dist/cjs/src/primitives/PrivateKey.js.map +1 -1
- package/dist/cjs/src/primitives/PublicKey.js.map +1 -1
- package/dist/cjs/src/primitives/Random.js +6 -5
- package/dist/cjs/src/primitives/Random.js.map +1 -1
- package/dist/cjs/src/primitives/ReductionContext.js +1 -1
- package/dist/cjs/src/primitives/ReductionContext.js.map +1 -1
- package/dist/cjs/src/primitives/Schnorr.js +21 -15
- package/dist/cjs/src/primitives/Schnorr.js.map +1 -1
- package/dist/cjs/src/primitives/Signature.js +8 -7
- package/dist/cjs/src/primitives/Signature.js.map +1 -1
- package/dist/cjs/src/primitives/SymmetricKey.js +13 -13
- package/dist/cjs/src/primitives/SymmetricKey.js.map +1 -1
- package/dist/cjs/src/primitives/TransactionSignature.js +31 -29
- package/dist/cjs/src/primitives/TransactionSignature.js.map +1 -1
- package/dist/cjs/src/primitives/index.js +7 -17
- package/dist/cjs/src/primitives/index.js.map +1 -1
- package/dist/cjs/src/primitives/utils.js +79 -68
- package/dist/cjs/src/primitives/utils.js.map +1 -1
- package/dist/cjs/src/script/OP.js +3 -3
- package/dist/cjs/src/script/OP.js.map +1 -1
- package/dist/cjs/src/script/Script.js +12 -10
- package/dist/cjs/src/script/Script.js.map +1 -1
- package/dist/cjs/src/script/Spend.js +47 -49
- package/dist/cjs/src/script/Spend.js.map +1 -1
- package/dist/cjs/src/script/templates/P2PKH.js +24 -12
- package/dist/cjs/src/script/templates/P2PKH.js.map +1 -1
- package/dist/cjs/src/script/templates/PushDrop.js +28 -23
- package/dist/cjs/src/script/templates/PushDrop.js.map +1 -1
- package/dist/cjs/src/script/templates/RPuzzle.js +10 -6
- package/dist/cjs/src/script/templates/RPuzzle.js.map +1 -1
- package/dist/cjs/src/totp/totp.js +2 -1
- package/dist/cjs/src/totp/totp.js.map +1 -1
- package/dist/cjs/src/transaction/Beef.js +177 -154
- package/dist/cjs/src/transaction/Beef.js.map +1 -1
- package/dist/cjs/src/transaction/BeefParty.js +24 -24
- package/dist/cjs/src/transaction/BeefParty.js.map +1 -1
- package/dist/cjs/src/transaction/BeefTx.js +26 -18
- package/dist/cjs/src/transaction/BeefTx.js.map +1 -1
- package/dist/cjs/src/transaction/Broadcaster.js +3 -2
- package/dist/cjs/src/transaction/Broadcaster.js.map +1 -1
- package/dist/cjs/src/transaction/MerklePath.js +64 -37
- package/dist/cjs/src/transaction/MerklePath.js.map +1 -1
- package/dist/cjs/src/transaction/Transaction.js +111 -137
- package/dist/cjs/src/transaction/Transaction.js.map +1 -1
- package/dist/cjs/src/transaction/broadcasters/ARC.js +25 -16
- package/dist/cjs/src/transaction/broadcasters/ARC.js.map +1 -1
- package/dist/cjs/src/transaction/broadcasters/DefaultBroadcaster.js +2 -1
- package/dist/cjs/src/transaction/broadcasters/DefaultBroadcaster.js.map +1 -1
- package/dist/cjs/src/transaction/broadcasters/WhatsOnChainBroadcaster.js.map +1 -1
- package/dist/cjs/src/transaction/chaintrackers/DefaultChainTracker.js +2 -1
- package/dist/cjs/src/transaction/chaintrackers/DefaultChainTracker.js.map +1 -1
- package/dist/cjs/src/transaction/chaintrackers/WhatsOnChain.js +3 -3
- package/dist/cjs/src/transaction/chaintrackers/WhatsOnChain.js.map +1 -1
- package/dist/cjs/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
- package/dist/cjs/src/transaction/http/DefaultHttpClient.js +5 -3
- package/dist/cjs/src/transaction/http/DefaultHttpClient.js.map +1 -1
- package/dist/cjs/src/transaction/http/FetchHttpClient.js +5 -2
- package/dist/cjs/src/transaction/http/FetchHttpClient.js.map +1 -1
- package/dist/cjs/src/transaction/http/NodejsHttpClient.js +5 -3
- package/dist/cjs/src/transaction/http/NodejsHttpClient.js.map +1 -1
- package/dist/cjs/src/transaction/http/index.js.map +1 -1
- package/dist/cjs/src/transaction/index.js.map +1 -1
- package/dist/cjs/src/wallet/CachedKeyDeriver.js +91 -66
- package/dist/cjs/src/wallet/CachedKeyDeriver.js.map +1 -1
- package/dist/cjs/src/wallet/KeyDeriver.js +61 -52
- package/dist/cjs/src/wallet/KeyDeriver.js.map +1 -1
- package/dist/cjs/src/wallet/ProtoWallet.js +79 -29
- package/dist/cjs/src/wallet/ProtoWallet.js.map +1 -1
- package/dist/cjs/src/wallet/WalletClient.js +7 -2
- package/dist/cjs/src/wallet/WalletClient.js.map +1 -1
- package/dist/cjs/src/wallet/WalletError.js +2 -2
- package/dist/cjs/src/wallet/WalletError.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js +4 -3
- package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/HTTPWalletWire.js +2 -2
- package/dist/cjs/src/wallet/substrates/HTTPWalletWire.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js +1239 -1261
- package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js +102 -43
- package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/XDM.js +8 -3
- package/dist/cjs/src/wallet/substrates/XDM.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/window.CWI.js +28 -28
- package/dist/cjs/src/wallet/substrates/window.CWI.js.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/mod.js +15 -15
- package/dist/esm/src/auth/Peer.js +75 -54
- package/dist/esm/src/auth/Peer.js.map +1 -1
- package/dist/esm/src/auth/SessionManager.js +14 -9
- package/dist/esm/src/auth/SessionManager.js.map +1 -1
- package/dist/esm/src/auth/certificates/Certificate.js +15 -11
- package/dist/esm/src/auth/certificates/Certificate.js.map +1 -1
- package/dist/esm/src/auth/certificates/MasterCertificate.js +25 -23
- package/dist/esm/src/auth/certificates/MasterCertificate.js.map +1 -1
- package/dist/esm/src/auth/certificates/VerifiableCertificate.js +2 -2
- package/dist/esm/src/auth/certificates/VerifiableCertificate.js.map +1 -1
- package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js +64 -47
- package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
- package/dist/esm/src/auth/clients/AuthFetch.js +1 -0
- package/dist/esm/src/auth/clients/AuthFetch.js.map +1 -1
- package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js +69 -43
- package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
- package/dist/esm/src/auth/utils/createNonce.js.map +1 -1
- package/dist/esm/src/auth/utils/getVerifiableCertificates.js +1 -1
- package/dist/esm/src/auth/utils/getVerifiableCertificates.js.map +1 -1
- package/dist/esm/src/auth/utils/validateCertificates.js +6 -3
- package/dist/esm/src/auth/utils/validateCertificates.js.map +1 -1
- package/dist/esm/src/auth/utils/verifyNonce.js.map +1 -1
- package/dist/esm/src/compat/BSM.js.map +1 -1
- package/dist/esm/src/compat/ECIES.js +165 -116
- package/dist/esm/src/compat/ECIES.js.map +1 -1
- package/dist/esm/src/compat/HD.js +56 -56
- package/dist/esm/src/compat/HD.js.map +1 -1
- package/dist/esm/src/compat/Mnemonic.js +95 -89
- package/dist/esm/src/compat/Mnemonic.js.map +1 -1
- package/dist/esm/src/compat/Utxo.js +1 -1
- package/dist/esm/src/compat/Utxo.js.map +1 -1
- package/dist/esm/src/messages/EncryptedMessage.js +3 -1
- package/dist/esm/src/messages/EncryptedMessage.js.map +1 -1
- package/dist/esm/src/messages/SignedMessage.js +1 -0
- package/dist/esm/src/messages/SignedMessage.js.map +1 -1
- package/dist/esm/src/overlay-tools/LookupResolver.js +53 -35
- package/dist/esm/src/overlay-tools/LookupResolver.js.map +1 -1
- package/dist/esm/src/overlay-tools/OverlayAdminTokenTemplate.js +32 -20
- package/dist/esm/src/overlay-tools/OverlayAdminTokenTemplate.js.map +1 -1
- package/dist/esm/src/overlay-tools/SHIPBroadcaster.js +40 -28
- package/dist/esm/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
- package/dist/esm/src/primitives/AESGCM.js +1 -0
- package/dist/esm/src/primitives/AESGCM.js.map +1 -1
- package/dist/esm/src/primitives/BasePoint.js +1 -1
- package/dist/esm/src/primitives/BasePoint.js.map +1 -1
- package/dist/esm/src/primitives/BigNumber.js +50 -62
- package/dist/esm/src/primitives/BigNumber.js.map +1 -1
- package/dist/esm/src/primitives/Curve.js +45 -22
- package/dist/esm/src/primitives/Curve.js.map +1 -1
- package/dist/esm/src/primitives/DRBG.js +2 -8
- package/dist/esm/src/primitives/DRBG.js.map +1 -1
- package/dist/esm/src/primitives/ECDSA.js +50 -35
- package/dist/esm/src/primitives/ECDSA.js.map +1 -1
- package/dist/esm/src/primitives/Hash.js +188 -213
- package/dist/esm/src/primitives/Hash.js.map +1 -1
- package/dist/esm/src/primitives/JacobianPoint.js +18 -5
- package/dist/esm/src/primitives/JacobianPoint.js.map +1 -1
- package/dist/esm/src/primitives/K256.js.map +1 -1
- package/dist/esm/src/primitives/Mersenne.js.map +1 -1
- package/dist/esm/src/primitives/MontgomoryMethod.js.map +1 -1
- package/dist/esm/src/primitives/Point.js +107 -88
- package/dist/esm/src/primitives/Point.js.map +1 -1
- package/dist/esm/src/primitives/Polynomial.js +4 -2
- package/dist/esm/src/primitives/Polynomial.js.map +1 -1
- package/dist/esm/src/primitives/PrivateKey.js +25 -16
- package/dist/esm/src/primitives/PrivateKey.js.map +1 -1
- package/dist/esm/src/primitives/PublicKey.js.map +1 -1
- package/dist/esm/src/primitives/Random.js +7 -6
- package/dist/esm/src/primitives/Random.js.map +1 -1
- package/dist/esm/src/primitives/ReductionContext.js +1 -1
- package/dist/esm/src/primitives/ReductionContext.js.map +1 -1
- package/dist/esm/src/primitives/Schnorr.js +21 -15
- package/dist/esm/src/primitives/Schnorr.js.map +1 -1
- package/dist/esm/src/primitives/Signature.js +8 -7
- package/dist/esm/src/primitives/Signature.js.map +1 -1
- package/dist/esm/src/primitives/SymmetricKey.js +13 -13
- package/dist/esm/src/primitives/SymmetricKey.js.map +1 -1
- package/dist/esm/src/primitives/TransactionSignature.js +22 -12
- package/dist/esm/src/primitives/TransactionSignature.js.map +1 -1
- package/dist/esm/src/primitives/utils.js +76 -66
- package/dist/esm/src/primitives/utils.js.map +1 -1
- package/dist/esm/src/script/OP.js +3 -3
- package/dist/esm/src/script/OP.js.map +1 -1
- package/dist/esm/src/script/Script.js +12 -10
- package/dist/esm/src/script/Script.js.map +1 -1
- package/dist/esm/src/script/Spend.js +39 -32
- package/dist/esm/src/script/Spend.js.map +1 -1
- package/dist/esm/src/script/templates/P2PKH.js +26 -11
- package/dist/esm/src/script/templates/P2PKH.js.map +1 -1
- package/dist/esm/src/script/templates/PushDrop.js +29 -22
- package/dist/esm/src/script/templates/PushDrop.js.map +1 -1
- package/dist/esm/src/script/templates/RPuzzle.js +11 -6
- package/dist/esm/src/script/templates/RPuzzle.js.map +1 -1
- package/dist/esm/src/totp/totp.js +2 -1
- package/dist/esm/src/totp/totp.js.map +1 -1
- package/dist/esm/src/transaction/Beef.js +176 -154
- package/dist/esm/src/transaction/Beef.js.map +1 -1
- package/dist/esm/src/transaction/BeefParty.js +24 -24
- package/dist/esm/src/transaction/BeefParty.js.map +1 -1
- package/dist/esm/src/transaction/BeefTx.js +26 -18
- package/dist/esm/src/transaction/BeefTx.js.map +1 -1
- package/dist/esm/src/transaction/Broadcaster.js.map +1 -1
- package/dist/esm/src/transaction/MerklePath.js +61 -36
- package/dist/esm/src/transaction/MerklePath.js.map +1 -1
- package/dist/esm/src/transaction/Transaction.js +105 -138
- package/dist/esm/src/transaction/Transaction.js.map +1 -1
- package/dist/esm/src/transaction/broadcasters/ARC.js +25 -16
- package/dist/esm/src/transaction/broadcasters/ARC.js.map +1 -1
- package/dist/esm/src/transaction/broadcasters/DefaultBroadcaster.js.map +1 -1
- package/dist/esm/src/transaction/broadcasters/WhatsOnChainBroadcaster.js.map +1 -1
- package/dist/esm/src/transaction/chaintrackers/WhatsOnChain.js +3 -3
- package/dist/esm/src/transaction/chaintrackers/WhatsOnChain.js.map +1 -1
- package/dist/esm/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
- package/dist/esm/src/transaction/http/DefaultHttpClient.js +3 -2
- package/dist/esm/src/transaction/http/DefaultHttpClient.js.map +1 -1
- package/dist/esm/src/transaction/http/FetchHttpClient.js +4 -2
- package/dist/esm/src/transaction/http/FetchHttpClient.js.map +1 -1
- package/dist/esm/src/transaction/http/NodejsHttpClient.js +5 -3
- package/dist/esm/src/transaction/http/NodejsHttpClient.js.map +1 -1
- package/dist/esm/src/transaction/http/index.js.map +1 -1
- package/dist/esm/src/transaction/index.js.map +1 -1
- package/dist/esm/src/wallet/CachedKeyDeriver.js +91 -66
- package/dist/esm/src/wallet/CachedKeyDeriver.js.map +1 -1
- package/dist/esm/src/wallet/KeyDeriver.js +60 -52
- package/dist/esm/src/wallet/KeyDeriver.js.map +1 -1
- package/dist/esm/src/wallet/ProtoWallet.js +75 -29
- package/dist/esm/src/wallet/ProtoWallet.js.map +1 -1
- package/dist/esm/src/wallet/WalletClient.js +7 -2
- package/dist/esm/src/wallet/WalletClient.js.map +1 -1
- package/dist/esm/src/wallet/WalletError.js +2 -2
- package/dist/esm/src/wallet/WalletError.js.map +1 -1
- package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js +4 -4
- package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
- package/dist/esm/src/wallet/substrates/HTTPWalletWire.js +2 -2
- package/dist/esm/src/wallet/substrates/HTTPWalletWire.js.map +1 -1
- package/dist/esm/src/wallet/substrates/WalletWireProcessor.js +1239 -1261
- package/dist/esm/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
- package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js +95 -43
- package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
- package/dist/esm/src/wallet/substrates/XDM.js +8 -3
- package/dist/esm/src/wallet/substrates/XDM.js.map +1 -1
- package/dist/esm/src/wallet/substrates/window.CWI.js +28 -28
- package/dist/esm/src/wallet/substrates/window.CWI.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/types/mod.d.ts +15 -15
- package/dist/types/src/auth/Peer.d.ts +10 -10
- package/dist/types/src/auth/Peer.d.ts.map +1 -1
- package/dist/types/src/auth/SessionManager.d.ts +4 -4
- package/dist/types/src/auth/SessionManager.d.ts.map +1 -1
- package/dist/types/src/auth/certificates/Certificate.d.ts +6 -6
- package/dist/types/src/auth/certificates/Certificate.d.ts.map +1 -1
- package/dist/types/src/auth/certificates/MasterCertificate.d.ts +5 -5
- package/dist/types/src/auth/certificates/MasterCertificate.d.ts.map +1 -1
- package/dist/types/src/auth/certificates/VerifiableCertificate.d.ts.map +1 -1
- package/dist/types/src/auth/certificates/__tests/CompletedProtoWallet.d.ts +23 -22
- package/dist/types/src/auth/certificates/__tests/CompletedProtoWallet.d.ts.map +1 -1
- package/dist/types/src/auth/clients/AuthFetch.d.ts.map +1 -1
- package/dist/types/src/auth/transports/SimplifiedFetchTransport.d.ts +1 -1
- package/dist/types/src/auth/transports/SimplifiedFetchTransport.d.ts.map +1 -1
- package/dist/types/src/auth/utils/createNonce.d.ts.map +1 -1
- package/dist/types/src/auth/utils/getVerifiableCertificates.d.ts +3 -3
- package/dist/types/src/auth/utils/getVerifiableCertificates.d.ts.map +1 -1
- package/dist/types/src/auth/utils/validateCertificates.d.ts +2 -2
- package/dist/types/src/auth/utils/validateCertificates.d.ts.map +1 -1
- package/dist/types/src/auth/utils/verifyNonce.d.ts +1 -1
- package/dist/types/src/auth/utils/verifyNonce.d.ts.map +1 -1
- package/dist/types/src/compat/BSM.d.ts +1 -1
- package/dist/types/src/compat/BSM.d.ts.map +1 -1
- package/dist/types/src/compat/ECIES.d.ts +36 -36
- package/dist/types/src/compat/ECIES.d.ts.map +1 -1
- package/dist/types/src/compat/HD.d.ts +51 -51
- package/dist/types/src/compat/HD.d.ts.map +1 -1
- package/dist/types/src/compat/Mnemonic.d.ts +79 -79
- package/dist/types/src/compat/Mnemonic.d.ts.map +1 -1
- package/dist/types/src/compat/Utxo.d.ts.map +1 -1
- package/dist/types/src/messages/EncryptedMessage.d.ts.map +1 -1
- package/dist/types/src/messages/SignedMessage.d.ts.map +1 -1
- package/dist/types/src/overlay-tools/LookupResolver.d.ts +9 -9
- package/dist/types/src/overlay-tools/LookupResolver.d.ts.map +1 -1
- package/dist/types/src/overlay-tools/OverlayAdminTokenTemplate.d.ts +17 -17
- package/dist/types/src/overlay-tools/OverlayAdminTokenTemplate.d.ts.map +1 -1
- package/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts +14 -14
- package/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts.map +1 -1
- package/dist/types/src/primitives/AESGCM.d.ts.map +1 -1
- package/dist/types/src/primitives/BasePoint.d.ts +8 -8
- package/dist/types/src/primitives/BasePoint.d.ts.map +1 -1
- package/dist/types/src/primitives/BigNumber.d.ts.map +1 -1
- package/dist/types/src/primitives/Curve.d.ts +14 -7
- package/dist/types/src/primitives/Curve.d.ts.map +1 -1
- package/dist/types/src/primitives/DRBG.d.ts.map +1 -1
- package/dist/types/src/primitives/ECDSA.d.ts +1 -1
- package/dist/types/src/primitives/ECDSA.d.ts.map +1 -1
- package/dist/types/src/primitives/Hash.d.ts +11 -11
- package/dist/types/src/primitives/Hash.d.ts.map +1 -1
- package/dist/types/src/primitives/JacobianPoint.d.ts.map +1 -1
- package/dist/types/src/primitives/Point.d.ts +14 -10
- package/dist/types/src/primitives/Point.d.ts.map +1 -1
- package/dist/types/src/primitives/Polynomial.d.ts.map +1 -1
- package/dist/types/src/primitives/PrivateKey.d.ts +2 -2
- package/dist/types/src/primitives/PrivateKey.d.ts.map +1 -1
- package/dist/types/src/primitives/PublicKey.d.ts.map +1 -1
- package/dist/types/src/primitives/Random.d.ts.map +1 -1
- package/dist/types/src/primitives/Schnorr.d.ts +14 -14
- package/dist/types/src/primitives/Schnorr.d.ts.map +1 -1
- package/dist/types/src/primitives/Signature.d.ts +1 -1
- package/dist/types/src/primitives/Signature.d.ts.map +1 -1
- package/dist/types/src/primitives/SymmetricKey.d.ts +13 -13
- package/dist/types/src/primitives/SymmetricKey.d.ts.map +1 -1
- package/dist/types/src/primitives/TransactionSignature.d.ts +4 -4
- package/dist/types/src/primitives/TransactionSignature.d.ts.map +1 -1
- package/dist/types/src/primitives/utils.d.ts +3 -6
- package/dist/types/src/primitives/utils.d.ts.map +1 -1
- package/dist/types/src/script/Script.d.ts +3 -3
- package/dist/types/src/script/Script.d.ts.map +1 -1
- package/dist/types/src/script/ScriptTemplate.d.ts +2 -2
- package/dist/types/src/script/ScriptTemplate.d.ts.map +1 -1
- package/dist/types/src/script/Spend.d.ts.map +1 -1
- package/dist/types/src/script/templates/P2PKH.d.ts.map +1 -1
- package/dist/types/src/script/templates/PushDrop.d.ts +1 -2
- package/dist/types/src/script/templates/PushDrop.d.ts.map +1 -1
- package/dist/types/src/script/templates/RPuzzle.d.ts.map +1 -1
- package/dist/types/src/totp/totp.d.ts.map +1 -1
- package/dist/types/src/transaction/Beef.d.ts +96 -96
- package/dist/types/src/transaction/Beef.d.ts.map +1 -1
- package/dist/types/src/transaction/BeefParty.d.ts +22 -22
- package/dist/types/src/transaction/BeefParty.d.ts.map +1 -1
- package/dist/types/src/transaction/BeefTx.d.ts +5 -5
- package/dist/types/src/transaction/BeefTx.d.ts.map +1 -1
- package/dist/types/src/transaction/Broadcaster.d.ts.map +1 -1
- package/dist/types/src/transaction/ChainTracker.d.ts +2 -2
- package/dist/types/src/transaction/FeeModel.d.ts.map +1 -1
- package/dist/types/src/transaction/MerklePath.d.ts.map +1 -1
- package/dist/types/src/transaction/Transaction.d.ts +4 -12
- package/dist/types/src/transaction/Transaction.d.ts.map +1 -1
- package/dist/types/src/transaction/TransactionOutput.d.ts.map +1 -1
- package/dist/types/src/transaction/broadcasters/ARC.d.ts +1 -1
- package/dist/types/src/transaction/broadcasters/ARC.d.ts.map +1 -1
- package/dist/types/src/transaction/broadcasters/DefaultBroadcaster.d.ts.map +1 -1
- package/dist/types/src/transaction/broadcasters/WhatsOnChainBroadcaster.d.ts.map +1 -1
- package/dist/types/src/transaction/chaintrackers/DefaultChainTracker.d.ts.map +1 -1
- package/dist/types/src/transaction/chaintrackers/WhatsOnChain.d.ts.map +1 -1
- package/dist/types/src/transaction/fee-models/SatoshisPerKilobyte.d.ts.map +1 -1
- package/dist/types/src/transaction/http/DefaultHttpClient.d.ts +1 -1
- package/dist/types/src/transaction/http/DefaultHttpClient.d.ts.map +1 -1
- package/dist/types/src/transaction/http/FetchHttpClient.d.ts +5 -5
- package/dist/types/src/transaction/http/FetchHttpClient.d.ts.map +1 -1
- package/dist/types/src/transaction/http/HttpClient.d.ts +4 -4
- package/dist/types/src/transaction/http/HttpClient.d.ts.map +1 -1
- package/dist/types/src/transaction/http/NodejsHttpClient.d.ts +3 -3
- package/dist/types/src/transaction/http/NodejsHttpClient.d.ts.map +1 -1
- package/dist/types/src/transaction/http/index.d.ts.map +1 -1
- package/dist/types/src/transaction/index.d.ts.map +1 -1
- package/dist/types/src/wallet/CachedKeyDeriver.d.ts +58 -58
- package/dist/types/src/wallet/CachedKeyDeriver.d.ts.map +1 -1
- package/dist/types/src/wallet/KeyDeriver.d.ts +78 -78
- package/dist/types/src/wallet/KeyDeriver.d.ts.map +1 -1
- package/dist/types/src/wallet/ProtoWallet.d.ts +10 -10
- package/dist/types/src/wallet/ProtoWallet.d.ts.map +1 -1
- package/dist/types/src/wallet/Wallet.interfaces.d.ts +151 -152
- package/dist/types/src/wallet/Wallet.interfaces.d.ts.map +1 -1
- package/dist/types/src/wallet/WalletClient.d.ts +5 -5
- package/dist/types/src/wallet/WalletClient.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts +6 -6
- package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/HTTPWalletWire.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/WalletWireProcessor.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/WalletWireTransceiver.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/XDM.d.ts +1 -1
- package/dist/types/src/wallet/substrates/XDM.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/window.CWI.d.ts +6 -6
- package/dist/types/src/wallet/substrates/window.CWI.d.ts.map +1 -1
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/dist/umd/bundle.js +1 -1
- package/docs/auth.md +92 -82
- package/docs/compat.md +24 -24
- package/docs/messages.md +7 -5
- package/docs/overlay-tools.md +21 -21
- package/docs/primitives.md +336 -315
- package/docs/script.md +35 -35
- package/docs/swagger/dist/swagger-initializer.js +7 -7
- package/docs/swagger/dist/swagger-ui-bundle.js +1 -1
- package/docs/swagger/dist/swagger-ui-es-bundle-core.js +2 -2
- package/docs/swagger/dist/swagger-ui-es-bundle.js +1 -1
- package/docs/swagger/dist/swagger-ui-standalone-preset.js +1 -1
- package/docs/swagger/dist/swagger-ui.js +2 -2
- package/docs/totp.md +5 -5
- package/docs/transaction.md +103 -105
- package/docs/wallet-substrates.md +17 -17
- package/docs/wallet.md +202 -204
- package/mod.ts +15 -15
- package/package.json +15 -3
- package/src/auth/Peer.ts +271 -121
- package/src/auth/SessionManager.ts +17 -10
- package/src/auth/__tests/Peer.test.ts +361 -179
- package/src/auth/__tests/SessionManager.test.ts +67 -19
- package/src/auth/__tests/build.test.ts +11 -0
- package/src/auth/certificates/Certificate.ts +27 -14
- package/src/auth/certificates/MasterCertificate.ts +106 -62
- package/src/auth/certificates/VerifiableCertificate.ts +30 -8
- package/src/auth/certificates/__tests/Certificate.test.ts +32 -17
- package/src/auth/certificates/__tests/CompletedProtoWallet.ts +171 -68
- package/src/auth/certificates/__tests/MasterCertificate.test.ts +63 -47
- package/src/auth/certificates/__tests/VerifiableCertificate.test.ts +42 -31
- package/src/auth/certificates/index.ts +1 -1
- package/src/auth/clients/AuthFetch.ts +1 -0
- package/src/auth/clients/index.ts +1 -1
- package/src/auth/transports/SimplifiedFetchTransport.ts +145 -72
- package/src/auth/transports/index.ts +1 -1
- package/src/auth/utils/__tests/cryptononce.test.ts +52 -23
- package/src/auth/utils/__tests/getVerifiableCertificates.test.ts +56 -30
- package/src/auth/utils/__tests/validateCertificates.test.ts +53 -31
- package/src/auth/utils/createNonce.ts +11 -3
- package/src/auth/utils/getVerifiableCertificates.ts +12 -7
- package/src/auth/utils/validateCertificates.ts +57 -39
- package/src/auth/utils/verifyNonce.ts +6 -2
- package/src/compat/BSM.ts +10 -2
- package/src/compat/ECIES.ts +265 -141
- package/src/compat/HD.ts +81 -63
- package/src/compat/Mnemonic.ts +104 -91
- package/src/compat/Utxo.ts +8 -5
- package/src/compat/__tests/BSM.test.ts +42 -16
- package/src/compat/__tests/ECIES.test.ts +117 -52
- package/src/compat/__tests/HD.test.ts +55 -42
- package/src/compat/__tests/Mnemonic.test.ts +11 -12
- package/src/compat/__tests/Mnemonic.vectors.ts +110 -55
- package/src/messages/EncryptedMessage.ts +6 -2
- package/src/messages/SignedMessage.ts +14 -8
- package/src/messages/__tests/EncryptedMessage.test.ts +23 -24
- package/src/messages/__tests/SignedMessage.test.ts +17 -11
- package/src/overlay-tools/LookupResolver.ts +108 -56
- package/src/overlay-tools/OverlayAdminTokenTemplate.ts +52 -23
- package/src/overlay-tools/SHIPBroadcaster.ts +135 -59
- package/src/overlay-tools/__tests/LookupResolver.test.ts +723 -323
- package/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.ts +50 -22
- package/src/overlay-tools/__tests/SHIPBroadcaster.test.ts +607 -290
- package/src/primitives/AESGCM.ts +2 -0
- package/src/primitives/BasePoint.ts +4 -4
- package/src/primitives/BigNumber.ts +99 -90
- package/src/primitives/Curve.ts +117 -46
- package/src/primitives/DRBG.ts +9 -11
- package/src/primitives/ECDSA.ts +109 -63
- package/src/primitives/Hash.ts +492 -321
- package/src/primitives/JacobianPoint.ts +67 -19
- package/src/primitives/Point.ts +254 -152
- package/src/primitives/Polynomial.ts +8 -3
- package/src/primitives/PrivateKey.ts +41 -17
- package/src/primitives/PublicKey.ts +13 -3
- package/src/primitives/Random.ts +14 -8
- package/src/primitives/ReductionContext.ts +1 -1
- package/src/primitives/Schnorr.ts +40 -18
- package/src/primitives/Signature.ts +26 -16
- package/src/primitives/SymmetricKey.ts +14 -14
- package/src/primitives/TransactionSignature.ts +41 -17
- package/src/primitives/__tests/AESGCM.test.ts +457 -151
- package/src/primitives/__tests/BRC42.private.vectors.ts +30 -15
- package/src/primitives/__tests/BRC42.public.vectors.ts +30 -15
- package/src/primitives/__tests/BigNumber.arithmatic.test.ts +344 -125
- package/src/primitives/__tests/BigNumber.binary.test.ts +148 -67
- package/src/primitives/__tests/BigNumber.constructor.test.ts +65 -25
- package/src/primitives/__tests/BigNumber.dhGroup.test.ts +15 -11
- package/src/primitives/__tests/BigNumber.fixtures.ts +16 -8
- package/src/primitives/__tests/BigNumber.serializers.test.ts +41 -15
- package/src/primitives/__tests/BigNumber.utils.test.ts +132 -42
- package/src/primitives/__tests/Curve.unit.test.ts +75 -53
- package/src/primitives/__tests/DRBG.test.ts +1 -1
- package/src/primitives/__tests/DRBG.vectors.ts +45 -75
- package/src/primitives/__tests/ECDH.test.ts +15 -8
- package/src/primitives/__tests/ECDSA.test.ts +12 -6
- package/src/primitives/__tests/HMAC.test.ts +24 -18
- package/src/primitives/__tests/Hash.test.ts +57 -46
- package/src/primitives/__tests/PBKDF2.vectors.ts +130 -117
- package/src/primitives/__tests/PrivateKey.split.test.ts +33 -11
- package/src/primitives/__tests/PrivateKey.test.ts +11 -10
- package/src/primitives/__tests/PublicKey.test.ts +64 -53
- package/src/primitives/__tests/Random.test.ts +1 -1
- package/src/primitives/__tests/Reader.test.ts +240 -219
- package/src/primitives/__tests/ReductionContext.test.ts +98 -61
- package/src/primitives/__tests/Schnorr.test.ts +249 -237
- package/src/primitives/__tests/SymmetricKey.test.ts +18 -15
- package/src/primitives/__tests/SymmetricKey.vectors.ts +16 -8
- package/src/primitives/__tests/Writer.test.ts +23 -13
- package/src/primitives/__tests/bug-31.test.ts +6 -10
- package/src/primitives/__tests/utils.test.ts +70 -19
- package/src/primitives/utils.ts +103 -79
- package/src/script/Script.ts +18 -12
- package/src/script/ScriptTemplate.ts +3 -5
- package/src/script/Spend.ts +306 -108
- package/src/script/__tests/Script.test.ts +73 -55
- package/src/script/__tests/Spend.test.ts +208 -83
- package/src/script/__tests/SpendComplex.test.ts +19 -13
- package/src/script/__tests/script.invalid.vectors.ts +428 -1796
- package/src/script/__tests/script.valid.vectors.ts +728 -2764
- package/src/script/templates/P2PKH.ts +34 -12
- package/src/script/templates/PushDrop.ts +65 -31
- package/src/script/templates/RPuzzle.ts +29 -8
- package/src/script/templates/__tests/PushDrop.test.ts +146 -41
- package/src/totp/__tests/totp.test.ts +45 -44
- package/src/totp/totp.ts +3 -2
- package/src/transaction/Beef.ts +269 -174
- package/src/transaction/BeefParty.ts +41 -31
- package/src/transaction/BeefTx.ts +36 -26
- package/src/transaction/Broadcaster.ts +10 -6
- package/src/transaction/ChainTracker.ts +2 -2
- package/src/transaction/FeeModel.ts +0 -1
- package/src/transaction/MerklePath.ts +124 -59
- package/src/transaction/Transaction.ts +188 -187
- package/src/transaction/TransactionOutput.ts +0 -1
- package/src/transaction/__tests/Beef.test.ts +390 -287
- package/src/transaction/__tests/MerklePath.test.ts +59 -26
- package/src/transaction/__tests/Transaction.benchmarks.test.ts +231 -201
- package/src/transaction/__tests/Transaction.test.ts +758 -482
- package/src/transaction/__tests/bigtx.vectors.ts +2 -1
- package/src/transaction/__tests/bump.invalid.vectors.ts +24 -6
- package/src/transaction/__tests/bump.valid.vectors.ts +6 -2
- package/src/transaction/__tests/tx.invalid.vectors.ts +881 -185
- package/src/transaction/__tests/tx.valid.vectors.ts +1210 -257
- package/src/transaction/broadcasters/ARC.ts +69 -38
- package/src/transaction/broadcasters/DefaultBroadcaster.ts +9 -3
- package/src/transaction/broadcasters/WhatsOnChainBroadcaster.ts +20 -7
- package/src/transaction/broadcasters/__tests/ARC.test.ts +127 -59
- package/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.ts +27 -18
- package/src/transaction/chaintrackers/DefaultChainTracker.ts +1 -1
- package/src/transaction/chaintrackers/WhatsOnChain.ts +27 -11
- package/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.ts +59 -23
- package/src/transaction/fee-models/SatoshisPerKilobyte.ts +9 -5
- package/src/transaction/http/DefaultHttpClient.ts +5 -4
- package/src/transaction/http/FetchHttpClient.ts +18 -9
- package/src/transaction/http/HttpClient.ts +27 -22
- package/src/transaction/http/NodejsHttpClient.ts +23 -9
- package/src/transaction/http/index.ts +5 -1
- package/src/transaction/index.ts +5 -1
- package/src/wallet/CachedKeyDeriver.ts +151 -82
- package/src/wallet/KeyDeriver.ts +186 -105
- package/src/wallet/ProtoWallet.ts +121 -52
- package/src/wallet/Wallet.interfaces.ts +167 -156
- package/src/wallet/WalletClient.ts +314 -59
- package/src/wallet/WalletError.ts +2 -2
- package/src/wallet/__tests/CachedKeyDeriver.test.ts +86 -27
- package/src/wallet/__tests/KeyDeriver.test.ts +136 -33
- package/src/wallet/__tests/ProtoWallet.test.ts +190 -102
- package/src/wallet/substrates/HTTPWalletJSON.ts +250 -67
- package/src/wallet/substrates/HTTPWalletWire.ts +7 -3
- package/src/wallet/substrates/WalletWireCalls.ts +2 -2
- package/src/wallet/substrates/WalletWireProcessor.ts +1412 -1277
- package/src/wallet/substrates/WalletWireTransceiver.ts +713 -138
- package/src/wallet/substrates/XDM.ts +425 -36
- package/src/wallet/substrates/__tests/WalletWire.integration.test.ts +488 -225
- package/src/wallet/substrates/__tests/XDM.test.ts +232 -234
- package/src/wallet/substrates/window.CWI.ts +520 -61
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { SecurityLevels } from '../Wallet.interfaces.js';
|
|
1
2
|
import { Certificate } from '../../auth/index.js';
|
|
2
3
|
import { Utils } from '../../primitives/index.js';
|
|
3
4
|
import calls from './WalletWireCalls.js';
|
|
@@ -48,7 +49,7 @@ export default class WalletWireTransceiver {
|
|
|
48
49
|
paramWriter.writeVarIntNum(descriptionBytes.length);
|
|
49
50
|
paramWriter.write(descriptionBytes);
|
|
50
51
|
// input BEEF
|
|
51
|
-
if (args.inputBEEF) {
|
|
52
|
+
if (args.inputBEEF != null) {
|
|
52
53
|
paramWriter.writeVarIntNum(args.inputBEEF.length);
|
|
53
54
|
paramWriter.write(args.inputBEEF);
|
|
54
55
|
}
|
|
@@ -56,20 +57,20 @@ export default class WalletWireTransceiver {
|
|
|
56
57
|
paramWriter.writeVarIntNum(-1);
|
|
57
58
|
}
|
|
58
59
|
// Serialize inputs
|
|
59
|
-
if (args.inputs) {
|
|
60
|
+
if (args.inputs != null) {
|
|
60
61
|
paramWriter.writeVarIntNum(args.inputs.length);
|
|
61
62
|
for (const input of args.inputs) {
|
|
62
63
|
// outpoint
|
|
63
64
|
paramWriter.write(this.encodeOutpoint(input.outpoint));
|
|
64
65
|
// unlockingScript / unlockingScriptLength
|
|
65
|
-
if (input.unlockingScript) {
|
|
66
|
+
if (input.unlockingScript != null && input.unlockingScript !== '') {
|
|
66
67
|
const unlockingScriptBytes = Utils.toArray(input.unlockingScript, 'hex');
|
|
67
68
|
paramWriter.writeVarIntNum(unlockingScriptBytes.length);
|
|
68
69
|
paramWriter.write(unlockingScriptBytes);
|
|
69
70
|
}
|
|
70
71
|
else {
|
|
71
72
|
paramWriter.writeVarIntNum(-1);
|
|
72
|
-
paramWriter.writeVarIntNum(input.unlockingScriptLength);
|
|
73
|
+
paramWriter.writeVarIntNum(input.unlockingScriptLength ?? 0);
|
|
73
74
|
}
|
|
74
75
|
// inputDescription
|
|
75
76
|
const inputDescriptionBytes = Utils.toArray(input.inputDescription, 'utf8');
|
|
@@ -88,7 +89,7 @@ export default class WalletWireTransceiver {
|
|
|
88
89
|
paramWriter.writeVarIntNum(-1);
|
|
89
90
|
}
|
|
90
91
|
// Serialize outputs
|
|
91
|
-
if (args.outputs) {
|
|
92
|
+
if (args.outputs != null) {
|
|
92
93
|
paramWriter.writeVarIntNum(args.outputs.length);
|
|
93
94
|
for (const output of args.outputs) {
|
|
94
95
|
// lockingScript
|
|
@@ -102,7 +103,7 @@ export default class WalletWireTransceiver {
|
|
|
102
103
|
paramWriter.writeVarIntNum(outputDescriptionBytes.length);
|
|
103
104
|
paramWriter.write(outputDescriptionBytes);
|
|
104
105
|
// basket
|
|
105
|
-
if (output.basket) {
|
|
106
|
+
if (output.basket != null && output.basket !== '') {
|
|
106
107
|
const basketBytes = Utils.toArray(output.basket, 'utf8');
|
|
107
108
|
paramWriter.writeVarIntNum(basketBytes.length);
|
|
108
109
|
paramWriter.write(basketBytes);
|
|
@@ -111,7 +112,7 @@ export default class WalletWireTransceiver {
|
|
|
111
112
|
paramWriter.writeVarIntNum(-1);
|
|
112
113
|
}
|
|
113
114
|
// customInstructions
|
|
114
|
-
if (output.customInstructions) {
|
|
115
|
+
if (output.customInstructions != null && output.customInstructions !== '') {
|
|
115
116
|
const customInstructionsBytes = Utils.toArray(output.customInstructions, 'utf8');
|
|
116
117
|
paramWriter.writeVarIntNum(customInstructionsBytes.length);
|
|
117
118
|
paramWriter.write(customInstructionsBytes);
|
|
@@ -120,7 +121,7 @@ export default class WalletWireTransceiver {
|
|
|
120
121
|
paramWriter.writeVarIntNum(-1);
|
|
121
122
|
}
|
|
122
123
|
// tags
|
|
123
|
-
if (output.tags) {
|
|
124
|
+
if (output.tags != null) {
|
|
124
125
|
paramWriter.writeVarIntNum(output.tags.length);
|
|
125
126
|
for (const tag of output.tags) {
|
|
126
127
|
const tagBytes = Utils.toArray(tag, 'utf8');
|
|
@@ -151,7 +152,7 @@ export default class WalletWireTransceiver {
|
|
|
151
152
|
paramWriter.writeVarIntNum(-1);
|
|
152
153
|
}
|
|
153
154
|
// Serialize labels
|
|
154
|
-
if (args.labels) {
|
|
155
|
+
if (args.labels != null) {
|
|
155
156
|
paramWriter.writeVarIntNum(args.labels.length);
|
|
156
157
|
for (const label of args.labels) {
|
|
157
158
|
const labelBytes = Utils.toArray(label, 'utf8');
|
|
@@ -163,7 +164,7 @@ export default class WalletWireTransceiver {
|
|
|
163
164
|
paramWriter.writeVarIntNum(-1);
|
|
164
165
|
}
|
|
165
166
|
// Serialize options
|
|
166
|
-
if (args.options) {
|
|
167
|
+
if (args.options != null) {
|
|
167
168
|
paramWriter.writeInt8(1); // options present
|
|
168
169
|
// signAndProcess
|
|
169
170
|
if (typeof args.options.signAndProcess === 'boolean') {
|
|
@@ -187,7 +188,7 @@ export default class WalletWireTransceiver {
|
|
|
187
188
|
paramWriter.writeInt8(-1);
|
|
188
189
|
}
|
|
189
190
|
// knownTxids
|
|
190
|
-
if (args.options.knownTxids) {
|
|
191
|
+
if (args.options.knownTxids != null) {
|
|
191
192
|
paramWriter.writeVarIntNum(args.options.knownTxids.length);
|
|
192
193
|
for (const txid of args.options.knownTxids) {
|
|
193
194
|
const txidBytes = Utils.toArray(txid, 'hex');
|
|
@@ -212,7 +213,7 @@ export default class WalletWireTransceiver {
|
|
|
212
213
|
paramWriter.writeInt8(-1);
|
|
213
214
|
}
|
|
214
215
|
// noSendChange
|
|
215
|
-
if (args.options.noSendChange) {
|
|
216
|
+
if (args.options.noSendChange != null) {
|
|
216
217
|
paramWriter.writeVarIntNum(args.options.noSendChange.length);
|
|
217
218
|
for (const outpoint of args.options.noSendChange) {
|
|
218
219
|
paramWriter.write(this.encodeOutpoint(outpoint));
|
|
@@ -222,7 +223,7 @@ export default class WalletWireTransceiver {
|
|
|
222
223
|
paramWriter.writeVarIntNum(-1);
|
|
223
224
|
}
|
|
224
225
|
// sendWith
|
|
225
|
-
if (args.options.sendWith) {
|
|
226
|
+
if (args.options.sendWith != null) {
|
|
226
227
|
paramWriter.writeVarIntNum(args.options.sendWith.length);
|
|
227
228
|
for (const txid of args.options.sendWith) {
|
|
228
229
|
const txidBytes = Utils.toArray(txid, 'hex');
|
|
@@ -276,7 +277,7 @@ export default class WalletWireTransceiver {
|
|
|
276
277
|
const txidBytes = resultReader.read(32);
|
|
277
278
|
const txid = Utils.toHex(txidBytes);
|
|
278
279
|
const statusCode = resultReader.readInt8();
|
|
279
|
-
let status;
|
|
280
|
+
let status = 'unproven';
|
|
280
281
|
if (statusCode === 1)
|
|
281
282
|
status = 'unproven';
|
|
282
283
|
else if (statusCode === 2)
|
|
@@ -325,7 +326,7 @@ export default class WalletWireTransceiver {
|
|
|
325
326
|
paramWriter.writeVarIntNum(referenceBytes.length);
|
|
326
327
|
paramWriter.write(referenceBytes);
|
|
327
328
|
// Serialize options
|
|
328
|
-
if (args.options) {
|
|
329
|
+
if (args.options != null) {
|
|
329
330
|
paramWriter.writeInt8(1); // options present
|
|
330
331
|
// acceptDelayedBroadcast
|
|
331
332
|
if (typeof args.options.acceptDelayedBroadcast === 'boolean') {
|
|
@@ -349,7 +350,7 @@ export default class WalletWireTransceiver {
|
|
|
349
350
|
paramWriter.writeInt8(-1);
|
|
350
351
|
}
|
|
351
352
|
// sendWith
|
|
352
|
-
if (args.options.sendWith) {
|
|
353
|
+
if (args.options.sendWith != null) {
|
|
353
354
|
paramWriter.writeVarIntNum(args.options.sendWith.length);
|
|
354
355
|
for (const txid of args.options.sendWith) {
|
|
355
356
|
const txidBytes = Utils.toArray(txid, 'hex');
|
|
@@ -387,7 +388,7 @@ export default class WalletWireTransceiver {
|
|
|
387
388
|
const txidBytes = resultReader.read(32);
|
|
388
389
|
const txid = Utils.toHex(txidBytes);
|
|
389
390
|
const statusCode = resultReader.readInt8();
|
|
390
|
-
let status;
|
|
391
|
+
let status = 'unproven';
|
|
391
392
|
if (statusCode === 1)
|
|
392
393
|
status = 'unproven';
|
|
393
394
|
else if (statusCode === 2)
|
|
@@ -453,7 +454,11 @@ export default class WalletWireTransceiver {
|
|
|
453
454
|
paramWriter.writeVarIntNum(-1);
|
|
454
455
|
}
|
|
455
456
|
// Serialize seekPermission
|
|
456
|
-
paramWriter.writeInt8(typeof args.seekPermission === 'boolean'
|
|
457
|
+
paramWriter.writeInt8(typeof args.seekPermission === 'boolean'
|
|
458
|
+
? args.seekPermission
|
|
459
|
+
? 1
|
|
460
|
+
: 0
|
|
461
|
+
: -1);
|
|
457
462
|
// Transmit and parse response
|
|
458
463
|
const result = await this.transmit('listActions', originator, paramWriter.toArray());
|
|
459
464
|
const resultReader = new Utils.Reader(result);
|
|
@@ -624,6 +629,9 @@ export default class WalletWireTransceiver {
|
|
|
624
629
|
for (const out of args.outputs) {
|
|
625
630
|
paramWriter.writeVarIntNum(out.outputIndex);
|
|
626
631
|
if (out.protocol === 'wallet payment') {
|
|
632
|
+
if (out.paymentRemittance == null) {
|
|
633
|
+
throw new Error('Payment remittance is required for wallet payment');
|
|
634
|
+
}
|
|
627
635
|
paramWriter.writeUInt8(1);
|
|
628
636
|
paramWriter.write(Utils.toArray(out.paymentRemittance.senderIdentityKey, 'hex'));
|
|
629
637
|
const derivationPrefixAsArray = Utils.toArray(out.paymentRemittance.derivationPrefix, 'base64');
|
|
@@ -635,10 +643,10 @@ export default class WalletWireTransceiver {
|
|
|
635
643
|
}
|
|
636
644
|
else {
|
|
637
645
|
paramWriter.writeUInt8(2);
|
|
638
|
-
const basketAsArray = Utils.toArray(out.insertionRemittance
|
|
646
|
+
const basketAsArray = Utils.toArray(out.insertionRemittance?.basket, 'utf8');
|
|
639
647
|
paramWriter.writeVarIntNum(basketAsArray.length);
|
|
640
648
|
paramWriter.write(basketAsArray);
|
|
641
|
-
if (typeof out.insertionRemittance.customInstructions) {
|
|
649
|
+
if (typeof out.insertionRemittance?.customInstructions === 'string' && out.insertionRemittance.customInstructions !== '') {
|
|
642
650
|
const customInstructionsAsArray = Utils.toArray(out.insertionRemittance.customInstructions, 'utf8');
|
|
643
651
|
paramWriter.writeVarIntNum(customInstructionsAsArray.length);
|
|
644
652
|
paramWriter.write(customInstructionsAsArray);
|
|
@@ -646,7 +654,7 @@ export default class WalletWireTransceiver {
|
|
|
646
654
|
else {
|
|
647
655
|
paramWriter.writeVarIntNum(-1);
|
|
648
656
|
}
|
|
649
|
-
if (typeof out.insertionRemittance
|
|
657
|
+
if (typeof out.insertionRemittance?.tags === 'object') {
|
|
650
658
|
paramWriter.writeVarIntNum(out.insertionRemittance.tags.length);
|
|
651
659
|
for (const tag of out.insertionRemittance.tags) {
|
|
652
660
|
const tagAsArray = Utils.toArray(tag, 'utf8');
|
|
@@ -674,7 +682,11 @@ export default class WalletWireTransceiver {
|
|
|
674
682
|
paramWriter.writeVarIntNum(descriptionAsArray.length);
|
|
675
683
|
paramWriter.write(descriptionAsArray);
|
|
676
684
|
// Serialize seekPermission
|
|
677
|
-
paramWriter.writeInt8(typeof args.seekPermission === 'boolean'
|
|
685
|
+
paramWriter.writeInt8(typeof args.seekPermission === 'boolean'
|
|
686
|
+
? args.seekPermission
|
|
687
|
+
? 1
|
|
688
|
+
: 0
|
|
689
|
+
: -1);
|
|
678
690
|
await this.transmit('internalizeAction', originator, paramWriter.toArray());
|
|
679
691
|
return { accepted: true };
|
|
680
692
|
}
|
|
@@ -743,12 +755,16 @@ export default class WalletWireTransceiver {
|
|
|
743
755
|
paramWriter.writeVarIntNum(-1);
|
|
744
756
|
}
|
|
745
757
|
// Serialize seekPermission
|
|
746
|
-
paramWriter.writeInt8(typeof args.seekPermission === 'boolean'
|
|
758
|
+
paramWriter.writeInt8(typeof args.seekPermission === 'boolean'
|
|
759
|
+
? args.seekPermission
|
|
760
|
+
? 1
|
|
761
|
+
: 0
|
|
762
|
+
: -1);
|
|
747
763
|
const result = await this.transmit('listOutputs', originator, paramWriter.toArray());
|
|
748
764
|
const resultReader = new Utils.Reader(result);
|
|
749
765
|
const totalOutputs = resultReader.readVarIntNum();
|
|
750
766
|
const beefLength = resultReader.readVarIntNum();
|
|
751
|
-
let BEEF
|
|
767
|
+
let BEEF;
|
|
752
768
|
if (beefLength >= 0) {
|
|
753
769
|
BEEF = resultReader.read(beefLength);
|
|
754
770
|
}
|
|
@@ -820,7 +836,7 @@ export default class WalletWireTransceiver {
|
|
|
820
836
|
const paramWriter = new Utils.Writer();
|
|
821
837
|
paramWriter.writeUInt8(args.identityKey ? 1 : 0);
|
|
822
838
|
if (!args.identityKey) {
|
|
823
|
-
paramWriter.write(this.encodeKeyRelatedParams(args.protocolID, args.keyID, args.counterparty, args.privileged, args.privilegedReason));
|
|
839
|
+
paramWriter.write(this.encodeKeyRelatedParams(args.protocolID ??= [SecurityLevels.Silent, 'default'], args.keyID ??= '', args.counterparty, args.privileged, args.privilegedReason));
|
|
824
840
|
if (typeof args.forSelf === 'boolean') {
|
|
825
841
|
paramWriter.writeInt8(args.forSelf ? 1 : 0);
|
|
826
842
|
}
|
|
@@ -832,7 +848,11 @@ export default class WalletWireTransceiver {
|
|
|
832
848
|
paramWriter.write(this.encodePrivilegedParams(args.privileged, args.privilegedReason));
|
|
833
849
|
}
|
|
834
850
|
// Serialize seekPermission
|
|
835
|
-
paramWriter.writeInt8(typeof args.seekPermission === 'boolean'
|
|
851
|
+
paramWriter.writeInt8(typeof args.seekPermission === 'boolean'
|
|
852
|
+
? args.seekPermission
|
|
853
|
+
? 1
|
|
854
|
+
: 0
|
|
855
|
+
: -1);
|
|
836
856
|
const result = await this.transmit('getPublicKey', originator, paramWriter.toArray());
|
|
837
857
|
return {
|
|
838
858
|
publicKey: Utils.toHex(result)
|
|
@@ -899,7 +919,11 @@ export default class WalletWireTransceiver {
|
|
|
899
919
|
paramWriter.writeVarIntNum(args.plaintext.length);
|
|
900
920
|
paramWriter.write(args.plaintext);
|
|
901
921
|
// Serialize seekPermission
|
|
902
|
-
paramWriter.writeInt8(typeof args.seekPermission === 'boolean'
|
|
922
|
+
paramWriter.writeInt8(typeof args.seekPermission === 'boolean'
|
|
923
|
+
? args.seekPermission
|
|
924
|
+
? 1
|
|
925
|
+
: 0
|
|
926
|
+
: -1);
|
|
903
927
|
return {
|
|
904
928
|
ciphertext: await this.transmit('encrypt', originator, paramWriter.toArray())
|
|
905
929
|
};
|
|
@@ -910,7 +934,11 @@ export default class WalletWireTransceiver {
|
|
|
910
934
|
paramWriter.writeVarIntNum(args.ciphertext.length);
|
|
911
935
|
paramWriter.write(args.ciphertext);
|
|
912
936
|
// Serialize seekPermission
|
|
913
|
-
paramWriter.writeInt8(typeof args.seekPermission === 'boolean'
|
|
937
|
+
paramWriter.writeInt8(typeof args.seekPermission === 'boolean'
|
|
938
|
+
? args.seekPermission
|
|
939
|
+
? 1
|
|
940
|
+
: 0
|
|
941
|
+
: -1);
|
|
914
942
|
return {
|
|
915
943
|
plaintext: await this.transmit('decrypt', originator, paramWriter.toArray())
|
|
916
944
|
};
|
|
@@ -921,7 +949,11 @@ export default class WalletWireTransceiver {
|
|
|
921
949
|
paramWriter.writeVarIntNum(args.data.length);
|
|
922
950
|
paramWriter.write(args.data);
|
|
923
951
|
// Serialize seekPermission
|
|
924
|
-
paramWriter.writeInt8(typeof args.seekPermission === 'boolean'
|
|
952
|
+
paramWriter.writeInt8(typeof args.seekPermission === 'boolean'
|
|
953
|
+
? args.seekPermission
|
|
954
|
+
? 1
|
|
955
|
+
: 0
|
|
956
|
+
: -1);
|
|
925
957
|
return {
|
|
926
958
|
hmac: await this.transmit('createHmac', originator, paramWriter.toArray())
|
|
927
959
|
};
|
|
@@ -933,7 +965,11 @@ export default class WalletWireTransceiver {
|
|
|
933
965
|
paramWriter.writeVarIntNum(args.data.length);
|
|
934
966
|
paramWriter.write(args.data);
|
|
935
967
|
// Serialize seekPermission
|
|
936
|
-
paramWriter.writeInt8(typeof args.seekPermission === 'boolean'
|
|
968
|
+
paramWriter.writeInt8(typeof args.seekPermission === 'boolean'
|
|
969
|
+
? args.seekPermission
|
|
970
|
+
? 1
|
|
971
|
+
: 0
|
|
972
|
+
: -1);
|
|
937
973
|
await this.transmit('verifyHmac', originator, paramWriter.toArray());
|
|
938
974
|
return { valid: true };
|
|
939
975
|
}
|
|
@@ -947,10 +983,14 @@ export default class WalletWireTransceiver {
|
|
|
947
983
|
}
|
|
948
984
|
else {
|
|
949
985
|
paramWriter.writeUInt8(2);
|
|
950
|
-
paramWriter.write(args.hashToDirectlySign);
|
|
986
|
+
paramWriter.write(args.hashToDirectlySign ??= []);
|
|
951
987
|
}
|
|
952
988
|
// Serialize seekPermission
|
|
953
|
-
paramWriter.writeInt8(typeof args.seekPermission === 'boolean'
|
|
989
|
+
paramWriter.writeInt8(typeof args.seekPermission === 'boolean'
|
|
990
|
+
? args.seekPermission
|
|
991
|
+
? 1
|
|
992
|
+
: 0
|
|
993
|
+
: -1);
|
|
954
994
|
return {
|
|
955
995
|
signature: await this.transmit('createSignature', originator, paramWriter.toArray())
|
|
956
996
|
};
|
|
@@ -973,10 +1013,14 @@ export default class WalletWireTransceiver {
|
|
|
973
1013
|
}
|
|
974
1014
|
else {
|
|
975
1015
|
paramWriter.writeUInt8(2);
|
|
976
|
-
paramWriter.write(args.hashToDirectlyVerify);
|
|
1016
|
+
paramWriter.write(args.hashToDirectlyVerify ?? []);
|
|
977
1017
|
}
|
|
978
1018
|
// Serialize seekPermission
|
|
979
|
-
paramWriter.writeInt8(typeof args.seekPermission === 'boolean'
|
|
1019
|
+
paramWriter.writeInt8(typeof args.seekPermission === 'boolean'
|
|
1020
|
+
? args.seekPermission
|
|
1021
|
+
? 1
|
|
1022
|
+
: 0
|
|
1023
|
+
: -1);
|
|
980
1024
|
await this.transmit('verifySignature', originator, paramWriter.toArray());
|
|
981
1025
|
return { valid: true };
|
|
982
1026
|
}
|
|
@@ -1022,7 +1066,7 @@ export default class WalletWireTransceiver {
|
|
|
1022
1066
|
paramWriter.writeUInt8(args.acquisitionProtocol === 'direct' ? 1 : 2);
|
|
1023
1067
|
if (args.acquisitionProtocol === 'direct') {
|
|
1024
1068
|
paramWriter.write(Utils.toArray(args.serialNumber, 'base64'));
|
|
1025
|
-
paramWriter.write(this.encodeOutpoint(args.revocationOutpoint));
|
|
1069
|
+
paramWriter.write(this.encodeOutpoint(args.revocationOutpoint ?? ''));
|
|
1026
1070
|
const signatureAsArray = Utils.toArray(args.signature, 'hex');
|
|
1027
1071
|
paramWriter.writeVarIntNum(signatureAsArray.length);
|
|
1028
1072
|
paramWriter.write(signatureAsArray);
|
|
@@ -1030,13 +1074,13 @@ export default class WalletWireTransceiver {
|
|
|
1030
1074
|
? Utils.toArray(args.keyringRevealer, 'hex')
|
|
1031
1075
|
: [11];
|
|
1032
1076
|
paramWriter.write(keyringRevealerAsArray);
|
|
1033
|
-
const keyringKeys = Object.keys(args.keyringForSubject);
|
|
1077
|
+
const keyringKeys = Object.keys(args.keyringForSubject ?? {});
|
|
1034
1078
|
paramWriter.writeVarIntNum(keyringKeys.length);
|
|
1035
1079
|
for (let i = 0; i < keyringKeys.length; i++) {
|
|
1036
1080
|
const keyringKeysAsArray = Utils.toArray(keyringKeys[i], 'utf8');
|
|
1037
1081
|
paramWriter.writeVarIntNum(keyringKeysAsArray.length);
|
|
1038
1082
|
paramWriter.write(keyringKeysAsArray);
|
|
1039
|
-
const keyringForSubjectAsArray = Utils.toArray(args.keyringForSubject[keyringKeys[i]], 'base64');
|
|
1083
|
+
const keyringForSubjectAsArray = Utils.toArray(args.keyringForSubject?.[keyringKeys[i]], 'base64');
|
|
1040
1084
|
paramWriter.writeVarIntNum(keyringForSubjectAsArray.length);
|
|
1041
1085
|
paramWriter.write(keyringForSubjectAsArray);
|
|
1042
1086
|
}
|
|
@@ -1122,12 +1166,12 @@ export default class WalletWireTransceiver {
|
|
|
1122
1166
|
paramWriter.write(serialNumberAsArray);
|
|
1123
1167
|
const certifierAsArray = Utils.toArray(args.certificate.certifier, 'hex');
|
|
1124
1168
|
paramWriter.write(certifierAsArray);
|
|
1125
|
-
const revocationOutpointAsArray = this.encodeOutpoint(args.certificate.revocationOutpoint);
|
|
1169
|
+
const revocationOutpointAsArray = this.encodeOutpoint(args.certificate.revocationOutpoint ?? '');
|
|
1126
1170
|
paramWriter.write(revocationOutpointAsArray);
|
|
1127
1171
|
const signatureAsArray = Utils.toArray(args.certificate.signature, 'hex');
|
|
1128
1172
|
paramWriter.writeVarIntNum(signatureAsArray.length);
|
|
1129
1173
|
paramWriter.write(signatureAsArray);
|
|
1130
|
-
const fieldEntries = Object.entries(args.certificate.fields);
|
|
1174
|
+
const fieldEntries = Object.entries(args.certificate.fields ?? {});
|
|
1131
1175
|
paramWriter.writeVarIntNum(fieldEntries.length);
|
|
1132
1176
|
for (const [key, value] of fieldEntries) {
|
|
1133
1177
|
const keyAsArray = Utils.toArray(key, 'utf8');
|
|
@@ -1230,7 +1274,11 @@ export default class WalletWireTransceiver {
|
|
|
1230
1274
|
paramWriter.writeVarIntNum(-1);
|
|
1231
1275
|
}
|
|
1232
1276
|
// Serialize seekPermission
|
|
1233
|
-
paramWriter.writeInt8(typeof args.seekPermission === 'boolean'
|
|
1277
|
+
paramWriter.writeInt8(typeof args.seekPermission === 'boolean'
|
|
1278
|
+
? args.seekPermission
|
|
1279
|
+
? 1
|
|
1280
|
+
: 0
|
|
1281
|
+
: -1);
|
|
1234
1282
|
const result = await this.transmit('discoverByIdentityKey', originator, paramWriter.toArray());
|
|
1235
1283
|
return this.parseDiscoveryResult(result);
|
|
1236
1284
|
}
|
|
@@ -1257,14 +1305,18 @@ export default class WalletWireTransceiver {
|
|
|
1257
1305
|
paramWriter.writeVarIntNum(-1);
|
|
1258
1306
|
}
|
|
1259
1307
|
// Serialize seekPermission
|
|
1260
|
-
paramWriter.writeInt8(typeof args.seekPermission === 'boolean'
|
|
1308
|
+
paramWriter.writeInt8(typeof args.seekPermission === 'boolean'
|
|
1309
|
+
? args.seekPermission
|
|
1310
|
+
? 1
|
|
1311
|
+
: 0
|
|
1312
|
+
: -1);
|
|
1261
1313
|
const result = await this.transmit('discoverByAttributes', originator, paramWriter.toArray());
|
|
1262
1314
|
return this.parseDiscoveryResult(result);
|
|
1263
1315
|
}
|
|
1264
1316
|
async isAuthenticated(args, originator) {
|
|
1265
1317
|
const result = await this.transmit('isAuthenticated', originator);
|
|
1266
|
-
// @ts-
|
|
1267
|
-
return { authenticated:
|
|
1318
|
+
// @ts-expect-error
|
|
1319
|
+
return { authenticated: result[0] === 1 };
|
|
1268
1320
|
}
|
|
1269
1321
|
async waitForAuthentication(args, originator) {
|
|
1270
1322
|
await this.transmit('waitForAuthentication', originator);
|