Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Increment PyTeal version and remove AlgoExplorer #241

Merged
merged 7 commits into from
Sep 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
155 changes: 60 additions & 95 deletions beaker/application.py

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions beaker/consts.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
#: Used for runtime algo calculations `Txn.fee()==MilliAlgo`
MilliAlgo: Final[Int] = Int(milli_algo)


#: Used for shorthand for Int(10*algo) like Algos(10)
def Algos(v: int | float) -> Int: # noqa: N802
return Int(int(v * algo))
Expand Down
15 changes: 5 additions & 10 deletions beaker/lib/storage/blob.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,21 +52,16 @@ def _offset_for_idx(idx: Expr) -> Expr:
return idx % BLOB_PAGE_SIZE

@abstractmethod
def zero(self) -> Expr:
...
def zero(self) -> Expr: ...

@abstractmethod
def get_byte(self, idx: Int) -> Expr:
...
def get_byte(self, idx: Int) -> Expr: ...

@abstractmethod
def set_byte(self, idx: Int, byte: Expr) -> Expr:
...
def set_byte(self, idx: Int, byte: Expr) -> Expr: ...

@abstractmethod
def read(self, bstart: Expr, bstop: Expr) -> Expr:
...
def read(self, bstart: Expr, bstop: Expr) -> Expr: ...

