{ "version": "0.1.0", "name": "generics", "instructions": [ { "name": "generic", "accounts": [ { "name": "genericAcc", "isMut": false, "isSigner": false }, { "name": "payer", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "genericField", "type": { "definedWithTypeArgs": { "name": "GenericType", "args": [ { "type": "u32" }, { "type": "u64" }, { "value": "10" } ] } } } ] } ], "accounts": [ { "name": "GenericAccount", "type": { "kind": "struct", "fields": [ { "name": "data", "type": { "definedWithTypeArgs": { "name": "GenericType", "args": [ { "type": "u32" }, { "type": "u64" }, { "value": "10" } ] } } } ] } } ], "types": [ { "name": "Baz", "type": { "kind": "struct", "fields": [ { "name": "someField", "type": "u8" } ] } }, { "name": "GenericEnum", "generics": [ "T", "U", "N" ], "type": { "kind": "enum", "variants": [ { "name": "Unnamed", "fields": [ { "generic": "T" }, { "generic": "U" } ] }, { "name": "Named", "fields": [ { "name": "gen1", "type": { "generic": "T" } }, { "name": "gen2", "type": { "generic": "U" } } ] }, { "name": "Struct", "fields": [ { "definedWithTypeArgs": { "name": "GenericNested", "args": [ { "type": { "generic": "T" } }, { "type": { "generic": "U" } } ] } } ] }, { "name": "Arr", "fields": [ { "genericLenArray": [ { "generic": "T" }, "N" ] } ] } ] } }, { "name": "GenericNested", "generics": [ "V", "Z" ], "type": { "kind": "struct", "fields": [ { "name": "gen1", "type": { "generic": "V" } }, { "name": "gen2", "type": { "generic": "Z" } } ] } }, { "name": "GenericType", "generics": [ "T", "U", "N" ], "type": { "kind": "struct", "fields": [ { "name": "gen1", "type": { "generic": "T" } }, { "name": "gen2", "type": { "generic": "U" } }, { "name": "gen3", "type": { "definedWithTypeArgs": { "name": "GenericNested", "args": [ { "type": "u32" }, { "type": { "generic": "U" } } ] } } }, { "name": "gen4", "type": { "definedWithTypeArgs": { "name": "GenericNested", "args": [ { "type": { "generic": "T" } }, { "type": { "defined": "Baz" } } ] } } }, { "name": "gen5", "type": { "definedWithTypeArgs": { "name": "GenericNested", "args": [ { "type": { "generic": "T" } }, { "type": { "generic": "U" } } ] } } }, { "name": "gen6", "type": { "definedWithTypeArgs": { "name": "GenericNested", "args": [ { "type": "u32" }, { "type": "u64" } ] } } }, { "name": "gen7", "type": { "definedWithTypeArgs": { "name": "GenericNested", "args": [ { "type": { "generic": "T" } }, { "type": { "definedWithTypeArgs": { "name": "GenericNested", "args": [ { "type": { "generic": "T" } }, { "type": { "generic": "U" } } ] } } } ] } } }, { "name": "arr", "type": { "genericLenArray": [ "u8", "N" ] } }, { "name": "warr", "type": { "definedWithTypeArgs": { "name": "WrappedU8Array", "args": [ { "type": { "generic": "N" } } ] } } }, { "name": "warrval", "type": { "definedWithTypeArgs": { "name": "WrappedU8Array", "args": [ { "value": "10" } ] } } }, { "name": "enm1", "type": { "definedWithTypeArgs": { "name": "GenericEnum", "args": [ { "type": { "generic": "T" } }, { "type": { "generic": "U" } }, { "type": { "generic": "N" } } ] } } }, { "name": "enm2", "type": { "definedWithTypeArgs": { "name": "GenericEnum", "args": [ { "type": { "definedWithTypeArgs": { "name": "GenericNested", "args": [ { "type": { "generic": "T" } }, { "type": "u64" } ] } } }, { "type": "u32" }, { "value": "30" } ] } } } ] } } ] }