/** * TypeScript Representation of Cairo1 v2+ Starknet Contract ABI * * starknet_metadata.json - tags/v0.5.0 * * 'starknet-specs' (OpenRpc protocol types) * https://github.com/starkware-libs/starknet-specs */ export type ABI = Array; type FUNCTION = { type: 'function'; name: string; inputs: Array<{ name: string; type: string; }>; outputs?: Array<{ type: string; }>; state_mutability: 'view' | 'external'; }; type CONSTRUCTOR = { type: 'constructor'; name: 'constructor'; inputs: Array<{ name: string; type: string; }>; }; type L1_HANDLER = { type: 'l1_handler'; name: string; inputs: Array<{ name: string; type: string; }>; outputs?: Array<{ type: string; }>; state_mutability: 'view' | 'external'; }; type EVENT = { type: 'event'; name: string; } & (ENUM_EVENT | STRUCT_EVENT); type STRUCT_EVENT = { kind: 'struct'; members: Array; }; type ENUM_EVENT = { kind: 'enum'; variants: Array; }; type STRUCT = { type: 'struct'; name: string; members: Array<{ name: string; type: string; }>; }; type ENUM = { type: 'enum'; name: string; variants: Array<{ name: string; type: string; }>; }; type INTERFACE = { type: 'interface'; name: string; items: Array; }; type IMPL = { type: 'impl'; name: string; interface_name: string; }; export type EVENT_KIND = 'struct' | 'enum'; type EVENT_FIELD = { name: string; type: string; kind: 'key' | 'data' | 'nested'; }; export {}; //# sourceMappingURL=contract.d.ts.map