@bsv/sdk 2.0.16 → 2.1.1
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/README.md +7 -7
- package/dist/cjs/package.json +14 -13
- package/dist/cjs/src/auth/Peer.js +8 -13
- package/dist/cjs/src/auth/Peer.js.map +1 -1
- package/dist/cjs/src/auth/SessionManager.js +4 -7
- package/dist/cjs/src/auth/SessionManager.js.map +1 -1
- package/dist/cjs/src/auth/certificates/MasterCertificate.js +1 -1
- package/dist/cjs/src/auth/certificates/MasterCertificate.js.map +1 -1
- package/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js +1 -1
- package/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
- package/dist/cjs/src/auth/clients/AuthFetch.js +32 -32
- package/dist/cjs/src/auth/clients/AuthFetch.js.map +1 -1
- package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js +4 -4
- package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
- package/dist/cjs/src/compat/ECIES.js +29 -34
- package/dist/cjs/src/compat/ECIES.js.map +1 -1
- package/dist/cjs/src/compat/HD.js +9 -4
- package/dist/cjs/src/compat/HD.js.map +1 -1
- package/dist/cjs/src/compat/Mnemonic.js +12 -12
- package/dist/cjs/src/compat/Mnemonic.js.map +1 -1
- package/dist/cjs/src/identity/ContactsManager.js +172 -232
- package/dist/cjs/src/identity/ContactsManager.js.map +1 -1
- package/dist/cjs/src/identity/IdentityClient.js +122 -55
- package/dist/cjs/src/identity/IdentityClient.js.map +1 -1
- package/dist/cjs/src/kvstore/GlobalKVStore.js +30 -31
- package/dist/cjs/src/kvstore/GlobalKVStore.js.map +1 -1
- package/dist/cjs/src/kvstore/LocalKVStore.js +9 -9
- package/dist/cjs/src/kvstore/LocalKVStore.js.map +1 -1
- package/dist/cjs/src/kvstore/kvStoreInterpreter.js +2 -2
- package/dist/cjs/src/kvstore/kvStoreInterpreter.js.map +1 -1
- package/dist/cjs/src/messages/SignedMessage.js +1 -1
- package/dist/cjs/src/messages/SignedMessage.js.map +1 -1
- package/dist/cjs/src/overlay-tools/Historian.js +1 -1
- package/dist/cjs/src/overlay-tools/Historian.js.map +1 -1
- package/dist/cjs/src/overlay-tools/LookupResolver.js +139 -46
- package/dist/cjs/src/overlay-tools/LookupResolver.js.map +1 -1
- package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js +75 -146
- package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
- package/dist/cjs/src/primitives/AESGCM.js +2 -2
- package/dist/cjs/src/primitives/AESGCM.js.map +1 -1
- package/dist/cjs/src/primitives/BigNumber.js +164 -148
- package/dist/cjs/src/primitives/BigNumber.js.map +1 -1
- package/dist/cjs/src/primitives/Curve.js +17 -15
- package/dist/cjs/src/primitives/Curve.js.map +1 -1
- package/dist/cjs/src/primitives/ECDSA.js +12 -7
- package/dist/cjs/src/primitives/ECDSA.js.map +1 -1
- package/dist/cjs/src/primitives/Hash.js +140 -56
- package/dist/cjs/src/primitives/Hash.js.map +1 -1
- package/dist/cjs/src/primitives/JacobianPoint.js +8 -8
- package/dist/cjs/src/primitives/JacobianPoint.js.map +1 -1
- package/dist/cjs/src/primitives/K256.js +3 -3
- package/dist/cjs/src/primitives/K256.js.map +1 -1
- package/dist/cjs/src/primitives/Point.js +36 -40
- package/dist/cjs/src/primitives/Point.js.map +1 -1
- package/dist/cjs/src/primitives/PrivateKey.js +4 -4
- package/dist/cjs/src/primitives/PrivateKey.js.map +1 -1
- package/dist/cjs/src/primitives/PublicKey.js +4 -4
- package/dist/cjs/src/primitives/PublicKey.js.map +1 -1
- package/dist/cjs/src/primitives/Random.js +10 -14
- package/dist/cjs/src/primitives/Random.js.map +1 -1
- package/dist/cjs/src/primitives/ReaderUint8Array.js +6 -6
- package/dist/cjs/src/primitives/ReaderUint8Array.js.map +1 -1
- package/dist/cjs/src/primitives/Schnorr.js +2 -2
- package/dist/cjs/src/primitives/Schnorr.js.map +1 -1
- package/dist/cjs/src/primitives/Secp256r1.js +2 -1
- package/dist/cjs/src/primitives/Secp256r1.js.map +1 -1
- package/dist/cjs/src/primitives/Signature.js +8 -8
- package/dist/cjs/src/primitives/Signature.js.map +1 -1
- package/dist/cjs/src/primitives/TransactionSignature.js +20 -21
- package/dist/cjs/src/primitives/TransactionSignature.js.map +1 -1
- package/dist/cjs/src/primitives/utils.js +39 -46
- package/dist/cjs/src/primitives/utils.js.map +1 -1
- package/dist/cjs/src/registry/RegistryClient.js +31 -23
- package/dist/cjs/src/registry/RegistryClient.js.map +1 -1
- package/dist/cjs/src/remittance/RemittanceManager.js +19 -18
- package/dist/cjs/src/remittance/RemittanceManager.js.map +1 -1
- package/dist/cjs/src/remittance/modules/BasicBRC29.js.map +1 -1
- package/dist/cjs/src/script/Script.js +93 -170
- package/dist/cjs/src/script/Script.js.map +1 -1
- package/dist/cjs/src/script/ScriptEvaluationError.js +2 -2
- package/dist/cjs/src/script/ScriptEvaluationError.js.map +1 -1
- package/dist/cjs/src/script/Spend.js +14 -12
- package/dist/cjs/src/script/Spend.js.map +1 -1
- package/dist/cjs/src/script/templates/PushDrop.js +22 -18
- package/dist/cjs/src/script/templates/PushDrop.js.map +1 -1
- package/dist/cjs/src/script/templates/RPuzzle.js +2 -4
- package/dist/cjs/src/script/templates/RPuzzle.js.map +1 -1
- package/dist/cjs/src/storage/StorageDownloader.js +42 -9
- package/dist/cjs/src/storage/StorageDownloader.js.map +1 -1
- package/dist/cjs/src/totp/totp.js +1 -1
- package/dist/cjs/src/totp/totp.js.map +1 -1
- package/dist/cjs/src/transaction/Beef.js +239 -192
- package/dist/cjs/src/transaction/Beef.js.map +1 -1
- package/dist/cjs/src/transaction/BeefConstants.js +19 -0
- package/dist/cjs/src/transaction/BeefConstants.js.map +1 -0
- package/dist/cjs/src/transaction/BeefTx.js +12 -12
- package/dist/cjs/src/transaction/BeefTx.js.map +1 -1
- package/dist/cjs/src/transaction/MerklePath.js +4 -4
- package/dist/cjs/src/transaction/MerklePath.js.map +1 -1
- package/dist/cjs/src/transaction/Transaction.js +49 -52
- package/dist/cjs/src/transaction/Transaction.js.map +1 -1
- package/dist/cjs/src/transaction/fee-models/SatoshisPerKilobyte.js +1 -1
- package/dist/cjs/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
- package/dist/cjs/src/transaction/http/BinaryFetchClient.js +9 -9
- package/dist/cjs/src/transaction/http/BinaryFetchClient.js.map +1 -1
- package/dist/cjs/src/transaction/http/DefaultHttpClient.js +9 -9
- package/dist/cjs/src/transaction/http/DefaultHttpClient.js.map +1 -1
- package/dist/cjs/src/wallet/CachedKeyDeriver.js +1 -1
- package/dist/cjs/src/wallet/CachedKeyDeriver.js.map +1 -1
- package/dist/cjs/src/wallet/WalletClient.js.map +1 -1
- package/dist/cjs/src/wallet/WalletError.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js +5 -4
- package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/ReactNativeWebView.js +9 -9
- package/dist/cjs/src/wallet/substrates/ReactNativeWebView.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js +92 -92
- package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js +387 -711
- package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/XDM.js +4 -4
- package/dist/cjs/src/wallet/substrates/XDM.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/window.CWI.js +2 -2
- package/dist/cjs/src/wallet/substrates/window.CWI.js.map +1 -1
- package/dist/cjs/src/wallet/validationHelpers.js +9 -9
- package/dist/cjs/src/wallet/validationHelpers.js.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/src/auth/Peer.js +25 -13
- package/dist/esm/src/auth/Peer.js.map +1 -1
- package/dist/esm/src/auth/SessionManager.js +4 -7
- package/dist/esm/src/auth/SessionManager.js.map +1 -1
- package/dist/esm/src/auth/certificates/MasterCertificate.js +1 -1
- package/dist/esm/src/auth/certificates/MasterCertificate.js.map +1 -1
- package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js +1 -1
- package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
- package/dist/esm/src/auth/clients/AuthFetch.js +32 -32
- package/dist/esm/src/auth/clients/AuthFetch.js.map +1 -1
- package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js +4 -4
- package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
- package/dist/esm/src/compat/ECIES.js +29 -34
- package/dist/esm/src/compat/ECIES.js.map +1 -1
- package/dist/esm/src/compat/HD.js +9 -4
- package/dist/esm/src/compat/HD.js.map +1 -1
- package/dist/esm/src/compat/Mnemonic.js +12 -12
- package/dist/esm/src/compat/Mnemonic.js.map +1 -1
- package/dist/esm/src/identity/ContactsManager.js +172 -232
- package/dist/esm/src/identity/ContactsManager.js.map +1 -1
- package/dist/esm/src/identity/IdentityClient.js +122 -55
- package/dist/esm/src/identity/IdentityClient.js.map +1 -1
- package/dist/esm/src/kvstore/GlobalKVStore.js +30 -31
- package/dist/esm/src/kvstore/GlobalKVStore.js.map +1 -1
- package/dist/esm/src/kvstore/LocalKVStore.js +9 -9
- package/dist/esm/src/kvstore/LocalKVStore.js.map +1 -1
- package/dist/esm/src/kvstore/kvStoreInterpreter.js +2 -2
- package/dist/esm/src/kvstore/kvStoreInterpreter.js.map +1 -1
- package/dist/esm/src/messages/SignedMessage.js +1 -1
- package/dist/esm/src/messages/SignedMessage.js.map +1 -1
- package/dist/esm/src/overlay-tools/Historian.js +1 -1
- package/dist/esm/src/overlay-tools/Historian.js.map +1 -1
- package/dist/esm/src/overlay-tools/LookupResolver.js +139 -46
- package/dist/esm/src/overlay-tools/LookupResolver.js.map +1 -1
- package/dist/esm/src/overlay-tools/SHIPBroadcaster.js +74 -146
- package/dist/esm/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
- package/dist/esm/src/primitives/AESGCM.js +2 -2
- package/dist/esm/src/primitives/AESGCM.js.map +1 -1
- package/dist/esm/src/primitives/BigNumber.js +167 -154
- package/dist/esm/src/primitives/BigNumber.js.map +1 -1
- package/dist/esm/src/primitives/Curve.js +17 -15
- package/dist/esm/src/primitives/Curve.js.map +1 -1
- package/dist/esm/src/primitives/ECDSA.js +12 -7
- package/dist/esm/src/primitives/ECDSA.js.map +1 -1
- package/dist/esm/src/primitives/Hash.js +140 -56
- package/dist/esm/src/primitives/Hash.js.map +1 -1
- package/dist/esm/src/primitives/JacobianPoint.js +8 -8
- package/dist/esm/src/primitives/JacobianPoint.js.map +1 -1
- package/dist/esm/src/primitives/K256.js +3 -3
- package/dist/esm/src/primitives/K256.js.map +1 -1
- package/dist/esm/src/primitives/Point.js +36 -40
- package/dist/esm/src/primitives/Point.js.map +1 -1
- package/dist/esm/src/primitives/PrivateKey.js +4 -4
- package/dist/esm/src/primitives/PrivateKey.js.map +1 -1
- package/dist/esm/src/primitives/PublicKey.js +4 -4
- package/dist/esm/src/primitives/PublicKey.js.map +1 -1
- package/dist/esm/src/primitives/Random.js +10 -14
- package/dist/esm/src/primitives/Random.js.map +1 -1
- package/dist/esm/src/primitives/ReaderUint8Array.js +6 -6
- package/dist/esm/src/primitives/ReaderUint8Array.js.map +1 -1
- package/dist/esm/src/primitives/Schnorr.js +1 -1
- package/dist/esm/src/primitives/Schnorr.js.map +1 -1
- package/dist/esm/src/primitives/Secp256r1.js +2 -1
- package/dist/esm/src/primitives/Secp256r1.js.map +1 -1
- package/dist/esm/src/primitives/Signature.js +8 -8
- package/dist/esm/src/primitives/Signature.js.map +1 -1
- package/dist/esm/src/primitives/TransactionSignature.js +20 -21
- package/dist/esm/src/primitives/TransactionSignature.js.map +1 -1
- package/dist/esm/src/primitives/utils.js +39 -48
- package/dist/esm/src/primitives/utils.js.map +1 -1
- package/dist/esm/src/registry/RegistryClient.js +31 -23
- package/dist/esm/src/registry/RegistryClient.js.map +1 -1
- package/dist/esm/src/remittance/RemittanceManager.js +19 -18
- package/dist/esm/src/remittance/RemittanceManager.js.map +1 -1
- package/dist/esm/src/remittance/modules/BasicBRC29.js.map +1 -1
- package/dist/esm/src/script/Script.js +93 -170
- package/dist/esm/src/script/Script.js.map +1 -1
- package/dist/esm/src/script/ScriptEvaluationError.js +2 -2
- package/dist/esm/src/script/ScriptEvaluationError.js.map +1 -1
- package/dist/esm/src/script/Spend.js +14 -12
- package/dist/esm/src/script/Spend.js.map +1 -1
- package/dist/esm/src/script/templates/PushDrop.js +4 -3
- package/dist/esm/src/script/templates/PushDrop.js.map +1 -1
- package/dist/esm/src/script/templates/RPuzzle.js +2 -4
- package/dist/esm/src/script/templates/RPuzzle.js.map +1 -1
- package/dist/esm/src/storage/StorageDownloader.js +1 -1
- package/dist/esm/src/storage/StorageDownloader.js.map +1 -1
- package/dist/esm/src/totp/totp.js +1 -1
- package/dist/esm/src/totp/totp.js.map +1 -1
- package/dist/esm/src/transaction/Beef.js +229 -186
- package/dist/esm/src/transaction/Beef.js.map +1 -1
- package/dist/esm/src/transaction/BeefConstants.js +16 -0
- package/dist/esm/src/transaction/BeefConstants.js.map +1 -0
- package/dist/esm/src/transaction/BeefTx.js +3 -3
- package/dist/esm/src/transaction/BeefTx.js.map +1 -1
- package/dist/esm/src/transaction/MerklePath.js +4 -4
- package/dist/esm/src/transaction/MerklePath.js.map +1 -1
- package/dist/esm/src/transaction/Transaction.js +49 -52
- package/dist/esm/src/transaction/Transaction.js.map +1 -1
- package/dist/esm/src/transaction/fee-models/SatoshisPerKilobyte.js +1 -1
- package/dist/esm/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
- package/dist/esm/src/transaction/http/BinaryFetchClient.js +9 -9
- package/dist/esm/src/transaction/http/BinaryFetchClient.js.map +1 -1
- package/dist/esm/src/transaction/http/DefaultHttpClient.js +9 -9
- package/dist/esm/src/transaction/http/DefaultHttpClient.js.map +1 -1
- package/dist/esm/src/wallet/CachedKeyDeriver.js +1 -1
- package/dist/esm/src/wallet/CachedKeyDeriver.js.map +1 -1
- package/dist/esm/src/wallet/WalletClient.js.map +1 -1
- package/dist/esm/src/wallet/WalletError.js.map +1 -1
- package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js +5 -4
- package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
- package/dist/esm/src/wallet/substrates/ReactNativeWebView.js +9 -9
- package/dist/esm/src/wallet/substrates/ReactNativeWebView.js.map +1 -1
- package/dist/esm/src/wallet/substrates/WalletWireProcessor.js +92 -92
- package/dist/esm/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
- package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js +387 -711
- package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
- package/dist/esm/src/wallet/substrates/XDM.js +4 -4
- package/dist/esm/src/wallet/substrates/XDM.js.map +1 -1
- package/dist/esm/src/wallet/substrates/window.CWI.js +2 -2
- package/dist/esm/src/wallet/substrates/window.CWI.js.map +1 -1
- package/dist/esm/src/wallet/validationHelpers.js +9 -9
- package/dist/esm/src/wallet/validationHelpers.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/types/src/auth/Peer.d.ts +13 -0
- package/dist/types/src/auth/Peer.d.ts.map +1 -1
- package/dist/types/src/auth/SessionManager.d.ts.map +1 -1
- package/dist/types/src/auth/clients/AuthFetch.d.ts.map +1 -1
- package/dist/types/src/compat/ECIES.d.ts.map +1 -1
- package/dist/types/src/compat/HD.d.ts.map +1 -1
- package/dist/types/src/identity/ContactsManager.d.ts +18 -0
- package/dist/types/src/identity/ContactsManager.d.ts.map +1 -1
- package/dist/types/src/identity/IdentityClient.d.ts +47 -8
- package/dist/types/src/identity/IdentityClient.d.ts.map +1 -1
- package/dist/types/src/kvstore/GlobalKVStore.d.ts.map +1 -1
- package/dist/types/src/overlay-tools/LookupResolver.d.ts +59 -1
- package/dist/types/src/overlay-tools/LookupResolver.d.ts.map +1 -1
- package/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts +18 -3
- package/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts.map +1 -1
- package/dist/types/src/primitives/BigNumber.d.ts +13 -3
- package/dist/types/src/primitives/BigNumber.d.ts.map +1 -1
- package/dist/types/src/primitives/Curve.d.ts.map +1 -1
- package/dist/types/src/primitives/ECDSA.d.ts.map +1 -1
- package/dist/types/src/primitives/Hash.d.ts +3 -3
- package/dist/types/src/primitives/Hash.d.ts.map +1 -1
- package/dist/types/src/primitives/JacobianPoint.d.ts +3 -1
- package/dist/types/src/primitives/JacobianPoint.d.ts.map +1 -1
- package/dist/types/src/primitives/Point.d.ts.map +1 -1
- package/dist/types/src/primitives/Random.d.ts +2 -2
- package/dist/types/src/primitives/Random.d.ts.map +1 -1
- package/dist/types/src/primitives/ReaderUint8Array.d.ts.map +1 -1
- package/dist/types/src/primitives/Schnorr.d.ts +2 -1
- package/dist/types/src/primitives/Schnorr.d.ts.map +1 -1
- package/dist/types/src/primitives/Secp256r1.d.ts.map +1 -1
- package/dist/types/src/primitives/utils.d.ts +2 -4
- package/dist/types/src/primitives/utils.d.ts.map +1 -1
- package/dist/types/src/registry/RegistryClient.d.ts.map +1 -1
- package/dist/types/src/remittance/RemittanceManager.d.ts.map +1 -1
- package/dist/types/src/remittance/modules/BasicBRC29.d.ts.map +1 -1
- package/dist/types/src/script/Script.d.ts +15 -8
- package/dist/types/src/script/Script.d.ts.map +1 -1
- package/dist/types/src/script/Spend.d.ts.map +1 -1
- package/dist/types/src/script/templates/PushDrop.d.ts +3 -1
- 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/transaction/Beef.d.ts +46 -8
- package/dist/types/src/transaction/Beef.d.ts.map +1 -1
- package/dist/types/src/transaction/BeefConstants.d.ts +15 -0
- package/dist/types/src/transaction/BeefConstants.d.ts.map +1 -0
- package/dist/types/src/transaction/Transaction.d.ts.map +1 -1
- package/dist/types/src/wallet/CachedKeyDeriver.d.ts.map +1 -1
- package/dist/types/src/wallet/KeyDeriver.d.ts +1 -1
- package/dist/types/src/wallet/KeyDeriver.d.ts.map +1 -1
- package/dist/types/src/wallet/Wallet.interfaces.d.ts +2 -2
- package/dist/types/src/wallet/Wallet.interfaces.d.ts.map +1 -1
- package/dist/types/src/wallet/WalletClient.d.ts +7 -7
- package/dist/types/src/wallet/WalletClient.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts +7 -7
- package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/WalletWireTransceiver.d.ts +36 -7
- package/dist/types/src/wallet/substrates/WalletWireTransceiver.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/window.CWI.d.ts +8 -8
- 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 +3 -3
- package/docs/reference/kvstore.md +1 -2
- package/docs/reference/primitives.md +0 -1
- package/docs/reference/script.md +0 -7
- package/docs/reference/transaction.md +2 -2
- package/package.json +29 -28
- package/src/auth/Peer.ts +26 -13
- package/src/auth/SessionManager.ts +4 -7
- package/src/auth/certificates/MasterCertificate.ts +1 -1
- package/src/auth/certificates/__tests/CompletedProtoWallet.ts +1 -1
- package/src/auth/clients/AuthFetch.ts +41 -41
- package/src/auth/transports/SimplifiedFetchTransport.ts +4 -4
- package/src/compat/ECIES.ts +29 -34
- package/src/compat/HD.ts +10 -5
- package/src/compat/Mnemonic.ts +11 -11
- package/src/compat/__tests/HD.test.ts +19 -0
- package/src/identity/ContactsManager.ts +194 -257
- package/src/identity/IdentityClient.ts +155 -66
- package/src/identity/__tests/IdentityClient.test.ts +25 -1
- package/src/kvstore/GlobalKVStore.ts +31 -32
- package/src/kvstore/LocalKVStore.ts +8 -8
- package/src/kvstore/kvStoreInterpreter.ts +2 -2
- package/src/messages/SignedMessage.ts +1 -1
- package/src/overlay-tools/Historian.ts +1 -1
- package/src/overlay-tools/LookupResolver.ts +182 -45
- package/src/overlay-tools/SHIPBroadcaster.ts +92 -168
- package/src/primitives/AESGCM.ts +2 -2
- package/src/primitives/BigNumber.ts +122 -113
- package/src/primitives/Curve.ts +16 -15
- package/src/primitives/ECDSA.ts +10 -8
- package/src/primitives/Hash.ts +152 -53
- package/src/primitives/JacobianPoint.ts +13 -11
- package/src/primitives/K256.ts +3 -3
- package/src/primitives/Point.ts +35 -38
- package/src/primitives/PrivateKey.ts +3 -3
- package/src/primitives/PublicKey.ts +3 -3
- package/src/primitives/Random.ts +11 -14
- package/src/primitives/ReaderUint8Array.ts +7 -7
- package/src/primitives/Schnorr.ts +2 -1
- package/src/primitives/Secp256r1.ts +2 -1
- package/src/primitives/Signature.ts +8 -8
- package/src/primitives/TransactionSignature.ts +16 -16
- package/src/primitives/utils.ts +37 -47
- package/src/registry/RegistryClient.ts +25 -25
- package/src/remittance/RemittanceManager.ts +17 -18
- package/src/remittance/modules/BasicBRC29.ts +2 -5
- package/src/script/Script.ts +114 -170
- package/src/script/ScriptEvaluationError.ts +2 -2
- package/src/script/Spend.ts +14 -15
- package/src/script/templates/PushDrop.ts +5 -3
- package/src/script/templates/RPuzzle.ts +2 -4
- package/src/storage/StorageDownloader.ts +1 -1
- package/src/totp/totp.ts +1 -1
- package/src/transaction/Beef.ts +241 -203
- package/src/transaction/BeefConstants.ts +16 -0
- package/src/transaction/BeefTx.ts +3 -3
- package/src/transaction/MerklePath.ts +4 -4
- package/src/transaction/Transaction.ts +48 -51
- package/src/transaction/fee-models/SatoshisPerKilobyte.ts +1 -1
- package/src/transaction/http/BinaryFetchClient.ts +8 -8
- package/src/transaction/http/DefaultHttpClient.ts +8 -8
- package/src/wallet/CachedKeyDeriver.ts +8 -6
- package/src/wallet/KeyDeriver.ts +1 -1
- package/src/wallet/Wallet.interfaces.ts +2 -4
- package/src/wallet/WalletClient.ts +8 -8
- package/src/wallet/WalletError.ts +1 -1
- package/src/wallet/__tests/WalletClient.substrate.test.ts +10 -6
- package/src/wallet/substrates/HTTPWalletJSON.ts +22 -21
- package/src/wallet/substrates/ReactNativeWebView.ts +9 -9
- package/src/wallet/substrates/WalletWireProcessor.ts +83 -83
- package/src/wallet/substrates/WalletWireTransceiver.ts +528 -938
- package/src/wallet/substrates/XDM.ts +4 -4
- package/src/wallet/substrates/__tests/HTTPWalletJSON.test.ts +38 -25
- package/src/wallet/substrates/__tests/ReactNativeWebView.test.ts +174 -0
- package/src/wallet/substrates/__tests/window.CWI.test.ts +256 -0
- package/src/wallet/substrates/window.CWI.ts +10 -10
- package/src/wallet/validationHelpers.ts +9 -9
- package/docs/swagger/dist/LICENSE +0 -21
- package/docs/swagger/dist/favicon-16x16.png +0 -0
- package/docs/swagger/dist/favicon-32x32.png +0 -0
- package/docs/swagger/dist/index.css +0 -16
- package/docs/swagger/dist/oauth2-redirect.html +0 -79
- package/docs/swagger/dist/swagger-initializer.js +0 -20
- package/docs/swagger/dist/swagger-ui-bundle.js +0 -2
- package/docs/swagger/dist/swagger-ui-bundle.js.map +0 -1
- package/docs/swagger/dist/swagger-ui-es-bundle-core.js +0 -3
- package/docs/swagger/dist/swagger-ui-es-bundle-core.js.map +0 -1
- package/docs/swagger/dist/swagger-ui-es-bundle.js +0 -2
- package/docs/swagger/dist/swagger-ui-es-bundle.js.map +0 -1
- package/docs/swagger/dist/swagger-ui-standalone-preset.js +0 -2
- package/docs/swagger/dist/swagger-ui-standalone-preset.js.map +0 -1
- package/docs/swagger/dist/swagger-ui.css +0 -3
- package/docs/swagger/dist/swagger-ui.css.map +0 -1
- package/docs/swagger/dist/swagger-ui.js +0 -2
- package/docs/swagger/dist/swagger-ui.js.map +0 -1
|
@@ -56,7 +56,7 @@ export default class HTTPWalletJSON implements WalletInterface {
|
|
|
56
56
|
this.httpClient = httpClient
|
|
57
57
|
|
|
58
58
|
// Detect if we're in a browser environment
|
|
59
|
-
const isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window?.origin !== 'file://'
|
|
59
|
+
const isBrowser = typeof globalThis.window !== 'undefined' && typeof document !== 'undefined' && globalThis.window?.origin !== 'file://'
|
|
60
60
|
|
|
61
61
|
this.api = async (call: string, args: object) => {
|
|
62
62
|
// In browser environments, let the browser handle Origin header automatically
|
|
@@ -66,21 +66,22 @@ export default class HTTPWalletJSON implements WalletInterface {
|
|
|
66
66
|
: undefined
|
|
67
67
|
|
|
68
68
|
if (!isBrowser && origin === undefined) {
|
|
69
|
-
|
|
69
|
+
throw new Error(
|
|
70
|
+
'HTTPWalletJSON: originator is required when using the HTTP substrate in Node.js. ' +
|
|
71
|
+
'Pass an originator (e.g. "example.com") to the constructor.'
|
|
72
|
+
)
|
|
70
73
|
}
|
|
71
74
|
|
|
72
|
-
const res = await (
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
})
|
|
83
|
-
)
|
|
75
|
+
const res = await httpClient(`${this.baseUrl}/${call}`, {
|
|
76
|
+
method: 'POST',
|
|
77
|
+
headers: {
|
|
78
|
+
Accept: 'application/json',
|
|
79
|
+
'Content-Type': 'application/json',
|
|
80
|
+
...(origin ? { Origin: origin } : {}),
|
|
81
|
+
...(origin ? { Originator: origin } : {}),
|
|
82
|
+
},
|
|
83
|
+
body: JSON.stringify(args)
|
|
84
|
+
})
|
|
84
85
|
|
|
85
86
|
const data = await res.json()
|
|
86
87
|
|
|
@@ -152,7 +153,7 @@ export default class HTTPWalletJSON implements WalletInterface {
|
|
|
152
153
|
keyID?: KeyIDStringUnder800Bytes
|
|
153
154
|
privileged?: BooleanDefaultFalse
|
|
154
155
|
privilegedReason?: DescriptionString5to50Bytes
|
|
155
|
-
counterparty?: PubKeyHex
|
|
156
|
+
counterparty?: PubKeyHex
|
|
156
157
|
forSelf?: BooleanDefaultFalse
|
|
157
158
|
}): Promise<{ publicKey: PubKeyHex }> {
|
|
158
159
|
return await this.api('getPublicKey', args) as { publicKey: PubKeyHex }
|
|
@@ -216,7 +217,7 @@ export default class HTTPWalletJSON implements WalletInterface {
|
|
|
216
217
|
protocolID: [SecurityLevel, ProtocolString5To400Bytes]
|
|
217
218
|
keyID: KeyIDStringUnder800Bytes
|
|
218
219
|
privilegedReason?: DescriptionString5to50Bytes
|
|
219
|
-
counterparty?: PubKeyHex
|
|
220
|
+
counterparty?: PubKeyHex
|
|
220
221
|
privileged?: BooleanDefaultFalse
|
|
221
222
|
}): Promise<{ ciphertext: Byte[] }> {
|
|
222
223
|
return await this.api('encrypt', args) as { ciphertext: Byte[] }
|
|
@@ -228,7 +229,7 @@ export default class HTTPWalletJSON implements WalletInterface {
|
|
|
228
229
|
protocolID: [SecurityLevel, ProtocolString5To400Bytes]
|
|
229
230
|
keyID: KeyIDStringUnder800Bytes
|
|
230
231
|
privilegedReason?: DescriptionString5to50Bytes
|
|
231
|
-
counterparty?: PubKeyHex
|
|
232
|
+
counterparty?: PubKeyHex
|
|
232
233
|
privileged?: BooleanDefaultFalse
|
|
233
234
|
}): Promise<{ plaintext: Byte[] }> {
|
|
234
235
|
return await this.api('decrypt', args) as { plaintext: Byte[] }
|
|
@@ -240,7 +241,7 @@ export default class HTTPWalletJSON implements WalletInterface {
|
|
|
240
241
|
protocolID: [SecurityLevel, ProtocolString5To400Bytes]
|
|
241
242
|
keyID: KeyIDStringUnder800Bytes
|
|
242
243
|
privilegedReason?: DescriptionString5to50Bytes
|
|
243
|
-
counterparty?: PubKeyHex
|
|
244
|
+
counterparty?: PubKeyHex
|
|
244
245
|
privileged?: BooleanDefaultFalse
|
|
245
246
|
}): Promise<{ hmac: Byte[] }> {
|
|
246
247
|
return await this.api('createHmac', args) as { hmac: Byte[] }
|
|
@@ -253,7 +254,7 @@ export default class HTTPWalletJSON implements WalletInterface {
|
|
|
253
254
|
protocolID: [SecurityLevel, ProtocolString5To400Bytes]
|
|
254
255
|
keyID: KeyIDStringUnder800Bytes
|
|
255
256
|
privilegedReason?: DescriptionString5to50Bytes
|
|
256
|
-
counterparty?: PubKeyHex
|
|
257
|
+
counterparty?: PubKeyHex
|
|
257
258
|
privileged?: BooleanDefaultFalse
|
|
258
259
|
}): Promise<{ valid: true }> {
|
|
259
260
|
return await this.api('verifyHmac', args) as { valid: true }
|
|
@@ -266,7 +267,7 @@ export default class HTTPWalletJSON implements WalletInterface {
|
|
|
266
267
|
protocolID: [SecurityLevel, ProtocolString5To400Bytes]
|
|
267
268
|
keyID: KeyIDStringUnder800Bytes
|
|
268
269
|
privilegedReason?: DescriptionString5to50Bytes
|
|
269
|
-
counterparty?: PubKeyHex
|
|
270
|
+
counterparty?: PubKeyHex
|
|
270
271
|
privileged?: BooleanDefaultFalse
|
|
271
272
|
}): Promise<{ signature: Byte[] }> {
|
|
272
273
|
return await this.api('createSignature', args) as { signature: Byte[] }
|
|
@@ -280,7 +281,7 @@ export default class HTTPWalletJSON implements WalletInterface {
|
|
|
280
281
|
protocolID: [SecurityLevel, ProtocolString5To400Bytes]
|
|
281
282
|
keyID: KeyIDStringUnder800Bytes
|
|
282
283
|
privilegedReason?: DescriptionString5to50Bytes
|
|
283
|
-
counterparty?: PubKeyHex
|
|
284
|
+
counterparty?: PubKeyHex
|
|
284
285
|
forSelf?: BooleanDefaultFalse
|
|
285
286
|
privileged?: BooleanDefaultFalse
|
|
286
287
|
}): Promise<{ valid: true }> {
|
|
@@ -19,16 +19,16 @@ export default class ReactNativeWebView extends InvokableWalletBase {
|
|
|
19
19
|
|
|
20
20
|
constructor(domain: string = '*') {
|
|
21
21
|
super()
|
|
22
|
-
if (typeof window !== 'object') {
|
|
23
|
-
throw new
|
|
22
|
+
if (typeof globalThis.window !== 'object') {
|
|
23
|
+
throw new TypeError('The XDM substrate requires a global window object.')
|
|
24
24
|
}
|
|
25
|
-
if (!(window as unknown as ReactNativeWindow).hasOwnProperty("ReactNativeWebView")) {
|
|
25
|
+
if (!(globalThis.window as unknown as ReactNativeWindow).hasOwnProperty("ReactNativeWebView")) {
|
|
26
26
|
throw new Error(
|
|
27
27
|
'The window object does not have a ReactNativeWebView property.'
|
|
28
28
|
)
|
|
29
29
|
}
|
|
30
|
-
if (typeof (window as unknown as ReactNativeWindow).ReactNativeWebView.postMessage !== 'function') {
|
|
31
|
-
throw new
|
|
30
|
+
if (typeof (globalThis.window as unknown as ReactNativeWindow).ReactNativeWebView.postMessage !== 'function') {
|
|
31
|
+
throw new TypeError(
|
|
32
32
|
'The window.ReactNativeWebView property does not seem to support postMessage calls.'
|
|
33
33
|
)
|
|
34
34
|
}
|
|
@@ -47,8 +47,8 @@ export default class ReactNativeWebView extends InvokableWalletBase {
|
|
|
47
47
|
) {
|
|
48
48
|
return
|
|
49
49
|
}
|
|
50
|
-
if (typeof window.removeEventListener === 'function') {
|
|
51
|
-
window.removeEventListener('message', listener)
|
|
50
|
+
if (typeof globalThis.window.removeEventListener === 'function') {
|
|
51
|
+
globalThis.window.removeEventListener('message', listener)
|
|
52
52
|
}
|
|
53
53
|
if (data.status === 'error') {
|
|
54
54
|
const err = new WalletError(data.description, data.code)
|
|
@@ -57,8 +57,8 @@ export default class ReactNativeWebView extends InvokableWalletBase {
|
|
|
57
57
|
resolve(data.result)
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
-
window.addEventListener('message', listener)
|
|
61
|
-
;(window as unknown as ReactNativeWindow).ReactNativeWebView.postMessage(
|
|
60
|
+
globalThis.window.addEventListener('message', listener)
|
|
61
|
+
;(globalThis.window as unknown as ReactNativeWindow).ReactNativeWebView.postMessage(
|
|
62
62
|
JSON.stringify({
|
|
63
63
|
type: 'CWI',
|
|
64
64
|
isInvocation: true,
|
|
@@ -319,26 +319,28 @@ export default class WalletWireProcessor implements WalletWire {
|
|
|
319
319
|
}
|
|
320
320
|
|
|
321
321
|
// tx
|
|
322
|
-
if (createActionResult.tx
|
|
322
|
+
if (createActionResult.tx == null) {
|
|
323
|
+
resultWriter.writeInt8(0)
|
|
324
|
+
} else {
|
|
323
325
|
resultWriter.writeInt8(1)
|
|
324
326
|
resultWriter.writeVarIntNum(createActionResult.tx.length)
|
|
325
327
|
resultWriter.write(createActionResult.tx)
|
|
326
|
-
} else {
|
|
327
|
-
resultWriter.writeInt8(0)
|
|
328
328
|
}
|
|
329
329
|
|
|
330
330
|
// noSendChange
|
|
331
|
-
if (createActionResult.noSendChange
|
|
331
|
+
if (createActionResult.noSendChange == null) {
|
|
332
|
+
resultWriter.writeVarIntNum(-1)
|
|
333
|
+
} else {
|
|
332
334
|
resultWriter.writeVarIntNum(createActionResult.noSendChange.length)
|
|
333
335
|
for (const outpoint of createActionResult.noSendChange) {
|
|
334
336
|
resultWriter.write(this.encodeOutpoint(outpoint))
|
|
335
337
|
}
|
|
336
|
-
} else {
|
|
337
|
-
resultWriter.writeVarIntNum(-1)
|
|
338
338
|
}
|
|
339
339
|
|
|
340
340
|
// sendWithResults
|
|
341
|
-
if (createActionResult.sendWithResults
|
|
341
|
+
if (createActionResult.sendWithResults == null) {
|
|
342
|
+
resultWriter.writeVarIntNum(-1)
|
|
343
|
+
} else {
|
|
342
344
|
resultWriter.writeVarIntNum(
|
|
343
345
|
createActionResult.sendWithResults.length
|
|
344
346
|
)
|
|
@@ -350,12 +352,12 @@ export default class WalletWireProcessor implements WalletWire {
|
|
|
350
352
|
else if (result.status === 'failed') statusCode = 3
|
|
351
353
|
resultWriter.writeInt8(statusCode)
|
|
352
354
|
}
|
|
353
|
-
} else {
|
|
354
|
-
resultWriter.writeVarIntNum(-1)
|
|
355
355
|
}
|
|
356
356
|
|
|
357
357
|
// signableTransaction
|
|
358
|
-
if (createActionResult.signableTransaction
|
|
358
|
+
if (createActionResult.signableTransaction == null) {
|
|
359
|
+
resultWriter.writeInt8(0)
|
|
360
|
+
} else {
|
|
359
361
|
resultWriter.writeInt8(1)
|
|
360
362
|
resultWriter.writeVarIntNum(
|
|
361
363
|
createActionResult.signableTransaction.tx.length
|
|
@@ -367,8 +369,6 @@ export default class WalletWireProcessor implements WalletWire {
|
|
|
367
369
|
)
|
|
368
370
|
resultWriter.writeVarIntNum(referenceBytes.length)
|
|
369
371
|
resultWriter.write(referenceBytes)
|
|
370
|
-
} else {
|
|
371
|
-
resultWriter.writeInt8(0)
|
|
372
372
|
}
|
|
373
373
|
|
|
374
374
|
// Return success code and result
|
|
@@ -474,16 +474,18 @@ export default class WalletWireProcessor implements WalletWire {
|
|
|
474
474
|
}
|
|
475
475
|
|
|
476
476
|
// tx
|
|
477
|
-
if (signActionResult.tx
|
|
477
|
+
if (signActionResult.tx == null) {
|
|
478
|
+
resultWriter.writeInt8(0)
|
|
479
|
+
} else {
|
|
478
480
|
resultWriter.writeInt8(1)
|
|
479
481
|
resultWriter.writeVarIntNum(signActionResult.tx.length)
|
|
480
482
|
resultWriter.write(signActionResult.tx)
|
|
481
|
-
} else {
|
|
482
|
-
resultWriter.writeInt8(0)
|
|
483
483
|
}
|
|
484
484
|
|
|
485
485
|
// sendWithResults
|
|
486
|
-
if (signActionResult.sendWithResults
|
|
486
|
+
if (signActionResult.sendWithResults == null) {
|
|
487
|
+
resultWriter.writeVarIntNum(-1)
|
|
488
|
+
} else {
|
|
487
489
|
resultWriter.writeVarIntNum(
|
|
488
490
|
signActionResult.sendWithResults.length
|
|
489
491
|
)
|
|
@@ -495,8 +497,6 @@ export default class WalletWireProcessor implements WalletWire {
|
|
|
495
497
|
else if (result.status === 'failed') statusCode = 3
|
|
496
498
|
resultWriter.writeInt8(statusCode)
|
|
497
499
|
}
|
|
498
|
-
} else {
|
|
499
|
-
resultWriter.writeVarIntNum(-1)
|
|
500
500
|
}
|
|
501
501
|
|
|
502
502
|
// Return success code and result
|
|
@@ -644,15 +644,15 @@ export default class WalletWireProcessor implements WalletWire {
|
|
|
644
644
|
resultWriter.write(descriptionBytes)
|
|
645
645
|
|
|
646
646
|
// labels
|
|
647
|
-
if (action.labels
|
|
647
|
+
if (action.labels === undefined) {
|
|
648
|
+
resultWriter.writeVarIntNum(-1)
|
|
649
|
+
} else {
|
|
648
650
|
resultWriter.writeVarIntNum(action.labels.length)
|
|
649
651
|
for (const label of action.labels) {
|
|
650
652
|
const labelBytes = Utils.toArray(label, 'utf8')
|
|
651
653
|
resultWriter.writeVarIntNum(labelBytes.length)
|
|
652
654
|
resultWriter.write(labelBytes)
|
|
653
655
|
}
|
|
654
|
-
} else {
|
|
655
|
-
resultWriter.writeVarIntNum(-1)
|
|
656
656
|
}
|
|
657
657
|
|
|
658
658
|
// version
|
|
@@ -662,7 +662,9 @@ export default class WalletWireProcessor implements WalletWire {
|
|
|
662
662
|
resultWriter.writeVarIntNum(action.lockTime)
|
|
663
663
|
|
|
664
664
|
// inputs
|
|
665
|
-
if (action.inputs
|
|
665
|
+
if (action.inputs === undefined) {
|
|
666
|
+
resultWriter.writeVarIntNum(-1)
|
|
667
|
+
} else {
|
|
666
668
|
resultWriter.writeVarIntNum(action.inputs.length)
|
|
667
669
|
for (const input of action.inputs) {
|
|
668
670
|
// sourceOutpoint
|
|
@@ -672,27 +674,27 @@ export default class WalletWireProcessor implements WalletWire {
|
|
|
672
674
|
resultWriter.writeVarIntNum(input.sourceSatoshis)
|
|
673
675
|
|
|
674
676
|
// sourceLockingScript
|
|
675
|
-
if (input.sourceLockingScript
|
|
677
|
+
if (input.sourceLockingScript === undefined) {
|
|
678
|
+
resultWriter.writeVarIntNum(-1)
|
|
679
|
+
} else {
|
|
676
680
|
const sourceLockingScriptBytes = Utils.toArray(
|
|
677
681
|
input.sourceLockingScript,
|
|
678
682
|
'hex'
|
|
679
683
|
)
|
|
680
684
|
resultWriter.writeVarIntNum(sourceLockingScriptBytes.length)
|
|
681
685
|
resultWriter.write(sourceLockingScriptBytes)
|
|
682
|
-
} else {
|
|
683
|
-
resultWriter.writeVarIntNum(-1)
|
|
684
686
|
}
|
|
685
687
|
|
|
686
688
|
// unlockingScript
|
|
687
|
-
if (input.unlockingScript
|
|
689
|
+
if (input.unlockingScript === undefined) {
|
|
690
|
+
resultWriter.writeVarIntNum(-1)
|
|
691
|
+
} else {
|
|
688
692
|
const unlockingScriptBytes = Utils.toArray(
|
|
689
693
|
input.unlockingScript,
|
|
690
694
|
'hex'
|
|
691
695
|
)
|
|
692
696
|
resultWriter.writeVarIntNum(unlockingScriptBytes.length)
|
|
693
697
|
resultWriter.write(unlockingScriptBytes)
|
|
694
|
-
} else {
|
|
695
|
-
resultWriter.writeVarIntNum(-1)
|
|
696
698
|
}
|
|
697
699
|
|
|
698
700
|
// inputDescription
|
|
@@ -706,12 +708,12 @@ export default class WalletWireProcessor implements WalletWire {
|
|
|
706
708
|
// sequenceNumber
|
|
707
709
|
resultWriter.writeVarIntNum(input.sequenceNumber)
|
|
708
710
|
}
|
|
709
|
-
} else {
|
|
710
|
-
resultWriter.writeVarIntNum(-1)
|
|
711
711
|
}
|
|
712
712
|
|
|
713
713
|
// outputs
|
|
714
|
-
if (action.outputs
|
|
714
|
+
if (action.outputs === undefined) {
|
|
715
|
+
resultWriter.writeVarIntNum(-1)
|
|
716
|
+
} else {
|
|
715
717
|
resultWriter.writeVarIntNum(action.outputs.length)
|
|
716
718
|
for (const output of action.outputs) {
|
|
717
719
|
// outputIndex
|
|
@@ -721,15 +723,15 @@ export default class WalletWireProcessor implements WalletWire {
|
|
|
721
723
|
resultWriter.writeVarIntNum(output.satoshis)
|
|
722
724
|
|
|
723
725
|
// lockingScript
|
|
724
|
-
if (output.lockingScript
|
|
726
|
+
if (output.lockingScript === undefined) {
|
|
727
|
+
resultWriter.writeVarIntNum(-1)
|
|
728
|
+
} else {
|
|
725
729
|
const lockingScriptBytes = Utils.toArray(
|
|
726
730
|
output.lockingScript,
|
|
727
731
|
'hex'
|
|
728
732
|
)
|
|
729
733
|
resultWriter.writeVarIntNum(lockingScriptBytes.length)
|
|
730
734
|
resultWriter.write(lockingScriptBytes)
|
|
731
|
-
} else {
|
|
732
|
-
resultWriter.writeVarIntNum(-1)
|
|
733
735
|
}
|
|
734
736
|
|
|
735
737
|
// spendable
|
|
@@ -744,40 +746,38 @@ export default class WalletWireProcessor implements WalletWire {
|
|
|
744
746
|
resultWriter.write(outputDescriptionBytes)
|
|
745
747
|
|
|
746
748
|
// basket
|
|
747
|
-
if (output.basket
|
|
749
|
+
if (output.basket === undefined) {
|
|
750
|
+
resultWriter.writeVarIntNum(-1)
|
|
751
|
+
} else {
|
|
748
752
|
const basketBytes = Utils.toArray(output.basket, 'utf8')
|
|
749
753
|
resultWriter.writeVarIntNum(basketBytes.length)
|
|
750
754
|
resultWriter.write(basketBytes)
|
|
751
|
-
} else {
|
|
752
|
-
resultWriter.writeVarIntNum(-1)
|
|
753
755
|
}
|
|
754
756
|
|
|
755
757
|
// tags
|
|
756
|
-
if (output.tags
|
|
758
|
+
if (output.tags === undefined) {
|
|
759
|
+
resultWriter.writeVarIntNum(-1)
|
|
760
|
+
} else {
|
|
757
761
|
resultWriter.writeVarIntNum(output.tags.length)
|
|
758
762
|
for (const tag of output.tags) {
|
|
759
763
|
const tagBytes = Utils.toArray(tag, 'utf8')
|
|
760
764
|
resultWriter.writeVarIntNum(tagBytes.length)
|
|
761
765
|
resultWriter.write(tagBytes)
|
|
762
766
|
}
|
|
763
|
-
} else {
|
|
764
|
-
resultWriter.writeVarIntNum(-1)
|
|
765
767
|
}
|
|
766
768
|
|
|
767
769
|
// customInstructions
|
|
768
|
-
if (output.customInstructions
|
|
770
|
+
if (output.customInstructions === undefined) {
|
|
771
|
+
resultWriter.writeVarIntNum(-1)
|
|
772
|
+
} else {
|
|
769
773
|
const customInstructionsBytes = Utils.toArray(
|
|
770
774
|
output.customInstructions,
|
|
771
775
|
'utf8'
|
|
772
776
|
)
|
|
773
777
|
resultWriter.writeVarIntNum(customInstructionsBytes.length)
|
|
774
778
|
resultWriter.write(customInstructionsBytes)
|
|
775
|
-
} else {
|
|
776
|
-
resultWriter.writeVarIntNum(-1)
|
|
777
779
|
}
|
|
778
780
|
}
|
|
779
|
-
} else {
|
|
780
|
-
resultWriter.writeVarIntNum(-1)
|
|
781
781
|
}
|
|
782
782
|
}
|
|
783
783
|
|
|
@@ -1000,11 +1000,11 @@ export default class WalletWireProcessor implements WalletWire {
|
|
|
1000
1000
|
resultWriter.writeVarIntNum(listOutputsResult.totalOutputs)
|
|
1001
1001
|
|
|
1002
1002
|
// BEEF length and BEEF or -1
|
|
1003
|
-
if (listOutputsResult.BEEF
|
|
1003
|
+
if (listOutputsResult.BEEF == null) {
|
|
1004
|
+
resultWriter.writeVarIntNum(-1)
|
|
1005
|
+
} else {
|
|
1004
1006
|
resultWriter.writeVarIntNum(listOutputsResult.BEEF.length)
|
|
1005
1007
|
resultWriter.write(listOutputsResult.BEEF)
|
|
1006
|
-
} else {
|
|
1007
|
-
resultWriter.writeVarIntNum(-1)
|
|
1008
1008
|
}
|
|
1009
1009
|
|
|
1010
1010
|
// outputs
|
|
@@ -1016,51 +1016,51 @@ export default class WalletWireProcessor implements WalletWire {
|
|
|
1016
1016
|
resultWriter.writeVarIntNum(output.satoshis)
|
|
1017
1017
|
|
|
1018
1018
|
// lockingScript
|
|
1019
|
-
if (output.lockingScript
|
|
1019
|
+
if (output.lockingScript === undefined) {
|
|
1020
|
+
resultWriter.writeVarIntNum(-1)
|
|
1021
|
+
} else {
|
|
1020
1022
|
const lockingScriptBytes = Utils.toArray(
|
|
1021
1023
|
output.lockingScript,
|
|
1022
1024
|
'hex'
|
|
1023
1025
|
)
|
|
1024
1026
|
resultWriter.writeVarIntNum(lockingScriptBytes.length)
|
|
1025
1027
|
resultWriter.write(lockingScriptBytes)
|
|
1026
|
-
} else {
|
|
1027
|
-
resultWriter.writeVarIntNum(-1)
|
|
1028
1028
|
}
|
|
1029
1029
|
|
|
1030
1030
|
// customInstructions
|
|
1031
|
-
if (output.customInstructions
|
|
1031
|
+
if (output.customInstructions === undefined) {
|
|
1032
|
+
resultWriter.writeVarIntNum(-1)
|
|
1033
|
+
} else {
|
|
1032
1034
|
const customInstructionsBytes = Utils.toArray(
|
|
1033
1035
|
output.customInstructions,
|
|
1034
1036
|
'utf8'
|
|
1035
1037
|
)
|
|
1036
1038
|
resultWriter.writeVarIntNum(customInstructionsBytes.length)
|
|
1037
1039
|
resultWriter.write(customInstructionsBytes)
|
|
1038
|
-
} else {
|
|
1039
|
-
resultWriter.writeVarIntNum(-1)
|
|
1040
1040
|
}
|
|
1041
1041
|
|
|
1042
1042
|
// tags
|
|
1043
|
-
if (output.tags
|
|
1043
|
+
if (output.tags === undefined) {
|
|
1044
|
+
resultWriter.writeVarIntNum(-1)
|
|
1045
|
+
} else {
|
|
1044
1046
|
resultWriter.writeVarIntNum(output.tags.length)
|
|
1045
1047
|
for (const tag of output.tags) {
|
|
1046
1048
|
const tagBytes = Utils.toArray(tag, 'utf8')
|
|
1047
1049
|
resultWriter.writeVarIntNum(tagBytes.length)
|
|
1048
1050
|
resultWriter.write(tagBytes)
|
|
1049
1051
|
}
|
|
1050
|
-
} else {
|
|
1051
|
-
resultWriter.writeVarIntNum(-1)
|
|
1052
1052
|
}
|
|
1053
1053
|
|
|
1054
1054
|
// labels
|
|
1055
|
-
if (output.labels
|
|
1055
|
+
if (output.labels === undefined) {
|
|
1056
|
+
resultWriter.writeVarIntNum(-1)
|
|
1057
|
+
} else {
|
|
1056
1058
|
resultWriter.writeVarIntNum(output.labels.length)
|
|
1057
1059
|
for (const label of output.labels) {
|
|
1058
1060
|
const labelBytes = Utils.toArray(label, 'utf8')
|
|
1059
1061
|
resultWriter.writeVarIntNum(labelBytes.length)
|
|
1060
1062
|
resultWriter.write(labelBytes)
|
|
1061
1063
|
}
|
|
1062
|
-
} else {
|
|
1063
|
-
resultWriter.writeVarIntNum(-1)
|
|
1064
1064
|
}
|
|
1065
1065
|
}
|
|
1066
1066
|
|
|
@@ -1098,7 +1098,25 @@ export default class WalletWireProcessor implements WalletWire {
|
|
|
1098
1098
|
const identityKeyFlag = paramsReader.readUInt8()
|
|
1099
1099
|
args.identityKey = identityKeyFlag === 1
|
|
1100
1100
|
|
|
1101
|
-
if (args.identityKey
|
|
1101
|
+
if (args.identityKey === true) {
|
|
1102
|
+
// Deserialize privilege parameters
|
|
1103
|
+
const privilegedFlag = paramsReader.readInt8()
|
|
1104
|
+
if (privilegedFlag === -1) {
|
|
1105
|
+
args.privileged = undefined
|
|
1106
|
+
} else {
|
|
1107
|
+
args.privileged = privilegedFlag === 1
|
|
1108
|
+
}
|
|
1109
|
+
|
|
1110
|
+
const privilegedReasonLength = paramsReader.readInt8()
|
|
1111
|
+
if (privilegedReasonLength === -1) {
|
|
1112
|
+
args.privilegedReason = undefined
|
|
1113
|
+
} else {
|
|
1114
|
+
const privilegedReasonBytes = paramsReader.read(
|
|
1115
|
+
privilegedReasonLength
|
|
1116
|
+
)
|
|
1117
|
+
args.privilegedReason = Utils.toUTF8(privilegedReasonBytes)
|
|
1118
|
+
}
|
|
1119
|
+
} else {
|
|
1102
1120
|
// Deserialize protocolID
|
|
1103
1121
|
args.protocolID = this.decodeProtocolID(paramsReader)
|
|
1104
1122
|
|
|
@@ -1117,13 +1135,13 @@ export default class WalletWireProcessor implements WalletWire {
|
|
|
1117
1135
|
}
|
|
1118
1136
|
|
|
1119
1137
|
const privilegedReasonLength = paramsReader.readInt8()
|
|
1120
|
-
if (privilegedReasonLength
|
|
1138
|
+
if (privilegedReasonLength === -1) {
|
|
1139
|
+
args.privilegedReason = undefined
|
|
1140
|
+
} else {
|
|
1121
1141
|
const privilegedReasonBytes = paramsReader.read(
|
|
1122
1142
|
privilegedReasonLength
|
|
1123
1143
|
)
|
|
1124
1144
|
args.privilegedReason = Utils.toUTF8(privilegedReasonBytes)
|
|
1125
|
-
} else {
|
|
1126
|
-
args.privilegedReason = undefined
|
|
1127
1145
|
}
|
|
1128
1146
|
|
|
1129
1147
|
// Deserialize forSelf
|
|
@@ -1133,24 +1151,6 @@ export default class WalletWireProcessor implements WalletWire {
|
|
|
1133
1151
|
} else {
|
|
1134
1152
|
args.forSelf = forSelfFlag === 1
|
|
1135
1153
|
}
|
|
1136
|
-
} else {
|
|
1137
|
-
// Deserialize privilege parameters
|
|
1138
|
-
const privilegedFlag = paramsReader.readInt8()
|
|
1139
|
-
if (privilegedFlag === -1) {
|
|
1140
|
-
args.privileged = undefined
|
|
1141
|
-
} else {
|
|
1142
|
-
args.privileged = privilegedFlag === 1
|
|
1143
|
-
}
|
|
1144
|
-
|
|
1145
|
-
const privilegedReasonLength = paramsReader.readInt8()
|
|
1146
|
-
if (privilegedReasonLength !== -1) {
|
|
1147
|
-
const privilegedReasonBytes = paramsReader.read(
|
|
1148
|
-
privilegedReasonLength
|
|
1149
|
-
)
|
|
1150
|
-
args.privilegedReason = Utils.toUTF8(privilegedReasonBytes)
|
|
1151
|
-
} else {
|
|
1152
|
-
args.privilegedReason = undefined
|
|
1153
|
-
}
|
|
1154
1154
|
}
|
|
1155
1155
|
|
|
1156
1156
|
// Deserialize seekPermission
|
|
@@ -2085,7 +2085,7 @@ export default class WalletWireProcessor implements WalletWire {
|
|
|
2085
2085
|
|
|
2086
2086
|
private decodeCounterparty(
|
|
2087
2087
|
reader: Utils.Reader
|
|
2088
|
-
): string |
|
|
2088
|
+
): string | undefined {
|
|
2089
2089
|
const counterpartyFlag = reader.readUInt8()
|
|
2090
2090
|
if (counterpartyFlag === 11) {
|
|
2091
2091
|
return 'self'
|