algopy.op
¶
Module Contents¶
Classes¶
X is field F from account A. Y is 1 if A owns positive algos, else 0
Native TEAL op: |
|
Get or modify Global app state
Native TEAL ops: |
|
Get or modify Local app state
Native TEAL ops: |
|
X is field F from app A. Y is 1 if A exists, else 0 params: Txn.ForeignApps offset or an available app id. Return: did_exist flag (1 if the application existed and 0 otherwise), value.
Native TEAL op: |
|
X is field F from account A’s holding of asset B. Y is 1 if A is opted into B, else 0 params: Txn.Accounts offset (or, since v4, an available address), asset id (or, since v4, a Txn.ForeignAssets offset). Return: did_exist flag (1 if the asset existed and 0 otherwise), value.
Native TEAL op: |
|
X is field F from asset A. Y is 1 if A exists, else 0 params: Txn.ForeignAssets offset (or, since v4, an available asset id. Return: did_exist flag (1 if the asset existed and 0 otherwise), value.
Native TEAL op: |
|
Available values for the |
|
field F of block A. Fail unless A falls between txn.LastValid-1002 and txn.FirstValid (exclusive)
Native TEAL op: |
|
Get or modify box state
Native TEAL ops: |
|
Available values for the |
|
Available values for the |
|
Elliptic Curve functions
Native TEAL ops: |
|
Get values for inner transaction in the last group submitted
Native TEAL ops: |
|
Get values for transactions in the current group
Native TEAL ops: |
|
Get Global values
Native TEAL op: |
|
Get values for the last inner transaction
Native TEAL ops: |
|
Create inner transactions
Native TEAL ops: |
|
key B’s value, of type R, from a valid utf-8 encoded json object A Warning: Usage should be restricted to very rare use cases, as JSON decoding is expensive and quite limited. In addition, JSON objects are large and not optimized for size. Almost all smart contracts should use simpler and smaller methods (such as the ABI. This opcode should only be used in cases where JSON is only available option, e.g. when a third-party only signs JSON.
Native TEAL op: |
|
Get values for the current executing transaction
Native TEAL ops: |
|
X is field F from online account A as of the balance round: 320 rounds before the current round. Y is 1 if A had positive algos online in the agreement round, else Y is 0 and X is a type specific zero-value
Native TEAL op: |
|
Available values for the |
Functions¶
A plus B as a 128-bit result. X is the carry-bit, Y is the low-order 64 bits. |
|
1 if account A is opted in to application B, else 0 params: Txn.Accounts offset (or, since v4, an available account address), available application id (or, since v4, a Txn.ForeignApps offset). Return: 1 if opted in and 0 otherwise. |
|
Ath LogicSig argument |
|
balance for account A, in microalgos. The balance is observed after the effects of previous transactions in the group, and after the fee for the current transaction is deducted. Changes caused by inner transactions are observable immediately following |
|
decode A which was base64-encoded using encoding E. Fail if A is not base64 encoded with encoding E Warning: Usage should be restricted to very rare use cases. In almost all cases, smart contracts should directly handle non-encoded byte-strings. This opcode should only be used in cases where base64 is the only available option, e.g. interoperability with a third-party that only signs base64 strings. |
|
The highest set bit in A. If A is a byte-array, it is interpreted as a big-endian unsigned integer. bitlen of 0 is 0, bitlen of 8 is 4 bitlen interprets arrays as big-endian integers, unlike setbit/getbit |
|
The largest integer I such that I^2 <= A. A and I are interpreted as big-endian unsigned integers |
|
converts big-endian byte array A to uint64. Fails if len(A) > 8. Padded by leading 0s if len(A) < 8.
|
|
zero filled byte-array of length A |
|
join A and B
|
|
W,X = (A,B / C,D); Y,Z = (A,B modulo C,D) The notation J,K indicates that two uint64 values J and K are interpreted as a uint128 value, with J as the high uint64 and K the low. |
|
A,B / C. Fail if C == 0 or if result overflows. The notation A,B indicates that A and B are interpreted as a uint128 value, with A as the high uint64 and B the low. |
|
decompress pubkey A into components X, Y The 33 byte public key in a compressed form to be decompressed into X and Y (top) components. All values are big-endian encoded. |
|
for (data A, recovery id B, signature C, D) recover a public key S (top) and R elements of a signature, recovery id and data (bottom) are expected on the stack and used to deriver a public key. All values are big-endian encoded. The signed data must be 32 bytes long. |
|
for (data A, signature B, C and pubkey D, E) verify the signature of the data against the pubkey => {0 or 1} The 32 byte Y-component of a public key is the last element on the stack, preceded by X-component of a pubkey, preceded by S and R components of a signature, preceded by the data that is fifth element on the stack. All values are big-endian encoded. The signed data must be 32 bytes long, and signatures in lower-S form are only accepted. |
|
for (data A, signature B, pubkey C) verify the signature of (“ProgData” || program_hash || data) against the pubkey => {0 or 1} The 32 byte public key is the last element on the stack, preceded by the 64 byte signature at the second-to-last element on the stack, preceded by the data which was signed at the third-to-last element on the stack. |
|
for (data A, signature B, pubkey C) verify the signature of the data against the pubkey => {0 or 1} |
|
Fail immediately. |
|
use A as success value; end |
|
A raised to the Bth power. Fail if A == B == 0 and on overflow |
|
A raised to the Bth power as a 128-bit result in two uint64s. X is the high 64 bits, Y is the low. Fail if A == B == 0 or if the results exceeds 2^128-1 |
|
A range of bytes from A starting at B up to but not including B+C. If B+C is larger than the array length, the program fails
|
|
A uint16 formed from a range of big-endian bytes from A starting at B up to but not including B+2. If B+2 is larger than the array length, the program fails |
|
A uint32 formed from a range of big-endian bytes from A starting at B up to but not including B+4. If B+4 is larger than the array length, the program fails |
|
A uint64 formed from a range of big-endian bytes from A starting at B up to but not including B+8. If B+8 is larger than the array length, the program fails |
|
for (data A, compressed-format signature B, pubkey C) verify the signature of data against the pubkey Min AVM version: 11 |
|
ID of the asset or application created in the Ath transaction of the current group
|
|
Bth bit of (byte-array or integer) A. If B is greater than or equal to the bit length of the value (8*byte length), the program fails see explanation of bit ordering in setbit |
|
Bth byte of A, as an integer. If B is greater than or equal to the array length, the program fails |
|
Bth scratch space value of the Ath transaction in the current group |
|
Bth scratch space value of the Ath transaction in the current group |
|
converts uint64 A to big-endian byte array, always of length 8 |
|
Keccak256 hash of value A, yields [32]byte |
|
minimum required balance for account A, in microalgos. Required balance is affected by ASA, App, and Box usage. When creating or opting into an app, the minimum balance grows before the app code runs, therefore the increase is visible there. When deleting or closing out, the minimum balance decreases after the app executes. Changes caused by inner transactions or box usage are observable immediately following the opcode effecting the change. params: Txn.Accounts offset (or, since v4, an available account address), available application id (or, since v4, a Txn.ForeignApps offset). Return: value. |
|
A times B as a 128-bit result in two uint64s. X is the high 64 bits, Y is the low |
|
the total online stake in the agreement round Min AVM version: 11 |
|
Copy of A with the bytes starting at B replaced by the bytes of C. Fails if B+len(C) exceeds len(A)
|
|
selects one of two values based on top-of-stack: B if C != 0, else A |
|
selects one of two values based on top-of-stack: B if C != 0, else A |
|
Copy of (byte-array or integer) A, with the Bth bit set to (0 or 1) C. If B is greater than or equal to the bit length of the value (8*byte length), the program fails When A is a uint64, index 0 is the least significant bit. Setting bit 3 to 1 on the integer 0 yields 8, or 2^3. When A is a byte array, index 0 is the leftmost bit of the leftmost byte. Setting bits 0 through 11 to 1 in a 4-byte-array of 0s yields the byte array 0xfff00000. Setting bit 3 to 1 on the 1-byte-array 0x00 yields the byte array 0x10. |
|
Copy of (byte-array or integer) A, with the Bth bit set to (0 or 1) C. If B is greater than or equal to the bit length of the value (8*byte length), the program fails When A is a uint64, index 0 is the least significant bit. Setting bit 3 to 1 on the integer 0 yields 8, or 2^3. When A is a byte array, index 0 is the leftmost bit of the leftmost byte. Setting bits 0 through 11 to 1 in a 4-byte-array of 0s yields the byte array 0xfff00000. Setting bit 3 to 1 on the 1-byte-array 0x00 yields the byte array 0x10. |
|
Copy of A with the Bth byte set to small integer (between 0..255) C. If B is greater than or equal to the array length, the program fails |
|
SHA256 hash of value A, yields [32]byte |
|
SHA3_256 hash of value A, yields [32]byte |
|
SHA512_256 hash of value A, yields [32]byte |
|
A times 2^B, modulo 2^64 |
|
A divided by 2^B |
|
The largest integer I such that I^2 <= A |
|
A range of bytes from A starting at B up to but not including C. If C < B, or either is larger than the array length, the program fails |
|
sumhash512 of value A, yields [64]byte Min AVM version: 11 |
|
Verify the proof B of message A against pubkey C. Returns vrf output and verification flag.
|
API¶
- class algopy.op.AcctParamsGet¶
X is field F from account A. Y is 1 if A owns positive algos, else 0 Native TEAL op:
acct_params_get
- static acct_auth_addr(
- a: algopy.Account | algopy.UInt64 | int,
- /,
Address the account is rekeyed to.
Native TEAL opcode:
acct_params_get
- static acct_balance(
- a: algopy.Account | algopy.UInt64 | int,
- /,
Account balance in microalgos
Native TEAL opcode:
acct_params_get
- static acct_incentive_eligible(
- a: algopy.Account | algopy.UInt64 | int,
- /,
Min AVM version: 11
- Returns tuple[bool, bool]:
Has this account opted into block payouts
Native TEAL opcode:
acct_params_get
- static acct_last_heartbeat(
- a: algopy.Account | algopy.UInt64 | int,
- /,
Min AVM version: 11
- Returns tuple[UInt64, bool]:
The round number of the last block this account sent a heartbeat.
Native TEAL opcode:
acct_params_get
- static acct_last_proposed(
- a: algopy.Account | algopy.UInt64 | int,
- /,
Min AVM version: 11
- Returns tuple[UInt64, bool]:
The round number of the last block this account proposed.
Native TEAL opcode:
acct_params_get
- static acct_min_balance(
- a: algopy.Account | algopy.UInt64 | int,
- /,
Minimum required balance for account, in microalgos
Native TEAL opcode:
acct_params_get
- static acct_total_apps_created(
- a: algopy.Account | algopy.UInt64 | int,
- /,
The number of existing apps created by this account.
Native TEAL opcode:
acct_params_get
- static acct_total_apps_opted_in(
- a: algopy.Account | algopy.UInt64 | int,
- /,
The number of apps this account is opted into.
Native TEAL opcode:
acct_params_get
- static acct_total_assets(
- a: algopy.Account | algopy.UInt64 | int,
- /,
The numbers of ASAs held by this account (including ASAs this account created).
Native TEAL opcode:
acct_params_get
- static acct_total_assets_created(
- a: algopy.Account | algopy.UInt64 | int,
- /,
The number of existing ASAs created by this account.
Native TEAL opcode:
acct_params_get
- static acct_total_box_bytes(
- a: algopy.Account | algopy.UInt64 | int,
- /,
The total number of bytes used by this account’s app’s box keys and values.
Native TEAL opcode:
acct_params_get
- static acct_total_boxes(
- a: algopy.Account | algopy.UInt64 | int,
- /,
The number of existing boxes created by this account’s app.
Native TEAL opcode:
acct_params_get
- static acct_total_extra_app_pages(
- a: algopy.Account | algopy.UInt64 | int,
- /,
The number of extra app code pages used by this account.
Native TEAL opcode:
acct_params_get
- static acct_total_num_byte_slice(
- a: algopy.Account | algopy.UInt64 | int,
- /,
The total number of byte array values allocated by this account in Global and Local States.
Native TEAL opcode:
acct_params_get
- static acct_total_num_uint(
- a: algopy.Account | algopy.UInt64 | int,
- /,
The total number of uint64 values allocated by this account in Global and Local States.
Native TEAL opcode:
acct_params_get
- class algopy.op.AppGlobal¶
Get or modify Global app state Native TEAL ops:
app_global_del
,app_global_get
,app_global_get_ex
,app_global_put
- static delete(a: algopy.Bytes | bytes, /) None ¶
delete key A from the global state of the current application params: state key.
Deleting a key which is already absent has no effect on the application global state. (In particular, it does not cause the program to fail.)
Native TEAL opcode:
app_global_del
- static get_bytes(a: algopy.Bytes | bytes, /) algopy.Bytes ¶
global state of the key A in the current application params: state key. Return: value. The value is zero (of type uint64) if the key does not exist.
Native TEAL opcode:
app_global_get
- static get_ex_bytes(
- a: algopy.Application | algopy.UInt64 | int,
- b: algopy.Bytes | bytes,
- /,
X is the global state of application A, key B. Y is 1 if key existed, else 0 params: Txn.ForeignApps offset (or, since v4, an available application id), state key. Return: did_exist flag (top of the stack, 1 if the application and key existed and 0 otherwise), value. The value is zero (of type uint64) if the key does not exist.
Native TEAL opcode:
app_global_get_ex
- static get_ex_uint64(
- a: algopy.Application | algopy.UInt64 | int,
- b: algopy.Bytes | bytes,
- /,
X is the global state of application A, key B. Y is 1 if key existed, else 0 params: Txn.ForeignApps offset (or, since v4, an available application id), state key. Return: did_exist flag (top of the stack, 1 if the application and key existed and 0 otherwise), value. The value is zero (of type uint64) if the key does not exist.
Native TEAL opcode:
app_global_get_ex
- static get_uint64(a: algopy.Bytes | bytes, /) algopy.UInt64 ¶
global state of the key A in the current application params: state key. Return: value. The value is zero (of type uint64) if the key does not exist.
Native TEAL opcode:
app_global_get
- static put(
- a: algopy.Bytes | bytes,
- b: algopy.Bytes | algopy.UInt64 | bytes | int,
- /,
write B to key A in the global state of the current application
Native TEAL opcode:
app_global_put
- class algopy.op.AppLocal¶
Get or modify Local app state Native TEAL ops:
app_local_del
,app_local_get
,app_local_get_ex
,app_local_put
- static delete(
- a: algopy.Account | algopy.UInt64 | int,
- b: algopy.Bytes | bytes,
- /,
delete key B from account A’s local state of the current application params: Txn.Accounts offset (or, since v4, an available account address), state key.
Deleting a key which is already absent has no effect on the application local state. (In particular, it does not cause the program to fail.)
Native TEAL opcode:
app_local_del
- static get_bytes(
- a: algopy.Account | algopy.UInt64 | int,
- b: algopy.Bytes | bytes,
- /,
local state of the key B in the current application in account A params: Txn.Accounts offset (or, since v4, an available account address), state key. Return: value. The value is zero (of type uint64) if the key does not exist.
Native TEAL opcode:
app_local_get
- static get_ex_bytes(
- a: algopy.Account | algopy.UInt64 | int,
- b: algopy.Application | algopy.UInt64 | int,
- c: algopy.Bytes | bytes,
- /,
X is the local state of application B, key C in account A. Y is 1 if key existed, else 0 params: Txn.Accounts offset (or, since v4, an available account address), available application id (or, since v4, a Txn.ForeignApps offset), state key. Return: did_exist flag (top of the stack, 1 if the application and key existed and 0 otherwise), value. The value is zero (of type uint64) if the key does not exist.
Native TEAL opcode:
app_local_get_ex
- static get_ex_uint64(
- a: algopy.Account | algopy.UInt64 | int,
- b: algopy.Application | algopy.UInt64 | int,
- c: algopy.Bytes | bytes,
- /,
X is the local state of application B, key C in account A. Y is 1 if key existed, else 0 params: Txn.Accounts offset (or, since v4, an available account address), available application id (or, since v4, a Txn.ForeignApps offset), state key. Return: did_exist flag (top of the stack, 1 if the application and key existed and 0 otherwise), value. The value is zero (of type uint64) if the key does not exist.
Native TEAL opcode:
app_local_get_ex
- static get_uint64(
- a: algopy.Account | algopy.UInt64 | int,
- b: algopy.Bytes | bytes,
- /,
local state of the key B in the current application in account A params: Txn.Accounts offset (or, since v4, an available account address), state key. Return: value. The value is zero (of type uint64) if the key does not exist.
Native TEAL opcode:
app_local_get
- static put(
- a: algopy.Account | algopy.UInt64 | int,
- b: algopy.Bytes | bytes,
- c: algopy.Bytes | algopy.UInt64 | bytes | int,
- /,
write C to key B in account A’s local state of the current application params: Txn.Accounts offset (or, since v4, an available account address), state key, value.
Native TEAL opcode:
app_local_put
- class algopy.op.AppParamsGet¶
X is field F from app A. Y is 1 if A exists, else 0 params: Txn.ForeignApps offset or an available app id. Return: did_exist flag (1 if the application existed and 0 otherwise), value. Native TEAL op:
app_params_get
- static app_address(
- a: algopy.Application | algopy.UInt64 | int,
- /,
Address for which this application has authority
Native TEAL opcode:
app_params_get
- static app_approval_program(
- a: algopy.Application | algopy.UInt64 | int,
- /,
Bytecode of Approval Program
Native TEAL opcode:
app_params_get
- static app_clear_state_program(
- a: algopy.Application | algopy.UInt64 | int,
- /,
Bytecode of Clear State Program
Native TEAL opcode:
app_params_get
- static app_creator(
- a: algopy.Application | algopy.UInt64 | int,
- /,
Creator address
Native TEAL opcode:
app_params_get
- static app_extra_program_pages(
- a: algopy.Application | algopy.UInt64 | int,
- /,
Number of Extra Program Pages of code space
Native TEAL opcode:
app_params_get
- static app_global_num_byte_slice(
- a: algopy.Application | algopy.UInt64 | int,
- /,
Number of byte array values allowed in Global State
Native TEAL opcode:
app_params_get
- static app_global_num_uint(
- a: algopy.Application | algopy.UInt64 | int,
- /,
Number of uint64 values allowed in Global State
Native TEAL opcode:
app_params_get
- static app_local_num_byte_slice(
- a: algopy.Application | algopy.UInt64 | int,
- /,
Number of byte array values allowed in Local State
Native TEAL opcode:
app_params_get
- static app_local_num_uint(
- a: algopy.Application | algopy.UInt64 | int,
- /,
Number of uint64 values allowed in Local State
Native TEAL opcode:
app_params_get
- class algopy.op.AssetHoldingGet¶
X is field F from account A’s holding of asset B. Y is 1 if A is opted into B, else 0 params: Txn.Accounts offset (or, since v4, an available address), asset id (or, since v4, a Txn.ForeignAssets offset). Return: did_exist flag (1 if the asset existed and 0 otherwise), value. Native TEAL op:
asset_holding_get
- static asset_balance(
- a: algopy.Account | algopy.UInt64 | int,
- b: algopy.Asset | algopy.UInt64 | int,
- /,
Amount of the asset unit held by this account
Native TEAL opcode:
asset_holding_get
- static asset_frozen(
- a: algopy.Account | algopy.UInt64 | int,
- b: algopy.Asset | algopy.UInt64 | int,
- /,
Is the asset frozen or not
Native TEAL opcode:
asset_holding_get
- class algopy.op.AssetParamsGet¶
X is field F from asset A. Y is 1 if A exists, else 0 params: Txn.ForeignAssets offset (or, since v4, an available asset id. Return: did_exist flag (1 if the asset existed and 0 otherwise), value. Native TEAL op:
asset_params_get
- static asset_clawback(
- a: algopy.Asset | algopy.UInt64 | int,
- /,
Clawback address
Native TEAL opcode:
asset_params_get
- static asset_creator(
- a: algopy.Asset | algopy.UInt64 | int,
- /,
Creator address
Native TEAL opcode:
asset_params_get
- static asset_decimals(
- a: algopy.Asset | algopy.UInt64 | int,
- /,
See AssetParams.Decimals
Native TEAL opcode:
asset_params_get
- static asset_default_frozen(
- a: algopy.Asset | algopy.UInt64 | int,
- /,
Frozen by default or not
Native TEAL opcode:
asset_params_get
- static asset_freeze(
- a: algopy.Asset | algopy.UInt64 | int,
- /,
Freeze address
Native TEAL opcode:
asset_params_get
- static asset_manager(
- a: algopy.Asset | algopy.UInt64 | int,
- /,
Manager address
Native TEAL opcode:
asset_params_get
- static asset_metadata_hash(
- a: algopy.Asset | algopy.UInt64 | int,
- /,
Arbitrary commitment
Native TEAL opcode:
asset_params_get
- static asset_name(
- a: algopy.Asset | algopy.UInt64 | int,
- /,
Asset name
Native TEAL opcode:
asset_params_get
- static asset_reserve(
- a: algopy.Asset | algopy.UInt64 | int,
- /,
Reserve address
Native TEAL opcode:
asset_params_get
- static asset_total(
- a: algopy.Asset | algopy.UInt64 | int,
- /,
Total number of units of this asset
Native TEAL opcode:
asset_params_get
- static asset_unit_name(
- a: algopy.Asset | algopy.UInt64 | int,
- /,
Asset unit name
Native TEAL opcode:
asset_params_get
- static asset_url(a: algopy.Asset | algopy.UInt64 | int, /) tuple[algopy.Bytes, bool] ¶
URL with additional info about the asset
Native TEAL opcode:
asset_params_get
- class algopy.op.Base64¶
Available values for the
base64
enumInitialization
Initialize self. See help(type(self)) for accurate signature.
- __add__()¶
Return self+value.
- __contains__()¶
Return bool(key in self).
- __delattr__()¶
Implement delattr(self, name).
- __dir__()¶
Default dir() implementation.
- __eq__()¶
Return self==value.
- __format__()¶
Return a formatted version of the string as described by format_spec.
- __ge__()¶
Return self>=value.
- __getattribute__()¶
Return getattr(self, name).
- __getitem__()¶
Return self[key].
- __getstate__()¶
Helper for pickle.
- __gt__()¶
Return self>value.
- __hash__()¶
Return hash(self).
- __iter__()¶
Implement iter(self).
- __le__()¶
Return self<=value.
- __len__()¶
Return len(self).
- __lt__()¶
Return self<value.
- __mod__()¶
Return self%value.
- __mul__()¶
Return self*value.
- __ne__()¶
Return self!=value.
- __new__()¶
Create and return a new object. See help(type) for accurate signature.
- __reduce__()¶
Helper for pickle.
- __reduce_ex__()¶
Helper for pickle.
- __repr__()¶
Return repr(self).
- __rmod__()¶
Return value%self.
- __rmul__()¶
Return value*self.
- __setattr__()¶
Implement setattr(self, name, value).
- __sizeof__()¶
Return the size of the string in memory, in bytes.
- __str__()¶
Return str(self).
- capitalize()¶
Return a capitalized version of the string.
More specifically, make the first character have upper case and the rest lower case.
- casefold()¶
Return a version of the string suitable for caseless comparisons.
- center()¶
Return a centered string of length width.
Padding is done using the specified fill character (default is a space).
- count()¶
S.count(sub[, start[, end]]) -> int
Return the number of non-overlapping occurrences of substring sub in string S[start:end]. Optional arguments start and end are interpreted as in slice notation.
- encode()¶
Encode the string using the codec registered for encoding.
encoding The encoding in which to encode the string. errors The error handling scheme to use for encoding errors. The default is ‘strict’ meaning that encoding errors raise a UnicodeEncodeError. Other possible values are ‘ignore’, ‘replace’ and ‘xmlcharrefreplace’ as well as any other name registered with codecs.register_error that can handle UnicodeEncodeErrors.
- endswith()¶
S.endswith(suffix[, start[, end]]) -> bool
Return True if S ends with the specified suffix, False otherwise. With optional start, test S beginning at that position. With optional end, stop comparing S at that position. suffix can also be a tuple of strings to try.
- expandtabs()¶
Return a copy where all tab characters are expanded using spaces.
If tabsize is not given, a tab size of 8 characters is assumed.
- find()¶
S.find(sub[, start[, end]]) -> int
Return the lowest index in S where substring sub is found, such that sub is contained within S[start:end]. Optional arguments start and end are interpreted as in slice notation.
Return -1 on failure.
- format()¶
S.format(*args, **kwargs) -> str
Return a formatted version of S, using substitutions from args and kwargs. The substitutions are identified by braces (‘{’ and ‘}’).
- format_map()¶
S.format_map(mapping) -> str
Return a formatted version of S, using substitutions from mapping. The substitutions are identified by braces (‘{’ and ‘}’).
- index()¶
S.index(sub[, start[, end]]) -> int
Return the lowest index in S where substring sub is found, such that sub is contained within S[start:end]. Optional arguments start and end are interpreted as in slice notation.
Raises ValueError when the substring is not found.
- isalnum()¶
Return True if the string is an alpha-numeric string, False otherwise.
A string is alpha-numeric if all characters in the string are alpha-numeric and there is at least one character in the string.
- isalpha()¶
Return True if the string is an alphabetic string, False otherwise.
A string is alphabetic if all characters in the string are alphabetic and there is at least one character in the string.
- isascii()¶
Return True if all characters in the string are ASCII, False otherwise.
ASCII characters have code points in the range U+0000-U+007F. Empty string is ASCII too.
- isdecimal()¶
Return True if the string is a decimal string, False otherwise.
A string is a decimal string if all characters in the string are decimal and there is at least one character in the string.
- isdigit()¶
Return True if the string is a digit string, False otherwise.
A string is a digit string if all characters in the string are digits and there is at least one character in the string.
- isidentifier()¶
Return True if the string is a valid Python identifier, False otherwise.
Call keyword.iskeyword(s) to test whether string s is a reserved identifier, such as “def” or “class”.
- islower()¶
Return True if the string is a lowercase string, False otherwise.
A string is lowercase if all cased characters in the string are lowercase and there is at least one cased character in the string.
- isnumeric()¶
Return True if the string is a numeric string, False otherwise.
A string is numeric if all characters in the string are numeric and there is at least one character in the string.
- isprintable()¶
Return True if the string is printable, False otherwise.
A string is printable if all of its characters are considered printable in repr() or if it is empty.
- isspace()¶
Return True if the string is a whitespace string, False otherwise.
A string is whitespace if all characters in the string are whitespace and there is at least one character in the string.
- istitle()¶
Return True if the string is a title-cased string, False otherwise.
In a title-cased string, upper- and title-case characters may only follow uncased characters and lowercase characters only cased ones.
- isupper()¶
Return True if the string is an uppercase string, False otherwise.
A string is uppercase if all cased characters in the string are uppercase and there is at least one cased character in the string.
- join()¶
Concatenate any number of strings.
The string whose method is called is inserted in between each given string. The result is returned as a new string.
Example: ‘.’.join([‘ab’, ‘pq’, ‘rs’]) -> ‘ab.pq.rs’
- ljust()¶
Return a left-justified string of length width.
Padding is done using the specified fill character (default is a space).
- lower()¶
Return a copy of the string converted to lowercase.
- lstrip()¶
Return a copy of the string with leading whitespace removed.
If chars is given and not None, remove characters in chars instead.
- partition()¶
Partition the string into three parts using the given separator.
This will search for the separator in the string. If the separator is found, returns a 3-tuple containing the part before the separator, the separator itself, and the part after it.
If the separator is not found, returns a 3-tuple containing the original string and two empty strings.
- removeprefix()¶
Return a str with the given prefix string removed if present.
If the string starts with the prefix string, return string[len(prefix):]. Otherwise, return a copy of the original string.
- removesuffix()¶
Return a str with the given suffix string removed if present.
If the string ends with the suffix string and that suffix is not empty, return string[:-len(suffix)]. Otherwise, return a copy of the original string.
- replace()¶
Return a copy with all occurrences of substring old replaced by new.
count Maximum number of occurrences to replace. -1 (the default value) means replace all occurrences.
If the optional argument count is given, only the first count occurrences are replaced.
- rfind()¶
S.rfind(sub[, start[, end]]) -> int
Return the highest index in S where substring sub is found, such that sub is contained within S[start:end]. Optional arguments start and end are interpreted as in slice notation.
Return -1 on failure.
- rindex()¶
S.rindex(sub[, start[, end]]) -> int
Return the highest index in S where substring sub is found, such that sub is contained within S[start:end]. Optional arguments start and end are interpreted as in slice notation.
Raises ValueError when the substring is not found.
- rjust()¶
Return a right-justified string of length width.
Padding is done using the specified fill character (default is a space).
- rpartition()¶
Partition the string into three parts using the given separator.
This will search for the separator in the string, starting at the end. If the separator is found, returns a 3-tuple containing the part before the separator, the separator itself, and the part after it.
If the separator is not found, returns a 3-tuple containing two empty strings and the original string.
- rsplit()¶
Return a list of the substrings in the string, using sep as the separator string.
sep The separator used to split the string.
When set to None (the default value), will split on any whitespace character (including \n \r \t \f and spaces) and will discard empty strings from the result.
maxsplit Maximum number of splits. -1 (the default value) means no limit.
Splitting starts at the end of the string and works to the front.
- rstrip()¶
Return a copy of the string with trailing whitespace removed.
If chars is given and not None, remove characters in chars instead.
- split()¶
Return a list of the substrings in the string, using sep as the separator string.
sep The separator used to split the string.
When set to None (the default value), will split on any whitespace character (including \n \r \t \f and spaces) and will discard empty strings from the result.
maxsplit Maximum number of splits. -1 (the default value) means no limit.
Splitting starts at the front of the string and works to the end.
Note, str.split() is mainly useful for data that has been intentionally delimited. With natural text that includes punctuation, consider using the regular expression module.
- splitlines()¶
Return a list of the lines in the string, breaking at line boundaries.
Line breaks are not included in the resulting list unless keepends is given and true.
- startswith()¶
S.startswith(prefix[, start[, end]]) -> bool
Return True if S starts with the specified prefix, False otherwise. With optional start, test S beginning at that position. With optional end, stop comparing S at that position. prefix can also be a tuple of strings to try.
- strip()¶
Return a copy of the string with leading and trailing whitespace removed.
If chars is given and not None, remove characters in chars instead.
- swapcase()¶
Convert uppercase characters to lowercase and lowercase characters to uppercase.
- title()¶
Return a version of the string where each word is titlecased.
More specifically, words start with uppercased characters and all remaining cased characters have lower case.
- translate()¶
Replace each character in the string using the given translation table.
table Translation table, which must be a mapping of Unicode ordinals to Unicode ordinals, strings, or None.
The table must implement lookup/indexing via getitem, for instance a dictionary or list. If this operation raises LookupError, the character is left untouched. Characters mapped to None are deleted.
- upper()¶
Return a copy of the string converted to uppercase.
- zfill()¶
Pad a numeric string with zeros on the left, to fill a field of the given width.
The string is never truncated.
- class algopy.op.Block¶
field F of block A. Fail unless A falls between txn.LastValid-1002 and txn.FirstValid (exclusive) Native TEAL op:
block
- static blk_bonus(a: algopy.UInt64 | int, /) algopy.UInt64 ¶
Min AVM version: 11
Native TEAL opcode:
block
- static blk_branch(a: algopy.UInt64 | int, /) algopy.Bytes ¶
Min AVM version: 11
Native TEAL opcode:
block
- static blk_fee_sink(a: algopy.UInt64 | int, /) algopy.Account ¶
Min AVM version: 11
Native TEAL opcode:
block
- static blk_fees_collected(a: algopy.UInt64 | int, /) algopy.UInt64 ¶
Min AVM version: 11
Native TEAL opcode:
block
- static blk_proposer(a: algopy.UInt64 | int, /) algopy.Account ¶
Min AVM version: 11
Native TEAL opcode:
block
- static blk_proposer_payout(a: algopy.UInt64 | int, /) algopy.UInt64 ¶
Min AVM version: 11
Native TEAL opcode:
block
- static blk_protocol(a: algopy.UInt64 | int, /) algopy.Bytes ¶
Min AVM version: 11
Native TEAL opcode:
block
- static blk_seed(a: algopy.UInt64 | int, /) algopy.Bytes ¶
Native TEAL opcode:
block
- static blk_timestamp(a: algopy.UInt64 | int, /) algopy.UInt64 ¶
Native TEAL opcode:
block
- static blk_txn_counter(a: algopy.UInt64 | int, /) algopy.UInt64 ¶
Min AVM version: 11
Native TEAL opcode:
block
- class algopy.op.Box¶
Get or modify box state Native TEAL ops:
box_create
,box_del
,box_extract
,box_get
,box_len
,box_put
,box_replace
,box_resize
,box_splice
- static create(a: algopy.Bytes | bytes, b: algopy.UInt64 | int, /) bool ¶
create a box named A, of length B. Fail if the name A is empty or B exceeds 32,768. Returns 0 if A already existed, else 1 Newly created boxes are filled with 0 bytes.
box_create
will fail if the referenced box already exists with a different size. Otherwise, existing boxes are unchanged bybox_create
.Native TEAL opcode:
box_create
- static delete(a: algopy.Bytes | bytes, /) bool ¶
delete box named A if it exists. Return 1 if A existed, 0 otherwise
Native TEAL opcode:
box_del
- static extract(
- a: algopy.Bytes | bytes,
- b: algopy.UInt64 | int,
- c: algopy.UInt64 | int,
- /,
read C bytes from box A, starting at offset B. Fail if A does not exist, or the byte range is outside A’s size.
Native TEAL opcode:
box_extract
- static get(a: algopy.Bytes | bytes, /) tuple[algopy.Bytes, bool] ¶
X is the contents of box A if A exists, else ‘’. Y is 1 if A exists, else 0. For boxes that exceed 4,096 bytes, consider
box_create
,box_extract
, andbox_replace
Native TEAL opcode:
box_get
- static length(a: algopy.Bytes | bytes, /) tuple[algopy.UInt64, bool] ¶
X is the length of box A if A exists, else 0. Y is 1 if A exists, else 0.
Native TEAL opcode:
box_len
- static put(a: algopy.Bytes | bytes, b: algopy.Bytes | bytes, /) None ¶
replaces the contents of box A with byte-array B. Fails if A exists and len(B) != len(box A). Creates A if it does not exist For boxes that exceed 4,096 bytes, consider
box_create
,box_extract
, andbox_replace
Native TEAL opcode:
box_put
- static replace(
- a: algopy.Bytes | bytes,
- b: algopy.UInt64 | int,
- c: algopy.Bytes | bytes,
- /,
write byte-array C into box A, starting at offset B. Fail if A does not exist, or the byte range is outside A’s size.
Native TEAL opcode:
box_replace
- static resize(a: algopy.Bytes | bytes, b: algopy.UInt64 | int, /) None ¶
change the size of box named A to be of length B, adding zero bytes to end or removing bytes from the end, as needed. Fail if the name A is empty, A is not an existing box, or B exceeds 32,768.
Native TEAL opcode:
box_resize
- static splice(
- a: algopy.Bytes | bytes,
- b: algopy.UInt64 | int,
- c: algopy.UInt64 | int,
- d: algopy.Bytes | bytes,
- /,
set box A to contain its previous bytes up to index B, followed by D, followed by the original bytes of A that began at index B+C. Boxes are of constant length. If C < len(D), then len(D)-C bytes will be removed from the end. If C > len(D), zero bytes will be appended to the end to reach the box length.
Native TEAL opcode:
box_splice
- class algopy.op.EC¶
Available values for the
EC
enumInitialization
Initialize self. See help(type(self)) for accurate signature.
- BLS12_381g1: algopy.op.EC¶
Ellipsis
G1 of the BLS 12-381 curve. Points encoded as 48 byte X following by 48 byte Y
- BLS12_381g2: algopy.op.EC¶
Ellipsis
G2 of the BLS 12-381 curve. Points encoded as 96 byte X following by 96 byte Y
- BN254g1: algopy.op.EC¶
Ellipsis
G1 of the BN254 curve. Points encoded as 32 byte X following by 32 byte Y
- BN254g2: algopy.op.EC¶
Ellipsis
G2 of the BN254 curve. Points encoded as 64 byte X following by 64 byte Y
- __add__()¶
Return self+value.
- __contains__()¶
Return bool(key in self).
- __delattr__()¶
Implement delattr(self, name).
- __dir__()¶
Default dir() implementation.
- __eq__()¶
Return self==value.
- __format__()¶
Return a formatted version of the string as described by format_spec.
- __ge__()¶
Return self>=value.
- __getattribute__()¶
Return getattr(self, name).
- __getitem__()¶
Return self[key].
- __getstate__()¶
Helper for pickle.
- __gt__()¶
Return self>value.
- __hash__()¶
Return hash(self).
- __iter__()¶
Implement iter(self).
- __le__()¶
Return self<=value.
- __len__()¶
Return len(self).
- __lt__()¶
Return self<value.
- __mod__()¶
Return self%value.
- __mul__()¶
Return self*value.
- __ne__()¶
Return self!=value.
- __new__()¶
Create and return a new object. See help(type) for accurate signature.
- __reduce__()¶
Helper for pickle.
- __reduce_ex__()¶
Helper for pickle.
- __repr__()¶
Return repr(self).
- __rmod__()¶
Return value%self.
- __rmul__()¶
Return value*self.
- __setattr__()¶
Implement setattr(self, name, value).
- __sizeof__()¶
Return the size of the string in memory, in bytes.
- __str__()¶
Return str(self).
- capitalize()¶
Return a capitalized version of the string.
More specifically, make the first character have upper case and the rest lower case.
- casefold()¶
Return a version of the string suitable for caseless comparisons.
- center()¶
Return a centered string of length width.
Padding is done using the specified fill character (default is a space).
- count()¶
S.count(sub[, start[, end]]) -> int
Return the number of non-overlapping occurrences of substring sub in string S[start:end]. Optional arguments start and end are interpreted as in slice notation.
- encode()¶
Encode the string using the codec registered for encoding.
encoding The encoding in which to encode the string. errors The error handling scheme to use for encoding errors. The default is ‘strict’ meaning that encoding errors raise a UnicodeEncodeError. Other possible values are ‘ignore’, ‘replace’ and ‘xmlcharrefreplace’ as well as any other name registered with codecs.register_error that can handle UnicodeEncodeErrors.
- endswith()¶
S.endswith(suffix[, start[, end]]) -> bool
Return True if S ends with the specified suffix, False otherwise. With optional start, test S beginning at that position. With optional end, stop comparing S at that position. suffix can also be a tuple of strings to try.
- expandtabs()¶
Return a copy where all tab characters are expanded using spaces.
If tabsize is not given, a tab size of 8 characters is assumed.
- find()¶
S.find(sub[, start[, end]]) -> int
Return the lowest index in S where substring sub is found, such that sub is contained within S[start:end]. Optional arguments start and end are interpreted as in slice notation.
Return -1 on failure.
- format()¶
S.format(*args, **kwargs) -> str
Return a formatted version of S, using substitutions from args and kwargs. The substitutions are identified by braces (‘{’ and ‘}’).
- format_map()¶
S.format_map(mapping) -> str
Return a formatted version of S, using substitutions from mapping. The substitutions are identified by braces (‘{’ and ‘}’).
- index()¶
S.index(sub[, start[, end]]) -> int
Return the lowest index in S where substring sub is found, such that sub is contained within S[start:end]. Optional arguments start and end are interpreted as in slice notation.
Raises ValueError when the substring is not found.
- isalnum()¶
Return True if the string is an alpha-numeric string, False otherwise.
A string is alpha-numeric if all characters in the string are alpha-numeric and there is at least one character in the string.
- isalpha()¶
Return True if the string is an alphabetic string, False otherwise.
A string is alphabetic if all characters in the string are alphabetic and there is at least one character in the string.
- isascii()¶
Return True if all characters in the string are ASCII, False otherwise.
ASCII characters have code points in the range U+0000-U+007F. Empty string is ASCII too.
- isdecimal()¶
Return True if the string is a decimal string, False otherwise.
A string is a decimal string if all characters in the string are decimal and there is at least one character in the string.
- isdigit()¶
Return True if the string is a digit string, False otherwise.
A string is a digit string if all characters in the string are digits and there is at least one character in the string.
- isidentifier()¶
Return True if the string is a valid Python identifier, False otherwise.
Call keyword.iskeyword(s) to test whether string s is a reserved identifier, such as “def” or “class”.
- islower()¶
Return True if the string is a lowercase string, False otherwise.
A string is lowercase if all cased characters in the string are lowercase and there is at least one cased character in the string.
- isnumeric()¶
Return True if the string is a numeric string, False otherwise.
A string is numeric if all characters in the string are numeric and there is at least one character in the string.
- isprintable()¶
Return True if the string is printable, False otherwise.
A string is printable if all of its characters are considered printable in repr() or if it is empty.
- isspace()¶
Return True if the string is a whitespace string, False otherwise.
A string is whitespace if all characters in the string are whitespace and there is at least one character in the string.
- istitle()¶
Return True if the string is a title-cased string, False otherwise.
In a title-cased string, upper- and title-case characters may only follow uncased characters and lowercase characters only cased ones.
- isupper()¶
Return True if the string is an uppercase string, False otherwise.
A string is uppercase if all cased characters in the string are uppercase and there is at least one cased character in the string.
- join()¶
Concatenate any number of strings.
The string whose method is called is inserted in between each given string. The result is returned as a new string.
Example: ‘.’.join([‘ab’, ‘pq’, ‘rs’]) -> ‘ab.pq.rs’
- ljust()¶
Return a left-justified string of length width.
Padding is done using the specified fill character (default is a space).
- lower()¶
Return a copy of the string converted to lowercase.
- lstrip()¶
Return a copy of the string with leading whitespace removed.
If chars is given and not None, remove characters in chars instead.
- partition()¶
Partition the string into three parts using the given separator.
This will search for the separator in the string. If the separator is found, returns a 3-tuple containing the part before the separator, the separator itself, and the part after it.
If the separator is not found, returns a 3-tuple containing the original string and two empty strings.
- removeprefix()¶
Return a str with the given prefix string removed if present.
If the string starts with the prefix string, return string[len(prefix):]. Otherwise, return a copy of the original string.
- removesuffix()¶
Return a str with the given suffix string removed if present.
If the string ends with the suffix string and that suffix is not empty, return string[:-len(suffix)]. Otherwise, return a copy of the original string.
- replace()¶
Return a copy with all occurrences of substring old replaced by new.
count Maximum number of occurrences to replace. -1 (the default value) means replace all occurrences.
If the optional argument count is given, only the first count occurrences are replaced.
- rfind()¶
S.rfind(sub[, start[, end]]) -> int
Return the highest index in S where substring sub is found, such that sub is contained within S[start:end]. Optional arguments start and end are interpreted as in slice notation.
Return -1 on failure.
- rindex()¶
S.rindex(sub[, start[, end]]) -> int
Return the highest index in S where substring sub is found, such that sub is contained within S[start:end]. Optional arguments start and end are interpreted as in slice notation.
Raises ValueError when the substring is not found.
- rjust()¶
Return a right-justified string of length width.
Padding is done using the specified fill character (default is a space).
- rpartition()¶
Partition the string into three parts using the given separator.
This will search for the separator in the string, starting at the end. If the separator is found, returns a 3-tuple containing the part before the separator, the separator itself, and the part after it.
If the separator is not found, returns a 3-tuple containing two empty strings and the original string.
- rsplit()¶
Return a list of the substrings in the string, using sep as the separator string.
sep The separator used to split the string.
When set to None (the default value), will split on any whitespace character (including \n \r \t \f and spaces) and will discard empty strings from the result.
maxsplit Maximum number of splits. -1 (the default value) means no limit.
Splitting starts at the end of the string and works to the front.
- rstrip()¶
Return a copy of the string with trailing whitespace removed.
If chars is given and not None, remove characters in chars instead.
- split()¶
Return a list of the substrings in the string, using sep as the separator string.
sep The separator used to split the string.
When set to None (the default value), will split on any whitespace character (including \n \r \t \f and spaces) and will discard empty strings from the result.
maxsplit Maximum number of splits. -1 (the default value) means no limit.
Splitting starts at the front of the string and works to the end.
Note, str.split() is mainly useful for data that has been intentionally delimited. With natural text that includes punctuation, consider using the regular expression module.
- splitlines()¶
Return a list of the lines in the string, breaking at line boundaries.
Line breaks are not included in the resulting list unless keepends is given and true.
- startswith()¶
S.startswith(prefix[, start[, end]]) -> bool
Return True if S starts with the specified prefix, False otherwise. With optional start, test S beginning at that position. With optional end, stop comparing S at that position. prefix can also be a tuple of strings to try.
- strip()¶
Return a copy of the string with leading and trailing whitespace removed.
If chars is given and not None, remove characters in chars instead.
- swapcase()¶
Convert uppercase characters to lowercase and lowercase characters to uppercase.
- title()¶
Return a version of the string where each word is titlecased.
More specifically, words start with uppercased characters and all remaining cased characters have lower case.
- translate()¶
Replace each character in the string using the given translation table.
table Translation table, which must be a mapping of Unicode ordinals to Unicode ordinals, strings, or None.
The table must implement lookup/indexing via getitem, for instance a dictionary or list. If this operation raises LookupError, the character is left untouched. Characters mapped to None are deleted.
- upper()¶
Return a copy of the string converted to uppercase.
- zfill()¶
Pad a numeric string with zeros on the left, to fill a field of the given width.
The string is never truncated.
- class algopy.op.ECDSA¶
Available values for the
ECDSA
enumInitialization
Initialize self. See help(type(self)) for accurate signature.
- Secp256k1: algopy.op.ECDSA¶
Ellipsis
secp256k1 curve, used in Bitcoin
- Secp256r1: algopy.op.ECDSA¶
Ellipsis
secp256r1 curve, NIST standard
- __add__()¶
Return self+value.
- __contains__()¶
Return bool(key in self).
- __delattr__()¶
Implement delattr(self, name).
- __dir__()¶
Default dir() implementation.
- __eq__()¶
Return self==value.
- __format__()¶
Return a formatted version of the string as described by format_spec.
- __ge__()¶
Return self>=value.
- __getattribute__()¶
Return getattr(self, name).
- __getitem__()¶
Return self[key].
- __getstate__()¶
Helper for pickle.
- __gt__()¶
Return self>value.
- __hash__()¶
Return hash(self).
- __iter__()¶
Implement iter(self).
- __le__()¶
Return self<=value.
- __len__()¶
Return len(self).
- __lt__()¶
Return self<value.
- __mod__()¶
Return self%value.
- __mul__()¶
Return self*value.
- __ne__()¶
Return self!=value.
- __new__()¶
Create and return a new object. See help(type) for accurate signature.
- __reduce__()¶
Helper for pickle.
- __reduce_ex__()¶
Helper for pickle.
- __repr__()¶
Return repr(self).
- __rmod__()¶
Return value%self.
- __rmul__()¶
Return value*self.
- __setattr__()¶
Implement setattr(self, name, value).
- __sizeof__()¶
Return the size of the string in memory, in bytes.
- __str__()¶
Return str(self).
- capitalize()¶
Return a capitalized version of the string.
More specifically, make the first character have upper case and the rest lower case.
- casefold()¶
Return a version of the string suitable for caseless comparisons.
- center()¶
Return a centered string of length width.
Padding is done using the specified fill character (default is a space).
- count()¶
S.count(sub[, start[, end]]) -> int
Return the number of non-overlapping occurrences of substring sub in string S[start:end]. Optional arguments start and end are interpreted as in slice notation.
- encode()¶
Encode the string using the codec registered for encoding.
encoding The encoding in which to encode the string. errors The error handling scheme to use for encoding errors. The default is ‘strict’ meaning that encoding errors raise a UnicodeEncodeError. Other possible values are ‘ignore’, ‘replace’ and ‘xmlcharrefreplace’ as well as any other name registered with codecs.register_error that can handle UnicodeEncodeErrors.
- endswith()¶
S.endswith(suffix[, start[, end]]) -> bool
Return True if S ends with the specified suffix, False otherwise. With optional start, test S beginning at that position. With optional end, stop comparing S at that position. suffix can also be a tuple of strings to try.
- expandtabs()¶
Return a copy where all tab characters are expanded using spaces.
If tabsize is not given, a tab size of 8 characters is assumed.
- find()¶
S.find(sub[, start[, end]]) -> int
Return the lowest index in S where substring sub is found, such that sub is contained within S[start:end]. Optional arguments start and end are interpreted as in slice notation.
Return -1 on failure.
- format()¶
S.format(*args, **kwargs) -> str
Return a formatted version of S, using substitutions from args and kwargs. The substitutions are identified by braces (‘{’ and ‘}’).
- format_map()¶
S.format_map(mapping) -> str
Return a formatted version of S, using substitutions from mapping. The substitutions are identified by braces (‘{’ and ‘}’).
- index()¶
S.index(sub[, start[, end]]) -> int
Return the lowest index in S where substring sub is found, such that sub is contained within S[start:end]. Optional arguments start and end are interpreted as in slice notation.
Raises ValueError when the substring is not found.
- isalnum()¶
Return True if the string is an alpha-numeric string, False otherwise.
A string is alpha-numeric if all characters in the string are alpha-numeric and there is at least one character in the string.
- isalpha()¶
Return True if the string is an alphabetic string, False otherwise.
A string is alphabetic if all characters in the string are alphabetic and there is at least one character in the string.
- isascii()¶
Return True if all characters in the string are ASCII, False otherwise.
ASCII characters have code points in the range U+0000-U+007F. Empty string is ASCII too.
- isdecimal()¶
Return True if the string is a decimal string, False otherwise.
A string is a decimal string if all characters in the string are decimal and there is at least one character in the string.
- isdigit()¶
Return True if the string is a digit string, False otherwise.
A string is a digit string if all characters in the string are digits and there is at least one character in the string.
- isidentifier()¶
Return True if the string is a valid Python identifier, False otherwise.
Call keyword.iskeyword(s) to test whether string s is a reserved identifier, such as “def” or “class”.
- islower()¶
Return True if the string is a lowercase string, False otherwise.
A string is lowercase if all cased characters in the string are lowercase and there is at least one cased character in the string.
- isnumeric()¶
Return True if the string is a numeric string, False otherwise.
A string is numeric if all characters in the string are numeric and there is at least one character in the string.
- isprintable()¶
Return True if the string is printable, False otherwise.
A string is printable if all of its characters are considered printable in repr() or if it is empty.
- isspace()¶
Return True if the string is a whitespace string, False otherwise.
A string is whitespace if all characters in the string are whitespace and there is at least one character in the string.
- istitle()¶
Return True if the string is a title-cased string, False otherwise.
In a title-cased string, upper- and title-case characters may only follow uncased characters and lowercase characters only cased ones.
- isupper()¶
Return True if the string is an uppercase string, False otherwise.
A string is uppercase if all cased characters in the string are uppercase and there is at least one cased character in the string.
- join()¶
Concatenate any number of strings.
The string whose method is called is inserted in between each given string. The result is returned as a new string.
Example: ‘.’.join([‘ab’, ‘pq’, ‘rs’]) -> ‘ab.pq.rs’
- ljust()¶
Return a left-justified string of length width.
Padding is done using the specified fill character (default is a space).
- lower()¶
Return a copy of the string converted to lowercase.
- lstrip()¶
Return a copy of the string with leading whitespace removed.
If chars is given and not None, remove characters in chars instead.
- partition()¶
Partition the string into three parts using the given separator.
This will search for the separator in the string. If the separator is found, returns a 3-tuple containing the part before the separator, the separator itself, and the part after it.
If the separator is not found, returns a 3-tuple containing the original string and two empty strings.
- removeprefix()¶
Return a str with the given prefix string removed if present.
If the string starts with the prefix string, return string[len(prefix):]. Otherwise, return a copy of the original string.
- removesuffix()¶
Return a str with the given suffix string removed if present.
If the string ends with the suffix string and that suffix is not empty, return string[:-len(suffix)]. Otherwise, return a copy of the original string.
- replace()¶
Return a copy with all occurrences of substring old replaced by new.
count Maximum number of occurrences to replace. -1 (the default value) means replace all occurrences.
If the optional argument count is given, only the first count occurrences are replaced.
- rfind()¶
S.rfind(sub[, start[, end]]) -> int
Return the highest index in S where substring sub is found, such that sub is contained within S[start:end]. Optional arguments start and end are interpreted as in slice notation.
Return -1 on failure.
- rindex()¶
S.rindex(sub[, start[, end]]) -> int
Return the highest index in S where substring sub is found, such that sub is contained within S[start:end]. Optional arguments start and end are interpreted as in slice notation.
Raises ValueError when the substring is not found.
- rjust()¶
Return a right-justified string of length width.
Padding is done using the specified fill character (default is a space).
- rpartition()¶
Partition the string into three parts using the given separator.
This will search for the separator in the string, starting at the end. If the separator is found, returns a 3-tuple containing the part before the separator, the separator itself, and the part after it.
If the separator is not found, returns a 3-tuple containing two empty strings and the original string.
- rsplit()¶
Return a list of the substrings in the string, using sep as the separator string.
sep The separator used to split the string.
When set to None (the default value), will split on any whitespace character (including \n \r \t \f and spaces) and will discard empty strings from the result.
maxsplit Maximum number of splits. -1 (the default value) means no limit.
Splitting starts at the end of the string and works to the front.
- rstrip()¶
Return a copy of the string with trailing whitespace removed.
If chars is given and not None, remove characters in chars instead.
- split()¶
Return a list of the substrings in the string, using sep as the separator string.
sep The separator used to split the string.
When set to None (the default value), will split on any whitespace character (including \n \r \t \f and spaces) and will discard empty strings from the result.
maxsplit Maximum number of splits. -1 (the default value) means no limit.
Splitting starts at the front of the string and works to the end.
Note, str.split() is mainly useful for data that has been intentionally delimited. With natural text that includes punctuation, consider using the regular expression module.
- splitlines()¶
Return a list of the lines in the string, breaking at line boundaries.
Line breaks are not included in the resulting list unless keepends is given and true.
- startswith()¶
S.startswith(prefix[, start[, end]]) -> bool
Return True if S starts with the specified prefix, False otherwise. With optional start, test S beginning at that position. With optional end, stop comparing S at that position. prefix can also be a tuple of strings to try.
- strip()¶
Return a copy of the string with leading and trailing whitespace removed.
If chars is given and not None, remove characters in chars instead.
- swapcase()¶
Convert uppercase characters to lowercase and lowercase characters to uppercase.
- title()¶
Return a version of the string where each word is titlecased.
More specifically, words start with uppercased characters and all remaining cased characters have lower case.
- translate()¶
Replace each character in the string using the given translation table.
table Translation table, which must be a mapping of Unicode ordinals to Unicode ordinals, strings, or None.
The table must implement lookup/indexing via getitem, for instance a dictionary or list. If this operation raises LookupError, the character is left untouched. Characters mapped to None are deleted.
- upper()¶
Return a copy of the string converted to uppercase.
- zfill()¶
Pad a numeric string with zeros on the left, to fill a field of the given width.
The string is never truncated.
- class algopy.op.EllipticCurve¶
Elliptic Curve functions Native TEAL ops:
ec_add
,ec_map_to
,ec_multi_scalar_mul
,ec_pairing_check
,ec_scalar_mul
,ec_subgroup_check
- static add(
- g: algopy.op.EC,
- a: algopy.Bytes | bytes,
- b: algopy.Bytes | bytes,
- /,
for curve points A and B, return the curve point A + B A and B are curve points in affine representation: field element X concatenated with field element Y. Field element
Z
is encoded as follows. For the base field elements (Fp),Z
is encoded as a big-endian number and must be lower than the field modulus. For the quadratic field extension (Fp2),Z
is encoded as the concatenation of the individual encoding of the coefficients. For an Fp2 element of the formZ = Z0 + Z1 i
, wherei
is a formal quadratic non-residue, the encoding of Z is the concatenation of the encoding ofZ0
andZ1
in this order. (Z0
andZ1
must be less than the field modulus).The point at infinity is encoded as
(X,Y) = (0,0)
. Groups G1 and G2 are denoted additively.Fails if A or B is not in G. A and/or B are allowed to be the point at infinity. Does not check if A and B are in the main prime-order subgroup.
- Parameters:
g (EC) – curve index
Native TEAL opcode:
ec_add
- static map_to(g: algopy.op.EC, a: algopy.Bytes | bytes, /) algopy.Bytes ¶
maps field element A to group G BN254 points are mapped by the SVDW map. BLS12-381 points are mapped by the SSWU map. G1 element inputs are base field elements and G2 element inputs are quadratic field elements, with nearly the same encoding rules (for field elements) as defined in
ec_add
. There is one difference of encoding rule: G1 element inputs do not need to be 0-padded if they fit in less than 32 bytes for BN254 and less than 48 bytes for BLS12-381. (As usual, the empty byte array represents 0.) G2 elements inputs need to be always have the required size.- Parameters:
g (EC) – curve index
Native TEAL opcode:
ec_map_to
- static pairing_check(
- g: algopy.op.EC,
- a: algopy.Bytes | bytes,
- b: algopy.Bytes | bytes,
- /,
1 if the product of the pairing of each point in A with its respective point in B is equal to the identity element of the target group Gt, else 0 A and B are concatenated points, encoded and checked as described in
ec_add
. A contains points of the group G, B contains points of the associated group (G2 if G is G1, and vice versa). Fails if A and B have a different number of points, or if any point is not in its described group or outside the main prime-order subgroup - a stronger condition than other opcodes. AVM values are limited to 4096 bytes, soec_pairing_check
is limited by the size of the points in the groups being operated upon.- Parameters:
g (EC) – curve index
Native TEAL opcode:
ec_pairing_check
- static scalar_mul(
- g: algopy.op.EC,
- a: algopy.Bytes | bytes,
- b: algopy.Bytes | bytes,
- /,
for curve point A and scalar B, return the curve point BA, the point A multiplied by the scalar B. A is a curve point encoded and checked as described in
ec_add
. Scalar B is interpreted as a big-endian unsigned integer. Fails if B exceeds 32 bytes.- Parameters:
g (EC) – curve index
Native TEAL opcode:
ec_scalar_mul
- static scalar_mul_multi(
- g: algopy.op.EC,
- a: algopy.Bytes | bytes,
- b: algopy.Bytes | bytes,
- /,
for curve points A and scalars B, return curve point B0A0 + B1A1 + B2A2 + … + BnAn A is a list of concatenated points, encoded and checked as described in
ec_add
. B is a list of concatenated scalars which, unlike ec_scalar_mul, must all be exactly 32 bytes long. The nameec_multi_scalar_mul
was chosen to reflect common usage, but a more consistent name would beec_multi_scalar_mul
. AVM values are limited to 4096 bytes, soec_multi_scalar_mul
is limited by the size of the points in the group being operated upon.- Parameters:
g (EC) – curve index
Native TEAL opcode:
ec_multi_scalar_mul
- static subgroup_check(g: algopy.op.EC, a: algopy.Bytes | bytes, /) bool ¶
1 if A is in the main prime-order subgroup of G (including the point at infinity) else 0. Program fails if A is not in G at all.
- Parameters:
g (EC) – curve index
Native TEAL opcode:
ec_subgroup_check
- class algopy.op.GITxn¶
Get values for inner transaction in the last group submitted Native TEAL ops:
gitxn
,gitxnas
- static accounts(t: int, a: algopy.UInt64 | int, /) algopy.Account ¶
- Parameters:
t (int) – transaction group index
- Returns Account:
Accounts listed in the ApplicationCall transaction
- static amount(t: int, /) algopy.UInt64 ¶
- Parameters:
t (int) – transaction group index
- Returns UInt64:
microalgos
Native TEAL opcode:
gitxn
- static application_args(t: int, a: algopy.UInt64 | int, /) algopy.Bytes ¶
- Parameters:
t (int) – transaction group index
- Returns Bytes:
Arguments passed to the application in the ApplicationCall transaction
- static application_id(t: int, /) algopy.Application ¶
- Parameters:
t (int) – transaction group index
- Returns Application:
ApplicationID from ApplicationCall transaction
Native TEAL opcode:
gitxn
- static applications(t: int, a: algopy.UInt64 | int, /) algopy.Application ¶
- Parameters:
t (int) – transaction group index
- Returns Application:
Foreign Apps listed in the ApplicationCall transaction
- static approval_program(t: int, /) algopy.Bytes ¶
- Parameters:
t (int) – transaction group index
- Returns Bytes:
Approval program
Native TEAL opcode:
gitxn
- static approval_program_pages(t: int, a: algopy.UInt64 | int, /) algopy.Bytes ¶
- Parameters:
t (int) – transaction group index
- Returns Bytes:
Approval Program as an array of pages
- static asset_amount(t: int, /) algopy.UInt64 ¶
- Parameters:
t (int) – transaction group index
- Returns UInt64:
value in Asset’s units
Native TEAL opcode:
gitxn
- static asset_close_to(t: int, /) algopy.Account ¶
- Parameters:
t (int) – transaction group index
- Returns Account:
32 byte address
Native TEAL opcode:
gitxn
- static asset_receiver(t: int, /) algopy.Account ¶
- Parameters:
t (int) – transaction group index
- Returns Account:
32 byte address
Native TEAL opcode:
gitxn
- static asset_sender(t: int, /) algopy.Account ¶
- Parameters:
t (int) – transaction group index
- Returns Account:
32 byte address. Source of assets if Sender is the Asset’s Clawback address.
Native TEAL opcode:
gitxn
- static assets(t: int, a: algopy.UInt64 | int, /) algopy.Asset ¶
- Parameters:
t (int) – transaction group index
- Returns Asset:
Foreign Assets listed in the ApplicationCall transaction
- static clear_state_program(t: int, /) algopy.Bytes ¶
- Parameters:
t (int) – transaction group index
- Returns Bytes:
Clear state program
Native TEAL opcode:
gitxn
- static clear_state_program_pages(t: int, a: algopy.UInt64 | int, /) algopy.Bytes ¶
- Parameters:
t (int) – transaction group index
- Returns Bytes:
ClearState Program as an array of pages
- static close_remainder_to(t: int, /) algopy.Account ¶
- Parameters:
t (int) – transaction group index
- Returns Account:
32 byte address
Native TEAL opcode:
gitxn
- static config_asset(t: int, /) algopy.Asset ¶
- Parameters:
t (int) – transaction group index
- Returns Asset:
Asset ID in asset config transaction
Native TEAL opcode:
gitxn
- static config_asset_clawback(t: int, /) algopy.Account ¶
- Parameters:
t (int) – transaction group index
- Returns Account:
32 byte address
Native TEAL opcode:
gitxn
- static config_asset_decimals(t: int, /) algopy.UInt64 ¶
- Parameters:
t (int) – transaction group index
- Returns UInt64:
Number of digits to display after the decimal place when displaying the asset
Native TEAL opcode:
gitxn
- static config_asset_default_frozen(t: int, /) bool ¶
- Parameters:
t (int) – transaction group index
- Returns bool:
Whether the asset’s slots are frozen by default or not, 0 or 1
Native TEAL opcode:
gitxn
- static config_asset_freeze(t: int, /) algopy.Account ¶
- Parameters:
t (int) – transaction group index
- Returns Account:
32 byte address
Native TEAL opcode:
gitxn
- static config_asset_manager(t: int, /) algopy.Account ¶
- Parameters:
t (int) – transaction group index
- Returns Account:
32 byte address
Native TEAL opcode:
gitxn
- static config_asset_metadata_hash(t: int, /) algopy.Bytes ¶
- Parameters:
t (int) – transaction group index
- Returns Bytes:
32 byte commitment to unspecified asset metadata
Native TEAL opcode:
gitxn
- static config_asset_name(t: int, /) algopy.Bytes ¶
- Parameters:
t (int) – transaction group index
- Returns Bytes:
The asset name
Native TEAL opcode:
gitxn
- static config_asset_reserve(t: int, /) algopy.Account ¶
- Parameters:
t (int) – transaction group index
- Returns Account:
32 byte address
Native TEAL opcode:
gitxn
- static config_asset_total(t: int, /) algopy.UInt64 ¶
- Parameters:
t (int) – transaction group index
- Returns UInt64:
Total number of units of this asset created
Native TEAL opcode:
gitxn
- static config_asset_unit_name(t: int, /) algopy.Bytes ¶
- Parameters:
t (int) – transaction group index
- Returns Bytes:
Unit name of the asset
Native TEAL opcode:
gitxn
- static config_asset_url(t: int, /) algopy.Bytes ¶
- Parameters:
t (int) – transaction group index
- Returns Bytes:
URL
Native TEAL opcode:
gitxn
- static created_application_id(t: int, /) algopy.Application ¶
- Parameters:
t (int) – transaction group index
- Returns Application:
ApplicationID allocated by the creation of an application (only with
itxn
in v5). Application mode only
Native TEAL opcode:
gitxn
- static created_asset_id(t: int, /) algopy.Asset ¶
- Parameters:
t (int) – transaction group index
- Returns Asset:
Asset ID allocated by the creation of an ASA (only with
itxn
in v5). Application mode only
Native TEAL opcode:
gitxn
- static extra_program_pages(t: int, /) algopy.UInt64 ¶
- Parameters:
t (int) – transaction group index
- Returns UInt64:
Number of additional pages for each of the application’s approval and clear state programs. An ExtraProgramPages of 1 means 2048 more total bytes, or 1024 for each program.
Native TEAL opcode:
gitxn
- static fee(t: int, /) algopy.UInt64 ¶
- Parameters:
t (int) – transaction group index
- Returns UInt64:
microalgos
Native TEAL opcode:
gitxn
- static first_valid(t: int, /) algopy.UInt64 ¶
- Parameters:
t (int) – transaction group index
- Returns UInt64:
round number
Native TEAL opcode:
gitxn
- static first_valid_time(t: int, /) algopy.UInt64 ¶
- Parameters:
t (int) – transaction group index
- Returns UInt64:
UNIX timestamp of block before txn.FirstValid. Fails if negative
Native TEAL opcode:
gitxn
- static freeze_asset(t: int, /) algopy.Asset ¶
- Parameters:
t (int) – transaction group index
- Returns Asset:
Asset ID being frozen or un-frozen
Native TEAL opcode:
gitxn
- static freeze_asset_account(t: int, /) algopy.Account ¶
- Parameters:
t (int) – transaction group index
- Returns Account:
32 byte address of the account whose asset slot is being frozen or un-frozen
Native TEAL opcode:
gitxn
- static freeze_asset_frozen(t: int, /) bool ¶
- Parameters:
t (int) – transaction group index
- Returns bool:
The new frozen value, 0 or 1
Native TEAL opcode:
gitxn
- static global_num_byte_slice(t: int, /) algopy.UInt64 ¶
- Parameters:
t (int) – transaction group index
- Returns UInt64:
Number of global state byteslices in ApplicationCall
Native TEAL opcode:
gitxn
- static global_num_uint(t: int, /) algopy.UInt64 ¶
- Parameters:
t (int) – transaction group index
- Returns UInt64:
Number of global state integers in ApplicationCall
Native TEAL opcode:
gitxn
- static group_index(t: int, /) algopy.UInt64 ¶
- Parameters:
t (int) – transaction group index
- Returns UInt64:
Position of this transaction within an atomic transaction group. A stand-alone transaction is implicitly element 0 in a group of 1
Native TEAL opcode:
gitxn
- static last_log(t: int, /) algopy.Bytes ¶
- Parameters:
t (int) – transaction group index
- Returns Bytes:
The last message emitted. Empty bytes if none were emitted. Application mode only
Native TEAL opcode:
gitxn
- static last_valid(t: int, /) algopy.UInt64 ¶
- Parameters:
t (int) – transaction group index
- Returns UInt64:
round number
Native TEAL opcode:
gitxn
- static lease(t: int, /) algopy.Bytes ¶
- Parameters:
t (int) – transaction group index
- Returns Bytes:
32 byte lease value
Native TEAL opcode:
gitxn
- static local_num_byte_slice(t: int, /) algopy.UInt64 ¶
- Parameters:
t (int) – transaction group index
- Returns UInt64:
Number of local state byteslices in ApplicationCall
Native TEAL opcode:
gitxn
- static local_num_uint(t: int, /) algopy.UInt64 ¶
- Parameters:
t (int) – transaction group index
- Returns UInt64:
Number of local state integers in ApplicationCall
Native TEAL opcode:
gitxn
- static logs(t: int, a: algopy.UInt64 | int, /) algopy.Bytes ¶
- Parameters:
t (int) – transaction group index
- Returns Bytes:
Log messages emitted by an application call (only with
itxn
in v5). Application mode only
- static nonparticipation(t: int, /) bool ¶
- Parameters:
t (int) – transaction group index
- Returns bool:
Marks an account nonparticipating for rewards
Native TEAL opcode:
gitxn
- static note(t: int, /) algopy.Bytes ¶
- Parameters:
t (int) – transaction group index
- Returns Bytes:
Any data up to 1024 bytes
Native TEAL opcode:
gitxn
- static num_accounts(t: int, /) algopy.UInt64 ¶
- Parameters:
t (int) – transaction group index
- Returns UInt64:
Number of Accounts
Native TEAL opcode:
gitxn
- static num_app_args(t: int, /) algopy.UInt64 ¶
- Parameters:
t (int) – transaction group index
- Returns UInt64:
Number of ApplicationArgs
Native TEAL opcode:
gitxn
- static num_applications(t: int, /) algopy.UInt64 ¶
- Parameters:
t (int) – transaction group index
- Returns UInt64:
Number of Applications
Native TEAL opcode:
gitxn
- static num_approval_program_pages(t: int, /) algopy.UInt64 ¶
- Parameters:
t (int) – transaction group index
- Returns UInt64:
Number of Approval Program pages
Native TEAL opcode:
gitxn
- static num_assets(t: int, /) algopy.UInt64 ¶
- Parameters:
t (int) – transaction group index
- Returns UInt64:
Number of Assets
Native TEAL opcode:
gitxn
- static num_clear_state_program_pages(t: int, /) algopy.UInt64 ¶
- Parameters:
t (int) – transaction group index
- Returns UInt64:
Number of ClearState Program pages
Native TEAL opcode:
gitxn
- static num_logs(t: int, /) algopy.UInt64 ¶
- Parameters:
t (int) – transaction group index
- Returns UInt64:
Number of Logs (only with
itxn
in v5). Application mode only
Native TEAL opcode:
gitxn
- static on_completion(t: int, /) algopy.OnCompleteAction ¶
- Parameters:
t (int) – transaction group index
- Returns OnCompleteAction:
ApplicationCall transaction on completion action
Native TEAL opcode:
gitxn
- static receiver(t: int, /) algopy.Account ¶
- Parameters:
t (int) – transaction group index
- Returns Account:
32 byte address
Native TEAL opcode:
gitxn
- static rekey_to(t: int, /) algopy.Account ¶
- Parameters:
t (int) – transaction group index
- Returns Account:
32 byte Sender’s new AuthAddr
Native TEAL opcode:
gitxn
- static selection_pk(t: int, /) algopy.Bytes ¶
- Parameters:
t (int) – transaction group index
- Returns Bytes:
32 byte address
Native TEAL opcode:
gitxn
- static sender(t: int, /) algopy.Account ¶
- Parameters:
t (int) – transaction group index
- Returns Account:
32 byte address
Native TEAL opcode:
gitxn
- static state_proof_pk(t: int, /) algopy.Bytes ¶
- Parameters:
t (int) – transaction group index
- Returns Bytes:
64 byte state proof public key
Native TEAL opcode:
gitxn
- static tx_id(t: int, /) algopy.Bytes ¶
- Parameters:
t (int) – transaction group index
- Returns Bytes:
The computed ID for this transaction. 32 bytes.
Native TEAL opcode:
gitxn
- static type(t: int, /) algopy.Bytes ¶
- Parameters:
t (int) – transaction group index
- Returns Bytes:
Transaction type as bytes
Native TEAL opcode:
gitxn
- static type_enum(t: int, /) algopy.TransactionType ¶
- Parameters:
t (int) – transaction group index
- Returns TransactionType:
Transaction type as integer
Native TEAL opcode:
gitxn
- static vote_first(t: int, /) algopy.UInt64 ¶
- Parameters:
t (int) – transaction group index
- Returns UInt64:
The first round that the participation key is valid.
Native TEAL opcode:
gitxn
- static vote_key_dilution(t: int, /) algopy.UInt64 ¶
- Parameters:
t (int) – transaction group index
- Returns UInt64:
Dilution for the 2-level participation key
Native TEAL opcode:
gitxn
- static vote_last(t: int, /) algopy.UInt64 ¶
- Parameters:
t (int) – transaction group index
- Returns UInt64:
The last round that the participation key is valid.
Native TEAL opcode:
gitxn
- static vote_pk(t: int, /) algopy.Bytes ¶
- Parameters:
t (int) – transaction group index
- Returns Bytes:
32 byte address
Native TEAL opcode:
gitxn
- static xfer_asset(t: int, /) algopy.Asset ¶
- Parameters:
t (int) – transaction group index
- Returns Asset:
Asset ID
Native TEAL opcode:
gitxn
- class algopy.op.GTxn¶
Get values for transactions in the current group Native TEAL ops:
gtxns
,gtxnsas
- static accounts(a: algopy.UInt64 | int, b: algopy.UInt64 | int, /) algopy.Account ¶
Accounts listed in the ApplicationCall transaction
- static amount(a: algopy.UInt64 | int, /) algopy.UInt64 ¶
microalgos
- static application_args(
- a: algopy.UInt64 | int,
- b: algopy.UInt64 | int,
- /,
Arguments passed to the application in the ApplicationCall transaction
- static application_id(a: algopy.UInt64 | int, /) algopy.Application ¶
ApplicationID from ApplicationCall transaction
- static applications(
- a: algopy.UInt64 | int,
- b: algopy.UInt64 | int,
- /,
Foreign Apps listed in the ApplicationCall transaction
- static approval_program(a: algopy.UInt64 | int, /) algopy.Bytes ¶
Approval program
- static approval_program_pages(
- a: algopy.UInt64 | int,
- b: algopy.UInt64 | int,
- /,
Approval Program as an array of pages
- static asset_amount(a: algopy.UInt64 | int, /) algopy.UInt64 ¶
value in Asset’s units
- static asset_close_to(a: algopy.UInt64 | int, /) algopy.Account ¶
32 byte address
- static asset_receiver(a: algopy.UInt64 | int, /) algopy.Account ¶
32 byte address
- static asset_sender(a: algopy.UInt64 | int, /) algopy.Account ¶
32 byte address. Source of assets if Sender is the Asset’s Clawback address.
- static assets(a: algopy.UInt64 | int, b: algopy.UInt64 | int, /) algopy.Asset ¶
Foreign Assets listed in the ApplicationCall transaction
- static clear_state_program(a: algopy.UInt64 | int, /) algopy.Bytes ¶
Clear state program
- static clear_state_program_pages(
- a: algopy.UInt64 | int,
- b: algopy.UInt64 | int,
- /,
ClearState Program as an array of pages
- static close_remainder_to(a: algopy.UInt64 | int, /) algopy.Account ¶
32 byte address
- static config_asset(a: algopy.UInt64 | int, /) algopy.Asset ¶
Asset ID in asset config transaction
- static config_asset_clawback(a: algopy.UInt64 | int, /) algopy.Account ¶
32 byte address
- static config_asset_decimals(a: algopy.UInt64 | int, /) algopy.UInt64 ¶
Number of digits to display after the decimal place when displaying the asset
- static config_asset_default_frozen(a: algopy.UInt64 | int, /) bool ¶
Whether the asset’s slots are frozen by default or not, 0 or 1
- static config_asset_freeze(a: algopy.UInt64 | int, /) algopy.Account ¶
32 byte address
- static config_asset_manager(a: algopy.UInt64 | int, /) algopy.Account ¶
32 byte address
- static config_asset_metadata_hash(a: algopy.UInt64 | int, /) algopy.Bytes ¶
32 byte commitment to unspecified asset metadata
- static config_asset_name(a: algopy.UInt64 | int, /) algopy.Bytes ¶
The asset name
- static config_asset_reserve(a: algopy.UInt64 | int, /) algopy.Account ¶
32 byte address
- static config_asset_total(a: algopy.UInt64 | int, /) algopy.UInt64 ¶
Total number of units of this asset created
- static config_asset_unit_name(a: algopy.UInt64 | int, /) algopy.Bytes ¶
Unit name of the asset
- static config_asset_url(a: algopy.UInt64 | int, /) algopy.Bytes ¶
URL
- static created_application_id(a: algopy.UInt64 | int, /) algopy.Application ¶
ApplicationID allocated by the creation of an application (only with
itxn
in v5). Application mode only
- static created_asset_id(a: algopy.UInt64 | int, /) algopy.Asset ¶
Asset ID allocated by the creation of an ASA (only with
itxn
in v5). Application mode only
- static extra_program_pages(a: algopy.UInt64 | int, /) algopy.UInt64 ¶
Number of additional pages for each of the application’s approval and clear state programs. An ExtraProgramPages of 1 means 2048 more total bytes, or 1024 for each program.
- static fee(a: algopy.UInt64 | int, /) algopy.UInt64 ¶
microalgos
- static first_valid(a: algopy.UInt64 | int, /) algopy.UInt64 ¶
round number
- static first_valid_time(a: algopy.UInt64 | int, /) algopy.UInt64 ¶
UNIX timestamp of block before txn.FirstValid. Fails if negative
- static freeze_asset(a: algopy.UInt64 | int, /) algopy.Asset ¶
Asset ID being frozen or un-frozen
- static freeze_asset_account(a: algopy.UInt64 | int, /) algopy.Account ¶
32 byte address of the account whose asset slot is being frozen or un-frozen
- static freeze_asset_frozen(a: algopy.UInt64 | int, /) bool ¶
The new frozen value, 0 or 1
- static global_num_byte_slice(a: algopy.UInt64 | int, /) algopy.UInt64 ¶
Number of global state byteslices in ApplicationCall
- static global_num_uint(a: algopy.UInt64 | int, /) algopy.UInt64 ¶
Number of global state integers in ApplicationCall
- static group_index(a: algopy.UInt64 | int, /) algopy.UInt64 ¶
Position of this transaction within an atomic transaction group. A stand-alone transaction is implicitly element 0 in a group of 1
- static last_log(a: algopy.UInt64 | int, /) algopy.Bytes ¶
The last message emitted. Empty bytes if none were emitted. Application mode only
- static last_valid(a: algopy.UInt64 | int, /) algopy.UInt64 ¶
round number
- static lease(a: algopy.UInt64 | int, /) algopy.Bytes ¶
32 byte lease value
- static local_num_byte_slice(a: algopy.UInt64 | int, /) algopy.UInt64 ¶
Number of local state byteslices in ApplicationCall
- static local_num_uint(a: algopy.UInt64 | int, /) algopy.UInt64 ¶
Number of local state integers in ApplicationCall
- static logs(a: algopy.UInt64 | int, b: algopy.UInt64 | int, /) algopy.Bytes ¶
Log messages emitted by an application call (only with
itxn
in v5). Application mode only
- static nonparticipation(a: algopy.UInt64 | int, /) bool ¶
Marks an account nonparticipating for rewards
- static note(a: algopy.UInt64 | int, /) algopy.Bytes ¶
Any data up to 1024 bytes
- static num_accounts(a: algopy.UInt64 | int, /) algopy.UInt64 ¶
Number of Accounts
- static num_app_args(a: algopy.UInt64 | int, /) algopy.UInt64 ¶
Number of ApplicationArgs
- static num_applications(a: algopy.UInt64 | int, /) algopy.UInt64 ¶
Number of Applications
- static num_approval_program_pages(a: algopy.UInt64 | int, /) algopy.UInt64 ¶
Number of Approval Program pages
- static num_assets(a: algopy.UInt64 | int, /) algopy.UInt64 ¶
Number of Assets
- static num_clear_state_program_pages(a: algopy.UInt64 | int, /) algopy.UInt64 ¶
Number of ClearState Program pages
- static num_logs(a: algopy.UInt64 | int, /) algopy.UInt64 ¶
Number of Logs (only with
itxn
in v5). Application mode only
- static on_completion(a: algopy.UInt64 | int, /) algopy.OnCompleteAction ¶
ApplicationCall transaction on completion action
- static receiver(a: algopy.UInt64 | int, /) algopy.Account ¶
32 byte address
- static rekey_to(a: algopy.UInt64 | int, /) algopy.Account ¶
32 byte Sender’s new AuthAddr
- static selection_pk(a: algopy.UInt64 | int, /) algopy.Bytes ¶
32 byte address
- static sender(a: algopy.UInt64 | int, /) algopy.Account ¶
32 byte address
- static state_proof_pk(a: algopy.UInt64 | int, /) algopy.Bytes ¶
64 byte state proof public key
- static tx_id(a: algopy.UInt64 | int, /) algopy.Bytes ¶
The computed ID for this transaction. 32 bytes.
- static type(a: algopy.UInt64 | int, /) algopy.Bytes ¶
Transaction type as bytes
- static type_enum(a: algopy.UInt64 | int, /) algopy.TransactionType ¶
Transaction type as integer
- static vote_first(a: algopy.UInt64 | int, /) algopy.UInt64 ¶
The first round that the participation key is valid.
- static vote_key_dilution(a: algopy.UInt64 | int, /) algopy.UInt64 ¶
Dilution for the 2-level participation key
- static vote_last(a: algopy.UInt64 | int, /) algopy.UInt64 ¶
The last round that the participation key is valid.
- static vote_pk(a: algopy.UInt64 | int, /) algopy.Bytes ¶
32 byte address
- static xfer_asset(a: algopy.UInt64 | int, /) algopy.Asset ¶
Asset ID
- class algopy.op.Global¶
Get Global values Native TEAL op:
global
- asset_create_min_balance: Final[algopy.UInt64]¶
Ellipsis
The additional minimum balance required to create (and opt-in to) an asset.
- asset_opt_in_min_balance: Final[algopy.UInt64]¶
Ellipsis
The additional minimum balance required to opt-in to an asset.
- caller_application_address: Final[algopy.Account]¶
Ellipsis
The application address of the application that called this application. ZeroAddress if this application is at the top-level. Application mode only.
- caller_application_id: Final[algopy.UInt64]¶
Ellipsis
The application ID of the application that called this application. 0 if this application is at the top-level. Application mode only.
- creator_address: Final[algopy.Account]¶
Ellipsis
Address of the creator of the current application. Application mode only.
- current_application_address: Final[algopy.Account]¶
Ellipsis
Address that the current application controls. Application mode only.
- current_application_id: Final[algopy.Application]¶
Ellipsis
ID of current application executing. Application mode only.
- genesis_hash: Final[algopy.Bytes]¶
Ellipsis
The Genesis Hash for the network.
- group_id: Final[algopy.Bytes]¶
Ellipsis
ID of the transaction group. 32 zero bytes if the transaction is not part of a group.
- group_size: Final[algopy.UInt64]¶
Ellipsis
Number of transactions in this atomic transaction group. At least 1
- latest_timestamp: Final[algopy.UInt64]¶
Ellipsis
Last confirmed block UNIX timestamp. Fails if negative. Application mode only.
- logic_sig_version: Final[algopy.UInt64]¶
Ellipsis
Maximum supported version
- max_txn_life: Final[algopy.UInt64]¶
Ellipsis
rounds
- min_balance: Final[algopy.UInt64]¶
Ellipsis
microalgos
- min_txn_fee: Final[algopy.UInt64]¶
Ellipsis
microalgos
- static opcode_budget() algopy.UInt64 ¶
The remaining cost that can be spent by opcodes in this program.
Native TEAL opcode:
global
- payouts_enabled: Final[bool]¶
Ellipsis
Whether block proposal payouts are enabled. Min AVM version: 11
- payouts_go_online_fee: Final[algopy.UInt64]¶
Ellipsis
The fee required in a keyreg transaction to make an account incentive eligible. Min AVM version: 11
- payouts_max_balance: Final[algopy.UInt64]¶
Ellipsis
The maximum algo balance an account can have in the agreement round to receive block payouts in the proposal round. Min AVM version: 11
- payouts_min_balance: Final[algopy.UInt64]¶
Ellipsis
The minimum algo balance an account must have in the agreement round to receive block payouts in the proposal round. Min AVM version: 11
- payouts_percent: Final[algopy.UInt64]¶
Ellipsis
The percentage of transaction fees in a block that can be paid to the block proposer. Min AVM version: 11
- round: Final[algopy.UInt64]¶
Ellipsis
Current round number. Application mode only.
- zero_address: Final[algopy.Account]¶
Ellipsis
32 byte address of all zero bytes
- class algopy.op.ITxn¶
Get values for the last inner transaction Native TEAL ops:
itxn
,itxnas
- static accounts(a: algopy.UInt64 | int, /) algopy.Account ¶
Accounts listed in the ApplicationCall transaction
- static amount() algopy.UInt64 ¶
microalgos
Native TEAL opcode:
itxn
- static application_args(a: algopy.UInt64 | int, /) algopy.Bytes ¶
Arguments passed to the application in the ApplicationCall transaction
- static application_id() algopy.Application ¶
ApplicationID from ApplicationCall transaction
Native TEAL opcode:
itxn
- static applications(a: algopy.UInt64 | int, /) algopy.Application ¶
Foreign Apps listed in the ApplicationCall transaction
- static approval_program() algopy.Bytes ¶
Approval program
Native TEAL opcode:
itxn
- static approval_program_pages(a: algopy.UInt64 | int, /) algopy.Bytes ¶
Approval Program as an array of pages
- static asset_amount() algopy.UInt64 ¶
value in Asset’s units
Native TEAL opcode:
itxn
- static asset_close_to() algopy.Account ¶
32 byte address
Native TEAL opcode:
itxn
- static asset_receiver() algopy.Account ¶
32 byte address
Native TEAL opcode:
itxn
- static asset_sender() algopy.Account ¶
32 byte address. Source of assets if Sender is the Asset’s Clawback address.
Native TEAL opcode:
itxn
- static assets(a: algopy.UInt64 | int, /) algopy.Asset ¶
Foreign Assets listed in the ApplicationCall transaction
- static clear_state_program() algopy.Bytes ¶
Clear state program
Native TEAL opcode:
itxn
- static clear_state_program_pages(a: algopy.UInt64 | int, /) algopy.Bytes ¶
ClearState Program as an array of pages
- static close_remainder_to() algopy.Account ¶
32 byte address
Native TEAL opcode:
itxn
- static config_asset() algopy.Asset ¶
Asset ID in asset config transaction
Native TEAL opcode:
itxn
- static config_asset_clawback() algopy.Account ¶
32 byte address
Native TEAL opcode:
itxn
- static config_asset_decimals() algopy.UInt64 ¶
Number of digits to display after the decimal place when displaying the asset
Native TEAL opcode:
itxn
- static config_asset_default_frozen() bool ¶
Whether the asset’s slots are frozen by default or not, 0 or 1
Native TEAL opcode:
itxn
- static config_asset_freeze() algopy.Account ¶
32 byte address
Native TEAL opcode:
itxn
- static config_asset_manager() algopy.Account ¶
32 byte address
Native TEAL opcode:
itxn
- static config_asset_metadata_hash() algopy.Bytes ¶
32 byte commitment to unspecified asset metadata
Native TEAL opcode:
itxn
- static config_asset_name() algopy.Bytes ¶
The asset name
Native TEAL opcode:
itxn
- static config_asset_reserve() algopy.Account ¶
32 byte address
Native TEAL opcode:
itxn
- static config_asset_total() algopy.UInt64 ¶
Total number of units of this asset created
Native TEAL opcode:
itxn
- static config_asset_unit_name() algopy.Bytes ¶
Unit name of the asset
Native TEAL opcode:
itxn
- static config_asset_url() algopy.Bytes ¶
URL
Native TEAL opcode:
itxn
- static created_application_id() algopy.Application ¶
ApplicationID allocated by the creation of an application (only with
itxn
in v5). Application mode onlyNative TEAL opcode:
itxn
- static created_asset_id() algopy.Asset ¶
Asset ID allocated by the creation of an ASA (only with
itxn
in v5). Application mode onlyNative TEAL opcode:
itxn
- static extra_program_pages() algopy.UInt64 ¶
Number of additional pages for each of the application’s approval and clear state programs. An ExtraProgramPages of 1 means 2048 more total bytes, or 1024 for each program.
Native TEAL opcode:
itxn
- static fee() algopy.UInt64 ¶
microalgos
Native TEAL opcode:
itxn
- static first_valid() algopy.UInt64 ¶
round number
Native TEAL opcode:
itxn
- static first_valid_time() algopy.UInt64 ¶
UNIX timestamp of block before txn.FirstValid. Fails if negative
Native TEAL opcode:
itxn
- static freeze_asset() algopy.Asset ¶
Asset ID being frozen or un-frozen
Native TEAL opcode:
itxn
- static freeze_asset_account() algopy.Account ¶
32 byte address of the account whose asset slot is being frozen or un-frozen
Native TEAL opcode:
itxn
- static global_num_byte_slice() algopy.UInt64 ¶
Number of global state byteslices in ApplicationCall
Native TEAL opcode:
itxn
- static global_num_uint() algopy.UInt64 ¶
Number of global state integers in ApplicationCall
Native TEAL opcode:
itxn
- static group_index() algopy.UInt64 ¶
Position of this transaction within an atomic transaction group. A stand-alone transaction is implicitly element 0 in a group of 1
Native TEAL opcode:
itxn
- static last_log() algopy.Bytes ¶
The last message emitted. Empty bytes if none were emitted. Application mode only
Native TEAL opcode:
itxn
- static last_valid() algopy.UInt64 ¶
round number
Native TEAL opcode:
itxn
- static lease() algopy.Bytes ¶
32 byte lease value
Native TEAL opcode:
itxn
- static local_num_byte_slice() algopy.UInt64 ¶
Number of local state byteslices in ApplicationCall
Native TEAL opcode:
itxn
- static local_num_uint() algopy.UInt64 ¶
Number of local state integers in ApplicationCall
Native TEAL opcode:
itxn
- static logs(a: algopy.UInt64 | int, /) algopy.Bytes ¶
Log messages emitted by an application call (only with
itxn
in v5). Application mode only
- static nonparticipation() bool ¶
Marks an account nonparticipating for rewards
Native TEAL opcode:
itxn
- static note() algopy.Bytes ¶
Any data up to 1024 bytes
Native TEAL opcode:
itxn
- static num_accounts() algopy.UInt64 ¶
Number of Accounts
Native TEAL opcode:
itxn
- static num_app_args() algopy.UInt64 ¶
Number of ApplicationArgs
Native TEAL opcode:
itxn
- static num_applications() algopy.UInt64 ¶
Number of Applications
Native TEAL opcode:
itxn
- static num_approval_program_pages() algopy.UInt64 ¶
Number of Approval Program pages
Native TEAL opcode:
itxn
- static num_assets() algopy.UInt64 ¶
Number of Assets
Native TEAL opcode:
itxn
- static num_clear_state_program_pages() algopy.UInt64 ¶
Number of ClearState Program pages
Native TEAL opcode:
itxn
- static num_logs() algopy.UInt64 ¶
Number of Logs (only with
itxn
in v5). Application mode onlyNative TEAL opcode:
itxn
- static on_completion() algopy.OnCompleteAction ¶
ApplicationCall transaction on completion action
Native TEAL opcode:
itxn
- static receiver() algopy.Account ¶
32 byte address
Native TEAL opcode:
itxn
- static rekey_to() algopy.Account ¶
32 byte Sender’s new AuthAddr
Native TEAL opcode:
itxn
- static selection_pk() algopy.Bytes ¶
32 byte address
Native TEAL opcode:
itxn
- static sender() algopy.Account ¶
32 byte address
Native TEAL opcode:
itxn
- static state_proof_pk() algopy.Bytes ¶
64 byte state proof public key
Native TEAL opcode:
itxn
- static tx_id() algopy.Bytes ¶
The computed ID for this transaction. 32 bytes.
Native TEAL opcode:
itxn
- static type() algopy.Bytes ¶
Transaction type as bytes
Native TEAL opcode:
itxn
- static type_enum() algopy.TransactionType ¶
Transaction type as integer
Native TEAL opcode:
itxn
- static vote_first() algopy.UInt64 ¶
The first round that the participation key is valid.
Native TEAL opcode:
itxn
- static vote_key_dilution() algopy.UInt64 ¶
Dilution for the 2-level participation key
Native TEAL opcode:
itxn
- static vote_last() algopy.UInt64 ¶
The last round that the participation key is valid.
Native TEAL opcode:
itxn
- static vote_pk() algopy.Bytes ¶
32 byte address
Native TEAL opcode:
itxn
- static xfer_asset() algopy.Asset ¶
Asset ID
Native TEAL opcode:
itxn
- class algopy.op.ITxnCreate¶
Create inner transactions Native TEAL ops:
itxn_begin
,itxn_field
,itxn_next
,itxn_submit
- static begin() None ¶
begin preparation of a new inner transaction in a new transaction group
itxn_begin
initializes Sender to the application address; Fee to the minimum allowable, taking into account MinTxnFee and credit from overpaying in earlier transactions; FirstValid/LastValid to the values in the invoking transaction, and all other fields to zero or empty values.Native TEAL opcode:
itxn_begin
- static next() None ¶
begin preparation of a new inner transaction in the same transaction group
itxn_next
initializes the transaction exactly asitxn_begin
doesNative TEAL opcode:
itxn_next
- static set_accounts(a: algopy.Account, /) None ¶
- Parameters:
a (Account) – Accounts listed in the ApplicationCall transaction
Native TEAL opcode:
itxn_field
- static set_amount(a: algopy.UInt64 | int, /) None ¶
-
Native TEAL opcode:
itxn_field
- static set_application_args(a: algopy.Bytes | bytes, /) None ¶
- Parameters:
a (Bytes | bytes) – Arguments passed to the application in the ApplicationCall transaction
Native TEAL opcode:
itxn_field
- static set_application_id(a: algopy.Application | algopy.UInt64 | int, /) None ¶
- Parameters:
a (Application | UInt64 | int) – ApplicationID from ApplicationCall transaction
Native TEAL opcode:
itxn_field
- static set_applications(a: algopy.UInt64 | int, /) None ¶
-
Native TEAL opcode:
itxn_field
- static set_approval_program(a: algopy.Bytes | bytes, /) None ¶
-
Native TEAL opcode:
itxn_field
- static set_approval_program_pages(a: algopy.Bytes | bytes, /) None ¶
-
Native TEAL opcode:
itxn_field
- static set_asset_amount(a: algopy.UInt64 | int, /) None ¶
-
Native TEAL opcode:
itxn_field
- static set_asset_close_to(a: algopy.Account, /) None ¶
- Parameters:
a (Account) – 32 byte address
Native TEAL opcode:
itxn_field
- static set_asset_receiver(a: algopy.Account, /) None ¶
- Parameters:
a (Account) – 32 byte address
Native TEAL opcode:
itxn_field
- static set_asset_sender(a: algopy.Account, /) None ¶
- Parameters:
a (Account) – 32 byte address. Source of assets if Sender is the Asset’s Clawback address.
Native TEAL opcode:
itxn_field
- static set_assets(a: algopy.UInt64 | int, /) None ¶
-
Native TEAL opcode:
itxn_field
- static set_clear_state_program(a: algopy.Bytes | bytes, /) None ¶
-
Native TEAL opcode:
itxn_field
- static set_clear_state_program_pages(a: algopy.Bytes | bytes, /) None ¶
-
Native TEAL opcode:
itxn_field
- static set_close_remainder_to(a: algopy.Account, /) None ¶
- Parameters:
a (Account) – 32 byte address
Native TEAL opcode:
itxn_field
- static set_config_asset(a: algopy.Asset | algopy.UInt64 | int, /) None ¶
-
Native TEAL opcode:
itxn_field
- static set_config_asset_clawback(a: algopy.Account, /) None ¶
- Parameters:
a (Account) – 32 byte address
Native TEAL opcode:
itxn_field
- static set_config_asset_decimals(a: algopy.UInt64 | int, /) None ¶
- Parameters:
a (UInt64 | int) – Number of digits to display after the decimal place when displaying the asset
Native TEAL opcode:
itxn_field
- static set_config_asset_default_frozen(a: bool | algopy.UInt64 | int, /) None ¶
- Parameters:
a (bool | UInt64 | int) – Whether the asset’s slots are frozen by default or not, 0 or 1
Native TEAL opcode:
itxn_field
- static set_config_asset_freeze(a: algopy.Account, /) None ¶
- Parameters:
a (Account) – 32 byte address
Native TEAL opcode:
itxn_field
- static set_config_asset_manager(a: algopy.Account, /) None ¶
- Parameters:
a (Account) – 32 byte address
Native TEAL opcode:
itxn_field
- static set_config_asset_metadata_hash(a: algopy.Bytes | bytes, /) None ¶
-
Native TEAL opcode:
itxn_field
- static set_config_asset_name(a: algopy.Bytes | bytes, /) None ¶
-
Native TEAL opcode:
itxn_field
- static set_config_asset_reserve(a: algopy.Account, /) None ¶
- Parameters:
a (Account) – 32 byte address
Native TEAL opcode:
itxn_field
- static set_config_asset_total(a: algopy.UInt64 | int, /) None ¶
-
Native TEAL opcode:
itxn_field
- static set_config_asset_unit_name(a: algopy.Bytes | bytes, /) None ¶
-
Native TEAL opcode:
itxn_field
- static set_config_asset_url(a: algopy.Bytes | bytes, /) None ¶
-
Native TEAL opcode:
itxn_field
- static set_extra_program_pages(a: algopy.UInt64 | int, /) None ¶
- Parameters:
a (UInt64 | int) – Number of additional pages for each of the application’s approval and clear state programs. An ExtraProgramPages of 1 means 2048 more total bytes, or 1024 for each program.
Native TEAL opcode:
itxn_field
- static set_fee(a: algopy.UInt64 | int, /) None ¶
-
Native TEAL opcode:
itxn_field
- static set_freeze_asset(a: algopy.Asset | algopy.UInt64 | int, /) None ¶
-
Native TEAL opcode:
itxn_field
- static set_freeze_asset_account(a: algopy.Account, /) None ¶
- Parameters:
a (Account) – 32 byte address of the account whose asset slot is being frozen or un-frozen
Native TEAL opcode:
itxn_field
- static set_freeze_asset_frozen(a: bool | algopy.UInt64 | int, /) None ¶
-
Native TEAL opcode:
itxn_field
- static set_global_num_byte_slice(a: algopy.UInt64 | int, /) None ¶
-
Native TEAL opcode:
itxn_field
- static set_global_num_uint(a: algopy.UInt64 | int, /) None ¶
-
Native TEAL opcode:
itxn_field
- static set_local_num_byte_slice(a: algopy.UInt64 | int, /) None ¶
-
Native TEAL opcode:
itxn_field
- static set_local_num_uint(a: algopy.UInt64 | int, /) None ¶
-
Native TEAL opcode:
itxn_field
- static set_nonparticipation(a: bool | algopy.UInt64 | int, /) None ¶
-
Native TEAL opcode:
itxn_field
- static set_note(a: algopy.Bytes | bytes, /) None ¶
-
Native TEAL opcode:
itxn_field
- static set_on_completion(a: algopy.UInt64 | int, /) None ¶
-
Native TEAL opcode:
itxn_field
- static set_receiver(a: algopy.Account, /) None ¶
- Parameters:
a (Account) – 32 byte address
Native TEAL opcode:
itxn_field
- static set_rekey_to(a: algopy.Account, /) None ¶
- Parameters:
a (Account) – 32 byte Sender’s new AuthAddr
Native TEAL opcode:
itxn_field
- static set_selection_pk(a: algopy.Bytes | bytes, /) None ¶
-
Native TEAL opcode:
itxn_field
- static set_sender(a: algopy.Account, /) None ¶
- Parameters:
a (Account) – 32 byte address
Native TEAL opcode:
itxn_field
- static set_state_proof_pk(a: algopy.Bytes | bytes, /) None ¶
-
Native TEAL opcode:
itxn_field
- static set_type(a: algopy.Bytes | bytes, /) None ¶
-
Native TEAL opcode:
itxn_field
- static set_type_enum(a: algopy.UInt64 | int, /) None ¶
-
Native TEAL opcode:
itxn_field
- static set_vote_first(a: algopy.UInt64 | int, /) None ¶
-
Native TEAL opcode:
itxn_field
- static set_vote_key_dilution(a: algopy.UInt64 | int, /) None ¶
-
Native TEAL opcode:
itxn_field
- static set_vote_last(a: algopy.UInt64 | int, /) None ¶
-
Native TEAL opcode:
itxn_field
- static set_vote_pk(a: algopy.Bytes | bytes, /) None ¶
-
Native TEAL opcode:
itxn_field
- static set_xfer_asset(a: algopy.Asset | algopy.UInt64 | int, /) None ¶
-
Native TEAL opcode:
itxn_field
- static submit() None ¶
execute the current inner transaction group. Fail if executing this group would exceed the inner transaction limit, or if any transaction in the group fails.
itxn_submit
resets the current transaction so that it can not be resubmitted. A newitxn_begin
is required to prepare another inner transaction.Native TEAL opcode:
itxn_submit
- class algopy.op.JsonRef¶
key B’s value, of type R, from a valid utf-8 encoded json object A Warning: Usage should be restricted to very rare use cases, as JSON decoding is expensive and quite limited. In addition, JSON objects are large and not optimized for size. Almost all smart contracts should use simpler and smaller methods (such as the ABI. This opcode should only be used in cases where JSON is only available option, e.g. when a third-party only signs JSON. Native TEAL op:
json_ref
- static json_object(a: algopy.Bytes | bytes, b: algopy.Bytes | bytes, /) algopy.Bytes ¶
Native TEAL opcode:
json_ref
- static json_string(a: algopy.Bytes | bytes, b: algopy.Bytes | bytes, /) algopy.Bytes ¶
Native TEAL opcode:
json_ref
- static json_uint64(
- a: algopy.Bytes | bytes,
- b: algopy.Bytes | bytes,
- /,
Native TEAL opcode:
json_ref
- class algopy.op.Scratch¶
Load or store scratch values Native TEAL ops:
loads
,stores
- static load_bytes(a: algopy.UInt64 | int, /) algopy.Bytes ¶
Ath scratch space value. All scratch spaces are 0 at program start.
Native TEAL opcode:
loads
- static load_uint64(a: algopy.UInt64 | int, /) algopy.UInt64 ¶
Ath scratch space value. All scratch spaces are 0 at program start.
Native TEAL opcode:
loads
- static store(
- a: algopy.UInt64 | int,
- b: algopy.Bytes | algopy.UInt64 | bytes | int,
- /,
store B to the Ath scratch space
Native TEAL opcode:
stores
- class algopy.op.Txn¶
Get values for the current executing transaction Native TEAL ops:
txn
,txnas
- static accounts(a: algopy.UInt64 | int, /) algopy.Account ¶
Accounts listed in the ApplicationCall transaction
- amount: Final[algopy.UInt64]¶
Ellipsis
microalgos
- static application_args(a: algopy.UInt64 | int, /) algopy.Bytes ¶
Arguments passed to the application in the ApplicationCall transaction
- application_id: Final[algopy.Application]¶
Ellipsis
ApplicationID from ApplicationCall transaction
- static applications(a: algopy.UInt64 | int, /) algopy.Application ¶
Foreign Apps listed in the ApplicationCall transaction
- approval_program: Final[algopy.Bytes]¶
Ellipsis
Approval program
- static approval_program_pages(a: algopy.UInt64 | int, /) algopy.Bytes ¶
Approval Program as an array of pages
- asset_amount: Final[algopy.UInt64]¶
Ellipsis
value in Asset’s units
- asset_close_to: Final[algopy.Account]¶
Ellipsis
32 byte address
- asset_receiver: Final[algopy.Account]¶
Ellipsis
32 byte address
- asset_sender: Final[algopy.Account]¶
Ellipsis
32 byte address. Source of assets if Sender is the Asset’s Clawback address.
- static assets(a: algopy.UInt64 | int, /) algopy.Asset ¶
Foreign Assets listed in the ApplicationCall transaction
- clear_state_program: Final[algopy.Bytes]¶
Ellipsis
Clear state program
- static clear_state_program_pages(a: algopy.UInt64 | int, /) algopy.Bytes ¶
ClearState Program as an array of pages
- close_remainder_to: Final[algopy.Account]¶
Ellipsis
32 byte address
- config_asset: Final[algopy.Asset]¶
Ellipsis
Asset ID in asset config transaction
- config_asset_clawback: Final[algopy.Account]¶
Ellipsis
32 byte address
- config_asset_decimals: Final[algopy.UInt64]¶
Ellipsis
Number of digits to display after the decimal place when displaying the asset
- config_asset_default_frozen: Final[bool]¶
Ellipsis
Whether the asset’s slots are frozen by default or not, 0 or 1
- config_asset_freeze: Final[algopy.Account]¶
Ellipsis
32 byte address
- config_asset_manager: Final[algopy.Account]¶
Ellipsis
32 byte address
- config_asset_metadata_hash: Final[algopy.Bytes]¶
Ellipsis
32 byte commitment to unspecified asset metadata
- config_asset_name: Final[algopy.Bytes]¶
Ellipsis
The asset name
- config_asset_reserve: Final[algopy.Account]¶
Ellipsis
32 byte address
- config_asset_total: Final[algopy.UInt64]¶
Ellipsis
Total number of units of this asset created
- config_asset_unit_name: Final[algopy.Bytes]¶
Ellipsis
Unit name of the asset
- config_asset_url: Final[algopy.Bytes]¶
Ellipsis
URL
- created_application_id: Final[algopy.Application]¶
Ellipsis
ApplicationID allocated by the creation of an application (only with
itxn
in v5). Application mode only
- created_asset_id: Final[algopy.Asset]¶
Ellipsis
Asset ID allocated by the creation of an ASA (only with
itxn
in v5). Application mode only
- extra_program_pages: Final[algopy.UInt64]¶
Ellipsis
Number of additional pages for each of the application’s approval and clear state programs. An ExtraProgramPages of 1 means 2048 more total bytes, or 1024 for each program.
- fee: Final[algopy.UInt64]¶
Ellipsis
microalgos
- first_valid: Final[algopy.UInt64]¶
Ellipsis
round number
- first_valid_time: Final[algopy.UInt64]¶
Ellipsis
UNIX timestamp of block before txn.FirstValid. Fails if negative
- freeze_asset: Final[algopy.Asset]¶
Ellipsis
Asset ID being frozen or un-frozen
- freeze_asset_account: Final[algopy.Account]¶
Ellipsis
32 byte address of the account whose asset slot is being frozen or un-frozen
- global_num_byte_slice: Final[algopy.UInt64]¶
Ellipsis
Number of global state byteslices in ApplicationCall
- global_num_uint: Final[algopy.UInt64]¶
Ellipsis
Number of global state integers in ApplicationCall
- group_index: Final[algopy.UInt64]¶
Ellipsis
Position of this transaction within an atomic transaction group. A stand-alone transaction is implicitly element 0 in a group of 1
- last_log: Final[algopy.Bytes]¶
Ellipsis
The last message emitted. Empty bytes if none were emitted. Application mode only
- last_valid: Final[algopy.UInt64]¶
Ellipsis
round number
- lease: Final[algopy.Bytes]¶
Ellipsis
32 byte lease value
- local_num_byte_slice: Final[algopy.UInt64]¶
Ellipsis
Number of local state byteslices in ApplicationCall
- local_num_uint: Final[algopy.UInt64]¶
Ellipsis
Number of local state integers in ApplicationCall
- static logs(a: algopy.UInt64 | int, /) algopy.Bytes ¶
Log messages emitted by an application call (only with
itxn
in v5). Application mode only
- note: Final[algopy.Bytes]¶
Ellipsis
Any data up to 1024 bytes
- num_accounts: Final[algopy.UInt64]¶
Ellipsis
Number of Accounts
- num_app_args: Final[algopy.UInt64]¶
Ellipsis
Number of ApplicationArgs
- num_applications: Final[algopy.UInt64]¶
Ellipsis
Number of Applications
- num_approval_program_pages: Final[algopy.UInt64]¶
Ellipsis
Number of Approval Program pages
- num_assets: Final[algopy.UInt64]¶
Ellipsis
Number of Assets
- num_clear_state_program_pages: Final[algopy.UInt64]¶
Ellipsis
Number of ClearState Program pages
- num_logs: Final[algopy.UInt64]¶
Ellipsis
Number of Logs (only with
itxn
in v5). Application mode only
- on_completion: Final[algopy.OnCompleteAction]¶
Ellipsis
ApplicationCall transaction on completion action
- receiver: Final[algopy.Account]¶
Ellipsis
32 byte address
- rekey_to: Final[algopy.Account]¶
Ellipsis
32 byte Sender’s new AuthAddr
- selection_pk: Final[algopy.Bytes]¶
Ellipsis
32 byte address
- sender: Final[algopy.Account]¶
Ellipsis
32 byte address
- state_proof_pk: Final[algopy.Bytes]¶
Ellipsis
64 byte state proof public key
- tx_id: Final[algopy.Bytes]¶
Ellipsis
The computed ID for this transaction. 32 bytes.
- type: Final[algopy.Bytes]¶
Ellipsis
Transaction type as bytes
- type_enum: Final[algopy.TransactionType]¶
Ellipsis
Transaction type as integer
- vote_first: Final[algopy.UInt64]¶
Ellipsis
The first round that the participation key is valid.
- vote_key_dilution: Final[algopy.UInt64]¶
Ellipsis
Dilution for the 2-level participation key
- vote_last: Final[algopy.UInt64]¶
Ellipsis
The last round that the participation key is valid.
- vote_pk: Final[algopy.Bytes]¶
Ellipsis
32 byte address
- xfer_asset: Final[algopy.Asset]¶
Ellipsis
Asset ID
- class algopy.op.VoterParamsGet¶
X is field F from online account A as of the balance round: 320 rounds before the current round. Y is 1 if A had positive algos online in the agreement round, else Y is 0 and X is a type specific zero-value Native TEAL op:
voter_params_get
- static voter_balance(
- a: algopy.Bytes | algopy.UInt64 | bytes | int,
- /,
Min AVM version: 11
- Returns tuple[UInt64, bool]:
Online stake in microalgos
Native TEAL opcode:
voter_params_get
- static voter_incentive_eligible(
- a: algopy.Bytes | algopy.UInt64 | bytes | int,
- /,
Min AVM version: 11
- Returns tuple[bool, bool]:
Had this account opted into block payouts
Native TEAL opcode:
voter_params_get
- class algopy.op.VrfVerify¶
Available values for the
vrf_verify
enumInitialization
Initialize self. See help(type(self)) for accurate signature.
- __add__()¶
Return self+value.
- __contains__()¶
Return bool(key in self).
- __delattr__()¶
Implement delattr(self, name).
- __dir__()¶
Default dir() implementation.
- __eq__()¶
Return self==value.
- __format__()¶
Return a formatted version of the string as described by format_spec.
- __ge__()¶
Return self>=value.
- __getattribute__()¶
Return getattr(self, name).
- __getitem__()¶
Return self[key].
- __getstate__()¶
Helper for pickle.
- __gt__()¶
Return self>value.
- __hash__()¶
Return hash(self).
- __iter__()¶
Implement iter(self).
- __le__()¶
Return self<=value.
- __len__()¶
Return len(self).
- __lt__()¶
Return self<value.
- __mod__()¶
Return self%value.
- __mul__()¶
Return self*value.
- __ne__()¶
Return self!=value.
- __new__()¶
Create and return a new object. See help(type) for accurate signature.
- __reduce__()¶
Helper for pickle.
- __reduce_ex__()¶
Helper for pickle.
- __repr__()¶
Return repr(self).
- __rmod__()¶
Return value%self.
- __rmul__()¶
Return value*self.
- __setattr__()¶
Implement setattr(self, name, value).
- __sizeof__()¶
Return the size of the string in memory, in bytes.
- __str__()¶
Return str(self).
- capitalize()¶
Return a capitalized version of the string.
More specifically, make the first character have upper case and the rest lower case.
- casefold()¶
Return a version of the string suitable for caseless comparisons.
- center()¶
Return a centered string of length width.
Padding is done using the specified fill character (default is a space).
- count()¶
S.count(sub[, start[, end]]) -> int
Return the number of non-overlapping occurrences of substring sub in string S[start:end]. Optional arguments start and end are interpreted as in slice notation.
- encode()¶
Encode the string using the codec registered for encoding.
encoding The encoding in which to encode the string. errors The error handling scheme to use for encoding errors. The default is ‘strict’ meaning that encoding errors raise a UnicodeEncodeError. Other possible values are ‘ignore’, ‘replace’ and ‘xmlcharrefreplace’ as well as any other name registered with codecs.register_error that can handle UnicodeEncodeErrors.
- endswith()¶
S.endswith(suffix[, start[, end]]) -> bool
Return True if S ends with the specified suffix, False otherwise. With optional start, test S beginning at that position. With optional end, stop comparing S at that position. suffix can also be a tuple of strings to try.
- expandtabs()¶
Return a copy where all tab characters are expanded using spaces.
If tabsize is not given, a tab size of 8 characters is assumed.
- find()¶
S.find(sub[, start[, end]]) -> int
Return the lowest index in S where substring sub is found, such that sub is contained within S[start:end]. Optional arguments start and end are interpreted as in slice notation.
Return -1 on failure.
- format()¶
S.format(*args, **kwargs) -> str
Return a formatted version of S, using substitutions from args and kwargs. The substitutions are identified by braces (‘{’ and ‘}’).
- format_map()¶
S.format_map(mapping) -> str
Return a formatted version of S, using substitutions from mapping. The substitutions are identified by braces (‘{’ and ‘}’).
- index()¶
S.index(sub[, start[, end]]) -> int
Return the lowest index in S where substring sub is found, such that sub is contained within S[start:end]. Optional arguments start and end are interpreted as in slice notation.
Raises ValueError when the substring is not found.
- isalnum()¶
Return True if the string is an alpha-numeric string, False otherwise.
A string is alpha-numeric if all characters in the string are alpha-numeric and there is at least one character in the string.
- isalpha()¶
Return True if the string is an alphabetic string, False otherwise.
A string is alphabetic if all characters in the string are alphabetic and there is at least one character in the string.
- isascii()¶
Return True if all characters in the string are ASCII, False otherwise.
ASCII characters have code points in the range U+0000-U+007F. Empty string is ASCII too.
- isdecimal()¶
Return True if the string is a decimal string, False otherwise.
A string is a decimal string if all characters in the string are decimal and there is at least one character in the string.
- isdigit()¶
Return True if the string is a digit string, False otherwise.
A string is a digit string if all characters in the string are digits and there is at least one character in the string.
- isidentifier()¶
Return True if the string is a valid Python identifier, False otherwise.
Call keyword.iskeyword(s) to test whether string s is a reserved identifier, such as “def” or “class”.
- islower()¶
Return True if the string is a lowercase string, False otherwise.
A string is lowercase if all cased characters in the string are lowercase and there is at least one cased character in the string.
- isnumeric()¶
Return True if the string is a numeric string, False otherwise.
A string is numeric if all characters in the string are numeric and there is at least one character in the string.
- isprintable()¶
Return True if the string is printable, False otherwise.
A string is printable if all of its characters are considered printable in repr() or if it is empty.
- isspace()¶
Return True if the string is a whitespace string, False otherwise.
A string is whitespace if all characters in the string are whitespace and there is at least one character in the string.
- istitle()¶
Return True if the string is a title-cased string, False otherwise.
In a title-cased string, upper- and title-case characters may only follow uncased characters and lowercase characters only cased ones.
- isupper()¶
Return True if the string is an uppercase string, False otherwise.
A string is uppercase if all cased characters in the string are uppercase and there is at least one cased character in the string.
- join()¶
Concatenate any number of strings.
The string whose method is called is inserted in between each given string. The result is returned as a new string.
Example: ‘.’.join([‘ab’, ‘pq’, ‘rs’]) -> ‘ab.pq.rs’
- ljust()¶
Return a left-justified string of length width.
Padding is done using the specified fill character (default is a space).
- lower()¶
Return a copy of the string converted to lowercase.
- lstrip()¶
Return a copy of the string with leading whitespace removed.
If chars is given and not None, remove characters in chars instead.
- partition()¶
Partition the string into three parts using the given separator.
This will search for the separator in the string. If the separator is found, returns a 3-tuple containing the part before the separator, the separator itself, and the part after it.
If the separator is not found, returns a 3-tuple containing the original string and two empty strings.
- removeprefix()¶
Return a str with the given prefix string removed if present.
If the string starts with the prefix string, return string[len(prefix):]. Otherwise, return a copy of the original string.
- removesuffix()¶
Return a str with the given suffix string removed if present.
If the string ends with the suffix string and that suffix is not empty, return string[:-len(suffix)]. Otherwise, return a copy of the original string.
- replace()¶
Return a copy with all occurrences of substring old replaced by new.
count Maximum number of occurrences to replace. -1 (the default value) means replace all occurrences.
If the optional argument count is given, only the first count occurrences are replaced.
- rfind()¶
S.rfind(sub[, start[, end]]) -> int
Return the highest index in S where substring sub is found, such that sub is contained within S[start:end]. Optional arguments start and end are interpreted as in slice notation.
Return -1 on failure.
- rindex()¶
S.rindex(sub[, start[, end]]) -> int
Return the highest index in S where substring sub is found, such that sub is contained within S[start:end]. Optional arguments start and end are interpreted as in slice notation.
Raises ValueError when the substring is not found.
- rjust()¶
Return a right-justified string of length width.
Padding is done using the specified fill character (default is a space).
- rpartition()¶
Partition the string into three parts using the given separator.
This will search for the separator in the string, starting at the end. If the separator is found, returns a 3-tuple containing the part before the separator, the separator itself, and the part after it.
If the separator is not found, returns a 3-tuple containing two empty strings and the original string.
- rsplit()¶
Return a list of the substrings in the string, using sep as the separator string.
sep The separator used to split the string.
When set to None (the default value), will split on any whitespace character (including \n \r \t \f and spaces) and will discard empty strings from the result.
maxsplit Maximum number of splits. -1 (the default value) means no limit.
Splitting starts at the end of the string and works to the front.
- rstrip()¶
Return a copy of the string with trailing whitespace removed.
If chars is given and not None, remove characters in chars instead.
- split()¶
Return a list of the substrings in the string, using sep as the separator string.
sep The separator used to split the string.
When set to None (the default value), will split on any whitespace character (including \n \r \t \f and spaces) and will discard empty strings from the result.
maxsplit Maximum number of splits. -1 (the default value) means no limit.
Splitting starts at the front of the string and works to the end.
Note, str.split() is mainly useful for data that has been intentionally delimited. With natural text that includes punctuation, consider using the regular expression module.
- splitlines()¶
Return a list of the lines in the string, breaking at line boundaries.
Line breaks are not included in the resulting list unless keepends is given and true.
- startswith()¶
S.startswith(prefix[, start[, end]]) -> bool
Return True if S starts with the specified prefix, False otherwise. With optional start, test S beginning at that position. With optional end, stop comparing S at that position. prefix can also be a tuple of strings to try.
- strip()¶
Return a copy of the string with leading and trailing whitespace removed.
If chars is given and not None, remove characters in chars instead.
- swapcase()¶
Convert uppercase characters to lowercase and lowercase characters to uppercase.
- title()¶
Return a version of the string where each word is titlecased.
More specifically, words start with uppercased characters and all remaining cased characters have lower case.
- translate()¶
Replace each character in the string using the given translation table.
table Translation table, which must be a mapping of Unicode ordinals to Unicode ordinals, strings, or None.
The table must implement lookup/indexing via getitem, for instance a dictionary or list. If this operation raises LookupError, the character is left untouched. Characters mapped to None are deleted.
- upper()¶
Return a copy of the string converted to uppercase.
- zfill()¶
Pad a numeric string with zeros on the left, to fill a field of the given width.
The string is never truncated.
- algopy.op.addw(
- a: algopy.UInt64 | int,
- b: algopy.UInt64 | int,
- /,
A plus B as a 128-bit result. X is the carry-bit, Y is the low-order 64 bits.
Native TEAL opcode:
addw
- algopy.op.app_opted_in(
- a: algopy.Account | algopy.UInt64 | int,
- b: algopy.Application | algopy.UInt64 | int,
- /,
1 if account A is opted in to application B, else 0 params: Txn.Accounts offset (or, since v4, an available account address), available application id (or, since v4, a Txn.ForeignApps offset). Return: 1 if opted in and 0 otherwise.
Native TEAL opcode:
app_opted_in
- algopy.op.arg(a: algopy.UInt64 | int, /) algopy.Bytes ¶
Ath LogicSig argument
- algopy.op.balance(a: algopy.Account | algopy.UInt64 | int, /) algopy.UInt64 ¶
balance for account A, in microalgos. The balance is observed after the effects of previous transactions in the group, and after the fee for the current transaction is deducted. Changes caused by inner transactions are observable immediately following
itxn_submit
params: Txn.Accounts offset (or, since v4, an available account address), available application id (or, since v4, a Txn.ForeignApps offset). Return: value.Native TEAL opcode:
balance
- algopy.op.base64_decode(e: algopy.op.Base64, a: algopy.Bytes | bytes, /) algopy.Bytes ¶
decode A which was base64-encoded using encoding E. Fail if A is not base64 encoded with encoding E Warning: Usage should be restricted to very rare use cases. In almost all cases, smart contracts should directly handle non-encoded byte-strings. This opcode should only be used in cases where base64 is the only available option, e.g. interoperability with a third-party that only signs base64 strings.
Decodes A using the base64 encoding E. Specify the encoding with an immediate arg either as URL and Filename Safe (
URLEncoding
) or Standard (StdEncoding
). See RFC 4648 sections 4 and 5. It is assumed that the encoding ends with the exact number of=
padding characters as required by the RFC. When padding occurs, any unused pad bits in the encoding must be set to zero or the decoding will fail. The special cases of\n
and\r
are allowed but completely ignored. An error will result when attempting to decode a string with a character that is not in the encoding alphabet or not one of=
,\r
, or\n
.- Parameters:
e (Base64) – encoding index
Native TEAL opcode:
base64_decode
- algopy.op.bitlen(a: algopy.Bytes | algopy.UInt64 | bytes | int, /) algopy.UInt64 ¶
The highest set bit in A. If A is a byte-array, it is interpreted as a big-endian unsigned integer. bitlen of 0 is 0, bitlen of 8 is 4 bitlen interprets arrays as big-endian integers, unlike setbit/getbit
Native TEAL opcode:
bitlen
- algopy.op.bsqrt(a: algopy.BigUInt | int, /) algopy.BigUInt ¶
The largest integer I such that I^2 <= A. A and I are interpreted as big-endian unsigned integers
Native TEAL opcode:
bsqrt
- algopy.op.btoi(a: algopy.Bytes | bytes, /) algopy.UInt64 ¶
converts big-endian byte array A to uint64. Fails if len(A) > 8. Padded by leading 0s if len(A) < 8.
btoi
fails if the input is longer than 8 bytes.Native TEAL opcode:
btoi
- algopy.op.bzero(a: algopy.UInt64 | int, /) algopy.Bytes ¶
zero filled byte-array of length A
Native TEAL opcode:
bzero
- algopy.op.concat(a: algopy.Bytes | bytes, b: algopy.Bytes | bytes, /) algopy.Bytes ¶
join A and B
concat
fails if the result would be greater than 4096 bytes.Native TEAL opcode:
concat
- algopy.op.divmodw(
- a: algopy.UInt64 | int,
- b: algopy.UInt64 | int,
- c: algopy.UInt64 | int,
- d: algopy.UInt64 | int,
- /,
W,X = (A,B / C,D); Y,Z = (A,B modulo C,D) The notation J,K indicates that two uint64 values J and K are interpreted as a uint128 value, with J as the high uint64 and K the low.
Native TEAL opcode:
divmodw
- algopy.op.divw(
- a: algopy.UInt64 | int,
- b: algopy.UInt64 | int,
- c: algopy.UInt64 | int,
- /,
A,B / C. Fail if C == 0 or if result overflows. The notation A,B indicates that A and B are interpreted as a uint128 value, with A as the high uint64 and B the low.
Native TEAL opcode:
divw
- algopy.op.ecdsa_pk_decompress(
- v: algopy.op.ECDSA,
- a: algopy.Bytes | bytes,
- /,
decompress pubkey A into components X, Y The 33 byte public key in a compressed form to be decompressed into X and Y (top) components. All values are big-endian encoded.
- Parameters:
v (ECDSA) – curve index
Native TEAL opcode:
ecdsa_pk_decompress
- algopy.op.ecdsa_pk_recover(
- v: algopy.op.ECDSA,
- a: algopy.Bytes | bytes,
- b: algopy.UInt64 | int,
- c: algopy.Bytes | bytes,
- d: algopy.Bytes | bytes,
- /,
for (data A, recovery id B, signature C, D) recover a public key S (top) and R elements of a signature, recovery id and data (bottom) are expected on the stack and used to deriver a public key. All values are big-endian encoded. The signed data must be 32 bytes long.
- Parameters:
v (ECDSA) – curve index
Native TEAL opcode:
ecdsa_pk_recover
- algopy.op.ecdsa_verify(
- v: algopy.op.ECDSA,
- a: algopy.Bytes | bytes,
- b: algopy.Bytes | bytes,
- c: algopy.Bytes | bytes,
- d: algopy.Bytes | bytes,
- e: algopy.Bytes | bytes,
- /,
for (data A, signature B, C and pubkey D, E) verify the signature of the data against the pubkey => {0 or 1} The 32 byte Y-component of a public key is the last element on the stack, preceded by X-component of a pubkey, preceded by S and R components of a signature, preceded by the data that is fifth element on the stack. All values are big-endian encoded. The signed data must be 32 bytes long, and signatures in lower-S form are only accepted.
- Parameters:
v (ECDSA) – curve index
Native TEAL opcode:
ecdsa_verify
- algopy.op.ed25519verify(
- a: algopy.Bytes | bytes,
- b: algopy.Bytes | bytes,
- c: algopy.Bytes | bytes,
- /,
for (data A, signature B, pubkey C) verify the signature of (“ProgData” || program_hash || data) against the pubkey => {0 or 1} The 32 byte public key is the last element on the stack, preceded by the 64 byte signature at the second-to-last element on the stack, preceded by the data which was signed at the third-to-last element on the stack.
Native TEAL opcode:
ed25519verify
- algopy.op.ed25519verify_bare(
- a: algopy.Bytes | bytes,
- b: algopy.Bytes | bytes,
- c: algopy.Bytes | bytes,
- /,
for (data A, signature B, pubkey C) verify the signature of the data against the pubkey => {0 or 1}
Native TEAL opcode:
ed25519verify_bare
- algopy.op.err() Never ¶
Fail immediately.
- Returns typing.Never:
Halts program
Native TEAL opcode:
err
- algopy.op.exit(a: algopy.UInt64 | int, /) Never ¶
use A as success value; end
- Returns typing.Never:
Halts program
Native TEAL opcode:
return
- algopy.op.exp(a: algopy.UInt64 | int, b: algopy.UInt64 | int, /) algopy.UInt64 ¶
A raised to the Bth power. Fail if A == B == 0 and on overflow
Native TEAL opcode:
exp
- algopy.op.expw(
- a: algopy.UInt64 | int,
- b: algopy.UInt64 | int,
- /,
A raised to the Bth power as a 128-bit result in two uint64s. X is the high 64 bits, Y is the low. Fail if A == B == 0 or if the results exceeds 2^128-1
Native TEAL opcode:
expw
- algopy.op.extract(
- a: algopy.Bytes | bytes,
- b: algopy.UInt64 | int,
- c: algopy.UInt64 | int,
- /,
A range of bytes from A starting at B up to but not including B+C. If B+C is larger than the array length, the program fails
extract3
can be called usingextract
with no immediates.
- algopy.op.extract_uint16(
- a: algopy.Bytes | bytes,
- b: algopy.UInt64 | int,
- /,
A uint16 formed from a range of big-endian bytes from A starting at B up to but not including B+2. If B+2 is larger than the array length, the program fails
Native TEAL opcode:
extract_uint16
- algopy.op.extract_uint32(
- a: algopy.Bytes | bytes,
- b: algopy.UInt64 | int,
- /,
A uint32 formed from a range of big-endian bytes from A starting at B up to but not including B+4. If B+4 is larger than the array length, the program fails
Native TEAL opcode:
extract_uint32
- algopy.op.extract_uint64(
- a: algopy.Bytes | bytes,
- b: algopy.UInt64 | int,
- /,
A uint64 formed from a range of big-endian bytes from A starting at B up to but not including B+8. If B+8 is larger than the array length, the program fails
Native TEAL opcode:
extract_uint64
- algopy.op.falcon_verify(
- a: algopy.Bytes | bytes,
- b: algopy.Bytes | bytes,
- c: algopy.Bytes | bytes,
- /,
for (data A, compressed-format signature B, pubkey C) verify the signature of data against the pubkey Min AVM version: 11
Native TEAL opcode:
falcon_verify
- algopy.op.gaid(a: algopy.UInt64 | int, /) algopy.UInt64 ¶
ID of the asset or application created in the Ath transaction of the current group
gaids
fails unless the requested transaction created an asset or application and A < GroupIndex.
- algopy.op.getbit(
- a: algopy.Bytes | algopy.UInt64 | bytes | int,
- b: algopy.UInt64 | int,
- /,
Bth bit of (byte-array or integer) A. If B is greater than or equal to the bit length of the value (8*byte length), the program fails see explanation of bit ordering in setbit
Native TEAL opcode:
getbit
- algopy.op.getbyte(a: algopy.Bytes | bytes, b: algopy.UInt64 | int, /) algopy.UInt64 ¶
Bth byte of A, as an integer. If B is greater than or equal to the array length, the program fails
Native TEAL opcode:
getbyte
- algopy.op.gload_bytes(a: algopy.UInt64 | int, b: algopy.UInt64 | int, /) algopy.Bytes ¶
Bth scratch space value of the Ath transaction in the current group
- algopy.op.gload_uint64(a: algopy.UInt64 | int, b: algopy.UInt64 | int, /) algopy.UInt64 ¶
Bth scratch space value of the Ath transaction in the current group
- algopy.op.itob(a: algopy.UInt64 | int, /) algopy.Bytes ¶
converts uint64 A to big-endian byte array, always of length 8
Native TEAL opcode:
itob
- algopy.op.keccak256(a: algopy.Bytes | bytes, /) algopy.Bytes ¶
Keccak256 hash of value A, yields [32]byte
Native TEAL opcode:
keccak256
- algopy.op.min_balance(a: algopy.Account | algopy.UInt64 | int, /) algopy.UInt64 ¶
minimum required balance for account A, in microalgos. Required balance is affected by ASA, App, and Box usage. When creating or opting into an app, the minimum balance grows before the app code runs, therefore the increase is visible there. When deleting or closing out, the minimum balance decreases after the app executes. Changes caused by inner transactions or box usage are observable immediately following the opcode effecting the change. params: Txn.Accounts offset (or, since v4, an available account address), available application id (or, since v4, a Txn.ForeignApps offset). Return: value.
Native TEAL opcode:
min_balance
- algopy.op.mulw(
- a: algopy.UInt64 | int,
- b: algopy.UInt64 | int,
- /,
A times B as a 128-bit result in two uint64s. X is the high 64 bits, Y is the low
Native TEAL opcode:
mulw
- algopy.op.online_stake() algopy.UInt64 ¶
the total online stake in the agreement round Min AVM version: 11
Native TEAL opcode:
online_stake
- algopy.op.replace(
- a: algopy.Bytes | bytes,
- b: algopy.UInt64 | int,
- c: algopy.Bytes | bytes,
- /,
Copy of A with the bytes starting at B replaced by the bytes of C. Fails if B+len(C) exceeds len(A)
replace3
can be called usingreplace
with no immediates.
- algopy.op.select_bytes(
- a: algopy.Bytes | bytes,
- b: algopy.Bytes | bytes,
- c: bool | algopy.UInt64 | int,
- /,
selects one of two values based on top-of-stack: B if C != 0, else A
Native TEAL opcode:
select
- algopy.op.select_uint64(
- a: algopy.UInt64 | int,
- b: algopy.UInt64 | int,
- c: bool | algopy.UInt64 | int,
- /,
selects one of two values based on top-of-stack: B if C != 0, else A
Native TEAL opcode:
select
- algopy.op.setbit_bytes(
- a: algopy.Bytes | bytes,
- b: algopy.UInt64 | int,
- c: algopy.UInt64 | int,
- /,
Copy of (byte-array or integer) A, with the Bth bit set to (0 or 1) C. If B is greater than or equal to the bit length of the value (8*byte length), the program fails When A is a uint64, index 0 is the least significant bit. Setting bit 3 to 1 on the integer 0 yields 8, or 2^3. When A is a byte array, index 0 is the leftmost bit of the leftmost byte. Setting bits 0 through 11 to 1 in a 4-byte-array of 0s yields the byte array 0xfff00000. Setting bit 3 to 1 on the 1-byte-array 0x00 yields the byte array 0x10.
Native TEAL opcode:
setbit
- algopy.op.setbit_uint64(
- a: algopy.UInt64 | int,
- b: algopy.UInt64 | int,
- c: algopy.UInt64 | int,
- /,
Copy of (byte-array or integer) A, with the Bth bit set to (0 or 1) C. If B is greater than or equal to the bit length of the value (8*byte length), the program fails When A is a uint64, index 0 is the least significant bit. Setting bit 3 to 1 on the integer 0 yields 8, or 2^3. When A is a byte array, index 0 is the leftmost bit of the leftmost byte. Setting bits 0 through 11 to 1 in a 4-byte-array of 0s yields the byte array 0xfff00000. Setting bit 3 to 1 on the 1-byte-array 0x00 yields the byte array 0x10.
Native TEAL opcode:
setbit
- algopy.op.setbyte(
- a: algopy.Bytes | bytes,
- b: algopy.UInt64 | int,
- c: algopy.UInt64 | int,
- /,
Copy of A with the Bth byte set to small integer (between 0..255) C. If B is greater than or equal to the array length, the program fails
Native TEAL opcode:
setbyte
- algopy.op.sha256(a: algopy.Bytes | bytes, /) algopy.Bytes ¶
SHA256 hash of value A, yields [32]byte
Native TEAL opcode:
sha256
- algopy.op.sha3_256(a: algopy.Bytes | bytes, /) algopy.Bytes ¶
SHA3_256 hash of value A, yields [32]byte
Native TEAL opcode:
sha3_256
- algopy.op.sha512_256(a: algopy.Bytes | bytes, /) algopy.Bytes ¶
SHA512_256 hash of value A, yields [32]byte
Native TEAL opcode:
sha512_256
- algopy.op.shl(a: algopy.UInt64 | int, b: algopy.UInt64 | int, /) algopy.UInt64 ¶
A times 2^B, modulo 2^64
Native TEAL opcode:
shl
- algopy.op.shr(a: algopy.UInt64 | int, b: algopy.UInt64 | int, /) algopy.UInt64 ¶
A divided by 2^B
Native TEAL opcode:
shr
- algopy.op.sqrt(a: algopy.UInt64 | int, /) algopy.UInt64 ¶
The largest integer I such that I^2 <= A
Native TEAL opcode:
sqrt
- algopy.op.substring(
- a: algopy.Bytes | bytes,
- b: algopy.UInt64 | int,
- c: algopy.UInt64 | int,
- /,
A range of bytes from A starting at B up to but not including C. If C < B, or either is larger than the array length, the program fails
Native TEAL opcode:
substring
,substring3
- algopy.op.sumhash512(a: algopy.Bytes | bytes, /) algopy.Bytes ¶
sumhash512 of value A, yields [64]byte Min AVM version: 11
Native TEAL opcode:
sumhash512
- algopy.op.vrf_verify(
- s: algopy.op.VrfVerify,
- a: algopy.Bytes | bytes,
- b: algopy.Bytes | bytes,
- c: algopy.Bytes | bytes,
- /,
Verify the proof B of message A against pubkey C. Returns vrf output and verification flag.
VrfAlgorand
is the VRF used in Algorand. It is ECVRF-ED25519-SHA512-Elligator2, specified in the IETF internet draft draft-irtf-cfrg-vrf-03.- Parameters:
s (VrfVerify) – parameters index
Native TEAL opcode:
vrf_verify