@ethereumjs/evm
Version:
JavaScript Ethereum Virtual Machine (EVM) implementation
36 lines • 1.48 kB
TypeScript
import { type Address } from '@ethereumjs/util';
import type { Log } from './types.ts';
/**
* EIP-7708 system address (canonical `SYSTEM_ADDRESS_BYTES` from `@ethereumjs/util`).
*
* @remarks Experimental (Amsterdam): may change on patch releases.
*/
export declare const EIP7708_SYSTEM_ADDRESS: Uint8Array<ArrayBufferLike>;
/**
* EIP-7708: `keccak256('Transfer(address,address,uint256)')`.
* Matches the ERC-20 Transfer event signature.
*
* @remarks Experimental (Amsterdam): may change on patch releases.
*/
export declare const EIP7708_TRANSFER_TOPIC: Uint8Array<ArrayBufferLike>;
/**
* EIP-7708: `keccak256('Burn(address,uint256)')`.
* LOG2 topic for burn logs on same-tx selfdestruct and account removal.
*
* @remarks Experimental (Amsterdam): may change on patch releases.
*/
export declare const EIP7708_BURN_TOPIC: Uint8Array<ArrayBufferLike>;
/**
* Creates an EIP-7708 ETH transfer log (used for CALL/CREATE value transfers).
* Logs are emitted from the system address with `Transfer(address,address,uint256)` topics.
*
* @remarks Experimental (Amsterdam): may change on patch releases.
*/
export declare function createEIP7708TransferLog(from: Address, to: Address, value: bigint): Log;
/**
* Creates an EIP-7708 burn log (LOG2) for a burned account balance.
*
* @remarks Experimental (Amsterdam): may change on patch releases.
*/
export declare function createEIP7708BurnLog(account: Address, value: bigint): Log;
//# sourceMappingURL=eip7708.d.ts.map