Skip to content

Commit

Permalink
Merge pull request #199 from algorandfoundation/dev
Browse files Browse the repository at this point in the history
0.58: fixes and optimizations
  • Loading branch information
joe-p authored Oct 29, 2023
2 parents 0faeba5 + a506870 commit cca9a91
Show file tree
Hide file tree
Showing 257 changed files with 887 additions and 718 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma version 9

// This TEAL was generated by TEALScript v0.57.2
// This TEAL was generated by TEALScript v0.58.0
// https://github.com/algorandfoundation/TEALScript

// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
Expand Down
4 changes: 2 additions & 2 deletions examples/amm/tealscript_artifacts/ConstantProductAMM.json

Large diffs are not rendered by default.

12 changes: 6 additions & 6 deletions examples/arc72/artifacts/ARC72.approval.teal
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma version 9

// This TEAL was generated by TEALScript v0.57.2
// This TEAL was generated by TEALScript v0.58.0
// https://github.com/algorandfoundation/TEALScript

// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
Expand Down Expand Up @@ -377,6 +377,11 @@ mint:
frame_dig -2 // index: uint256
byte 0x0000000000000000000000000000000000000000000000000000000000000001
b+
dup
bitlen
int 256
<=
assert
byte 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
b&
dup
Expand All @@ -386,11 +391,6 @@ mint:
-
swap
substring3
dup
bitlen
int 256
<=
assert
app_global_put
retsub

Expand Down
4 changes: 2 additions & 2 deletions examples/arc72/artifacts/ARC72.json

Large diffs are not rendered by default.

76 changes: 38 additions & 38 deletions examples/arc72/artifacts/ARC72.src_map.json
Original file line number Diff line number Diff line change
Expand Up @@ -2509,74 +2509,74 @@
"teal": 380,
"source": 94,
"pc": [
1282,
1283,
1284,
1285,
1286,
1287,
1288,
1289,
1290,
1291,
1292,
1293,
1294,
1295,
1296,
1297,
1298,
1299,
1300,
1301,
1302,
1303,
1304,
1305,
1306,
1307,
1308,
1309,
1310,
1311,
1312,
1313,
1314,
1315
1282
]
},
{
"teal": 381,
"source": 94,
"pc": [
1316
1283
]
},
{
"teal": 382,
"source": 94,
"pc": [
1317
1284
]
},
{
"teal": 383,
"source": 94,
"pc": [
1318
1285
]
},
{
"teal": 384,
"source": 94,
"pc": [
1319
1286
]
},
{
"teal": 385,
"source": 94,
"pc": [
1287,
1288,
1289,
1290,
1291,
1292,
1293,
1294,
1295,
1296,
1297,
1298,
1299,
1300,
1301,
1302,
1303,
1304,
1305,
1306,
1307,
1308,
1309,
1310,
1311,
1312,
1313,
1314,
1315,
1316,
1317,
1318,
1319,
1320
]
},
Expand Down
4 changes: 2 additions & 2 deletions examples/arc75/ARC75Client.ts

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion examples/arc75/artifacts/ARC75.approval.teal
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma version 9

// This TEAL was generated by TEALScript v0.57.2
// This TEAL was generated by TEALScript v0.58.0
// https://github.com/algorandfoundation/TEALScript

// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
Expand Down
4 changes: 2 additions & 2 deletions examples/arc75/artifacts/ARC75.json

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma version 9

// This TEAL was generated by TEALScript v0.57.2
// This TEAL was generated by TEALScript v0.58.0
// https://github.com/algorandfoundation/TEALScript

// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
Expand Down
4 changes: 2 additions & 2 deletions examples/auction/tealscript_artifacts/Auction.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion examples/big_box/artifacts/BigBox.approval.teal
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma version 9

// This TEAL was generated by TEALScript v0.57.2
// This TEAL was generated by TEALScript v0.58.0
// https://github.com/algorandfoundation/TEALScript

// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
Expand Down
4 changes: 2 additions & 2 deletions examples/big_box/artifacts/BigBox.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion examples/calculator/artifacts/Calculator.approval.teal
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma version 9

// This TEAL was generated by TEALScript v0.57.2
// This TEAL was generated by TEALScript v0.58.0
// https://github.com/algorandfoundation/TEALScript

// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
Expand Down
4 changes: 2 additions & 2 deletions examples/calculator/artifacts/Calculator.json

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions examples/itxns/FactoryCallerClient.ts

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion examples/itxns/artifacts/FactoryCaller.approval.teal
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma version 9

