{ "name": "NamedTuplesContract", "structs": { "TestTuple": [ { "name": "a", "type": "uint64" }, { "name": "b", "type": "uint512" }, { "name": "c", "type": "string" }, { "name": "d", "type": "byte[]" } ], "UIntTestTuple": [ { "name": "a", "type": "uint64" }, { "name": "b", "type": "uint64" }, { "name": "c", "type": "uint64" } ] }, "methods": [ { "name": "build_tuple", "args": [ { "type": "uint64", "name": "a" }, { "type": "uint512", "name": "b" }, { "type": "string", "name": "c" }, { "type": "byte[]", "name": "d" } ], "returns": { "type": "(uint64,uint512,string,byte[])", "struct": "TestTuple" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "build_tuple_side_effects", "args": [], "returns": { "type": "(uint64,uint64,uint64)", "struct": "UIntTestTuple" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "test_tuple", "args": [ { "type": "(uint64,uint512,string,byte[])", "struct": "TestTuple", "name": "value" } ], "returns": { "type": "void" }, "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": [ 80, 96, 244, 267 ], "errorMessage": "invalid array length header" }, { "pc": [ 87, 103 ], "errorMessage": "invalid number of bytes for arc4.dynamic_array" }, { "pc": [ 74 ], "errorMessage": "invalid number of bytes for arc4.uint512" }, { "pc": [ 64 ], "errorMessage": "invalid number of bytes for arc4.uint64" }, { "pc": [ 276 ], "errorMessage": "invalid number of bytes for test_cases.named_tuples.contract.TestTuple" }, { "pc": [ 235 ], "errorMessage": "invalid tail pointer at index 2 of (uint64,uint512,(len+utf8[]),(len+uint8[]))" }, { "pc": [ 257 ], "errorMessage": "invalid tail pointer at index 3 of (uint64,uint512,(len+utf8[]),(len+uint8[]))" }, { "pc": [ 230, 252 ], "errorMessage": "invalid tuple encoding" }, { "pc": [ 114 ], "errorMessage": "overflow" } ], "pcOffsetMethod": "none" }, "clear": { "sourceInfo": [], "pcOffsetMethod": "none" } }, "source": { "approval": "I3ByYWdtYSB2ZXJzaW9uIDExCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBhbGdvcHkuYXJjNC5BUkM0Q29udHJhY3QuYXBwcm92YWxfcHJvZ3JhbSgpIC0+IHVpbnQ2NDoKbWFpbjoKICAgIGludGNibG9jayAwIDEgMiA2NAogICAgLy8gbmFtZWRfdHVwbGVzL2NvbnRyYWN0LnB5OjIxCiAgICAvLyBjbGFzcyBOYW1lZFR1cGxlc0NvbnRyYWN0KGFyYzQuQVJDNENvbnRyYWN0KToKICAgIHR4biBOdW1BcHBBcmdzCiAgICBieiBtYWluX19fYWxnb3B5X2RlZmF1bHRfY3JlYXRlQDEwCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQKICAgIHB1c2hieXRlc3MgMHg0NTZlZWFjZSAweDA2OTMxZjc3IDB4NmY5ZjViZjAgLy8gbWV0aG9kICJidWlsZF90dXBsZSh1aW50NjQsdWludDUxMixzdHJpbmcsYnl0ZVtdKSh1aW50NjQsdWludDUxMixzdHJpbmcsYnl0ZVtdKSIsIG1ldGhvZCAiYnVpbGRfdHVwbGVfc2lkZV9lZmZlY3RzKCkodWludDY0LHVpbnQ2NCx1aW50NjQpIiwgbWV0aG9kICJ0ZXN0X3R1cGxlKCh1aW50NjQsdWludDUxMixzdHJpbmcsYnl0ZVtdKSl2b2lkIgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAogICAgbWF0Y2ggYnVpbGRfdHVwbGUgYnVpbGRfdHVwbGVfc2lkZV9lZmZlY3RzIHRlc3RfdHVwbGUKICAgIGVycgoKbWFpbl9fX2FsZ29weV9kZWZhdWx0X2NyZWF0ZUAxMDoKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICAhCiAgICAmJgogICAgcmV0dXJuCgoKLy8gdGVzdF9jYXNlcy5uYW1lZF90dXBsZXMuY29udHJhY3QuTmFtZWRUdXBsZXNDb250cmFjdC5idWlsZF90dXBsZVtyb3V0aW5nXSgpIC0+IHZvaWQ6CmJ1aWxkX3R1cGxlOgogICAgLy8gbmFtZWRfdHVwbGVzL2NvbnRyYWN0LnB5OjIyCiAgICAvLyBAYXJjNC5hYmltZXRob2QoKQogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgZHVwCiAgICBsZW4KICAgIHB1c2hpbnQgOAogICAgPT0KICAgIGFzc2VydCAvLyBpbnZhbGlkIG51bWJlciBvZiBieXRlcyBmb3IgYXJjNC51aW50NjQKICAgIGJ0b2kKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDIKICAgIGR1cAogICAgbGVuCiAgICBkdXAKICAgIGludGNfMyAvLyA2NAogICAgPT0KICAgIGFzc2VydCAvLyBpbnZhbGlkIG51bWJlciBvZiBieXRlcyBmb3IgYXJjNC51aW50NTEyCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAzCiAgICBkdXAKICAgIGludGNfMCAvLyAwCiAgICBleHRyYWN0X3VpbnQxNiAvLyBvbiBlcnJvcjogaW52YWxpZCBhcnJheSBsZW5ndGggaGVhZGVyCiAgICBpbnRjXzIgLy8gMgogICAgKwogICAgZGlnIDEKICAgIGxlbgogICAgPT0KICAgIGFzc2VydCAvLyBpbnZhbGlkIG51bWJlciBvZiBieXRlcyBmb3IgYXJjNC5keW5hbWljX2FycmF5PGFyYzQudWludDg+CiAgICBleHRyYWN0IDIgMAogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNAogICAgZHVwCiAgICBpbnRjXzAgLy8gMAogICAgZXh0cmFjdF91aW50MTYgLy8gb24gZXJyb3I6IGludmFsaWQgYXJyYXkgbGVuZ3RoIGhlYWRlcgogICAgaW50Y18yIC8vIDIKICAgICsKICAgIGRpZyAxCiAgICBsZW4KICAgID09CiAgICBhc3NlcnQgLy8gaW52YWxpZCBudW1iZXIgb2YgYnl0ZXMgZm9yIGFyYzQuZHluYW1pY19hcnJheTxhcmM0LnVpbnQ4PgogICAgZXh0cmFjdCAyIDAKICAgIHVuY292ZXIgNAogICAgaXRvYgogICAgdW5jb3ZlciAzCiAgICBpbnRjXzMgLy8gNjQKICAgIDw9CiAgICBhc3NlcnQgLy8gb3ZlcmZsb3cKICAgIGludGNfMyAvLyA2NAogICAgYnplcm8KICAgIHVuY292ZXIgNAogICAgYnwKICAgIGNvbmNhdAogICAgZGlnIDIKICAgIGxlbgogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIHVuY292ZXIgMwogICAgY29uY2F0CiAgICBzd2FwCiAgICBwdXNoYnl0ZXMgMHgwMDRjCiAgICBjb25jYXQKICAgIGRpZyAxCiAgICBsZW4KICAgIHB1c2hpbnQgNzYKICAgICsKICAgIGRpZyAzCiAgICBsZW4KICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICB1bmNvdmVyIDQKICAgIGNvbmNhdAogICAgc3dhcAogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIHVuY292ZXIgMgogICAgc3dhcAogICAgY29uY2F0CiAgICB1bmNvdmVyIDIKICAgIGNvbmNhdAogICAgc3dhcAogICAgY29uY2F0CiAgICBwdXNoYnl0ZXMgMHgxNTFmN2M3NQogICAgc3dhcAogICAgY29uY2F0CiAgICBsb2cKICAgIGludGNfMSAvLyAxCiAgICByZXR1cm4KCgovLyB0ZXN0X2Nhc2VzLm5hbWVkX3R1cGxlcy5jb250cmFjdC5OYW1lZFR1cGxlc0NvbnRyYWN0LmJ1aWxkX3R1cGxlX3NpZGVfZWZmZWN0c1tyb3V0aW5nXSgpIC0+IHZvaWQ6CmJ1aWxkX3R1cGxlX3NpZGVfZWZmZWN0czoKICAgIC8vIG5hbWVkX3R1cGxlcy9jb250cmFjdC5weTozOQogICAgLy8gcmV0dXJuIFVJbnRUZXN0VHVwbGUoYz1lY2hvKFVJbnQ2NCgxKSksIGE9ZWNobyhVSW50NjQoMikpLCBiPWVjaG8oVUludDY0KDMpKSkKICAgIGludGNfMSAvLyAxCiAgICAvLyBuYW1lZF90dXBsZXMvY29udHJhY3QucHk6NTEKICAgIC8vIGxvZyh2YWx1ZSkKICAgIGl0b2IKICAgIGxvZwogICAgLy8gbmFtZWRfdHVwbGVzL2NvbnRyYWN0LnB5OjM5CiAgICAvLyByZXR1cm4gVUludFRlc3RUdXBsZShjPWVjaG8oVUludDY0KDEpKSwgYT1lY2hvKFVJbnQ2NCgyKSksIGI9ZWNobyhVSW50NjQoMykpKQogICAgaW50Y18yIC8vIDIKICAgIC8vIG5hbWVkX3R1cGxlcy9jb250cmFjdC5weTo1MQogICAgLy8gbG9nKHZhbHVlKQogICAgaXRvYgogICAgbG9nCiAgICAvLyBuYW1lZF90dXBsZXMvY29udHJhY3QucHk6MzkKICAgIC8vIHJldHVybiBVSW50VGVzdFR1cGxlKGM9ZWNobyhVSW50NjQoMSkpLCBhPWVjaG8oVUludDY0KDIpKSwgYj1lY2hvKFVJbnQ2NCgzKSkpCiAgICBwdXNoaW50IDMKICAgIC8vIG5hbWVkX3R1cGxlcy9jb250cmFjdC5weTo1MQogICAgLy8gbG9nKHZhbHVlKQogICAgaXRvYgogICAgbG9nCiAgICAvLyBuYW1lZF90dXBsZXMvY29udHJhY3QucHk6MzcKICAgIC8vIEBhcmM0LmFiaW1ldGhvZCgpCiAgICBwdXNoYnl0ZXMgMHgxNTFmN2M3NTAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAzMDAwMDAwMDAwMDAwMDAwMQogICAgbG9nCiAgICBpbnRjXzEgLy8gMQogICAgcmV0dXJuCgoKLy8gdGVzdF9jYXNlcy5uYW1lZF90dXBsZXMuY29udHJhY3QuTmFtZWRUdXBsZXNDb250cmFjdC50ZXN0X3R1cGxlW3JvdXRpbmddKCkgLT4gdm9pZDoKdGVzdF90dXBsZToKICAgIC8vIG5hbWVkX3R1cGxlcy9jb250cmFjdC5weTo0MQogICAgLy8gQGFyYzQuYWJpbWV0aG9kKCkKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGR1cAogICAgbGVuCiAgICBkaWcgMQogICAgcHVzaGludCA3MgogICAgZXh0cmFjdF91aW50MTYgLy8gb24gZXJyb3I6IGludmFsaWQgdHVwbGUgZW5jb2RpbmcKICAgIGR1cAogICAgcHVzaGludCA3NgogICAgPT0KICAgIGFzc2VydCAvLyBpbnZhbGlkIHRhaWwgcG9pbnRlciBhdCBpbmRleCAyIG9mICh1aW50NjQsdWludDUxMiwobGVuK3V0ZjhbXSksKGxlbit1aW50OFtdKSkKICAgIGRpZyAyCiAgICBkaWcgMQogICAgZGlnIDMKICAgIHN1YnN0cmluZzMKICAgIGludGNfMCAvLyAwCiAgICBleHRyYWN0X3VpbnQxNiAvLyBvbiBlcnJvcjogaW52YWxpZCBhcnJheSBsZW5ndGggaGVhZGVyCiAgICBwdXNoaW50IDc4CiAgICArCiAgICBkaWcgMwogICAgcHVzaGludCA3NAogICAgZXh0cmFjdF91aW50MTYgLy8gb24gZXJyb3I6IGludmFsaWQgdHVwbGUgZW5jb2RpbmcKICAgIGR1cAogICAgZGlnIDIKICAgID09CiAgICBhc3NlcnQgLy8gaW52YWxpZCB0YWlsIHBvaW50ZXIgYXQgaW5kZXggMyBvZiAodWludDY0LHVpbnQ1MTIsKGxlbit1dGY4W10pLChsZW4rdWludDhbXSkpCiAgICBkaWcgNAogICAgZGlnIDEKICAgIGRpZyA1CiAgICBzdWJzdHJpbmczCiAgICBkdXAKICAgIGludGNfMCAvLyAwCiAgICBleHRyYWN0X3VpbnQxNiAvLyBvbiBlcnJvcjogaW52YWxpZCBhcnJheSBsZW5ndGggaGVhZGVyCiAgICBpbnRjXzIgLy8gMgogICAgKwogICAgdW5jb3ZlciAzCiAgICArCiAgICB1bmNvdmVyIDQKICAgID09CiAgICBhc3NlcnQgLy8gaW52YWxpZCBudW1iZXIgb2YgYnl0ZXMgZm9yIHRlc3RfY2FzZXMubmFtZWRfdHVwbGVzLmNvbnRyYWN0LlRlc3RUdXBsZQogICAgZGlnIDMKICAgIGludGNfMCAvLyAwCiAgICBleHRyYWN0X3VpbnQ2NAogICAgZGlnIDQKICAgIGV4dHJhY3QgOCA2NAogICAgdW5jb3ZlciA1CiAgICB1bmNvdmVyIDUKICAgIHVuY292ZXIgNQogICAgc3Vic3RyaW5nMwogICAgZXh0cmFjdCAyIDAKICAgIHVuY292ZXIgMwogICAgZXh0cmFjdCAyIDAKICAgIC8vIG5hbWVkX3R1cGxlcy9jb250cmFjdC5weTo0MwogICAgLy8gYXNzZXJ0IHZhbHVlLmEgPCAxMDAwCiAgICB1bmNvdmVyIDMKICAgIHB1c2hpbnQgMTAwMAogICAgPAogICAgYXNzZXJ0CiAgICAvLyBuYW1lZF90dXBsZXMvY29udHJhY3QucHk6NDQKICAgIC8vIGFzc2VydCB2YWx1ZS5iIDwgMioqNjUKICAgIHVuY292ZXIgMgogICAgcHVzaGJ5dGVzIDB4MDIwMDAwMDAwMDAwMDAwMDAwCiAgICBiPAogICAgYXNzZXJ0CiAgICAvLyBuYW1lZF90dXBsZXMvY29udHJhY3QucHk6NDUKICAgIC8vIGFzc2VydCB2YWx1ZS5jLmJ5dGVzLmxlbmd0aCA+IDEKICAgIHN3YXAKICAgIGxlbgogICAgaW50Y18xIC8vIDEKICAgID4KICAgIGFzc2VydAogICAgLy8gbmFtZWRfdHVwbGVzL2NvbnRyYWN0LnB5OjQ2CiAgICAvLyBhc3NlcnQgdmFsdWUuZCA9PSBUeG4uc2VuZGVyLmJ5dGVzCiAgICB0eG4gU2VuZGVyCiAgICA9PQogICAgYXNzZXJ0CiAgICAvLyBuYW1lZF90dXBsZXMvY29udHJhY3QucHk6NDEKICAgIC8vIEBhcmM0LmFiaW1ldGhvZCgpCiAgICBpbnRjXzEgLy8gMQogICAgcmV0dXJuCg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDExCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBhbGdvcHkuYXJjNC5BUkM0Q29udHJhY3QuY2xlYXJfc3RhdGVfcHJvZ3JhbSgpIC0+IHVpbnQ2NDoKbWFpbjoKICAgIHB1c2hpbnQgMQogICAgcmV0dXJuCg==" }, "byteCode": { "approval": "CyAEAAECQDEbQQAkMRkURDEYRIIDBEVu6s4EBpMfdwRvn1vwNhoAjgMACQCDAK4AMRkUMRgUEEM2GgFJFYEIEkQXNhoCSRVJJRJENhoDSSJZJAhLARUSRFcCADYaBEkiWSQISwEVEkRXAgBPBBZPAyUORCWvTwSrUEsCFRZXBgJPA1BMgAIATFBLARWBTAhLAxUWVwYCTwRQTBZXBgJPAkxQTwJQTFCABBUffHVMULAjQyMWsCQWsIEDFrCAHBUffHUAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAGwI0M2GgFJFUsBgUhZSYFMEkRLAksBSwNSIlmBTghLA4FKWUlLAhJESwRLAUsFUkkiWSQITwMITwQSREsDIltLBFcIQE8FTwVPBVJXAgBPA1cCAE8DgegHDERPAoAJAgAAAAAAAAAApERMFSMNRDEAEkQjQw==", "clear": "C4EBQw==" }, "compilerInfo": { "compiler": "puya", "compilerVersion": { "major": 99, "minor": 99, "patch": 99 } }, "events": [], "templateVariables": {} }