@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,4 +1,40 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
AcquireCertificateArgs,
|
|
3
|
+
AcquireCertificateResult,
|
|
4
|
+
Base64String,
|
|
5
|
+
BasketStringUnder300Bytes,
|
|
6
|
+
BooleanDefaultFalse,
|
|
7
|
+
Byte,
|
|
8
|
+
CertificateFieldNameUnder50Bytes,
|
|
9
|
+
CreateActionArgs,
|
|
10
|
+
CreateActionResult,
|
|
11
|
+
DescriptionString5to50Bytes,
|
|
12
|
+
DiscoverCertificatesResult,
|
|
13
|
+
HexString,
|
|
14
|
+
InternalizeActionArgs,
|
|
15
|
+
ISOTimestampString,
|
|
16
|
+
KeyIDStringUnder800Bytes,
|
|
17
|
+
ListActionsArgs,
|
|
18
|
+
ListActionsResult,
|
|
19
|
+
ListCertificatesResult,
|
|
20
|
+
ListOutputsArgs,
|
|
21
|
+
ListOutputsResult,
|
|
22
|
+
OriginatorDomainNameStringUnder250Bytes,
|
|
23
|
+
OutpointString,
|
|
24
|
+
PositiveInteger,
|
|
25
|
+
PositiveIntegerDefault10Max10000,
|
|
26
|
+
PositiveIntegerOrZero,
|
|
27
|
+
ProtocolString5To400Bytes,
|
|
28
|
+
ProveCertificateArgs,
|
|
29
|
+
ProveCertificateResult,
|
|
30
|
+
PubKeyHex,
|
|
31
|
+
SecurityLevel,
|
|
32
|
+
SignActionArgs,
|
|
33
|
+
SignActionResult,
|
|
34
|
+
VersionString7To30Bytes,
|
|
35
|
+
WalletInterface,
|
|
36
|
+
AuthenticatedResult
|
|
37
|
+
} from './Wallet.interfaces.js'
|
|
2
38
|
import WindowCWISubstrate from './substrates/window.CWI.js'
|
|
3
39
|
import XDMSubstrate from './substrates/XDM.js'
|
|
4
40
|
import WalletWireTransceiver from './substrates/WalletWireTransceiver.js'
|
|
@@ -13,8 +49,19 @@ const MAX_XDM_RESPONSE_WAIT = 200
|
|
|
13
49
|
export default class WalletClient implements WalletInterface {
|
|
14
50
|
public substrate: 'auto' | WalletInterface
|
|
15
51
|
originator?: OriginatorDomainNameStringUnder250Bytes
|
|
16
|
-
constructor (
|
|
17
|
-
|
|
52
|
+
constructor (
|
|
53
|
+
substrate:
|
|
54
|
+
| 'auto'
|
|
55
|
+
| 'Cicada'
|
|
56
|
+
| 'XDM'
|
|
57
|
+
| 'window.CWI'
|
|
58
|
+
| 'json-api'
|
|
59
|
+
| WalletInterface = 'auto',
|
|
60
|
+
originator?: OriginatorDomainNameStringUnder250Bytes
|
|
61
|
+
) {
|
|
62
|
+
if (substrate === 'Cicada') {
|
|
63
|
+
substrate = new WalletWireTransceiver(new HTTPWalletWire(originator))
|
|
64
|
+
}
|
|
18
65
|
if (substrate === 'window.CWI') substrate = new WindowCWISubstrate()
|
|
19
66
|
if (substrate === 'XDM') substrate = new XDMSubstrate()
|
|
20
67
|
if (substrate === 'json-api') substrate = new HTTPWalletJSON(originator)
|
|
@@ -22,17 +69,19 @@ export default class WalletClient implements WalletInterface {
|
|
|
22
69
|
this.originator = originator
|
|
23
70
|
}
|
|
24
71
|
|
|
25
|
-
async connectToSubstrate () {
|
|
72
|
+
async connectToSubstrate (): Promise<void> {
|
|
26
73
|
if (typeof this.substrate === 'object') {
|
|
27
74
|
return // substrate is already connected
|
|
28
75
|
}
|
|
29
76
|
let sub: WalletInterface
|
|
30
|
-
const checkSub = async (timeout?: number) => {
|
|
77
|
+
const checkSub = async (timeout?: number): Promise<void> => {
|
|
31
78
|
let result
|
|
32
79
|
if (typeof timeout === 'number') {
|
|
33
80
|
result = await Promise.race([
|
|
34
81
|
sub.getVersion({}),
|
|
35
|
-
new Promise<never>((
|
|
82
|
+
new Promise<never>((_resolve, reject) =>
|
|
83
|
+
setTimeout(() => reject(new Error('Timed out.')), timeout)
|
|
84
|
+
)
|
|
36
85
|
])
|
|
37
86
|
} else {
|
|
38
87
|
result = await sub.getVersion({})
|
|
@@ -46,22 +95,28 @@ export default class WalletClient implements WalletInterface {
|
|
|
46
95
|
await checkSub()
|
|
47
96
|
this.substrate = sub
|
|
48
97
|
} catch (e) {
|
|
98
|
+
console.error('XDMSubstrate initialization failed:', e) // Log the error
|
|
49
99
|
try {
|
|
50
100
|
sub = new XDMSubstrate()
|
|
51
101
|
await checkSub(MAX_XDM_RESPONSE_WAIT)
|
|
52
102
|
this.substrate = sub
|
|
53
103
|
} catch (e) {
|
|
104
|
+
console.error('WalletWireTransceiver initialization failed:', e)
|
|
54
105
|
try {
|
|
55
106
|
sub = new WalletWireTransceiver(new HTTPWalletWire(this.originator))
|
|
56
107
|
await checkSub()
|
|
57
108
|
this.substrate = sub
|
|
58
109
|
} catch (e) {
|
|
110
|
+
console.error('HTTPWalletJSON initialization failed:', e)
|
|
59
111
|
try {
|
|
60
112
|
sub = new HTTPWalletJSON(this.originator)
|
|
61
113
|
await checkSub()
|
|
62
114
|
this.substrate = sub
|
|
63
115
|
} catch (e) {
|
|
64
|
-
|
|
116
|
+
console.error('No wallet available:', e)
|
|
117
|
+
throw new Error(
|
|
118
|
+
'No wallet available over any communication substrate. Install a BSV wallet today!'
|
|
119
|
+
)
|
|
65
120
|
}
|
|
66
121
|
}
|
|
67
122
|
}
|
|
@@ -70,140 +125,340 @@ export default class WalletClient implements WalletInterface {
|
|
|
70
125
|
|
|
71
126
|
async createAction (args: CreateActionArgs): Promise<CreateActionResult> {
|
|
72
127
|
await this.connectToSubstrate()
|
|
73
|
-
return await (this.substrate as WalletInterface).createAction(
|
|
128
|
+
return await (this.substrate as WalletInterface).createAction(
|
|
129
|
+
args,
|
|
130
|
+
this.originator
|
|
131
|
+
)
|
|
74
132
|
}
|
|
75
133
|
|
|
76
134
|
async signAction (args: SignActionArgs): Promise<SignActionResult> {
|
|
77
135
|
await this.connectToSubstrate()
|
|
78
|
-
return await (this.substrate as WalletInterface).signAction(
|
|
136
|
+
return await (this.substrate as WalletInterface).signAction(
|
|
137
|
+
args,
|
|
138
|
+
this.originator
|
|
139
|
+
)
|
|
79
140
|
}
|
|
80
141
|
|
|
81
|
-
async abortAction (args: {
|
|
142
|
+
async abortAction (args: {
|
|
143
|
+
reference: Base64String
|
|
144
|
+
}): Promise<{ aborted: true }> {
|
|
82
145
|
await this.connectToSubstrate()
|
|
83
|
-
return await (this.substrate as WalletInterface).abortAction(
|
|
146
|
+
return await (this.substrate as WalletInterface).abortAction(
|
|
147
|
+
args,
|
|
148
|
+
this.originator
|
|
149
|
+
)
|
|
84
150
|
}
|
|
85
151
|
|
|
86
152
|
async listActions (args: ListActionsArgs): Promise<ListActionsResult> {
|
|
87
153
|
await this.connectToSubstrate()
|
|
88
|
-
return await (this.substrate as WalletInterface).listActions(
|
|
154
|
+
return await (this.substrate as WalletInterface).listActions(
|
|
155
|
+
args,
|
|
156
|
+
this.originator
|
|
157
|
+
)
|
|
89
158
|
}
|
|
90
159
|
|
|
91
|
-
async internalizeAction (
|
|
160
|
+
async internalizeAction (
|
|
161
|
+
args: InternalizeActionArgs
|
|
162
|
+
): Promise<{ accepted: true }> {
|
|
92
163
|
await this.connectToSubstrate()
|
|
93
|
-
return await (this.substrate as WalletInterface).internalizeAction(
|
|
164
|
+
return await (this.substrate as WalletInterface).internalizeAction(
|
|
165
|
+
args,
|
|
166
|
+
this.originator
|
|
167
|
+
)
|
|
94
168
|
}
|
|
95
169
|
|
|
96
170
|
async listOutputs (args: ListOutputsArgs): Promise<ListOutputsResult> {
|
|
97
171
|
await this.connectToSubstrate()
|
|
98
|
-
return await (this.substrate as WalletInterface).listOutputs(
|
|
172
|
+
return await (this.substrate as WalletInterface).listOutputs(
|
|
173
|
+
args,
|
|
174
|
+
this.originator
|
|
175
|
+
)
|
|
99
176
|
}
|
|
100
177
|
|
|
101
|
-
async relinquishOutput (args: {
|
|
178
|
+
async relinquishOutput (args: {
|
|
179
|
+
basket: BasketStringUnder300Bytes
|
|
180
|
+
output: OutpointString
|
|
181
|
+
}): Promise<{ relinquished: true }> {
|
|
102
182
|
await this.connectToSubstrate()
|
|
103
|
-
return await (this.substrate as WalletInterface).relinquishOutput(
|
|
183
|
+
return await (this.substrate as WalletInterface).relinquishOutput(
|
|
184
|
+
args,
|
|
185
|
+
this.originator
|
|
186
|
+
)
|
|
104
187
|
}
|
|
105
188
|
|
|
106
|
-
async getPublicKey (args: {
|
|
189
|
+
async getPublicKey (args: {
|
|
190
|
+
identityKey?: true
|
|
191
|
+
protocolID?: [SecurityLevel, ProtocolString5To400Bytes]
|
|
192
|
+
keyID?: KeyIDStringUnder800Bytes
|
|
193
|
+
privileged?: BooleanDefaultFalse
|
|
194
|
+
privilegedReason?: DescriptionString5to50Bytes
|
|
195
|
+
counterparty?: PubKeyHex | 'self' | 'anyone'
|
|
196
|
+
forSelf?: BooleanDefaultFalse
|
|
197
|
+
}): Promise<{ publicKey: PubKeyHex }> {
|
|
107
198
|
await this.connectToSubstrate()
|
|
108
|
-
return await (this.substrate as WalletInterface).getPublicKey(
|
|
199
|
+
return await (this.substrate as WalletInterface).getPublicKey(
|
|
200
|
+
args,
|
|
201
|
+
this.originator
|
|
202
|
+
)
|
|
109
203
|
}
|
|
110
204
|
|
|
111
|
-
async revealCounterpartyKeyLinkage (args: {
|
|
205
|
+
async revealCounterpartyKeyLinkage (args: {
|
|
206
|
+
counterparty: PubKeyHex
|
|
207
|
+
verifier: PubKeyHex
|
|
208
|
+
privilegedReason?: DescriptionString5to50Bytes
|
|
209
|
+
privileged?: BooleanDefaultFalse
|
|
210
|
+
}): Promise<{
|
|
211
|
+
prover: PubKeyHex
|
|
212
|
+
verifier: PubKeyHex
|
|
213
|
+
counterparty: PubKeyHex
|
|
214
|
+
revelationTime: ISOTimestampString
|
|
215
|
+
encryptedLinkage: Byte[]
|
|
216
|
+
encryptedLinkageProof: Byte[]
|
|
217
|
+
}> {
|
|
112
218
|
await this.connectToSubstrate()
|
|
113
|
-
return await (
|
|
219
|
+
return await (
|
|
220
|
+
this.substrate as WalletInterface
|
|
221
|
+
).revealCounterpartyKeyLinkage(args, this.originator)
|
|
114
222
|
}
|
|
115
223
|
|
|
116
|
-
async revealSpecificKeyLinkage (args: {
|
|
224
|
+
async revealSpecificKeyLinkage (args: {
|
|
225
|
+
counterparty: PubKeyHex
|
|
226
|
+
verifier: PubKeyHex
|
|
227
|
+
protocolID: [SecurityLevel, ProtocolString5To400Bytes]
|
|
228
|
+
keyID: KeyIDStringUnder800Bytes
|
|
229
|
+
privilegedReason?: DescriptionString5to50Bytes
|
|
230
|
+
privileged?: BooleanDefaultFalse
|
|
231
|
+
}): Promise<{
|
|
232
|
+
prover: PubKeyHex
|
|
233
|
+
verifier: PubKeyHex
|
|
234
|
+
counterparty: PubKeyHex
|
|
235
|
+
protocolID: [SecurityLevel, ProtocolString5To400Bytes]
|
|
236
|
+
keyID: KeyIDStringUnder800Bytes
|
|
237
|
+
encryptedLinkage: Byte[]
|
|
238
|
+
encryptedLinkageProof: Byte[]
|
|
239
|
+
proofType: Byte
|
|
240
|
+
}> {
|
|
117
241
|
await this.connectToSubstrate()
|
|
118
|
-
return await (this.substrate as WalletInterface).revealSpecificKeyLinkage(
|
|
242
|
+
return await (this.substrate as WalletInterface).revealSpecificKeyLinkage(
|
|
243
|
+
args,
|
|
244
|
+
this.originator
|
|
245
|
+
)
|
|
119
246
|
}
|
|
120
247
|
|
|
121
|
-
async encrypt (args: {
|
|
248
|
+
async encrypt (args: {
|
|
249
|
+
plaintext: Byte[]
|
|
250
|
+
protocolID: [SecurityLevel, ProtocolString5To400Bytes]
|
|
251
|
+
keyID: KeyIDStringUnder800Bytes
|
|
252
|
+
privilegedReason?: DescriptionString5to50Bytes
|
|
253
|
+
counterparty?: PubKeyHex | 'self' | 'anyone'
|
|
254
|
+
privileged?: BooleanDefaultFalse
|
|
255
|
+
}): Promise<{ ciphertext: Byte[] }> {
|
|
122
256
|
await this.connectToSubstrate()
|
|
123
|
-
return await (this.substrate as WalletInterface).encrypt(
|
|
257
|
+
return await (this.substrate as WalletInterface).encrypt(
|
|
258
|
+
args,
|
|
259
|
+
this.originator
|
|
260
|
+
)
|
|
124
261
|
}
|
|
125
262
|
|
|
126
|
-
async decrypt (args: {
|
|
127
|
-
|
|
263
|
+
async decrypt (args: {
|
|
264
|
+
ciphertext: Byte[]
|
|
265
|
+
protocolID: [SecurityLevel, ProtocolString5To400Bytes]
|
|
266
|
+
keyID: KeyIDStringUnder800Bytes
|
|
267
|
+
privilegedReason?: DescriptionString5to50Bytes
|
|
268
|
+
counterparty?: PubKeyHex | 'self' | 'anyone'
|
|
269
|
+
privileged?: BooleanDefaultFalse
|
|
270
|
+
}): Promise<{ plaintext: Byte[] }> {
|
|
271
|
+
return await (this.substrate as WalletInterface).decrypt(
|
|
272
|
+
args,
|
|
273
|
+
this.originator
|
|
274
|
+
)
|
|
128
275
|
}
|
|
129
276
|
|
|
130
|
-
async createHmac (args: {
|
|
277
|
+
async createHmac (args: {
|
|
278
|
+
data: Byte[]
|
|
279
|
+
protocolID: [SecurityLevel, ProtocolString5To400Bytes]
|
|
280
|
+
keyID: KeyIDStringUnder800Bytes
|
|
281
|
+
privilegedReason?: DescriptionString5to50Bytes
|
|
282
|
+
counterparty?: PubKeyHex | 'self' | 'anyone'
|
|
283
|
+
privileged?: BooleanDefaultFalse
|
|
284
|
+
}): Promise<{ hmac: Byte[] }> {
|
|
131
285
|
await this.connectToSubstrate()
|
|
132
|
-
return await (this.substrate as WalletInterface).createHmac(
|
|
286
|
+
return await (this.substrate as WalletInterface).createHmac(
|
|
287
|
+
args,
|
|
288
|
+
this.originator
|
|
289
|
+
)
|
|
133
290
|
}
|
|
134
291
|
|
|
135
|
-
async verifyHmac (args: {
|
|
292
|
+
async verifyHmac (args: {
|
|
293
|
+
data: Byte[]
|
|
294
|
+
hmac: Byte[]
|
|
295
|
+
protocolID: [SecurityLevel, ProtocolString5To400Bytes]
|
|
296
|
+
keyID: KeyIDStringUnder800Bytes
|
|
297
|
+
privilegedReason?: DescriptionString5to50Bytes
|
|
298
|
+
counterparty?: PubKeyHex | 'self' | 'anyone'
|
|
299
|
+
privileged?: BooleanDefaultFalse
|
|
300
|
+
}): Promise<{ valid: true }> {
|
|
136
301
|
await this.connectToSubstrate()
|
|
137
|
-
return await (this.substrate as WalletInterface).verifyHmac(
|
|
302
|
+
return await (this.substrate as WalletInterface).verifyHmac(
|
|
303
|
+
args,
|
|
304
|
+
this.originator
|
|
305
|
+
)
|
|
138
306
|
}
|
|
139
307
|
|
|
140
|
-
async createSignature (args: {
|
|
308
|
+
async createSignature (args: {
|
|
309
|
+
data?: Byte[]
|
|
310
|
+
hashToDirectlySign?: Byte[]
|
|
311
|
+
protocolID: [SecurityLevel, ProtocolString5To400Bytes]
|
|
312
|
+
keyID: KeyIDStringUnder800Bytes
|
|
313
|
+
privilegedReason?: DescriptionString5to50Bytes
|
|
314
|
+
counterparty?: PubKeyHex | 'self' | 'anyone'
|
|
315
|
+
privileged?: BooleanDefaultFalse
|
|
316
|
+
}): Promise<{ signature: Byte[] }> {
|
|
141
317
|
await this.connectToSubstrate()
|
|
142
|
-
return await (this.substrate as WalletInterface).createSignature(
|
|
318
|
+
return await (this.substrate as WalletInterface).createSignature(
|
|
319
|
+
args,
|
|
320
|
+
this.originator
|
|
321
|
+
)
|
|
143
322
|
}
|
|
144
323
|
|
|
145
|
-
async verifySignature (args: {
|
|
324
|
+
async verifySignature (args: {
|
|
325
|
+
data?: Byte[]
|
|
326
|
+
hashToDirectlyVerify?: Byte[]
|
|
327
|
+
signature: Byte[]
|
|
328
|
+
protocolID: [SecurityLevel, ProtocolString5To400Bytes]
|
|
329
|
+
keyID: KeyIDStringUnder800Bytes
|
|
330
|
+
privilegedReason?: DescriptionString5to50Bytes
|
|
331
|
+
counterparty?: PubKeyHex | 'self' | 'anyone'
|
|
332
|
+
forSelf?: BooleanDefaultFalse
|
|
333
|
+
privileged?: BooleanDefaultFalse
|
|
334
|
+
}): Promise<{ valid: true }> {
|
|
146
335
|
await this.connectToSubstrate()
|
|
147
|
-
return await (this.substrate as WalletInterface).verifySignature(
|
|
336
|
+
return await (this.substrate as WalletInterface).verifySignature(
|
|
337
|
+
args,
|
|
338
|
+
this.originator
|
|
339
|
+
)
|
|
148
340
|
}
|
|
149
341
|
|
|
150
|
-
async acquireCertificate (
|
|
342
|
+
async acquireCertificate (
|
|
343
|
+
args: AcquireCertificateArgs
|
|
344
|
+
): Promise<AcquireCertificateResult> {
|
|
151
345
|
await this.connectToSubstrate()
|
|
152
|
-
return await (this.substrate as WalletInterface).acquireCertificate(
|
|
346
|
+
return await (this.substrate as WalletInterface).acquireCertificate(
|
|
347
|
+
args,
|
|
348
|
+
this.originator
|
|
349
|
+
)
|
|
153
350
|
}
|
|
154
351
|
|
|
155
|
-
async listCertificates (args: {
|
|
352
|
+
async listCertificates (args: {
|
|
353
|
+
certifiers: PubKeyHex[]
|
|
354
|
+
types: Base64String[]
|
|
355
|
+
limit?: PositiveIntegerDefault10Max10000
|
|
356
|
+
offset?: PositiveIntegerOrZero
|
|
357
|
+
privileged?: BooleanDefaultFalse
|
|
358
|
+
privilegedReason?: DescriptionString5to50Bytes
|
|
359
|
+
}): Promise<ListCertificatesResult> {
|
|
156
360
|
await this.connectToSubstrate()
|
|
157
|
-
return await (this.substrate as WalletInterface).listCertificates(
|
|
361
|
+
return await (this.substrate as WalletInterface).listCertificates(
|
|
362
|
+
args,
|
|
363
|
+
this.originator
|
|
364
|
+
)
|
|
158
365
|
}
|
|
159
366
|
|
|
160
|
-
async proveCertificate (
|
|
367
|
+
async proveCertificate (
|
|
368
|
+
args: ProveCertificateArgs
|
|
369
|
+
): Promise<ProveCertificateResult> {
|
|
161
370
|
await this.connectToSubstrate()
|
|
162
|
-
return await (this.substrate as WalletInterface).proveCertificate(
|
|
371
|
+
return await (this.substrate as WalletInterface).proveCertificate(
|
|
372
|
+
args,
|
|
373
|
+
this.originator
|
|
374
|
+
)
|
|
163
375
|
}
|
|
164
376
|
|
|
165
|
-
async relinquishCertificate (args: {
|
|
377
|
+
async relinquishCertificate (args: {
|
|
378
|
+
type: Base64String
|
|
379
|
+
serialNumber: Base64String
|
|
380
|
+
certifier: PubKeyHex
|
|
381
|
+
}): Promise<{ relinquished: true }> {
|
|
166
382
|
await this.connectToSubstrate()
|
|
167
|
-
return await (this.substrate as WalletInterface).relinquishCertificate(
|
|
383
|
+
return await (this.substrate as WalletInterface).relinquishCertificate(
|
|
384
|
+
args,
|
|
385
|
+
this.originator
|
|
386
|
+
)
|
|
168
387
|
}
|
|
169
388
|
|
|
170
|
-
async discoverByIdentityKey (args: {
|
|
389
|
+
async discoverByIdentityKey (args: {
|
|
390
|
+
identityKey: PubKeyHex
|
|
391
|
+
limit?: PositiveIntegerDefault10Max10000
|
|
392
|
+
offset?: PositiveIntegerOrZero
|
|
393
|
+
}): Promise<DiscoverCertificatesResult> {
|
|
171
394
|
await this.connectToSubstrate()
|
|
172
|
-
return await (this.substrate as WalletInterface).discoverByIdentityKey(
|
|
395
|
+
return await (this.substrate as WalletInterface).discoverByIdentityKey(
|
|
396
|
+
args,
|
|
397
|
+
this.originator
|
|
398
|
+
)
|
|
173
399
|
}
|
|
174
400
|
|
|
175
|
-
async discoverByAttributes (args: {
|
|
401
|
+
async discoverByAttributes (args: {
|
|
402
|
+
attributes: Record<CertificateFieldNameUnder50Bytes, string>
|
|
403
|
+
limit?: PositiveIntegerDefault10Max10000
|
|
404
|
+
offset?: PositiveIntegerOrZero
|
|
405
|
+
}): Promise<DiscoverCertificatesResult> {
|
|
176
406
|
await this.connectToSubstrate()
|
|
177
|
-
return await (this.substrate as WalletInterface).discoverByAttributes(
|
|
407
|
+
return await (this.substrate as WalletInterface).discoverByAttributes(
|
|
408
|
+
args,
|
|
409
|
+
this.originator
|
|
410
|
+
)
|
|
178
411
|
}
|
|
179
412
|
|
|
180
|
-
async isAuthenticated (args:
|
|
413
|
+
async isAuthenticated (args: object = {}): Promise<AuthenticatedResult> {
|
|
181
414
|
await this.connectToSubstrate()
|
|
182
|
-
return await (this.substrate as WalletInterface).isAuthenticated(
|
|
415
|
+
return await (this.substrate as WalletInterface).isAuthenticated(
|
|
416
|
+
args,
|
|
417
|
+
this.originator
|
|
418
|
+
)
|
|
183
419
|
}
|
|
184
420
|
|
|
185
|
-
async waitForAuthentication (args:
|
|
421
|
+
async waitForAuthentication (args: object = {}): Promise<{ authenticated: true }> {
|
|
186
422
|
await this.connectToSubstrate()
|
|
187
|
-
return await (this.substrate as WalletInterface).waitForAuthentication(
|
|
423
|
+
return await (this.substrate as WalletInterface).waitForAuthentication(
|
|
424
|
+
args,
|
|
425
|
+
this.originator
|
|
426
|
+
)
|
|
188
427
|
}
|
|
189
428
|
|
|
190
|
-
async getHeight (args:
|
|
429
|
+
async getHeight (args: object = {}): Promise<{ height: PositiveInteger }> {
|
|
191
430
|
await this.connectToSubstrate()
|
|
192
|
-
return await (this.substrate as WalletInterface).getHeight(
|
|
431
|
+
return await (this.substrate as WalletInterface).getHeight(
|
|
432
|
+
args,
|
|
433
|
+
this.originator
|
|
434
|
+
)
|
|
193
435
|
}
|
|
194
436
|
|
|
195
|
-
async getHeaderForHeight (args: {
|
|
437
|
+
async getHeaderForHeight (args: {
|
|
438
|
+
height: PositiveInteger
|
|
439
|
+
}): Promise<{ header: HexString }> {
|
|
196
440
|
await this.connectToSubstrate()
|
|
197
|
-
return await (this.substrate as WalletInterface).getHeaderForHeight(
|
|
441
|
+
return await (this.substrate as WalletInterface).getHeaderForHeight(
|
|
442
|
+
args,
|
|
443
|
+
this.originator
|
|
444
|
+
)
|
|
198
445
|
}
|
|
199
446
|
|
|
200
|
-
async getNetwork (args:
|
|
447
|
+
async getNetwork (args: object = {}): Promise<{ network: 'mainnet' | 'testnet' }> {
|
|
201
448
|
await this.connectToSubstrate()
|
|
202
|
-
return await (this.substrate as WalletInterface).getNetwork(
|
|
449
|
+
return await (this.substrate as WalletInterface).getNetwork(
|
|
450
|
+
args,
|
|
451
|
+
this.originator
|
|
452
|
+
)
|
|
203
453
|
}
|
|
204
454
|
|
|
205
|
-
async getVersion (
|
|
455
|
+
async getVersion (
|
|
456
|
+
args: object = {}
|
|
457
|
+
): Promise<{ version: VersionString7To30Bytes }> {
|
|
206
458
|
await this.connectToSubstrate()
|
|
207
|
-
return await (this.substrate as WalletInterface).getVersion(
|
|
459
|
+
return await (this.substrate as WalletInterface).getVersion(
|
|
460
|
+
args,
|
|
461
|
+
this.originator
|
|
462
|
+
)
|
|
208
463
|
}
|
|
209
464
|
}
|
|
@@ -7,9 +7,9 @@ export class WalletError extends Error {
|
|
|
7
7
|
this.code = code
|
|
8
8
|
this.name = this.constructor.name
|
|
9
9
|
|
|
10
|
-
if (stack) {
|
|
10
|
+
if (stack !== undefined && stack !== null && stack !== '') {
|
|
11
11
|
this.stack = stack
|
|
12
|
-
} else
|
|
12
|
+
} else {
|
|
13
13
|
Error.captureStackTrace(this, this.constructor)
|
|
14
14
|
}
|
|
15
15
|
}
|