algopy.op
Classes
AcctParamsGet | X is field F from account A. Y is 1 if A owns positive algos, else 0 Native TEAL op: 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 |
AppLocal | Get or modify Local app state Native TEAL ops: app_local_del , app_local_get , app_local_get_ex , 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 |
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 |
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 |
Base64 | Available values for the base64 enum |
Block | field F of block A. Fail unless A falls between txn.LastValid-1002 and txn.FirstValid (exclusive) Native TEAL op: 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 |
EC | Available values for the EC enum |
ECDSA | Available values for the ECDSA enum |
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 |
GITxn | Get values for inner transaction in the last group submitted Native TEAL ops: gitxn , gitxnas |
GTxn | Get values for transactions in the current group Native TEAL ops: gtxns , gtxnsas |
Global | Get Global values Native TEAL op: global |
ITxn | Get values for the last inner transaction Native TEAL ops: itxn , itxnas |
ITxnCreate | Create inner transactions Native TEAL ops: itxn_begin , itxn_field , itxn_next , 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 |
Scratch | Load or store scratch values Native TEAL ops: loads , stores |
Txn | Get values for the current executing transaction Native TEAL ops: txn , txnas |
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 |
VrfVerify | Available values for the vrf_verify enum |
Functions
addw | A plus B as a 128-bit result. X is the carry-bit, Y is the low-order 64 bits. |
---|---|
app_opted_in | 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. |
arg | Ath LogicSig argument |
balance | 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. |
base64_decode | 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. |
bitlen | 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 |
bsqrt | The largest integer I such that I^2 <= A. A and I are interpreted as big-endian unsigned integers |
btoi | 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. |
bzero | zero filled byte-array of length A |
concat | join A and Bconcat fails if the result would be greater than 4096 bytes. |
divmodw | 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. |
divw | 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. |
ecdsa_pk_decompress | 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 |
ecdsa_pk_recover | 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 |
ecdsa_verify | 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 |
ed25519verify | for (data A, signature B, pubkey C) verify the signature of (“ProgData” |
ed25519verify_bare | for (data A, signature B, pubkey C) verify the signature of the data against the pubkey => {0 or 1} |
err | Fail immediately. :returns typing.Never: Halts program |
exit | use A as success value; end :returns typing.Never: Halts program |
exp | A raised to the Bth power. Fail if A == B == 0 and on overflow |
expw | 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 |
extract | 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 failsextract3 can be called using extract with no immediates. |
extract_uint16 | 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 |
extract_uint32 | 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 |
extract_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 |
falcon_verify | for (data A, compressed-format signature B, pubkey C) verify the signature of data against the pubkey Min AVM version: 11 |
gaid | ID of the asset or application created in the Ath transaction of the current groupgaids fails unless the requested transaction created an asset or application and A < GroupIndex. |
getbit | 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 |
getbyte | Bth byte of A, as an integer. If B is greater than or equal to the array length, the program fails |
gload_bytes | Bth scratch space value of the Ath transaction in the current group |
gload_uint64 | Bth scratch space value of the Ath transaction in the current group |
itob | converts uint64 A to big-endian byte array, always of length 8 |
keccak256 | Keccak256 hash of value A, yields [32]byte |
min_balance | 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. |
mulw | A times B as a 128-bit result in two uint64s. X is the high 64 bits, Y is the low |
online_stake | the total online stake in the agreement round Min AVM version: 11 |
replace | 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. |
select_bytes | selects one of two values based on top-of-stack: B if C != 0, else A |
select_uint64 | selects one of two values based on top-of-stack: B if C != 0, else A |
setbit_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. |
setbit_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. |
setbyte | Copy of A with the Bth byte set to small integer (between 0..255) C. If B is greater than or equal to the array length, the program fails |
sha256 | SHA256 hash of value A, yields [32]byte |
sha3_256 | SHA3_256 hash of value A, yields [32]byte |
sha512_256 | SHA512_256 hash of value A, yields [32]byte |
shl | A times 2^B, modulo 2^64 |
shr | A divided by 2^B |
sqrt | The largest integer I such that I^2 <= A |
substring | A range of bytes from A starting at B up to but not including C. If C < B, or either is larger than the array length, the program fails |
sumhash512 | sumhash512 of value A, yields [64]byte Min AVM version: 11 |
vrf_verify | 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 |
API
class algopy.op.AcctParamsGet
AcctParamsGet
X is field F from account A. Y is 1 if A owns positive algos, else 0
Native TEAL op: acct_params_get
static acct_auth_addr
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
static acct_balance
acct_balance(a: algopy.Account | algopy.UInt64 | int, /) → tuple[algopy.UInt64, bool]
Account balance in microalgos
Native TEAL opcode: acct_params_get
static acct_incentive_eligible
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
static acct_last_heartbeat
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
static acct_last_proposed
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
static acct_min_balance
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
static acct_total_apps_created
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
static acct_total_apps_opted_in
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
static acct_total_assets
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
static acct_total_assets_created
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
static acct_total_box_bytes
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
static acct_total_boxes
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
static acct_total_extra_app_pages
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
static acct_total_num_byte_slice
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
static acct_total_num_uint
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
class algopy.op.AppGlobal
AppGlobal
Get or modify Global app state
Native TEAL ops: app_global_del
, app_global_get
, app_global_get_ex
, app_global_put
static delete
delete(a: algopy.Bytes | bytes, /) → None
delete key A from the global state of the current application params: state key.
Deleting a key which is already absent has no effect on the application global state. (In particular, it does not cause the program to fail.)
Native TEAL opcode: app_global_del
static get_bytes
get_bytes(a: algopy.Bytes | bytes, /) → algopy.Bytes
global state of the key A in the current application params: state key. Return: value. The value is zero (of type uint64) if the key does not exist.
Native TEAL opcode: app_global_get
static get_ex_bytes
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
static get_ex_uint64
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
static get_uint64
get_uint64(a: algopy.Bytes | bytes, /) → algopy.UInt64
global state of the key A in the current application params: state key. Return: value. The value is zero (of type uint64) if the key does not exist.
Native TEAL opcode: app_global_get
static put
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
class algopy.op.AppLocal
AppLocal
Get or modify Local app state
Native TEAL ops: app_local_del
, app_local_get
, app_local_get_ex
, app_local_put
static delete
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
static get_bytes
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
static get_ex_bytes
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
static get_ex_uint64
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
static get_uint64
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
static put
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
class algopy.op.AppParamsGet
AppParamsGet
X is field F from app A. Y is 1 if A exists, else 0 params: Txn.ForeignApps offset or an available app id. Return: did_exist flag (1 if the application existed and 0 otherwise), value.
Native TEAL op: app_params_get
static app_address
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
static app_approval_program
app_approval_program(a: algopy.Application | algopy.UInt64 | int, /) → tuple[algopy.Bytes, bool]
Bytecode of Approval Program
Native TEAL opcode: app_params_get
static app_clear_state_program
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
static app_creator
app_creator(a: algopy.Application | algopy.UInt64 | int, /) → tuple[algopy.Account, bool]
Creator address
Native TEAL opcode: app_params_get
static app_extra_program_pages
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
static app_global_num_byte_slice
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
static app_global_num_uint
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
static app_local_num_byte_slice
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
static app_local_num_uint
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
class algopy.op.AssetHoldingGet
AssetHoldingGet
X is field F from account A’s holding of asset B. Y is 1 if A is opted into B, else 0 params: Txn.Accounts offset (or, since v4, an available address), asset id (or, since v4, a Txn.ForeignAssets offset). Return: did_exist flag (1 if the asset existed and 0 otherwise), value.
Native TEAL op: asset_holding_get
static asset_balance
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
static asset_frozen
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
class algopy.op.AssetParamsGet
AssetParamsGet
X is field F from asset A. Y is 1 if A exists, else 0 params: Txn.ForeignAssets offset (or, since v4, an available asset id. Return: did_exist flag (1 if the asset existed and 0 otherwise), value.
Native TEAL op: asset_params_get
static asset_clawback
asset_clawback(a: algopy.Asset | algopy.UInt64 | int, /) → tuple[algopy.Account, bool]
Clawback address
Native TEAL opcode: asset_params_get
static asset_creator
asset_creator(a: algopy.Asset | algopy.UInt64 | int, /) → tuple[algopy.Account, bool]
Creator address
Native TEAL opcode: asset_params_get
static asset_decimals
asset_decimals(a: algopy.Asset | algopy.UInt64 | int, /) → tuple[algopy.UInt64, bool]
See AssetParams.Decimals
Native TEAL opcode: asset_params_get
static asset_default_frozen
asset_default_frozen(a: algopy.Asset | algopy.UInt64 | int, /) → tuple[bool, bool]
Frozen by default or not
Native TEAL opcode: asset_params_get
static asset_freeze
asset_freeze(a: algopy.Asset | algopy.UInt64 | int, /) → tuple[algopy.Account, bool]
Freeze address
Native TEAL opcode: asset_params_get
static asset_manager
asset_manager(a: algopy.Asset | algopy.UInt64 | int, /) → tuple[algopy.Account, bool]
Manager address
Native TEAL opcode: asset_params_get
static asset_metadata_hash
asset_metadata_hash(a: algopy.Asset | algopy.UInt64 | int, /) → tuple[algopy.Bytes, bool]
Arbitrary commitment
Native TEAL opcode: asset_params_get
static asset_name
asset_name(a: algopy.Asset | algopy.UInt64 | int, /) → tuple[algopy.Bytes, bool]
Asset name
Native TEAL opcode: asset_params_get
static asset_reserve
asset_reserve(a: algopy.Asset | algopy.UInt64 | int, /) → tuple[algopy.Account, bool]
Reserve address
Native TEAL opcode: asset_params_get
static asset_total
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
static asset_unit_name
asset_unit_name(a: algopy.Asset | algopy.UInt64 | int, /) → tuple[algopy.Bytes, bool]
Asset unit name
Native TEAL opcode: asset_params_get
static asset_url
asset_url(a: algopy.Asset | algopy.UInt64 | int, /) → tuple[algopy.Bytes, bool]
URL with additional info about the asset
Native TEAL opcode: asset_params_get
class algopy.op.Base64
Base64
Available values for the base64
enum
Initialization
Initialize self. See help(type(self)) for accurate signature.
__add__
add()
Return self+value.
__contains__
contains()
Return bool(key in self).
__delattr__
delattr()
Implement delattr(self, name).
__dir__
dir()
Default dir() implementation.
__eq__
eq()
Return self==value.
__format__
format()
Return a formatted version of the string as described by format_spec.
__ge__
ge()
Return self>=value.
__getattribute__
getattribute()
Return getattr(self, name).
__getitem__
getitem()
Return self[key].
__getstate__
getstate()
Helper for pickle.
__gt__
gt()
Return self>value.
__hash__
hash()
Return hash(self).
__iter__
iter()
Implement iter(self).
__le__
le()
Return self<=value.
__len__
len()
Return len(self).
__lt__
lt()
Return self<value.
__mod__
mod()
Return self%value.
__mul__
mul()
Return self*value.
__ne__
ne()
Return self!=value.
__new__
new()
Create and return a new object. See help(type) for accurate signature.
__reduce__
reduce()
Helper for pickle.
__reduce_ex__
reduce_ex()
Helper for pickle.
__repr__
repr()
Return repr(self).
__rmod__
rmod()
Return value%self.
__rmul__
rmul()
Return value*self.
__setattr__
setattr()
Implement setattr(self, name, value).
__sizeof__
sizeof()
Return the size of the string in memory, in bytes.
__str__
str()
Return str(self).
capitalize
capitalize()
Return a capitalized version of the string.
More specifically, make the first character have upper case and the rest lower case.
casefold
casefold()
Return a version of the string suitable for caseless comparisons.
center
center()
Return a centered string of length width.
Padding is done using the specified fill character (default is a space).
count
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()
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
isprintable()
Return True if the string is printable, False otherwise.
A string is printable if all of its characters are considered printable in repr() or if it is empty.
isspace
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
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
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
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
ljust()
Return a left-justified string of length width.
Padding is done using the specified fill character (default is a space).
lower
lower()
Return a copy of the string converted to lowercase.
lstrip
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()
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
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
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
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
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
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
rjust()
Return a right-justified string of length width.
Padding is done using the specified fill character (default is a space).
rpartition
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
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 whitespacecharacter (including \n \r \t \f and spaces) and will discardempty 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
rstrip()
Return a copy of the string with trailing whitespace removed.
If chars is given and not None, remove characters in chars instead.
split
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 whitespacecharacter (including \n \r \t \f and spaces) and will discardempty 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
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
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
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
swapcase()
Convert uppercase characters to lowercase and lowercase characters to uppercase.
title
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
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
upper()
Return a copy of the string converted to uppercase.
zfill
zfill()
Pad a numeric string with zeros on the left, to fill a field of the given width.
The string is never truncated.
class algopy.op.Block
Block
field F of block A. Fail unless A falls between txn.LastValid-1002 and txn.FirstValid (exclusive)
Native TEAL op: block
static blk_bonus
blk_bonus(a: algopy.UInt64 | int, /) → algopy.UInt64
Min AVM version: 11
Native TEAL opcode: block
static blk_branch
blk_branch(a: algopy.UInt64 | int, /) → algopy.Bytes
Min AVM version: 11
Native TEAL opcode: block
static blk_fee_sink
blk_fee_sink(a: algopy.UInt64 | int, /) → algopy.Account
Min AVM version: 11
Native TEAL opcode: block
static blk_fees_collected
blk_fees_collected(a: algopy.UInt64 | int, /) → algopy.UInt64
Min AVM version: 11
Native TEAL opcode: block
static blk_proposer
blk_proposer(a: algopy.UInt64 | int, /) → algopy.Account
Min AVM version: 11
Native TEAL opcode: block
static blk_proposer_payout
blk_proposer_payout(a: algopy.UInt64 | int, /) → algopy.UInt64
Min AVM version: 11
Native TEAL opcode: block
static blk_protocol
blk_protocol(a: algopy.UInt64 | int, /) → algopy.Bytes
Min AVM version: 11
Native TEAL opcode: block
static blk_seed
blk_seed(a: algopy.UInt64 | int, /) → algopy.Bytes
Native TEAL opcode: block
static blk_timestamp
blk_timestamp(a: algopy.UInt64 | int, /) → algopy.UInt64
Native TEAL opcode: block
static blk_txn_counter
blk_txn_counter(a: algopy.UInt64 | int, /) → algopy.UInt64
Min AVM version: 11
Native TEAL opcode: block
class algopy.op.Box
Box
Get or modify box state
Native TEAL ops: box_create
, box_del
, box_extract
, box_get
, box_len
, box_put
, box_replace
, box_resize
, box_splice
static create
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
static delete
delete(a: algopy.Bytes | bytes, /) → bool
delete box named A if it exists. Return 1 if A existed, 0 otherwise
Native TEAL opcode: box_del
static extract
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
static get
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
static length
length(a: algopy.Bytes | bytes, /) → tuple[algopy.UInt64, bool]
X is the length of box A if A exists, else 0. Y is 1 if A exists, else 0.
Native TEAL opcode: box_len
static put
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
static replace
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
static resize
resize(a: algopy.Bytes | bytes, b: algopy.UInt64 | int, /) → None
change the size of box named A to be of length B, adding zero bytes to end or removing bytes from the end, as needed. Fail if the name A is empty, A is not an existing box, or B exceeds 32,768.
Native TEAL opcode: box_resize
static splice
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
class algopy.op.EC
EC
Available values for the EC
enum
Initialization
Initialize self. See help(type(self)) for accurate signature.
BLS12_381g1
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
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
BN254g1 : algopy.op.EC
Ellipsis
G1 of the BN254 curve. Points encoded as 32 byte X following by 32 byte Y
BN254g2
BN254g2 : algopy.op.EC
Ellipsis
G2 of the BN254 curve. Points encoded as 64 byte X following by 64 byte Y
__add__
add()
Return self+value.
__contains__
contains()
Return bool(key in self).
__delattr__
delattr()
Implement delattr(self, name).
__dir__
dir()
Default dir() implementation.
__eq__
eq()
Return self==value.
__format__
format()
Return a formatted version of the string as described by format_spec.
__ge__
ge()
Return self>=value.
__getattribute__
getattribute()
Return getattr(self, name).
__getitem__
getitem()
Return self[key].
__getstate__
getstate()
Helper for pickle.
__gt__
gt()
Return self>value.
__hash__
hash()
Return hash(self).
__iter__
iter()
Implement iter(self).
__le__
le()
Return self<=value.
__len__
len()
Return len(self).
__lt__
lt()
Return self<value.
__mod__
mod()
Return self%value.
__mul__
mul()
Return self*value.
__ne__
ne()
Return self!=value.
__new__
new()
Create and return a new object. See help(type) for accurate signature.
__reduce__
reduce()
Helper for pickle.
__reduce_ex__
reduce_ex()
Helper for pickle.
__repr__
repr()
Return repr(self).
__rmod__
rmod()
Return value%self.
__rmul__
rmul()
Return value*self.
__setattr__
setattr()
Implement setattr(self, name, value).
__sizeof__
sizeof()
Return the size of the string in memory, in bytes.
__str__
str()
Return str(self).
capitalize
capitalize()
Return a capitalized version of the string.
More specifically, make the first character have upper case and the rest lower case.
casefold
casefold()
Return a version of the string suitable for caseless comparisons.
center
center()
Return a centered string of length width.
Padding is done using the specified fill character (default is a space).
count
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()
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
isprintable()
Return True if the string is printable, False otherwise.
A string is printable if all of its characters are considered printable in repr() or if it is empty.
isspace
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
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
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
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
ljust()
Return a left-justified string of length width.
Padding is done using the specified fill character (default is a space).
lower
lower()
Return a copy of the string converted to lowercase.
lstrip
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()
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
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
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
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
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
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
rjust()
Return a right-justified string of length width.
Padding is done using the specified fill character (default is a space).
rpartition
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
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 whitespacecharacter (including \n \r \t \f and spaces) and will discardempty 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
rstrip()
Return a copy of the string with trailing whitespace removed.
If chars is given and not None, remove characters in chars instead.
split
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 whitespacecharacter (including \n \r \t \f and spaces) and will discardempty 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
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
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
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
swapcase()
Convert uppercase characters to lowercase and lowercase characters to uppercase.
title
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
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
upper()
Return a copy of the string converted to uppercase.
zfill
zfill()
Pad a numeric string with zeros on the left, to fill a field of the given width.
The string is never truncated.
class algopy.op.ECDSA
ECDSA
Available values for the ECDSA
enum
Initialization
Initialize self. See help(type(self)) for accurate signature.
Secp256k1
Secp256k1 : algopy.op.ECDSA
Ellipsis
secp256k1 curve, used in Bitcoin
Secp256r1
Secp256r1 : algopy.op.ECDSA
Ellipsis
secp256r1 curve, NIST standard
__add__
add()
Return self+value.
__contains__
contains()
Return bool(key in self).
__delattr__
delattr()
Implement delattr(self, name).
__dir__
dir()
Default dir() implementation.
__eq__
eq()
Return self==value.
__format__
format()
Return a formatted version of the string as described by format_spec.
__ge__
ge()
Return self>=value.
__getattribute__
getattribute()
Return getattr(self, name).
__getitem__
getitem()
Return self[key].
__getstate__
getstate()
Helper for pickle.
__gt__
gt()
Return self>value.
__hash__
hash()
Return hash(self).
__iter__
iter()
Implement iter(self).
__le__
le()
Return self<=value.
__len__
len()
Return len(self).
__lt__
lt()
Return self<value.
__mod__
mod()
Return self%value.
__mul__
mul()
Return self*value.
__ne__
ne()
Return self!=value.
__new__
new()
Create and return a new object. See help(type) for accurate signature.
__reduce__
reduce()
Helper for pickle.
__reduce_ex__
reduce_ex()
Helper for pickle.
__repr__
repr()
Return repr(self).
__rmod__
rmod()
Return value%self.
__rmul__
rmul()
Return value*self.
__setattr__
setattr()
Implement setattr(self, name, value).
__sizeof__
sizeof()
Return the size of the string in memory, in bytes.
__str__
str()
Return str(self).
capitalize
capitalize()
Return a capitalized version of the string.
More specifically, make the first character have upper case and the rest lower case.
casefold
casefold()
Return a version of the string suitable for caseless comparisons.
center
center()
Return a centered string of length width.
Padding is done using the specified fill character (default is a space).
count
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()
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
isprintable()
Return True if the string is printable, False otherwise.
A string is printable if all of its characters are considered printable in repr() or if it is empty.
isspace
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
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
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
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
ljust()
Return a left-justified string of length width.
Padding is done using the specified fill character (default is a space).
lower
lower()
Return a copy of the string converted to lowercase.
lstrip
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()
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
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
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
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
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
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
rjust()
Return a right-justified string of length width.
Padding is done using the specified fill character (default is a space).
rpartition
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
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 whitespacecharacter (including \n \r \t \f and spaces) and will discardempty 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
rstrip()
Return a copy of the string with trailing whitespace removed.
If chars is given and not None, remove characters in chars instead.
split
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 whitespacecharacter (including \n \r \t \f and spaces) and will discardempty 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
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
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
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
swapcase()
Convert uppercase characters to lowercase and lowercase characters to uppercase.
title
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
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
upper()
Return a copy of the string converted to uppercase.
zfill
zfill()
Pad a numeric string with zeros on the left, to fill a field of the given width.
The string is never truncated.
class algopy.op.EllipticCurve
EllipticCurve
Elliptic Curve functions
Native TEAL ops: ec_add
, ec_map_to
, ec_multi_scalar_mul
, ec_pairing_check
, ec_scalar_mul
, ec_subgroup_check
static add
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
static map_to
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
static pairing_check
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
static scalar_mul
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
static scalar_mul_multi
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
static subgroup_check
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
class algopy.op.GITxn
GITxn
Get values for inner transaction in the last group submitted
Native TEAL ops: gitxn
, gitxnas
static accounts
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
static amount
amount(t: int, /) → algopy.UInt64
:param int t: transaction group index :returns UInt64: microalgos
Native TEAL opcode: gitxn
static application_args
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
static application_id
application_id(t: int, /) → algopy.Application
:param int t: transaction group index :returns Application: ApplicationID from ApplicationCall transaction
Native TEAL opcode: gitxn
static applications
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
static approval_program
approval_program(t: int, /) → algopy.Bytes
:param int t: transaction group index :returns Bytes: Approval program
Native TEAL opcode: gitxn
static approval_program_pages
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
static asset_amount
asset_amount(t: int, /) → algopy.UInt64
:param int t: transaction group index :returns UInt64: value in Asset’s units
Native TEAL opcode: gitxn
static asset_close_to
asset_close_to(t: int, /) → algopy.Account
:param int t: transaction group index :returns Account: 32 byte address
Native TEAL opcode: gitxn
static asset_receiver
asset_receiver(t: int, /) → algopy.Account
:param int t: transaction group index :returns Account: 32 byte address
Native TEAL opcode: gitxn
static asset_sender
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
static assets
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
static clear_state_program
clear_state_program(t: int, /) → algopy.Bytes
:param int t: transaction group index :returns Bytes: Clear state program
Native TEAL opcode: gitxn
static clear_state_program_pages
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
static close_remainder_to
close_remainder_to(t: int, /) → algopy.Account
:param int t: transaction group index :returns Account: 32 byte address
Native TEAL opcode: gitxn
static config_asset
config_asset(t: int, /) → algopy.Asset
:param int t: transaction group index :returns Asset: Asset ID in asset config transaction
Native TEAL opcode: gitxn
static config_asset_clawback
config_asset_clawback(t: int, /) → algopy.Account
:param int t: transaction group index :returns Account: 32 byte address
Native TEAL opcode: gitxn
static config_asset_decimals
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
static config_asset_default_frozen
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
static config_asset_freeze
config_asset_freeze(t: int, /) → algopy.Account
:param int t: transaction group index :returns Account: 32 byte address
Native TEAL opcode: gitxn
static config_asset_manager
config_asset_manager(t: int, /) → algopy.Account
:param int t: transaction group index :returns Account: 32 byte address
Native TEAL opcode: gitxn
static config_asset_metadata_hash
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
static config_asset_name
config_asset_name(t: int, /) → algopy.Bytes
:param int t: transaction group index :returns Bytes: The asset name
Native TEAL opcode: gitxn
static config_asset_reserve
config_asset_reserve(t: int, /) → algopy.Account
:param int t: transaction group index :returns Account: 32 byte address
Native TEAL opcode: gitxn
static config_asset_total
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
static config_asset_unit_name
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
static config_asset_url
config_asset_url(t: int, /) → algopy.Bytes
:param int t: transaction group index :returns Bytes: URL
Native TEAL opcode: gitxn
static created_application_id
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
static created_asset_id
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
static extra_program_pages
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
static fee
fee(t: int, /) → algopy.UInt64
:param int t: transaction group index :returns UInt64: microalgos
Native TEAL opcode: gitxn
static first_valid
first_valid(t: int, /) → algopy.UInt64
:param int t: transaction group index :returns UInt64: round number
Native TEAL opcode: gitxn
static first_valid_time
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
static freeze_asset
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
static freeze_asset_account
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
static freeze_asset_frozen
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
static global_num_byte_slice
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
static global_num_uint
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
static group_index
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
static last_log
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
static last_valid
last_valid(t: int, /) → algopy.UInt64
:param int t: transaction group index :returns UInt64: round number
Native TEAL opcode: gitxn
static lease
lease(t: int, /) → algopy.Bytes
:param int t: transaction group index :returns Bytes: 32 byte lease value
Native TEAL opcode: gitxn
static local_num_byte_slice
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
static local_num_uint
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
static logs
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
static nonparticipation
nonparticipation(t: int, /) → bool
:param int t: transaction group index :returns bool: Marks an account nonparticipating for rewards
Native TEAL opcode: gitxn
static note
note(t: int, /) → algopy.Bytes
:param int t: transaction group index :returns Bytes: Any data up to 1024 bytes
Native TEAL opcode: gitxn
static num_accounts
num_accounts(t: int, /) → algopy.UInt64
:param int t: transaction group index :returns UInt64: Number of Accounts
Native TEAL opcode: gitxn
static num_app_args
num_app_args(t: int, /) → algopy.UInt64
:param int t: transaction group index :returns UInt64: Number of ApplicationArgs
Native TEAL opcode: gitxn
static num_applications
num_applications(t: int, /) → algopy.UInt64
:param int t: transaction group index :returns UInt64: Number of Applications
Native TEAL opcode: gitxn
static num_approval_program_pages
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
static num_assets
num_assets(t: int, /) → algopy.UInt64
:param int t: transaction group index :returns UInt64: Number of Assets
Native TEAL opcode: gitxn
static num_clear_state_program_pages
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
static num_logs
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
static on_completion
on_completion(t: int, /) → algopy.OnCompleteAction
:param int t: transaction group index :returns OnCompleteAction: ApplicationCall transaction on completion action
Native TEAL opcode: gitxn
static receiver
receiver(t: int, /) → algopy.Account
:param int t: transaction group index :returns Account: 32 byte address
Native TEAL opcode: gitxn
static rekey_to
rekey_to(t: int, /) → algopy.Account
:param int t: transaction group index :returns Account: 32 byte Sender’s new AuthAddr
Native TEAL opcode: gitxn
static selection_pk
selection_pk(t: int, /) → algopy.Bytes
:param int t: transaction group index :returns Bytes: 32 byte address
Native TEAL opcode: gitxn
static sender
sender(t: int, /) → algopy.Account
:param int t: transaction group index :returns Account: 32 byte address
Native TEAL opcode: gitxn
static state_proof_pk
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
static tx_id
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
static type
type(t: int, /) → algopy.Bytes
:param int t: transaction group index :returns Bytes: Transaction type as bytes
Native TEAL opcode: gitxn
static type_enum
type_enum(t: int, /) → algopy.TransactionType
:param int t: transaction group index :returns TransactionType: Transaction type as integer
Native TEAL opcode: gitxn
static vote_first
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
static vote_key_dilution
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
static vote_last
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
static vote_pk
vote_pk(t: int, /) → algopy.Bytes
:param int t: transaction group index :returns Bytes: 32 byte address
Native TEAL opcode: gitxn
static xfer_asset
xfer_asset(t: int, /) → algopy.Asset
:param int t: transaction group index :returns Asset: Asset ID
Native TEAL opcode: gitxn
class algopy.op.GTxn
GTxn
Get values for transactions in the current group
Native TEAL ops: gtxns
, gtxnsas
static accounts
accounts(a: algopy.UInt64 | int, b: algopy.UInt64 | int, /) → algopy.Account
Accounts listed in the ApplicationCall transaction
Native TEAL opcode: gtxna
, gtxnas
, gtxnsa
, gtxnsas
static amount
amount(a: algopy.UInt64 | int, /) → algopy.UInt64
microalgos
Native TEAL opcode: gtxn
, gtxns
static application_args
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
static application_id
application_id(a: algopy.UInt64 | int, /) → algopy.Application
ApplicationID from ApplicationCall transaction
Native TEAL opcode: gtxn
, gtxns
static applications
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
static approval_program
approval_program(a: algopy.UInt64 | int, /) → algopy.Bytes
Approval program
Native TEAL opcode: gtxn
, gtxns
static approval_program_pages
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
static asset_amount
asset_amount(a: algopy.UInt64 | int, /) → algopy.UInt64
value in Asset’s units
Native TEAL opcode: gtxn
, gtxns
static asset_close_to
asset_close_to(a: algopy.UInt64 | int, /) → algopy.Account
32 byte address
Native TEAL opcode: gtxn
, gtxns
static asset_receiver
asset_receiver(a: algopy.UInt64 | int, /) → algopy.Account
32 byte address
Native TEAL opcode: gtxn
, gtxns
static asset_sender
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
static assets
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
static clear_state_program
clear_state_program(a: algopy.UInt64 | int, /) → algopy.Bytes
Clear state program
Native TEAL opcode: gtxn
, gtxns
static clear_state_program_pages
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
static close_remainder_to
close_remainder_to(a: algopy.UInt64 | int, /) → algopy.Account
32 byte address
Native TEAL opcode: gtxn
, gtxns
static config_asset
config_asset(a: algopy.UInt64 | int, /) → algopy.Asset
Asset ID in asset config transaction
Native TEAL opcode: gtxn
, gtxns
static config_asset_clawback
config_asset_clawback(a: algopy.UInt64 | int, /) → algopy.Account
32 byte address
Native TEAL opcode: gtxn
, gtxns
static config_asset_decimals
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
static config_asset_default_frozen
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
static config_asset_freeze
config_asset_freeze(a: algopy.UInt64 | int, /) → algopy.Account
32 byte address
Native TEAL opcode: gtxn
, gtxns
static config_asset_manager
config_asset_manager(a: algopy.UInt64 | int, /) → algopy.Account
32 byte address
Native TEAL opcode: gtxn
, gtxns
static config_asset_metadata_hash
config_asset_metadata_hash(a: algopy.UInt64 | int, /) → algopy.Bytes
32 byte commitment to unspecified asset metadata
Native TEAL opcode: gtxn
, gtxns
static config_asset_name
config_asset_name(a: algopy.UInt64 | int, /) → algopy.Bytes
The asset name
Native TEAL opcode: gtxn
, gtxns
static config_asset_reserve
config_asset_reserve(a: algopy.UInt64 | int, /) → algopy.Account
32 byte address
Native TEAL opcode: gtxn
, gtxns
static config_asset_total
config_asset_total(a: algopy.UInt64 | int, /) → algopy.UInt64
Total number of units of this asset created
Native TEAL opcode: gtxn
, gtxns
static config_asset_unit_name
config_asset_unit_name(a: algopy.UInt64 | int, /) → algopy.Bytes
Unit name of the asset
Native TEAL opcode: gtxn
, gtxns
static config_asset_url
config_asset_url(a: algopy.UInt64 | int, /) → algopy.Bytes
URL
Native TEAL opcode: gtxn
, gtxns
static created_application_id
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
static created_asset_id
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
static extra_program_pages
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
static fee
fee(a: algopy.UInt64 | int, /) → algopy.UInt64
microalgos
Native TEAL opcode: gtxn
, gtxns
static first_valid
first_valid(a: algopy.UInt64 | int, /) → algopy.UInt64
round number
Native TEAL opcode: gtxn
, gtxns
static first_valid_time
first_valid_time(a: algopy.UInt64 | int, /) → algopy.UInt64
UNIX timestamp of block before txn.FirstValid. Fails if negative
Native TEAL opcode: gtxn
, gtxns
static freeze_asset
freeze_asset(a: algopy.UInt64 | int, /) → algopy.Asset
Asset ID being frozen or un-frozen
Native TEAL opcode: gtxn
, gtxns
static freeze_asset_account
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
static freeze_asset_frozen
freeze_asset_frozen(a: algopy.UInt64 | int, /) → bool
The new frozen value, 0 or 1
Native TEAL opcode: gtxn
, gtxns
static global_num_byte_slice
global_num_byte_slice(a: algopy.UInt64 | int, /) → algopy.UInt64
Number of global state byteslices in ApplicationCall
Native TEAL opcode: gtxn
, gtxns
static global_num_uint
global_num_uint(a: algopy.UInt64 | int, /) → algopy.UInt64
Number of global state integers in ApplicationCall
Native TEAL opcode: gtxn
, gtxns
static group_index
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
static last_log
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
static last_valid
last_valid(a: algopy.UInt64 | int, /) → algopy.UInt64
round number
Native TEAL opcode: gtxn
, gtxns
static lease
lease(a: algopy.UInt64 | int, /) → algopy.Bytes
32 byte lease value
Native TEAL opcode: gtxn
, gtxns
static local_num_byte_slice
local_num_byte_slice(a: algopy.UInt64 | int, /) → algopy.UInt64
Number of local state byteslices in ApplicationCall
Native TEAL opcode: gtxn
, gtxns
static local_num_uint
local_num_uint(a: algopy.UInt64 | int, /) → algopy.UInt64
Number of local state integers in ApplicationCall
Native TEAL opcode: gtxn
, gtxns
static logs
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
static nonparticipation
nonparticipation(a: algopy.UInt64 | int, /) → bool
Marks an account nonparticipating for rewards
Native TEAL opcode: gtxn
, gtxns
static note
note(a: algopy.UInt64 | int, /) → algopy.Bytes
Any data up to 1024 bytes
Native TEAL opcode: gtxn
, gtxns
static num_accounts
num_accounts(a: algopy.UInt64 | int, /) → algopy.UInt64
Number of Accounts
Native TEAL opcode: gtxn
, gtxns
static num_app_args
num_app_args(a: algopy.UInt64 | int, /) → algopy.UInt64
Number of ApplicationArgs
Native TEAL opcode: gtxn
, gtxns
static num_applications
num_applications(a: algopy.UInt64 | int, /) → algopy.UInt64
Number of Applications
Native TEAL opcode: gtxn
, gtxns
static num_approval_program_pages
num_approval_program_pages(a: algopy.UInt64 | int, /) → algopy.UInt64
Number of Approval Program pages
Native TEAL opcode: gtxn
, gtxns
static num_assets
num_assets(a: algopy.UInt64 | int, /) → algopy.UInt64
Number of Assets
Native TEAL opcode: gtxn
, gtxns
static num_clear_state_program_pages
num_clear_state_program_pages(a: algopy.UInt64 | int, /) → algopy.UInt64
Number of ClearState Program pages
Native TEAL opcode: gtxn
, gtxns
static num_logs
num_logs(a: algopy.UInt64 | int, /) → algopy.UInt64
Number of Logs (only with itxn
in v5). Application mode only
Native TEAL opcode: gtxn
, gtxns
static on_completion
on_completion(a: algopy.UInt64 | int, /) → algopy.OnCompleteAction
ApplicationCall transaction on completion action
Native TEAL opcode: gtxn
, gtxns
static receiver
receiver(a: algopy.UInt64 | int, /) → algopy.Account
32 byte address
Native TEAL opcode: gtxn
, gtxns
static rekey_to
rekey_to(a: algopy.UInt64 | int, /) → algopy.Account
32 byte Sender’s new AuthAddr
Native TEAL opcode: gtxn
, gtxns
static selection_pk
selection_pk(a: algopy.UInt64 | int, /) → algopy.Bytes
32 byte address
Native TEAL opcode: gtxn
, gtxns
static sender
sender(a: algopy.UInt64 | int, /) → algopy.Account
32 byte address
Native TEAL opcode: gtxn
, gtxns
static state_proof_pk
state_proof_pk(a: algopy.UInt64 | int, /) → algopy.Bytes
64 byte state proof public key
Native TEAL opcode: gtxn
, gtxns
static tx_id
tx_id(a: algopy.UInt64 | int, /) → algopy.Bytes
The computed ID for this transaction. 32 bytes.
Native TEAL opcode: gtxn
, gtxns
static type
type(a: algopy.UInt64 | int, /) → algopy.Bytes
Transaction type as bytes
Native TEAL opcode: gtxn
, gtxns
static type_enum
type_enum(a: algopy.UInt64 | int, /) → algopy.TransactionType
Transaction type as integer
Native TEAL opcode: gtxn
, gtxns
static vote_first
vote_first(a: algopy.UInt64 | int, /) → algopy.UInt64
The first round that the participation key is valid.
Native TEAL opcode: gtxn
, gtxns
static vote_key_dilution
vote_key_dilution(a: algopy.UInt64 | int, /) → algopy.UInt64
Dilution for the 2-level participation key
Native TEAL opcode: gtxn
, gtxns
static vote_last
vote_last(a: algopy.UInt64 | int, /) → algopy.UInt64
The last round that the participation key is valid.
Native TEAL opcode: gtxn
, gtxns
static vote_pk
vote_pk(a: algopy.UInt64 | int, /) → algopy.Bytes
32 byte address
Native TEAL opcode: gtxn
, gtxns
static xfer_asset
xfer_asset(a: algopy.UInt64 | int, /) → algopy.Asset
Asset ID
Native TEAL opcode: gtxn
, gtxns
class algopy.op.Global
Global
Get Global values
Native TEAL op: global
asset_create_min_balance
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
asset_opt_in_min_balance : Final[algopy.UInt64]
Ellipsis
The additional minimum balance required to opt-in to an asset.
caller_application_address
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
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
creator_address : Final[algopy.Account]
Ellipsis
Address of the creator of the current application. Application mode only.
current_application_address
current_application_address : Final[algopy.Account]
Ellipsis
Address that the current application controls. Application mode only.
current_application_id
current_application_id : Final[algopy.Application]
Ellipsis
ID of current application executing. Application mode only.
genesis_hash
genesis_hash : Final[algopy.Bytes]
Ellipsis
The Genesis Hash for the network.
group_id
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
group_size : Final[algopy.UInt64]
Ellipsis
Number of transactions in this atomic transaction group. At least 1
latest_timestamp
latest_timestamp : Final[algopy.UInt64]
Ellipsis
Last confirmed block UNIX timestamp. Fails if negative. Application mode only.
logic_sig_version
logic_sig_version : Final[algopy.UInt64]
Ellipsis
Maximum supported version
max_txn_life
max_txn_life : Final[algopy.UInt64]
Ellipsis
rounds
min_balance
min_balance : Final[algopy.UInt64]
Ellipsis
microalgos
min_txn_fee
min_txn_fee : Final[algopy.UInt64]
Ellipsis
microalgos
static opcode_budget
opcode_budget() → algopy.UInt64
The remaining cost that can be spent by opcodes in this program.
Native TEAL opcode: global
payouts_enabled
payouts_enabled : Final[bool]
Ellipsis
Whether block proposal payouts are enabled. Min AVM version: 11
payouts_go_online_fee
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
payouts_max_balance : Final[algopy.UInt64]
Ellipsis
The maximum algo balance an account can have in the agreement round to receive block payouts in the proposal round. Min AVM version: 11
payouts_min_balance
payouts_min_balance : Final[algopy.UInt64]
Ellipsis
The minimum algo balance an account must have in the agreement round to receive block payouts in the proposal round. Min AVM version: 11
payouts_percent
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
round : Final[algopy.UInt64]
Ellipsis
Current round number. Application mode only.
zero_address
zero_address : Final[algopy.Account]
Ellipsis
32 byte address of all zero bytes
class algopy.op.ITxn
ITxn
Get values for the last inner transaction
Native TEAL ops: itxn
, itxnas
static accounts
accounts(a: algopy.UInt64 | int, /) → algopy.Account
Accounts listed in the ApplicationCall transaction
Native TEAL opcode: itxna
, itxnas
static amount
amount() → algopy.UInt64
microalgos
Native TEAL opcode: itxn
static application_args
application_args(a: algopy.UInt64 | int, /) → algopy.Bytes
Arguments passed to the application in the ApplicationCall transaction
Native TEAL opcode: itxna
, itxnas
static application_id
application_id() → algopy.Application
ApplicationID from ApplicationCall transaction
Native TEAL opcode: itxn
static applications
applications(a: algopy.UInt64 | int, /) → algopy.Application
Foreign Apps listed in the ApplicationCall transaction
Native TEAL opcode: itxna
, itxnas
static approval_program
approval_program() → algopy.Bytes
Approval program
Native TEAL opcode: itxn
static approval_program_pages
approval_program_pages(a: algopy.UInt64 | int, /) → algopy.Bytes
Approval Program as an array of pages
Native TEAL opcode: itxna
, itxnas
static asset_amount
asset_amount() → algopy.UInt64
value in Asset’s units
Native TEAL opcode: itxn
static asset_close_to
asset_close_to() → algopy.Account
32 byte address
Native TEAL opcode: itxn
static asset_receiver
asset_receiver() → algopy.Account
32 byte address
Native TEAL opcode: itxn
static asset_sender
asset_sender() → algopy.Account
32 byte address. Source of assets if Sender is the Asset’s Clawback address.
Native TEAL opcode: itxn
static assets
assets(a: algopy.UInt64 | int, /) → algopy.Asset
Foreign Assets listed in the ApplicationCall transaction
Native TEAL opcode: itxna
, itxnas
static clear_state_program
clear_state_program() → algopy.Bytes
Clear state program
Native TEAL opcode: itxn
static clear_state_program_pages
clear_state_program_pages(a: algopy.UInt64 | int, /) → algopy.Bytes
ClearState Program as an array of pages
Native TEAL opcode: itxna
, itxnas
static close_remainder_to
close_remainder_to() → algopy.Account
32 byte address
Native TEAL opcode: itxn
static config_asset
config_asset() → algopy.Asset
Asset ID in asset config transaction
Native TEAL opcode: itxn
static config_asset_clawback
config_asset_clawback() → algopy.Account
32 byte address
Native TEAL opcode: itxn
static config_asset_decimals
config_asset_decimals() → algopy.UInt64
Number of digits to display after the decimal place when displaying the asset
Native TEAL opcode: itxn
static config_asset_default_frozen
config_asset_default_frozen() → bool
Whether the asset’s slots are frozen by default or not, 0 or 1
Native TEAL opcode: itxn
static config_asset_freeze
config_asset_freeze() → algopy.Account
32 byte address
Native TEAL opcode: itxn
static config_asset_manager
config_asset_manager() → algopy.Account
32 byte address
Native TEAL opcode: itxn
static config_asset_metadata_hash
config_asset_metadata_hash() → algopy.Bytes
32 byte commitment to unspecified asset metadata
Native TEAL opcode: itxn
static config_asset_name
config_asset_name() → algopy.Bytes
The asset name
Native TEAL opcode: itxn
static config_asset_reserve
config_asset_reserve() → algopy.Account
32 byte address
Native TEAL opcode: itxn
static config_asset_total
config_asset_total() → algopy.UInt64
Total number of units of this asset created
Native TEAL opcode: itxn
static config_asset_unit_name
config_asset_unit_name() → algopy.Bytes
Unit name of the asset
Native TEAL opcode: itxn
static config_asset_url
config_asset_url() → algopy.Bytes
URL
Native TEAL opcode: itxn
static created_application_id
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
static created_asset_id
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
static extra_program_pages
extra_program_pages() → algopy.UInt64
Number of additional pages for each of the application’s approval and clear state programs. An ExtraProgramPages of 1 means 2048 more total bytes, or 1024 for each program.
Native TEAL opcode: itxn
static fee
fee() → algopy.UInt64
microalgos
Native TEAL opcode: itxn
static first_valid
first_valid() → algopy.UInt64
round number
Native TEAL opcode: itxn
static first_valid_time
first_valid_time() → algopy.UInt64
UNIX timestamp of block before txn.FirstValid. Fails if negative
Native TEAL opcode: itxn
static freeze_asset
freeze_asset() → algopy.Asset
Asset ID being frozen or un-frozen
Native TEAL opcode: itxn
static freeze_asset_account
freeze_asset_account() → algopy.Account
32 byte address of the account whose asset slot is being frozen or un-frozen
Native TEAL opcode: itxn
static freeze_asset_frozen
freeze_asset_frozen() → bool
The new frozen value, 0 or 1
Native TEAL opcode: itxn
static global_num_byte_slice
global_num_byte_slice() → algopy.UInt64
Number of global state byteslices in ApplicationCall
Native TEAL opcode: itxn
static global_num_uint
global_num_uint() → algopy.UInt64
Number of global state integers in ApplicationCall
Native TEAL opcode: itxn
static group_index
group_index() → algopy.UInt64
Position of this transaction within an atomic transaction group. A stand-alone transaction is implicitly element 0 in a group of 1
Native TEAL opcode: itxn
static last_log
last_log() → algopy.Bytes
The last message emitted. Empty bytes if none were emitted. Application mode only
Native TEAL opcode: itxn
static last_valid
last_valid() → algopy.UInt64
round number
Native TEAL opcode: itxn
static lease
lease() → algopy.Bytes
32 byte lease value
Native TEAL opcode: itxn
static local_num_byte_slice
local_num_byte_slice() → algopy.UInt64
Number of local state byteslices in ApplicationCall
Native TEAL opcode: itxn
static local_num_uint
local_num_uint() → algopy.UInt64
Number of local state integers in ApplicationCall
Native TEAL opcode: itxn
static logs
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
static nonparticipation
nonparticipation() → bool
Marks an account nonparticipating for rewards
Native TEAL opcode: itxn
static note
note() → algopy.Bytes
Any data up to 1024 bytes
Native TEAL opcode: itxn
static num_accounts
num_accounts() → algopy.UInt64
Number of Accounts
Native TEAL opcode: itxn
static num_app_args
num_app_args() → algopy.UInt64
Number of ApplicationArgs
Native TEAL opcode: itxn
static num_applications
num_applications() → algopy.UInt64
Number of Applications
Native TEAL opcode: itxn
static num_approval_program_pages
num_approval_program_pages() → algopy.UInt64
Number of Approval Program pages
Native TEAL opcode: itxn
static num_assets
num_assets() → algopy.UInt64
Number of Assets
Native TEAL opcode: itxn
static num_clear_state_program_pages
num_clear_state_program_pages() → algopy.UInt64
Number of ClearState Program pages
Native TEAL opcode: itxn
static num_logs
num_logs() → algopy.UInt64
Number of Logs (only with itxn
in v5). Application mode only
Native TEAL opcode: itxn
static on_completion
on_completion() → algopy.OnCompleteAction
ApplicationCall transaction on completion action
Native TEAL opcode: itxn
static receiver
receiver() → algopy.Account
32 byte address
Native TEAL opcode: itxn
static rekey_to
rekey_to() → algopy.Account
32 byte Sender’s new AuthAddr
Native TEAL opcode: itxn
static selection_pk
selection_pk() → algopy.Bytes
32 byte address
Native TEAL opcode: itxn
static sender
sender() → algopy.Account
32 byte address
Native TEAL opcode: itxn
static state_proof_pk
state_proof_pk() → algopy.Bytes
64 byte state proof public key
Native TEAL opcode: itxn
static tx_id
tx_id() → algopy.Bytes
The computed ID for this transaction. 32 bytes.
Native TEAL opcode: itxn
static type
type() → algopy.Bytes
Transaction type as bytes
Native TEAL opcode: itxn
static type_enum
type_enum() → algopy.TransactionType
Transaction type as integer
Native TEAL opcode: itxn
static vote_first
vote_first() → algopy.UInt64
The first round that the participation key is valid.
Native TEAL opcode: itxn
static vote_key_dilution
vote_key_dilution() → algopy.UInt64
Dilution for the 2-level participation key
Native TEAL opcode: itxn
static vote_last
vote_last() → algopy.UInt64
The last round that the participation key is valid.
Native TEAL opcode: itxn
static vote_pk
vote_pk() → algopy.Bytes
32 byte address
Native TEAL opcode: itxn
static xfer_asset
xfer_asset() → algopy.Asset
Asset ID
Native TEAL opcode: itxn
class algopy.op.ITxnCreate
ITxnCreate
Create inner transactions
Native TEAL ops: itxn_begin
, itxn_field
, itxn_next
, itxn_submit
static begin
begin() → None
begin preparation of a new inner transaction in a new transaction group
itxn_begin
initializes Sender to the application address; Fee to the minimum allowable, taking into account MinTxnFee and credit from overpaying in earlier transactions; FirstValid/LastValid to the values in the invoking transaction, and all other fields to zero or empty values.
Native TEAL opcode: itxn_begin
static next
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
static set_accounts
set_accounts(a: algopy.Account, /) → None
:param Account a: Accounts listed in the ApplicationCall transaction
Native TEAL opcode: itxn_field
static set_amount
set_amount(a: algopy.UInt64 | int, /) → None
:param UInt64 | int a: microalgos
Native TEAL opcode: itxn_field
static set_application_args
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
static set_application_id
set_application_id(a: algopy.Application | algopy.UInt64 | int, /) → None
:param Application | UInt64 | int a: ApplicationID from ApplicationCall transaction
Native TEAL opcode: itxn_field
static set_applications
set_applications(a: algopy.UInt64 | int, /) → None
:param UInt64 | int a: Foreign Apps listed in the ApplicationCall transaction
Native TEAL opcode: itxn_field
static set_approval_program
set_approval_program(a: algopy.Bytes | bytes, /) → None
:param Bytes | bytes a: Approval program
Native TEAL opcode: itxn_field
static set_approval_program_pages
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
static set_asset_amount
set_asset_amount(a: algopy.UInt64 | int, /) → None
:param UInt64 | int a: value in Asset’s units
Native TEAL opcode: itxn_field
static set_asset_close_to
set_asset_close_to(a: algopy.Account, /) → None
:param Account a: 32 byte address
Native TEAL opcode: itxn_field
static set_asset_receiver
set_asset_receiver(a: algopy.Account, /) → None
:param Account a: 32 byte address
Native TEAL opcode: itxn_field
static set_asset_sender
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
static set_assets
set_assets(a: algopy.UInt64 | int, /) → None
:param UInt64 | int a: Foreign Assets listed in the ApplicationCall transaction
Native TEAL opcode: itxn_field
static set_clear_state_program
set_clear_state_program(a: algopy.Bytes | bytes, /) → None
:param Bytes | bytes a: Clear state program
Native TEAL opcode: itxn_field
static set_clear_state_program_pages
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
static set_close_remainder_to
set_close_remainder_to(a: algopy.Account, /) → None
:param Account a: 32 byte address
Native TEAL opcode: itxn_field
static set_config_asset
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
static set_config_asset_clawback
set_config_asset_clawback(a: algopy.Account, /) → None
:param Account a: 32 byte address
Native TEAL opcode: itxn_field
static set_config_asset_decimals
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
static set_config_asset_default_frozen
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
static set_config_asset_freeze
set_config_asset_freeze(a: algopy.Account, /) → None
:param Account a: 32 byte address
Native TEAL opcode: itxn_field
static set_config_asset_manager
set_config_asset_manager(a: algopy.Account, /) → None
:param Account a: 32 byte address
Native TEAL opcode: itxn_field
static set_config_asset_metadata_hash
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
static set_config_asset_name
set_config_asset_name(a: algopy.Bytes | bytes, /) → None
:param Bytes | bytes a: The asset name
Native TEAL opcode: itxn_field
static set_config_asset_reserve
set_config_asset_reserve(a: algopy.Account, /) → None
:param Account a: 32 byte address
Native TEAL opcode: itxn_field
static set_config_asset_total
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
static set_config_asset_unit_name
set_config_asset_unit_name(a: algopy.Bytes | bytes, /) → None
:param Bytes | bytes a: Unit name of the asset
Native TEAL opcode: itxn_field
static set_config_asset_url
set_config_asset_url(a: algopy.Bytes | bytes, /) → None
:param Bytes | bytes a: URL
Native TEAL opcode: itxn_field
static set_extra_program_pages
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
static set_fee
set_fee(a: algopy.UInt64 | int, /) → None
:param UInt64 | int a: microalgos
Native TEAL opcode: itxn_field
static set_freeze_asset
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
static set_freeze_asset_account
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
static set_freeze_asset_frozen
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
static set_global_num_byte_slice
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
static set_global_num_uint
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
static set_local_num_byte_slice
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
static set_local_num_uint
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
static set_nonparticipation
set_nonparticipation(a: bool | algopy.UInt64 | int, /) → None
:param bool | UInt64 | int a: Marks an account nonparticipating for rewards
Native TEAL opcode: itxn_field
static set_note
set_note(a: algopy.Bytes | bytes, /) → None
:param Bytes | bytes a: Any data up to 1024 bytes
Native TEAL opcode: itxn_field
static set_on_completion
set_on_completion(a: algopy.UInt64 | int, /) → None
:param UInt64 | int a: ApplicationCall transaction on completion action
Native TEAL opcode: itxn_field
static set_receiver
set_receiver(a: algopy.Account, /) → None
:param Account a: 32 byte address
Native TEAL opcode: itxn_field
static set_rekey_to
set_rekey_to(a: algopy.Account, /) → None
:param Account a: 32 byte Sender’s new AuthAddr
Native TEAL opcode: itxn_field
static set_selection_pk
set_selection_pk(a: algopy.Bytes | bytes, /) → None
:param Bytes | bytes a: 32 byte address
Native TEAL opcode: itxn_field
static set_sender
set_sender(a: algopy.Account, /) → None
:param Account a: 32 byte address
Native TEAL opcode: itxn_field
static set_state_proof_pk
set_state_proof_pk(a: algopy.Bytes | bytes, /) → None
:param Bytes | bytes a: 64 byte state proof public key
Native TEAL opcode: itxn_field
static set_type
set_type(a: algopy.Bytes | bytes, /) → None
:param Bytes | bytes a: Transaction type as bytes
Native TEAL opcode: itxn_field
static set_type_enum
set_type_enum(a: algopy.UInt64 | int, /) → None
:param UInt64 | int a: Transaction type as integer
Native TEAL opcode: itxn_field
static set_vote_first
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
static set_vote_key_dilution
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
static set_vote_last
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
static set_vote_pk
set_vote_pk(a: algopy.Bytes | bytes, /) → None
:param Bytes | bytes a: 32 byte address
Native TEAL opcode: itxn_field
static set_xfer_asset
set_xfer_asset(a: algopy.Asset | algopy.UInt64 | int, /) → None
:param Asset | UInt64 | int a: Asset ID
Native TEAL opcode: itxn_field
static submit
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
class algopy.op.JsonRef
JsonRef
key B’s value, of type R, from a valid utf-8 encoded json object A Warning: Usage should be restricted to very rare use cases, as JSON decoding is expensive and quite limited. In addition, JSON objects are large and not optimized for size. Almost all smart contracts should use simpler and smaller methods (such as the ABI. This opcode should only be used in cases where JSON is only available option, e.g. when a third-party only signs JSON.
Native TEAL op: json_ref
static json_object
json_object(a: algopy.Bytes | bytes, b: algopy.Bytes | bytes, /) → algopy.Bytes
Native TEAL opcode: json_ref
static json_string
json_string(a: algopy.Bytes | bytes, b: algopy.Bytes | bytes, /) → algopy.Bytes
Native TEAL opcode: json_ref
static json_uint64
json_uint64(a: algopy.Bytes | bytes, b: algopy.Bytes | bytes, /) → algopy.UInt64
Native TEAL opcode: json_ref
class algopy.op.Scratch
Scratch
Load or store scratch values
Native TEAL ops: loads
, stores
static load_bytes
load_bytes(a: algopy.UInt64 | int, /) → algopy.Bytes
Ath scratch space value. All scratch spaces are 0 at program start.
Native TEAL opcode: loads
static load_uint64
load_uint64(a: algopy.UInt64 | int, /) → algopy.UInt64
Ath scratch space value. All scratch spaces are 0 at program start.
Native TEAL opcode: loads
static store
store(a: algopy.UInt64 | int, b: algopy.Bytes | algopy.UInt64 | bytes | int, /) → None
store B to the Ath scratch space
Native TEAL opcode: stores
class algopy.op.Txn
Txn
Get values for the current executing transaction
Native TEAL ops: txn
, txnas
static accounts
accounts(a: algopy.UInt64 | int, /) → algopy.Account
Accounts listed in the ApplicationCall transaction
Native TEAL opcode: txna
, txnas
amount
amount : Final[algopy.UInt64]
Ellipsis
microalgos
static application_args
application_args(a: algopy.UInt64 | int, /) → algopy.Bytes
Arguments passed to the application in the ApplicationCall transaction
Native TEAL opcode: txna
, txnas
application_id
application_id : Final[algopy.Application]
Ellipsis
ApplicationID from ApplicationCall transaction
static applications
applications(a: algopy.UInt64 | int, /) → algopy.Application
Foreign Apps listed in the ApplicationCall transaction
Native TEAL opcode: txna
, txnas
approval_program
approval_program : Final[algopy.Bytes]
Ellipsis
Approval program
static approval_program_pages
approval_program_pages(a: algopy.UInt64 | int, /) → algopy.Bytes
Approval Program as an array of pages
Native TEAL opcode: txna
, txnas
asset_amount
asset_amount : Final[algopy.UInt64]
Ellipsis
value in Asset’s units
asset_close_to
asset_close_to : Final[algopy.Account]
Ellipsis
32 byte address
asset_receiver
asset_receiver : Final[algopy.Account]
Ellipsis
32 byte address
asset_sender
asset_sender : Final[algopy.Account]
Ellipsis
32 byte address. Source of assets if Sender is the Asset’s Clawback address.
static assets
assets(a: algopy.UInt64 | int, /) → algopy.Asset
Foreign Assets listed in the ApplicationCall transaction
Native TEAL opcode: txna
, txnas
clear_state_program
clear_state_program : Final[algopy.Bytes]
Ellipsis
Clear state program
static clear_state_program_pages
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
close_remainder_to : Final[algopy.Account]
Ellipsis
32 byte address
config_asset
config_asset : Final[algopy.Asset]
Ellipsis
Asset ID in asset config transaction
config_asset_clawback
config_asset_clawback : Final[algopy.Account]
Ellipsis
32 byte address
config_asset_decimals
config_asset_decimals : Final[algopy.UInt64]
Ellipsis
Number of digits to display after the decimal place when displaying the asset
config_asset_default_frozen
config_asset_default_frozen : Final[bool]
Ellipsis
Whether the asset’s slots are frozen by default or not, 0 or 1
config_asset_freeze
config_asset_freeze : Final[algopy.Account]
Ellipsis
32 byte address
config_asset_manager
config_asset_manager : Final[algopy.Account]
Ellipsis
32 byte address
config_asset_metadata_hash
config_asset_metadata_hash : Final[algopy.Bytes]
Ellipsis
32 byte commitment to unspecified asset metadata
config_asset_name
config_asset_name : Final[algopy.Bytes]
Ellipsis
The asset name
config_asset_reserve
config_asset_reserve : Final[algopy.Account]
Ellipsis
32 byte address
config_asset_total
config_asset_total : Final[algopy.UInt64]
Ellipsis
Total number of units of this asset created
config_asset_unit_name
config_asset_unit_name : Final[algopy.Bytes]
Ellipsis
Unit name of the asset
config_asset_url
config_asset_url : Final[algopy.Bytes]
Ellipsis
URL
created_application_id
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
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
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
fee : Final[algopy.UInt64]
Ellipsis
microalgos
first_valid
first_valid : Final[algopy.UInt64]
Ellipsis
round number
first_valid_time
first_valid_time : Final[algopy.UInt64]
Ellipsis
UNIX timestamp of block before txn.FirstValid. Fails if negative
freeze_asset
freeze_asset : Final[algopy.Asset]
Ellipsis
Asset ID being frozen or un-frozen
freeze_asset_account
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
freeze_asset_frozen : Final[bool]
Ellipsis
The new frozen value, 0 or 1
global_num_byte_slice
global_num_byte_slice : Final[algopy.UInt64]
Ellipsis
Number of global state byteslices in ApplicationCall
global_num_uint
global_num_uint : Final[algopy.UInt64]
Ellipsis
Number of global state integers in ApplicationCall
group_index
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
last_log : Final[algopy.Bytes]
Ellipsis
The last message emitted. Empty bytes if none were emitted. Application mode only
last_valid
last_valid : Final[algopy.UInt64]
Ellipsis
round number
lease
lease : Final[algopy.Bytes]
Ellipsis
32 byte lease value
local_num_byte_slice
local_num_byte_slice : Final[algopy.UInt64]
Ellipsis
Number of local state byteslices in ApplicationCall
local_num_uint
local_num_uint : Final[algopy.UInt64]
Ellipsis
Number of local state integers in ApplicationCall
static logs
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
nonparticipation : Final[bool]
Ellipsis
Marks an account nonparticipating for rewards
note
note : Final[algopy.Bytes]
Ellipsis
Any data up to 1024 bytes
num_accounts
num_accounts : Final[algopy.UInt64]
Ellipsis
Number of Accounts
num_app_args
num_app_args : Final[algopy.UInt64]
Ellipsis
Number of ApplicationArgs
num_applications
num_applications : Final[algopy.UInt64]
Ellipsis
Number of Applications
num_approval_program_pages
num_approval_program_pages : Final[algopy.UInt64]
Ellipsis
Number of Approval Program pages
num_assets
num_assets : Final[algopy.UInt64]
Ellipsis
Number of Assets
num_clear_state_program_pages
num_clear_state_program_pages : Final[algopy.UInt64]
Ellipsis
Number of ClearState Program pages
num_logs
num_logs : Final[algopy.UInt64]
Ellipsis
Number of Logs (only with itxn
in v5). Application mode only
on_completion
on_completion : Final[algopy.OnCompleteAction]
Ellipsis
ApplicationCall transaction on completion action
receiver
receiver : Final[algopy.Account]
Ellipsis
32 byte address
rekey_to
rekey_to : Final[algopy.Account]
Ellipsis
32 byte Sender’s new AuthAddr
selection_pk
selection_pk : Final[algopy.Bytes]
Ellipsis
32 byte address
sender
sender : Final[algopy.Account]
Ellipsis
32 byte address
state_proof_pk
state_proof_pk : Final[algopy.Bytes]
Ellipsis
64 byte state proof public key
tx_id
tx_id : Final[algopy.Bytes]
Ellipsis
The computed ID for this transaction. 32 bytes.
type
type : Final[algopy.Bytes]
Ellipsis
Transaction type as bytes
type_enum
type_enum : Final[algopy.TransactionType]
Ellipsis
Transaction type as integer
vote_first
vote_first : Final[algopy.UInt64]
Ellipsis
The first round that the participation key is valid.
vote_key_dilution
vote_key_dilution : Final[algopy.UInt64]
Ellipsis
Dilution for the 2-level participation key
vote_last
vote_last : Final[algopy.UInt64]
Ellipsis
The last round that the participation key is valid.
vote_pk
vote_pk : Final[algopy.Bytes]
Ellipsis
32 byte address
xfer_asset
xfer_asset : Final[algopy.Asset]
Ellipsis
Asset ID
class algopy.op.VoterParamsGet
VoterParamsGet
X is field F from online account A as of the balance round: 320 rounds before the current round. Y is 1 if A had positive algos online in the agreement round, else Y is 0 and X is a type specific zero-value
Native TEAL op: voter_params_get
static voter_balance
voter_balance(a: algopy.Bytes | algopy.UInt64 | bytes | int, /) → tuple[algopy.UInt64, bool]
Min AVM version: 11 :returns tuple[UInt64, bool]: Online stake in microalgos
Native TEAL opcode: voter_params_get
static voter_incentive_eligible
voter_incentive_eligible(a: algopy.Bytes | algopy.UInt64 | bytes | 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
class algopy.op.VrfVerify
VrfVerify
Available values for the vrf_verify
enum
Initialization
Initialize self. See help(type(self)) for accurate signature.
__add__
add()
Return self+value.
__contains__
contains()
Return bool(key in self).
__delattr__
delattr()
Implement delattr(self, name).
__dir__
dir()
Default dir() implementation.
__eq__
eq()
Return self==value.
__format__
format()
Return a formatted version of the string as described by format_spec.
__ge__
ge()
Return self>=value.
__getattribute__
getattribute()
Return getattr(self, name).
__getitem__
getitem()
Return self[key].
__getstate__
getstate()
Helper for pickle.
__gt__
gt()
Return self>value.
__hash__
hash()
Return hash(self).
__iter__
iter()
Implement iter(self).
__le__
le()
Return self<=value.
__len__
len()
Return len(self).
__lt__
lt()
Return self<value.
__mod__
mod()
Return self%value.
__mul__
mul()
Return self*value.
__ne__
ne()
Return self!=value.
__new__
new()
Create and return a new object. See help(type) for accurate signature.
__reduce__
reduce()
Helper for pickle.
__reduce_ex__
reduce_ex()
Helper for pickle.
__repr__
repr()
Return repr(self).
__rmod__
rmod()
Return value%self.
__rmul__
rmul()
Return value*self.
__setattr__
setattr()
Implement setattr(self, name, value).
__sizeof__
sizeof()
Return the size of the string in memory, in bytes.
__str__
str()
Return str(self).
capitalize
capitalize()
Return a capitalized version of the string.
More specifically, make the first character have upper case and the rest lower case.
casefold
casefold()
Return a version of the string suitable for caseless comparisons.
center
center()
Return a centered string of length width.
Padding is done using the specified fill character (default is a space).
count
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()
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
isprintable()
Return True if the string is printable, False otherwise.
A string is printable if all of its characters are considered printable in repr() or if it is empty.
isspace
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
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
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
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
ljust()
Return a left-justified string of length width.
Padding is done using the specified fill character (default is a space).
lower
lower()
Return a copy of the string converted to lowercase.
lstrip
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()
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
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
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
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
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
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
rjust()
Return a right-justified string of length width.
Padding is done using the specified fill character (default is a space).
rpartition
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
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 whitespacecharacter (including \n \r \t \f and spaces) and will discardempty 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
rstrip()
Return a copy of the string with trailing whitespace removed.
If chars is given and not None, remove characters in chars instead.
split
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 whitespacecharacter (including \n \r \t \f and spaces) and will discardempty 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
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
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
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
swapcase()
Convert uppercase characters to lowercase and lowercase characters to uppercase.
title
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
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
upper()
Return a copy of the string converted to uppercase.
zfill
zfill()
Pad a numeric string with zeros on the left, to fill a field of the given width.
The string is never truncated.
algopy.op.addw
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
algopy.op.app_opted_in
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
algopy.op.arg
arg(a: algopy.UInt64 | int, /) → algopy.Bytes
Ath LogicSig argument
algopy.op.balance
balance(a: algopy.Account | algopy.UInt64 | int, /) → algopy.UInt64
balance for account A, in microalgos. The balance is observed after the effects of previous transactions in the group, and after the fee for the current transaction is deducted. Changes caused by inner transactions are observable immediately following itxn_submit
params: Txn.Accounts offset (or, since v4, an available account address), available application id (or, since v4, a Txn.ForeignApps offset). Return: value.
Native TEAL opcode: balance
algopy.op.base64_decode
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
algopy.op.bitlen
bitlen(a: algopy.Bytes | algopy.UInt64 | bytes | int, /) → algopy.UInt64
The highest set bit in A. If A is a byte-array, it is interpreted as a big-endian unsigned integer. bitlen of 0 is 0, bitlen of 8 is 4 bitlen interprets arrays as big-endian integers, unlike setbit/getbit
Native TEAL opcode: bitlen
algopy.op.bsqrt
bsqrt(a: algopy.BigUInt | int, /) → algopy.BigUInt
The largest integer I such that I^2 <= A. A and I are interpreted as big-endian unsigned integers
Native TEAL opcode: bsqrt
algopy.op.btoi
btoi(a: algopy.Bytes | bytes, /) → algopy.UInt64
converts big-endian byte array A to uint64. Fails if len(A) > 8. Padded by leading 0s if len(A) < 8.
btoi
fails if the input is longer than 8 bytes.
Native TEAL opcode: btoi
algopy.op.bzero
bzero(a: algopy.UInt64 | int, /) → algopy.Bytes
zero filled byte-array of length A
Native TEAL opcode: bzero
algopy.op.concat
concat(a: algopy.Bytes | bytes, b: algopy.Bytes | bytes, /) → algopy.Bytes
join A and B
concat
fails if the result would be greater than 4096 bytes.
Native TEAL opcode: concat
algopy.op.divmodw
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
algopy.op.divw
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
algopy.op.ecdsa_pk_decompress
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
algopy.op.ecdsa_pk_recover
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
algopy.op.ecdsa_verify
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
algopy.op.ed25519verify
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
algopy.op.ed25519verify_bare
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
algopy.op.err
err() → Never
Fail immediately. :returns typing.Never: Halts program
Native TEAL opcode: err
algopy.op.exit
exit(a: algopy.UInt64 | int, /) → Never
use A as success value; end :returns typing.Never: Halts program
Native TEAL opcode: return
algopy.op.exp
exp(a: algopy.UInt64 | int, b: algopy.UInt64 | int, /) → algopy.UInt64
A raised to the Bth power. Fail if A == B == 0 and on overflow
Native TEAL opcode: exp
algopy.op.expw
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
algopy.op.extract
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
algopy.op.extract_uint16
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
algopy.op.extract_uint32
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
algopy.op.extract_uint64
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
algopy.op.falcon_verify
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: 11
Native TEAL opcode: falcon_verify
algopy.op.gaid
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
algopy.op.getbit
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
algopy.op.getbyte
getbyte(a: algopy.Bytes | bytes, b: algopy.UInt64 | int, /) → algopy.UInt64
Bth byte of A, as an integer. If B is greater than or equal to the array length, the program fails
Native TEAL opcode: getbyte
algopy.op.gload_bytes
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
algopy.op.gload_uint64
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
algopy.op.itob
itob(a: algopy.UInt64 | int, /) → algopy.Bytes
converts uint64 A to big-endian byte array, always of length 8
Native TEAL opcode: itob
algopy.op.keccak256
keccak256(a: algopy.Bytes | bytes, /) → algopy.Bytes
Keccak256 hash of value A, yields [32]byte
Native TEAL opcode: keccak256
algopy.op.min_balance
min_balance(a: algopy.Account | algopy.UInt64 | int, /) → algopy.UInt64
minimum required balance for account A, in microalgos. Required balance is affected by ASA, App, and Box usage. When creating or opting into an app, the minimum balance grows before the app code runs, therefore the increase is visible there. When deleting or closing out, the minimum balance decreases after the app executes. Changes caused by inner transactions or box usage are observable immediately following the opcode effecting the change. params: Txn.Accounts offset (or, since v4, an available account address), available application id (or, since v4, a Txn.ForeignApps offset). Return: value.
Native TEAL opcode: min_balance
algopy.op.mulw
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
algopy.op.online_stake
online_stake() → algopy.UInt64
the total online stake in the agreement round Min AVM version: 11
Native TEAL opcode: online_stake
algopy.op.replace
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
algopy.op.select_bytes
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
algopy.op.select_uint64
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
algopy.op.setbit_bytes
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
algopy.op.setbit_uint64
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
algopy.op.setbyte
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
algopy.op.sha256
sha256(a: algopy.Bytes | bytes, /) → algopy.Bytes
SHA256 hash of value A, yields [32]byte
Native TEAL opcode: sha256
algopy.op.sha3_256
sha3_256(a: algopy.Bytes | bytes, /) → algopy.Bytes
SHA3_256 hash of value A, yields [32]byte
Native TEAL opcode: sha3_256
algopy.op.sha512_256
sha512_256(a: algopy.Bytes | bytes, /) → algopy.Bytes
SHA512_256 hash of value A, yields [32]byte
Native TEAL opcode: sha512_256
algopy.op.shl
shl(a: algopy.UInt64 | int, b: algopy.UInt64 | int, /) → algopy.UInt64
A times 2^B, modulo 2^64
Native TEAL opcode: shl
algopy.op.shr
shr(a: algopy.UInt64 | int, b: algopy.UInt64 | int, /) → algopy.UInt64
A divided by 2^B
Native TEAL opcode: shr
algopy.op.sqrt
sqrt(a: algopy.UInt64 | int, /) → algopy.UInt64
The largest integer I such that I^2 <= A
Native TEAL opcode: sqrt
algopy.op.substring
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
algopy.op.sumhash512
sumhash512(a: algopy.Bytes | bytes, /) → algopy.Bytes
sumhash512 of value A, yields [64]byte Min AVM version: 11
Native TEAL opcode: sumhash512
algopy.op.vrf_verify
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