{ "name": "OptInPlugin", "structs": {}, "methods": [ { "name": "createApplication", "args": [], "returns": { "type": "void" }, "actions": { "create": [ "NoOp" ], "call": [] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "optInToAsset", "args": [ { "type": "uint64", "name": "sender" }, { "type": "bool", "name": "rekeyBack" }, { "type": "uint64", "name": "asset" }, { "type": "pay", "name": "mbrPayment" } ], "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": [], "call": [] }, "sourceInfo": { "approval": { "sourceInfo": [ { "pc": [ 36, 71 ], "errorMessage": "OnCompletion is not NoOp" }, { "pc": [ 130 ], "errorMessage": "application exists" }, { "pc": [ 119 ], "errorMessage": "asset mismatch" }, { "pc": [ 75 ], "errorMessage": "can only call when creating" }, { "pc": [ 39 ], "errorMessage": "can only call when not creating" }, { "pc": [ 111 ], "errorMessage": "receiver mismatch" }, { "pc": [ 62 ], "errorMessage": "transaction type is pay" } ], "pcOffsetMethod": "none" }, "clear": { "sourceInfo": [], "pcOffsetMethod": "none" } }, "source": { "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBAYWxnb3JhbmRmb3VuZGF0aW9uL2FsZ29yYW5kLXR5cGVzY3JpcHQvYXJjNC9pbmRleC5kLnRzOjpDb250cmFjdC5hcHByb3ZhbFByb2dyYW0oKSAtPiB1aW50NjQ6Cm1haW46CiAgICBpbnRjYmxvY2sgMCAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvb3B0aW5fcGx1Z2luL2NvbnRyYWN0LmFsZ28udHM6NAogICAgLy8gZXhwb3J0IGNsYXNzIE9wdEluUGx1Z2luIGV4dGVuZHMgUGx1Z2luIHsKICAgIHR4biBOdW1BcHBBcmdzCiAgICBieiBtYWluX2FmdGVyX2lmX2Vsc2VAOAogICAgcHVzaGJ5dGVzcyAweGI4NDQ3YjM2IDB4YmZjYmVlZTkgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIsIG1ldGhvZCAib3B0SW5Ub0Fzc2V0KHVpbnQ2NCxib29sLHVpbnQ2NCxwYXkpdm9pZCIKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDAKICAgIG1hdGNoIG1haW5fY3JlYXRlQXBwbGljYXRpb25fcm91dGVAMyBtYWluX29wdEluVG9Bc3NldF9yb3V0ZUA0CgptYWluX2FmdGVyX2lmX2Vsc2VAODoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9vcHRpbl9wbHVnaW4vY29udHJhY3QuYWxnby50czo0CiAgICAvLyBleHBvcnQgY2xhc3MgT3B0SW5QbHVnaW4gZXh0ZW5kcyBQbHVnaW4gewogICAgaW50Y18wIC8vIDAKICAgIHJldHVybgoKbWFpbl9vcHRJblRvQXNzZXRfcm91dGVANDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9vcHRpbl9wbHVnaW4vY29udHJhY3QuYWxnby50czo5CiAgICAvLyBvcHRJblRvQXNzZXQoc2VuZGVyOiB1aW50NjQsIHJla2V5QmFjazogYm9vbGVhbiwgYXNzZXQ6IHVpbnQ2NCwgbWJyUGF5bWVudDogZ3R4bi5QYXltZW50VHhuKTogdm9pZCB7CiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIG5vdCBOb09wCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0IC8vIGNhbiBvbmx5IGNhbGwgd2hlbiBub3QgY3JlYXRpbmcKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9vcHRpbl9wbHVnaW4vY29udHJhY3QuYWxnby50czo0CiAgICAvLyBleHBvcnQgY2xhc3MgT3B0SW5QbHVnaW4gZXh0ZW5kcyBQbHVnaW4gewogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgYnRvaQogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgogICAgaW50Y18wIC8vIDAKICAgIGdldGJpdAogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwogICAgYnRvaQogICAgdHhuIEdyb3VwSW5kZXgKICAgIGludGNfMSAvLyAxCiAgICAtCiAgICBkdXAKICAgIGd0eG5zIFR5cGVFbnVtCiAgICBpbnRjXzEgLy8gcGF5CiAgICA9PQogICAgYXNzZXJ0IC8vIHRyYW5zYWN0aW9uIHR5cGUgaXMgcGF5CiAgICAvLyBzbWFydF9jb250cmFjdHMvb3B0aW5fcGx1Z2luL2NvbnRyYWN0LmFsZ28udHM6OQogICAgLy8gb3B0SW5Ub0Fzc2V0KHNlbmRlcjogdWludDY0LCByZWtleUJhY2s6IGJvb2xlYW4sIGFzc2V0OiB1aW50NjQsIG1iclBheW1lbnQ6IGd0eG4uUGF5bWVudFR4bik6IHZvaWQgewogICAgY2FsbHN1YiBvcHRJblRvQXNzZXQKICAgIGludGNfMSAvLyAxCiAgICByZXR1cm4KCm1haW5fY3JlYXRlQXBwbGljYXRpb25fcm91dGVAMzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9vcHRpbl9wbHVnaW4vY29udHJhY3QuYWxnby50czo2CiAgICAvLyBAYWJpbWV0aG9kKHsgb25DcmVhdGU6ICdyZXF1aXJlJyB9KQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgICEKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gY3JlYXRpbmcKICAgIGludGNfMSAvLyAxCiAgICByZXR1cm4KCgovLyBzbWFydF9jb250cmFjdHMvb3B0aW5fcGx1Z2luL2NvbnRyYWN0LmFsZ28udHM6Ok9wdEluUGx1Z2luLm9wdEluVG9Bc3NldChzZW5kZXI6IHVpbnQ2NCwgcmVrZXlCYWNrOiB1aW50NjQsIGFzc2V0OiB1aW50NjQsIG1iclBheW1lbnQ6IHVpbnQ2NCkgLT4gdm9pZDoKb3B0SW5Ub0Fzc2V0OgogICAgLy8gc21hcnRfY29udHJhY3RzL29wdGluX3BsdWdpbi9jb250cmFjdC5hbGdvLnRzOjkKICAgIC8vIG9wdEluVG9Bc3NldChzZW5kZXI6IHVpbnQ2NCwgcmVrZXlCYWNrOiBib29sZWFuLCBhc3NldDogdWludDY0LCBtYnJQYXltZW50OiBndHhuLlBheW1lbnRUeG4pOiB2b2lkIHsKICAgIHByb3RvIDQgMAogICAgLy8gc21hcnRfY29udHJhY3RzL3BsdWdpbi9jb250cmFjdC5hbGdvLnRzOjcKICAgIC8vIGNvbnN0IFtjb250cm9sbGVkQWNjb3VudEJ5dGVzXSA9IG9wLkFwcEdsb2JhbC5nZXRFeEJ5dGVzKGFwcCwgQnl0ZXMoQ09OVFJPTExFRF9BRERSRVNTKSkKICAgIGZyYW1lX2RpZyAtNAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fic3RyYWN0ZWRfYWNjb3VudC9jb25zdGFudHMudHM6MgogICAgLy8gZXhwb3J0IGNvbnN0IENPTlRST0xMRURfQUREUkVTUyA9ICdjb250cm9sbGVkX2FkZHJlc3MnCiAgICBwdXNoYnl0ZXMgImNvbnRyb2xsZWRfYWRkcmVzcyIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9wbHVnaW4vY29udHJhY3QuYWxnby50czo3CiAgICAvLyBjb25zdCBbY29udHJvbGxlZEFjY291bnRCeXRlc10gPSBvcC5BcHBHbG9iYWwuZ2V0RXhCeXRlcyhhcHAsIEJ5dGVzKENPTlRST0xMRURfQUREUkVTUykpCiAgICBhcHBfZ2xvYmFsX2dldF9leAogICAgcG9wCiAgICBkdXAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9vcHRpbl9wbHVnaW4vY29udHJhY3QuYWxnby50czoxMwogICAgLy8gYXNzZXJ0KG1iclBheW1lbnQucmVjZWl2ZXIgPT09IGNvbnRyb2xsZWRBY2NvdW50LCAncmVjZWl2ZXIgbWlzbWF0Y2gnKTsKICAgIGZyYW1lX2RpZyAtMQogICAgZ3R4bnMgUmVjZWl2ZXIKICAgID09CiAgICBhc3NlcnQgLy8gcmVjZWl2ZXIgbWlzbWF0Y2gKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9vcHRpbl9wbHVnaW4vY29udHJhY3QuYWxnby50czoxNAogICAgLy8gYXNzZXJ0KG1iclBheW1lbnQuYW1vdW50ID49IEdsb2JhbC5hc3NldE9wdEluTWluQmFsYW5jZSwgJ2Fzc2V0IG1pc21hdGNoJyk7CiAgICBmcmFtZV9kaWcgLTEKICAgIGd0eG5zIEFtb3VudAogICAgZ2xvYmFsIEFzc2V0T3B0SW5NaW5CYWxhbmNlCiAgICA+PQogICAgYXNzZXJ0IC8vIGFzc2V0IG1pc21hdGNoCiAgICAvLyBzbWFydF9jb250cmFjdHMvb3B0aW5fcGx1Z2luL2NvbnRyYWN0LmFsZ28udHM6MTYtMjUKICAgIC8vIGl0eG4KICAgIC8vICAgLmFzc2V0VHJhbnNmZXIoewogICAgLy8gICAgIHNlbmRlcjogY29udHJvbGxlZEFjY291bnQsCiAgICAvLyAgICAgYXNzZXRSZWNlaXZlcjogY29udHJvbGxlZEFjY291bnQsCiAgICAvLyAgICAgYXNzZXRBbW91bnQ6IDAsCiAgICAvLyAgICAgeGZlckFzc2V0OiBBc3NldChhc3NldCksCiAgICAvLyAgICAgcmVrZXlUbzogcmVrZXlCYWNrID8gQXBwbGljYXRpb24oc2VuZGVyKS5hZGRyZXNzIDogR2xvYmFsLnplcm9BZGRyZXNzLAogICAgLy8gICAgIGZlZTogMCwKICAgIC8vICAgfSkKICAgIC8vICAgLnN1Ym1pdCgpOwogICAgaXR4bl9iZWdpbgogICAgLy8gc21hcnRfY29udHJhY3RzL29wdGluX3BsdWdpbi9jb250cmFjdC5hbGdvLnRzOjIyCiAgICAvLyByZWtleVRvOiByZWtleUJhY2sgPyBBcHBsaWNhdGlvbihzZW5kZXIpLmFkZHJlc3MgOiBHbG9iYWwuemVyb0FkZHJlc3MsCiAgICBmcmFtZV9kaWcgLTMKICAgIGJ6IG9wdEluVG9Bc3NldF90ZXJuYXJ5X2ZhbHNlQDIKICAgIGZyYW1lX2RpZyAtNAogICAgYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwogICAgYXNzZXJ0IC8vIGFwcGxpY2F0aW9uIGV4aXN0cwoKb3B0SW5Ub0Fzc2V0X3Rlcm5hcnlfbWVyZ2VAMzoKICAgIGl0eG5fZmllbGQgUmVrZXlUbwogICAgZnJhbWVfZGlnIC0yCiAgICBpdHhuX2ZpZWxkIFhmZXJBc3NldAogICAgLy8gc21hcnRfY29udHJhY3RzL29wdGluX3BsdWdpbi9jb250cmFjdC5hbGdvLnRzOjIwCiAgICAvLyBhc3NldEFtb3VudDogMCwKICAgIGludGNfMCAvLyAwCiAgICBpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CiAgICBmcmFtZV9kaWcgMAogICAgZHVwCiAgICBpdHhuX2ZpZWxkIEFzc2V0UmVjZWl2ZXIKICAgIGl0eG5fZmllbGQgU2VuZGVyCiAgICAvLyBzbWFydF9jb250cmFjdHMvb3B0aW5fcGx1Z2luL2NvbnRyYWN0LmFsZ28udHM6MTYtMjQKICAgIC8vIGl0eG4KICAgIC8vICAgLmFzc2V0VHJhbnNmZXIoewogICAgLy8gICAgIHNlbmRlcjogY29udHJvbGxlZEFjY291bnQsCiAgICAvLyAgICAgYXNzZXRSZWNlaXZlcjogY29udHJvbGxlZEFjY291bnQsCiAgICAvLyAgICAgYXNzZXRBbW91bnQ6IDAsCiAgICAvLyAgICAgeGZlckFzc2V0OiBBc3NldChhc3NldCksCiAgICAvLyAgICAgcmVrZXlUbzogcmVrZXlCYWNrID8gQXBwbGljYXRpb24oc2VuZGVyKS5hZGRyZXNzIDogR2xvYmFsLnplcm9BZGRyZXNzLAogICAgLy8gICAgIGZlZTogMCwKICAgIC8vICAgfSkKICAgIHB1c2hpbnQgNCAvLyA0CiAgICBpdHhuX2ZpZWxkIFR5cGVFbnVtCiAgICAvLyBzbWFydF9jb250cmFjdHMvb3B0aW5fcGx1Z2luL2NvbnRyYWN0LmFsZ28udHM6MjMKICAgIC8vIGZlZTogMCwKICAgIGludGNfMCAvLyAwCiAgICBpdHhuX2ZpZWxkIEZlZQogICAgLy8gc21hcnRfY29udHJhY3RzL29wdGluX3BsdWdpbi9jb250cmFjdC5hbGdvLnRzOjE2LTI1CiAgICAvLyBpdHhuCiAgICAvLyAgIC5hc3NldFRyYW5zZmVyKHsKICAgIC8vICAgICBzZW5kZXI6IGNvbnRyb2xsZWRBY2NvdW50LAogICAgLy8gICAgIGFzc2V0UmVjZWl2ZXI6IGNvbnRyb2xsZWRBY2NvdW50LAogICAgLy8gICAgIGFzc2V0QW1vdW50OiAwLAogICAgLy8gICAgIHhmZXJBc3NldDogQXNzZXQoYXNzZXQpLAogICAgLy8gICAgIHJla2V5VG86IHJla2V5QmFjayA/IEFwcGxpY2F0aW9uKHNlbmRlcikuYWRkcmVzcyA6IEdsb2JhbC56ZXJvQWRkcmVzcywKICAgIC8vICAgICBmZWU6IDAsCiAgICAvLyAgIH0pCiAgICAvLyAgIC5zdWJtaXQoKTsKICAgIGl0eG5fc3VibWl0CiAgICByZXRzdWIKCm9wdEluVG9Bc3NldF90ZXJuYXJ5X2ZhbHNlQDI6CiAgICAvLyBzbWFydF9jb250cmFjdHMvb3B0aW5fcGx1Z2luL2NvbnRyYWN0LmFsZ28udHM6MjIKICAgIC8vIHJla2V5VG86IHJla2V5QmFjayA/IEFwcGxpY2F0aW9uKHNlbmRlcikuYWRkcmVzcyA6IEdsb2JhbC56ZXJvQWRkcmVzcywKICAgIGdsb2JhbCBaZXJvQWRkcmVzcwogICAgYiBvcHRJblRvQXNzZXRfdGVybmFyeV9tZXJnZUAzCg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEwCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBAYWxnb3JhbmRmb3VuZGF0aW9uL2FsZ29yYW5kLXR5cGVzY3JpcHQvYmFzZS1jb250cmFjdC5kLnRzOjpCYXNlQ29udHJhY3QuY2xlYXJTdGF0ZVByb2dyYW0oKSAtPiB1aW50NjQ6Cm1haW46CiAgICBwdXNoaW50IDEgLy8gMQogICAgcmV0dXJuCg==" }, "byteCode": { "approval": "CiACAAExG0EAFYICBLhEezYEv8vu6TYaAI4CACUAAiJDMRkURDEYRDYaARc2GgIiUzYaAxcxFiMJSTgQIxJEiAAMI0MxGRREMRgURCNDigQAi/yAEmNvbnRyb2xsZWRfYWRkcmVzc2VISYv/OAcSRIv/OAgyEA9EsYv9QQAei/xyCESyIIv+shEishKLAEmyFLIAgQSyECKyAbOJMgNC/+I=", "clear": "CoEBQw==" }, "compilerInfo": { "compiler": "puya", "compilerVersion": { "major": 4, "minor": 5, "patch": 3 } }, "events": [], "templateVariables": {} }