// This TEAL was generated by TEALScript v0.57.2
// This TEAL was generated by TEALScript v0.58.0
// https://github.com/algorandfoundation/TEALScript

// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
Expand Down
4 changes: 2 additions & 2 deletions examples/itxns/artifacts/FactoryCaller.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion examples/itxns/artifacts/NFTFactory.approval.teal
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma version 9

// This TEAL was generated by TEALScript v0.57.2
// This TEAL was generated by TEALScript v0.58.0
// https://github.com/algorandfoundation/TEALScript

// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
Expand Down
4 changes: 2 additions & 2 deletions examples/itxns/artifacts/NFTFactory.json

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions examples/merkle/MerkleTreeClient.ts

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion examples/merkle/artifacts/MerkleTree.approval.teal
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma version 9

// This TEAL was generated by TEALScript v0.57.2
// This TEAL was generated by TEALScript v0.58.0
// https://github.com/algorandfoundation/TEALScript

// This contract is compliant with and/or implements the following ARCs: [ ARC4 ]
Expand Down
4 changes: 2 additions & 2 deletions examples/merkle/artifacts/MerkleTree.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion examples/non_abi/artifacts/NonABIExample.approval.teal
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma version 9

// This TEAL was generated by TEALScript v0.57.2
// This TEAL was generated by TEALScript v0.58.0
// https://github.com/algorandfoundation/TEALScript

