@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
package/src/primitives/utils.ts
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import BigNumber from './BigNumber.js'
|
|
2
2
|
import { hash256 } from './Hash.js'
|
|
3
3
|
import { assertValidHex } from './hex.js'
|
|
4
|
-
import { WriterUint8Array } from './WriterUint8Array.js'
|
|
5
|
-
import { ReaderUint8Array } from './ReaderUint8Array.js'
|
|
6
4
|
|
|
7
|
-
export { WriterUint8Array }
|
|
8
|
-
export { ReaderUint8Array }
|
|
5
|
+
export { WriterUint8Array } from './WriterUint8Array.js'
|
|
6
|
+
export { ReaderUint8Array } from './ReaderUint8Array.js'
|
|
9
7
|
|
|
10
8
|
const BufferCtor =
|
|
11
|
-
typeof globalThis
|
|
9
|
+
typeof globalThis === 'undefined' ? undefined : (globalThis as any).Buffer
|
|
12
10
|
const CAN_USE_BUFFER =
|
|
13
11
|
BufferCtor != null && typeof BufferCtor.from === 'function'
|
|
14
12
|
|
|
@@ -75,7 +73,7 @@ export const toArray = (msg: any, enc?: 'hex' | 'utf8' | 'base64'): any[] => {
|
|
|
75
73
|
if (msg === undefined) return []
|
|
76
74
|
|
|
77
75
|
if (typeof msg !== 'string') {
|
|
78
|
-
return Array.from(msg, (item: any) => item
|
|
76
|
+
return Array.from(msg, (item: any) => Math.trunc(item))
|
|
79
77
|
}
|
|
80
78
|
|
|
81
79
|
switch (enc) {
|
|
@@ -106,8 +104,8 @@ const hexToArray = (msg: string): number[] => {
|
|
|
106
104
|
const out = new Array(normalized.length / 2)
|
|
107
105
|
let o = 0
|
|
108
106
|
for (let i = 0; i < normalized.length; i += 2) {
|
|
109
|
-
const hi = HEX_CHAR_TO_VALUE[normalized.
|
|
110
|
-
const lo = HEX_CHAR_TO_VALUE[normalized.
|
|
107
|
+
const hi = HEX_CHAR_TO_VALUE[normalized.codePointAt(i) as number]
|
|
108
|
+
const lo = HEX_CHAR_TO_VALUE[normalized.codePointAt(i + 1) as number]
|
|
111
109
|
out[o++] = (hi << 4) | lo
|
|
112
110
|
}
|
|
113
111
|
return out
|
|
@@ -119,8 +117,8 @@ export function base64ToArray (msg: string): number[] {
|
|
|
119
117
|
}
|
|
120
118
|
|
|
121
119
|
// cleanse string
|
|
122
|
-
let s = msg.trim().
|
|
123
|
-
s = s.
|
|
120
|
+
let s = msg.trim().replaceAll(/[\r\n\t\f\v ]+/g, '')
|
|
121
|
+
s = s.replaceAll('-', '+').replaceAll('_', '/')
|
|
124
122
|
|
|
125
123
|
// ensure padding is correct
|
|
126
124
|
const padIndex = s.indexOf('=')
|
|
@@ -135,17 +133,12 @@ export function base64ToArray (msg: string): number[] {
|
|
|
135
133
|
s = s.slice(0, padIndex)
|
|
136
134
|
}
|
|
137
135
|
|
|
138
|
-
// if (s.length % 4 === 1)
|
|
139
|
-
// {
|
|
140
|
-
// throw new Error("Invalid base64 length")
|
|
141
|
-
// }
|
|
142
|
-
|
|
143
136
|
const result: number[] = []
|
|
144
137
|
let bitBuffer = 0
|
|
145
138
|
let bitCount = 0
|
|
146
139
|
|
|
147
140
|
for (let i = 0; i < s.length; i++) {
|
|
148
|
-
const c = s.
|
|
141
|
+
const c = s.codePointAt(i) as number
|
|
149
142
|
// using ascii map values rather than indexOf
|
|
150
143
|
let v = -1
|
|
151
144
|
if (c >= 65 && c <= 90) {
|
|
@@ -271,7 +264,7 @@ export const fromBase58 = (str: string): number[] => {
|
|
|
271
264
|
throw new Error(`Invalid base58 character “${match.join('')}”`)
|
|
272
265
|
}
|
|
273
266
|
const lz = str.match(/^1+/gmu)
|
|
274
|
-
const psz: number =
|
|
267
|
+
const psz: number = lz === null ? 0 : lz[0].length
|
|
275
268
|
const size = ((str.length - psz) * (Math.log(58) / Math.log(256)) + 1) >>> 0
|
|
276
269
|
|
|
277
270
|
const uint8 = new Uint8Array([
|
|
@@ -306,9 +299,9 @@ export const fromBase58 = (str: string): number[] => {
|
|
|
306
299
|
* @returns The base58 string representation
|
|
307
300
|
*/
|
|
308
301
|
export const toBase58 = (bin: number[]): string => {
|
|
309
|
-
const base58Map = Array(256).fill(-1)
|
|
302
|
+
const base58Map = new Array(256).fill(-1)
|
|
310
303
|
for (let i = 0; i < base58chars.length; ++i) {
|
|
311
|
-
base58Map[base58chars.
|
|
304
|
+
base58Map[base58chars.codePointAt(i) as number] = i
|
|
312
305
|
}
|
|
313
306
|
|
|
314
307
|
const result: number[] = []
|
|
@@ -317,23 +310,23 @@ export const toBase58 = (bin: number[]): string => {
|
|
|
317
310
|
let carry = byte
|
|
318
311
|
for (let j = 0; j < result.length; ++j) {
|
|
319
312
|
const x = (base58Map[result[j]] << 8) + carry
|
|
320
|
-
result[j] = base58chars.
|
|
321
|
-
carry = (x / 58)
|
|
313
|
+
result[j] = base58chars.codePointAt(x % 58) as number
|
|
314
|
+
carry = Math.trunc(x / 58)
|
|
322
315
|
}
|
|
323
316
|
while (carry !== 0) {
|
|
324
|
-
result.push(base58chars.
|
|
325
|
-
carry = (carry / 58)
|
|
317
|
+
result.push(base58chars.codePointAt(carry % 58) as number)
|
|
318
|
+
carry = Math.trunc(carry / 58)
|
|
326
319
|
}
|
|
327
320
|
}
|
|
328
321
|
|
|
329
322
|
for (const byte of bin) {
|
|
330
|
-
if (byte
|
|
331
|
-
else
|
|
323
|
+
if (byte === 0) result.push('1'.codePointAt(0) as number)
|
|
324
|
+
else break
|
|
332
325
|
}
|
|
333
326
|
|
|
334
327
|
result.reverse()
|
|
335
328
|
|
|
336
|
-
return String.
|
|
329
|
+
return String.fromCodePoint(...result)
|
|
337
330
|
}
|
|
338
331
|
|
|
339
332
|
/**
|
|
@@ -383,7 +376,7 @@ export class Writer {
|
|
|
383
376
|
private length: number
|
|
384
377
|
|
|
385
378
|
constructor (bufs?: WriterChunk[]) {
|
|
386
|
-
this.bufs = bufs
|
|
379
|
+
this.bufs = bufs ?? []
|
|
387
380
|
this.length = 0
|
|
388
381
|
for (const b of this.bufs) this.length += b.length
|
|
389
382
|
}
|
|
@@ -408,13 +401,13 @@ export class Writer {
|
|
|
408
401
|
let offset = 0
|
|
409
402
|
for (const buf of this.bufs) {
|
|
410
403
|
if (buf instanceof Uint8Array) {
|
|
411
|
-
for (
|
|
412
|
-
ret[offset++] =
|
|
404
|
+
for (const byte of buf) {
|
|
405
|
+
ret[offset++] = byte
|
|
413
406
|
}
|
|
414
407
|
} else {
|
|
415
408
|
const arr = buf as number[]
|
|
416
|
-
for (
|
|
417
|
-
ret[offset++] =
|
|
409
|
+
for (const item of arr) {
|
|
410
|
+
ret[offset++] = item
|
|
418
411
|
}
|
|
419
412
|
}
|
|
420
413
|
}
|
|
@@ -447,10 +440,7 @@ export class Writer {
|
|
|
447
440
|
}
|
|
448
441
|
|
|
449
442
|
writeInt8 (n: number): this {
|
|
450
|
-
|
|
451
|
-
buf[0] = n & 0xff
|
|
452
|
-
this.write(buf)
|
|
453
|
-
return this
|
|
443
|
+
return this.writeUInt8(n)
|
|
454
444
|
}
|
|
455
445
|
|
|
456
446
|
writeUInt16BE (n: number): this {
|
|
@@ -657,7 +647,7 @@ export class Reader {
|
|
|
657
647
|
const val = this.bin[this.pos]
|
|
658
648
|
this.pos += 1
|
|
659
649
|
// If the sign bit is set, convert to negative value
|
|
660
|
-
return (val & 0x80)
|
|
650
|
+
return (val & 0x80) === 0 ? val : val - 0x100
|
|
661
651
|
}
|
|
662
652
|
|
|
663
653
|
public readUInt16BE (): number {
|
|
@@ -669,7 +659,7 @@ export class Reader {
|
|
|
669
659
|
public readInt16BE (): number {
|
|
670
660
|
const val = this.readUInt16BE()
|
|
671
661
|
// If the sign bit is set, convert to negative value
|
|
672
|
-
return (val & 0x8000)
|
|
662
|
+
return (val & 0x8000) === 0 ? val : val - 0x10000
|
|
673
663
|
}
|
|
674
664
|
|
|
675
665
|
public readUInt16LE (): number {
|
|
@@ -681,7 +671,7 @@ export class Reader {
|
|
|
681
671
|
public readInt16LE (): number {
|
|
682
672
|
const val = this.readUInt16LE()
|
|
683
673
|
// If the sign bit is set, convert to negative value
|
|
684
|
-
const x = (val & 0x8000)
|
|
674
|
+
const x = (val & 0x8000) === 0 ? val : val - 0x10000
|
|
685
675
|
return x
|
|
686
676
|
}
|
|
687
677
|
|
|
@@ -698,7 +688,7 @@ export class Reader {
|
|
|
698
688
|
public readInt32BE (): number {
|
|
699
689
|
const val = this.readUInt32BE()
|
|
700
690
|
// If the sign bit is set, convert to negative value
|
|
701
|
-
return (val & 0x80000000)
|
|
691
|
+
return (val & 0x80000000) === 0 ? val : val - 0x100000000
|
|
702
692
|
}
|
|
703
693
|
|
|
704
694
|
public readUInt32LE (): number {
|
|
@@ -715,7 +705,7 @@ export class Reader {
|
|
|
715
705
|
public readInt32LE (): number {
|
|
716
706
|
const val = this.readUInt32LE()
|
|
717
707
|
// Explicitly check if the sign bit is set and then convert to a negative value
|
|
718
|
-
return (val & 0x80000000)
|
|
708
|
+
return (val & 0x80000000) === 0 ? val : val - 0x100000000
|
|
719
709
|
}
|
|
720
710
|
|
|
721
711
|
public readUInt64BEBn (): BigNumber {
|
|
@@ -797,7 +787,7 @@ export const minimallyEncode = (buf: number[]): number[] => {
|
|
|
797
787
|
}
|
|
798
788
|
|
|
799
789
|
// If the last byte is not 0x00 or 0x80, we are minimally encoded.
|
|
800
|
-
const last = buf
|
|
790
|
+
const last = buf.at(-1)
|
|
801
791
|
if ((last & 0x7f) !== 0) {
|
|
802
792
|
return buf
|
|
803
793
|
}
|
|
@@ -809,7 +799,7 @@ export const minimallyEncode = (buf: number[]): number[] => {
|
|
|
809
799
|
}
|
|
810
800
|
|
|
811
801
|
// If the next byte has it sign bit set, then we are minimaly encoded.
|
|
812
|
-
if ((buf
|
|
802
|
+
if ((buf.at(-2) & 0x80) !== 0) {
|
|
813
803
|
return buf
|
|
814
804
|
}
|
|
815
805
|
|
|
@@ -817,15 +807,15 @@ export const minimallyEncode = (buf: number[]): number[] => {
|
|
|
817
807
|
for (let i = buf.length - 1; i > 0; i--) {
|
|
818
808
|
// We found a non zero byte, time to encode.
|
|
819
809
|
if (buf[i - 1] !== 0) {
|
|
820
|
-
if ((buf[i - 1] & 0x80)
|
|
810
|
+
if ((buf[i - 1] & 0x80) === 0) {
|
|
811
|
+
// the sign bit is clear, we can use it.
|
|
812
|
+
buf[i - 1] |= last
|
|
813
|
+
return buf.slice(0, i)
|
|
814
|
+
} else {
|
|
821
815
|
// We found a byte with it sign bit set so we need one more
|
|
822
816
|
// byte.
|
|
823
817
|
buf[i] = last
|
|
824
818
|
return buf.slice(0, i + 1)
|
|
825
|
-
} else {
|
|
826
|
-
// the sign bit is clear, we can use it.
|
|
827
|
-
buf[i - 1] |= last
|
|
828
|
-
return buf.slice(0, i)
|
|
829
819
|
}
|
|
830
820
|
}
|
|
831
821
|
}
|
|
@@ -64,9 +64,7 @@ export class RegistryClient {
|
|
|
64
64
|
* @returns The public identity key as a hex string.
|
|
65
65
|
*/
|
|
66
66
|
private async getIdentityKey (): Promise<PubKeyHex> {
|
|
67
|
-
|
|
68
|
-
this.cachedIdentityKey = (await this.wallet.getPublicKey({ identityKey: true })).publicKey
|
|
69
|
-
}
|
|
67
|
+
this.cachedIdentityKey ??= (await this.wallet.getPublicKey({ identityKey: true })).publicKey
|
|
70
68
|
return this.cachedIdentityKey
|
|
71
69
|
}
|
|
72
70
|
|
|
@@ -75,9 +73,7 @@ export class RegistryClient {
|
|
|
75
73
|
* @returns The network type ('mainnet' or 'testnet').
|
|
76
74
|
*/
|
|
77
75
|
private async getNetwork (): Promise<'mainnet' | 'testnet'> {
|
|
78
|
-
|
|
79
|
-
this.network = (await this.wallet.getNetwork({})).network
|
|
80
|
-
}
|
|
76
|
+
this.network ??= (await this.wallet.getNetwork({})).network
|
|
81
77
|
return this.network
|
|
82
78
|
}
|
|
83
79
|
|
|
@@ -229,7 +225,7 @@ export class RegistryClient {
|
|
|
229
225
|
async removeDefinition (
|
|
230
226
|
registryRecord: RegistryRecord
|
|
231
227
|
): Promise<BroadcastResponse | BroadcastFailure> {
|
|
232
|
-
if (registryRecord.txid === undefined ||
|
|
228
|
+
if (registryRecord.txid === undefined || registryRecord.outputIndex === undefined || registryRecord.lockingScript === undefined) {
|
|
233
229
|
throw new Error('Invalid registry record. Missing txid, outputIndex, or lockingScript.')
|
|
234
230
|
}
|
|
235
231
|
|
|
@@ -240,14 +236,16 @@ export class RegistryClient {
|
|
|
240
236
|
}
|
|
241
237
|
|
|
242
238
|
// Create a descriptive label for the item we're removing
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
239
|
+
let itemIdentifier: string | undefined
|
|
240
|
+
if (registryRecord.definitionType === 'basket') {
|
|
241
|
+
itemIdentifier = registryRecord.basketID
|
|
242
|
+
} else if (registryRecord.definitionType === 'protocol') {
|
|
243
|
+
itemIdentifier = registryRecord.name
|
|
244
|
+
} else if (registryRecord.definitionType === 'certificate') {
|
|
245
|
+
itemIdentifier = registryRecord.name ?? registryRecord.type
|
|
246
|
+
} else {
|
|
247
|
+
itemIdentifier = 'unknown'
|
|
248
|
+
}
|
|
251
249
|
|
|
252
250
|
const outpoint = `${registryRecord.txid}.${registryRecord.outputIndex}`
|
|
253
251
|
const { signableTransaction } = await this.wallet.createAction({
|
|
@@ -321,7 +319,7 @@ export class RegistryClient {
|
|
|
321
319
|
registryRecord: RegistryRecord,
|
|
322
320
|
updatedData: DefinitionData
|
|
323
321
|
): Promise<BroadcastResponse | BroadcastFailure> {
|
|
324
|
-
if (registryRecord.txid === undefined ||
|
|
322
|
+
if (registryRecord.txid === undefined || registryRecord.outputIndex === undefined || registryRecord.lockingScript === undefined) {
|
|
325
323
|
throw new Error('Invalid registry record. Missing txid, outputIndex, or lockingScript.')
|
|
326
324
|
}
|
|
327
325
|
|
|
@@ -337,14 +335,16 @@ export class RegistryClient {
|
|
|
337
335
|
}
|
|
338
336
|
|
|
339
337
|
// Create a descriptive label for the item we're updating
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
338
|
+
let itemIdentifier: string | undefined
|
|
339
|
+
if (registryRecord.definitionType === 'basket') {
|
|
340
|
+
itemIdentifier = registryRecord.basketID
|
|
341
|
+
} else if (registryRecord.definitionType === 'protocol') {
|
|
342
|
+
itemIdentifier = registryRecord.name
|
|
343
|
+
} else if (registryRecord.definitionType === 'certificate') {
|
|
344
|
+
itemIdentifier = registryRecord.name ?? registryRecord.type
|
|
345
|
+
} else {
|
|
346
|
+
itemIdentifier = 'unknown'
|
|
347
|
+
}
|
|
348
348
|
|
|
349
349
|
const pushdrop = new PushDrop(this.wallet, this.originator)
|
|
350
350
|
|
|
@@ -660,7 +660,7 @@ export function deserializeWalletProtocol (str: string): WalletProtocol {
|
|
|
660
660
|
|
|
661
661
|
// Validate that the protocol string is a string and its length is within the allowed bounds.
|
|
662
662
|
if (typeof protocolString !== 'string') {
|
|
663
|
-
throw new
|
|
663
|
+
throw new TypeError('Invalid protocolID')
|
|
664
664
|
}
|
|
665
665
|
|
|
666
666
|
return [security as SecurityLevel, protocolString]
|
|
@@ -419,7 +419,7 @@ export class RemittanceManager {
|
|
|
419
419
|
*/
|
|
420
420
|
async startListening (hostOverride?: string): Promise<void> {
|
|
421
421
|
if (typeof this.comms.listenForLiveMessages !== 'function') {
|
|
422
|
-
throw new
|
|
422
|
+
throw new TypeError('CommsLayer does not support live message listening')
|
|
423
423
|
}
|
|
424
424
|
|
|
425
425
|
await this.comms.listenForLiveMessages({
|
|
@@ -994,12 +994,13 @@ export class RemittanceManager {
|
|
|
994
994
|
} else if (takerRequests && !makerRequests) {
|
|
995
995
|
requesterRole = 'taker'
|
|
996
996
|
} else if (makerRequests && takerRequests && makerRequest !== takerRequest) {
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
997
|
+
if (makerRequest === 'beforeInvoicing' && takerRequest === 'beforeSettlement') {
|
|
998
|
+
requesterRole = 'maker'
|
|
999
|
+
} else if (makerRequest === 'beforeSettlement' && takerRequest === 'beforeInvoicing') {
|
|
1000
|
+
requesterRole = 'taker'
|
|
1001
|
+
} else {
|
|
1002
|
+
requesterRole = undefined
|
|
1003
|
+
}
|
|
1003
1004
|
}
|
|
1004
1005
|
|
|
1005
1006
|
if (typeof requesterRole !== 'string') return 'taker'
|
|
@@ -1083,7 +1084,7 @@ export class RemittanceManager {
|
|
|
1083
1084
|
case 'identityVerificationRequest': {
|
|
1084
1085
|
const payload = env.payload as IdentityVerificationRequest
|
|
1085
1086
|
if (typeof payload !== 'object') {
|
|
1086
|
-
throw new
|
|
1087
|
+
throw new TypeError('Identity verification request payload missing data')
|
|
1087
1088
|
}
|
|
1088
1089
|
|
|
1089
1090
|
if (this.cfg.identityLayer == null) {
|
|
@@ -1117,7 +1118,7 @@ export class RemittanceManager {
|
|
|
1117
1118
|
case 'identityVerificationResponse': {
|
|
1118
1119
|
const payload = env.payload as IdentityVerificationResponse
|
|
1119
1120
|
if (typeof payload !== 'object') {
|
|
1120
|
-
throw new
|
|
1121
|
+
throw new TypeError('Identity verification response payload missing data')
|
|
1121
1122
|
}
|
|
1122
1123
|
|
|
1123
1124
|
if (this.cfg.identityLayer == null) {
|
|
@@ -1155,7 +1156,7 @@ export class RemittanceManager {
|
|
|
1155
1156
|
case 'identityVerificationAcknowledgment': {
|
|
1156
1157
|
const payload = env.payload as IdentityVerificationAcknowledgment
|
|
1157
1158
|
if (typeof payload !== 'object') {
|
|
1158
|
-
throw new
|
|
1159
|
+
throw new TypeError('Identity verification acknowledgment payload missing data')
|
|
1159
1160
|
}
|
|
1160
1161
|
|
|
1161
1162
|
thread.identity.acknowledgmentReceived = true
|
|
@@ -1168,7 +1169,7 @@ export class RemittanceManager {
|
|
|
1168
1169
|
case 'invoice': {
|
|
1169
1170
|
const invoice = env.payload as Invoice
|
|
1170
1171
|
if (typeof invoice !== 'object') {
|
|
1171
|
-
throw new
|
|
1172
|
+
throw new TypeError('Invoice payload missing invoice data')
|
|
1172
1173
|
}
|
|
1173
1174
|
|
|
1174
1175
|
thread.invoice = invoice
|
|
@@ -1181,7 +1182,7 @@ export class RemittanceManager {
|
|
|
1181
1182
|
case 'settlement': {
|
|
1182
1183
|
const settlement = env.payload as Settlement
|
|
1183
1184
|
if (typeof settlement !== 'object') {
|
|
1184
|
-
throw new
|
|
1185
|
+
throw new TypeError('Settlement payload missing settlement data')
|
|
1185
1186
|
}
|
|
1186
1187
|
|
|
1187
1188
|
if (this.shouldRequireIdentityBeforeSettlement(thread) && !thread.flags.hasIdentified) {
|
|
@@ -1253,7 +1254,7 @@ export class RemittanceManager {
|
|
|
1253
1254
|
case 'receipt': {
|
|
1254
1255
|
const receipt = env.payload as Receipt
|
|
1255
1256
|
if (typeof receipt !== 'object') {
|
|
1256
|
-
throw new
|
|
1257
|
+
throw new TypeError('Receipt payload missing receipt data')
|
|
1257
1258
|
}
|
|
1258
1259
|
|
|
1259
1260
|
thread.receipt = receipt
|
|
@@ -1275,7 +1276,7 @@ export class RemittanceManager {
|
|
|
1275
1276
|
case 'termination': {
|
|
1276
1277
|
const payload = env.payload as Termination
|
|
1277
1278
|
if (typeof payload !== 'object') {
|
|
1278
|
-
throw new
|
|
1279
|
+
throw new TypeError('Termination payload missing data')
|
|
1279
1280
|
}
|
|
1280
1281
|
thread.termination = payload
|
|
1281
1282
|
thread.lastError = { message: payload.message, at: this.now() }
|
|
@@ -1430,9 +1431,7 @@ export class RemittanceManager {
|
|
|
1430
1431
|
thread.protocolLog ??= []
|
|
1431
1432
|
thread.stateLog ??= []
|
|
1432
1433
|
|
|
1433
|
-
|
|
1434
|
-
thread.state = this.deriveThreadState(thread)
|
|
1435
|
-
}
|
|
1434
|
+
thread.state ??= this.deriveThreadState(thread)
|
|
1436
1435
|
return thread
|
|
1437
1436
|
}
|
|
1438
1437
|
|
|
@@ -1575,7 +1574,7 @@ export class RemittanceManager {
|
|
|
1575
1574
|
|
|
1576
1575
|
private requireMyIdentityKey (errMsg: string): PubKeyHex {
|
|
1577
1576
|
if (typeof this.myIdentityKey !== 'string') {
|
|
1578
|
-
throw new
|
|
1577
|
+
throw new TypeError(errMsg)
|
|
1579
1578
|
}
|
|
1580
1579
|
return this.myIdentityKey
|
|
1581
1580
|
}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
RemittanceOptionId,
|
|
4
|
-
Termination
|
|
5
|
-
} from '../types.js'
|
|
1
|
+
import type { RemittanceOptionId, Termination } from '../types.js'
|
|
2
|
+
|
|
6
3
|
import type { ModuleContext } from '../types.js'
|
|
7
4
|
import type { RemittanceModule } from '../RemittanceModule.js'
|
|
8
5
|
import type {
|