Skip to content

algopy.op

AcctParamsGetX is field F from account A. Y is 1 if A owns positive algos, else 0
Native TEAL op: acct_params_get
AppGlobalGet or modify Global app state
Native TEAL ops: app_global_del, app_global_get, app_global_get_ex, app_global_put
AppLocalGet or modify Local app state
Native TEAL ops: app_local_del, app_local_get, app_local_get_ex, app_local_put
AppParamsGetX 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
AssetHoldingGetX 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
AssetParamsGetX 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
Base64Available values for the base64 enum
Blockfield F of block A. Fail unless A falls between txn.LastValid-1002 and txn.FirstValid (exclusive)
Native TEAL op: block
BoxGet 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
ECAvailable values for the EC enum
ECDSAAvailable values for the ECDSA enum
EllipticCurveElliptic Curve functions
Native TEAL ops: ec_add, ec_map_to, ec_multi_scalar_mul, ec_pairing_check, ec_scalar_mul, ec_subgroup_check
GITxnGet values for inner transaction in the last group submitted
Native TEAL ops: gitxn, gitxnas
GTxnGet values for transactions in the current group
Native TEAL ops: gtxns, gtxnsas
GlobalGet Global values
Native TEAL op: global
ITxnGet values for the last inner transaction
Native TEAL ops: itxn, itxnas
ITxnCreateCreate inner transactions
Native TEAL ops: itxn_begin, itxn_field, itxn_next, itxn_submit
JsonRefkey 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
MiMCConfigurationsAvailable values for the Mimc Configurations enum
ScratchLoad or store scratch values
Native TEAL ops: loads, stores
TxnGet values for the current executing transaction
Native TEAL ops: txn, txnas
VoterParamsGetX 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
VrfVerifyAvailable values for the vrf_verify enum
addwA plus B as a 128-bit result. X is the carry-bit, Y is the low-order 64 bits.
app_opted_in1 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.
argAth LogicSig argument
balancebalance 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.
base64_decodedecode 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.
bitlenThe 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
bsqrtThe largest integer I such that I^2 <= A. A and I are interpreted as big-endian unsigned integers
btoiconverts 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.
bzerozero filled byte-array of length A
concatjoin A and B
concat fails if the result would be greater than 4096 bytes.
divmodwW,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.
divwA,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.
ecdsa_pk_decompressdecompress 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.
:param ECDSA v: curve index
ecdsa_pk_recoverfor (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.
:param ECDSA v: curve index
ecdsa_verifyfor (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.
:param ECDSA v: curve index
ed25519verifyfor (data A, signature B, pubkey C) verify the signature of (“ProgData”
ed25519verify_barefor (data A, signature B, pubkey C) verify the signature of the data against the pubkey => {0 or 1}
errFail immediately.
:returns typing.Never: Halts program
exituse A as success value; end
:returns typing.Never: Halts program
expA raised to the Bth power. Fail if A == B == 0 and on overflow
expwA 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
extractA 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 using extract with no immediates.
extract_uint16A 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
extract_uint32A 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
extract_uint64A 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
falcon_verifyfor (data A, compressed-format signature B, pubkey C) verify the signature of data against the pubkey
Min AVM version: 12
gaidID 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.
getbitBth 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
getbyteBth byte of A, as an integer. If B is greater than or equal to the array length, the program fails
gload_bytesBth scratch space value of the Ath transaction in the current group
gload_uint64Bth scratch space value of the Ath transaction in the current group
itobconverts uint64 A to big-endian byte array, always of length 8
keccak256Keccak256 hash of value A, yields [32]byte
mimcMiMC hash of scalars A, using curve and parameters specified by configuration C
A is a list of concatenated 32 byte big-endian unsigned integer scalars. Fail if A’s length is not a multiple of 32 or any element exceeds the curve modulus.
min_balanceminimum 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.
mulwA times B as a 128-bit result in two uint64s. X is the high 64 bits, Y is the low
online_stakethe total online stake in the agreement round
Min AVM version: 11
replaceCopy 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 using replace with no immediates.
select_bytesselects one of two values based on top-of-stack: B if C != 0, else A
select_uint64selects one of two values based on top-of-stack: B if C != 0, else A
setbit_bytesCopy 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.
setbit_uint64Copy 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.
setbyteCopy 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
sha256SHA256 hash of value A, yields [32]byte
sha3_256SHA3_256 hash of value A, yields [32]byte
sha512_256SHA512_256 hash of value A, yields [32]byte
shlA times 2^B, modulo 2^64
shrA divided by 2^B
sqrtThe largest integer I such that I^2 <= A
substringA 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
sumhash512sumhash512 of value A, yields [64]byte
Min AVM version: 12
vrf_verifyVerify 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.
:param VrfVerify s: parameters index

AcctParamsGet

X is field F from account A. Y is 1 if A owns positive algos, else 0 Native TEAL op: acct_params_get

acct_auth_addr(a: algopy.Account | algopy.UInt64 | int, /) → tuple[algopy.Account, bool]

Address the account is rekeyed to.

Native TEAL opcode: acct_params_get

acct_balance(a: algopy.Account | algopy.UInt64 | int, /) → tuple[algopy.UInt64, bool]

Account balance in microalgos

Native TEAL opcode: acct_params_get

acct_incentive_eligible(a: algopy.Account | algopy.UInt64 | int, /) → tuple[bool, bool]

Min AVM version: 11 :returns tuple[bool, bool]: Has this account opted into block payouts

Native TEAL opcode: acct_params_get

acct_last_heartbeat(a: algopy.Account | algopy.UInt64 | int, /) → tuple[algopy.UInt64, bool]

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

acct_last_proposed(a: algopy.Account | algopy.UInt64 | int, /) → tuple[algopy.UInt64, bool]

Min AVM version: 11 :returns tuple[UInt64, bool]: The round number of the last block this account proposed.

Native TEAL opcode: acct_params_get

acct_min_balance(a: algopy.Account | algopy.UInt64 | int, /) → tuple[algopy.UInt64, bool]

Minimum required balance for account, in microalgos

Native TEAL opcode: acct_params_get

acct_total_apps_created(a: algopy.Account | algopy.UInt64 | int, /) → tuple[algopy.UInt64, bool]

The number of existing apps created by this account.

Native TEAL opcode: acct_params_get

acct_total_apps_opted_in(a: algopy.Account | algopy.UInt64 | int, /) → tuple[algopy.UInt64, bool]

The number of apps this account is opted into.

Native TEAL opcode: acct_params_get

acct_total_assets(a: algopy.Account | algopy.UInt64 | int, /) → tuple[algopy.UInt64, bool]

The numbers of ASAs held by this account (including ASAs this account created).

Native TEAL opcode: acct_params_get

acct_total_assets_created(a: algopy.Account | algopy.UInt64 | int, /) → tuple[algopy.UInt64, bool]

The number of existing ASAs created by this account.

Native TEAL opcode: acct_params_get

acct_total_box_bytes(a: algopy.Account | algopy.UInt64 | int, /) → tuple[algopy.UInt64, bool]

The total number of bytes used by this account’s app’s box keys and values.

Native TEAL opcode: acct_params_get

acct_total_boxes(a: algopy.Account | algopy.UInt64 | int, /) → tuple[algopy.UInt64, bool]

The number of existing boxes created by this account’s app.

Native TEAL opcode: acct_params_get

acct_total_extra_app_pages(a: algopy.Account | algopy.UInt64 | int, /) → tuple[algopy.UInt64, bool]

The number of extra app code pages used by this account.

Native TEAL opcode: acct_params_get

acct_total_num_byte_slice(a: algopy.Account | algopy.UInt64 | int, /) → tuple[algopy.UInt64, bool]

The total number of byte array values allocated by this account in Global and Local States.

Native TEAL opcode: acct_params_get

acct_total_num_uint(a: algopy.Account | algopy.UInt64 | int, /) → tuple[algopy.UInt64, bool]

The total number of uint64 values allocated by this account in Global and Local States.

Native TEAL opcode: acct_params_get

AppGlobal

Get or modify Global app state Native TEAL ops: app_global_del, app_global_get, app_global_get_ex, app_global_put

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

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

get_ex_bytes(a: algopy.Application | algopy.UInt64 | int, b: algopy.Bytes | bytes, /) → tuple[algopy.Bytes, bool]

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

get_ex_uint64(a: algopy.Application | algopy.UInt64 | int, b: algopy.Bytes | bytes, /) → tuple[algopy.UInt64, bool]

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

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

put(a: algopy.Bytes | bytes, b: algopy.Bytes | algopy.UInt64 | bytes | int, /) → None

write B to key A in the global state of the current application

Native TEAL opcode: app_global_put

AppLocal

Get or modify Local app state Native TEAL ops: app_local_del, app_local_get, app_local_get_ex, app_local_put

delete(a: algopy.Account | algopy.UInt64 | int, b: algopy.Bytes | bytes, /) → None

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

get_bytes(a: algopy.Account | algopy.UInt64 | int, b: algopy.Bytes | bytes, /) → algopy.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

get_ex_bytes(a: algopy.Account | algopy.UInt64 | int, b: algopy.Application | algopy.UInt64 | int, c: algopy.Bytes | bytes, /) → tuple[algopy.Bytes, bool]

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

get_ex_uint64(a: algopy.Account | algopy.UInt64 | int, b: algopy.Application | algopy.UInt64 | int, c: algopy.Bytes | bytes, /) → tuple[algopy.UInt64, bool]

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

get_uint64(a: algopy.Account | algopy.UInt64 | int, b: algopy.Bytes | bytes, /) → algopy.UInt64

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

put(a: algopy.Account | algopy.UInt64 | int, b: algopy.Bytes | bytes, c: algopy.Bytes | algopy.UInt64 | bytes | int, /) → None

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

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

app_address(a: algopy.Application | algopy.UInt64 | int, /) → tuple[algopy.Account, bool]

Address for which this application has authority

Native TEAL opcode: app_params_get

app_approval_program(a: algopy.Application | algopy.UInt64 | int, /) → tuple[algopy.Bytes, bool]

Bytecode of Approval Program

Native TEAL opcode: app_params_get

app_clear_state_program(a: algopy.Application | algopy.UInt64 | int, /) → tuple[algopy.Bytes, bool]

Bytecode of Clear State Program

Native TEAL opcode: app_params_get

app_creator(a: algopy.Application | algopy.UInt64 | int, /) → tuple[algopy.Account, bool]

Creator address

Native TEAL opcode: app_params_get

app_extra_program_pages(a: algopy.Application | algopy.UInt64 | int, /) → tuple[algopy.UInt64, bool]

Number of Extra Program Pages of code space

Native TEAL opcode: app_params_get

app_global_num_byte_slice(a: algopy.Application | algopy.UInt64 | int, /) → tuple[algopy.UInt64, bool]

Number of byte array values allowed in Global State

Native TEAL opcode: app_params_get

app_global_num_uint(a: algopy.Application | algopy.UInt64 | int, /) → tuple[algopy.UInt64, bool]

Number of uint64 values allowed in Global State

Native TEAL opcode: app_params_get

app_local_num_byte_slice(a: algopy.Application | algopy.UInt64 | int, /) → tuple[algopy.UInt64, bool]

Number of byte array values allowed in Local State

Native TEAL opcode: app_params_get

app_local_num_uint(a: algopy.Application | algopy.UInt64 | int, /) → tuple[algopy.UInt64, bool]

Number of uint64 values allowed in Local State

Native TEAL opcode: app_params_get

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

asset_balance(a: algopy.Account | algopy.UInt64 | int, b: algopy.Asset | algopy.UInt64 | int, /) → tuple[algopy.UInt64, bool]

Amount of the asset unit held by this account

Native TEAL opcode: asset_holding_get

asset_frozen(a: algopy.Account | algopy.UInt64 | int, b: algopy.Asset | algopy.UInt64 | int, /) → tuple[bool, bool]

Is the asset frozen or not

Native TEAL opcode: asset_holding_get

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

asset_clawback(a: algopy.Asset | algopy.UInt64 | int, /) → tuple[algopy.Account, bool]

Clawback address

Native TEAL opcode: asset_params_get

asset_creator(a: algopy.Asset | algopy.UInt64 | int, /) → tuple[algopy.Account, bool]

Creator address

Native TEAL opcode: asset_params_get

asset_decimals(a: algopy.Asset | algopy.UInt64 | int, /) → tuple[algopy.UInt64, bool]

See AssetParams.Decimals

Native TEAL opcode: asset_params_get

asset_default_frozen(a: algopy.Asset | algopy.UInt64 | int, /) → tuple[bool, bool]

Frozen by default or not

Native TEAL opcode: asset_params_get

asset_freeze(a: algopy.Asset | algopy.UInt64 | int, /) → tuple[algopy.Account, bool]

Freeze address

Native TEAL opcode: asset_params_get

asset_manager(a: algopy.Asset | algopy.UInt64 | int, /) → tuple[algopy.Account, bool]

Manager address

Native TEAL opcode: asset_params_get

asset_metadata_hash(a: algopy.Asset | algopy.UInt64 | int, /) → tuple[algopy.Bytes, bool]

Arbitrary commitment

Native TEAL opcode: asset_params_get

asset_name(a: algopy.Asset | algopy.UInt64 | int, /) → tuple[algopy.Bytes, bool]

Asset name

Native TEAL opcode: asset_params_get

asset_reserve(a: algopy.Asset | algopy.UInt64 | int, /) → tuple[algopy.Account, bool]

Reserve address

Native TEAL opcode: asset_params_get

asset_total(a: algopy.Asset | algopy.UInt64 | int, /) → tuple[algopy.UInt64, bool]

Total number of units of this asset

Native TEAL opcode: asset_params_get

asset_unit_name(a: algopy.Asset | algopy.UInt64 | int, /) → tuple[algopy.Bytes, bool]

Asset unit name

Native TEAL opcode: asset_params_get

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

Base64

Available values for the base64 enum

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 all characters in the string are printable, False otherwise.

A character is printable if repr() may use it in its output.

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.

Block

field F of block A. Fail unless A falls between txn.LastValid-1002 and txn.FirstValid (exclusive) Native TEAL op: block

blk_bonus(a: algopy.UInt64 | int, /) → algopy.UInt64

Min AVM version: 11

Native TEAL opcode: block

blk_branch(a: algopy.UInt64 | int, /) → algopy.Bytes

Min AVM version: 11

Native TEAL opcode: block

blk_fee_sink(a: algopy.UInt64 | int, /) → algopy.Account

Min AVM version: 11

Native TEAL opcode: block

blk_fees_collected(a: algopy.UInt64 | int, /) → algopy.UInt64

Min AVM version: 11

Native TEAL opcode: block

blk_proposer(a: algopy.UInt64 | int, /) → algopy.Account

Min AVM version: 11

Native TEAL opcode: block

blk_proposer_payout(a: algopy.UInt64 | int, /) → algopy.UInt64

Min AVM version: 11

Native TEAL opcode: block

blk_protocol(a: algopy.UInt64 | int, /) → algopy.Bytes

Min AVM version: 11

Native TEAL opcode: block

blk_seed(a: algopy.UInt64 | int, /) → algopy.Bytes

Native TEAL opcode: block

blk_timestamp(a: algopy.UInt64 | int, /) → algopy.UInt64

Native TEAL opcode: block

blk_txn_counter(a: algopy.UInt64 | int, /) → algopy.UInt64

Min AVM version: 11

Native TEAL opcode: block

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

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 by box_create.

Native TEAL opcode: box_create

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

extract(a: algopy.Bytes | bytes, b: algopy.UInt64 | int, c: algopy.UInt64 | int, /) → algopy.Bytes

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

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, and box_replace

Native TEAL opcode: box_get

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

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, and box_replace

Native TEAL opcode: box_put

replace(a: algopy.Bytes | bytes, b: algopy.UInt64 | int, c: algopy.Bytes | bytes, /) → None

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

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

splice(a: algopy.Bytes | bytes, b: algopy.UInt64 | int, c: algopy.UInt64 | int, d: algopy.Bytes | bytes, /) → None

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

EC

Available values for the EC enum

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 all characters in the string are printable, False otherwise.

A character is printable if repr() may use it in its output.

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.

ECDSA

Available values for the ECDSA enum

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 all characters in the string are printable, False otherwise.

A character is printable if repr() may use it in its output.

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.

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

add(g: algopy.op.EC, a: algopy.Bytes | bytes, b: algopy.Bytes | bytes, /) → algopy.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 form Z = Z0 + Z1 i, where i is a formal quadratic non-residue, the encoding of Z is the concatenation of the encoding of Z0 and Z1 in this order. (Z0 and Z1 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. :param EC g: curve index

Native TEAL opcode: ec_add

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. :param EC g: curve index

Native TEAL opcode: ec_map_to

pairing_check(g: algopy.op.EC, a: algopy.Bytes | bytes, b: algopy.Bytes | bytes, /) → bool

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, so ec_pairing_check is limited by the size of the points in the groups being operated upon. :param EC g: curve index

Native TEAL opcode: ec_pairing_check

scalar_mul(g: algopy.op.EC, a: algopy.Bytes | bytes, b: algopy.Bytes | bytes, /) → algopy.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. :param EC g: curve index

Native TEAL opcode: ec_scalar_mul

scalar_mul_multi(g: algopy.op.EC, a: algopy.Bytes | bytes, b: algopy.Bytes | bytes, /) → algopy.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 name ec_multi_scalar_mul was chosen to reflect common usage, but a more consistent name would be ec_multi_scalar_mul. AVM values are limited to 4096 bytes, so ec_multi_scalar_mul is limited by the size of the points in the group being operated upon. :param EC g: curve index

Native TEAL opcode: ec_multi_scalar_mul

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. :param EC g: curve index

Native TEAL opcode: ec_subgroup_check

GITxn

Get values for inner transaction in the last group submitted Native TEAL ops: gitxn, gitxnas

accounts(t: int, a: algopy.UInt64 | int, /) → algopy.Account

:param int t: transaction group index :returns Account: Accounts listed in the ApplicationCall transaction

Native TEAL opcode: gitxna, gitxnas

amount(t: int, /) → algopy.UInt64

:param int t: transaction group index :returns UInt64: microalgos

Native TEAL opcode: gitxn

application_args(t: int, a: algopy.UInt64 | int, /) → algopy.Bytes

:param int t: transaction group index :returns Bytes: Arguments passed to the application in the ApplicationCall transaction

Native TEAL opcode: gitxna, gitxnas

application_id(t: int, /) → algopy.Application

:param int t: transaction group index :returns Application: ApplicationID from ApplicationCall transaction

Native TEAL opcode: gitxn

applications(t: int, a: algopy.UInt64 | int, /) → algopy.Application

:param int t: transaction group index :returns Application: Foreign Apps listed in the ApplicationCall transaction

Native TEAL opcode: gitxna, gitxnas

approval_program(t: int, /) → algopy.Bytes

:param int t: transaction group index :returns Bytes: Approval program

Native TEAL opcode: gitxn

approval_program_pages(t: int, a: algopy.UInt64 | int, /) → algopy.Bytes

:param int t: transaction group index :returns Bytes: Approval Program as an array of pages

Native TEAL opcode: gitxna, gitxnas

asset_amount(t: int, /) → algopy.UInt64

:param int t: transaction group index :returns UInt64: value in Asset’s units

Native TEAL opcode: gitxn

asset_close_to(t: int, /) → algopy.Account

:param int t: transaction group index :returns Account: 32 byte address

Native TEAL opcode: gitxn

asset_receiver(t: int, /) → algopy.Account

:param int t: transaction group index :returns Account: 32 byte address

Native TEAL opcode: gitxn

asset_sender(t: int, /) → algopy.Account

:param int t: transaction group index :returns Account: 32 byte address. Source of assets if Sender is the Asset’s Clawback address.

Native TEAL opcode: gitxn

assets(t: int, a: algopy.UInt64 | int, /) → algopy.Asset

:param int t: transaction group index :returns Asset: Foreign Assets listed in the ApplicationCall transaction

Native TEAL opcode: gitxna, gitxnas

clear_state_program(t: int, /) → algopy.Bytes

:param int t: transaction group index :returns Bytes: Clear state program

Native TEAL opcode: gitxn

clear_state_program_pages(t: int, a: algopy.UInt64 | int, /) → algopy.Bytes

:param int t: transaction group index :returns Bytes: ClearState Program as an array of pages

Native TEAL opcode: gitxna, gitxnas

close_remainder_to(t: int, /) → algopy.Account

:param int t: transaction group index :returns Account: 32 byte address

Native TEAL opcode: gitxn

config_asset(t: int, /) → algopy.Asset

:param int t: transaction group index :returns Asset: Asset ID in asset config transaction

Native TEAL opcode: gitxn

config_asset_clawback(t: int, /) → algopy.Account

:param int t: transaction group index :returns Account: 32 byte address

Native TEAL opcode: gitxn

config_asset_decimals(t: int, /) → algopy.UInt64

:param int t: transaction group index :returns UInt64: Number of digits to display after the decimal place when displaying the asset

Native TEAL opcode: gitxn

config_asset_default_frozen(t: int, /) → bool

:param int t: transaction group index :returns bool: Whether the asset’s slots are frozen by default or not, 0 or 1

Native TEAL opcode: gitxn

config_asset_freeze(t: int, /) → algopy.Account

:param int t: transaction group index :returns Account: 32 byte address

Native TEAL opcode: gitxn

config_asset_manager(t: int, /) → algopy.Account

:param int t: transaction group index :returns Account: 32 byte address

Native TEAL opcode: gitxn

config_asset_metadata_hash(t: int, /) → algopy.Bytes

:param int t: transaction group index :returns Bytes: 32 byte commitment to unspecified asset metadata

Native TEAL opcode: gitxn

config_asset_name(t: int, /) → algopy.Bytes

:param int t: transaction group index :returns Bytes: The asset name

Native TEAL opcode: gitxn

config_asset_reserve(t: int, /) → algopy.Account

:param int t: transaction group index :returns Account: 32 byte address

Native TEAL opcode: gitxn

config_asset_total(t: int, /) → algopy.UInt64

:param int t: transaction group index :returns UInt64: Total number of units of this asset created

Native TEAL opcode: gitxn

config_asset_unit_name(t: int, /) → algopy.Bytes

:param int t: transaction group index :returns Bytes: Unit name of the asset

Native TEAL opcode: gitxn

config_asset_url(t: int, /) → algopy.Bytes

:param int t: transaction group index :returns Bytes: URL

Native TEAL opcode: gitxn

created_application_id(t: int, /) → algopy.Application

:param int t: 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

created_asset_id(t: int, /) → algopy.Asset

:param int t: 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

extra_program_pages(t: int, /) → algopy.UInt64

:param int t: 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

fee(t: int, /) → algopy.UInt64

:param int t: transaction group index :returns UInt64: microalgos

Native TEAL opcode: gitxn

first_valid(t: int, /) → algopy.UInt64

:param int t: transaction group index :returns UInt64: round number

Native TEAL opcode: gitxn

first_valid_time(t: int, /) → algopy.UInt64

:param int t: transaction group index :returns UInt64: UNIX timestamp of block before txn.FirstValid. Fails if negative

Native TEAL opcode: gitxn

freeze_asset(t: int, /) → algopy.Asset

:param int t: transaction group index :returns Asset: Asset ID being frozen or un-frozen

Native TEAL opcode: gitxn

freeze_asset_account(t: int, /) → algopy.Account

:param int t: transaction group index :returns Account: 32 byte address of the account whose asset slot is being frozen or un-frozen

Native TEAL opcode: gitxn

freeze_asset_frozen(t: int, /) → bool

:param int t: transaction group index :returns bool: The new frozen value, 0 or 1

Native TEAL opcode: gitxn

global_num_byte_slice(t: int, /) → algopy.UInt64

:param int t: transaction group index :returns UInt64: Number of global state byteslices in ApplicationCall

Native TEAL opcode: gitxn

global_num_uint(t: int, /) → algopy.UInt64

:param int t: transaction group index :returns UInt64: Number of global state integers in ApplicationCall

Native TEAL opcode: gitxn

group_index(t: int, /) → algopy.UInt64

:param int t: 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

last_log(t: int, /) → algopy.Bytes

:param int t: transaction group index :returns Bytes: The last message emitted. Empty bytes if none were emitted. Application mode only

Native TEAL opcode: gitxn

last_valid(t: int, /) → algopy.UInt64

:param int t: transaction group index :returns UInt64: round number

Native TEAL opcode: gitxn

lease(t: int, /) → algopy.Bytes

:param int t: transaction group index :returns Bytes: 32 byte lease value

Native TEAL opcode: gitxn

local_num_byte_slice(t: int, /) → algopy.UInt64

:param int t: transaction group index :returns UInt64: Number of local state byteslices in ApplicationCall

Native TEAL opcode: gitxn

local_num_uint(t: int, /) → algopy.UInt64

:param int t: transaction group index :returns UInt64: Number of local state integers in ApplicationCall

Native TEAL opcode: gitxn

logs(t: int, a: algopy.UInt64 | int, /) → algopy.Bytes

:param int t: transaction group index :returns Bytes: Log messages emitted by an application call (only with itxn in v5). Application mode only

Native TEAL opcode: gitxna, gitxnas

nonparticipation(t: int, /) → bool

:param int t: transaction group index :returns bool: Marks an account nonparticipating for rewards

Native TEAL opcode: gitxn

note(t: int, /) → algopy.Bytes

:param int t: transaction group index :returns Bytes: Any data up to 1024 bytes

Native TEAL opcode: gitxn

num_accounts(t: int, /) → algopy.UInt64

:param int t: transaction group index :returns UInt64: Number of Accounts

Native TEAL opcode: gitxn

num_app_args(t: int, /) → algopy.UInt64

:param int t: transaction group index :returns UInt64: Number of ApplicationArgs

Native TEAL opcode: gitxn

num_applications(t: int, /) → algopy.UInt64

:param int t: transaction group index :returns UInt64: Number of Applications

Native TEAL opcode: gitxn

num_approval_program_pages(t: int, /) → algopy.UInt64

:param int t: transaction group index :returns UInt64: Number of Approval Program pages

Native TEAL opcode: gitxn

num_assets(t: int, /) → algopy.UInt64

:param int t: transaction group index :returns UInt64: Number of Assets

Native TEAL opcode: gitxn

num_clear_state_program_pages(t: int, /) → algopy.UInt64

:param int t: transaction group index :returns UInt64: Number of ClearState Program pages

Native TEAL opcode: gitxn

num_logs(t: int, /) → algopy.UInt64

:param int t: transaction group index :returns UInt64: Number of Logs (only with itxn in v5). Application mode only

Native TEAL opcode: gitxn

on_completion(t: int, /) → algopy.OnCompleteAction

:param int t: transaction group index :returns OnCompleteAction: ApplicationCall transaction on completion action

Native TEAL opcode: gitxn

receiver(t: int, /) → algopy.Account

:param int t: transaction group index :returns Account: 32 byte address

Native TEAL opcode: gitxn

rekey_to(t: int, /) → algopy.Account

:param int t: transaction group index :returns Account: 32 byte Sender’s new AuthAddr

Native TEAL opcode: gitxn

selection_pk(t: int, /) → algopy.Bytes

:param int t: transaction group index :returns Bytes: 32 byte address

Native TEAL opcode: gitxn

sender(t: int, /) → algopy.Account

:param int t: transaction group index :returns Account: 32 byte address

Native TEAL opcode: gitxn

state_proof_pk(t: int, /) → algopy.Bytes

:param int t: transaction group index :returns Bytes: 64 byte state proof public key

Native TEAL opcode: gitxn

tx_id(t: int, /) → algopy.Bytes

:param int t: transaction group index :returns Bytes: The computed ID for this transaction. 32 bytes.

Native TEAL opcode: gitxn

type(t: int, /) → algopy.Bytes

:param int t: transaction group index :returns Bytes: Transaction type as bytes

Native TEAL opcode: gitxn

type_enum(t: int, /) → algopy.TransactionType

:param int t: transaction group index :returns TransactionType: Transaction type as integer

Native TEAL opcode: gitxn

vote_first(t: int, /) → algopy.UInt64

:param int t: transaction group index :returns UInt64: The first round that the participation key is valid.

Native TEAL opcode: gitxn

vote_key_dilution(t: int, /) → algopy.UInt64

:param int t: transaction group index :returns UInt64: Dilution for the 2-level participation key

Native TEAL opcode: gitxn

vote_last(t: int, /) → algopy.UInt64

:param int t: transaction group index :returns UInt64: The last round that the participation key is valid.

Native TEAL opcode: gitxn

vote_pk(t: int, /) → algopy.Bytes

:param int t: transaction group index :returns Bytes: 32 byte address

Native TEAL opcode: gitxn

xfer_asset(t: int, /) → algopy.Asset

:param int t: transaction group index :returns Asset: Asset ID

Native TEAL opcode: gitxn

GTxn

Get values for transactions in the current group Native TEAL ops: gtxns, gtxnsas

accounts(a: algopy.UInt64 | int, b: algopy.UInt64 | int, /) → algopy.Account

Accounts listed in the ApplicationCall transaction

Native TEAL opcode: gtxna, gtxnas, gtxnsa, gtxnsas

amount(a: algopy.UInt64 | int, /) → algopy.UInt64

microalgos

Native TEAL opcode: gtxn, gtxns

application_args(a: algopy.UInt64 | int, b: algopy.UInt64 | int, /) → algopy.Bytes

Arguments passed to the application in the ApplicationCall transaction

Native TEAL opcode: gtxna, gtxnas, gtxnsa, gtxnsas

application_id(a: algopy.UInt64 | int, /) → algopy.Application

ApplicationID from ApplicationCall transaction

Native TEAL opcode: gtxn, gtxns

applications(a: algopy.UInt64 | int, b: algopy.UInt64 | int, /) → algopy.Application

Foreign Apps listed in the ApplicationCall transaction

Native TEAL opcode: gtxna, gtxnas, gtxnsa, gtxnsas

approval_program(a: algopy.UInt64 | int, /) → algopy.Bytes

Approval program

Native TEAL opcode: gtxn, gtxns

approval_program_pages(a: algopy.UInt64 | int, b: algopy.UInt64 | int, /) → algopy.Bytes

Approval Program as an array of pages

Native TEAL opcode: gtxna, gtxnas, gtxnsa, gtxnsas

asset_amount(a: algopy.UInt64 | int, /) → algopy.UInt64

value in Asset’s units

Native TEAL opcode: gtxn, gtxns

asset_close_to(a: algopy.UInt64 | int, /) → algopy.Account

32 byte address

Native TEAL opcode: gtxn, gtxns

asset_receiver(a: algopy.UInt64 | int, /) → algopy.Account

32 byte address

Native TEAL opcode: gtxn, gtxns

asset_sender(a: algopy.UInt64 | int, /) → algopy.Account

32 byte address. Source of assets if Sender is the Asset’s Clawback address.

Native TEAL opcode: gtxn, gtxns

assets(a: algopy.UInt64 | int, b: algopy.UInt64 | int, /) → algopy.Asset

Foreign Assets listed in the ApplicationCall transaction

Native TEAL opcode: gtxna, gtxnas, gtxnsa, gtxnsas

clear_state_program(a: algopy.UInt64 | int, /) → algopy.Bytes

Clear state program

Native TEAL opcode: gtxn, gtxns

clear_state_program_pages(a: algopy.UInt64 | int, b: algopy.UInt64 | int, /) → algopy.Bytes

ClearState Program as an array of pages

Native TEAL opcode: gtxna, gtxnas, gtxnsa, gtxnsas

close_remainder_to(a: algopy.UInt64 | int, /) → algopy.Account

32 byte address

Native TEAL opcode: gtxn, gtxns

config_asset(a: algopy.UInt64 | int, /) → algopy.Asset

Asset ID in asset config transaction

Native TEAL opcode: gtxn, gtxns

config_asset_clawback(a: algopy.UInt64 | int, /) → algopy.Account

32 byte address

Native TEAL opcode: gtxn, gtxns

config_asset_decimals(a: algopy.UInt64 | int, /) → algopy.UInt64

Number of digits to display after the decimal place when displaying the asset

Native TEAL opcode: gtxn, gtxns

config_asset_default_frozen(a: algopy.UInt64 | int, /) → bool

Whether the asset’s slots are frozen by default or not, 0 or 1

Native TEAL opcode: gtxn, gtxns

config_asset_freeze(a: algopy.UInt64 | int, /) → algopy.Account

32 byte address

Native TEAL opcode: gtxn, gtxns

config_asset_manager(a: algopy.UInt64 | int, /) → algopy.Account

32 byte address

Native TEAL opcode: gtxn, gtxns

config_asset_metadata_hash(a: algopy.UInt64 | int, /) → algopy.Bytes

32 byte commitment to unspecified asset metadata

Native TEAL opcode: gtxn, gtxns

config_asset_name(a: algopy.UInt64 | int, /) → algopy.Bytes

The asset name

Native TEAL opcode: gtxn, gtxns

config_asset_reserve(a: algopy.UInt64 | int, /) → algopy.Account

32 byte address

Native TEAL opcode: gtxn, gtxns

config_asset_total(a: algopy.UInt64 | int, /) → algopy.UInt64

Total number of units of this asset created

Native TEAL opcode: gtxn, gtxns

config_asset_unit_name(a: algopy.UInt64 | int, /) → algopy.Bytes

Unit name of the asset

Native TEAL opcode: gtxn, gtxns

config_asset_url(a: algopy.UInt64 | int, /) → algopy.Bytes

URL

Native TEAL opcode: gtxn, gtxns

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

Native TEAL opcode: gtxn, gtxns

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

Native TEAL opcode: gtxn, gtxns

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.

Native TEAL opcode: gtxn, gtxns

fee(a: algopy.UInt64 | int, /) → algopy.UInt64

microalgos

Native TEAL opcode: gtxn, gtxns

first_valid(a: algopy.UInt64 | int, /) → algopy.UInt64

round number

Native TEAL opcode: gtxn, gtxns

first_valid_time(a: algopy.UInt64 | int, /) → algopy.UInt64

UNIX timestamp of block before txn.FirstValid. Fails if negative

Native TEAL opcode: gtxn, gtxns

freeze_asset(a: algopy.UInt64 | int, /) → algopy.Asset

Asset ID being frozen or un-frozen

Native TEAL opcode: gtxn, gtxns

freeze_asset_account(a: algopy.UInt64 | int, /) → algopy.Account

32 byte address of the account whose asset slot is being frozen or un-frozen

Native TEAL opcode: gtxn, gtxns

freeze_asset_frozen(a: algopy.UInt64 | int, /) → bool

The new frozen value, 0 or 1

Native TEAL opcode: gtxn, gtxns

global_num_byte_slice(a: algopy.UInt64 | int, /) → algopy.UInt64

Number of global state byteslices in ApplicationCall

Native TEAL opcode: gtxn, gtxns

global_num_uint(a: algopy.UInt64 | int, /) → algopy.UInt64

Number of global state integers in ApplicationCall

Native TEAL opcode: gtxn, gtxns

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

Native TEAL opcode: gtxn, gtxns

last_log(a: algopy.UInt64 | int, /) → algopy.Bytes

The last message emitted. Empty bytes if none were emitted. Application mode only

Native TEAL opcode: gtxn, gtxns

last_valid(a: algopy.UInt64 | int, /) → algopy.UInt64

round number

Native TEAL opcode: gtxn, gtxns

lease(a: algopy.UInt64 | int, /) → algopy.Bytes

32 byte lease value

Native TEAL opcode: gtxn, gtxns

local_num_byte_slice(a: algopy.UInt64 | int, /) → algopy.UInt64

Number of local state byteslices in ApplicationCall

Native TEAL opcode: gtxn, gtxns

local_num_uint(a: algopy.UInt64 | int, /) → algopy.UInt64

Number of local state integers in ApplicationCall

Native TEAL opcode: gtxn, gtxns

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

Native TEAL opcode: gtxna, gtxnas, gtxnsa, gtxnsas

nonparticipation(a: algopy.UInt64 | int, /) → bool

Marks an account nonparticipating for rewards

Native TEAL opcode: gtxn, gtxns

note(a: algopy.UInt64 | int, /) → algopy.Bytes

Any data up to 1024 bytes

Native TEAL opcode: gtxn, gtxns

num_accounts(a: algopy.UInt64 | int, /) → algopy.UInt64

Number of Accounts

Native TEAL opcode: gtxn, gtxns

num_app_args(a: algopy.UInt64 | int, /) → algopy.UInt64

Number of ApplicationArgs

Native TEAL opcode: gtxn, gtxns

num_applications(a: algopy.UInt64 | int, /) → algopy.UInt64

Number of Applications

Native TEAL opcode: gtxn, gtxns

num_approval_program_pages(a: algopy.UInt64 | int, /) → algopy.UInt64

Number of Approval Program pages

Native TEAL opcode: gtxn, gtxns

num_assets(a: algopy.UInt64 | int, /) → algopy.UInt64

Number of Assets

Native TEAL opcode: gtxn, gtxns

num_clear_state_program_pages(a: algopy.UInt64 | int, /) → algopy.UInt64

Number of ClearState Program pages

Native TEAL opcode: gtxn, gtxns

num_logs(a: algopy.UInt64 | int, /) → algopy.UInt64

Number of Logs (only with itxn in v5). Application mode only

Native TEAL opcode: gtxn, gtxns

on_completion(a: algopy.UInt64 | int, /) → algopy.OnCompleteAction

ApplicationCall transaction on completion action

Native TEAL opcode: gtxn, gtxns

receiver(a: algopy.UInt64 | int, /) → algopy.Account

32 byte address

Native TEAL opcode: gtxn, gtxns

rekey_to(a: algopy.UInt64 | int, /) → algopy.Account

32 byte Sender’s new AuthAddr

Native TEAL opcode: gtxn, gtxns

selection_pk(a: algopy.UInt64 | int, /) → algopy.Bytes

32 byte address

Native TEAL opcode: gtxn, gtxns

sender(a: algopy.UInt64 | int, /) → algopy.Account

32 byte address

Native TEAL opcode: gtxn, gtxns

state_proof_pk(a: algopy.UInt64 | int, /) → algopy.Bytes

64 byte state proof public key

Native TEAL opcode: gtxn, gtxns

tx_id(a: algopy.UInt64 | int, /) → algopy.Bytes

The computed ID for this transaction. 32 bytes.

Native TEAL opcode: gtxn, gtxns

type(a: algopy.UInt64 | int, /) → algopy.Bytes

Transaction type as bytes

Native TEAL opcode: gtxn, gtxns

type_enum(a: algopy.UInt64 | int, /) → algopy.TransactionType

Transaction type as integer

Native TEAL opcode: gtxn, gtxns

vote_first(a: algopy.UInt64 | int, /) → algopy.UInt64

The first round that the participation key is valid.

Native TEAL opcode: gtxn, gtxns

vote_key_dilution(a: algopy.UInt64 | int, /) → algopy.UInt64

Dilution for the 2-level participation key

Native TEAL opcode: gtxn, gtxns

vote_last(a: algopy.UInt64 | int, /) → algopy.UInt64

The last round that the participation key is valid.

Native TEAL opcode: gtxn, gtxns

vote_pk(a: algopy.UInt64 | int, /) → algopy.Bytes

32 byte address

Native TEAL opcode: gtxn, gtxns

xfer_asset(a: algopy.UInt64 | int, /) → algopy.Asset

Asset ID

Native TEAL opcode: gtxn, gtxns

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

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 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 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

ITxn

Get values for the last inner transaction Native TEAL ops: itxn, itxnas

accounts(a: algopy.UInt64 | int, /) → algopy.Account

Accounts listed in the ApplicationCall transaction

Native TEAL opcode: itxna, itxnas

amount() → algopy.UInt64

microalgos

Native TEAL opcode: itxn

application_args(a: algopy.UInt64 | int, /) → algopy.Bytes

Arguments passed to the application in the ApplicationCall transaction

Native TEAL opcode: itxna, itxnas

application_id() → algopy.Application

ApplicationID from ApplicationCall transaction

Native TEAL opcode: itxn

applications(a: algopy.UInt64 | int, /) → algopy.Application

Foreign Apps listed in the ApplicationCall transaction

Native TEAL opcode: itxna, itxnas

approval_program() → algopy.Bytes

Approval program

Native TEAL opcode: itxn

approval_program_pages(a: algopy.UInt64 | int, /) → algopy.Bytes

Approval Program as an array of pages

Native TEAL opcode: itxna, itxnas

asset_amount() → algopy.UInt64

value in Asset’s units

Native TEAL opcode: itxn

asset_close_to() → algopy.Account

32 byte address

Native TEAL opcode: itxn

asset_receiver() → algopy.Account

32 byte address

Native TEAL opcode: itxn

asset_sender() → algopy.Account

32 byte address. Source of assets if Sender is the Asset’s Clawback address.

Native TEAL opcode: itxn

assets(a: algopy.UInt64 | int, /) → algopy.Asset

Foreign Assets listed in the ApplicationCall transaction

Native TEAL opcode: itxna, itxnas

clear_state_program() → algopy.Bytes

Clear state program

Native TEAL opcode: itxn

clear_state_program_pages(a: algopy.UInt64 | int, /) → algopy.Bytes

ClearState Program as an array of pages

Native TEAL opcode: itxna, itxnas

close_remainder_to() → algopy.Account

32 byte address

Native TEAL opcode: itxn

config_asset() → algopy.Asset

Asset ID in asset config transaction

Native TEAL opcode: itxn

config_asset_clawback() → algopy.Account

32 byte address

Native TEAL opcode: itxn

config_asset_decimals() → algopy.UInt64

Number of digits to display after the decimal place when displaying the asset

Native TEAL opcode: itxn

config_asset_default_frozen() → bool

Whether the asset’s slots are frozen by default or not, 0 or 1

Native TEAL opcode: itxn

config_asset_freeze() → algopy.Account

32 byte address

Native TEAL opcode: itxn

config_asset_manager() → algopy.Account

32 byte address

Native TEAL opcode: itxn

config_asset_metadata_hash() → algopy.Bytes

32 byte commitment to unspecified asset metadata

Native TEAL opcode: itxn

config_asset_name() → algopy.Bytes

The asset name

Native TEAL opcode: itxn

config_asset_reserve() → algopy.Account

32 byte address

Native TEAL opcode: itxn

config_asset_total() → algopy.UInt64

Total number of units of this asset created

Native TEAL opcode: itxn

config_asset_unit_name() → algopy.Bytes

Unit name of the asset

Native TEAL opcode: itxn

config_asset_url() → algopy.Bytes

URL

Native TEAL opcode: itxn

created_application_id() → algopy.Application

ApplicationID allocated by the creation of an application (only with itxn in v5). Application mode only

Native TEAL opcode: itxn

created_asset_id() → algopy.Asset

Asset ID allocated by the creation of an ASA (only with itxn in v5). Application mode only

Native TEAL opcode: itxn

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

fee() → algopy.UInt64

microalgos

Native TEAL opcode: itxn

first_valid() → algopy.UInt64

round number

Native TEAL opcode: itxn

first_valid_time() → algopy.UInt64

UNIX timestamp of block before txn.FirstValid. Fails if negative

Native TEAL opcode: itxn

freeze_asset() → algopy.Asset

Asset ID being frozen or un-frozen

Native TEAL opcode: itxn

freeze_asset_account() → algopy.Account

32 byte address of the account whose asset slot is being frozen or un-frozen

Native TEAL opcode: itxn

freeze_asset_frozen() → bool

The new frozen value, 0 or 1

Native TEAL opcode: itxn

global_num_byte_slice() → algopy.UInt64

Number of global state byteslices in ApplicationCall

Native TEAL opcode: itxn

global_num_uint() → algopy.UInt64

Number of global state integers in ApplicationCall

Native TEAL opcode: itxn

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

last_log() → algopy.Bytes

The last message emitted. Empty bytes if none were emitted. Application mode only

Native TEAL opcode: itxn

last_valid() → algopy.UInt64

round number

Native TEAL opcode: itxn

lease() → algopy.Bytes

32 byte lease value

Native TEAL opcode: itxn

local_num_byte_slice() → algopy.UInt64

Number of local state byteslices in ApplicationCall

Native TEAL opcode: itxn

local_num_uint() → algopy.UInt64

Number of local state integers in ApplicationCall

Native TEAL opcode: itxn

logs(a: algopy.UInt64 | int, /) → algopy.Bytes

Log messages emitted by an application call (only with itxn in v5). Application mode only

Native TEAL opcode: itxna, itxnas

nonparticipation() → bool

Marks an account nonparticipating for rewards

Native TEAL opcode: itxn

note() → algopy.Bytes

Any data up to 1024 bytes

Native TEAL opcode: itxn

num_accounts() → algopy.UInt64

Number of Accounts

Native TEAL opcode: itxn

num_app_args() → algopy.UInt64

Number of ApplicationArgs

Native TEAL opcode: itxn

num_applications() → algopy.UInt64

Number of Applications

Native TEAL opcode: itxn

num_approval_program_pages() → algopy.UInt64

Number of Approval Program pages

Native TEAL opcode: itxn

num_assets() → algopy.UInt64

Number of Assets

Native TEAL opcode: itxn

num_clear_state_program_pages() → algopy.UInt64

Number of ClearState Program pages

Native TEAL opcode: itxn

num_logs() → algopy.UInt64

Number of Logs (only with itxn in v5). Application mode only

Native TEAL opcode: itxn

on_completion() → algopy.OnCompleteAction

ApplicationCall transaction on completion action

Native TEAL opcode: itxn

receiver() → algopy.Account

32 byte address

Native TEAL opcode: itxn

rekey_to() → algopy.Account

32 byte Sender’s new AuthAddr

Native TEAL opcode: itxn

selection_pk() → algopy.Bytes

32 byte address

Native TEAL opcode: itxn

sender() → algopy.Account

32 byte address

Native TEAL opcode: itxn

state_proof_pk() → algopy.Bytes

64 byte state proof public key

Native TEAL opcode: itxn

tx_id() → algopy.Bytes

The computed ID for this transaction. 32 bytes.

Native TEAL opcode: itxn

type() → algopy.Bytes

Transaction type as bytes

Native TEAL opcode: itxn

type_enum() → algopy.TransactionType

Transaction type as integer

Native TEAL opcode: itxn

vote_first() → algopy.UInt64

The first round that the participation key is valid.

Native TEAL opcode: itxn

vote_key_dilution() → algopy.UInt64

Dilution for the 2-level participation key

Native TEAL opcode: itxn

vote_last() → algopy.UInt64

The last round that the participation key is valid.

Native TEAL opcode: itxn

vote_pk() → algopy.Bytes

32 byte address

Native TEAL opcode: itxn

xfer_asset() → algopy.Asset

Asset ID

Native TEAL opcode: itxn

ITxnCreate

Create inner transactions Native TEAL ops: itxn_begin, itxn_field, itxn_next, itxn_submit

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

next() → None

begin preparation of a new inner transaction in the same transaction group itxn_next initializes the transaction exactly as itxn_begin does

Native TEAL opcode: itxn_next

set_accounts(a: algopy.Account, /) → None

:param Account a: Accounts listed in the ApplicationCall transaction

Native TEAL opcode: itxn_field

set_amount(a: algopy.UInt64 | int, /) → None

:param UInt64 | int a: microalgos

Native TEAL opcode: itxn_field

set_application_args(a: algopy.Bytes | bytes, /) → None

:param Bytes | bytes a: Arguments passed to the application in the ApplicationCall transaction

Native TEAL opcode: itxn_field

set_application_id(a: algopy.Application | algopy.UInt64 | int, /) → None

:param Application | UInt64 | int a: ApplicationID from ApplicationCall transaction

Native TEAL opcode: itxn_field

set_applications(a: algopy.UInt64 | int, /) → None

:param UInt64 | int a: Foreign Apps listed in the ApplicationCall transaction

Native TEAL opcode: itxn_field

set_approval_program(a: algopy.Bytes | bytes, /) → None

:param Bytes | bytes a: Approval program

Native TEAL opcode: itxn_field

set_approval_program_pages(a: algopy.Bytes | bytes, /) → None

:param Bytes | bytes a: Approval Program as an array of pages

Native TEAL opcode: itxn_field

set_asset_amount(a: algopy.UInt64 | int, /) → None

:param UInt64 | int a: value in Asset’s units

Native TEAL opcode: itxn_field

set_asset_close_to(a: algopy.Account, /) → None

:param Account a: 32 byte address

Native TEAL opcode: itxn_field

set_asset_receiver(a: algopy.Account, /) → None

:param Account a: 32 byte address

Native TEAL opcode: itxn_field

set_asset_sender(a: algopy.Account, /) → None

:param Account a: 32 byte address. Source of assets if Sender is the Asset’s Clawback address.

Native TEAL opcode: itxn_field

set_assets(a: algopy.UInt64 | int, /) → None

:param UInt64 | int a: Foreign Assets listed in the ApplicationCall transaction

Native TEAL opcode: itxn_field

set_clear_state_program(a: algopy.Bytes | bytes, /) → None

:param Bytes | bytes a: Clear state program

Native TEAL opcode: itxn_field

set_clear_state_program_pages(a: algopy.Bytes | bytes, /) → None

:param Bytes | bytes a: ClearState Program as an array of pages

Native TEAL opcode: itxn_field

set_close_remainder_to(a: algopy.Account, /) → None

:param Account a: 32 byte address

Native TEAL opcode: itxn_field

set_config_asset(a: algopy.Asset | algopy.UInt64 | int, /) → None

:param Asset | UInt64 | int a: Asset ID in asset config transaction

Native TEAL opcode: itxn_field

set_config_asset_clawback(a: algopy.Account, /) → None

:param Account a: 32 byte address

Native TEAL opcode: itxn_field

set_config_asset_decimals(a: algopy.UInt64 | int, /) → None

:param UInt64 | int a: Number of digits to display after the decimal place when displaying the asset

Native TEAL opcode: itxn_field

set_config_asset_default_frozen(a: bool | algopy.UInt64 | int, /) → None

:param bool | UInt64 | int a: Whether the asset’s slots are frozen by default or not, 0 or 1

Native TEAL opcode: itxn_field

set_config_asset_freeze(a: algopy.Account, /) → None

:param Account a: 32 byte address

Native TEAL opcode: itxn_field

set_config_asset_manager(a: algopy.Account, /) → None

:param Account a: 32 byte address

Native TEAL opcode: itxn_field

set_config_asset_metadata_hash(a: algopy.Bytes | bytes, /) → None

:param Bytes | bytes a: 32 byte commitment to unspecified asset metadata

Native TEAL opcode: itxn_field

set_config_asset_name(a: algopy.Bytes | bytes, /) → None

:param Bytes | bytes a: The asset name

Native TEAL opcode: itxn_field

set_config_asset_reserve(a: algopy.Account, /) → None

:param Account a: 32 byte address

Native TEAL opcode: itxn_field

set_config_asset_total(a: algopy.UInt64 | int, /) → None

:param UInt64 | int a: Total number of units of this asset created

Native TEAL opcode: itxn_field

set_config_asset_unit_name(a: algopy.Bytes | bytes, /) → None

:param Bytes | bytes a: Unit name of the asset

Native TEAL opcode: itxn_field

set_config_asset_url(a: algopy.Bytes | bytes, /) → None

:param Bytes | bytes a: URL

Native TEAL opcode: itxn_field

set_extra_program_pages(a: algopy.UInt64 | int, /) → None

:param UInt64 | int a: 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

set_fee(a: algopy.UInt64 | int, /) → None

:param UInt64 | int a: microalgos

Native TEAL opcode: itxn_field

set_freeze_asset(a: algopy.Asset | algopy.UInt64 | int, /) → None

:param Asset | UInt64 | int a: Asset ID being frozen or un-frozen

Native TEAL opcode: itxn_field

set_freeze_asset_account(a: algopy.Account, /) → None

:param Account a: 32 byte address of the account whose asset slot is being frozen or un-frozen

Native TEAL opcode: itxn_field

set_freeze_asset_frozen(a: bool | algopy.UInt64 | int, /) → None

:param bool | UInt64 | int a: The new frozen value, 0 or 1

Native TEAL opcode: itxn_field

set_global_num_byte_slice(a: algopy.UInt64 | int, /) → None

:param UInt64 | int a: Number of global state byteslices in ApplicationCall

Native TEAL opcode: itxn_field

set_global_num_uint(a: algopy.UInt64 | int, /) → None

:param UInt64 | int a: Number of global state integers in ApplicationCall

Native TEAL opcode: itxn_field

set_local_num_byte_slice(a: algopy.UInt64 | int, /) → None

:param UInt64 | int a: Number of local state byteslices in ApplicationCall

Native TEAL opcode: itxn_field

set_local_num_uint(a: algopy.UInt64 | int, /) → None

:param UInt64 | int a: Number of local state integers in ApplicationCall

Native TEAL opcode: itxn_field

set_nonparticipation(a: bool | algopy.UInt64 | int, /) → None

:param bool | UInt64 | int a: Marks an account nonparticipating for rewards

Native TEAL opcode: itxn_field

set_note(a: algopy.Bytes | bytes, /) → None

:param Bytes | bytes a: Any data up to 1024 bytes

Native TEAL opcode: itxn_field

set_on_completion(a: algopy.UInt64 | int, /) → None

:param UInt64 | int a: ApplicationCall transaction on completion action

Native TEAL opcode: itxn_field

set_receiver(a: algopy.Account, /) → None

:param Account a: 32 byte address

Native TEAL opcode: itxn_field

set_rekey_to(a: algopy.Account, /) → None

:param Account a: 32 byte Sender’s new AuthAddr

Native TEAL opcode: itxn_field

set_selection_pk(a: algopy.Bytes | bytes, /) → None

:param Bytes | bytes a: 32 byte address

Native TEAL opcode: itxn_field

set_sender(a: algopy.Account, /) → None

:param Account a: 32 byte address

Native TEAL opcode: itxn_field

set_state_proof_pk(a: algopy.Bytes | bytes, /) → None

:param Bytes | bytes a: 64 byte state proof public key

Native TEAL opcode: itxn_field

set_type(a: algopy.Bytes | bytes, /) → None

:param Bytes | bytes a: Transaction type as bytes

Native TEAL opcode: itxn_field

set_type_enum(a: algopy.UInt64 | int, /) → None

:param UInt64 | int a: Transaction type as integer

Native TEAL opcode: itxn_field

set_vote_first(a: algopy.UInt64 | int, /) → None

:param UInt64 | int a: The first round that the participation key is valid.

Native TEAL opcode: itxn_field

set_vote_key_dilution(a: algopy.UInt64 | int, /) → None

:param UInt64 | int a: Dilution for the 2-level participation key

Native TEAL opcode: itxn_field

set_vote_last(a: algopy.UInt64 | int, /) → None

:param UInt64 | int a: The last round that the participation key is valid.

Native TEAL opcode: itxn_field

set_vote_pk(a: algopy.Bytes | bytes, /) → None

:param Bytes | bytes a: 32 byte address

Native TEAL opcode: itxn_field

set_xfer_asset(a: algopy.Asset | algopy.UInt64 | int, /) → None

:param Asset | UInt64 | int a: Asset ID

Native TEAL opcode: itxn_field

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 new itxn_begin is required to prepare another inner transaction.

Native TEAL opcode: itxn_submit

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

json_object(a: algopy.Bytes | bytes, b: algopy.Bytes | bytes, /) → algopy.Bytes

Native TEAL opcode: json_ref

json_string(a: algopy.Bytes | bytes, b: algopy.Bytes | bytes, /) → algopy.Bytes

Native TEAL opcode: json_ref

json_uint64(a: algopy.Bytes | bytes, b: algopy.Bytes | bytes, /) → algopy.UInt64

Native TEAL opcode: json_ref

MiMCConfigurations

Available values for the Mimc Configurations enum

Initialize self. See help(type(self)) for accurate signature.

BLS12_381Mp111 : algopy.op.MiMCConfigurations

Ellipsis

MiMC configuration for the BLS12-381 curve with Miyaguchi-Preneel mode, 111 rounds, exponent 5, seed “seed” Min AVM version: 11

BN254Mp110 : algopy.op.MiMCConfigurations

Ellipsis

MiMC configuration for the BN254 curve with Miyaguchi-Preneel mode, 110 rounds, exponent 5, seed “seed” Min AVM version: 11

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 all characters in the string are printable, False otherwise.

A character is printable if repr() may use it in its output.

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.

Scratch

Load or store scratch values Native TEAL ops: loads, stores

load_bytes(a: algopy.UInt64 | int, /) → algopy.Bytes

Ath scratch space value. All scratch spaces are 0 at program start.

Native TEAL opcode: loads

load_uint64(a: algopy.UInt64 | int, /) → algopy.UInt64

Ath scratch space value. All scratch spaces are 0 at program start.

Native TEAL opcode: loads

store(a: algopy.UInt64 | int, b: algopy.Bytes | algopy.UInt64 | bytes | int, /) → None

store B to the Ath scratch space

Native TEAL opcode: stores

Txn

Get values for the current executing transaction Native TEAL ops: txn, txnas

accounts(a: algopy.UInt64 | int, /) → algopy.Account

Accounts listed in the ApplicationCall transaction

Native TEAL opcode: txna, txnas

amount : Final[algopy.UInt64]

Ellipsis

microalgos

application_args(a: algopy.UInt64 | int, /) → algopy.Bytes

Arguments passed to the application in the ApplicationCall transaction

Native TEAL opcode: txna, txnas

application_id : Final[algopy.Application]

Ellipsis

ApplicationID from ApplicationCall transaction

applications(a: algopy.UInt64 | int, /) → algopy.Application

Foreign Apps listed in the ApplicationCall transaction

Native TEAL opcode: txna, txnas

approval_program : Final[algopy.Bytes]

Ellipsis

Approval program

approval_program_pages(a: algopy.UInt64 | int, /) → algopy.Bytes

Approval Program as an array of pages

Native TEAL opcode: txna, txnas

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.

assets(a: algopy.UInt64 | int, /) → algopy.Asset

Foreign Assets listed in the ApplicationCall transaction

Native TEAL opcode: txna, txnas

clear_state_program : Final[algopy.Bytes]

Ellipsis

Clear state program

clear_state_program_pages(a: algopy.UInt64 | int, /) → algopy.Bytes

ClearState Program as an array of pages

Native TEAL opcode: txna, txnas

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

freeze_asset_frozen : Final[bool]

Ellipsis

The new frozen value, 0 or 1

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

logs(a: algopy.UInt64 | int, /) → algopy.Bytes

Log messages emitted by an application call (only with itxn in v5). Application mode only

Native TEAL opcode: txna, txnas

nonparticipation : Final[bool]

Ellipsis

Marks an account nonparticipating for rewards

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

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

voter_balance(a: algopy.Account | algopy.UInt64 | int, /) → tuple[algopy.UInt64, bool]

Min AVM version: 11 :returns tuple[UInt64, bool]: Online stake in microalgos

Native TEAL opcode: voter_params_get

voter_incentive_eligible(a: algopy.Account | algopy.UInt64 | int, /) → tuple[bool, bool]

Min AVM version: 11 :returns tuple[bool, bool]: Had this account opted into block payouts

Native TEAL opcode: voter_params_get

VrfVerify

Available values for the vrf_verify enum

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 all characters in the string are printable, False otherwise.

A character is printable if repr() may use it in its output.

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.

addw(a: algopy.UInt64 | int, b: algopy.UInt64 | int, /) → tuple[algopy.UInt64, algopy.UInt64]

A plus B as a 128-bit result. X is the carry-bit, Y is the low-order 64 bits.

Native TEAL opcode: addw

app_opted_in(a: algopy.Account | algopy.UInt64 | int, b: algopy.Application | algopy.UInt64 | int, /) → bool

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

arg(a: algopy.UInt64 | int, /) → algopy.Bytes

Ath LogicSig argument

Native TEAL opcode: arg, args

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

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. :param Base64 e: encoding index

Native TEAL opcode: base64_decode

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

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

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

bzero(a: algopy.UInt64 | int, /) → algopy.Bytes

zero filled byte-array of length A

Native TEAL opcode: bzero

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

divmodw(a: algopy.UInt64 | int, b: algopy.UInt64 | int, c: algopy.UInt64 | int, d: algopy.UInt64 | int, /) → tuple[algopy.UInt64, algopy.UInt64, algopy.UInt64, algopy.UInt64]

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

divw(a: algopy.UInt64 | int, b: algopy.UInt64 | int, c: algopy.UInt64 | int, /) → algopy.UInt64

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

ecdsa_pk_decompress(v: algopy.op.ECDSA, a: algopy.Bytes | bytes, /) → tuple[algopy.Bytes, algopy.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. :param ECDSA v: curve index

Native TEAL opcode: ecdsa_pk_decompress

ecdsa_pk_recover(v: algopy.op.ECDSA, a: algopy.Bytes | bytes, b: algopy.UInt64 | int, c: algopy.Bytes | bytes, d: algopy.Bytes | bytes, /) → tuple[algopy.Bytes, algopy.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. :param ECDSA v: curve index

Native TEAL opcode: ecdsa_pk_recover

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, /) → bool

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. :param ECDSA v: curve index

Native TEAL opcode: ecdsa_verify

ed25519verify(a: algopy.Bytes | bytes, b: algopy.Bytes | bytes, c: algopy.Bytes | bytes, /) → bool

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

ed25519verify_bare(a: algopy.Bytes | bytes, b: algopy.Bytes | bytes, c: algopy.Bytes | bytes, /) → bool

for (data A, signature B, pubkey C) verify the signature of the data against the pubkey => {0 or 1}

Native TEAL opcode: ed25519verify_bare

err() → Never

Fail immediately. :returns typing.Never: Halts program

Native TEAL opcode: err

exit(a: algopy.UInt64 | int, /) → Never

use A as success value; end :returns typing.Never: Halts program

Native TEAL opcode: return

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

expw(a: algopy.UInt64 | int, b: algopy.UInt64 | int, /) → tuple[algopy.UInt64, algopy.UInt64]

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

extract(a: algopy.Bytes | bytes, b: algopy.UInt64 | int, c: algopy.UInt64 | int, /) → algopy.Bytes

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 using extract with no immediates.

Native TEAL opcode: extract, extract3

extract_uint16(a: algopy.Bytes | bytes, b: algopy.UInt64 | int, /) → algopy.UInt64

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

extract_uint32(a: algopy.Bytes | bytes, b: algopy.UInt64 | int, /) → algopy.UInt64

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

extract_uint64(a: algopy.Bytes | bytes, b: algopy.UInt64 | int, /) → algopy.UInt64

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

falcon_verify(a: algopy.Bytes | bytes, b: algopy.Bytes | bytes, c: algopy.Bytes | bytes, /) → bool

for (data A, compressed-format signature B, pubkey C) verify the signature of data against the pubkey Min AVM version: 12

Native TEAL opcode: falcon_verify

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.

Native TEAL opcode: gaid, gaids

getbit(a: algopy.Bytes | algopy.UInt64 | bytes | int, b: algopy.UInt64 | int, /) → algopy.UInt64

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

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

gload_bytes(a: algopy.UInt64 | int, b: algopy.UInt64 | int, /) → algopy.Bytes

Bth scratch space value of the Ath transaction in the current group

Native TEAL opcode: gload, gloads, gloadss

gload_uint64(a: algopy.UInt64 | int, b: algopy.UInt64 | int, /) → algopy.UInt64

Bth scratch space value of the Ath transaction in the current group

Native TEAL opcode: gload, gloads, gloadss

itob(a: algopy.UInt64 | int, /) → algopy.Bytes

converts uint64 A to big-endian byte array, always of length 8

Native TEAL opcode: itob

keccak256(a: algopy.Bytes | bytes, /) → algopy.Bytes

Keccak256 hash of value A, yields [32]byte

Native TEAL opcode: keccak256

mimc(c: algopy.op.MiMCConfigurations, a: algopy.Bytes | bytes, /) → algopy.Bytes

MiMC hash of scalars A, using curve and parameters specified by configuration C A is a list of concatenated 32 byte big-endian unsigned integer scalars. Fail if A’s length is not a multiple of 32 or any element exceeds the curve modulus.

The MiMC hash function has known collisions since any input which is a multiple of the elliptic curve modulus will hash to the same value. MiMC is thus not a general purpose hash function, but meant to be used in zero knowledge applications to match a zk-circuit implementation. Min AVM version: 11 :param MiMCConfigurations c: configuration index

Native TEAL opcode: mimc

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

mulw(a: algopy.UInt64 | int, b: algopy.UInt64 | int, /) → tuple[algopy.UInt64, algopy.UInt64]

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

online_stake() → algopy.UInt64

the total online stake in the agreement round Min AVM version: 11

Native TEAL opcode: online_stake

replace(a: algopy.Bytes | bytes, b: algopy.UInt64 | int, c: algopy.Bytes | bytes, /) → algopy.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 using replace with no immediates.

Native TEAL opcode: replace2, replace3

select_bytes(a: algopy.Bytes | bytes, b: algopy.Bytes | bytes, c: bool | algopy.UInt64 | int, /) → algopy.Bytes

selects one of two values based on top-of-stack: B if C != 0, else A

Native TEAL opcode: select

select_uint64(a: algopy.UInt64 | int, b: algopy.UInt64 | int, c: bool | algopy.UInt64 | int, /) → algopy.UInt64

selects one of two values based on top-of-stack: B if C != 0, else A

Native TEAL opcode: select

setbit_bytes(a: algopy.Bytes | bytes, b: algopy.UInt64 | int, c: algopy.UInt64 | int, /) → algopy.Bytes

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

setbit_uint64(a: algopy.UInt64 | int, b: algopy.UInt64 | int, c: algopy.UInt64 | int, /) → algopy.UInt64

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

setbyte(a: algopy.Bytes | bytes, b: algopy.UInt64 | int, c: algopy.UInt64 | int, /) → algopy.Bytes

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

sha256(a: algopy.Bytes | bytes, /) → algopy.Bytes

SHA256 hash of value A, yields [32]byte

Native TEAL opcode: sha256

sha3_256(a: algopy.Bytes | bytes, /) → algopy.Bytes

SHA3_256 hash of value A, yields [32]byte

Native TEAL opcode: sha3_256

sha512_256(a: algopy.Bytes | bytes, /) → algopy.Bytes

SHA512_256 hash of value A, yields [32]byte

Native TEAL opcode: sha512_256

shl(a: algopy.UInt64 | int, b: algopy.UInt64 | int, /) → algopy.UInt64

A times 2^B, modulo 2^64

Native TEAL opcode: shl

shr(a: algopy.UInt64 | int, b: algopy.UInt64 | int, /) → algopy.UInt64

A divided by 2^B

Native TEAL opcode: shr

sqrt(a: algopy.UInt64 | int, /) → algopy.UInt64

The largest integer I such that I^2 <= A

Native TEAL opcode: sqrt

substring(a: algopy.Bytes | bytes, b: algopy.UInt64 | int, c: algopy.UInt64 | int, /) → algopy.Bytes

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

sumhash512(a: algopy.Bytes | bytes, /) → algopy.Bytes

sumhash512 of value A, yields [64]byte Min AVM version: 12

Native TEAL opcode: sumhash512

vrf_verify(s: algopy.op.VrfVerify, a: algopy.Bytes | bytes, b: algopy.Bytes | bytes, c: algopy.Bytes | bytes, /) → tuple[algopy.Bytes, bool]

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. :param VrfVerify s: parameters index

Native TEAL opcode: vrf_verify