applications.app_spec.arc32 | Algorand Developer Portal

applications.app_spec.arc32

Attributes

AppSpecStateDict Type defining Application Specification state entries
OnCompleteActionName String literals representing on completion transaction types
MethodConfigDict Dictionary of dict[OnCompletionActionName, CallConfig] representing allowed actions for each on completion type
DefaultArgumentType Literal values describing the types of default argument sources
StateDict

Classes

CallConfig Describes the type of calls a method can be used for based on {py:class}algosdk.transaction.OnComplete type
StructArgDict dict() -> new empty dictionary
DefaultArgumentDict DefaultArgument is a container for any arguments that may
MethodHints MethodHints provides hints to the caller about how to call the method
Arc32Contract ARC-0032 application specification

Module Contents

type algokit*utils.applications.app_spec.arc32.AppSpecStateDict = dict[str, dict[str, dict]]_

Type defining Application Specification state entries

class algokit_utils.applications.app_spec.arc32.CallConfig

Bases: enum.IntFlag

Describes the type of calls a method can be used for based on {py:class}algosdk.transaction.OnComplete type

NEVER = 0

Never handle the specified on completion type

CALL = 1

Only handle the specified on completion type for application calls

CREATE = 2

Only handle the specified on completion type for application create calls

ALL = 3

Handle the specified on completion type for both create and normal application calls

class algokit_utils.applications.app_spec.arc32.StructArgDict

Bases: TypedDict

dict() -> new empty dictionary dict(mapping) -> new dictionary initialized from a mapping object's

(key, value) pairs

dict(iterable) -> new dictionary initialized as if via: : d = {} for k, v in iterable:

{' '}

d[k] = v

dict(

** kwargs) -> new dictionary initialized with the name=value pairs : in the keyword argument list. For example: dict(one=1, two=2)

name : str

elements : list[list[str]]

type algokit*utils.applications.app_spec.arc32.OnCompleteActionName = Literal['no_op', 'opt_in', 'close_out', 'clear_state', 'update_application', 'delete_application']_

String literals representing on completion transaction types

type algokit*utils.applications.app_spec.arc32.MethodConfigDict = dict[OnCompleteActionName, [CallConfig](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc32/

#algokit_utils.applications.app_spec.arc32.CallConfig)_

Dictionary of dict[OnCompletionActionName, CallConfig] representing allowed actions for each on completion type

type algokit*utils.applications.app_spec.arc32.DefaultArgumentType = Literal['abi-method', 'local-state', 'global-state', 'constant']_

Literal values describing the types of default argument sources

class algokit_utils.applications.app_spec.arc32.DefaultArgumentDict

Bases: TypedDict

DefaultArgument is a container for any arguments that may be resolved prior to calling some target method

source : DefaultArgumentType

data : int | str | bytes | algosdk.abi.method.MethodDict

algokit_utils.applications.app_spec.arc32.StateDict

class algokit_utils.applications.app_spec.arc32.MethodHints

MethodHints provides hints to the caller about how to call the method

read_only : bool_ = False

structs : dict[str, StructArgDict

default_arguments : dict[str, DefaultArgumentDict_

call_config : MethodConfigDict_

empty() → bool

dictify() → dict[str, Any]

static undictify(data: dict[str, Any]) → MethodHints

class algokit_utils.applications.app_spec.arc32.Arc32Contract

ARC-0032 application specification

See < https://github.com/algorandfoundation/ARCs/pull/150 >

approval_program : str_

clear_program : str_

contract : algosdk.abi.Contract

hints : dict[str, MethodHints

schema : StateDict

global_state_schema : algosdk.transaction.StateSchema_

local_state_schema : algosdk.transaction.StateSchema_

bare_call_config : MethodConfigDict_

dictify() → dict

to_json(indent: int | None = None) → str

static from_json(application_spec: str) → Arc32Contract

export(directory: pathlib.Path | str | None = None) → None

Write out the artifacts generated by the application to disk.

Writes the approval program, clear program, contract specification and application specification to files in the specified directory.