{ "name": "VRFVerifier", "structs": {}, "methods": [ { "name": "verify", "args": [ { "type": "byte[]", "name": "message" }, { "type": "byte[]", "name": "proof" }, { "type": "byte[]", "name": "pk" } ], "returns": { "type": "(byte[],bool)" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} } ], "arcs": [ 22, 28 ], "networks": {}, "state": { "schema": { "global": { "ints": 0, "bytes": 0 }, "local": { "ints": 0, "bytes": 0 } }, "keys": { "global": {}, "local": {}, "box": {} }, "maps": { "global": {}, "local": {}, "box": {} } }, "bareActions": { "create": [ "NoOp" ], "call": [] }, "sourceInfo": { "approval": { "sourceInfo": [ { "pc": [ 34 ], "errorMessage": "OnCompletion is not NoOp" }, { "pc": [ 103 ], "errorMessage": "can only call when creating" }, { "pc": [ 37 ], "errorMessage": "can only call when not creating" } ], "pcOffsetMethod": "none" }, "clear": { "sourceInfo": [], "pcOffsetMethod": "none" } }, "source": { "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBhbGdvcHkuYXJjNC5BUkM0Q29udHJhY3QuYXBwcm92YWxfcHJvZ3JhbSgpIC0+IHVpbnQ2NDoKbWFpbjoKICAgIGludGNibG9jayAwIDEKICAgIGJ5dGVjYmxvY2sgMHgwNjgxMDEKICAgIC8vIHJlZ3Jlc3Npb25fdGVzdHMvYnJhbmNoX3RvX3Byb3RvLnB5OjQKICAgIC8vIGNsYXNzIFZSRlZlcmlmaWVyKEFSQzRDb250cmFjdCk6CiAgICB0eG4gTnVtQXBwQXJncwogICAgYnogbWFpbl9iYXJlX3JvdXRpbmdANgogICAgcHVzaGJ5dGVzIDB4NmU1MGJkOTkgLy8gbWV0aG9kICJ2ZXJpZnkoYnl0ZVtdLGJ5dGVbXSxieXRlW10pKGJ5dGVbXSxib29sKSIKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDAKICAgIG1hdGNoIG1haW5fdmVyaWZ5X3JvdXRlQDMKCm1haW5fYWZ0ZXJfaWZfZWxzZUAxMDoKICAgIC8vIHJlZ3Jlc3Npb25fdGVzdHMvYnJhbmNoX3RvX3Byb3RvLnB5OjQKICAgIC8vIGNsYXNzIFZSRlZlcmlmaWVyKEFSQzRDb250cmFjdCk6CiAgICBpbnRjXzAgLy8gMAogICAgcmV0dXJuCgptYWluX3ZlcmlmeV9yb3V0ZUAzOgogICAgLy8gcmVncmVzc2lvbl90ZXN0cy9icmFuY2hfdG9fcHJvdG8ucHk6NQogICAgLy8gQGFyYzQuYWJpbWV0aG9kCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIG5vdCBOb09wCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0IC8vIGNhbiBvbmx5IGNhbGwgd2hlbiBub3QgY3JlYXRpbmcKICAgIC8vIHJlZ3Jlc3Npb25fdGVzdHMvYnJhbmNoX3RvX3Byb3RvLnB5OjQKICAgIC8vIGNsYXNzIFZSRlZlcmlmaWVyKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBleHRyYWN0IDIgMAogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgogICAgZXh0cmFjdCAyIDAKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDMKICAgIGV4dHJhY3QgMiAwCiAgICAvLyByZWdyZXNzaW9uX3Rlc3RzL2JyYW5jaF90b19wcm90by5weTo1CiAgICAvLyBAYXJjNC5hYmltZXRob2QKICAgIGNhbGxzdWIgdmVyaWZ5CiAgICBkaWcgMQogICAgbGVuCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgdW5jb3ZlciAyCiAgICBjb25jYXQKICAgIHB1c2hieXRlcyAweDAwCiAgICBpbnRjXzAgLy8gMAogICAgdW5jb3ZlciAzCiAgICBzZXRiaXQKICAgIHB1c2hieXRlcyAweDAwMDMKICAgIHN3YXAKICAgIGNvbmNhdAogICAgc3dhcAogICAgY29uY2F0CiAgICBwdXNoYnl0ZXMgMHgxNTFmN2M3NQogICAgc3dhcAogICAgY29uY2F0CiAgICBsb2cKICAgIGludGNfMSAvLyAxCiAgICByZXR1cm4KCm1haW5fYmFyZV9yb3V0aW5nQDY6CiAgICAvLyByZWdyZXNzaW9uX3Rlc3RzL2JyYW5jaF90b19wcm90by5weTo0CiAgICAvLyBjbGFzcyBWUkZWZXJpZmllcihBUkM0Q29udHJhY3QpOgogICAgdHhuIE9uQ29tcGxldGlvbgogICAgYm56IG1haW5fYWZ0ZXJfaWZfZWxzZUAxMAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgICEKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gY3JlYXRpbmcKICAgIGludGNfMSAvLyAxCiAgICByZXR1cm4KCgovLyB0ZXN0X2Nhc2VzLnJlZ3Jlc3Npb25fdGVzdHMuYnJhbmNoX3RvX3Byb3RvLlZSRlZlcmlmaWVyLnZlcmlmeShtZXNzYWdlOiBieXRlcywgcHJvb2Y6IGJ5dGVzLCBwazogYnl0ZXMpIC0+IGJ5dGVzLCB1aW50NjQ6CnZlcmlmeToKICAgIC8vIHJlZ3Jlc3Npb25fdGVzdHMvYnJhbmNoX3RvX3Byb3RvLnB5OjUtNgogICAgLy8gQGFyYzQuYWJpbWV0aG9kCiAgICAvLyBkZWYgdmVyaWZ5KHNlbGYsIG1lc3NhZ2U6IEJ5dGVzLCBwcm9vZjogQnl0ZXMsIHBrOiBCeXRlcykgLT4gdHVwbGVbQnl0ZXMsIGJvb2xdOgogICAgcHJvdG8gMyAyCgp2ZXJpZnlfd2hpbGVfdG9wQDI6CiAgICBwdXNoaW50IDEwMDEwIC8vIDEwMDEwCiAgICBnbG9iYWwgT3Bjb2RlQnVkZ2V0CiAgICA+CiAgICBieiB2ZXJpZnlfYWZ0ZXJfd2hpbGVANwogICAgaXR4bl9iZWdpbgogICAgcHVzaGludCA2IC8vIGFwcGwKICAgIGl0eG5fZmllbGQgVHlwZUVudW0KICAgIHB1c2hpbnQgNSAvLyBEZWxldGVBcHBsaWNhdGlvbgogICAgaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KICAgIGJ5dGVjXzAgLy8gMHgwNjgxMDEKICAgIGl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCiAgICBieXRlY18wIC8vIDB4MDY4MTAxCiAgICBpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCiAgICBnbG9iYWwgTWluVHhuRmVlCiAgICBpdHhuX2ZpZWxkIEZlZQogICAgaXR4bl9zdWJtaXQKICAgIGIgdmVyaWZ5X3doaWxlX3RvcEAyCgp2ZXJpZnlfYWZ0ZXJfd2hpbGVANzoKICAgIC8vIHJlZ3Jlc3Npb25fdGVzdHMvYnJhbmNoX3RvX3Byb3RvLnB5OjgKICAgIC8vIHJldHVybiBvcC52cmZfdmVyaWZ5KG9wLlZyZlZlcmlmeS5WcmZBbGdvcmFuZCwgbWVzc2FnZSwgcHJvb2YsIHBrKQogICAgZnJhbWVfZGlnIC0zCiAgICBmcmFtZV9kaWcgLTIKICAgIGZyYW1lX2RpZyAtMQogICAgdnJmX3ZlcmlmeSBWcmZBbGdvcmFuZAogICAgcmV0c3ViCg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEwCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBhbGdvcHkuYXJjNC5BUkM0Q29udHJhY3QuY2xlYXJfc3RhdGVfcHJvZ3JhbSgpIC0+IHVpbnQ2NDoKbWFpbjoKICAgIHB1c2hpbnQgMSAvLyAxCiAgICByZXR1cm4K" }, "byteCode": { "approval": "CiACAAEmAQMGgQExG0EAT4AEblC9mTYaAI4BAAIiQzEZFEQxGEQ2GgFXAgA2GgJXAgA2GgNXAgCIAC9LARUWVwYCTwJQgAEAIk8DVIACAANMUExQgAQVH3x1TFCwI0MxGUD/uTEYFEQjQ4oDAoGaTjIMDUEAF7GBBrIQgQWyGSiyHiiyHzIAsgGzQv/gi/2L/ov/0ACJ", "clear": "CoEBQw==" }, "compilerInfo": { "compiler": "puya", "compilerVersion": { "major": 99, "minor": 99, "patch": 99 } }, "events": [], "templateVariables": {} }