@bsv/sdk 1.9.31 → 2.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/package.json +2 -3
- package/dist/cjs/src/auth/Peer.js +11 -18
- package/dist/cjs/src/auth/Peer.js.map +1 -1
- package/dist/cjs/src/auth/SessionManager.js.map +1 -1
- package/dist/cjs/src/auth/certificates/Certificate.js +8 -18
- package/dist/cjs/src/auth/certificates/Certificate.js.map +1 -1
- package/dist/cjs/src/auth/certificates/MasterCertificate.js +9 -19
- package/dist/cjs/src/auth/certificates/MasterCertificate.js.map +1 -1
- package/dist/cjs/src/auth/certificates/VerifiableCertificate.js +7 -17
- package/dist/cjs/src/auth/certificates/VerifiableCertificate.js.map +1 -1
- package/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
- package/dist/cjs/src/auth/clients/AuthFetch.js +7 -17
- package/dist/cjs/src/auth/clients/AuthFetch.js.map +1 -1
- package/dist/cjs/src/auth/clients/__tests__/AuthFetch.test.js.map +1 -1
- package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js +7 -17
- package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
- package/dist/cjs/src/auth/transports/__tests__/SimplifiedFetchTransport.test.js +7 -17
- package/dist/cjs/src/auth/transports/__tests__/SimplifiedFetchTransport.test.js.map +1 -1
- package/dist/cjs/src/auth/utils/createNonce.js +9 -18
- package/dist/cjs/src/auth/utils/createNonce.js.map +1 -1
- package/dist/cjs/src/auth/utils/validateCertificates.js.map +1 -1
- package/dist/cjs/src/auth/utils/verifyNonce.js +9 -18
- package/dist/cjs/src/auth/utils/verifyNonce.js.map +1 -1
- package/dist/cjs/src/compat/BSM.js +7 -17
- package/dist/cjs/src/compat/BSM.js.map +1 -1
- package/dist/cjs/src/compat/ECIES.js +7 -17
- package/dist/cjs/src/compat/ECIES.js.map +1 -1
- package/dist/cjs/src/compat/HD.js +7 -17
- package/dist/cjs/src/compat/HD.js.map +1 -1
- package/dist/cjs/src/compat/Mnemonic.js +7 -17
- package/dist/cjs/src/compat/Mnemonic.js.map +1 -1
- package/dist/cjs/src/compat/Utxo.js +1 -1
- package/dist/cjs/src/compat/Utxo.js.map +1 -1
- package/dist/cjs/src/compat/index.js +7 -17
- package/dist/cjs/src/compat/index.js.map +1 -1
- package/dist/cjs/src/identity/ContactsManager.js +1 -1
- package/dist/cjs/src/identity/ContactsManager.js.map +1 -1
- package/dist/cjs/src/identity/IdentityClient.js.map +1 -1
- package/dist/cjs/src/kvstore/GlobalKVStore.js +10 -20
- package/dist/cjs/src/kvstore/GlobalKVStore.js.map +1 -1
- package/dist/cjs/src/kvstore/LocalKVStore.js +7 -17
- package/dist/cjs/src/kvstore/LocalKVStore.js.map +1 -1
- package/dist/cjs/src/kvstore/kvStoreInterpreter.js +7 -17
- package/dist/cjs/src/kvstore/kvStoreInterpreter.js.map +1 -1
- package/dist/cjs/src/messages/EncryptedMessage.js +0 -19
- package/dist/cjs/src/messages/EncryptedMessage.js.map +1 -1
- package/dist/cjs/src/messages/SignedMessage.js.map +1 -1
- package/dist/cjs/src/messages/index.js +7 -17
- package/dist/cjs/src/messages/index.js.map +1 -1
- package/dist/cjs/src/overlay-tools/Historian.js.map +1 -1
- package/dist/cjs/src/overlay-tools/HostReputationTracker.js.map +1 -1
- package/dist/cjs/src/overlay-tools/LookupResolver.js +7 -17
- package/dist/cjs/src/overlay-tools/LookupResolver.js.map +1 -1
- package/dist/cjs/src/overlay-tools/OverlayAdminTokenTemplate.js.map +1 -1
- package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js +7 -17
- package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
- package/dist/cjs/src/overlay-tools/withDoubleSpendRetry.js +2 -1
- package/dist/cjs/src/overlay-tools/withDoubleSpendRetry.js.map +1 -1
- package/dist/cjs/src/primitives/AESGCM.js +32 -77
- package/dist/cjs/src/primitives/AESGCM.js.map +1 -1
- package/dist/cjs/src/primitives/BigNumber.js.map +1 -1
- package/dist/cjs/src/primitives/Curve.js.map +1 -1
- package/dist/cjs/src/primitives/DRBG.js.map +1 -1
- package/dist/cjs/src/primitives/ECDSA.js +23 -22
- package/dist/cjs/src/primitives/ECDSA.js.map +1 -1
- package/dist/cjs/src/primitives/Hash.js +6 -6
- package/dist/cjs/src/primitives/Hash.js.map +1 -1
- package/dist/cjs/src/primitives/JacobianPoint.js.map +1 -1
- package/dist/cjs/src/primitives/K256.js.map +1 -1
- package/dist/cjs/src/primitives/Mersenne.js.map +1 -1
- package/dist/cjs/src/primitives/MontgomoryMethod.js.map +1 -1
- package/dist/cjs/src/primitives/Point.js +6 -63
- package/dist/cjs/src/primitives/Point.js.map +1 -1
- package/dist/cjs/src/primitives/Polynomial.js.map +1 -1
- package/dist/cjs/src/primitives/PrivateKey.js +9 -46
- package/dist/cjs/src/primitives/PrivateKey.js.map +1 -1
- package/dist/cjs/src/primitives/PublicKey.js +1 -1
- package/dist/cjs/src/primitives/PublicKey.js.map +1 -1
- package/dist/cjs/src/primitives/Random.js.map +1 -1
- package/dist/cjs/src/primitives/ReductionContext.js.map +1 -1
- package/dist/cjs/src/primitives/Schnorr.js.map +1 -1
- package/dist/cjs/src/primitives/Secp256r1.js.map +1 -1
- package/dist/cjs/src/primitives/Signature.js.map +1 -1
- package/dist/cjs/src/primitives/SymmetricKey.js.map +1 -1
- package/dist/cjs/src/primitives/TransactionSignature.js +7 -17
- package/dist/cjs/src/primitives/TransactionSignature.js.map +1 -1
- package/dist/cjs/src/primitives/hex.js +3 -2
- package/dist/cjs/src/primitives/hex.js.map +1 -1
- package/dist/cjs/src/primitives/index.js +7 -17
- package/dist/cjs/src/primitives/index.js.map +1 -1
- package/dist/cjs/src/primitives/utils.js +15 -123
- package/dist/cjs/src/primitives/utils.js.map +1 -1
- package/dist/cjs/src/registry/RegistryClient.js +2 -2
- package/dist/cjs/src/registry/RegistryClient.js.map +1 -1
- package/dist/cjs/src/script/OP.js +3 -3
- package/dist/cjs/src/script/OP.js.map +1 -1
- package/dist/cjs/src/script/Script.js.map +1 -1
- package/dist/cjs/src/script/Spend.js +7 -17
- package/dist/cjs/src/script/Spend.js.map +1 -1
- package/dist/cjs/src/script/templates/P2PKH.js.map +1 -1
- package/dist/cjs/src/script/templates/PushDrop.js.map +1 -1
- package/dist/cjs/src/script/templates/RPuzzle.js.map +1 -1
- package/dist/cjs/src/storage/StorageDownloader.js.map +1 -1
- package/dist/cjs/src/storage/StorageUploader.js +7 -17
- package/dist/cjs/src/storage/StorageUploader.js.map +1 -1
- package/dist/cjs/src/storage/StorageUtils.js.map +1 -1
- package/dist/cjs/src/storage/__test/StorageDownloader.test.js +171 -0
- package/dist/cjs/src/storage/__test/StorageDownloader.test.js.map +1 -0
- package/dist/cjs/src/storage/__test/StorageUploader.test.js +163 -0
- package/dist/cjs/src/storage/__test/StorageUploader.test.js.map +1 -0
- package/dist/cjs/src/storage/__test/StorageUtils.test.js +97 -0
- package/dist/cjs/src/storage/__test/StorageUtils.test.js.map +1 -0
- package/dist/cjs/src/storage/index.js +7 -17
- package/dist/cjs/src/storage/index.js.map +1 -1
- package/dist/cjs/src/totp/totp.js.map +1 -1
- package/dist/cjs/src/transaction/Beef.js.map +1 -1
- package/dist/cjs/src/transaction/BeefParty.js.map +1 -1
- package/dist/cjs/src/transaction/BeefTx.js.map +1 -1
- package/dist/cjs/src/transaction/Broadcaster.js +3 -2
- package/dist/cjs/src/transaction/Broadcaster.js.map +1 -1
- package/dist/cjs/src/transaction/MerklePath.js.map +1 -1
- package/dist/cjs/src/transaction/Transaction.js +1 -1
- package/dist/cjs/src/transaction/Transaction.js.map +1 -1
- package/dist/cjs/src/transaction/broadcasters/ARC.js.map +1 -1
- package/dist/cjs/src/transaction/broadcasters/DefaultBroadcaster.js +2 -1
- package/dist/cjs/src/transaction/broadcasters/DefaultBroadcaster.js.map +1 -1
- package/dist/cjs/src/transaction/broadcasters/Teranode.js.map +1 -1
- package/dist/cjs/src/transaction/broadcasters/WhatsOnChainBroadcaster.js.map +1 -1
- package/dist/cjs/src/transaction/chaintrackers/BlockHeadersService.js.map +1 -1
- package/dist/cjs/src/transaction/chaintrackers/DefaultChainTracker.js +2 -1
- package/dist/cjs/src/transaction/chaintrackers/DefaultChainTracker.js.map +1 -1
- package/dist/cjs/src/transaction/chaintrackers/WhatsOnChain.js.map +1 -1
- package/dist/cjs/src/transaction/fee-models/LivePolicy.js.map +1 -1
- package/dist/cjs/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
- package/dist/cjs/src/transaction/http/BinaryFetchClient.js +2 -2
- package/dist/cjs/src/transaction/http/BinaryFetchClient.js.map +1 -1
- package/dist/cjs/src/transaction/http/DefaultHttpClient.js +2 -1
- package/dist/cjs/src/transaction/http/DefaultHttpClient.js.map +1 -1
- package/dist/cjs/src/transaction/http/NodejsHttpClient.js.map +1 -1
- package/dist/cjs/src/wallet/CachedKeyDeriver.js.map +1 -1
- package/dist/cjs/src/wallet/KeyDeriver.js.map +1 -1
- package/dist/cjs/src/wallet/ProtoWallet.js +1 -1
- package/dist/cjs/src/wallet/ProtoWallet.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/index.js +7 -17
- package/dist/cjs/src/wallet/index.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/HTTPWalletWire.js +7 -17
- package/dist/cjs/src/wallet/substrates/HTTPWalletWire.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/ReactNativeWebView.js +7 -17
- package/dist/cjs/src/wallet/substrates/ReactNativeWebView.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js +7 -17
- package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js +7 -17
- package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/XDM.js +7 -17
- package/dist/cjs/src/wallet/substrates/XDM.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/utils/toOriginHeader.js +2 -1
- package/dist/cjs/src/wallet/substrates/utils/toOriginHeader.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/window.CWI.js.map +1 -1
- package/dist/cjs/src/wallet/validationHelpers.js +41 -51
- 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 +4 -1
- package/dist/esm/src/auth/Peer.js.map +1 -1
- package/dist/esm/src/auth/SessionManager.js.map +1 -1
- package/dist/esm/src/auth/certificates/Certificate.js +1 -1
- package/dist/esm/src/auth/certificates/Certificate.js.map +1 -1
- package/dist/esm/src/auth/certificates/MasterCertificate.js +2 -2
- package/dist/esm/src/auth/certificates/MasterCertificate.js.map +1 -1
- package/dist/esm/src/auth/certificates/VerifiableCertificate.js.map +1 -1
- package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
- package/dist/esm/src/auth/clients/AuthFetch.js.map +1 -1
- package/dist/esm/src/auth/clients/__tests__/AuthFetch.test.js.map +1 -1
- package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
- package/dist/esm/src/auth/transports/__tests__/SimplifiedFetchTransport.test.js.map +1 -1
- package/dist/esm/src/auth/utils/validateCertificates.js.map +1 -1
- package/dist/esm/src/compat/BSM.js.map +1 -1
- package/dist/esm/src/compat/ECIES.js.map +1 -1
- package/dist/esm/src/compat/HD.js.map +1 -1
- package/dist/esm/src/compat/Mnemonic.js.map +1 -1
- package/dist/esm/src/identity/ContactsManager.js +1 -1
- package/dist/esm/src/identity/ContactsManager.js.map +1 -1
- package/dist/esm/src/identity/IdentityClient.js.map +1 -1
- package/dist/esm/src/kvstore/GlobalKVStore.js +3 -3
- package/dist/esm/src/kvstore/GlobalKVStore.js.map +1 -1
- package/dist/esm/src/kvstore/LocalKVStore.js.map +1 -1
- package/dist/esm/src/kvstore/kvStoreInterpreter.js.map +1 -1
- package/dist/esm/src/messages/EncryptedMessage.js +0 -19
- package/dist/esm/src/messages/EncryptedMessage.js.map +1 -1
- package/dist/esm/src/messages/SignedMessage.js.map +1 -1
- package/dist/esm/src/overlay-tools/Historian.js.map +1 -1
- package/dist/esm/src/overlay-tools/HostReputationTracker.js.map +1 -1
- package/dist/esm/src/overlay-tools/LookupResolver.js.map +1 -1
- package/dist/esm/src/overlay-tools/OverlayAdminTokenTemplate.js.map +1 -1
- package/dist/esm/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
- package/dist/esm/src/overlay-tools/withDoubleSpendRetry.js.map +1 -1
- package/dist/esm/src/primitives/AESGCM.js +26 -71
- package/dist/esm/src/primitives/AESGCM.js.map +1 -1
- package/dist/esm/src/primitives/BigNumber.js.map +1 -1
- package/dist/esm/src/primitives/Curve.js.map +1 -1
- package/dist/esm/src/primitives/DRBG.js.map +1 -1
- package/dist/esm/src/primitives/ECDSA.js +23 -22
- package/dist/esm/src/primitives/ECDSA.js.map +1 -1
- package/dist/esm/src/primitives/Hash.js.map +1 -1
- package/dist/esm/src/primitives/JacobianPoint.js.map +1 -1
- package/dist/esm/src/primitives/K256.js.map +1 -1
- package/dist/esm/src/primitives/Mersenne.js.map +1 -1
- package/dist/esm/src/primitives/MontgomoryMethod.js.map +1 -1
- package/dist/esm/src/primitives/Point.js +4 -61
- package/dist/esm/src/primitives/Point.js.map +1 -1
- package/dist/esm/src/primitives/Polynomial.js.map +1 -1
- package/dist/esm/src/primitives/PrivateKey.js +2 -29
- package/dist/esm/src/primitives/PrivateKey.js.map +1 -1
- package/dist/esm/src/primitives/PublicKey.js +1 -1
- package/dist/esm/src/primitives/PublicKey.js.map +1 -1
- package/dist/esm/src/primitives/Random.js.map +1 -1
- package/dist/esm/src/primitives/ReductionContext.js.map +1 -1
- package/dist/esm/src/primitives/Schnorr.js.map +1 -1
- package/dist/esm/src/primitives/Secp256r1.js.map +1 -1
- package/dist/esm/src/primitives/Signature.js.map +1 -1
- package/dist/esm/src/primitives/SymmetricKey.js.map +1 -1
- package/dist/esm/src/primitives/TransactionSignature.js.map +1 -1
- package/dist/esm/src/primitives/hex.js.map +1 -1
- package/dist/esm/src/primitives/utils.js +10 -118
- package/dist/esm/src/primitives/utils.js.map +1 -1
- package/dist/esm/src/registry/RegistryClient.js.map +1 -1
- package/dist/esm/src/script/OP.js +3 -3
- package/dist/esm/src/script/OP.js.map +1 -1
- package/dist/esm/src/script/Script.js.map +1 -1
- package/dist/esm/src/script/Spend.js.map +1 -1
- package/dist/esm/src/script/templates/P2PKH.js.map +1 -1
- package/dist/esm/src/script/templates/PushDrop.js.map +1 -1
- package/dist/esm/src/script/templates/RPuzzle.js.map +1 -1
- package/dist/esm/src/storage/StorageDownloader.js.map +1 -1
- package/dist/esm/src/storage/StorageUploader.js.map +1 -1
- package/dist/esm/src/storage/StorageUtils.js.map +1 -1
- package/dist/esm/src/storage/__test/StorageDownloader.test.js +166 -0
- package/dist/esm/src/storage/__test/StorageDownloader.test.js.map +1 -0
- package/dist/esm/src/storage/__test/StorageUploader.test.js +135 -0
- package/dist/esm/src/storage/__test/StorageUploader.test.js.map +1 -0
- package/dist/esm/src/storage/__test/StorageUtils.test.js +72 -0
- package/dist/esm/src/storage/__test/StorageUtils.test.js.map +1 -0
- package/dist/esm/src/totp/totp.js.map +1 -1
- package/dist/esm/src/transaction/Beef.js.map +1 -1
- package/dist/esm/src/transaction/BeefParty.js.map +1 -1
- package/dist/esm/src/transaction/BeefTx.js.map +1 -1
- package/dist/esm/src/transaction/MerklePath.js.map +1 -1
- package/dist/esm/src/transaction/Transaction.js +1 -1
- package/dist/esm/src/transaction/Transaction.js.map +1 -1
- package/dist/esm/src/transaction/broadcasters/ARC.js.map +1 -1
- package/dist/esm/src/transaction/broadcasters/Teranode.js.map +1 -1
- package/dist/esm/src/transaction/broadcasters/WhatsOnChainBroadcaster.js.map +1 -1
- package/dist/esm/src/transaction/chaintrackers/BlockHeadersService.js.map +1 -1
- package/dist/esm/src/transaction/chaintrackers/WhatsOnChain.js.map +1 -1
- package/dist/esm/src/transaction/fee-models/LivePolicy.js.map +1 -1
- package/dist/esm/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
- package/dist/esm/src/transaction/http/BinaryFetchClient.js.map +1 -1
- package/dist/esm/src/transaction/http/DefaultHttpClient.js.map +1 -1
- package/dist/esm/src/transaction/http/NodejsHttpClient.js.map +1 -1
- package/dist/esm/src/wallet/CachedKeyDeriver.js.map +1 -1
- package/dist/esm/src/wallet/KeyDeriver.js.map +1 -1
- package/dist/esm/src/wallet/ProtoWallet.js +1 -1
- package/dist/esm/src/wallet/ProtoWallet.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.map +1 -1
- package/dist/esm/src/wallet/substrates/HTTPWalletWire.js.map +1 -1
- package/dist/esm/src/wallet/substrates/ReactNativeWebView.js.map +1 -1
- package/dist/esm/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
- package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
- package/dist/esm/src/wallet/substrates/XDM.js.map +1 -1
- package/dist/esm/src/wallet/substrates/utils/toOriginHeader.js.map +1 -1
- package/dist/esm/src/wallet/substrates/window.CWI.js.map +1 -1
- package/dist/esm/src/wallet/validationHelpers.js +1 -1
- 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.map +1 -1
- package/dist/types/src/auth/certificates/MasterCertificate.d.ts.map +1 -1
- package/dist/types/src/auth/utils/getVerifiableCertificates.d.ts.map +1 -1
- package/dist/types/src/auth/utils/validateCertificates.d.ts.map +1 -1
- package/dist/types/src/compat/BSM.d.ts +1 -1
- package/dist/types/src/compat/BSM.d.ts.map +1 -1
- package/dist/types/src/messages/EncryptedMessage.d.ts +0 -19
- package/dist/types/src/messages/EncryptedMessage.d.ts.map +1 -1
- package/dist/types/src/messages/SignedMessage.d.ts.map +1 -1
- package/dist/types/src/primitives/AESGCM.d.ts +0 -18
- package/dist/types/src/primitives/AESGCM.d.ts.map +1 -1
- package/dist/types/src/primitives/ECDSA.d.ts.map +1 -1
- package/dist/types/src/primitives/Hash.d.ts +8 -8
- package/dist/types/src/primitives/Hash.d.ts.map +1 -1
- package/dist/types/src/primitives/Point.d.ts +0 -1
- package/dist/types/src/primitives/Point.d.ts.map +1 -1
- package/dist/types/src/primitives/PrivateKey.d.ts +0 -27
- package/dist/types/src/primitives/PrivateKey.d.ts.map +1 -1
- package/dist/types/src/primitives/Random.d.ts.map +1 -1
- package/dist/types/src/primitives/Secp256r1.d.ts.map +1 -1
- package/dist/types/src/primitives/utils.d.ts +3 -3
- package/dist/types/src/primitives/utils.d.ts.map +1 -1
- package/dist/types/src/storage/StorageUtils.d.ts.map +1 -1
- package/dist/types/src/storage/__test/StorageDownloader.test.d.ts +2 -0
- package/dist/types/src/storage/__test/StorageDownloader.test.d.ts.map +1 -0
- package/dist/types/src/storage/__test/StorageUploader.test.d.ts +2 -0
- package/dist/types/src/storage/__test/StorageUploader.test.d.ts.map +1 -0
- package/dist/types/src/storage/__test/StorageUtils.test.d.ts +2 -0
- package/dist/types/src/storage/__test/StorageUtils.test.d.ts.map +1 -0
- package/dist/types/src/transaction/Beef.d.ts +2 -2
- package/dist/types/src/transaction/Beef.d.ts.map +1 -1
- package/dist/types/src/transaction/http/BinaryFetchClient.d.ts +2 -0
- package/dist/types/src/transaction/http/BinaryFetchClient.d.ts.map +1 -1
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/dist/umd/bundle.js +3 -3
- package/dist/umd/bundle.js.map +1 -1
- package/docs/reference/messages.md +0 -24
- package/docs/reference/primitives.md +17 -82
- package/package.json +2 -3
- package/src/auth/Peer.ts +4 -1
- package/src/messages/EncryptedMessage.ts +0 -19
- package/src/primitives/AESGCM.ts +34 -75
- package/src/primitives/PrivateKey.ts +0 -27
- package/src/primitives/__tests/AESGCM.test.ts +0 -31
- package/src/primitives/__tests/utils.test.ts +30 -7
- package/src/primitives/utils.ts +2 -127
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const StorageDownloader_js_1 = require("../StorageDownloader.js");
|
|
7
|
+
const index_js_1 = require("../index.js");
|
|
8
|
+
const index_js_2 = require("../../overlay-tools/index.js");
|
|
9
|
+
const Transaction_js_1 = __importDefault(require("../../transaction/Transaction.js"));
|
|
10
|
+
const PushDrop_js_1 = __importDefault(require("../../script/templates/PushDrop.js"));
|
|
11
|
+
const index_js_3 = require("../../primitives/index.js");
|
|
12
|
+
beforeEach(() => {
|
|
13
|
+
jest.restoreAllMocks();
|
|
14
|
+
});
|
|
15
|
+
describe('StorageDownloader', () => {
|
|
16
|
+
let downloader;
|
|
17
|
+
beforeEach(() => {
|
|
18
|
+
// Create a fresh instance
|
|
19
|
+
downloader = new StorageDownloader_js_1.StorageDownloader();
|
|
20
|
+
});
|
|
21
|
+
describe('resolve()', () => {
|
|
22
|
+
it('throws if the lookup response is not "output-list"', async () => {
|
|
23
|
+
// Mock the LookupResolver to return something invalid
|
|
24
|
+
jest.spyOn(index_js_2.LookupResolver.prototype, 'query').mockResolvedValue({
|
|
25
|
+
type: 'something-else',
|
|
26
|
+
outputs: []
|
|
27
|
+
});
|
|
28
|
+
await expect(downloader.resolve('fakeUhrpUrl'))
|
|
29
|
+
.rejects
|
|
30
|
+
.toThrow('Lookup answer must be an output list');
|
|
31
|
+
});
|
|
32
|
+
it('decodes each output with Transaction.fromBEEF and PushDrop.decode', async () => {
|
|
33
|
+
// 1) Mock lookup response
|
|
34
|
+
jest.spyOn(index_js_2.LookupResolver.prototype, 'query').mockResolvedValue({
|
|
35
|
+
type: 'output-list',
|
|
36
|
+
outputs: [
|
|
37
|
+
{ beef: 'fake-beef-a', outputIndex: 0 },
|
|
38
|
+
{ beef: 'fake-beef-b', outputIndex: 1 }
|
|
39
|
+
]
|
|
40
|
+
});
|
|
41
|
+
// 2) Mock Transaction.fromBEEF -> returns a dummy transaction
|
|
42
|
+
jest.spyOn(Transaction_js_1.default, 'fromBEEF').mockImplementation(() => {
|
|
43
|
+
// Each transaction might have multiple outputs; we only care about `outputIndex`
|
|
44
|
+
return {
|
|
45
|
+
outputs: [
|
|
46
|
+
{ lockingScript: {} },
|
|
47
|
+
{ lockingScript: {} } // index 1
|
|
48
|
+
]
|
|
49
|
+
};
|
|
50
|
+
});
|
|
51
|
+
// 3) Mock PushDrop.decode -> returns { fields: number[][] }
|
|
52
|
+
jest.spyOn(PushDrop_js_1.default, 'decode').mockImplementation(() => {
|
|
53
|
+
// The decode function returns an object with `fields`,
|
|
54
|
+
return {
|
|
55
|
+
lockingPublicKey: {},
|
|
56
|
+
fields: [
|
|
57
|
+
[11],
|
|
58
|
+
[22],
|
|
59
|
+
[104, 116, 116, 112, 58, 47, 47, 97, 46, 99, 111, 109]
|
|
60
|
+
]
|
|
61
|
+
};
|
|
62
|
+
});
|
|
63
|
+
// 4) Mock Utils.toUTF8 to convert that number[] to a string
|
|
64
|
+
jest.spyOn(index_js_3.Utils, 'toUTF8').mockReturnValue('http://a.com');
|
|
65
|
+
const resolved = await downloader.resolve('fakeUhrpUrl');
|
|
66
|
+
expect(resolved).toEqual(['http://a.com', 'http://a.com']);
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
describe('download()', () => {
|
|
70
|
+
it('throws if UHRP URL is invalid', async () => {
|
|
71
|
+
jest.spyOn(index_js_1.StorageUtils, 'isValidURL').mockReturnValue(false);
|
|
72
|
+
await expect(downloader.download('invalidUrl'))
|
|
73
|
+
.rejects
|
|
74
|
+
.toThrow('Invalid parameter UHRP url');
|
|
75
|
+
});
|
|
76
|
+
it('throws if no hosts are found', async () => {
|
|
77
|
+
// Valid UHRP URL
|
|
78
|
+
jest.spyOn(index_js_1.StorageUtils, 'isValidURL').mockReturnValue(true);
|
|
79
|
+
// Return some random 32-byte hash so we can pass the check
|
|
80
|
+
jest.spyOn(index_js_1.StorageUtils, 'getHashFromURL').mockReturnValue(new Array(32).fill(0));
|
|
81
|
+
// Force resolve() to return an empty array
|
|
82
|
+
jest.spyOn(downloader, 'resolve').mockResolvedValue([]);
|
|
83
|
+
await expect(downloader.download('validButUnhostedUrl'))
|
|
84
|
+
.rejects
|
|
85
|
+
.toThrow('No one currently hosts this file!');
|
|
86
|
+
});
|
|
87
|
+
it('downloads successfully from the first working host', async () => {
|
|
88
|
+
jest.spyOn(index_js_1.StorageUtils, 'isValidURL').mockReturnValue(true);
|
|
89
|
+
const knownHash = [
|
|
90
|
+
102, 104, 122, 173, 248, 98, 189, 119, 108, 143,
|
|
91
|
+
193, 139, 142, 159, 142, 32, 8, 151, 20, 133,
|
|
92
|
+
110, 226, 51, 179, 144, 42, 89, 29, 13, 95,
|
|
93
|
+
41, 37
|
|
94
|
+
];
|
|
95
|
+
jest.spyOn(index_js_1.StorageUtils, 'getHashFromURL').mockReturnValue(knownHash);
|
|
96
|
+
// Suppose two possible download URLs
|
|
97
|
+
jest.spyOn(downloader, 'resolve').mockResolvedValue([
|
|
98
|
+
'http://host1/404',
|
|
99
|
+
'http://host2/ok'
|
|
100
|
+
]);
|
|
101
|
+
// The first fetch -> 404, second fetch -> success
|
|
102
|
+
const fetchSpy = jest.spyOn(global, 'fetch')
|
|
103
|
+
.mockResolvedValueOnce(new Response(null, { status: 404 }))
|
|
104
|
+
.mockResolvedValueOnce(new Response(new Uint8Array(32).fill(0), {
|
|
105
|
+
status: 200,
|
|
106
|
+
headers: { 'Content-Type': 'application/test' }
|
|
107
|
+
}));
|
|
108
|
+
const result = await downloader.download('validUrl');
|
|
109
|
+
expect(fetchSpy).toHaveBeenCalledTimes(2);
|
|
110
|
+
expect(result).toEqual({
|
|
111
|
+
data: new Array(32).fill(0),
|
|
112
|
+
mimeType: 'application/test'
|
|
113
|
+
});
|
|
114
|
+
});
|
|
115
|
+
it('throws if content hash mismatches the UHRP hash', async () => {
|
|
116
|
+
jest.spyOn(index_js_1.StorageUtils, 'isValidURL').mockReturnValue(true);
|
|
117
|
+
// The expected hash is all zeros
|
|
118
|
+
jest.spyOn(index_js_1.StorageUtils, 'getHashFromURL').mockReturnValue(new Array(32).fill(0));
|
|
119
|
+
// One potential host
|
|
120
|
+
jest.spyOn(downloader, 'resolve').mockResolvedValue([
|
|
121
|
+
'http://bad-content.test'
|
|
122
|
+
]);
|
|
123
|
+
// The fetch returns 32 bytes of all 1's => hash mismatch
|
|
124
|
+
jest.spyOn(global, 'fetch').mockResolvedValue(new Response(new Uint8Array(32).fill(1), { status: 200 }));
|
|
125
|
+
await expect(downloader.download('validButBadHashUrl'))
|
|
126
|
+
.rejects
|
|
127
|
+
.toThrow();
|
|
128
|
+
});
|
|
129
|
+
it('throws if all hosts fail or mismatch', async () => {
|
|
130
|
+
jest.spyOn(index_js_1.StorageUtils, 'isValidURL').mockReturnValue(true);
|
|
131
|
+
jest.spyOn(index_js_1.StorageUtils, 'getHashFromURL').mockReturnValue(new Array(32).fill(0));
|
|
132
|
+
jest.spyOn(downloader, 'resolve').mockResolvedValue([
|
|
133
|
+
'http://host1.test',
|
|
134
|
+
'http://host2.test'
|
|
135
|
+
]);
|
|
136
|
+
// Both fetches fail with 500 or something >=400
|
|
137
|
+
jest.spyOn(global, 'fetch').mockResolvedValue(new Response(null, { status: 500 }));
|
|
138
|
+
await expect(downloader.download('validButNoGoodHostUrl'))
|
|
139
|
+
.rejects
|
|
140
|
+
.toThrow('Unable to download content from validButNoGoodHostUrl');
|
|
141
|
+
});
|
|
142
|
+
it('throws if all entries are expired', async () => {
|
|
143
|
+
const currentTime = Math.floor(Date.now());
|
|
144
|
+
jest.spyOn(index_js_2.LookupResolver.prototype, 'query').mockResolvedValue({
|
|
145
|
+
type: 'output-list',
|
|
146
|
+
outputs: [
|
|
147
|
+
{ beef: 'fake-beef-a', outputIndex: 0 },
|
|
148
|
+
{ beef: 'fake-beef-b', outputIndex: 1 }
|
|
149
|
+
]
|
|
150
|
+
});
|
|
151
|
+
jest.spyOn(Transaction_js_1.default, 'fromBEEF').mockImplementation(() => {
|
|
152
|
+
return {
|
|
153
|
+
outputs: [
|
|
154
|
+
{ lockingScript: {} },
|
|
155
|
+
{ lockingScript: {} }
|
|
156
|
+
]
|
|
157
|
+
};
|
|
158
|
+
});
|
|
159
|
+
jest.spyOn(PushDrop_js_1.default, 'decode').mockImplementation(() => {
|
|
160
|
+
return {
|
|
161
|
+
lockingPublicKey: {},
|
|
162
|
+
fields: [[], [], [], [currentTime - 100]]
|
|
163
|
+
};
|
|
164
|
+
});
|
|
165
|
+
await expect(downloader.resolve('expiredUhrpUrl'))
|
|
166
|
+
.resolves
|
|
167
|
+
.toEqual(["", ""]);
|
|
168
|
+
});
|
|
169
|
+
});
|
|
170
|
+
});
|
|
171
|
+
//# sourceMappingURL=StorageDownloader.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageDownloader.test.js","sourceRoot":"","sources":["../../../../../src/storage/__test/StorageDownloader.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
const StorageUploader_js_1 = require("../StorageUploader.js");
|
|
30
|
+
const StorageUtils = __importStar(require("../StorageUtils.js"));
|
|
31
|
+
const WalletClient_js_1 = __importDefault(require("../../wallet/WalletClient.js"));
|
|
32
|
+
/**
|
|
33
|
+
* A helper for converting a string to a number[] of UTF-8 bytes
|
|
34
|
+
*/
|
|
35
|
+
function stringToUtf8Array(str) {
|
|
36
|
+
return Array.from(new TextEncoder().encode(str));
|
|
37
|
+
}
|
|
38
|
+
describe('StorageUploader Tests', () => {
|
|
39
|
+
let uploader;
|
|
40
|
+
let walletClient;
|
|
41
|
+
// We'll have TWO spies:
|
|
42
|
+
let authFetchSpy;
|
|
43
|
+
let globalFetchSpy;
|
|
44
|
+
beforeEach(() => {
|
|
45
|
+
walletClient = new WalletClient_js_1.default('json-api', 'non-admin.com');
|
|
46
|
+
uploader = new StorageUploader_js_1.StorageUploader({
|
|
47
|
+
storageURL: 'https://example.test.system',
|
|
48
|
+
wallet: walletClient
|
|
49
|
+
});
|
|
50
|
+
// 1) Spy on the "authFetch.fetch" calls for /find, /list, /renew
|
|
51
|
+
authFetchSpy = jest
|
|
52
|
+
.spyOn(uploader['authFetch'], 'fetch')
|
|
53
|
+
.mockResolvedValue(new Response(null, { status: 200 }));
|
|
54
|
+
// 2) Spy on the global "fetch" calls for file upload (uploadFile)
|
|
55
|
+
globalFetchSpy = jest
|
|
56
|
+
.spyOn(global, 'fetch')
|
|
57
|
+
.mockResolvedValue(new Response(null, { status: 200 }));
|
|
58
|
+
});
|
|
59
|
+
afterEach(() => {
|
|
60
|
+
jest.restoreAllMocks();
|
|
61
|
+
});
|
|
62
|
+
it('should upload a file, produce a valid UHRP URL, and decode it to the known SHA-256', async () => {
|
|
63
|
+
const data = stringToUtf8Array('Hello, world!');
|
|
64
|
+
// Mock out getUploadInfo so we can control the returned upload/public URLs
|
|
65
|
+
jest.spyOn(uploader, 'getUploadInfo').mockResolvedValue({
|
|
66
|
+
uploadURL: 'https://example-upload.com/put'
|
|
67
|
+
});
|
|
68
|
+
const result = await uploader.publishFile({
|
|
69
|
+
file: { data, type: 'text/plain' },
|
|
70
|
+
retentionPeriod: 7
|
|
71
|
+
});
|
|
72
|
+
// This direct upload uses global.fetch, not authFetch
|
|
73
|
+
expect(globalFetchSpy).toHaveBeenCalledTimes(1);
|
|
74
|
+
// Check the result
|
|
75
|
+
expect(StorageUtils.isValidURL(result.uhrpURL)).toBe(true);
|
|
76
|
+
expect(result.published).toBe(true);
|
|
77
|
+
const url = StorageUtils.getHashFromURL(result.uhrpURL);
|
|
78
|
+
const firstFour = url.slice(0, 4)
|
|
79
|
+
.map(b => b.toString(16).padStart(2, '0'))
|
|
80
|
+
.join('');
|
|
81
|
+
expect(firstFour).toHaveLength(8);
|
|
82
|
+
});
|
|
83
|
+
it('should throw if the upload fails with HTTP 500', async () => {
|
|
84
|
+
// Force the direct upload (global fetch) to fail
|
|
85
|
+
globalFetchSpy.mockResolvedValueOnce(new Response(null, { status: 500 }));
|
|
86
|
+
// Also mock getUploadInfo
|
|
87
|
+
jest.spyOn(uploader, 'getUploadInfo').mockResolvedValue({
|
|
88
|
+
uploadURL: 'https://example-upload.com/put'
|
|
89
|
+
});
|
|
90
|
+
const failingData = stringToUtf8Array('failing data');
|
|
91
|
+
await expect(uploader.publishFile({
|
|
92
|
+
file: { data: failingData, type: 'text/plain' },
|
|
93
|
+
retentionPeriod: 30
|
|
94
|
+
})).rejects.toThrow('File upload failed: HTTP 500');
|
|
95
|
+
});
|
|
96
|
+
it('should find a file and return metadata', async () => {
|
|
97
|
+
// This route goes through authFetch, not global fetch
|
|
98
|
+
authFetchSpy.mockResolvedValueOnce(new Response(JSON.stringify({
|
|
99
|
+
status: 'success',
|
|
100
|
+
data: {
|
|
101
|
+
name: 'cdn/abc123',
|
|
102
|
+
size: '1024',
|
|
103
|
+
mimeType: 'text/plain',
|
|
104
|
+
expiryTime: 123456
|
|
105
|
+
}
|
|
106
|
+
}), { status: 200 }));
|
|
107
|
+
const fileData = await uploader.findFile('uhrp://some-hash');
|
|
108
|
+
expect(authFetchSpy).toHaveBeenCalledTimes(1);
|
|
109
|
+
expect(fileData.name).toBe('cdn/abc123');
|
|
110
|
+
expect(fileData.size).toBe('1024');
|
|
111
|
+
expect(fileData.mimeType).toBe('text/plain');
|
|
112
|
+
expect(fileData.expiryTime).toBe(123456);
|
|
113
|
+
});
|
|
114
|
+
it('should throw an error if findFile returns an error status', async () => {
|
|
115
|
+
authFetchSpy.mockResolvedValueOnce(new Response(JSON.stringify({ status: 'error', code: 'ERR_NOT_FOUND', description: 'File not found' }), { status: 200 }));
|
|
116
|
+
await expect(uploader.findFile('uhrp://unknown-hash'))
|
|
117
|
+
.rejects
|
|
118
|
+
.toThrow('findFile returned an error: ERR_NOT_FOUND - File not found');
|
|
119
|
+
});
|
|
120
|
+
it('should list user uploads successfully', async () => {
|
|
121
|
+
// /list uses authFetch
|
|
122
|
+
const mockUploads = [
|
|
123
|
+
{ uhrpUrl: 'uhrp://hash1', expiryTime: 111111 },
|
|
124
|
+
{ uhrpUrl: 'uhrp://hash2', expiryTime: 222222 }
|
|
125
|
+
];
|
|
126
|
+
authFetchSpy.mockResolvedValueOnce(new Response(JSON.stringify({ status: 'success', uploads: mockUploads }), { status: 200 }));
|
|
127
|
+
const result = await uploader.listUploads();
|
|
128
|
+
expect(authFetchSpy).toHaveBeenCalledTimes(1);
|
|
129
|
+
expect(result).toEqual(mockUploads);
|
|
130
|
+
});
|
|
131
|
+
it('should throw an error if listUploads returns an error', async () => {
|
|
132
|
+
authFetchSpy.mockResolvedValueOnce(new Response(JSON.stringify({ status: 'error', code: 'ERR_INTERNAL', description: 'Something broke' }), { status: 200 }));
|
|
133
|
+
await expect(uploader.listUploads()).rejects.toThrow('listUploads returned an error: ERR_INTERNAL - Something broke');
|
|
134
|
+
});
|
|
135
|
+
it('should renew a file and return the new expiry info', async () => {
|
|
136
|
+
// /renew uses authFetch
|
|
137
|
+
authFetchSpy.mockResolvedValueOnce(new Response(JSON.stringify({
|
|
138
|
+
status: 'success',
|
|
139
|
+
prevExpiryTime: 123,
|
|
140
|
+
newExpiryTime: 456,
|
|
141
|
+
amount: 99
|
|
142
|
+
}), { status: 200 }));
|
|
143
|
+
const renewal = await uploader.renewFile('uhrp://some-hash', 30);
|
|
144
|
+
expect(authFetchSpy).toHaveBeenCalledTimes(1);
|
|
145
|
+
expect(renewal.status).toBe('success');
|
|
146
|
+
expect(renewal.prevExpiryTime).toBe(123);
|
|
147
|
+
expect(renewal.newExpiryTime).toBe(456);
|
|
148
|
+
expect(renewal.amount).toBe(99);
|
|
149
|
+
});
|
|
150
|
+
it('should throw an error if renewFile returns error status JSON', async () => {
|
|
151
|
+
authFetchSpy.mockResolvedValueOnce(new Response(JSON.stringify({ status: 'error', code: 'ERR_CANT_RENEW', description: 'Failed to renew' }), { status: 200 }));
|
|
152
|
+
await expect(uploader.renewFile('uhrp://some-other-hash', 15))
|
|
153
|
+
.rejects
|
|
154
|
+
.toThrow('renewFile returned an error: ERR_CANT_RENEW - Failed to renew');
|
|
155
|
+
});
|
|
156
|
+
it('should throw if renewFile request fails with non-200 status', async () => {
|
|
157
|
+
authFetchSpy.mockResolvedValueOnce(new Response(null, { status: 404 }));
|
|
158
|
+
await expect(uploader.renewFile('uhrp://ghost', 10))
|
|
159
|
+
.rejects
|
|
160
|
+
.toThrow('renewFile request failed: HTTP 404');
|
|
161
|
+
});
|
|
162
|
+
});
|
|
163
|
+
//# sourceMappingURL=StorageUploader.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageUploader.test.js","sourceRoot":"","sources":["../../../../../src/storage/__test/StorageUploader.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
const index_js_1 = require("../index.js");
|
|
27
|
+
const Utils = __importStar(require("../../primitives/utils.js"));
|
|
28
|
+
const Hash = __importStar(require("../..//primitives/Hash.js"));
|
|
29
|
+
// Example data
|
|
30
|
+
const exampleHashHex = '1a5ec49a3f32cd56d19732e89bde5d81755ddc0fd8515dc8b226d47654139dca';
|
|
31
|
+
const exampleHash = Utils.toArray(exampleHashHex, 'hex');
|
|
32
|
+
const exampleFileHex = '687da27f04a112aa48f1cab2e7949f1eea4f7ba28319c1e999910cd561a634a05a3516e6db';
|
|
33
|
+
const exampleFile = Utils.toArray(exampleFileHex, 'hex');
|
|
34
|
+
const exampleURL = 'XUT6PqWb3GP3LR7dmBMCJwZ3oo5g1iGCF3CrpzyuJCemkGu1WGoq';
|
|
35
|
+
describe('StorageUtils', () => {
|
|
36
|
+
describe('getURLForHash', () => {
|
|
37
|
+
it('Creates the correct URL for the hash', () => {
|
|
38
|
+
const url = index_js_1.StorageUtils.getURLForHash(exampleHash);
|
|
39
|
+
expect(url).toBe(exampleURL);
|
|
40
|
+
});
|
|
41
|
+
it('Throws an error if hash length is invalid', () => {
|
|
42
|
+
// Get the length of a FILE (not a hash — wrong length!)
|
|
43
|
+
expect(() => index_js_1.StorageUtils.getURLForHash(exampleFile)).toThrow(new Error('Hash length must be 32 bytes (sha256)'));
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
describe('getURLForFile', () => {
|
|
47
|
+
it('Creates the correct URL for the file', () => {
|
|
48
|
+
const url = index_js_1.StorageUtils.getURLForFile(exampleFile);
|
|
49
|
+
expect(url).toEqual(exampleURL);
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
describe('getHashFromURL', () => {
|
|
53
|
+
it('Decodes the URL to the correct hash', () => {
|
|
54
|
+
const hash = index_js_1.StorageUtils.getHashFromURL(exampleURL);
|
|
55
|
+
expect(Utils.toHex(hash)).toEqual(exampleHashHex);
|
|
56
|
+
});
|
|
57
|
+
it('Gets the same hash as getting one directly from the file', () => {
|
|
58
|
+
const hashA = index_js_1.StorageUtils.getHashFromURL(exampleURL);
|
|
59
|
+
const hashB = Hash.sha256(exampleFile);
|
|
60
|
+
expect(hashA).toEqual(hashB);
|
|
61
|
+
});
|
|
62
|
+
it('Throws an error if checksum is invalid', () => {
|
|
63
|
+
const badURL = 'XUU7cTfy6fA6q2neLDmzPqJnGB6o18PXKoGaWLPrH1SeWLKgdCKq';
|
|
64
|
+
expect(() => index_js_1.StorageUtils.getHashFromURL(badURL)).toThrow(new Error('Invalid checksum'));
|
|
65
|
+
});
|
|
66
|
+
it('Throws an error if URL length is invalid', () => {
|
|
67
|
+
const badURL = 'SomeBase58CheckTooShortOrTooLong';
|
|
68
|
+
expect(() => index_js_1.StorageUtils.getHashFromURL(badURL)).toThrow();
|
|
69
|
+
});
|
|
70
|
+
it('Throws an error if prefix is invalid', () => {
|
|
71
|
+
const invalidPrefixURL1 = 'AInvalidPrefixTestString1';
|
|
72
|
+
const invalidPrefixURL2 = 'AInvalidPrefixTestString2';
|
|
73
|
+
expect(() => index_js_1.StorageUtils.getHashFromURL(invalidPrefixURL1)).toThrow();
|
|
74
|
+
expect(() => index_js_1.StorageUtils.getHashFromURL(invalidPrefixURL2)).toThrow();
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
describe('isValidURL', () => {
|
|
78
|
+
it('Returns true when URL is valid', () => {
|
|
79
|
+
expect(index_js_1.StorageUtils.isValidURL(exampleURL)).toBe(true);
|
|
80
|
+
});
|
|
81
|
+
it('Returns false if checksum is invalid', () => {
|
|
82
|
+
const badURL = 'XUU7cTfy6fA6q2neLDmzPqJnGB6o18PXKoGaWLPrH1SeWLKgdCKq';
|
|
83
|
+
expect(index_js_1.StorageUtils.isValidURL(badURL)).toBe(false);
|
|
84
|
+
});
|
|
85
|
+
it('Returns false if URL length is invalid', () => {
|
|
86
|
+
const badURL = 'SomeBase58CheckTooShortOrTooLong';
|
|
87
|
+
expect(index_js_1.StorageUtils.isValidURL(badURL)).toBe(false);
|
|
88
|
+
});
|
|
89
|
+
it('Returns false if prefix is invalid', () => {
|
|
90
|
+
const badURL1 = 'AnotherInvalidPrefixTestString';
|
|
91
|
+
const badURL2 = 'YetAnotherInvalidPrefixTestString';
|
|
92
|
+
expect(index_js_1.StorageUtils.isValidURL(badURL1)).toBe(false);
|
|
93
|
+
expect(index_js_1.StorageUtils.isValidURL(badURL2)).toBe(false);
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
//# sourceMappingURL=StorageUtils.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageUtils.test.js","sourceRoot":"","sources":["../../../../../src/storage/__test/StorageUtils.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,23 +15,13 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) ||
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
35
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
26
|
exports.StorageDownloader = exports.StorageUploader = exports.StorageUtils = void 0;
|
|
37
27
|
exports.StorageUtils = __importStar(require("./StorageUtils.js"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/storage/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/storage/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kEAAiD;AAEjD,2DAAsD;AAA7C,qHAAA,eAAe,OAAA;AAExB,+DAA0D;AAAjD,yHAAA,iBAAiB,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"totp.js","sourceRoot":"","sources":["../../../../src/totp/totp.ts"],"names":[],"mappings":";;;;;;AAAA,mDAAwE;AACxE,8EAAkD;AAClD,qDAAoE;AA0BpE,kEAAkE;AAClE,MAAa,IAAI;IACf;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAE,MAAgB,EAAE,OAAqB;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;QAEjD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;QACpE,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;QACnD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,CACb,MAAgB,EAChB,QAAgB,EAChB,OAA6B;QAE7B,MAAM,QAAQ,GAAG,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAA;QACzD,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAA;QAC1B,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE
|
|
1
|
+
{"version":3,"file":"totp.js","sourceRoot":"","sources":["../../../../src/totp/totp.ts"],"names":[],"mappings":";;;;;;AAAA,mDAAwE;AACxE,8EAAkD;AAClD,qDAAoE;AA0BpE,kEAAkE;AAClE,MAAa,IAAI;IACf;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAE,MAAgB,EAAE,OAAqB;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;QAEjD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;QACpE,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;QACnD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,CACb,MAAgB,EAChB,QAAgB,EAChB,OAA6B;QAE7B,MAAM,QAAQ,GAAG,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAA;QACzD,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAA;QAC1B,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE;YACvC,OAAO,KAAK,CAAA;SACb;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;QAEpE,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,CAAA;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACvC,QAAQ,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAA;YAC1B,QAAQ,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAA;SAC3B;QAED,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE;YACxB,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAA;YAElD,IACE,IAAA,6BAAkB,EAChB,IAAA,kBAAO,EAAC,QAAQ,EAAE,MAAM,CAAC,EACzB,IAAA,kBAAO,EAAC,QAAQ,EAAE,MAAM,CAAC,CAC1B,EACD;gBACA,OAAO,IAAI,CAAA;aACZ;SACF;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAEO,MAAM,CAAC,UAAU,CAAE,SAAiB,EAAE,MAAc;QAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,CAAA;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,CAAA;QACjD,OAAO,OAAO,CAAA;IAChB,CAAC;IAEO,MAAM,CAAC,kBAAkB,CAC/B,OAAqB;QAErB,OAAO;YACL,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,OAAO;YAClB,MAAM,EAAE,EAAE;YACV,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,GAAG,OAAO;SACX,CAAA;IACH,CAAC;IAEO,MAAM,CAAC,0BAA0B,CACvC,OAA6B;QAE7B,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAA;IACzD,CAAC;CACF;AAhFD,oBAgFC;AAED,SAAS,YAAY,CACnB,MAAgB,EAChB,OAAe,EACf,OAA8B;IAE9B,MAAM,OAAO,GAAG,IAAI,sBAAS,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACvD,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IACzD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;IAE/B,qEAAqE;IACrE,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAA,CAAC,sCAAsC;IAC5F,MAAM,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,CAAA,CAAC,oCAAoC;IAC/F,MAAM,IAAI,GAAG,UAAU,CAAA,CAAC,uEAAuE;IAC/F,MAAM,MAAM,GAAG,IAAI,sBAAS,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAA;IAE9D,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACpD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,QAAQ,CACf,MAAgB,EAChB,OAAiB,EACjB,SAAwB;IAExB,QAAQ,SAAS,EAAE;QACjB,KAAK,OAAO;YACV,OAAO,IAAI,kBAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAC7C,KAAK,SAAS;YACZ,OAAO,IAAI,oBAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAC/C,KAAK,SAAS;YACZ,OAAO,IAAI,oBAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAC/C;YACE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;KAChD;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Beef.js","sourceRoot":"","sources":["../../../../src/transaction/Beef.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Beef.js","sourceRoot":"","sources":["../../../../src/transaction/Beef.ts"],"names":[],"mappings":"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"}
|