@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Hash.js","sourceRoot":"","sources":["../../../../src/primitives/Hash.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Hash.js","sourceRoot":"","sources":["../../../../src/primitives/Hash.ts"],"names":[],"mappings":"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"}
|
|
@@ -142,11 +142,11 @@ export default class JacobianPoint extends BasePoint {
|
|
|
142
142
|
const h = u1.redSub(u2);
|
|
143
143
|
const r = s1.redSub(s2);
|
|
144
144
|
if (h.cmpn(0) === 0) {
|
|
145
|
-
if (r.cmpn(0)
|
|
146
|
-
return
|
|
145
|
+
if (r.cmpn(0) === 0) {
|
|
146
|
+
return this.dbl();
|
|
147
147
|
}
|
|
148
148
|
else {
|
|
149
|
-
return
|
|
149
|
+
return new JacobianPoint(null, null, null);
|
|
150
150
|
}
|
|
151
151
|
}
|
|
152
152
|
const h2 = h.redSqr();
|
|
@@ -193,11 +193,11 @@ export default class JacobianPoint extends BasePoint {
|
|
|
193
193
|
const h = u1.redSub(u2);
|
|
194
194
|
const r = s1.redSub(s2);
|
|
195
195
|
if (h.cmpn(0) === 0) {
|
|
196
|
-
if (r.cmpn(0)
|
|
197
|
-
return
|
|
196
|
+
if (r.cmpn(0) === 0) {
|
|
197
|
+
return this.dbl();
|
|
198
198
|
}
|
|
199
199
|
else {
|
|
200
|
-
return
|
|
200
|
+
return new JacobianPoint(null, null, null);
|
|
201
201
|
}
|
|
202
202
|
}
|
|
203
203
|
const h2 = h.redSqr();
|
|
@@ -226,7 +226,7 @@ export default class JacobianPoint extends BasePoint {
|
|
|
226
226
|
if (this.isInfinity()) {
|
|
227
227
|
return this;
|
|
228
228
|
}
|
|
229
|
-
if (
|
|
229
|
+
if (pow === undefined) {
|
|
230
230
|
return this.dbl();
|
|
231
231
|
}
|
|
232
232
|
/* eslint-disable @typescript-eslint/no-this-alias */
|
|
@@ -371,7 +371,7 @@ export default class JacobianPoint extends BasePoint {
|
|
|
371
371
|
return true;
|
|
372
372
|
}
|
|
373
373
|
const xc = x.clone();
|
|
374
|
-
if (this.curve
|
|
374
|
+
if (this.curve?.redN == null) {
|
|
375
375
|
throw new Error('Curve or redN is not initialized.');
|
|
376
376
|
}
|
|
377
377
|
const t = this.curve.redN.redMul(zs);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JacobianPoint.js","sourceRoot":"","sources":["../../../../src/primitives/JacobianPoint.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"JacobianPoint.js","sourceRoot":"","sources":["../../../../src/primitives/JacobianPoint.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,7 +65,7 @@ export default class K256 extends Mersenne {
|
|
|
65
65
|
const tempInputNewWords = new Array(Math.max(1, inputNominalLength - 9)).fill(0);
|
|
66
66
|
let currentInputNewWordCount = 0;
|
|
67
67
|
for (let i = 10; i < inputNominalLength; i++) {
|
|
68
|
-
const next = inputWords[i]
|
|
68
|
+
const next = Math.trunc(inputWords[i]);
|
|
69
69
|
if (currentInputNewWordCount < tempInputNewWords.length) { // Boundary check
|
|
70
70
|
tempInputNewWords[currentInputNewWordCount++] = ((next & mask) << 4) | (prev >>> 22);
|
|
71
71
|
}
|
|
@@ -108,10 +108,10 @@ export default class K256 extends Mersenne {
|
|
|
108
108
|
// tempWords is now effectively num.words expanded with zeroes
|
|
109
109
|
let lo = 0;
|
|
110
110
|
for (let i = 0; i < newNominalLength; i++) { // Iterate up to new expanded length
|
|
111
|
-
const w = tempWords[i]
|
|
111
|
+
const w = Math.trunc(tempWords[i]);
|
|
112
112
|
lo += w * 0x3d1; // 0x3d1 = 977
|
|
113
113
|
tempWords[i] = lo & 0x3ffffff; // 26-bit mask
|
|
114
|
-
lo = w * 0x40 + (
|
|
114
|
+
lo = w * 0x40 + Math.trunc(lo / 0x4000000); // 0x40 = 64. 0x4000000 = 2^26
|
|
115
115
|
}
|
|
116
116
|
num.words = tempWords; // Use setter to re-initialize from tempWords
|
|
117
117
|
// The setter will handle _magnitude, _sign, _nominalWordLength, and strip.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"K256.js","sourceRoot":"","sources":["../../../../src/primitives/K256.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,eAAe,CAAA;AAGpC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,QAAQ;IACxC;;;;;;;;OAQG;IACH;QACE,KAAK,CACH,MAAM,EACN,yEAAyE,CAC1E,CAAA;IACH,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAE,KAAgB,EAAE,MAAiB;QACxC,MAAM,IAAI,GAAG,QAAQ,CAAA,CAAC,UAAU;QAChC,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAA,CAAC,oBAAoB;QACnD,MAAM,kBAAkB,GAAG,KAAK,CAAC,MAAM,CAAA,CAAC,iDAAiD;QAEzF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAA;QAC9C,MAAM,eAAe,GAAG,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAEpF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,eAAe,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;QACpC,CAAC;QACD,IAAI,sBAAsB,GAAG,MAAM,CAAA;QAEnC,IAAI,kBAAkB,IAAI,CAAC,EAAE,CAAC;YAC5B,MAAM,gBAAgB,GAAG,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;YAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,sBAAsB,EAAE,EAAE,CAAC;gBAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAA;YACzF,MAAM,CAAC,KAAK,GAAG,gBAAgB,CAAA,CAAC,aAAa;YAE7C,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAA,CAAC,yBAAyB;YAC3C,OAAM;QACR,CAAC;QAED,mBAAmB;QACnB,IAAI,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;QACxB,eAAe,CAAC,sBAAsB,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,CAAA;QAEvD,MAAM,gBAAgB,GAAG,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,sBAAsB,EAAE,EAAE,CAAC;YAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAA;QACzF,MAAM,CAAC,KAAK,GAAG,gBAAgB,CAAA,CAAC,wBAAwB;QAExD,yBAAyB;QACzB,MAAM,iBAAiB,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAkB,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAChF,IAAI,wBAAwB,GAAG,CAAC,CAAA;QAEhC,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,kBAAkB,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,MAAM,IAAI,GAAG,
|
|
1
|
+
{"version":3,"file":"K256.js","sourceRoot":"","sources":["../../../../src/primitives/K256.ts"],"names":[],"mappings":"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"}
|
|
@@ -142,12 +142,11 @@ export const jpNeg = (P) => {
|
|
|
142
142
|
export const scalarMultiplyWNAF = (k, P0, window = 5) => {
|
|
143
143
|
const key = `${window}:${P0.x.toString(16)}:${P0.y.toString(16)}`;
|
|
144
144
|
let tbl = WNAF_TABLE_CACHE.get(key);
|
|
145
|
-
let P;
|
|
146
145
|
if (tbl === undefined) {
|
|
147
146
|
// Convert affine to Jacobian and pre-compute odd multiples
|
|
148
147
|
const tblSize = 1 << (window - 1); // e.g. w=5 → 16 entries
|
|
149
148
|
tbl = new Array(tblSize);
|
|
150
|
-
P = { X: P0.x, Y: P0.y, Z: BI_ONE };
|
|
149
|
+
const P = { X: P0.x, Y: P0.y, Z: BI_ONE };
|
|
151
150
|
tbl[0] = P;
|
|
152
151
|
const twoP = jpDouble(P);
|
|
153
152
|
for (let i = 1; i < tblSize; i++) {
|
|
@@ -155,9 +154,6 @@ export const scalarMultiplyWNAF = (k, P0, window = 5) => {
|
|
|
155
154
|
}
|
|
156
155
|
WNAF_TABLE_CACHE.set(key, tbl);
|
|
157
156
|
}
|
|
158
|
-
else {
|
|
159
|
-
P = tbl[0];
|
|
160
|
-
}
|
|
161
157
|
// Build wNAF representation of k
|
|
162
158
|
const wnaf = [];
|
|
163
159
|
const wBig = 1n << BigInt(window);
|
|
@@ -253,12 +249,12 @@ export default class Point extends BasePoint {
|
|
|
253
249
|
if ((bytes[0] === 0x04 || bytes[0] === 0x06 || bytes[0] === 0x07) &&
|
|
254
250
|
bytes.length - 1 === 2 * len) {
|
|
255
251
|
if (bytes[0] === 0x06) {
|
|
256
|
-
if (bytes
|
|
252
|
+
if (bytes.at(-1) % 2 !== 0) {
|
|
257
253
|
throw new Error('Point string value is wrong length');
|
|
258
254
|
}
|
|
259
255
|
}
|
|
260
256
|
else if (bytes[0] === 0x07) {
|
|
261
|
-
if (bytes
|
|
257
|
+
if (bytes.at(-1) % 2 !== 1) {
|
|
262
258
|
throw new Error('Point string value is wrong length');
|
|
263
259
|
}
|
|
264
260
|
}
|
|
@@ -466,11 +462,11 @@ export default class Point extends BasePoint {
|
|
|
466
462
|
else {
|
|
467
463
|
res = [0x04].concat(x, this.getY().toArray('be', len));
|
|
468
464
|
}
|
|
469
|
-
if (enc
|
|
470
|
-
return res;
|
|
465
|
+
if (enc === 'hex') {
|
|
466
|
+
return toHex(res);
|
|
471
467
|
}
|
|
472
468
|
else {
|
|
473
|
-
return
|
|
469
|
+
return res;
|
|
474
470
|
}
|
|
475
471
|
}
|
|
476
472
|
/**
|
|
@@ -506,18 +502,18 @@ export default class Point extends BasePoint {
|
|
|
506
502
|
this.y,
|
|
507
503
|
typeof this.precomputed === 'object' && this.precomputed !== null
|
|
508
504
|
? {
|
|
509
|
-
doubles: this.precomputed.doubles
|
|
510
|
-
?
|
|
505
|
+
doubles: this.precomputed.doubles == null
|
|
506
|
+
? undefined
|
|
507
|
+
: {
|
|
511
508
|
step: this.precomputed.doubles.step,
|
|
512
509
|
points: this.precomputed.doubles.points.slice(1)
|
|
513
|
-
}
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
510
|
+
},
|
|
511
|
+
naf: this.precomputed.naf == null
|
|
512
|
+
? undefined
|
|
513
|
+
: {
|
|
517
514
|
wnd: this.precomputed.naf.wnd,
|
|
518
515
|
points: this.precomputed.naf.points.slice(1)
|
|
519
516
|
}
|
|
520
|
-
: undefined
|
|
521
517
|
}
|
|
522
518
|
: undefined
|
|
523
519
|
];
|
|
@@ -733,8 +729,8 @@ export default class Point extends BasePoint {
|
|
|
733
729
|
let R0 = { X: 0n, Y: 1n, Z: 0n };
|
|
734
730
|
let R1 = { X: Px, Y: Py, Z: 1n };
|
|
735
731
|
const bits = kBig.toString(2);
|
|
736
|
-
for (
|
|
737
|
-
const bit =
|
|
732
|
+
for (const bitChar of bits) {
|
|
733
|
+
const bit = bitChar === '1' ? 1n : 0n;
|
|
738
734
|
ctSwap(bit, R0, R1);
|
|
739
735
|
R1 = jpAdd(R0, R1);
|
|
740
736
|
R0 = jpDouble(R0);
|
|
@@ -825,18 +821,18 @@ export default class Point extends BasePoint {
|
|
|
825
821
|
const pre = this.precomputed;
|
|
826
822
|
const negate = (p) => p.neg();
|
|
827
823
|
res.precomputed = {
|
|
828
|
-
naf: pre.naf
|
|
829
|
-
?
|
|
824
|
+
naf: pre.naf == null
|
|
825
|
+
? undefined
|
|
826
|
+
: {
|
|
830
827
|
wnd: pre.naf.wnd,
|
|
831
828
|
points: pre.naf.points.map(negate)
|
|
832
|
-
}
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
829
|
+
},
|
|
830
|
+
doubles: pre.doubles == null
|
|
831
|
+
? undefined
|
|
832
|
+
: {
|
|
836
833
|
step: pre.doubles.step,
|
|
837
834
|
points: pre.doubles.points.map((p) => p.neg())
|
|
838
|
-
}
|
|
839
|
-
: undefined,
|
|
835
|
+
},
|
|
840
836
|
beta: undefined
|
|
841
837
|
};
|
|
842
838
|
}
|
|
@@ -908,18 +904,18 @@ export default class Point extends BasePoint {
|
|
|
908
904
|
pre.beta = beta;
|
|
909
905
|
beta.precomputed = {
|
|
910
906
|
beta: null,
|
|
911
|
-
naf: pre.naf
|
|
912
|
-
?
|
|
907
|
+
naf: pre.naf == null
|
|
908
|
+
? undefined
|
|
909
|
+
: {
|
|
913
910
|
wnd: pre.naf.wnd,
|
|
914
911
|
points: pre.naf.points.map(endoMul)
|
|
915
|
-
}
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
912
|
+
},
|
|
913
|
+
doubles: pre.doubles == null
|
|
914
|
+
? undefined
|
|
915
|
+
: {
|
|
919
916
|
step: pre.doubles.step,
|
|
920
917
|
points: pre.doubles.points.map(endoMul)
|
|
921
918
|
}
|
|
922
|
-
: undefined
|
|
923
919
|
};
|
|
924
920
|
}
|
|
925
921
|
return beta;
|
|
@@ -1008,8 +1004,8 @@ export default class Point extends BasePoint {
|
|
|
1008
1004
|
naf[a] = new Array(max);
|
|
1009
1005
|
naf[b] = new Array(max);
|
|
1010
1006
|
for (let j = 0; j < max; j++) {
|
|
1011
|
-
const ja = jsf[0][j]
|
|
1012
|
-
const jb = jsf[1][j]
|
|
1007
|
+
const ja = Math.trunc(jsf[0][j]);
|
|
1008
|
+
const jb = Math.trunc(jsf[1][j]);
|
|
1013
1009
|
naf[a][j] = index[(ja + 1) * 3 + (jb + 1)];
|
|
1014
1010
|
naf[b][j] = 0;
|
|
1015
1011
|
wnd[a] = comb;
|
|
@@ -1048,12 +1044,12 @@ export default class Point extends BasePoint {
|
|
|
1048
1044
|
if (z.cmpn(0) === 0) { // Check if z is 0
|
|
1049
1045
|
continue;
|
|
1050
1046
|
}
|
|
1051
|
-
else if (
|
|
1052
|
-
p = wnd[j][z.sub(one).div(two).toNumber()];
|
|
1053
|
-
}
|
|
1054
|
-
else { // If z is negative
|
|
1047
|
+
else if (z.isNeg()) { // If z is negative
|
|
1055
1048
|
p = wnd[j][z.neg().sub(one).div(two).toNumber()].neg();
|
|
1056
1049
|
}
|
|
1050
|
+
else { // If z is positive
|
|
1051
|
+
p = wnd[j][z.sub(one).div(two).toNumber()];
|
|
1052
|
+
}
|
|
1057
1053
|
if (p.type === 'affine') {
|
|
1058
1054
|
acc = acc.mixedAdd(p);
|
|
1059
1055
|
}
|