{ "name": "Calculator", "desc": "", "methods": [ { "name": "doMath", "desc": "A method that takes two numbers and does either addition or subtraction", "args": [ { "name": "a", "type": "uint64", "desc": "The first number" }, { "name": "b", "type": "uint64", "desc": "The second number" }, { "name": "operation", "type": "string", "desc": "The operation to perform. Can be either 'sum' or 'difference'" } ], "returns": { "type": "uint64", "desc": "The result of the operation" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "createApplication", "args": [], "returns": { "type": "void" }, "actions": { "create": [ "NoOp" ], "call": [] } } ], "arcs": [ 4, 56 ], "structs": {}, "state": { "schema": { "global": { "bytes": 0, "ints": 0 }, "local": { "bytes": 0, "ints": 0 } }, "keys": { "global": {}, "local": {}, "box": {} }, "maps": { "global": {}, "local": {}, "box": {} } }, "bareActions": { "create": [], "call": [] }, "sourceInfo": { "approval": { "sourceInfo": [ { "teal": 1, "source": "examples/calculator/calculator.algo.ts:4", "pc": [ 0 ] }, { "teal": 2, "source": "examples/calculator/calculator.algo.ts:4", "pc": [ 1, 2, 3 ] }, { "teal": 14, "source": "examples/calculator/calculator.algo.ts:4", "pc": [ 4, 5 ] }, { "teal": 15, "source": "examples/calculator/calculator.algo.ts:4", "pc": [ 6 ] }, { "teal": 16, "source": "examples/calculator/calculator.algo.ts:4", "pc": [ 7, 8 ] }, { "teal": 17, "source": "examples/calculator/calculator.algo.ts:4", "pc": [ 9 ] }, { "teal": 18, "source": "examples/calculator/calculator.algo.ts:4", "pc": [ 10, 11 ] }, { "teal": 19, "source": "examples/calculator/calculator.algo.ts:4", "pc": [ 12 ] }, { "teal": 20, "source": "examples/calculator/calculator.algo.ts:4", "pc": [ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38 ] }, { "teal": 24, "source": "examples/calculator/calculator.algo.ts:4", "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?", "pc": [ 39 ] }, { "teal": 34, "source": "examples/calculator/calculator.algo.ts:12", "pc": [ 40, 41, 42 ] }, { "teal": 38, "source": "examples/calculator/calculator.algo.ts:13", "pc": [ 43, 44 ] }, { "teal": 39, "source": "examples/calculator/calculator.algo.ts:13", "pc": [ 45, 46 ] }, { "teal": 40, "source": "examples/calculator/calculator.algo.ts:13", "pc": [ 47 ] }, { "teal": 41, "source": "examples/calculator/calculator.algo.ts:12", "pc": [ 48 ] }, { "teal": 51, "source": "examples/calculator/calculator.algo.ts:23", "pc": [ 49, 50, 51 ] }, { "teal": 55, "source": "examples/calculator/calculator.algo.ts:24", "pc": [ 52, 53 ] }, { "teal": 56, "source": "examples/calculator/calculator.algo.ts:24", "pc": [ 54, 55 ] }, { "teal": 57, "source": "examples/calculator/calculator.algo.ts:24", "pc": [ 56 ] }, { "teal": 58, "source": "examples/calculator/calculator.algo.ts:24", "pc": [ 57, 58, 59 ] }, { "teal": 59, "source": "examples/calculator/calculator.algo.ts:24", "pc": [ 60, 61 ] }, { "teal": 60, "source": "examples/calculator/calculator.algo.ts:24", "pc": [ 62, 63 ] }, { "teal": 61, "source": "examples/calculator/calculator.algo.ts:24", "pc": [ 64 ] }, { "teal": 62, "source": "examples/calculator/calculator.algo.ts:24", "pc": [ 65, 66, 67 ] }, { "teal": 65, "source": "examples/calculator/calculator.algo.ts:24", "pc": [ 68, 69 ] }, { "teal": 66, "source": "examples/calculator/calculator.algo.ts:24", "pc": [ 70, 71 ] }, { "teal": 67, "source": "examples/calculator/calculator.algo.ts:24", "pc": [ 72 ] }, { "teal": 70, "source": "examples/calculator/calculator.algo.ts:23", "pc": [ 73 ] }, { "teal": 75, "source": "examples/calculator/calculator.algo.ts:36", "pc": [ 74, 75, 76, 77, 78, 79 ] }, { "teal": 78, "source": "examples/calculator/calculator.algo.ts:36", "pc": [ 80, 81, 82 ] }, { "teal": 79, "source": "examples/calculator/calculator.algo.ts:36", "pc": [ 83, 84, 85 ] }, { "teal": 82, "source": "examples/calculator/calculator.algo.ts:36", "pc": [ 86, 87, 88 ] }, { "teal": 83, "source": "examples/calculator/calculator.algo.ts:36", "pc": [ 89 ] }, { "teal": 86, "source": "examples/calculator/calculator.algo.ts:36", "pc": [ 90, 91, 92 ] }, { "teal": 87, "source": "examples/calculator/calculator.algo.ts:36", "pc": [ 93 ] }, { "teal": 90, "source": "examples/calculator/calculator.algo.ts:36", "pc": [ 94, 95, 96 ] }, { "teal": 91, "source": "examples/calculator/calculator.algo.ts:36", "pc": [ 97 ] }, { "teal": 92, "source": "examples/calculator/calculator.algo.ts:36", "pc": [ 98 ] }, { "teal": 93, "source": "examples/calculator/calculator.algo.ts:36", "pc": [ 99 ] }, { "teal": 94, "source": "examples/calculator/calculator.algo.ts:36", "pc": [ 100 ] }, { "teal": 95, "source": "examples/calculator/calculator.algo.ts:36", "pc": [ 101 ] }, { "teal": 107, "source": "examples/calculator/calculator.algo.ts:36", "pc": [ 102, 103, 104 ] }, { "teal": 110, "source": "examples/calculator/calculator.algo.ts:36", "pc": [ 105, 106 ] }, { "teal": 115, "source": "examples/calculator/calculator.algo.ts:39", "pc": [ 107, 108 ] }, { "teal": 116, "source": "examples/calculator/calculator.algo.ts:39", "pc": [ 109, 110, 111, 112, 113 ] }, { "teal": 117, "source": "examples/calculator/calculator.algo.ts:39", "pc": [ 114 ] }, { "teal": 118, "source": "examples/calculator/calculator.algo.ts:39", "pc": [ 115, 116, 117 ] }, { "teal": 123, "source": "examples/calculator/calculator.algo.ts:40", "pc": [ 118, 119 ] }, { "teal": 124, "source": "examples/calculator/calculator.algo.ts:40", "pc": [ 120, 121 ] }, { "teal": 125, "source": "examples/calculator/calculator.algo.ts:40", "pc": [ 122, 123, 124 ] }, { "teal": 126, "source": "examples/calculator/calculator.algo.ts:40", "pc": [ 125, 126 ] }, { "teal": 127, "source": "examples/calculator/calculator.algo.ts:39", "pc": [ 127, 128, 129 ] }, { "teal": 132, "source": "examples/calculator/calculator.algo.ts:41", "pc": [ 130, 131 ] }, { "teal": 133, "source": "examples/calculator/calculator.algo.ts:41", "pc": [ 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143 ] }, { "teal": 134, "source": "examples/calculator/calculator.algo.ts:41", "pc": [ 144 ] }, { "teal": 135, "source": "examples/calculator/calculator.algo.ts:41", "pc": [ 145, 146, 147 ] }, { "teal": 140, "source": "examples/calculator/calculator.algo.ts:42", "pc": [ 148, 149 ] }, { "teal": 141, "source": "examples/calculator/calculator.algo.ts:42", "pc": [ 150, 151 ] }, { "teal": 142, "source": "examples/calculator/calculator.algo.ts:42", "pc": [ 152, 153, 154 ] }, { "teal": 143, "source": "examples/calculator/calculator.algo.ts:42", "pc": [ 155, 156 ] }, { "teal": 144, "source": "examples/calculator/calculator.algo.ts:41", "pc": [ 157, 158, 159 ] }, { "teal": 148, "source": "examples/calculator/calculator.algo.ts:43", "errorMessage": "Invalid operation", "pc": [ 160 ] }, { "teal": 153, "source": "examples/calculator/calculator.algo.ts:45", "pc": [ 161, 162 ] }, { "teal": 156, "source": "examples/calculator/calculator.algo.ts:36", "pc": [ 163, 164 ] }, { "teal": 157, "source": "examples/calculator/calculator.algo.ts:36", "pc": [ 165 ] }, { "teal": 160, "source": "examples/calculator/calculator.algo.ts:4", "pc": [ 166 ] }, { "teal": 161, "source": "examples/calculator/calculator.algo.ts:4", "pc": [ 167 ] }, { "teal": 164, "source": "examples/calculator/calculator.algo.ts:4", "pc": [ 168, 169, 170, 171, 172, 173 ] }, { "teal": 165, "source": "examples/calculator/calculator.algo.ts:4", "pc": [ 174, 175, 176 ] }, { "teal": 166, "source": "examples/calculator/calculator.algo.ts:4", "pc": [ 177, 178, 179, 180 ] }, { "teal": 169, "source": "examples/calculator/calculator.algo.ts:4", "errorMessage": "this contract does not implement the given ABI method for create NoOp", "pc": [ 181 ] }, { "teal": 172, "source": "examples/calculator/calculator.algo.ts:4", "pc": [ 182, 183, 184, 185, 186, 187 ] }, { "teal": 173, "source": "examples/calculator/calculator.algo.ts:4", "pc": [ 188, 189, 190 ] }, { "teal": 174, "source": "examples/calculator/calculator.algo.ts:4", "pc": [ 191, 192, 193, 194 ] }, { "teal": 177, "source": "examples/calculator/calculator.algo.ts:4", "errorMessage": "this contract does not implement the given ABI method for call NoOp", "pc": [ 195 ] } ], "pcOffsetMethod": "none" }, "clear": { "sourceInfo": [], "pcOffsetMethod": "none" } }, "source": { "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNy4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZ2V0U3VtKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0Ci8vCi8vIENhbGN1bGF0ZXMgdGhlIHN1bSBvZiB0d28gbnVtYmVycwovLwovLyBAcGFyYW0gYQovLyBAcGFyYW0gYgovLyBAcmV0dXJucyBUaGUgc3VtIG9mIGEgYW5kIGIKZ2V0U3VtOgoJcHJvdG8gMiAxCgoJLy8gZXhhbXBsZXMvY2FsY3VsYXRvci9jYWxjdWxhdG9yLmFsZ28udHM6MTMKCS8vIHJldHVybiBhICsgYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCSsKCXJldHN1YgoKLy8gZ2V0RGlmZmVyZW5jZShhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NAovLwovLyBDYWxjdWxhdGVzIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdHdvIG51bWJlcnMKLy8KLy8gQHBhcmFtIGEKLy8gQHBhcmFtIGIKLy8gQHJldHVybnMgVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBhIGFuZCBiLgpnZXREaWZmZXJlbmNlOgoJcHJvdG8gMiAxCgoJLy8gZXhhbXBsZXMvY2FsY3VsYXRvci9jYWxjdWxhdG9yLmFsZ28udHM6MjQKCS8vIHJldHVybiBhID49IGIgPyBhIC0gYiA6IGIgLSBhOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJPj0KCWJ6ICp0ZXJuYXJ5MF9mYWxzZQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJLQoJYiAqdGVybmFyeTBfZW5kCgoqdGVybmFyeTBfZmFsc2U6CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CgktCgoqdGVybmFyeTBfZW5kOgoJcmV0c3ViCgovLyBkb01hdGgodWludDY0LHVpbnQ2NCxzdHJpbmcpdWludDY0CiphYmlfcm91dGVfZG9NYXRoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIG9wZXJhdGlvbjogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglleHRyYWN0IDIgMAoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZG9NYXRoKHVpbnQ2NCx1aW50NjQsc3RyaW5nKXVpbnQ2NAoJY2FsbHN1YiBkb01hdGgKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBkb01hdGgoYTogdWludDY0LCBiOiB1aW50NjQsIG9wZXJhdGlvbjogc3RyaW5nKTogdWludDY0Ci8vCi8vIEEgbWV0aG9kIHRoYXQgdGFrZXMgdHdvIG51bWJlcnMgYW5kIGRvZXMgZWl0aGVyIGFkZGl0aW9uIG9yIHN1YnRyYWN0aW9uCi8vCi8vIEBwYXJhbSBhIFRoZSBmaXJzdCBudW1iZXIKLy8gQHBhcmFtIGIgVGhlIHNlY29uZCBudW1iZXIKLy8gQHBhcmFtIG9wZXJhdGlvbiBUaGUgb3BlcmF0aW9uIHRvIHBlcmZvcm0uIENhbiBiZSBlaXRoZXIgJ3N1bScgb3IgJ2RpZmZlcmVuY2UnCi8vCi8vIEByZXR1cm5zIFRoZSByZXN1bHQgb2YgdGhlIG9wZXJhdGlvbgpkb01hdGg6Cglwcm90byAzIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL2NhbGN1bGF0b3IvY2FsY3VsYXRvci5hbGdvLnRzOjM5CgkvLyBvcGVyYXRpb24gPT09ICdzdW0nCglmcmFtZV9kaWcgLTMgLy8gb3BlcmF0aW9uOiBzdHJpbmcKCXB1c2hieXRlcyAweDczNzU2ZCAvLyAic3VtIgoJPT0KCWJ6ICppZjBfZWxzZWlmMV9jb25kaXRpb24KCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL2NhbGN1bGF0b3IvY2FsY3VsYXRvci5hbGdvLnRzOjQwCgkvLyByZXN1bHQgPSB0aGlzLmdldFN1bShhLCBiKQoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJY2FsbHN1YiBnZXRTdW0KCWZyYW1lX2J1cnkgMCAvLyByZXN1bHQ6IHVpbnQ2NAoJYiAqaWYwX2VuZAoKKmlmMF9lbHNlaWYxX2NvbmRpdGlvbjoKCS8vIGV4YW1wbGVzL2NhbGN1bGF0b3IvY2FsY3VsYXRvci5hbGdvLnRzOjQxCgkvLyBvcGVyYXRpb24gPT09ICdkaWZmZXJlbmNlJwoJZnJhbWVfZGlnIC0zIC8vIG9wZXJhdGlvbjogc3RyaW5nCglwdXNoYnl0ZXMgMHg2NDY5NjY2NjY1NzI2NTZlNjM2NSAvLyAiZGlmZmVyZW5jZSIKCT09CglieiAqaWYwX2Vsc2UKCgkvLyAqaWYwX2Vsc2VpZjFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvY2FsY3VsYXRvci9jYWxjdWxhdG9yLmFsZ28udHM6NDIKCS8vIHJlc3VsdCA9IHRoaXMuZ2V0RGlmZmVyZW5jZShhLCBiKQoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJY2FsbHN1YiBnZXREaWZmZXJlbmNlCglmcmFtZV9idXJ5IDAgLy8gcmVzdWx0OiB1aW50NjQKCWIgKmlmMF9lbmQKCippZjBfZWxzZToKCS8vIEludmFsaWQgb3BlcmF0aW9uCgllcnIKCippZjBfZW5kOgoJLy8gZXhhbXBsZXMvY2FsY3VsYXRvci9jYWxjdWxhdG9yLmFsZ28udHM6NDUKCS8vIHJldHVybiByZXN1bHQ7CglmcmFtZV9kaWcgMCAvLyByZXN1bHQ6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDc2YTdlZjMzIC8vIG1ldGhvZCAiZG9NYXRoKHVpbnQ2NCx1aW50NjQsc3RyaW5nKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZG9NYXRoCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { "approval": "CiABATEYFIEGCzEZCI0MAI8AAAAAAAAAAAAAAIEAAAAAAAAAAAAAAIoCAYv/i/4IiYoCAYv/i/4PQQAIi/+L/glCAAWL/ov/CYmABBUffHU2GgNXAgA2GgIXNhoBF4gABRZQsCJDigMBgACL/YADc3VtEkEADIv+i/+I/6uMAEIAH4v9gApkaWZmZXJlbmNlEkEADIv+i/+I/5aMAEIAAQCLAIwAiSJDgAS4RHs2NhoAjgH/8QCABHan7zM2GgCOAf+HAA==", "clear": "Cg==" }, "compilerInfo": { "compiler": "algod", "compilerVersion": { "major": 4, "minor": 4, "patch": 1, "commitHash": "7b607ce4" } } }