{ "name": "Bounty", "desc": "", "methods": [ { "name": "issueBounty", "args": [ { "name": "payTxn", "type": "pay" }, { "name": "amount", "type": "uint64" }, { "name": "addr", "type": "address" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "claimBounty", "args": [ { "name": "amount", "type": "uint64" } ], "returns": { "type": "void" }, "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": { "bountyBox": { "keyType": "address", "valueType": "uint64" } } } }, "bareActions": { "create": [], "call": [] }, "sourceInfo": { "approval": { "sourceInfo": [ { "teal": 1, "source": "contracts/Bounty.algo.ts:7", "pc": [ 0 ] }, { "teal": 2, "source": "contracts/Bounty.algo.ts:7", "pc": [ 1, 2, 3, 4, 5, 6, 7 ] }, { "teal": 3, "source": "contracts/Bounty.algo.ts:7", "pc": [ 8, 9, 10 ] }, { "teal": 15, "source": "contracts/Bounty.algo.ts:7", "pc": [ 11, 12 ] }, { "teal": 16, "source": "contracts/Bounty.algo.ts:7", "pc": [ 13 ] }, { "teal": 17, "source": "contracts/Bounty.algo.ts:7", "pc": [ 14, 15 ] }, { "teal": 18, "source": "contracts/Bounty.algo.ts:7", "pc": [ 16 ] }, { "teal": 19, "source": "contracts/Bounty.algo.ts:7", "pc": [ 17, 18 ] }, { "teal": 20, "source": "contracts/Bounty.algo.ts:7", "pc": [ 19 ] }, { "teal": 21, "source": "contracts/Bounty.algo.ts:7", "pc": [ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45 ] }, { "teal": 25, "source": "contracts/Bounty.algo.ts:7", "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?", "pc": [ 46 ] }, { "teal": 30, "source": "contracts/Bounty.algo.ts:10", "pc": [ 47, 48, 49 ] }, { "teal": 31, "source": "contracts/Bounty.algo.ts:10", "pc": [ 50 ] }, { "teal": 32, "source": "contracts/Bounty.algo.ts:10", "pc": [ 51 ] }, { "teal": 33, "source": "contracts/Bounty.algo.ts:10", "pc": [ 52, 53 ] }, { "teal": 34, "source": "contracts/Bounty.algo.ts:10", "pc": [ 54 ] }, { "teal": 37, "source": "contracts/Bounty.algo.ts:10", "errorMessage": "argument 0 (addr) for issueBounty must be a address", "pc": [ 55 ] }, { "teal": 40, "source": "contracts/Bounty.algo.ts:10", "pc": [ 56, 57, 58 ] }, { "teal": 41, "source": "contracts/Bounty.algo.ts:10", "pc": [ 59 ] }, { "teal": 44, "source": "contracts/Bounty.algo.ts:10", "pc": [ 60, 61 ] }, { "teal": 45, "source": "contracts/Bounty.algo.ts:10", "pc": [ 62 ] }, { "teal": 46, "source": "contracts/Bounty.algo.ts:10", "pc": [ 63 ] }, { "teal": 47, "source": "contracts/Bounty.algo.ts:10", "pc": [ 64 ] }, { "teal": 48, "source": "contracts/Bounty.algo.ts:10", "pc": [ 65, 66 ] }, { "teal": 49, "source": "contracts/Bounty.algo.ts:10", "pc": [ 67 ] }, { "teal": 50, "source": "contracts/Bounty.algo.ts:10", "pc": [ 68 ] }, { "teal": 53, "source": "contracts/Bounty.algo.ts:10", "errorMessage": "argument 2 (payTxn) for issueBounty must be a pay transaction", "pc": [ 69 ] }, { "teal": 56, "source": "contracts/Bounty.algo.ts:10", "pc": [ 70, 71, 72 ] }, { "teal": 57, "source": "contracts/Bounty.algo.ts:10", "pc": [ 73 ] }, { "teal": 58, "source": "contracts/Bounty.algo.ts:10", "pc": [ 74 ] }, { "teal": 62, "source": "contracts/Bounty.algo.ts:10", "pc": [ 75, 76, 77 ] }, { "teal": 65, "source": "contracts/Bounty.algo.ts:10", "pc": [ 78 ] }, { "teal": 69, "source": "contracts/Bounty.algo.ts:11", "pc": [ 79, 80 ] }, { "teal": 70, "source": "contracts/Bounty.algo.ts:11", "pc": [ 81 ] }, { "teal": 71, "source": "contracts/Bounty.algo.ts:11", "pc": [ 82 ] }, { "teal": 74, "source": "contracts/Bounty.algo.ts:11", "errorMessage": "amount must be greater than zero", "pc": [ 83 ] }, { "teal": 78, "source": "contracts/Bounty.algo.ts:13", "pc": [ 84 ] }, { "teal": 79, "source": "contracts/Bounty.algo.ts:13", "pc": [ 85, 86 ] }, { "teal": 84, "source": "contracts/Bounty.algo.ts:15", "pc": [ 87, 88 ] }, { "teal": 85, "source": "contracts/Bounty.algo.ts:15", "pc": [ 89 ] }, { "teal": 86, "source": "contracts/Bounty.algo.ts:15", "pc": [ 90 ] }, { "teal": 87, "source": "contracts/Bounty.algo.ts:15", "pc": [ 91 ] }, { "teal": 88, "source": "contracts/Bounty.algo.ts:15", "pc": [ 92, 93, 94 ] }, { "teal": 98, "source": "contracts/Bounty.algo.ts:16", "pc": [ 95, 96 ] }, { "teal": 99, "source": "contracts/Bounty.algo.ts:17", "pc": [ 97, 98 ] }, { "teal": 100, "source": "contracts/Bounty.algo.ts:17", "pc": [ 99, 100 ] }, { "teal": 101, "source": "contracts/Bounty.algo.ts:17", "pc": [ 101 ] }, { "teal": 104, "source": "contracts/Bounty.algo.ts:17", "errorMessage": "transaction verification failed: {\"txn\":\"payTxn\",\"field\":\"sender\",\"expected\":\"this.txn.sender\"}", "pc": [ 102 ] }, { "teal": 107, "source": "contracts/Bounty.algo.ts:16", "pc": [ 103, 104 ] }, { "teal": 108, "source": "contracts/Bounty.algo.ts:18", "pc": [ 105, 106 ] }, { "teal": 109, "source": "contracts/Bounty.algo.ts:18", "pc": [ 107, 108 ] }, { "teal": 110, "source": "contracts/Bounty.algo.ts:18", "pc": [ 109 ] }, { "teal": 113, "source": "contracts/Bounty.algo.ts:18", "errorMessage": "transaction verification failed: {\"txn\":\"payTxn\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}", "pc": [ 110 ] }, { "teal": 116, "source": "contracts/Bounty.algo.ts:16", "pc": [ 111, 112 ] }, { "teal": 117, "source": "contracts/Bounty.algo.ts:19", "pc": [ 113, 114 ] }, { "teal": 118, "source": "contracts/Bounty.algo.ts:19", "pc": [ 115, 116 ] }, { "teal": 119, "source": "contracts/Bounty.algo.ts:19", "pc": [ 117 ] }, { "teal": 122, "source": "contracts/Bounty.algo.ts:19", "errorMessage": "transaction verification failed: {\"txn\":\"payTxn\",\"field\":\"amount\",\"expected\":\"amount\"}", "pc": [ 118 ] }, { "teal": 126, "source": "contracts/Bounty.algo.ts:22", "pc": [ 119, 120 ] }, { "teal": 127, "source": "contracts/Bounty.algo.ts:22", "pc": [ 121, 122 ] }, { "teal": 128, "source": "contracts/Bounty.algo.ts:22", "pc": [ 123 ] }, { "teal": 131, "source": "contracts/Bounty.algo.ts:22", "errorMessage": "box value does not exist: this.bountyBox(addr).value", "pc": [ 124 ] }, { "teal": 132, "source": "contracts/Bounty.algo.ts:22", "pc": [ 125 ] }, { "teal": 133, "source": "contracts/Bounty.algo.ts:22", "pc": [ 126, 127 ] }, { "teal": 134, "source": "contracts/Bounty.algo.ts:22", "pc": [ 128 ] }, { "teal": 135, "source": "contracts/Bounty.algo.ts:22", "pc": [ 129 ] }, { "teal": 136, "source": "contracts/Bounty.algo.ts:22", "pc": [ 130 ] }, { "teal": 137, "source": "contracts/Bounty.algo.ts:15", "pc": [ 131, 132, 133 ] }, { "teal": 147, "source": "contracts/Bounty.algo.ts:24", "pc": [ 134, 135 ] }, { "teal": 148, "source": "contracts/Bounty.algo.ts:25", "pc": [ 136, 137 ] }, { "teal": 149, "source": "contracts/Bounty.algo.ts:25", "pc": [ 138, 139 ] }, { "teal": 150, "source": "contracts/Bounty.algo.ts:25", "pc": [ 140 ] }, { "teal": 153, "source": "contracts/Bounty.algo.ts:25", "errorMessage": "transaction verification failed: {\"txn\":\"payTxn\",\"field\":\"sender\",\"expected\":\"this.txn.sender\"}", "pc": [ 141 ] }, { "teal": 156, "source": "contracts/Bounty.algo.ts:24", "pc": [ 142, 143 ] }, { "teal": 157, "source": "contracts/Bounty.algo.ts:26", "pc": [ 144, 145 ] }, { "teal": 158, "source": "contracts/Bounty.algo.ts:26", "pc": [ 146, 147 ] }, { "teal": 159, "source": "contracts/Bounty.algo.ts:26", "pc": [ 148 ] }, { "teal": 162, "source": "contracts/Bounty.algo.ts:26", "errorMessage": "transaction verification failed: {\"txn\":\"payTxn\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}", "pc": [ 149 ] }, { "teal": 165, "source": "contracts/Bounty.algo.ts:24", "pc": [ 150, 151 ] }, { "teal": 166, "source": "contracts/Bounty.algo.ts:27", "pc": [ 152, 153 ] }, { "teal": 167, "source": "contracts/Bounty.algo.ts:27", "pc": [ 154 ] }, { "teal": 168, "source": "contracts/Bounty.algo.ts:27", "pc": [ 155, 156 ] }, { "teal": 169, "source": "contracts/Bounty.algo.ts:27", "pc": [ 157 ] }, { "teal": 170, "source": "contracts/Bounty.algo.ts:27", "pc": [ 158 ] }, { "teal": 173, "source": "contracts/Bounty.algo.ts:27", "errorMessage": "transaction verification failed: {\"txn\":\"payTxn\",\"field\":\"amount\",\"expected\":\"totalCost + amount\"}", "pc": [ 159 ] }, { "teal": 177, "source": "contracts/Bounty.algo.ts:30", "pc": [ 160, 161 ] }, { "teal": 178, "source": "contracts/Bounty.algo.ts:30", "pc": [ 162, 163 ] }, { "teal": 179, "source": "contracts/Bounty.algo.ts:30", "pc": [ 164 ] }, { "teal": 180, "source": "contracts/Bounty.algo.ts:30", "pc": [ 165 ] }, { "teal": 183, "source": "contracts/Bounty.algo.ts:10", "pc": [ 166 ] }, { "teal": 188, "source": "contracts/Bounty.algo.ts:34", "pc": [ 167, 168, 169 ] }, { "teal": 189, "source": "contracts/Bounty.algo.ts:34", "pc": [ 170 ] }, { "teal": 192, "source": "contracts/Bounty.algo.ts:34", "pc": [ 171, 172, 173 ] }, { "teal": 193, "source": "contracts/Bounty.algo.ts:34", "pc": [ 174 ] }, { "teal": 194, "source": "contracts/Bounty.algo.ts:34", "pc": [ 175 ] }, { "teal": 198, "source": "contracts/Bounty.algo.ts:34", "pc": [ 176, 177, 178 ] }, { "teal": 201, "source": "contracts/Bounty.algo.ts:34", "pc": [ 179 ] }, { "teal": 202, "source": "contracts/Bounty.algo.ts:34", "pc": [ 180 ] }, { "teal": 206, "source": "contracts/Bounty.algo.ts:35", "pc": [ 181, 182 ] }, { "teal": 207, "source": "contracts/Bounty.algo.ts:35", "pc": [ 183, 184 ] }, { "teal": 211, "source": "contracts/Bounty.algo.ts:36", "pc": [ 185, 186 ] }, { "teal": 212, "source": "contracts/Bounty.algo.ts:36", "pc": [ 187 ] }, { "teal": 213, "source": "contracts/Bounty.algo.ts:36", "pc": [ 188 ] }, { "teal": 214, "source": "contracts/Bounty.algo.ts:36", "pc": [ 189 ] }, { "teal": 217, "source": "contracts/Bounty.algo.ts:36", "errorMessage": "Sorry, you have no bounty to claim", "pc": [ 190 ] }, { "teal": 221, "source": "contracts/Bounty.algo.ts:37", "pc": [ 191, 192 ] }, { "teal": 222, "source": "contracts/Bounty.algo.ts:37", "pc": [ 193 ] }, { "teal": 223, "source": "contracts/Bounty.algo.ts:37", "pc": [ 194 ] }, { "teal": 226, "source": "contracts/Bounty.algo.ts:37", "errorMessage": "Invalid bounty amount", "pc": [ 195 ] }, { "teal": 230, "source": "contracts/Bounty.algo.ts:39", "pc": [ 196, 197 ] }, { "teal": 231, "source": "contracts/Bounty.algo.ts:39", "pc": [ 198 ] }, { "teal": 234, "source": "contracts/Bounty.algo.ts:39", "errorMessage": "box value does not exist: this.bountyBox(addr).value", "pc": [ 199 ] }, { "teal": 235, "source": "contracts/Bounty.algo.ts:39", "pc": [ 200 ] }, { "teal": 236, "source": "contracts/Bounty.algo.ts:39", "pc": [ 201, 202 ] }, { "teal": 240, "source": "contracts/Bounty.algo.ts:40", "pc": [ 203, 204 ] }, { "teal": 241, "source": "contracts/Bounty.algo.ts:40", "pc": [ 205, 206 ] }, { "teal": 242, "source": "contracts/Bounty.algo.ts:40", "pc": [ 207 ] }, { "teal": 245, "source": "contracts/Bounty.algo.ts:40", "errorMessage": "No bounty available to claim", "pc": [ 208 ] }, { "teal": 254, "source": "contracts/Bounty.algo.ts:42", "pc": [ 209 ] }, { "teal": 255, "source": "contracts/Bounty.algo.ts:42", "pc": [ 210 ] }, { "teal": 256, "source": "contracts/Bounty.algo.ts:42", "pc": [ 211, 212 ] }, { "teal": 260, "source": "contracts/Bounty.algo.ts:43", "pc": [ 213, 214 ] }, { "teal": 261, "source": "contracts/Bounty.algo.ts:43", "pc": [ 215, 216 ] }, { "teal": 265, "source": "contracts/Bounty.algo.ts:44", "pc": [ 217, 218 ] }, { "teal": 266, "source": "contracts/Bounty.algo.ts:44", "pc": [ 219, 220 ] }, { "teal": 270, "source": "contracts/Bounty.algo.ts:45", "pc": [ 221, 222 ] }, { "teal": 271, "source": "contracts/Bounty.algo.ts:45", "pc": [ 223, 224 ] }, { "teal": 275, "source": "contracts/Bounty.algo.ts:46", "pc": [ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240 ] }, { "teal": 276, "source": "contracts/Bounty.algo.ts:46", "pc": [ 241, 242 ] }, { "teal": 279, "source": "contracts/Bounty.algo.ts:42", "pc": [ 243 ] }, { "teal": 280, "source": "contracts/Bounty.algo.ts:42", "pc": [ 244, 245 ] }, { "teal": 283, "source": "contracts/Bounty.algo.ts:42", "pc": [ 246 ] }, { "teal": 287, "source": "contracts/Bounty.algo.ts:49", "pc": [ 247, 248 ] }, { "teal": 288, "source": "contracts/Bounty.algo.ts:49", "pc": [ 249, 250 ] }, { "teal": 289, "source": "contracts/Bounty.algo.ts:49", "pc": [ 251, 252 ] }, { "teal": 290, "source": "contracts/Bounty.algo.ts:49", "pc": [ 253 ] }, { "teal": 291, "source": "contracts/Bounty.algo.ts:49", "pc": [ 254 ] }, { "teal": 292, "source": "contracts/Bounty.algo.ts:49", "pc": [ 255 ] }, { "teal": 293, "source": "contracts/Bounty.algo.ts:34", "pc": [ 256 ] }, { "teal": 296, "source": "contracts/Bounty.algo.ts:7", "pc": [ 257 ] }, { "teal": 297, "source": "contracts/Bounty.algo.ts:7", "pc": [ 258 ] }, { "teal": 300, "source": "contracts/Bounty.algo.ts:7", "pc": [ 259, 260, 261, 262, 263, 264 ] }, { "teal": 301, "source": "contracts/Bounty.algo.ts:7", "pc": [ 265, 266, 267 ] }, { "teal": 302, "source": "contracts/Bounty.algo.ts:7", "pc": [ 268, 269, 270, 271 ] }, { "teal": 305, "source": "contracts/Bounty.algo.ts:7", "errorMessage": "this contract does not implement the given ABI method for create NoOp", "pc": [ 272 ] }, { "teal": 308, "source": "contracts/Bounty.algo.ts:7", "pc": [ 273, 274, 275, 276, 277, 278 ] }, { "teal": 309, "source": "contracts/Bounty.algo.ts:7", "pc": [ 279, 280, 281, 282, 283, 284 ] }, { "teal": 310, "source": "contracts/Bounty.algo.ts:7", "pc": [ 285, 286, 287 ] }, { "teal": 311, "source": "contracts/Bounty.algo.ts:7", "pc": [ 288, 289, 290, 291, 292, 293 ] }, { "teal": 314, "source": "contracts/Bounty.algo.ts:7", "errorMessage": "this contract does not implement the given ABI method for call NoOp", "pc": [ 294 ] } ], "pcOffsetMethod": "none" }, "clear": { "sourceInfo": [], "pcOffsetMethod": "none" } }, "source": { "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMTMxMzAwCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA2LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBpc3N1ZUJvdW50eShwYXksdWludDY0LGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2lzc3VlQm91bnR5OgoJLy8gYWRkcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCXB1c2hpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYWRkcikgZm9yIGlzc3VlQm91bnR5IG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBhbW91bnQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIHBheVR4bjogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50YyAwIC8vIDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMCAvLyAgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDIgKHBheVR4bikgZm9yIGlzc3VlQm91bnR5IG11c3QgYmUgYSBwYXkgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGV4ZWN1dGUgaXNzdWVCb3VudHkocGF5LHVpbnQ2NCxhZGRyZXNzKXZvaWQKCWNhbGxzdWIgaXNzdWVCb3VudHkKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGlzc3VlQm91bnR5KHBheVR4bjogUGF5VHhuLCBhbW91bnQ6IHVpbnQ2NCwgYWRkcjogQWRkcmVzcyk6IHZvaWQKaXNzdWVCb3VudHk6Cglwcm90byAzIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIGNvbnRyYWN0cy9Cb3VudHkuYWxnby50czoxMQoJLy8gYXNzZXJ0KGFtb3VudCA+IDAsICdhbW91bnQgbXVzdCBiZSBncmVhdGVyIHRoYW4gemVybycpCglmcmFtZV9kaWcgLTIgLy8gYW1vdW50OiB1aW50NjQKCWludGMgMSAvLyAwCgk+CgoJLy8gYW1vdW50IG11c3QgYmUgZ3JlYXRlciB0aGFuIHplcm8KCWFzc2VydAoKCS8vIGNvbnRyYWN0cy9Cb3VudHkuYWxnby50czoxMwoJLy8gdG90YWxDb3N0ID0gTUJSICsgQ09TVF9QRVJfQk9YICsgQ09TVF9QRVJfQllURSAqICg4ICsgNjQpCglpbnRjIDIgLy8gMTMxMzAwCglmcmFtZV9idXJ5IDAgLy8gdG90YWxDb3N0OiB1aW50NjQKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gY29udHJhY3RzL0JvdW50eS5hbGdvLnRzOjE1CgkvLyB0aGlzLmJvdW50eUJveChhZGRyKS5leGlzdHMKCWZyYW1lX2RpZyAtMyAvLyBhZGRyOiBBZGRyZXNzCglib3hfbGVuCglzd2FwCglwb3AKCWJ6ICppZjBfZWxzZQoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gY29udHJhY3RzL0JvdW50eS5hbGdvLnRzOjE2CgkvLyB2ZXJpZnlQYXlUeG4ocGF5VHhuLCB7CgkvLyAgICAgICAgIHNlbmRlcjogdGhpcy50eG4uc2VuZGVyLAoJLy8gICAgICAgICByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgICAgYW1vdW50OiBhbW91bnQsCgkvLyAgICAgICB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHBheVR4bjogUGF5VHhuCglndHhucyBTZW5kZXIKCXR4biBTZW5kZXIKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJwYXlUeG4iLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoidGhpcy50eG4uc2VuZGVyIn0KCWFzc2VydAoKCS8vIHZlcmlmeSByZWNlaXZlcgoJZnJhbWVfZGlnIC0xIC8vIHBheVR4bjogUGF5VHhuCglndHhucyBSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJwYXlUeG4iLCJmaWVsZCI6InJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBwYXlUeG46IFBheVR4bgoJZ3R4bnMgQW1vdW50CglmcmFtZV9kaWcgLTIgLy8gYW1vdW50OiB1aW50NjQKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJwYXlUeG4iLCJmaWVsZCI6ImFtb3VudCIsImV4cGVjdGVkIjoiYW1vdW50In0KCWFzc2VydAoKCS8vIGNvbnRyYWN0cy9Cb3VudHkuYWxnby50czoyMgoJLy8gdGhpcy5ib3VudHlCb3goYWRkcikudmFsdWUgPSB0aGlzLmJvdW50eUJveChhZGRyKS52YWx1ZSArIGFtb3VudAoJZnJhbWVfZGlnIC0zIC8vIGFkZHI6IEFkZHJlc3MKCWZyYW1lX2RpZyAtMyAvLyBhZGRyOiBBZGRyZXNzCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJvdW50eUJveChhZGRyKS52YWx1ZQoJYXNzZXJ0CglidG9pCglmcmFtZV9kaWcgLTIgLy8gYW1vdW50OiB1aW50NjQKCSsKCWl0b2IKCWJveF9wdXQKCWIgKmlmMF9lbmQKCippZjBfZWxzZToKCS8vIGNvbnRyYWN0cy9Cb3VudHkuYWxnby50czoyNAoJLy8gdmVyaWZ5UGF5VHhuKHBheVR4biwgewoJLy8gICAgICAgICBzZW5kZXI6IHRoaXMudHhuLnNlbmRlciwKCS8vICAgICAgICAgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICAgIGFtb3VudDogdG90YWxDb3N0ICsgYW1vdW50LAoJLy8gICAgICAgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCWZyYW1lX2RpZyAtMSAvLyBwYXlUeG46IFBheVR4bgoJZ3R4bnMgU2VuZGVyCgl0eG4gU2VuZGVyCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoicGF5VHhuIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMudHhuLnNlbmRlciJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgcmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBwYXlUeG46IFBheVR4bgoJZ3R4bnMgUmVjZWl2ZXIKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoicGF5VHhuIiwiZmllbGQiOiJyZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYW1vdW50CglmcmFtZV9kaWcgLTEgLy8gcGF5VHhuOiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJaW50YyAyIC8vICB0b3RhbENvc3Q6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGFtb3VudDogdWludDY0CgkrCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoicGF5VHhuIiwiZmllbGQiOiJhbW91bnQiLCJleHBlY3RlZCI6InRvdGFsQ29zdCArIGFtb3VudCJ9Cglhc3NlcnQKCgkvLyBjb250cmFjdHMvQm91bnR5LmFsZ28udHM6MzAKCS8vIHRoaXMuYm91bnR5Qm94KGFkZHIpLnZhbHVlID0gYW1vdW50CglmcmFtZV9kaWcgLTMgLy8gYWRkcjogQWRkcmVzcwoJZnJhbWVfZGlnIC0yIC8vIGFtb3VudDogdWludDY0CglpdG9iCglib3hfcHV0CgoqaWYwX2VuZDoKCXJldHN1YgoKLy8gY2xhaW1Cb3VudHkodWludDY0KXZvaWQKKmFiaV9yb3V0ZV9jbGFpbUJvdW50eToKCS8vIGFtb3VudDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBjbGFpbUJvdW50eSh1aW50NjQpdm9pZAoJY2FsbHN1YiBjbGFpbUJvdW50eQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY2xhaW1Cb3VudHkoYW1vdW50OiB1aW50NjQpOiB2b2lkCmNsYWltQm91bnR5OgoJcHJvdG8gMSAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cAoKCS8vIGNvbnRyYWN0cy9Cb3VudHkuYWxnby50czozNQoJLy8gYWRkciA9IHRoaXMudHhuLnNlbmRlcgoJdHhuIFNlbmRlcgoJZnJhbWVfYnVyeSAwIC8vIGFkZHI6IGFkZHJlc3MKCgkvLyBjb250cmFjdHMvQm91bnR5LmFsZ28udHM6MzYKCS8vIGFzc2VydCh0aGlzLmJvdW50eUJveChhZGRyKS5leGlzdHMsICdTb3JyeSwgeW91IGhhdmUgbm8gYm91bnR5IHRvIGNsYWltJykKCWZyYW1lX2RpZyAwIC8vIGFkZHI6IGFkZHJlc3MKCWJveF9sZW4KCXN3YXAKCXBvcAoKCS8vIFNvcnJ5LCB5b3UgaGF2ZSBubyBib3VudHkgdG8gY2xhaW0KCWFzc2VydAoKCS8vIGNvbnRyYWN0cy9Cb3VudHkuYWxnby50czozNwoJLy8gYXNzZXJ0KGFtb3VudCA+IDAsICdJbnZhbGlkIGJvdW50eSBhbW91bnQnKQoJZnJhbWVfZGlnIC0xIC8vIGFtb3VudDogdWludDY0CglpbnRjIDEgLy8gMAoJPgoKCS8vIEludmFsaWQgYm91bnR5IGFtb3VudAoJYXNzZXJ0CgoJLy8gY29udHJhY3RzL0JvdW50eS5hbGdvLnRzOjM5CgkvLyB1bmNsYWltZWRBbW91bnQgPSB0aGlzLmJvdW50eUJveChhZGRyKS52YWx1ZQoJZnJhbWVfZGlnIDAgLy8gYWRkcjogYWRkcmVzcwoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5ib3VudHlCb3goYWRkcikudmFsdWUKCWFzc2VydAoJYnRvaQoJZnJhbWVfYnVyeSAxIC8vIHVuY2xhaW1lZEFtb3VudDogdWludDY0CgoJLy8gY29udHJhY3RzL0JvdW50eS5hbGdvLnRzOjQwCgkvLyBhc3NlcnQodW5jbGFpbWVkQW1vdW50ID49IGFtb3VudCwgJ05vIGJvdW50eSBhdmFpbGFibGUgdG8gY2xhaW0nKQoJZnJhbWVfZGlnIDEgLy8gdW5jbGFpbWVkQW1vdW50OiB1aW50NjQKCWZyYW1lX2RpZyAtMSAvLyBhbW91bnQ6IHVpbnQ2NAoJPj0KCgkvLyBObyBib3VudHkgYXZhaWxhYmxlIHRvIGNsYWltCglhc3NlcnQKCgkvLyBjb250cmFjdHMvQm91bnR5LmFsZ28udHM6NDIKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgIGFtb3VudDogYW1vdW50LAoJLy8gICAgICAgc2VuZGVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgcmVjZWl2ZXI6IHRoaXMudHhuLnNlbmRlciwKCS8vICAgICAgIG5vdGU6ICdCb3VudHkgY2xhaW1lZCcsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMCAvLyAgcGF5CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gY29udHJhY3RzL0JvdW50eS5hbGdvLnRzOjQzCgkvLyBhbW91bnQ6IGFtb3VudAoJZnJhbWVfZGlnIC0xIC8vIGFtb3VudDogdWludDY0CglpdHhuX2ZpZWxkIEFtb3VudAoKCS8vIGNvbnRyYWN0cy9Cb3VudHkuYWxnby50czo0NAoJLy8gc2VuZGVyOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBTZW5kZXIKCgkvLyBjb250cmFjdHMvQm91bnR5LmFsZ28udHM6NDUKCS8vIHJlY2VpdmVyOiB0aGlzLnR4bi5zZW5kZXIKCXR4biBTZW5kZXIKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyBjb250cmFjdHMvQm91bnR5LmFsZ28udHM6NDYKCS8vIG5vdGU6ICdCb3VudHkgY2xhaW1lZCcKCXB1c2hieXRlcyAweDQyNmY3NTZlNzQ3OTIwNjM2YzYxNjk2ZDY1NjQgLy8gIkJvdW50eSBjbGFpbWVkIgoJaXR4bl9maWVsZCBOb3RlCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGNvbnRyYWN0cy9Cb3VudHkuYWxnby50czo0OQoJLy8gdGhpcy5ib3VudHlCb3goYWRkcikudmFsdWUgPSB1bmNsYWltZWRBbW91bnQgLSBhbW91bnQKCWZyYW1lX2RpZyAwIC8vIGFkZHI6IGFkZHJlc3MKCWZyYW1lX2RpZyAxIC8vIHVuY2xhaW1lZEFtb3VudDogdWludDY0CglmcmFtZV9kaWcgLTEgLy8gYW1vdW50OiB1aW50NjQKCS0KCWl0b2IKCWJveF9wdXQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhmODllMDQ5NyAvLyBtZXRob2QgImlzc3VlQm91bnR5KHBheSx1aW50NjQsYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4N2NlYmU4MTAgLy8gbWV0aG9kICJjbGFpbUJvdW50eSh1aW50NjQpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfaXNzdWVCb3VudHkgKmFiaV9yb3V0ZV9jbGFpbUJvdW50eQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { "approval": "CiADAQDkgQgmAQAxGBSBBgsxGQiNDADjAAAAAAAAAAAAAADVAAAAAAAAAAAAAAA2GgJJFYEgEkQ2GgEXMRYiCUk4ECISRIgAAiJDigMAKIv+Iw1EJIwAi/29TEhBACeL/zgAMQASRIv/OAcyChJEi/84CIv+EkSL/Yv9vkQXi/4IFr9CACCL/zgAMQASRIv/OAcyChJEi/84CCSL/ggSRIv9i/4Wv4k2GgEXiAACIkOKAQAoSTEAjACLAL1MSESL/yMNRIsAvkQXjAGLAYv/D0SxIrIQi/+yCDIKsgAxALIHgA5Cb3VudHkgY2xhaW1lZLIFI7IBs4sAiwGL/wkWv4kiQ4AEuER7NjYaAI4B//EAgAT4ngSXgAR86+gQNhoAjgL/Cf+BAA==", "clear": "Cg==" }, "compilerInfo": { "compiler": "algod", "compilerVersion": { "major": 4, "minor": 0, "patch": 2, "commitHash": "6b940281" } } }