The 8-byte entrypoint ID for a contract method:
sha256(interface :: majorVersion :: method)[0..8].
A null interfaceName uses the _unnamed_interface domain. The literal ::
separators are what keep field boundaries unambiguous — without them
interface Foo1 with major 2 and interface Foo with major 12 would
hash identically. Fields are raw UTF-8, not XDR-encoded.
The 8-byte entrypoint ID for a contract method:
sha256(interface :: majorVersion :: method)[0..8].A null
interfaceNameuses the_unnamed_interfacedomain. The literal::separators are what keep field boundaries unambiguous — without them interfaceFoo1with major2and interfaceFoowith major12would hash identically. Fields are raw UTF-8, not XDR-encoded.Matches the Rust SDK's
contract_entrypoint_id.