Documentation Index
Fetch the complete documentation index at: https://voltaire.tevm.sh/llms.txt
Use this file to discover all available pages before exploring further.
Extracts implementation address and metadata from ERC-3448 MetaProxy bytecode.
Parameters:
bytecode: Uint8Array - MetaProxy bytecode (minimum 87 bytes)
Returns: { implementation: Uint8Array, metadata: Uint8Array } | null - Parsed components or null if invalid
Example:
import { parseErc3448 } from '@tevm/voltaire/Proxy';
import { Address } from '@tevm/voltaire/Address';
// Get deployed MetaProxy code
const code = await eth_getCode('0xMetaProxyAddress...');
const codeBytes = Buffer.from(code.slice(2), 'hex');
// Parse implementation and metadata
const result = parseErc3448(codeBytes);
if (result) {
console.log('Implementation:', result.implementation.toHex());
// Decode metadata (example: JSON)
const metadata = JSON.parse(
new TextDecoder().decode(result.metadata)
);
console.log('Metadata:', metadata);
} else {
console.log('Not a valid ERC-3448 MetaProxy');
}
Defined in: src/primitives/Proxy/parseErc3448.js
MetaProxy embeds arbitrary metadata after the 55-byte ERC-1167 code:
[55 bytes: ERC-1167 code][N bytes: metadata][32 bytes: metadata length]
The last 32 bytes encode metadata length as big-endian uint256.
See Also