@abstractmethod
def write(self, bstart: Expr, buff: Expr) -> Expr:
...
def write(self, bstart: Expr, buff: Expr) -> Expr: ...
8 changes: 5 additions & 3 deletions beaker/precompile.py
Original file line number Diff line number Diff line change
Expand Up @@ -199,9 +199,11 @@ def populate_template_expr(self, **kwargs: Expr) -> Expr:
arg = kwargs[name]
require_type(arg, TealType.bytes if tv.is_bytes else TealType.uint64)
populate_program += [
curr_val.store(Concat(EncodeUVarInt(Len(arg)), arg))
if tv.is_bytes
else curr_val.store(EncodeUVarInt(arg)),
(
curr_val.store(Concat(EncodeUVarInt(Len(arg)), arg))
if tv.is_bytes
else curr_val.store(EncodeUVarInt(arg))
),
buff.store(
Concat(
buff.load(),
Expand Down
15 changes: 5 additions & 10 deletions beaker/state/_abc.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,28 +11,23 @@ class AppSpecSchemaFragment(NamedTuple):

class StateStorage(ABC):
@abstractmethod
def app_spec_json(self) -> AppSpecSchemaFragment | None:
...
def app_spec_json(self) -> AppSpecSchemaFragment | None: ...

@abstractmethod
def num_keys(self) -> int:
...
def num_keys(self) -> int: ...

@abstractmethod
def value_type(self) -> Literal[TealType.bytes, TealType.uint64]:
...
def value_type(self) -> Literal[TealType.bytes, TealType.uint64]: ...


class GlobalStateStorage(StateStorage):
@abstractmethod
def initialize(self) -> Expr | None:
...
def initialize(self) -> Expr | None: ...


class LocalStateStorage(StateStorage):
@abstractmethod
def initialize(self, acct: Expr) -> Expr | None:
...
def initialize(self, acct: Expr) -> Expr | None: ...


# class BoxStorage(ABC):
Expand Down
3 changes: 1 addition & 2 deletions beaker/state/primitive.py
Original file line number Diff line number Diff line change
Expand Up @@ -111,8 +111,7 @@ def __teal__(self, options: CompileOptions) -> tuple[TealBlock, TealSimpleBlock]
return self.get().__teal__(options)

@abstractmethod
def __str__(self) -> str:
...
def __str__(self) -> str: ...

def str_key(self) -> str:
"""returns the string held by the key Bytes object"""
Expand Down
3 changes: 1 addition & 2 deletions beaker/state/reserved.py
Original file line number Diff line number Diff line change
Expand Up @@ -94,8 +94,7 @@ def __getitem__(self, key_seed: Expr | abi.BaseType) -> ST:
return self._get_state_for_key(key)

@abstractmethod
def _get_state_for_key(self, key: Expr) -> ST:
...
def _get_state_for_key(self, key: Expr) -> ST: ...

def num_keys(self) -> int:
return self.max_keys
Expand Down
1 change: 1 addition & 0 deletions examples/account_storage/disk_hungry.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
build_options=beaker.BuildOptions(avm_version=8),
)


# App that needs lots of storage so we use the local storage of
# unique lsig accounts that have been rekeyed to the app address.
# This allows us to use the local storage of the unique accounts
Expand Down
4 changes: 2 additions & 2 deletions examples/amm/ConstantProductAMM.artifacts/application.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion examples/amm/ConstantProductAMM.artifacts/approval.teal
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#pragma version 8
#pragma version 10
intcblock 0 1 1000 4 10000000000
bytecblock 0x61 0x62 0x70 0x67 0x72
txn NumAppArgs
Expand Down
2 changes: 1 addition & 1 deletion examples/amm/ConstantProductAMM.artifacts/clear.teal
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#pragma version 8
#pragma version 10
pushint 0 // 0
return
2 changes: 1 addition & 1 deletion examples/amm/amm.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

# WARNING: This code is provided for example only. Do NOT deploy to mainnet.

pt.pragma(compiler_version="^0.24.0")
pt.pragma(compiler_version="^0.26.1")


def commented_assert(conditions: list[tuple[pt.Expr, str]]) -> list[pt.Expr]:
Expand Down
8 changes: 5 additions & 3 deletions examples/amm/amm_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -686,9 +686,11 @@ def valid_asset_xfer(key: str) -> XS:
wrong_receiver(mint(), key),
),
(
amm.Errors.AssetAIncorrect
if key == "a_xfer"
else amm.Errors.AssetBIncorrect,
(
amm.Errors.AssetAIncorrect
if key == "a_xfer"
else amm.Errors.AssetBIncorrect
),
override_axfer_asset(
mint(), key, b_asset if key == "a_xfer" else a_asset
),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@
}
},
"source": {
"approval": "I3ByYWdtYSB2ZXJzaW9uIDgKaW50Y2Jsb2NrIDAgMQpieXRlY2Jsb2NrIDB4MTUxZjdjNzUKdHhuIE51bUFwcEFyZ3MKaW50Y18wIC8vIDAKPT0KYm56IG1haW5fbDEwCnR4bmEgQXBwbGljYXRpb25BcmdzIDAKcHVzaGJ5dGVzIDB4ZmU2YmRmNjkgLy8gImFkZCh1aW50NjQsdWludDY0KXVpbnQ2NCIKPT0KYm56IG1haW5fbDkKdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMApwdXNoYnl0ZXMgMHg3OGI0ODhiNyAvLyAic3ViKHVpbnQ2NCx1aW50NjQpdWludDY0Igo9PQpibnogbWFpbl9sOAp0eG5hIEFwcGxpY2F0aW9uQXJncyAwCnB1c2hieXRlcyAweDE2ZTgwZjA4IC8vICJkaXYodWludDY0LHVpbnQ2NCl1aW50NjQiCj09CmJueiBtYWluX2w3CnR4bmEgQXBwbGljYXRpb25BcmdzIDAKcHVzaGJ5dGVzIDB4ZTJmMTg4YzUgLy8gIm11bCh1aW50NjQsdWludDY0KXVpbnQ2NCIKPT0KYm56IG1haW5fbDYKZXJyCm1haW5fbDY6CnR4biBPbkNvbXBsZXRpb24KaW50Y18wIC8vIE5vT3AKPT0KdHhuIEFwcGxpY2F0aW9uSUQKaW50Y18wIC8vIDAKIT0KJiYKYXNzZXJ0CmNhbGxzdWIgbXVsY2FzdGVyXzMKaW50Y18xIC8vIDEKcmV0dXJuCm1haW5fbDc6CnR4biBPbkNvbXBsZXRpb24KaW50Y18wIC8vIE5vT3AKPT0KdHhuIEFwcGxpY2F0aW9uSUQKaW50Y18wIC8vIDAKIT0KJiYKYXNzZXJ0CmNhbGxzdWIgZGl2Y2FzdGVyXzIKaW50Y18xIC8vIDEKcmV0dXJuCm1haW5fbDg6CnR4biBPbkNvbXBsZXRpb24KaW50Y18wIC8vIE5vT3AKPT0KdHhuIEFwcGxpY2F0aW9uSUQKaW50Y18wIC8vIDAKIT0KJiYKYXNzZXJ0CmNhbGxzdWIgc3ViY2FzdGVyXzEKaW50Y18xIC8vIDEKcmV0dXJuCm1haW5fbDk6CnR4biBPbkNvbXBsZXRpb24KaW50Y18wIC8vIE5vT3AKPT0KdHhuIEFwcGxpY2F0aW9uSUQKaW50Y18wIC8vIDAKIT0KJiYKYXNzZXJ0CmNhbGxzdWIgYWRkY2FzdGVyXzAKaW50Y18xIC8vIDEKcmV0dXJuCm1haW5fbDEwOgp0eG4gT25Db21wbGV0aW9uCmludGNfMCAvLyBOb09wCj09CmJueiBtYWluX2wxMgplcnIKbWFpbl9sMTI6CnR4biBBcHBsaWNhdGlvbklECmludGNfMCAvLyAwCj09CmFzc2VydAppbnRjXzEgLy8gMQpyZXR1cm4KCi8vIGFkZF9jYXN0ZXIKYWRkY2FzdGVyXzA6CnByb3RvIDAgMAppbnRjXzAgLy8gMApkdXBuIDIKdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQpidG9pCmZyYW1lX2J1cnkgMQp0eG5hIEFwcGxpY2F0aW9uQXJncyAyCmJ0b2kKZnJhbWVfYnVyeSAyCmZyYW1lX2RpZyAxCmZyYW1lX2RpZyAyCmNhbGxzdWIgYWRkXzQKZnJhbWVfYnVyeSAwCmJ5dGVjXzAgLy8gMHgxNTFmN2M3NQpmcmFtZV9kaWcgMAppdG9iCmNvbmNhdApsb2cKcmV0c3ViCgovLyBzdWJfY2FzdGVyCnN1YmNhc3Rlcl8xOgpwcm90byAwIDAKaW50Y18wIC8vIDAKZHVwbiAyCnR4bmEgQXBwbGljYXRpb25BcmdzIDEKYnRvaQpmcmFtZV9idXJ5IDEKdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgpidG9pCmZyYW1lX2J1cnkgMgpmcmFtZV9kaWcgMQpmcmFtZV9kaWcgMgpjYWxsc3ViIHN1Yl81CmZyYW1lX2J1cnkgMApieXRlY18wIC8vIDB4MTUxZjdjNzUKZnJhbWVfZGlnIDAKaXRvYgpjb25jYXQKbG9nCnJldHN1YgoKLy8gZGl2X2Nhc3RlcgpkaXZjYXN0ZXJfMjoKcHJvdG8gMCAwCmludGNfMCAvLyAwCmR1cG4gMgp0eG5hIEFwcGxpY2F0aW9uQXJncyAxCmJ0b2kKZnJhbWVfYnVyeSAxCnR4bmEgQXBwbGljYXRpb25BcmdzIDIKYnRvaQpmcmFtZV9idXJ5IDIKZnJhbWVfZGlnIDEKZnJhbWVfZGlnIDIKY2FsbHN1YiBkaXZfNgpmcmFtZV9idXJ5IDAKYnl0ZWNfMCAvLyAweDE1MWY3Yzc1CmZyYW1lX2RpZyAwCml0b2IKY29uY2F0CmxvZwpyZXRzdWIKCi8vIG11bF9jYXN0ZXIKbXVsY2FzdGVyXzM6CnByb3RvIDAgMAppbnRjXzAgLy8gMApkdXBuIDIKdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQpidG9pCmZyYW1lX2J1cnkgMQp0eG5hIEFwcGxpY2F0aW9uQXJncyAyCmJ0b2kKZnJhbWVfYnVyeSAyCmZyYW1lX2RpZyAxCmZyYW1lX2RpZyAyCmNhbGxzdWIgbXVsXzcKZnJhbWVfYnVyeSAwCmJ5dGVjXzAgLy8gMHgxNTFmN2M3NQpmcmFtZV9kaWcgMAppdG9iCmNvbmNhdApsb2cKcmV0c3ViCgovLyBhZGQKYWRkXzQ6CnByb3RvIDIgMQppbnRjXzAgLy8gMApmcmFtZV9kaWcgLTIKZnJhbWVfZGlnIC0xCisKZnJhbWVfYnVyeSAwCnJldHN1YgoKLy8gc3ViCnN1Yl81Ogpwcm90byAyIDEKaW50Y18wIC8vIDAKZnJhbWVfZGlnIC0yCmZyYW1lX2RpZyAtMQotCmZyYW1lX2J1cnkgMApyZXRzdWIKCi8vIGRpdgpkaXZfNjoKcHJvdG8gMiAxCmludGNfMCAvLyAwCmZyYW1lX2RpZyAtMgpmcmFtZV9kaWcgLTEKLwpmcmFtZV9idXJ5IDAKcmV0c3ViCgovLyBtdWwKbXVsXzc6CnByb3RvIDIgMQppbnRjXzAgLy8gMApmcmFtZV9kaWcgLTIKZnJhbWVfZGlnIC0xCioKZnJhbWVfYnVyeSAwCnJldHN1Yg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDgKcHVzaGludCAwIC8vIDAKcmV0dXJu"
"approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEKYnl0ZWNibG9jayAweDE1MWY3Yzc1CnR4biBOdW1BcHBBcmdzCmludGNfMCAvLyAwCj09CmJueiBtYWluX2wxMAp0eG5hIEFwcGxpY2F0aW9uQXJncyAwCnB1c2hieXRlcyAweGZlNmJkZjY5IC8vICJhZGQodWludDY0LHVpbnQ2NCl1aW50NjQiCj09CmJueiBtYWluX2w5CnR4bmEgQXBwbGljYXRpb25BcmdzIDAKcHVzaGJ5dGVzIDB4NzhiNDg4YjcgLy8gInN1Yih1aW50NjQsdWludDY0KXVpbnQ2NCIKPT0KYm56IG1haW5fbDgKdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMApwdXNoYnl0ZXMgMHgxNmU4MGYwOCAvLyAiZGl2KHVpbnQ2NCx1aW50NjQpdWludDY0Igo9PQpibnogbWFpbl9sNwp0eG5hIEFwcGxpY2F0aW9uQXJncyAwCnB1c2hieXRlcyAweGUyZjE4OGM1IC8vICJtdWwodWludDY0LHVpbnQ2NCl1aW50NjQiCj09CmJueiBtYWluX2w2CmVycgptYWluX2w2Ogp0eG4gT25Db21wbGV0aW9uCmludGNfMCAvLyBOb09wCj09CnR4biBBcHBsaWNhdGlvbklECmludGNfMCAvLyAwCiE9CiYmCmFzc2VydApjYWxsc3ViIG11bGNhc3Rlcl8zCmludGNfMSAvLyAxCnJldHVybgptYWluX2w3Ogp0eG4gT25Db21wbGV0aW9uCmludGNfMCAvLyBOb09wCj09CnR4biBBcHBsaWNhdGlvbklECmludGNfMCAvLyAwCiE9CiYmCmFzc2VydApjYWxsc3ViIGRpdmNhc3Rlcl8yCmludGNfMSAvLyAxCnJldHVybgptYWluX2w4Ogp0eG4gT25Db21wbGV0aW9uCmludGNfMCAvLyBOb09wCj09CnR4biBBcHBsaWNhdGlvbklECmludGNfMCAvLyAwCiE9CiYmCmFzc2VydApjYWxsc3ViIHN1YmNhc3Rlcl8xCmludGNfMSAvLyAxCnJldHVybgptYWluX2w5Ogp0eG4gT25Db21wbGV0aW9uCmludGNfMCAvLyBOb09wCj09CnR4biBBcHBsaWNhdGlvbklECmludGNfMCAvLyAwCiE9CiYmCmFzc2VydApjYWxsc3ViIGFkZGNhc3Rlcl8wCmludGNfMSAvLyAxCnJldHVybgptYWluX2wxMDoKdHhuIE9uQ29tcGxldGlvbgppbnRjXzAgLy8gTm9PcAo9PQpibnogbWFpbl9sMTIKZXJyCm1haW5fbDEyOgp0eG4gQXBwbGljYXRpb25JRAppbnRjXzAgLy8gMAo9PQphc3NlcnQKaW50Y18xIC8vIDEKcmV0dXJuCgovLyBhZGRfY2FzdGVyCmFkZGNhc3Rlcl8wOgpwcm90byAwIDAKaW50Y18wIC8vIDAKZHVwbiAyCnR4bmEgQXBwbGljYXRpb25BcmdzIDEKYnRvaQpmcmFtZV9idXJ5IDEKdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgpidG9pCmZyYW1lX2J1cnkgMgpmcmFtZV9kaWcgMQpmcmFtZV9kaWcgMgpjYWxsc3ViIGFkZF80CmZyYW1lX2J1cnkgMApieXRlY18wIC8vIDB4MTUxZjdjNzUKZnJhbWVfZGlnIDAKaXRvYgpjb25jYXQKbG9nCnJldHN1YgoKLy8gc3ViX2Nhc3RlcgpzdWJjYXN0ZXJfMToKcHJvdG8gMCAwCmludGNfMCAvLyAwCmR1cG4gMgp0eG5hIEFwcGxpY2F0aW9uQXJncyAxCmJ0b2kKZnJhbWVfYnVyeSAxCnR4bmEgQXBwbGljYXRpb25BcmdzIDIKYnRvaQpmcmFtZV9idXJ5IDIKZnJhbWVfZGlnIDEKZnJhbWVfZGlnIDIKY2FsbHN1YiBzdWJfNQpmcmFtZV9idXJ5IDAKYnl0ZWNfMCAvLyAweDE1MWY3Yzc1CmZyYW1lX2RpZyAwCml0b2IKY29uY2F0CmxvZwpyZXRzdWIKCi8vIGRpdl9jYXN0ZXIKZGl2Y2FzdGVyXzI6CnByb3RvIDAgMAppbnRjXzAgLy8gMApkdXBuIDIKdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQpidG9pCmZyYW1lX2J1cnkgMQp0eG5hIEFwcGxpY2F0aW9uQXJncyAyCmJ0b2kKZnJhbWVfYnVyeSAyCmZyYW1lX2RpZyAxCmZyYW1lX2RpZyAyCmNhbGxzdWIgZGl2XzYKZnJhbWVfYnVyeSAwCmJ5dGVjXzAgLy8gMHgxNTFmN2M3NQpmcmFtZV9kaWcgMAppdG9iCmNvbmNhdApsb2cKcmV0c3ViCgovLyBtdWxfY2FzdGVyCm11bGNhc3Rlcl8zOgpwcm90byAwIDAKaW50Y18wIC8vIDAKZHVwbiAyCnR4bmEgQXBwbGljYXRpb25BcmdzIDEKYnRvaQpmcmFtZV9idXJ5IDEKdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgpidG9pCmZyYW1lX2J1cnkgMgpmcmFtZV9kaWcgMQpmcmFtZV9kaWcgMgpjYWxsc3ViIG11bF83CmZyYW1lX2J1cnkgMApieXRlY18wIC8vIDB4MTUxZjdjNzUKZnJhbWVfZGlnIDAKaXRvYgpjb25jYXQKbG9nCnJldHN1YgoKLy8gYWRkCmFkZF80Ogpwcm90byAyIDEKaW50Y18wIC8vIDAKZnJhbWVfZGlnIC0yCmZyYW1lX2RpZyAtMQorCmZyYW1lX2J1cnkgMApyZXRzdWIKCi8vIHN1YgpzdWJfNToKcHJvdG8gMiAxCmludGNfMCAvLyAwCmZyYW1lX2RpZyAtMgpmcmFtZV9kaWcgLTEKLQpmcmFtZV9idXJ5IDAKcmV0c3ViCgovLyBkaXYKZGl2XzY6CnByb3RvIDIgMQppbnRjXzAgLy8gMApmcmFtZV9kaWcgLTIKZnJhbWVfZGlnIC0xCi8KZnJhbWVfYnVyeSAwCnJldHN1YgoKLy8gbXVsCm11bF83Ogpwcm90byAyIDEKaW50Y18wIC8vIDAKZnJhbWVfZGlnIC0yCmZyYW1lX2RpZyAtMQoqCmZyYW1lX2J1cnkgMApyZXRzdWI=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEwCnB1c2hpbnQgMCAvLyAwCnJldHVybg=="
},
"state": {
"global": {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#pragma version 8
#pragma version 10
intcblock 0 1
bytecblock 0x151f7c75
txn NumAppArgs
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#pragma version 8
#pragma version 10
pushint 0 // 0
return
1 change: 1 addition & 0 deletions examples/blueprint/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ def add(a: abi.Uint64, b: abi.Uint64, *, output: abi.Uint64) -> Expr:

app = Application("BlueprintExampleNoArgs").apply(add_blueprint)


# A blueprint that adds a method named `addN` to the external
# methods of the Application passed
def add_n_blueprint(app: Application, n: int) -> None:
Expand Down
4 changes: 2 additions & 2 deletions examples/boxen/AppMember.artifacts/application.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@
}
},
"source": {
"approval": "I3ByYWdtYSB2ZXJzaW9uIDgKaW50Y2Jsb2NrIDAgMQpieXRlY2Jsb2NrIDB4NjM2Yzc1NjI1ZjYxNzA3MDVmNjk2NAp0eG4gTnVtQXBwQXJncwppbnRjXzAgLy8gMAo9PQpibnogbWFpbl9sNgp0eG5hIEFwcGxpY2F0aW9uQXJncyAwCnB1c2hieXRlcyAweGQ3OWE5MjBmIC8vICJib290c3RyYXAocGF5LGFwcGxpY2F0aW9uLGFzc2V0KXZvaWQiCj09CmJueiBtYWluX2w1CnR4bmEgQXBwbGljYXRpb25BcmdzIDAKcHVzaGJ5dGVzIDB4ZjI2MWQ5NzMgLy8gImdldF9hZmZpcm1hdGlvbihhc3NldCxhcHBsaWNhdGlvbil2b2lkIgo9PQpibnogbWFpbl9sNAplcnIKbWFpbl9sNDoKdHhuIE9uQ29tcGxldGlvbgppbnRjXzAgLy8gTm9PcAo9PQp0eG4gQXBwbGljYXRpb25JRAppbnRjXzAgLy8gMAohPQomJgphc3NlcnQKY2FsbHN1YiBnZXRhZmZpcm1hdGlvbmNhc3Rlcl8xCmludGNfMSAvLyAxCnJldHVybgptYWluX2w1Ogp0eG4gT25Db21wbGV0aW9uCmludGNfMCAvLyBOb09wCj09CnR4biBBcHBsaWNhdGlvbklECmludGNfMCAvLyAwCiE9CiYmCmFzc2VydApjYWxsc3ViIGJvb3RzdHJhcGNhc3Rlcl8wCmludGNfMSAvLyAxCnJldHVybgptYWluX2w2Ogp0eG4gT25Db21wbGV0aW9uCmludGNfMCAvLyBOb09wCj09CmJueiBtYWluX2w4CmVycgptYWluX2w4Ogp0eG4gQXBwbGljYXRpb25JRAppbnRjXzAgLy8gMAo9PQphc3NlcnQKaW50Y18xIC8vIDEKcmV0dXJuCgovLyBib290c3RyYXBfY2FzdGVyCmJvb3RzdHJhcGNhc3Rlcl8wOgpwcm90byAwIDAKaW50Y18wIC8vIDAKZHVwbiAyCnR4bmEgQXBwbGljYXRpb25BcmdzIDEKaW50Y18wIC8vIDAKZ2V0Ynl0ZQpmcmFtZV9idXJ5IDEKdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgppbnRjXzAgLy8gMApnZXRieXRlCmZyYW1lX2J1cnkgMgp0eG4gR3JvdXBJbmRleAppbnRjXzEgLy8gMQotCmZyYW1lX2J1cnkgMApmcmFtZV9kaWcgMApndHhucyBUeXBlRW51bQppbnRjXzEgLy8gcGF5Cj09CmFzc2VydApmcmFtZV9kaWcgMApmcmFtZV9kaWcgMQpmcmFtZV9kaWcgMgpjYWxsc3ViIGJvb3RzdHJhcF8yCnJldHN1YgoKLy8gZ2V0X2FmZmlybWF0aW9uX2Nhc3RlcgpnZXRhZmZpcm1hdGlvbmNhc3Rlcl8xOgpwcm90byAwIDAKaW50Y18wIC8vIDAKZHVwCnR4bmEgQXBwbGljYXRpb25BcmdzIDEKaW50Y18wIC8vIDAKZ2V0Ynl0ZQpmcmFtZV9idXJ5IDAKdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgppbnRjXzAgLy8gMApnZXRieXRlCmZyYW1lX2J1cnkgMQpmcmFtZV9kaWcgMApmcmFtZV9kaWcgMQpjYWxsc3ViIGdldGFmZmlybWF0aW9uXzMKcmV0c3ViCgovLyBib290c3RyYXAKYm9vdHN0cmFwXzI6CnByb3RvIDMgMAp0eG4gU2VuZGVyCmdsb2JhbCBDcmVhdG9yQWRkcmVzcwo9PQovLyB1bmF1dGhvcml6ZWQKYXNzZXJ0CmJ5dGVjXzAgLy8gImNsdWJfYXBwX2lkIgpmcmFtZV9kaWcgLTIKdHhuYXMgQXBwbGljYXRpb25zCmFwcF9nbG9iYWxfcHV0CnB1c2hieXRlcyAweDZkNjU2ZDYyNjU3MjczNjg2OTcwNWY3NDZmNmI2NTZlIC8vICJtZW1iZXJzaGlwX3Rva2VuIgpmcmFtZV9kaWcgLTEKdHhuYXMgQXNzZXRzCmFwcF9nbG9iYWxfcHV0Cml0eG5fYmVnaW4KcHVzaGludCA0IC8vIGF4ZmVyCml0eG5fZmllbGQgVHlwZUVudW0KZnJhbWVfZGlnIC0xCnR4bmFzIEFzc2V0cwppdHhuX2ZpZWxkIFhmZXJBc3NldAppbnRjXzAgLy8gMAppdHhuX2ZpZWxkIEFzc2V0QW1vdW50Cmdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCml0eG5fZmllbGQgQXNzZXRSZWNlaXZlcgppbnRjXzAgLy8gMAppdHhuX2ZpZWxkIEZlZQppdHhuX3N1Ym1pdApyZXRzdWIKCi8vIGdldF9hZmZpcm1hdGlvbgpnZXRhZmZpcm1hdGlvbl8zOgpwcm90byAyIDAKaXR4bl9iZWdpbgpwdXNoaW50IDYgLy8gYXBwbAppdHhuX2ZpZWxkIFR5cGVFbnVtCmJ5dGVjXzAgLy8gImNsdWJfYXBwX2lkIgphcHBfZ2xvYmFsX2dldAppdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKZnJhbWVfZGlnIC0yCnR4bmFzIEFzc2V0cwppdHhuX2ZpZWxkIEFzc2V0cwpwdXNoYnl0ZXMgMHhkMTFhNWQ0ZiAvLyAiZ2V0X2FmZmlybWF0aW9uKGFzc2V0KWJ5dGVbNjRdIgppdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwpwdXNoYnl0ZXMgMHgwMCAvLyAweDAwCml0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCml0eG5fc3VibWl0CnB1c2hieXRlcyAweDZjNjE3Mzc0NWY2MTY2NjY2OTcyNmQ2MTc0Njk2ZjZlIC8vICJsYXN0X2FmZmlybWF0aW9uIgppdHhuIExhc3RMb2cKZXh0cmFjdCA0IDAKYXBwX2dsb2JhbF9wdXQKcmV0c3Vi",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDgKcHVzaGludCAwIC8vIDAKcmV0dXJu"
"approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEKYnl0ZWNibG9jayAweDYzNmM3NTYyNWY2MTcwNzA1ZjY5NjQKdHhuIE51bUFwcEFyZ3MKaW50Y18wIC8vIDAKPT0KYm56IG1haW5fbDYKdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMApwdXNoYnl0ZXMgMHhkNzlhOTIwZiAvLyAiYm9vdHN0cmFwKHBheSxhcHBsaWNhdGlvbixhc3NldCl2b2lkIgo9PQpibnogbWFpbl9sNQp0eG5hIEFwcGxpY2F0aW9uQXJncyAwCnB1c2hieXRlcyAweGYyNjFkOTczIC8vICJnZXRfYWZmaXJtYXRpb24oYXNzZXQsYXBwbGljYXRpb24pdm9pZCIKPT0KYm56IG1haW5fbDQKZXJyCm1haW5fbDQ6CnR4biBPbkNvbXBsZXRpb24KaW50Y18wIC8vIE5vT3AKPT0KdHhuIEFwcGxpY2F0aW9uSUQKaW50Y18wIC8vIDAKIT0KJiYKYXNzZXJ0CmNhbGxzdWIgZ2V0YWZmaXJtYXRpb25jYXN0ZXJfMQppbnRjXzEgLy8gMQpyZXR1cm4KbWFpbl9sNToKdHhuIE9uQ29tcGxldGlvbgppbnRjXzAgLy8gTm9PcAo9PQp0eG4gQXBwbGljYXRpb25JRAppbnRjXzAgLy8gMAohPQomJgphc3NlcnQKY2FsbHN1YiBib290c3RyYXBjYXN0ZXJfMAppbnRjXzEgLy8gMQpyZXR1cm4KbWFpbl9sNjoKdHhuIE9uQ29tcGxldGlvbgppbnRjXzAgLy8gTm9PcAo9PQpibnogbWFpbl9sOAplcnIKbWFpbl9sODoKdHhuIEFwcGxpY2F0aW9uSUQKaW50Y18wIC8vIDAKPT0KYXNzZXJ0CmludGNfMSAvLyAxCnJldHVybgoKLy8gYm9vdHN0cmFwX2Nhc3Rlcgpib290c3RyYXBjYXN0ZXJfMDoKcHJvdG8gMCAwCmludGNfMCAvLyAwCmR1cG4gMgp0eG5hIEFwcGxpY2F0aW9uQXJncyAxCmludGNfMCAvLyAwCmdldGJ5dGUKZnJhbWVfYnVyeSAxCnR4bmEgQXBwbGljYXRpb25BcmdzIDIKaW50Y18wIC8vIDAKZ2V0Ynl0ZQpmcmFtZV9idXJ5IDIKdHhuIEdyb3VwSW5kZXgKaW50Y18xIC8vIDEKLQpmcmFtZV9idXJ5IDAKZnJhbWVfZGlnIDAKZ3R4bnMgVHlwZUVudW0KaW50Y18xIC8vIHBheQo9PQphc3NlcnQKZnJhbWVfZGlnIDAKZnJhbWVfZGlnIDEKZnJhbWVfZGlnIDIKY2FsbHN1YiBib290c3RyYXBfMgpyZXRzdWIKCi8vIGdldF9hZmZpcm1hdGlvbl9jYXN0ZXIKZ2V0YWZmaXJtYXRpb25jYXN0ZXJfMToKcHJvdG8gMCAwCmludGNfMCAvLyAwCmR1cAp0eG5hIEFwcGxpY2F0aW9uQXJncyAxCmludGNfMCAvLyAwCmdldGJ5dGUKZnJhbWVfYnVyeSAwCnR4bmEgQXBwbGljYXRpb25BcmdzIDIKaW50Y18wIC8vIDAKZ2V0Ynl0ZQpmcmFtZV9idXJ5IDEKZnJhbWVfZGlnIDAKZnJhbWVfZGlnIDEKY2FsbHN1YiBnZXRhZmZpcm1hdGlvbl8zCnJldHN1YgoKLy8gYm9vdHN0cmFwCmJvb3RzdHJhcF8yOgpwcm90byAzIDAKdHhuIFNlbmRlcgpnbG9iYWwgQ3JlYXRvckFkZHJlc3MKPT0KLy8gdW5hdXRob3JpemVkCmFzc2VydApieXRlY18wIC8vICJjbHViX2FwcF9pZCIKZnJhbWVfZGlnIC0yCnR4bmFzIEFwcGxpY2F0aW9ucwphcHBfZ2xvYmFsX3B1dApwdXNoYnl0ZXMgMHg2ZDY1NmQ2MjY1NzI3MzY4Njk3MDVmNzQ2ZjZiNjU2ZSAvLyAibWVtYmVyc2hpcF90b2tlbiIKZnJhbWVfZGlnIC0xCnR4bmFzIEFzc2V0cwphcHBfZ2xvYmFsX3B1dAppdHhuX2JlZ2luCnB1c2hpbnQgNCAvLyBheGZlcgppdHhuX2ZpZWxkIFR5cGVFbnVtCmZyYW1lX2RpZyAtMQp0eG5hcyBBc3NldHMKaXR4bl9maWVsZCBYZmVyQXNzZXQKaW50Y18wIC8vIDAKaXR4bl9maWVsZCBBc3NldEFtb3VudApnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwppdHhuX2ZpZWxkIEFzc2V0UmVjZWl2ZXIKaW50Y18wIC8vIDAKaXR4bl9maWVsZCBGZWUKaXR4bl9zdWJtaXQKcmV0c3ViCgovLyBnZXRfYWZmaXJtYXRpb24KZ2V0YWZmaXJtYXRpb25fMzoKcHJvdG8gMiAwCml0eG5fYmVnaW4KcHVzaGludCA2IC8vIGFwcGwKaXR4bl9maWVsZCBUeXBlRW51bQpieXRlY18wIC8vICJjbHViX2FwcF9pZCIKYXBwX2dsb2JhbF9nZXQKaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECmZyYW1lX2RpZyAtMgp0eG5hcyBBc3NldHMKaXR4bl9maWVsZCBBc3NldHMKcHVzaGJ5dGVzIDB4ZDExYTVkNGYgLy8gImdldF9hZmZpcm1hdGlvbihhc3NldClieXRlWzY0XSIKaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKcHVzaGJ5dGVzIDB4MDAgLy8gMHgwMAppdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwppdHhuX3N1Ym1pdApwdXNoYnl0ZXMgMHg2YzYxNzM3NDVmNjE2NjY2Njk3MjZkNjE3NDY5NmY2ZSAvLyAibGFzdF9hZmZpcm1hdGlvbiIKaXR4biBMYXN0TG9nCmV4dHJhY3QgNCAwCmFwcF9nbG9iYWxfcHV0CnJldHN1Yg==",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEwCnB1c2hpbnQgMCAvLyAwCnJldHVybg=="
},
"state": {
"global": {
Expand Down
2 changes: 1 addition & 1 deletion examples/boxen/AppMember.artifacts/approval.teal
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#pragma version 8
#pragma version 10
intcblock 0 1
bytecblock 0x636c75625f6170705f6964
txn NumAppArgs
Expand Down
2 changes: 1 addition & 1 deletion examples/boxen/AppMember.artifacts/clear.teal
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#pragma version 8
#pragma version 10
pushint 0 // 0
return
Loading
Loading