// !!!! WARNING: This contract is *NOT* ARC4 compliant. It may contain ABI methods, but it also allows app calls where the first argument does NOT match an ABI selector
Expand Down
4 changes: 2 additions & 2 deletions examples/non_abi/artifacts/NonABIExample.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@
}
},
"source": {
"approval": "I3ByYWdtYSB2ZXJzaW9uIDkKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuNTcuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vICEhISEgV0FSTklORzogVGhpcyBjb250cmFjdCBpcyAqTk9UKiBBUkM0IGNvbXBsaWFudC4gSXQgbWF5IGNvbnRhaW4gQUJJIG1ldGhvZHMsIGJ1dCBpdCBhbHNvIGFsbG93cyBhcHAgY2FsbHMgd2hlcmUgdGhlIGZpcnN0IGFyZ3VtZW50IGRvZXMgTk9UIG1hdGNoIGFuIEFCSSBzZWxlY3RvcgoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlcHNlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIk5PVF9JTVBMTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECmludCAwCj4KaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoIGNyZWF0ZV9Ob09wIE5PVF9JTVBMRU1FTlRFRCBOT1RfSU1QTEVNRU5URUQgTk9UX0lNUExFTUVOVEVEIE5PVF9JTVBMRU1FTlRFRCBOT1RfSU1QTEVNRU5URUQgY2FsbF9Ob09wCgpOT1RfSU1QTEVNRU5URUQ6CgllcnIKCmFkZDoKCXByb3RvIDIgMQoKCS8vIGV4YW1wbGVzL25vbl9hYmkvbm9uX2FiaS5hbGdvLnRzOjYKCS8vIHJldHVybiB4ICsgeTsKCWZyYW1lX2RpZyAtMSAvLyB4OiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyB5OiB1aW50NjQKCSsKCXJldHN1YgoKLy8gYWJpQWRkKHVpbnQ2NCx1aW50NjQpdWludDY0CmFiaV9yb3V0ZV9hYmlBZGQ6CgkvLyB5OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyB4OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGFiaUFkZCh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBhYmlBZGQKCWludCAxCglyZXR1cm4KCmFiaUFkZDoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL25vbl9hYmkvbm9uX2FiaS5hbGdvLnRzOjEwCgkvLyByZXR1cm4gdGhpcy5hZGQoeCwgeSk7CglmcmFtZV9kaWcgLTIgLy8geTogdWludDY0CglmcmFtZV9kaWcgLTEgLy8geDogdWludDY0CgljYWxsc3ViIGFkZAoJaXRvYgoJYnl0ZSAweDE1MWY3Yzc1Cglzd2FwCgljb25jYXQKCWxvZwoJcmV0c3ViCgpub25BYmlBZGQ6Cglwcm90byAyIDAKCgkvLyBleGFtcGxlcy9ub25fYWJpL25vbl9hYmkuYWxnby50czoxNQoJLy8geCA9IGJ0b2kodGhpcy50eG4uYXBwbGljYXRpb25BcmdzIVswXSkKCXR4biBBcHBsaWNhdGlvbkFyZ3MgMAoJYnRvaQoJZnJhbWVfYnVyeSAtMSAvLyB4OiB1aW50NjQKCgkvLyBleGFtcGxlcy9ub25fYWJpL25vbl9hYmkuYWxnby50czoxNgoJLy8geSA9IGJ0b2kodGhpcy50eG4uYXBwbGljYXRpb25BcmdzIVsxXSkKCXR4biBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoJZnJhbWVfYnVyeSAtMiAvLyB5OiB1aW50NjQKCgkvLyBleGFtcGxlcy9ub25fYWJpL25vbl9hYmkuYWxnby50czoxNwoJLy8gbG9nKGl0b2IodGhpcy5hZGQoeCwgeSkpKQoJZnJhbWVfZGlnIC0yIC8vIHk6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIHg6IHVpbnQ2NAoJY2FsbHN1YiBhZGQKCWl0b2IKCWxvZwoJcmV0c3ViCgphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgpjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCBhYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCWVycgoKY2FsbF9Ob09wOgoJbWV0aG9kICJhYmlBZGQodWludDY0LHVpbnQ2NCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCBhYmlfcm91dGVfYWJpQWRkCgoJLy8gISEhISBXQVJOSU5HOiBub24tQUJJIHJvdXRpbmcKCWNhbGxzdWIgbm9uQWJpQWRk",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDkKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuNTcuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vICEhISEgV0FSTklORzogVGhpcyBjb250cmFjdCBpcyAqTk9UKiBBUkM0IGNvbXBsaWFudC4gSXQgbWF5IGNvbnRhaW4gQUJJIG1ldGhvZHMsIGJ1dCBpdCBhbHNvIGFsbG93cyBhcHAgY2FsbHMgd2hlcmUgdGhlIGZpcnN0IGFyZ3VtZW50IGRvZXMgTk9UIG1hdGNoIGFuIEFCSSBzZWxlY3RvcgoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlcHNlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIk5PVF9JTVBMTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECmludCAwCj4KaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoIGNyZWF0ZV9Ob09wIE5PVF9JTVBMRU1FTlRFRCBOT1RfSU1QTEVNRU5URUQgTk9UX0lNUExFTUVOVEVEIE5PVF9JTVBMRU1FTlRFRCBOT1RfSU1QTEVNRU5URUQgY2FsbF9Ob09wCgpOT1RfSU1QTEVNRU5URUQ6CgllcnIKCmFkZDoKCXByb3RvIDIgMQoKCS8vIGV4YW1wbGVzL25vbl9hYmkvbm9uX2FiaS5hbGdvLnRzOjYKCS8vIHJldHVybiB4ICsgeTsKCWZyYW1lX2RpZyAtMSAvLyB4OiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyB5OiB1aW50NjQKCSsKCXJldHN1YgoKLy8gYWJpQWRkKHVpbnQ2NCx1aW50NjQpdWludDY0CmFiaV9yb3V0ZV9hYmlBZGQ6CgkvLyB5OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyB4OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGFiaUFkZCh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBhYmlBZGQKCWludCAxCglyZXR1cm4KCmFiaUFkZDoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL25vbl9hYmkvbm9uX2FiaS5hbGdvLnRzOjEwCgkvLyByZXR1cm4gdGhpcy5hZGQoeCwgeSk7CglmcmFtZV9kaWcgLTIgLy8geTogdWludDY0CglmcmFtZV9kaWcgLTEgLy8geDogdWludDY0CgljYWxsc3ViIGFkZAoJaXRvYgoJYnl0ZSAweDE1MWY3Yzc1Cglzd2FwCgljb25jYXQKCWxvZwoJcmV0c3ViCgpub25BYmlBZGQ6Cglwcm90byAyIDAKCgkvLyBleGFtcGxlcy9ub25fYWJpL25vbl9hYmkuYWxnby50czoxNQoJLy8geCA9IGJ0b2kodGhpcy50eG4uYXBwbGljYXRpb25BcmdzIVswXSkKCXR4biBBcHBsaWNhdGlvbkFyZ3MgMAoJYnRvaQoJZnJhbWVfYnVyeSAtMSAvLyB4OiB1aW50NjQKCgkvLyBleGFtcGxlcy9ub25fYWJpL25vbl9hYmkuYWxnby50czoxNgoJLy8geSA9IGJ0b2kodGhpcy50eG4uYXBwbGljYXRpb25BcmdzIVsxXSkKCXR4biBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoJZnJhbWVfYnVyeSAtMiAvLyB5OiB1aW50NjQKCgkvLyBleGFtcGxlcy9ub25fYWJpL25vbl9hYmkuYWxnby50czoxNwoJLy8gbG9nKGl0b2IodGhpcy5hZGQoeCwgeSkpKQoJZnJhbWVfZGlnIC0yIC8vIHk6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIHg6IHVpbnQ2NAoJY2FsbHN1YiBhZGQKCWl0b2IKCWxvZwoJcmV0c3ViCgphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgpjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCBhYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCWVycgoKY2FsbF9Ob09wOgoJbWV0aG9kICJhYmlBZGQodWludDY0LHVpbnQ2NCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCBhYmlfcm91dGVfYWJpQWRkCgoJLy8gISEhISBXQVJOSU5HOiBub24tQUJJIHJvdXRpbmcKCWNhbGxzdWIgbm9uQWJpQWRk"
"approval": "I3ByYWdtYSB2ZXJzaW9uIDkKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuNTguMAovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vICEhISEgV0FSTklORzogVGhpcyBjb250cmFjdCBpcyAqTk9UKiBBUkM0IGNvbXBsaWFudC4gSXQgbWF5IGNvbnRhaW4gQUJJIG1ldGhvZHMsIGJ1dCBpdCBhbHNvIGFsbG93cyBhcHAgY2FsbHMgd2hlcmUgdGhlIGZpcnN0IGFyZ3VtZW50IGRvZXMgTk9UIG1hdGNoIGFuIEFCSSBzZWxlY3RvcgoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlcHNlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIk5PVF9JTVBMTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECmludCAwCj4KaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoIGNyZWF0ZV9Ob09wIE5PVF9JTVBMRU1FTlRFRCBOT1RfSU1QTEVNRU5URUQgTk9UX0lNUExFTUVOVEVEIE5PVF9JTVBMRU1FTlRFRCBOT1RfSU1QTEVNRU5URUQgY2FsbF9Ob09wCgpOT1RfSU1QTEVNRU5URUQ6CgllcnIKCmFkZDoKCXByb3RvIDIgMQoKCS8vIGV4YW1wbGVzL25vbl9hYmkvbm9uX2FiaS5hbGdvLnRzOjYKCS8vIHJldHVybiB4ICsgeTsKCWZyYW1lX2RpZyAtMSAvLyB4OiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyB5OiB1aW50NjQKCSsKCXJldHN1YgoKLy8gYWJpQWRkKHVpbnQ2NCx1aW50NjQpdWludDY0CmFiaV9yb3V0ZV9hYmlBZGQ6CgkvLyB5OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyB4OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGFiaUFkZCh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBhYmlBZGQKCWludCAxCglyZXR1cm4KCmFiaUFkZDoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL25vbl9hYmkvbm9uX2FiaS5hbGdvLnRzOjEwCgkvLyByZXR1cm4gdGhpcy5hZGQoeCwgeSk7CglmcmFtZV9kaWcgLTIgLy8geTogdWludDY0CglmcmFtZV9kaWcgLTEgLy8geDogdWludDY0CgljYWxsc3ViIGFkZAoJaXRvYgoJYnl0ZSAweDE1MWY3Yzc1Cglzd2FwCgljb25jYXQKCWxvZwoJcmV0c3ViCgpub25BYmlBZGQ6Cglwcm90byAyIDAKCgkvLyBleGFtcGxlcy9ub25fYWJpL25vbl9hYmkuYWxnby50czoxNQoJLy8geCA9IGJ0b2kodGhpcy50eG4uYXBwbGljYXRpb25BcmdzIVswXSkKCXR4biBBcHBsaWNhdGlvbkFyZ3MgMAoJYnRvaQoJZnJhbWVfYnVyeSAtMSAvLyB4OiB1aW50NjQKCgkvLyBleGFtcGxlcy9ub25fYWJpL25vbl9hYmkuYWxnby50czoxNgoJLy8geSA9IGJ0b2kodGhpcy50eG4uYXBwbGljYXRpb25BcmdzIVsxXSkKCXR4biBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoJZnJhbWVfYnVyeSAtMiAvLyB5OiB1aW50NjQKCgkvLyBleGFtcGxlcy9ub25fYWJpL25vbl9hYmkuYWxnby50czoxNwoJLy8gbG9nKGl0b2IodGhpcy5hZGQoeCwgeSkpKQoJZnJhbWVfZGlnIC0yIC8vIHk6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIHg6IHVpbnQ2NAoJY2FsbHN1YiBhZGQKCWl0b2IKCWxvZwoJcmV0c3ViCgphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgpjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCBhYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCWVycgoKY2FsbF9Ob09wOgoJbWV0aG9kICJhYmlBZGQodWludDY0LHVpbnQ2NCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCBhYmlfcm91dGVfYWJpQWRkCgoJLy8gISEhISBXQVJOSU5HOiBub24tQUJJIHJvdXRpbmcKCWNhbGxzdWIgbm9uQWJpQWRk",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDkKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuNTguMAovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vICEhISEgV0FSTklORzogVGhpcyBjb250cmFjdCBpcyAqTk9UKiBBUkM0IGNvbXBsaWFudC4gSXQgbWF5IGNvbnRhaW4gQUJJIG1ldGhvZHMsIGJ1dCBpdCBhbHNvIGFsbG93cyBhcHAgY2FsbHMgd2hlcmUgdGhlIGZpcnN0IGFyZ3VtZW50IGRvZXMgTk9UIG1hdGNoIGFuIEFCSSBzZWxlY3RvcgoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlcHNlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIk5PVF9JTVBMTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECmludCAwCj4KaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoIGNyZWF0ZV9Ob09wIE5PVF9JTVBMRU1FTlRFRCBOT1RfSU1QTEVNRU5URUQgTk9UX0lNUExFTUVOVEVEIE5PVF9JTVBMRU1FTlRFRCBOT1RfSU1QTEVNRU5URUQgY2FsbF9Ob09wCgpOT1RfSU1QTEVNRU5URUQ6CgllcnIKCmFkZDoKCXByb3RvIDIgMQoKCS8vIGV4YW1wbGVzL25vbl9hYmkvbm9uX2FiaS5hbGdvLnRzOjYKCS8vIHJldHVybiB4ICsgeTsKCWZyYW1lX2RpZyAtMSAvLyB4OiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyB5OiB1aW50NjQKCSsKCXJldHN1YgoKLy8gYWJpQWRkKHVpbnQ2NCx1aW50NjQpdWludDY0CmFiaV9yb3V0ZV9hYmlBZGQ6CgkvLyB5OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyB4OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGFiaUFkZCh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBhYmlBZGQKCWludCAxCglyZXR1cm4KCmFiaUFkZDoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL25vbl9hYmkvbm9uX2FiaS5hbGdvLnRzOjEwCgkvLyByZXR1cm4gdGhpcy5hZGQoeCwgeSk7CglmcmFtZV9kaWcgLTIgLy8geTogdWludDY0CglmcmFtZV9kaWcgLTEgLy8geDogdWludDY0CgljYWxsc3ViIGFkZAoJaXRvYgoJYnl0ZSAweDE1MWY3Yzc1Cglzd2FwCgljb25jYXQKCWxvZwoJcmV0c3ViCgpub25BYmlBZGQ6Cglwcm90byAyIDAKCgkvLyBleGFtcGxlcy9ub25fYWJpL25vbl9hYmkuYWxnby50czoxNQoJLy8geCA9IGJ0b2kodGhpcy50eG4uYXBwbGljYXRpb25BcmdzIVswXSkKCXR4biBBcHBsaWNhdGlvbkFyZ3MgMAoJYnRvaQoJZnJhbWVfYnVyeSAtMSAvLyB4OiB1aW50NjQKCgkvLyBleGFtcGxlcy9ub25fYWJpL25vbl9hYmkuYWxnby50czoxNgoJLy8geSA9IGJ0b2kodGhpcy50eG4uYXBwbGljYXRpb25BcmdzIVsxXSkKCXR4biBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoJZnJhbWVfYnVyeSAtMiAvLyB5OiB1aW50NjQKCgkvLyBleGFtcGxlcy9ub25fYWJpL25vbl9hYmkuYWxnby50czoxNwoJLy8gbG9nKGl0b2IodGhpcy5hZGQoeCwgeSkpKQoJZnJhbWVfZGlnIC0yIC8vIHk6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIHg6IHVpbnQ2NAoJY2FsbHN1YiBhZGQKCWl0b2IKCWxvZwoJcmV0c3ViCgphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnQgMQoJcmV0dXJuCgpjcmVhdGVfTm9PcDoKCW1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCBhYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCWVycgoKY2FsbF9Ob09wOgoJbWV0aG9kICJhYmlBZGQodWludDY0LHVpbnQ2NCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCBhYmlfcm91dGVfYWJpQWRkCgoJLy8gISEhISBXQVJOSU5HOiBub24tQUJJIHJvdXRpbmcKCWNhbGxzdWIgbm9uQWJpQWRk"
},
"contract": {
"name": "NonABIExample",
Expand Down
Loading

0 comments on commit cca9a91

Please sign in to comment.