| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378 | 
							- import { Signature } from "../crypto/index.js";
 
- import type { BigNumberish, BytesLike } from "../utils/index.js";
 
- import type { SignatureLike } from "../crypto/index.js";
 
- import type { AccessList, AccessListish } from "./index.js";
 
- /**
 
-  *  A **TransactionLike** is an object which is appropriate as a loose
 
-  *  input for many operations which will populate missing properties of
 
-  *  a transaction.
 
-  */
 
- export interface TransactionLike<A = string> {
 
-     /**
 
-      *  The type.
 
-      */
 
-     type?: null | number;
 
-     /**
 
-      *  The recipient address or ``null`` for an ``init`` transaction.
 
-      */
 
-     to?: null | A;
 
-     /**
 
-      *  The sender.
 
-      */
 
-     from?: null | A;
 
-     /**
 
-      *  The nonce.
 
-      */
 
-     nonce?: null | number;
 
-     /**
 
-      *  The maximum amount of gas that can be used.
 
-      */
 
-     gasLimit?: null | BigNumberish;
 
-     /**
 
-      *  The gas price for legacy and berlin transactions.
 
-      */
 
-     gasPrice?: null | BigNumberish;
 
-     /**
 
-      *  The maximum priority fee per gas for london transactions.
 
-      */
 
-     maxPriorityFeePerGas?: null | BigNumberish;
 
-     /**
 
-      *  The maximum total fee per gas for london transactions.
 
-      */
 
-     maxFeePerGas?: null | BigNumberish;
 
-     /**
 
-      *  The data.
 
-      */
 
-     data?: null | string;
 
-     /**
 
-      *  The value (in wei) to send.
 
-      */
 
-     value?: null | BigNumberish;
 
-     /**
 
-      *  The chain ID the transaction is valid on.
 
-      */
 
-     chainId?: null | BigNumberish;
 
-     /**
 
-      *  The transaction hash.
 
-      */
 
-     hash?: null | string;
 
-     /**
 
-      *  The signature provided by the sender.
 
-      */
 
-     signature?: null | SignatureLike;
 
-     /**
 
-      *  The access list for berlin and london transactions.
 
-      */
 
-     accessList?: null | AccessListish;
 
-     /**
 
-      *  The maximum fee per blob gas (see [[link-eip-4844]]).
 
-      */
 
-     maxFeePerBlobGas?: null | BigNumberish;
 
-     /**
 
-      *  The versioned hashes (see [[link-eip-4844]]).
 
-      */
 
-     blobVersionedHashes?: null | Array<string>;
 
-     /**
 
-      *  The blobs (if any) attached to this transaction (see [[link-eip-4844]]).
 
-      */
 
-     blobs?: null | Array<BlobLike>;
 
-     /**
 
-      *  An external library for computing the KZG commitments and
 
-      *  proofs necessary for EIP-4844 transactions (see [[link-eip-4844]]).
 
-      *
 
-      *  This is generally ``null``, unless you are creating BLOb
 
-      *  transactions.
 
-      */
 
-     kzg?: null | KzgLibrary;
 
- }
 
- /**
 
-  *  A full-valid BLOb object for [[link-eip-4844]] transactions.
 
-  *
 
-  *  The commitment and proof should have been computed using a
 
-  *  KZG library.
 
-  */
 
- export interface Blob {
 
-     data: string;
 
-     proof: string;
 
-     commitment: string;
 
- }
 
- /**
 
-  *  A BLOb object that can be passed for [[link-eip-4844]]
 
-  *  transactions.
 
-  *
 
-  *  It may have had its commitment and proof already provided
 
-  *  or rely on an attached [[KzgLibrary]] to compute them.
 
-  */
 
- export type BlobLike = BytesLike | {
 
-     data: BytesLike;
 
-     proof: BytesLike;
 
-     commitment: BytesLike;
 
- };
 
- /**
 
-  *  A KZG Library with the necessary functions to compute
 
-  *  BLOb commitments and proofs.
 
-  */
 
- export interface KzgLibrary {
 
-     blobToKzgCommitment: (blob: Uint8Array) => Uint8Array;
 
-     computeBlobKzgProof: (blob: Uint8Array, commitment: Uint8Array) => Uint8Array;
 
- }
 
- /**
 
-  *  A **Transaction** describes an operation to be executed on
 
-  *  Ethereum by an Externally Owned Account (EOA). It includes
 
-  *  who (the [[to]] address), what (the [[data]]) and how much (the
 
-  *  [[value]] in ether) the operation should entail.
 
-  *
 
-  *  @example:
 
-  *    tx = new Transaction()
 
-  *    //_result:
 
-  *
 
-  *    tx.data = "0x1234";
 
-  *    //_result:
 
-  */
 
