@bsv/sdk 2.0.0-beta.0 → 2.0.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/mod.js +1 -0
- package/dist/cjs/mod.js.map +1 -1
- package/dist/cjs/package.json +1 -1
- package/dist/cjs/src/auth/Peer.js +149 -74
- 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 +18 -8
- package/dist/cjs/src/auth/certificates/Certificate.js.map +1 -1
- package/dist/cjs/src/auth/certificates/MasterCertificate.js +19 -9
- package/dist/cjs/src/auth/certificates/MasterCertificate.js.map +1 -1
- package/dist/cjs/src/auth/certificates/VerifiableCertificate.js +17 -7
- 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 +30 -10
- 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 +17 -7
- package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
- package/dist/cjs/src/auth/transports/__tests__/SimplifiedFetchTransport.test.js +17 -7
- package/dist/cjs/src/auth/transports/__tests__/SimplifiedFetchTransport.test.js.map +1 -1
- package/dist/cjs/src/auth/utils/createNonce.js +18 -9
- 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 +18 -9
- package/dist/cjs/src/auth/utils/verifyNonce.js.map +1 -1
- package/dist/cjs/src/compat/BSM.js +17 -7
- package/dist/cjs/src/compat/BSM.js.map +1 -1
- package/dist/cjs/src/compat/ECIES.js +17 -7
- package/dist/cjs/src/compat/ECIES.js.map +1 -1
- package/dist/cjs/src/compat/HD.js +17 -7
- package/dist/cjs/src/compat/HD.js.map +1 -1
- package/dist/cjs/src/compat/Mnemonic.js +17 -7
- 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 +17 -7
- 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 +20 -10
- package/dist/cjs/src/kvstore/GlobalKVStore.js.map +1 -1
- package/dist/cjs/src/kvstore/LocalKVStore.js +17 -7
- package/dist/cjs/src/kvstore/LocalKVStore.js.map +1 -1
- package/dist/cjs/src/kvstore/kvStoreInterpreter.js +17 -7
- package/dist/cjs/src/kvstore/kvStoreInterpreter.js.map +1 -1
- package/dist/cjs/src/messages/EncryptedMessage.js +19 -0
- 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 +17 -7
- 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 +17 -7
- 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 +17 -7
- package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
- package/dist/cjs/src/overlay-tools/withDoubleSpendRetry.js +1 -2
- package/dist/cjs/src/overlay-tools/withDoubleSpendRetry.js.map +1 -1
- package/dist/cjs/src/primitives/AESGCM.js +77 -32
- package/dist/cjs/src/primitives/AESGCM.js.map +1 -1
- package/dist/cjs/src/primitives/BigNumber.js +28 -54
- 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 +58 -24
- 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 +63 -6
- 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 +46 -9
- 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/ReaderUint8Array.js +180 -0
- package/dist/cjs/src/primitives/ReaderUint8Array.js.map +1 -0
- package/dist/cjs/src/primitives/ReductionContext.js +35 -46
- 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 +132 -17
- package/dist/cjs/src/primitives/TransactionSignature.js.map +1 -1
- package/dist/cjs/src/primitives/WriterUint8Array.js +173 -0
- package/dist/cjs/src/primitives/WriterUint8Array.js.map +1 -0
- package/dist/cjs/src/primitives/hex.js +2 -3
- package/dist/cjs/src/primitives/hex.js.map +1 -1
- package/dist/cjs/src/primitives/index.js +17 -7
- package/dist/cjs/src/primitives/index.js.map +1 -1
- package/dist/cjs/src/primitives/utils.js +43 -16
- 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/remittance/CommsLayer.js +3 -0
- package/dist/cjs/src/remittance/CommsLayer.js.map +1 -0
- package/dist/cjs/src/remittance/IdentityLayer.js +3 -0
- package/dist/cjs/src/remittance/IdentityLayer.js.map +1 -0
- package/dist/cjs/src/remittance/RemittanceManager.js +1245 -0
- package/dist/cjs/src/remittance/RemittanceManager.js.map +1 -0
- package/dist/cjs/src/remittance/RemittanceModule.js +3 -0
- package/dist/cjs/src/remittance/RemittanceModule.js.map +1 -0
- package/dist/cjs/src/remittance/index.js +23 -0
- package/dist/cjs/src/remittance/index.js.map +1 -0
- package/dist/cjs/src/remittance/modules/BasicBRC29.js +225 -0
- package/dist/cjs/src/remittance/modules/BasicBRC29.js.map +1 -0
- package/dist/cjs/src/remittance/modules/index.js +18 -0
- package/dist/cjs/src/remittance/modules/index.js.map +1 -0
- package/dist/cjs/src/remittance/types.js +22 -0
- package/dist/cjs/src/remittance/types.js.map +1 -0
- package/dist/cjs/src/script/OP.js +15 -13
- package/dist/cjs/src/script/OP.js.map +1 -1
- package/dist/cjs/src/script/Script.js +4 -1
- package/dist/cjs/src/script/Script.js.map +1 -1
- package/dist/cjs/src/script/Spend.js +145 -53
- 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 +21 -7
- 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 +17 -7
- 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/index.js +17 -7
- 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 +85 -27
- 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 +32 -14
- package/dist/cjs/src/transaction/BeefTx.js.map +1 -1
- package/dist/cjs/src/transaction/Broadcaster.js +2 -3
- package/dist/cjs/src/transaction/Broadcaster.js.map +1 -1
- package/dist/cjs/src/transaction/MerklePath.js +25 -6
- package/dist/cjs/src/transaction/MerklePath.js.map +1 -1
- package/dist/cjs/src/transaction/Transaction.js +238 -27
- package/dist/cjs/src/transaction/Transaction.js.map +1 -1
- package/dist/cjs/src/transaction/broadcasters/ARC.js +23 -0
- package/dist/cjs/src/transaction/broadcasters/ARC.js.map +1 -1
- package/dist/cjs/src/transaction/broadcasters/DefaultBroadcaster.js +1 -2
- 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 +1 -2
- 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 +1 -2
- 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 +17 -7
- 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 +17 -7
- package/dist/cjs/src/wallet/substrates/HTTPWalletWire.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/ReactNativeWebView.js +17 -7
- package/dist/cjs/src/wallet/substrates/ReactNativeWebView.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js +17 -7
- package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js +17 -7
- package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/XDM.js +17 -7
- package/dist/cjs/src/wallet/substrates/XDM.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/utils/toOriginHeader.js +1 -2
- 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 +51 -41
- package/dist/cjs/src/wallet/validationHelpers.js.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/mod.js +1 -0
- package/dist/esm/mod.js.map +1 -1
- package/dist/esm/src/auth/Peer.js +132 -67
- 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 +13 -3
- 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 +19 -0
- 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 +71 -26
- package/dist/esm/src/primitives/AESGCM.js.map +1 -1
- package/dist/esm/src/primitives/BigNumber.js +28 -54
- 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 +58 -24
- 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 +61 -4
- 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 +29 -2
- 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/ReaderUint8Array.js +176 -0
- package/dist/esm/src/primitives/ReaderUint8Array.js.map +1 -0
- package/dist/esm/src/primitives/ReductionContext.js +35 -46
- 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 +115 -10
- package/dist/esm/src/primitives/TransactionSignature.js.map +1 -1
- package/dist/esm/src/primitives/WriterUint8Array.js +169 -0
- package/dist/esm/src/primitives/WriterUint8Array.js.map +1 -0
- package/dist/esm/src/primitives/hex.js.map +1 -1
- package/dist/esm/src/primitives/utils.js +37 -11
- package/dist/esm/src/primitives/utils.js.map +1 -1
- package/dist/esm/src/registry/RegistryClient.js.map +1 -1
- package/dist/esm/src/remittance/CommsLayer.js +2 -0
- package/dist/esm/src/remittance/CommsLayer.js.map +1 -0
- package/dist/esm/src/remittance/IdentityLayer.js +2 -0
- package/dist/esm/src/remittance/IdentityLayer.js.map +1 -0
- package/dist/esm/src/remittance/RemittanceManager.js +1254 -0
- package/dist/esm/src/remittance/RemittanceManager.js.map +1 -0
- package/dist/esm/src/remittance/RemittanceModule.js +2 -0
- package/dist/esm/src/remittance/RemittanceModule.js.map +1 -0
- package/dist/esm/src/remittance/index.js +7 -0
- package/dist/esm/src/remittance/index.js.map +1 -0
- package/dist/esm/src/remittance/modules/BasicBRC29.js +227 -0
- package/dist/esm/src/remittance/modules/BasicBRC29.js.map +1 -0
- package/dist/esm/src/remittance/modules/index.js +2 -0
- package/dist/esm/src/remittance/modules/index.js.map +1 -0
- package/dist/esm/src/remittance/types.js +19 -0
- package/dist/esm/src/remittance/types.js.map +1 -0
- package/dist/esm/src/script/OP.js +15 -13
- package/dist/esm/src/script/OP.js.map +1 -1
- package/dist/esm/src/script/Script.js +4 -1
- package/dist/esm/src/script/Script.js.map +1 -1
- package/dist/esm/src/script/Spend.js +129 -46
- 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 +21 -7
- 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/totp/totp.js.map +1 -1
- package/dist/esm/src/transaction/Beef.js +86 -28
- 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 +32 -14
- package/dist/esm/src/transaction/BeefTx.js.map +1 -1
- package/dist/esm/src/transaction/MerklePath.js +26 -7
- package/dist/esm/src/transaction/MerklePath.js.map +1 -1
- package/dist/esm/src/transaction/Transaction.js +239 -28
- package/dist/esm/src/transaction/Transaction.js.map +1 -1
- package/dist/esm/src/transaction/broadcasters/ARC.js +23 -0
- 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/mod.d.ts +1 -0
- package/dist/types/mod.d.ts.map +1 -1
- package/dist/types/src/auth/Peer.d.ts +12 -7
- 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/clients/AuthFetch.d.ts.map +1 -1
- package/dist/types/src/auth/types.d.ts +2 -0
- package/dist/types/src/auth/types.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 +19 -0
- 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 +18 -0
- package/dist/types/src/primitives/AESGCM.d.ts.map +1 -1
- package/dist/types/src/primitives/BigNumber.d.ts +8 -0
- package/dist/types/src/primitives/BigNumber.d.ts.map +1 -1
- package/dist/types/src/primitives/ECDSA.d.ts +24 -0
- 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 +1 -0
- package/dist/types/src/primitives/Point.d.ts.map +1 -1
- package/dist/types/src/primitives/PrivateKey.d.ts +27 -0
- 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/ReaderUint8Array.d.ts +32 -0
- package/dist/types/src/primitives/ReaderUint8Array.d.ts.map +1 -0
- package/dist/types/src/primitives/ReductionContext.d.ts +9 -0
- package/dist/types/src/primitives/ReductionContext.d.ts.map +1 -1
- package/dist/types/src/primitives/Secp256r1.d.ts.map +1 -1
- package/dist/types/src/primitives/TransactionSignature.d.ts +16 -4
- package/dist/types/src/primitives/TransactionSignature.d.ts.map +1 -1
- package/dist/types/src/primitives/WriterUint8Array.d.ts +54 -0
- package/dist/types/src/primitives/WriterUint8Array.d.ts.map +1 -0
- package/dist/types/src/primitives/utils.d.ts +19 -6
- package/dist/types/src/primitives/utils.d.ts.map +1 -1
- package/dist/types/src/remittance/CommsLayer.d.ts +50 -0
- package/dist/types/src/remittance/CommsLayer.d.ts.map +1 -0
- package/dist/types/src/remittance/IdentityLayer.d.ts +35 -0
- package/dist/types/src/remittance/IdentityLayer.d.ts.map +1 -0
- package/dist/types/src/remittance/RemittanceManager.d.ts +452 -0
- package/dist/types/src/remittance/RemittanceManager.d.ts.map +1 -0
- package/dist/types/src/remittance/RemittanceModule.d.ts +106 -0
- package/dist/types/src/remittance/RemittanceModule.d.ts.map +1 -0
- package/dist/types/src/remittance/index.d.ts +7 -0
- package/dist/types/src/remittance/index.d.ts.map +1 -0
- package/dist/types/src/remittance/modules/BasicBRC29.d.ts +133 -0
- package/dist/types/src/remittance/modules/BasicBRC29.d.ts.map +1 -0
- package/dist/types/src/remittance/modules/index.d.ts +2 -0
- package/dist/types/src/remittance/modules/index.d.ts.map +1 -0
- package/dist/types/src/remittance/types.d.ts +238 -0
- package/dist/types/src/remittance/types.d.ts.map +1 -0
- package/dist/types/src/script/OP.d.ts +5 -3
- package/dist/types/src/script/OP.d.ts.map +1 -1
- package/dist/types/src/script/Script.d.ts.map +1 -1
- package/dist/types/src/script/Spend.d.ts +7 -0
- package/dist/types/src/script/Spend.d.ts.map +1 -1
- package/dist/types/src/script/templates/PushDrop.d.ts +3 -4
- package/dist/types/src/script/templates/PushDrop.d.ts.map +1 -1
- package/dist/types/src/storage/StorageUtils.d.ts.map +1 -1
- package/dist/types/src/transaction/Beef.d.ts +26 -9
- package/dist/types/src/transaction/Beef.d.ts.map +1 -1
- package/dist/types/src/transaction/BeefTx.d.ts +13 -6
- package/dist/types/src/transaction/BeefTx.d.ts.map +1 -1
- package/dist/types/src/transaction/MerklePath.d.ts +16 -3
- package/dist/types/src/transaction/MerklePath.d.ts.map +1 -1
- package/dist/types/src/transaction/Transaction.d.ts +58 -7
- package/dist/types/src/transaction/Transaction.d.ts.map +1 -1
- package/dist/types/src/transaction/broadcasters/ARC.d.ts.map +1 -1
- package/dist/types/src/transaction/http/BinaryFetchClient.d.ts +0 -2
- package/dist/types/src/transaction/http/BinaryFetchClient.d.ts.map +1 -1
- package/dist/types/src/wallet/Wallet.interfaces.d.ts +5 -5
- package/dist/types/src/wallet/Wallet.interfaces.d.ts.map +1 -1
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/dist/umd/bundle.js +13 -13
- package/dist/umd/bundle.js.map +1 -1
- package/docs/index.md +3 -1
- package/docs/reference/auth.md +8 -12
- package/docs/reference/primitives.md +260 -55
- package/docs/reference/remittance.md +2166 -0
- package/docs/reference/script.md +12 -4
- package/docs/reference/transaction.md +203 -34
- package/docs/reference/wallet.md +6 -5
- package/docs/remittance-getting-started.md +138 -0
- package/mod.ts +1 -0
- package/package.json +11 -1
- package/src/auth/Peer.ts +196 -85
- package/src/auth/__tests/Peer.test.ts +424 -257
- package/src/auth/clients/AuthFetch.ts +18 -3
- package/src/auth/types.ts +2 -0
- package/src/messages/EncryptedMessage.ts +19 -0
- package/src/overlay-tools/__tests/SHIPBroadcaster.test.ts +7 -0
- package/src/primitives/AESGCM.ts +75 -34
- package/src/primitives/BigNumber.ts +27 -31
- package/src/primitives/ECDSA.ts +41 -2
- package/src/primitives/PrivateKey.ts +27 -0
- package/src/primitives/ReaderUint8Array.ts +196 -0
- package/src/primitives/ReductionContext.ts +44 -48
- package/src/primitives/TransactionSignature.ts +129 -10
- package/src/primitives/WriterUint8Array.ts +195 -0
- package/src/primitives/__tests/AESGCM.test.ts +31 -0
- package/src/primitives/__tests/ECDSA.test.ts +16 -0
- package/src/primitives/__tests/ReaderUint8Array.test.ts +317 -0
- package/src/primitives/__tests/WriterUint8Array.test.ts +208 -0
- package/src/primitives/utils.ts +31 -4
- package/src/remittance/CommsLayer.ts +41 -0
- package/src/remittance/IdentityLayer.ts +32 -0
- package/src/remittance/RemittanceManager.ts +1672 -0
- package/src/remittance/RemittanceModule.ts +92 -0
- package/src/remittance/__tests/BasicBRC29.test.ts +188 -0
- package/src/remittance/__tests/RemittanceManager.test.ts +493 -0
- package/src/remittance/__tests/examples.ts +130 -0
- package/src/remittance/index.ts +6 -0
- package/src/remittance/modules/BasicBRC29.ts +361 -0
- package/src/remittance/modules/index.ts +1 -0
- package/src/remittance/types.ts +284 -0
- package/src/script/OP.ts +15 -13
- package/src/script/Script.ts +3 -1
- package/src/script/Spend.ts +128 -52
- package/src/script/__tests/Chronicle.test.ts +186 -0
- package/src/script/__tests/Spend.test.ts +1 -1
- package/src/script/__tests/SpendValildVectors.test.ts +63 -0
- package/src/script/__tests/lrshiftnum.test.ts +185 -0
- package/src/script/__tests/sighashTestData.ts +1031 -0
- package/src/script/__tests/spend.valid.vectors.ts +9 -16
- package/src/script/templates/PushDrop.ts +32 -17
- package/src/script/templates/__tests/PushDrop.test.ts +28 -0
- package/src/storage/__tests/StorageUploader.test.ts +1 -1
- package/src/transaction/Beef.ts +103 -40
- package/src/transaction/BeefTx.ts +38 -19
- package/src/transaction/MerklePath.ts +30 -9
- package/src/transaction/Transaction.ts +277 -38
- package/src/transaction/__tests/Beef.test.ts +77 -0
- package/src/transaction/__tests/Transaction.test.ts +641 -3
- package/src/transaction/broadcasters/ARC.ts +34 -7
- package/src/transaction/broadcasters/__tests/ARC.test.ts +98 -0
- package/src/wallet/Wallet.interfaces.ts +5 -5
- package/dist/cjs/src/storage/__test/StorageDownloader.test.js +0 -171
- package/dist/cjs/src/storage/__test/StorageDownloader.test.js.map +0 -1
- package/dist/cjs/src/storage/__test/StorageUploader.test.js +0 -163
- package/dist/cjs/src/storage/__test/StorageUploader.test.js.map +0 -1
- package/dist/cjs/src/storage/__test/StorageUtils.test.js +0 -97
- package/dist/cjs/src/storage/__test/StorageUtils.test.js.map +0 -1
- package/dist/esm/src/storage/__test/StorageDownloader.test.js +0 -166
- package/dist/esm/src/storage/__test/StorageDownloader.test.js.map +0 -1
- package/dist/esm/src/storage/__test/StorageUploader.test.js +0 -135
- package/dist/esm/src/storage/__test/StorageUploader.test.js.map +0 -1
- package/dist/esm/src/storage/__test/StorageUtils.test.js +0 -72
- package/dist/esm/src/storage/__test/StorageUtils.test.js.map +0 -1
- package/dist/types/src/storage/__test/StorageDownloader.test.d.ts +0 -2
- package/dist/types/src/storage/__test/StorageDownloader.test.d.ts.map +0 -1
- package/dist/types/src/storage/__test/StorageUploader.test.d.ts +0 -2
- package/dist/types/src/storage/__test/StorageUploader.test.d.ts.map +0 -1
- package/dist/types/src/storage/__test/StorageUtils.test.d.ts +0 -2
- package/dist/types/src/storage/__test/StorageUtils.test.d.ts.map +0 -1
|
@@ -52,11 +52,28 @@ class BeefTx {
|
|
|
52
52
|
}
|
|
53
53
|
return undefined;
|
|
54
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* Raw transaction bytes, if available as number[]
|
|
57
|
+
*/
|
|
55
58
|
get rawTx() {
|
|
59
|
+
if (this._rawTx != null) {
|
|
60
|
+
return Array.from(this._rawTx);
|
|
61
|
+
}
|
|
62
|
+
if (this._tx != null) {
|
|
63
|
+
const bytes = this._tx.toUint8Array();
|
|
64
|
+
this._rawTx = bytes; // cache
|
|
65
|
+
return Array.from(bytes);
|
|
66
|
+
}
|
|
67
|
+
return undefined;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Raw transaction bytes, if available as Uint8Array
|
|
71
|
+
*/
|
|
72
|
+
get rawTxUint8Array() {
|
|
56
73
|
if (this._rawTx != null)
|
|
57
74
|
return this._rawTx;
|
|
58
75
|
if (this._tx != null) {
|
|
59
|
-
this._rawTx = this._tx.
|
|
76
|
+
this._rawTx = this._tx.toUint8Array();
|
|
60
77
|
return this._rawTx;
|
|
61
78
|
}
|
|
62
79
|
return undefined;
|
|
@@ -76,12 +93,18 @@ class BeefTx {
|
|
|
76
93
|
if (typeof tx === 'string') {
|
|
77
94
|
this._txid = tx;
|
|
78
95
|
}
|
|
79
|
-
else if (
|
|
96
|
+
else if (tx instanceof Uint8Array) {
|
|
80
97
|
this._rawTx = tx;
|
|
81
98
|
}
|
|
82
|
-
else {
|
|
99
|
+
else if (Array.isArray(tx)) {
|
|
100
|
+
this._rawTx = new Uint8Array(tx);
|
|
101
|
+
}
|
|
102
|
+
else if (tx instanceof Transaction_js_1.default) {
|
|
83
103
|
this._tx = tx;
|
|
84
104
|
}
|
|
105
|
+
else {
|
|
106
|
+
throw new Error('Invalid transaction data type');
|
|
107
|
+
}
|
|
85
108
|
this.bumpIndex = bumpIndex;
|
|
86
109
|
this.updateInputTxids();
|
|
87
110
|
}
|
|
@@ -100,14 +123,13 @@ class BeefTx {
|
|
|
100
123
|
this.inputTxids = [];
|
|
101
124
|
}
|
|
102
125
|
else {
|
|
103
|
-
const inputTxids =
|
|
126
|
+
const inputTxids = new Set(); // minor perf improvement
|
|
104
127
|
for (const input of this.tx.inputs) {
|
|
105
128
|
if (input.sourceTXID !== undefined && input.sourceTXID !== null && input.sourceTXID !== '') {
|
|
106
|
-
|
|
107
|
-
inputTxids[input.sourceTXID] = true;
|
|
129
|
+
inputTxids.add(input.sourceTXID);
|
|
108
130
|
}
|
|
109
131
|
}
|
|
110
|
-
this.inputTxids =
|
|
132
|
+
this.inputTxids = Array.from(inputTxids);
|
|
111
133
|
}
|
|
112
134
|
}
|
|
113
135
|
toWriter(writer, version) {
|
|
@@ -121,15 +143,11 @@ class BeefTx {
|
|
|
121
143
|
writer.writeReverse((0, utils_js_1.toArray)(this._txid, 'hex'));
|
|
122
144
|
};
|
|
123
145
|
const writeTx = () => {
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
}
|
|
127
|
-
else if (this._tx != null) {
|
|
128
|
-
writer.write(this._tx.toUint8Array());
|
|
129
|
-
}
|
|
130
|
-
else {
|
|
146
|
+
const bytes = this.rawTxUint8Array;
|
|
147
|
+
if (bytes == null) {
|
|
131
148
|
throw new Error('a valid serialized Transaction is expected');
|
|
132
149
|
}
|
|
150
|
+
writer.write(bytes);
|
|
133
151
|
};
|
|
134
152
|
const writeBumpIndex = () => {
|
|
135
153
|
if (this.bumpIndex === undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BeefTx.js","sourceRoot":"","sources":["../../../../src/transaction/BeefTx.ts"],"names":[],"mappings":";;;;;AAAA,mDAA+C;AAC/C,
|
|
1
|
+
{"version":3,"file":"BeefTx.js","sourceRoot":"","sources":["../../../../src/transaction/BeefTx.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.isBroadcastResponse = isBroadcastResponse;
|
|
4
|
+
exports.isBroadcastFailure = isBroadcastFailure;
|
|
4
5
|
/**
|
|
5
6
|
* Convenience type guard for response from `Broadcaster.broadcast`
|
|
6
7
|
*/
|
|
7
8
|
function isBroadcastResponse(r) {
|
|
8
9
|
return r.status === 'success';
|
|
9
10
|
}
|
|
10
|
-
exports.isBroadcastResponse = isBroadcastResponse;
|
|
11
11
|
/**
|
|
12
12
|
* Convenience type guard for response from `Broadcaster.broadcast`
|
|
13
13
|
*/
|
|
14
14
|
function isBroadcastFailure(r) {
|
|
15
15
|
return r.status === 'error';
|
|
16
16
|
}
|
|
17
|
-
exports.isBroadcastFailure = isBroadcastFailure;
|
|
18
17
|
//# sourceMappingURL=Broadcaster.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Broadcaster.js","sourceRoot":"","sources":["../../../../src/transaction/Broadcaster.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Broadcaster.js","sourceRoot":"","sources":["../../../../src/transaction/Broadcaster.ts"],"names":[],"mappings":";;AAuDA,kDAIC;AAKD,gDAIC;AAhBD;;GAEG;AACH,SAAgB,mBAAmB,CACjC,CAAuC;IAEvC,OAAO,CAAC,CAAC,MAAM,KAAK,SAAS,CAAA;AAC/B,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAChC,CAAuC;IAEvC,OAAO,CAAC,CAAC,MAAM,KAAK,OAAO,CAAA;AAC7B,CAAC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const utils_js_1 = require("../primitives/utils.js");
|
|
4
4
|
const Hash_js_1 = require("../primitives/Hash.js");
|
|
5
|
+
const ReaderUint8Array_js_1 = require("../primitives/ReaderUint8Array.js");
|
|
5
6
|
/**
|
|
6
7
|
* Represents a Merkle Path, which is used to provide a compact proof of inclusion for a
|
|
7
8
|
* transaction in a block. This class encapsulates all the details required for creating
|
|
@@ -77,7 +78,7 @@ class MerklePath {
|
|
|
77
78
|
* @returns {MerklePath} - A new MerklePath instance.
|
|
78
79
|
*/
|
|
79
80
|
static fromBinary(bump) {
|
|
80
|
-
const reader = new
|
|
81
|
+
const reader = new ReaderUint8Array_js_1.ReaderUint8Array(bump);
|
|
81
82
|
return MerklePath.fromReader(reader);
|
|
82
83
|
}
|
|
83
84
|
/**
|
|
@@ -136,12 +137,11 @@ class MerklePath {
|
|
|
136
137
|
});
|
|
137
138
|
}
|
|
138
139
|
/**
|
|
139
|
-
*
|
|
140
|
+
* Serializes the MerklePath to the writer provided.
|
|
140
141
|
*
|
|
141
|
-
* @
|
|
142
|
+
* @param writer - The writer to which the Merkle Path will be serialized.
|
|
142
143
|
*/
|
|
143
|
-
|
|
144
|
-
const writer = new utils_js_1.Writer();
|
|
144
|
+
toWriter(writer) {
|
|
145
145
|
writer.writeVarIntNum(this.blockHeight);
|
|
146
146
|
const treeHeight = this.path.length;
|
|
147
147
|
writer.writeUInt8(treeHeight);
|
|
@@ -163,15 +163,34 @@ class MerklePath {
|
|
|
163
163
|
}
|
|
164
164
|
}
|
|
165
165
|
}
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Converts the MerklePath to a binary array format.
|
|
169
|
+
*
|
|
170
|
+
* @returns {number[]} - The binary array representation of the Merkle Path.
|
|
171
|
+
*/
|
|
172
|
+
toBinary() {
|
|
173
|
+
const writer = new utils_js_1.Writer();
|
|
174
|
+
this.toWriter(writer);
|
|
166
175
|
return writer.toArray();
|
|
167
176
|
}
|
|
177
|
+
/**
|
|
178
|
+
* Converts the MerklePath to a binary array format.
|
|
179
|
+
*
|
|
180
|
+
* @returns {Uint8Array} - The binary array representation of the Merkle Path.
|
|
181
|
+
*/
|
|
182
|
+
toBinaryUint8Array() {
|
|
183
|
+
const writer = new utils_js_1.WriterUint8Array();
|
|
184
|
+
this.toWriter(writer);
|
|
185
|
+
return writer.toUint8Array();
|
|
186
|
+
}
|
|
168
187
|
/**
|
|
169
188
|
* Converts the MerklePath to a hexadecimal string format.
|
|
170
189
|
*
|
|
171
190
|
* @returns {string} - The hexadecimal string representation of the Merkle Path.
|
|
172
191
|
*/
|
|
173
192
|
toHex() {
|
|
174
|
-
return (0, utils_js_1.toHex)(this.
|
|
193
|
+
return (0, utils_js_1.toHex)(this.toBinaryUint8Array());
|
|
175
194
|
}
|
|
176
195
|
//
|
|
177
196
|
indexOf(txid) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MerklePath.js","sourceRoot":"","sources":["../../../../src/transaction/MerklePath.ts"],"names":[],"mappings":";;AACA,qDAAuE;AACvE,mDAA+C;AAU/C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAqB,UAAU;IAW7B;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,CAAE,GAAW;QACzB,OAAO,UAAU,CAAC,UAAU,CAAC,IAAA,kBAAO,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;IACnD,CAAC;IAED,MAAM,CAAC,UAAU,CACf,MAAc,EACd,mBAA4B,IAAI;QAEhC,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,EAAE,CAAA;QAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;QACrC,2EAA2E;QAC3E,MAAM,IAAI,GAAyF,KAAK,CAAC,UAAU,CAAC;aACjH,IAAI,CAAC,IAAI,CAAC;aACV,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;QAChB,IAAI,KAAa,EAAE,MAAc,EAAE,mBAA2B,CAAA;QAC9D,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,EAAE,KAAK,EAAE,EAAE;YAC/C,mBAAmB,GAAG,MAAM,CAAC,aAAa,EAAE,CAAA;YAC5C,OAAO,mBAAmB,GAAG,CAAC,EAAE;gBAC9B,MAAM,GAAG,MAAM,CAAC,aAAa,EAAE,CAAA;gBAC/B,KAAK,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;gBAC1B,MAAM,IAAI,GAKN,EAAE,MAAM,EAAE,CAAA;gBACd,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE;oBACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;iBACtB;qBAAM;oBACL,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE;wBACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;qBACjB;oBACD,IAAI,CAAC,IAAI,GAAG,IAAA,gBAAK,EAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;iBAC7C;gBACD,2CAA2C;gBAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC3D,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;iBACjB;gBACD,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACtB,mBAAmB,EAAE,CAAA;aACtB;YACD,8CAA8C;YAC9C,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAA;SAChD;QACD,OAAO,IAAI,UAAU,CAAC,WAAW,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAA;IAC5D,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAE,IAAc;QAC/B,MAAM,MAAM,GAAG,IAAI,iBAAM,CAAC,IAAI,CAAC,CAAA;QAC/B,OAAO,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IACtC,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,yBAAyB,CAAE,IAAY,EAAE,MAAc;QAC5D,OAAO,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IAC1E,CAAC;IAED,YACE,WAAmB,EACnB,IAOC,EACD,mBAA4B,IAAI;QAEhC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAEhB,yEAAyE;QACzE,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;aACzC,IAAI,CAAC,CAAC,CAAC;aACP,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,CAAA;QACvB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;YACnC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,EAAE;gBACvC,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,EAAE,CAAC,CAAA;aACpD;YACD,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAE,CAAA;YACrC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACtB,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;oBACxC,MAAM,IAAI,KAAK,CACb,qBAAqB,IAAI,CAAC,MAAM,gBAAgB,MAAM,EAAE,CACzD,CAAA;iBACF;gBACD,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBACpC,IAAI,MAAM,KAAK,CAAC,EAAE;oBAChB,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;wBAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACzC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;yBAC5C;qBACF;iBACF;qBAAM;oBACL,IAAI,gBAAgB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;wBAC9D,MAAM,IAAI,KAAK,CACb,mBAAmB,IAAI,CAAC,MAAM,gBAAgB,MAAM,yBAAyB,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC3H,CAAA;qBACF;iBACF;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,8CAA8C;QAC9C,IAAI,IAAY,CAAA;QAChB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YACjC,IAAI,GAAG,KAAK,CAAC;gBAAE,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACjD,IAAI,IAAI,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACxC,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;aACpC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACN,MAAM,MAAM,GAAG,IAAI,iBAAM,EAAE,CAAA;QAC3B,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAA;QACnC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;QAC7B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,EAAE,KAAK,EAAE,EAAE;YAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAA;YACpD,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;YAC9B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBACnC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBAClC,IAAI,KAAK,GAAG,CAAC,CAAA;gBACb,IAAI,IAAI,EAAE,SAAS,KAAK,IAAI,EAAE;oBAC5B,KAAK,IAAI,CAAC,CAAA;iBACX;gBACD,IAAI,IAAI,EAAE,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;oBAClD,KAAK,IAAI,CAAC,CAAA;iBACX;gBACD,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;gBACxB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE;oBACrB,MAAM,CAAC,KAAK,CAAC,IAAA,kBAAO,EAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;iBAClD;aACF;SACF;QACD,OAAO,MAAM,CAAC,OAAO,EAAE,CAAA;IACzB,CAAC;IAED;;;;OAIG;IACH,KAAK;QACH,OAAO,IAAA,gBAAK,EAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC/B,CAAC;IAED,EAAE;IACM,OAAO,CAAE,IAAY;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;QACtD,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE;YACvC,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,+BAA+B,CAAC,CAAA;SACvE;QACD,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED;;;;;;OAMG;IACH,WAAW,CAAE,IAAa;QACxB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;YAClE,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS,EAAE;gBACjD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;aAC1D;YACD,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;SACtB;QACD,oEAAoE;QACpE,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC5B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;SAC/C;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAChC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,MAAM,IAAI,KAAK,CAAC,yCAAyC,IAAI,IAAI,WAAW,EAAE,CAAC,CAAA;SAChF;QACD,2FAA2F;QAC3F,MAAM,IAAI,GAAG,CAAC,CAAS,EAAU,EAAE,CACjC,IAAA,gBAAK,EAAC,IAAA,iBAAO,EAAC,IAAA,kBAAO,EAAC,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;QACvD,IAAI,WAAW,GAAG,IAAI,CAAA;QAEtB,oDAAoD;QACpD,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,WAAW,CAAA;QAE3E,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;YACxD,6DAA6D;YAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAChC,MAAM,MAAM,GAAG,CAAC,KAAK,IAAI,MAAM,CAAC,GAAG,CAAC,CAAA;YACpC,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YACnD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC5B,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,cAAc,MAAM,EAAE,CAAC,CAAA;aACvE;YACD,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;gBAC3B,WAAW,GAAG,IAAI,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAA;aAC9D;iBAAM,IAAI,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE;gBAC3B,WAAW,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAA;aAC5D;iBAAM;gBACL,WAAW,GAAG,IAAI,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAA;aAC5D;SACF;QACD,OAAO,WAAW,CAAA;IACpB,CAAC;IAED;;;;;;;OAOG;IACH,iBAAiB,CACf,MAAc,EACd,MAAc;QAEd,MAAM,IAAI,GAAG,CAAC,CAAS,EAAU,EAAE,CACjC,IAAA,gBAAK,EAAC,IAAA,iBAAO,EAAC,IAAA,kBAAO,EAAC,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;QAEvD,IAAI,IAAI,GAA+B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAC3D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAC3B,CAAA;QAED,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,IAAI,CAAA;QAE7B,IAAI,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAA;QAElC,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,CAAA;QACpB,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,CAAA;QAErB,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAC1C,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE;YAAE,OAAO,SAAS,CAAA;QAE9E,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;QAC9C,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,SAAS,CAAA;QAEnC,IAAI,WAAmB,CAAA;QACvB,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,EAAE;YAC5B,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;SAC5C;aAAM;YACL,WAAW,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAA;SAC5D;QACD,IAAI,GAAG;YACL,MAAM;YACN,IAAI,EAAE,WAAW;SAClB,CAAA;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CAAE,IAAY,EAAE,YAA0B;QACpD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QACnC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC5B,+EAA+E;YAC/E,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,aAAa,EAAE,CAAA;YACjD,IAAI,IAAI,CAAC,WAAW,GAAG,GAAG,GAAG,MAAM,EAAE;gBACnC,OAAO,KAAK,CAAA;aACb;SACF;QACD,mGAAmG;QACnG,OAAO,MAAM,YAAY,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;IACxE,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAE,KAAiB;QACxB,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW,EAAE;YAC1C,MAAM,IAAI,KAAK,CACb,mEAAmE,CACpE,CAAA;SACF;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;QAChC,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAA;QACjC,IAAI,KAAK,KAAK,KAAK,EAAE;YACnB,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAA;SACF;QACD,MAAM,YAAY,GAAyF,EAAE,CAAA;QAC7G,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC5C,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;aACtC;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7C,IACE,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAClB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAClD,KAAK,SAAS,EACf;oBACA,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;iBACvC;qBAAM;oBACL,kFAAkF;oBAClF,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI,EAAE;wBAC3E,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CACjC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAClD,CAAA;wBACD,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE;4BAC3C,MAAM,CAAC,IAAI,GAAG,IAAI,CAAA;yBACnB;qBACF;iBACF;aACF;SACF;QACD,IAAI,CAAC,IAAI,GAAG,YAAY,CAAA;QACxB,IAAI,CAAC,IAAI,EAAE,CAAA;IACb,CAAC;IAED;;;;OAIG;IACH,IAAI;QACF,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,CAAW,EAAQ,EAAE;YACjD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;gBAC1C,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;aACV;QACH,CAAC,CAAA;QAED,MAAM,oBAAoB,GAAG,CAAC,WAAqB,EAAE,KAAa,EAAQ,EAAE;YAC1E,KAAK,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC5C,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAClC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,CACnC,CAAA;gBACD,IAAI,CAAC,IAAI,CAAC,EAAE;oBACV,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;iBAC9B;aACF;QACH,CAAC,CAAA;QAED,MAAM,mBAAmB,GAAG,CAAC,GAAa,EAAY,EAAE;YACtD,MAAM,IAAI,GAAa,EAAE,CAAA;YACzB,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE;gBACnB,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;aACxB;YACD,OAAO,IAAI,CAAA;QACb,CAAC,CAAA;QAED,IAAI,eAAe,GAAa,EAAE,CAAA,CAAC,gBAAgB;QACnD,IAAI,WAAW,GAAa,EAAE,CAAA;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,6CAA6C;YAC7C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAA;SACjD;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5C,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACzB,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE;gBACnB,uDAAuD;gBACvD,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,eAAe,CAAC,CAAA;aAC1C;iBAAM;gBACL,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAA;gBAChC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC/C,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;oBAC/D,kDAAkD;oBAClD,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;iBACpC;aACF;SACF;QACD,oBAAoB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,WAAW,GAAG,eAAe,CAAA;YAC7B,eAAe,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAAA;YACtD,oBAAoB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;SACrC;IACH,CAAC;CACF;AAraD,6BAqaC"}
|
|
1
|
+
{"version":3,"file":"MerklePath.js","sourceRoot":"","sources":["../../../../src/transaction/MerklePath.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,6 @@ const DefaultBroadcaster_js_1 = require("./broadcasters/DefaultBroadcaster.js");
|
|
|
13
13
|
const DefaultChainTracker_js_1 = require("./chaintrackers/DefaultChainTracker.js");
|
|
14
14
|
const Beef_js_1 = require("./Beef.js");
|
|
15
15
|
const P2PKH_js_1 = __importDefault(require("../script/templates/P2PKH.js"));
|
|
16
|
-
const BufferCtor = typeof globalThis !== 'undefined' ? globalThis.Buffer : undefined;
|
|
17
16
|
/**
|
|
18
17
|
* Represents a complete Bitcoin transaction. This class encapsulates all the details
|
|
19
18
|
* required for creating, signing, and processing a Bitcoin transaction, including
|
|
@@ -128,7 +127,7 @@ class Transaction {
|
|
|
128
127
|
* @returns An extended transaction, linked to its associated inputs by locking script and satoshis amounts only.
|
|
129
128
|
*/
|
|
130
129
|
static fromEF(ef) {
|
|
131
|
-
const br =
|
|
130
|
+
const br = utils_js_1.ReaderUint8Array.makeReader(ef);
|
|
132
131
|
const version = br.readUInt32LE();
|
|
133
132
|
if ((0, utils_js_1.toHex)(br.read(6)) !== '0000000000ef') {
|
|
134
133
|
throw new Error('Invalid EF marker');
|
|
@@ -191,7 +190,7 @@ class Transaction {
|
|
|
191
190
|
* }
|
|
192
191
|
*/
|
|
193
192
|
static parseScriptOffsets(bin) {
|
|
194
|
-
const br =
|
|
193
|
+
const br = utils_js_1.ReaderUint8Array.makeReader(bin);
|
|
195
194
|
const inputs = [];
|
|
196
195
|
const outputs = [];
|
|
197
196
|
br.pos += 4; // version
|
|
@@ -254,7 +253,7 @@ class Transaction {
|
|
|
254
253
|
static fromBinary(bin) {
|
|
255
254
|
const copy = bin.slice();
|
|
256
255
|
const rawBytes = Uint8Array.from(copy);
|
|
257
|
-
const br = new utils_js_1.
|
|
256
|
+
const br = new utils_js_1.ReaderUint8Array(rawBytes);
|
|
258
257
|
const tx = Transaction.fromReader(br);
|
|
259
258
|
tx.rawBytesCache = rawBytes;
|
|
260
259
|
return tx;
|
|
@@ -267,15 +266,11 @@ class Transaction {
|
|
|
267
266
|
* @returns {Transaction} - A new Transaction instance.
|
|
268
267
|
*/
|
|
269
268
|
static fromHex(hex) {
|
|
270
|
-
const
|
|
271
|
-
const
|
|
272
|
-
const br = new utils_js_1.Reader(bin);
|
|
269
|
+
const rawBytes = (0, utils_js_1.toUint8Array)(hex, 'hex');
|
|
270
|
+
const br = new utils_js_1.ReaderUint8Array(rawBytes);
|
|
273
271
|
const tx = Transaction.fromReader(br);
|
|
274
272
|
tx.rawBytesCache = rawBytes;
|
|
275
|
-
tx.hexCache =
|
|
276
|
-
BufferCtor != null
|
|
277
|
-
? BufferCtor.from(rawBytes).toString('hex')
|
|
278
|
-
: (0, utils_js_1.toHex)(bin);
|
|
273
|
+
tx.hexCache = (0, utils_js_1.toHex)(rawBytes);
|
|
279
274
|
return tx;
|
|
280
275
|
}
|
|
281
276
|
/**
|
|
@@ -286,7 +281,7 @@ class Transaction {
|
|
|
286
281
|
* @returns {Transaction} - A new Transaction instance.
|
|
287
282
|
*/
|
|
288
283
|
static fromHexEF(hex) {
|
|
289
|
-
return Transaction.fromEF((0, utils_js_1.
|
|
284
|
+
return Transaction.fromEF((0, utils_js_1.toUint8Array)(hex, 'hex'));
|
|
290
285
|
}
|
|
291
286
|
/**
|
|
292
287
|
* Creates a Transaction instance from a hexadecimal string encoded BEEF.
|
|
@@ -567,7 +562,7 @@ class Transaction {
|
|
|
567
562
|
writer.writeUInt32LE(this.lockTime);
|
|
568
563
|
}
|
|
569
564
|
buildSerializedBytes() {
|
|
570
|
-
const writer = new utils_js_1.
|
|
565
|
+
const writer = new utils_js_1.WriterUint8Array();
|
|
571
566
|
this.writeTransactionBody(writer);
|
|
572
567
|
return writer.toUint8Array();
|
|
573
568
|
}
|
|
@@ -588,13 +583,7 @@ class Transaction {
|
|
|
588
583
|
toUint8Array() {
|
|
589
584
|
return this.getSerializedBytes();
|
|
590
585
|
}
|
|
591
|
-
|
|
592
|
-
* Converts the transaction to a BRC-30 EF format.
|
|
593
|
-
*
|
|
594
|
-
* @returns {number[]} - The BRC-30 EF representation of the transaction.
|
|
595
|
-
*/
|
|
596
|
-
toEF() {
|
|
597
|
-
const writer = new utils_js_1.Writer();
|
|
586
|
+
writeEF(writer) {
|
|
598
587
|
writer.writeUInt32LE(this.version);
|
|
599
588
|
writer.write([0, 0, 0, 0, 0, 0xef]);
|
|
600
589
|
writer.writeVarIntNum(this.inputs.length);
|
|
@@ -629,15 +618,34 @@ class Transaction {
|
|
|
629
618
|
writer.write(scriptBin);
|
|
630
619
|
}
|
|
631
620
|
writer.writeUInt32LE(this.lockTime);
|
|
621
|
+
}
|
|
622
|
+
/**
|
|
623
|
+
* Converts the transaction to a BRC-30 EF format.
|
|
624
|
+
*
|
|
625
|
+
* @returns {number[]} - The BRC-30 EF representation of the transaction.
|
|
626
|
+
*/
|
|
627
|
+
toEF() {
|
|
628
|
+
const writer = new utils_js_1.Writer();
|
|
629
|
+
this.writeEF(writer);
|
|
632
630
|
return writer.toArray();
|
|
633
631
|
}
|
|
632
|
+
/**
|
|
633
|
+
* Converts the transaction to a BRC-30 EF format.
|
|
634
|
+
*
|
|
635
|
+
* @returns {Uint8Array} - The BRC-30 EF representation of the transaction.
|
|
636
|
+
*/
|
|
637
|
+
toEFUint8Array() {
|
|
638
|
+
const writer = new utils_js_1.WriterUint8Array();
|
|
639
|
+
this.writeEF(writer);
|
|
640
|
+
return writer.toUint8Array();
|
|
641
|
+
}
|
|
634
642
|
/**
|
|
635
643
|
* Converts the transaction to a hexadecimal string EF.
|
|
636
644
|
*
|
|
637
645
|
* @returns {string} - The hexadecimal string representation of the transaction EF.
|
|
638
646
|
*/
|
|
639
647
|
toHexEF() {
|
|
640
|
-
return (0, utils_js_1.toHex)(this.
|
|
648
|
+
return (0, utils_js_1.toHex)(this.toEFUint8Array());
|
|
641
649
|
}
|
|
642
650
|
/**
|
|
643
651
|
* Converts the transaction to a hexadecimal string format.
|
|
@@ -649,9 +657,7 @@ class Transaction {
|
|
|
649
657
|
return this.hexCache;
|
|
650
658
|
}
|
|
651
659
|
const bytes = this.getSerializedBytes();
|
|
652
|
-
const hex =
|
|
653
|
-
? BufferCtor.from(bytes).toString('hex')
|
|
654
|
-
: (0, utils_js_1.toHex)(Array.from(bytes));
|
|
660
|
+
const hex = (0, utils_js_1.toHex)(bytes);
|
|
655
661
|
this.hexCache = hex;
|
|
656
662
|
return hex;
|
|
657
663
|
}
|
|
@@ -785,7 +791,7 @@ class Transaction {
|
|
|
785
791
|
transactionVersion: tx.version,
|
|
786
792
|
otherInputs,
|
|
787
793
|
unlockingScript: input.unlockingScript,
|
|
788
|
-
inputSequence: input.sequence ?? 0xffffffff,
|
|
794
|
+
inputSequence: input.sequence ?? 0xffffffff, // default to max sequence
|
|
789
795
|
inputIndex: i,
|
|
790
796
|
outputs: tx.outputs,
|
|
791
797
|
lockTime: tx.lockTime,
|
|
@@ -814,13 +820,13 @@ class Transaction {
|
|
|
814
820
|
/**
|
|
815
821
|
* Serializes this transaction, together with its inputs and the respective merkle proofs, into the BEEF (BRC-62) format. This enables efficient verification of its compliance with the rules of SPV.
|
|
816
822
|
*
|
|
823
|
+
* @param writer The writer to serialize to
|
|
817
824
|
* @param allowPartial If true, error will not be thrown if there are any missing sourceTransactions.
|
|
818
825
|
*
|
|
819
826
|
* @returns The serialized BEEF structure
|
|
820
827
|
* @throws Error if there are any missing sourceTransactions unless `allowPartial` is true.
|
|
821
828
|
*/
|
|
822
|
-
|
|
823
|
-
const writer = new utils_js_1.Writer();
|
|
829
|
+
writeSerializedBEEF(writer, allowPartial) {
|
|
824
830
|
writer.writeUInt32LE(Beef_js_1.BEEF_V1);
|
|
825
831
|
const BUMPs = [];
|
|
826
832
|
const bumpIndexByInstance = new Map();
|
|
@@ -889,6 +895,32 @@ class Transaction {
|
|
|
889
895
|
}
|
|
890
896
|
return writer.toArray();
|
|
891
897
|
}
|
|
898
|
+
/**
|
|
899
|
+
* Serializes this transaction, together with its inputs and the respective merkle proofs, into the BEEF (BRC-62) format. This enables efficient verification of its compliance with the rules of SPV.
|
|
900
|
+
*
|
|
901
|
+
* @param allowPartial If true, error will not be thrown if there are any missing sourceTransactions.
|
|
902
|
+
*
|
|
903
|
+
* @returns {number[]} The serialized BEEF structure
|
|
904
|
+
* @throws Error if there are any missing sourceTransactions unless `allowPartial` is true.
|
|
905
|
+
*/
|
|
906
|
+
toBEEF(allowPartial) {
|
|
907
|
+
const writer = new utils_js_1.Writer();
|
|
908
|
+
this.writeSerializedBEEF(writer, allowPartial);
|
|
909
|
+
return writer.toArray();
|
|
910
|
+
}
|
|
911
|
+
/**
|
|
912
|
+
* Serializes this transaction, together with its inputs and the respective merkle proofs, into the BEEF (BRC-62) format. This enables efficient verification of its compliance with the rules of SPV.
|
|
913
|
+
*
|
|
914
|
+
* @param allowPartial If true, error will not be thrown if there are any missing sourceTransactions.
|
|
915
|
+
*
|
|
916
|
+
* @returns {number[]} The serialized BEEF structure
|
|
917
|
+
* @throws Error if there are any missing sourceTransactions unless `allowPartial` is true.
|
|
918
|
+
*/
|
|
919
|
+
toBEEFUint8Array(allowPartial) {
|
|
920
|
+
const writer = new utils_js_1.WriterUint8Array();
|
|
921
|
+
this.writeSerializedBEEF(writer, allowPartial);
|
|
922
|
+
return writer.toArray();
|
|
923
|
+
}
|
|
892
924
|
/**
|
|
893
925
|
* Serializes this transaction and its inputs into the Atomic BEEF (BRC-95) format.
|
|
894
926
|
* The Atomic BEEF format starts with a 4-byte prefix `0x01010101`, followed by the TXID of the subject transaction,
|
|
@@ -906,6 +938,185 @@ class Transaction {
|
|
|
906
938
|
const beefData = this.toBEEF(allowPartial);
|
|
907
939
|
return prefix.concat(txHash, beefData);
|
|
908
940
|
}
|
|
941
|
+
/**
|
|
942
|
+
* Serializes this transaction and its inputs into the Atomic BEEF (BRC-95) format.
|
|
943
|
+
* The Atomic BEEF format starts with a 4-byte prefix `0x01010101`, followed by the TXID of the subject transaction,
|
|
944
|
+
* and then the BEEF data containing only the subject transaction and its dependencies.
|
|
945
|
+
* This format ensures that the BEEF structure is atomic and contains no unrelated transactions.
|
|
946
|
+
*
|
|
947
|
+
* @param allowPartial If true, error will not be thrown if there are any missing sourceTransactions.
|
|
948
|
+
*
|
|
949
|
+
* @returns {number[]} - The serialized Atomic BEEF structure.
|
|
950
|
+
* @throws Error if there are any missing sourceTransactions unless `allowPartial` is true.
|
|
951
|
+
*/
|
|
952
|
+
toAtomicBEEFUint8Array(allowPartial) {
|
|
953
|
+
const writer = new utils_js_1.WriterUint8Array();
|
|
954
|
+
const prefix = [1, 1, 1, 1];
|
|
955
|
+
writer.write(prefix);
|
|
956
|
+
const txHash = this.hash();
|
|
957
|
+
writer.write(txHash);
|
|
958
|
+
this.writeSerializedBEEF(writer, allowPartial);
|
|
959
|
+
return writer.toUint8Array();
|
|
960
|
+
}
|
|
961
|
+
/**
|
|
962
|
+
* Completes the transaction using a wallet interface, which will handle
|
|
963
|
+
* signing and transaction finalization. This method converts the current
|
|
964
|
+
* transaction into a format that can be processed by the wallet, and then
|
|
965
|
+
* updates this transaction object with the result from the wallet.
|
|
966
|
+
*
|
|
967
|
+
* @param {WalletInterface} wallet - The BRC-100 compliant wallet to use for completing the transaction
|
|
968
|
+
* @param {string} [actionDescription] - Optional description for the action
|
|
969
|
+
* @param {string} [originator] - Optional originator domain name
|
|
970
|
+
* @param {CreateActionOptions} [options] - Optional settings for transaction creation (e.g., acceptDelayedBroadcast, trustSelf, noSend, etc.)
|
|
971
|
+
* @returns {Promise<void>}
|
|
972
|
+
*/
|
|
973
|
+
async completeWithWallet(wallet, actionDescription, originator, options) {
|
|
974
|
+
const inputCount = this.inputs.length;
|
|
975
|
+
const outputCount = this.outputs.length;
|
|
976
|
+
const description = actionDescription ?? `Transaction with ${inputCount} input(s) and ${outputCount} output(s)`;
|
|
977
|
+
const actionArgs = {
|
|
978
|
+
description,
|
|
979
|
+
inputs: [],
|
|
980
|
+
outputs: [],
|
|
981
|
+
lockTime: this.lockTime,
|
|
982
|
+
version: this.version
|
|
983
|
+
};
|
|
984
|
+
// Check if any input has an unlocking script template
|
|
985
|
+
const hasTemplates = this.inputs.some(input => input.unlockingScriptTemplate != null);
|
|
986
|
+
// Process inputs - collect all source transactions and convert them to BEEF
|
|
987
|
+
const beefData = new Beef_js_1.Beef();
|
|
988
|
+
for (let i = 0; i < this.inputs.length; i++) {
|
|
989
|
+
const input = this.inputs[i];
|
|
990
|
+
if (input.sourceTransaction == null) {
|
|
991
|
+
throw new Error('All inputs must have a sourceTransaction when using completeWithWallet');
|
|
992
|
+
}
|
|
993
|
+
// Merge source transaction into BEEF
|
|
994
|
+
const sourceBEEF = input.sourceTransaction.toBEEF();
|
|
995
|
+
beefData.mergeBeef(sourceBEEF);
|
|
996
|
+
const sourceTXID = input.sourceTransaction.id('hex');
|
|
997
|
+
const inputArg = {
|
|
998
|
+
outpoint: `${sourceTXID}.${input.sourceOutputIndex}`,
|
|
999
|
+
inputDescription: 'Input from source transaction',
|
|
1000
|
+
sequenceNumber: input.sequence
|
|
1001
|
+
};
|
|
1002
|
+
// Handle inputs with templates vs scripts
|
|
1003
|
+
if (hasTemplates) {
|
|
1004
|
+
// When using signAction flow, need to provide length for templates
|
|
1005
|
+
if (input.unlockingScriptTemplate != null) {
|
|
1006
|
+
const estimatedLength = await input.unlockingScriptTemplate.estimateLength(this, i);
|
|
1007
|
+
inputArg.unlockingScriptLength = estimatedLength;
|
|
1008
|
+
}
|
|
1009
|
+
else if (input.unlockingScript != null) {
|
|
1010
|
+
// Still provide the script if it exists
|
|
1011
|
+
inputArg.unlockingScript = input.unlockingScript.toHex();
|
|
1012
|
+
}
|
|
1013
|
+
else {
|
|
1014
|
+
throw new Error(`Input ${i} must have either an unlockingScript or unlockingScriptTemplate`);
|
|
1015
|
+
}
|
|
1016
|
+
}
|
|
1017
|
+
else {
|
|
1018
|
+
// Original flow: all inputs must have unlocking scripts
|
|
1019
|
+
if (input.unlockingScript == null) {
|
|
1020
|
+
throw new Error('All inputs must have an unlockingScript when using completeWithWallet');
|
|
1021
|
+
}
|
|
1022
|
+
inputArg.unlockingScript = input.unlockingScript.toHex();
|
|
1023
|
+
}
|
|
1024
|
+
actionArgs.inputs.push(inputArg);
|
|
1025
|
+
}
|
|
1026
|
+
// Add inputBEEF if there are inputs
|
|
1027
|
+
if (this.inputs.length > 0) {
|
|
1028
|
+
actionArgs.inputBEEF = beefData.toBinary();
|
|
1029
|
+
}
|
|
1030
|
+
// Process outputs
|
|
1031
|
+
for (const output of this.outputs) {
|
|
1032
|
+
actionArgs.outputs.push({
|
|
1033
|
+
satoshis: output.satoshis,
|
|
1034
|
+
lockingScript: output.lockingScript.toHex(),
|
|
1035
|
+
outputDescription: 'Output from source transaction'
|
|
1036
|
+
});
|
|
1037
|
+
}
|
|
1038
|
+
// Add any labels from metadata if they exist
|
|
1039
|
+
if (this.metadata?.labels != null && Array.isArray(this.metadata.labels)) {
|
|
1040
|
+
actionArgs.labels = this.metadata.labels;
|
|
1041
|
+
}
|
|
1042
|
+
let atomicBEEF;
|
|
1043
|
+
// Use signAction flow for templates
|
|
1044
|
+
if (hasTemplates) {
|
|
1045
|
+
// Merge user options with required signAndProcess: false for template flow
|
|
1046
|
+
actionArgs.options = {
|
|
1047
|
+
...options,
|
|
1048
|
+
signAndProcess: false
|
|
1049
|
+
};
|
|
1050
|
+
const { signableTransaction } = await wallet.createAction(actionArgs, originator);
|
|
1051
|
+
if (signableTransaction == null) {
|
|
1052
|
+
throw new Error('Wallet createAction did not return signableTransaction');
|
|
1053
|
+
}
|
|
1054
|
+
// Parse the signable transaction BEEF to get the unsigned transaction
|
|
1055
|
+
const partialTx = Transaction.fromBEEF(signableTransaction.tx);
|
|
1056
|
+
// Sign inputs with templates and collect all unlocking scripts
|
|
1057
|
+
const spends = {};
|
|
1058
|
+
for (let i = 0; i < this.inputs.length; i++) {
|
|
1059
|
+
const input = this.inputs[i];
|
|
1060
|
+
if (input.unlockingScriptTemplate != null) {
|
|
1061
|
+
// Use the template to sign this input
|
|
1062
|
+
const unlockingScript = await input.unlockingScriptTemplate.sign(partialTx, i);
|
|
1063
|
+
spends[i] = {
|
|
1064
|
+
unlockingScript: unlockingScript.toHex()
|
|
1065
|
+
};
|
|
1066
|
+
}
|
|
1067
|
+
else if (input.unlockingScript != null) {
|
|
1068
|
+
// Include pre-existing unlocking scripts
|
|
1069
|
+
spends[i] = {
|
|
1070
|
+
unlockingScript: input.unlockingScript.toHex()
|
|
1071
|
+
};
|
|
1072
|
+
}
|
|
1073
|
+
}
|
|
1074
|
+
// Extract options that apply to signAction (subset of CreateActionOptions)
|
|
1075
|
+
const signActionOptions = options != null
|
|
1076
|
+
? {
|
|
1077
|
+
acceptDelayedBroadcast: options.acceptDelayedBroadcast,
|
|
1078
|
+
returnTXIDOnly: options.returnTXIDOnly,
|
|
1079
|
+
noSend: options.noSend,
|
|
1080
|
+
sendWith: options.sendWith
|
|
1081
|
+
}
|
|
1082
|
+
: undefined;
|
|
1083
|
+
// Call signAction with the generated unlocking scripts
|
|
1084
|
+
const signResult = await wallet.signAction({
|
|
1085
|
+
reference: signableTransaction.reference,
|
|
1086
|
+
spends,
|
|
1087
|
+
options: signActionOptions
|
|
1088
|
+
}, originator);
|
|
1089
|
+
if (signResult.tx == null) {
|
|
1090
|
+
throw new Error('Wallet signAction did not return transaction data');
|
|
1091
|
+
}
|
|
1092
|
+
atomicBEEF = signResult.tx;
|
|
1093
|
+
}
|
|
1094
|
+
else {
|
|
1095
|
+
// Pass through user options for standard flow
|
|
1096
|
+
if (options != null) {
|
|
1097
|
+
actionArgs.options = options;
|
|
1098
|
+
}
|
|
1099
|
+
const { tx } = await wallet.createAction(actionArgs, originator);
|
|
1100
|
+
if (tx == null) {
|
|
1101
|
+
throw new Error('Wallet createAction did not return transaction data');
|
|
1102
|
+
}
|
|
1103
|
+
atomicBEEF = tx;
|
|
1104
|
+
}
|
|
1105
|
+
// Create a new transaction from the atomic BEEF
|
|
1106
|
+
const newTransaction = Transaction.fromAtomicBEEF(atomicBEEF);
|
|
1107
|
+
// Update this transaction's properties with the new transaction's properties
|
|
1108
|
+
this.version = newTransaction.version;
|
|
1109
|
+
this.inputs = newTransaction.inputs;
|
|
1110
|
+
this.outputs = newTransaction.outputs;
|
|
1111
|
+
this.lockTime = newTransaction.lockTime;
|
|
1112
|
+
this.merklePath = newTransaction.merklePath;
|
|
1113
|
+
this.cachedHash = newTransaction.cachedHash;
|
|
1114
|
+
// Preserve metadata from the original transaction but update with any new metadata
|
|
1115
|
+
this.metadata = {
|
|
1116
|
+
...this.metadata,
|
|
1117
|
+
...newTransaction.metadata
|
|
1118
|
+
};
|
|
1119
|
+
}
|
|
909
1120
|
}
|
|
910
1121
|
exports.default = Transaction;
|
|
911
1122
|
//# sourceMappingURL=Transaction.js.map
|