{ "name": "StructInBoxMap", "structs": { "UserStruct": [ { "name": "name", "type": "string" }, { "name": "id", "type": "uint64" }, { "name": "asset", "type": "uint64" } ] }, "methods": [ { "name": "box_map_test", "args": [], "returns": { "type": "bool" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "box_map_set", "args": [ { "type": "uint64", "name": "key" }, { "type": "(string,uint64,uint64)", "struct": "UserStruct", "name": "value" } ], "returns": { "type": "bool" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "box_map_get", "args": [ { "type": "uint64", "name": "key" } ], "returns": { "type": "(string,uint64,uint64)", "struct": "UserStruct" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "box_map_exists", "args": [ { "type": "uint64", "name": "key" } ], "returns": { "type": "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": { "user_map": { "keyType": "uint64", "valueType": "UserStruct", "prefix": "dXNlcnM=" } } } }, "bareActions": { "create": [ "NoOp" ], "call": [] }, "sourceInfo": { "approval": { "sourceInfo": [ { "pc": [ 45 ], "errorMessage": "OnCompletion must be NoOp" }, { "pc": [ 92 ], "errorMessage": "OnCompletion must be NoOp && can only call when creating" }, { "pc": [ 162 ], "errorMessage": "check self.user_map entry exists" } ], "pcOffsetMethod": "none" }, "clear": { "sourceInfo": [], "pcOffsetMethod": "none" } }, "source": { "approval": "I3ByYWdtYSB2ZXJzaW9uIDExCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBhbGdvcHkuYXJjNC5BUkM0Q29udHJhY3QuYXBwcm92YWxfcHJvZ3JhbSgpIC0+IHVpbnQ2NDoKbWFpbjoKICAgIGludGNibG9jayAxCiAgICBieXRlY2Jsb2NrIDB4NzU3MzY1NzI3MzAwMDAwMDAwMDAwMDAwMDAgInVzZXJzIiAweDE1MWY3Yzc1ODAgMHgxNTFmN2M3NQogICAgLy8gc21hcnRfY29udHJhY3RzL3N0cnVjdF9pbl9ib3gvY29udHJhY3QucHk6MTEKICAgIC8vIGNsYXNzIFN0cnVjdEluQm94TWFwKGFyYzQuQVJDNENvbnRyYWN0KToKICAgIHR4biBOdW1BcHBBcmdzCiAgICBieiBtYWluX19fYWxnb3B5X2RlZmF1bHRfY3JlYXRlQDEzCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIG11c3QgYmUgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydAogICAgcHVzaGJ5dGVzcyAweGNhYWQxNjIzIDB4MDc5YzI3YmQgMHg2YTAyYjM1MCAweDhlZTJjMzY0IC8vIG1ldGhvZCAiYm94X21hcF90ZXN0KClib29sIiwgbWV0aG9kICJib3hfbWFwX3NldCh1aW50NjQsKHN0cmluZyx1aW50NjQsdWludDY0KSlib29sIiwgbWV0aG9kICJib3hfbWFwX2dldCh1aW50NjQpKHN0cmluZyx1aW50NjQsdWludDY0KSIsIG1ldGhvZCAiYm94X21hcF9leGlzdHModWludDY0KWJvb2wiCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAwCiAgICBtYXRjaCBib3hfbWFwX3Rlc3QgYm94X21hcF9zZXQgYm94X21hcF9nZXQgYm94X21hcF9leGlzdHMKICAgIGVycgoKbWFpbl9fX2FsZ29weV9kZWZhdWx0X2NyZWF0ZUAxMzoKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICAhCiAgICAmJgogICAgcmV0dXJuIC8vIG9uIGVycm9yOiBPbkNvbXBsZXRpb24gbXVzdCBiZSBOb09wICYmIGNhbiBvbmx5IGNhbGwgd2hlbiBjcmVhdGluZwoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5zdHJ1Y3RfaW5fYm94LmNvbnRyYWN0LlN0cnVjdEluQm94TWFwLmJveF9tYXBfdGVzdFtyb3V0aW5nXSgpIC0+IHZvaWQ6CmJveF9tYXBfdGVzdDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9zdHJ1Y3RfaW5fYm94L2NvbnRyYWN0LnB5OjIwCiAgICAvLyBzZWxmLnVzZXJfbWFwW2tleV8wXSA9IHZhbHVlLmNvcHkoKQogICAgYnl0ZWNfMCAvLyAweDc1NzM2NTcyNzMwMDAwMDAwMDAwMDAwMDAwCiAgICBib3hfZGVsCiAgICBwb3AKICAgIGJ5dGVjXzAgLy8gMHg3NTczNjU3MjczMDAwMDAwMDAwMDAwMDAwMAogICAgLy8gc21hcnRfY29udHJhY3RzL3N0cnVjdF9pbl9ib3gvY29udHJhY3QucHk6MTgKICAgIC8vIHZhbHVlID0gVXNlclN0cnVjdChhcmM0LlN0cmluZygidGVzdE5hbWUiKSwgYXJjNC5VSW50NjQoNzApLCBhcmM0LlVJbnQ2NCgyKSkKICAgIHB1c2hieXRlcyAweDAwMTIwMDAwMDAwMDAwMDAwMDQ2MDAwMDAwMDAwMDAwMDAwMjAwMDg3NDY1NzM3NDRlNjE2ZDY1CiAgICAvLyBzbWFydF9jb250cmFjdHMvc3RydWN0X2luX2JveC9jb250cmFjdC5weToyMAogICAgLy8gc2VsZi51c2VyX21hcFtrZXlfMF0gPSB2YWx1ZS5jb3B5KCkKICAgIGJveF9wdXQKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9zdHJ1Y3RfaW5fYm94L2NvbnRyYWN0LnB5OjIxCiAgICAvLyBhc3NlcnQgc2VsZi51c2VyX21hcFtrZXlfMF0uYnl0ZXMubGVuZ3RoID09IHZhbHVlLmJ5dGVzLmxlbmd0aAogICAgYnl0ZWNfMCAvLyAweDc1NzM2NTcyNzMwMDAwMDAwMDAwMDAwMDAwCiAgICBib3hfbGVuCiAgICBwb3AKICAgIHB1c2hpbnQgMjggLy8gMjgKICAgID09CiAgICBhc3NlcnQKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9zdHJ1Y3RfaW5fYm94L2NvbnRyYWN0LnB5OjE1CiAgICAvLyBAYXJjNC5hYmltZXRob2QKICAgIGJ5dGVjXzIgLy8gMHgxNTFmN2M3NTgwCiAgICBsb2cKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCgovLyBzbWFydF9jb250cmFjdHMuc3RydWN0X2luX2JveC5jb250cmFjdC5TdHJ1Y3RJbkJveE1hcC5ib3hfbWFwX3NldFtyb3V0aW5nXSgpIC0+IHZvaWQ6CmJveF9tYXBfc2V0OgogICAgLy8gc21hcnRfY29udHJhY3RzL3N0cnVjdF9pbl9ib3gvY29udHJhY3QucHk6MjUKICAgIC8vIEBhcmM0LmFiaW1ldGhvZAogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgogICAgLy8gc21hcnRfY29udHJhY3RzL3N0cnVjdF9pbl9ib3gvY29udHJhY3QucHk6MjcKICAgIC8vIHNlbGYudXNlcl9tYXBba2V5XSA9IHZhbHVlLmNvcHkoKQogICAgYnl0ZWNfMSAvLyAidXNlcnMiCiAgICAvLyBzbWFydF9jb250cmFjdHMvc3RydWN0X2luX2JveC9jb250cmFjdC5weToyNQogICAgLy8gQGFyYzQuYWJpbWV0aG9kCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvc3RydWN0X2luX2JveC9jb250cmFjdC5weToyNwogICAgLy8gc2VsZi51c2VyX21hcFtrZXldID0gdmFsdWUuY29weSgpCiAgICBjb25jYXQKICAgIGR1cAogICAgYm94X2RlbAogICAgcG9wCiAgICBzd2FwCiAgICBib3hfcHV0CiAgICAvLyBzbWFydF9jb250cmFjdHMvc3RydWN0X2luX2JveC9jb250cmFjdC5weToyNQogICAgLy8gQGFyYzQuYWJpbWV0aG9kCiAgICBieXRlY18yIC8vIDB4MTUxZjdjNzU4MAogICAgbG9nCiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgoKLy8gc21hcnRfY29udHJhY3RzLnN0cnVjdF9pbl9ib3guY29udHJhY3QuU3RydWN0SW5Cb3hNYXAuYm94X21hcF9nZXRbcm91dGluZ10oKSAtPiB2b2lkOgpib3hfbWFwX2dldDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9zdHJ1Y3RfaW5fYm94L2NvbnRyYWN0LnB5OjMzCiAgICAvLyByZXR1cm4gc2VsZi51c2VyX21hcFtrZXldCiAgICBieXRlY18xIC8vICJ1c2VycyIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9zdHJ1Y3RfaW5fYm94L2NvbnRyYWN0LnB5OjMxCiAgICAvLyBAYXJjNC5hYmltZXRob2QKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9zdHJ1Y3RfaW5fYm94L2NvbnRyYWN0LnB5OjMzCiAgICAvLyByZXR1cm4gc2VsZi51c2VyX21hcFtrZXldCiAgICBjb25jYXQKICAgIGJveF9nZXQKICAgIGFzc2VydCAvLyBjaGVjayBzZWxmLnVzZXJfbWFwIGVudHJ5IGV4aXN0cwogICAgLy8gc21hcnRfY29udHJhY3RzL3N0cnVjdF9pbl9ib3gvY29udHJhY3QucHk6MzEKICAgIC8vIEBhcmM0LmFiaW1ldGhvZAogICAgYnl0ZWNfMyAvLyAweDE1MWY3Yzc1CiAgICBzd2FwCiAgICBjb25jYXQKICAgIGxvZwogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5zdHJ1Y3RfaW5fYm94LmNvbnRyYWN0LlN0cnVjdEluQm94TWFwLmJveF9tYXBfZXhpc3RzW3JvdXRpbmddKCkgLT4gdm9pZDoKYm94X21hcF9leGlzdHM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvc3RydWN0X2luX2JveC9jb250cmFjdC5weTozNwogICAgLy8gcmV0dXJuIGtleSBpbiBzZWxmLnVzZXJfbWFwCiAgICBieXRlY18xIC8vICJ1c2VycyIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9zdHJ1Y3RfaW5fYm94L2NvbnRyYWN0LnB5OjM1CiAgICAvLyBAYXJjNC5hYmltZXRob2QKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9zdHJ1Y3RfaW5fYm94L2NvbnRyYWN0LnB5OjM3CiAgICAvLyByZXR1cm4ga2V5IGluIHNlbGYudXNlcl9tYXAKICAgIGNvbmNhdAogICAgYm94X2xlbgogICAgYnVyeSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvc3RydWN0X2luX2JveC9jb250cmFjdC5weTozNQogICAgLy8gQGFyYzQuYWJpbWV0aG9kCiAgICBwdXNoYnl0ZXMgMHgwMAogICAgcHVzaGludCAwIC8vIDAKICAgIHVuY292ZXIgMgogICAgc2V0Yml0CiAgICBieXRlY18zIC8vIDB4MTUxZjdjNzUKICAgIHN3YXAKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDExCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBhbGdvcHkuYXJjNC5BUkM0Q29udHJhY3QuY2xlYXJfc3RhdGVfcHJvZ3JhbSgpIC0+IHVpbnQ2NDoKbWFpbjoKICAgIHB1c2hpbnQgMSAvLyAxCiAgICByZXR1cm4K" }, "byteCode": { "approval": "CyABASYEDXVzZXJzAAAAAAAAAAAFdXNlcnMFFR98dYAEFR98dTEbQQArMRkURDEYRIIEBMqtFiMEB5wnvQRqArNQBI7iw2Q2GgCOBAAJADcASABVADEZFDEYFBBDKLxIKIAcABIAAAAAAAAARgAAAAAAAAACAAh0ZXN0TmFtZb8ovUiBHBJEKrAiQzYaAik2GgFQSbxITL8qsCJDKTYaAVC+RCtMULAiQyk2GgFQvUUBgAEAgQBPAlQrTFCwIkM=", "clear": "C4EBQw==" }, "compilerInfo": { "compiler": "puya", "compilerVersion": { "major": 5, "minor": 0, "patch": 0 } }, "events": [], "templateVariables": {} }