- export declare class Transaction implements TransactionLike<string> {
 
-     #private;
 
-     /**
 
-      *  The transaction type.
 
-      *
 
-      *  If null, the type will be automatically inferred based on
 
-      *  explicit properties.
 
-      */
 
-     get type(): null | number;
 
-     set type(value: null | number | string);
 
-     /**
 
-      *  The name of the transaction type.
 
-      */
 
-     get typeName(): null | string;
 
-     /**
 
-      *  The ``to`` address for the transaction or ``null`` if the
 
-      *  transaction is an ``init`` transaction.
 
-      */
 
-     get to(): null | string;
 
-     set to(value: null | string);
 
-     /**
 
-      *  The transaction nonce.
 
-      */
 
-     get nonce(): number;
 
-     set nonce(value: BigNumberish);
 
-     /**
 
-      *  The gas limit.
 
-      */
 
-     get gasLimit(): bigint;
 
-     set gasLimit(value: BigNumberish);
 
-     /**
 
-      *  The gas price.
 
-      *
 
-      *  On legacy networks this defines the fee that will be paid. On
 
-      *  EIP-1559 networks, this should be ``null``.
 
-      */
 
-     get gasPrice(): null | bigint;
 
-     set gasPrice(value: null | BigNumberish);
 
-     /**
 
-      *  The maximum priority fee per unit of gas to pay. On legacy
 
-      *  networks this should be ``null``.
 
-      */
 
-     get maxPriorityFeePerGas(): null | bigint;
 
-     set maxPriorityFeePerGas(value: null | BigNumberish);
 
-     /**
 
-      *  The maximum total fee per unit of gas to pay. On legacy
 
-      *  networks this should be ``null``.
 
-      */
 
-     get maxFeePerGas(): null | bigint;
 
-     set maxFeePerGas(value: null | BigNumberish);
 
-     /**
 
-      *  The transaction data. For ``init`` transactions this is the
 
-      *  deployment code.
 
-      */
 
-     get data(): string;
 
-     set data(value: BytesLike);
 
-     /**
 
-      *  The amount of ether (in wei) to send in this transactions.
 
-      */
 
-     get value(): bigint;
 
-     set value(value: BigNumberish);
 
-     /**
 
-      *  The chain ID this transaction is valid on.
 
-      */
 
-     get chainId(): bigint;
 
-     set chainId(value: BigNumberish);
 
-     /**
 
-      *  If signed, the signature for this transaction.
 
-      */
 
-     get signature(): null | Signature;
 
-     set signature(value: null | SignatureLike);
 
-     /**
 
-      *  The access list.
 
-      *
 
-      *  An access list permits discounted (but pre-paid) access to
 
-      *  bytecode and state variable access within contract execution.
 
-      */
 
-     get accessList(): null | AccessList;
 
-     set accessList(value: null | AccessListish);
 
-     /**
 
-      *  The max fee per blob gas for Cancun transactions.
 
-      */
 
-     get maxFeePerBlobGas(): null | bigint;
 
-     set maxFeePerBlobGas(value: null | BigNumberish);
 
-     /**
 
-      *  The BLOb versioned hashes for Cancun transactions.
 
-      */
 
-     get blobVersionedHashes(): null | Array<string>;
 
-     set blobVersionedHashes(value: null | Array<string>);
 
-     /**
 
-      *  The BLObs for the Transaction, if any.
 
-      *
 
-      *  If ``blobs`` is non-``null``, then the [[seriailized]]
 
-      *  will return the network formatted sidecar, otherwise it
 
-      *  will return the standard [[link-eip-2718]] payload. The
 
-      *  [[unsignedSerialized]] is unaffected regardless.
 
-      *
 
-      *  When setting ``blobs``, either fully valid [[Blob]] objects
 
-      *  may be specified (i.e. correctly padded, with correct
 
-      *  committments and proofs) or a raw [[BytesLike]] may
 
-      *  be provided.
 
-      *
 
-      *  If raw [[BytesLike]] are provided, the [[kzg]] property **must**
 
-      *  be already set. The blob will be correctly padded and the
 
-      *  [[KzgLibrary]] will be used to compute the committment and
 
-      *  proof for the blob.
 
-      *
 
-      *  A BLOb is a sequence of field elements, each of which must
 
-      *  be within the BLS field modulo, so some additional processing
 
-      *  may be required to encode arbitrary data to ensure each 32 byte
 
-      *  field is within the valid range.
 
-      *
 
-      *  Setting this automatically populates [[blobVersionedHashes]],
 
-      *  overwriting any existing values. Setting this to ``null``
 
-      *  does **not** remove the [[blobVersionedHashes]], leaving them
 
-      *  present.
 
-      */
 
-     get blobs(): null | Array<Blob>;
 
-     set blobs(_blobs: null | Array<BlobLike>);
 
-     get kzg(): null | KzgLibrary;
 
-     set kzg(kzg: null | KzgLibrary);
 
-     /**
 
-      *  Creates a new Transaction with default values.
 
-      */
 
-     constructor();
 
-     /**
 
-      *  The transaction hash, if signed. Otherwise, ``null``.
 
-      */
 
-     get hash(): null | string;
 
-     /**
 
-      *  The pre-image hash of this transaction.
 
-      *
 
-      *  This is the digest that a [[Signer]] must sign to authorize
 
-      *  this transaction.
 
-      */
 
-     get unsignedHash(): string;
 
-     /**
 
-      *  The sending address, if signed. Otherwise, ``null``.
 
-      */
 
-     get from(): null | string;
 
-     /**
 
-      *  The public key of the sender, if signed. Otherwise, ``null``.
 
-      */
 
-     get fromPublicKey(): null | string;
 
-     /**
 
-      *  Returns true if signed.
 
-      *
 
-      *  This provides a Type Guard that properties requiring a signed
 
-      *  transaction are non-null.
 
-      */
 
-     isSigned(): this is (Transaction & {
 
-         type: number;
 
-         typeName: string;
 
-         from: string;
 
-         signature: Signature;
 
-     });
 
-     /**
 
-      *  The serialized transaction.
 
-      *
 
-      *  This throws if the transaction is unsigned. For the pre-image,
 
-      *  use [[unsignedSerialized]].
 
-      */
 
-     get serialized(): string;
 
-     /**
 
-      *  The transaction pre-image.
 
-      *
 
-      *  The hash of this is the digest which needs to be signed to
 
-      *  authorize this transaction.
 
-      */
 
-     get unsignedSerialized(): string;
 
-     /**
 
-      *  Return the most "likely" type; currently the highest
 
-      *  supported transaction type.
 
-      */
 
-     inferType(): number;
 
-     /**
 
-      *  Validates the explicit properties and returns a list of compatible
 
-      *  transaction types.
 
-      */
 
-     inferTypes(): Array<number>;
 
-     /**
 
-      *  Returns true if this transaction is a legacy transaction (i.e.
 
-      *  ``type === 0``).
 
-      *
 
-      *  This provides a Type Guard that the related properties are
 
-      *  non-null.
 
-      */
 
-     isLegacy(): this is (Transaction & {
 
-         type: 0;
 
-         gasPrice: bigint;
 
-     });
 
-     /**
 
-      *  Returns true if this transaction is berlin hardform transaction (i.e.
 
-      *  ``type === 1``).
 
-      *
 
-      *  This provides a Type Guard that the related properties are
 
-      *  non-null.
 
-      */
 
-     isBerlin(): this is (Transaction & {
 
-         type: 1;
 
-         gasPrice: bigint;
 
-         accessList: AccessList;
 
-     });
 
-     /**
 
-      *  Returns true if this transaction is london hardform transaction (i.e.
 
-      *  ``type === 2``).
 
-      *
 
-      *  This provides a Type Guard that the related properties are
 
-      *  non-null.
 
-      */
 
-     isLondon(): this is (Transaction & {
 
-         type: 2;
 
-         accessList: AccessList;
 
-         maxFeePerGas: bigint;
 
-         maxPriorityFeePerGas: bigint;
 
-     });
 
-     /**
 
-      *  Returns true if this transaction is an [[link-eip-4844]] BLOB
 
-      *  transaction.
 
-      *
 
-      *  This provides a Type Guard that the related properties are
 
-      *  non-null.
 
-      */
 
-     isCancun(): this is (Transaction & {
 
-         type: 3;
 
-         to: string;
 
-         accessList: AccessList;
 
-         maxFeePerGas: bigint;
 
-         maxPriorityFeePerGas: bigint;
 
-         maxFeePerBlobGas: bigint;
 
-         blobVersionedHashes: Array<string>;
 
-     });
 
-     /**
 
-      *  Create a copy of this transaciton.
 
-      */
 
-     clone(): Transaction;
 
-     /**
 
-      *  Return a JSON-friendly object.
 
-      */
 
-     toJSON(): any;
 
-     /**
 
-      *  Create a **Transaction** from a serialized transaction or a
 
-      *  Transaction-like object.
 
-      */
 
-     static from(tx?: string | TransactionLike<string>): Transaction;
 
- }
 
- //# sourceMappingURL=transaction.d.ts.map
 
 
  |