Skip to content

applications.app_spec.arc32

AppSpecStateDictType defining Application Specification state entries
OnCompleteActionNameString literals representing on completion transaction types
MethodConfigDictDictionary of dict[OnCompletionActionName, CallConfig] representing allowed actions for each on completion type
DefaultArgumentTypeLiteral values describing the types of default argument sources
StateDict
CallConfigDescribes the type of calls a method can be used for based on {py:class}`algosdk.transaction.OnComplete` type
StructArgDictdict() -> new empty dictionary
DefaultArgumentDictDefaultArgument is a container for any arguments that may
MethodHintsMethodHints provides hints to the caller about how to call the method
Arc32ContractARC-0032 application specification

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

Section titled “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

Section titled “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 handle the specified on completion type

Only handle the specified on completion type for application calls

Only handle the specified on completion type for application create calls

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

class algokit_utils.applications.app_spec.arc32.StructArgDict

Section titled “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)

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

Section titled “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]_

Section titled “type algokit*utils.applications.app_spec.arc32.MethodConfigDict *= dict[OnCompleteActionName, 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’]_

Section titled “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

Section titled “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

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

Section titled “data : int | str | bytes | algosdk.abi.method.MethodDict”

algokit_utils.applications.app_spec.arc32.StateDict

Section titled “algokit_utils.applications.app_spec.arc32.StateDict”

class algokit_utils.applications.app_spec.arc32.MethodHints

Section titled “class algokit_utils.applications.app_spec.arc32.MethodHints”

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

class algokit_utils.applications.app_spec.arc32.Arc32Contract

Section titled “class algokit_utils.applications.app_spec.arc32.Arc32Contract”

ARC-0032 application specification

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

global*state_schema *: algosdk.transaction.StateSchema_

Section titled “global*state_schema *: algosdk.transaction.StateSchema_”

local*state_schema *: algosdk.transaction.StateSchema_

Section titled “local*state_schema *: algosdk.transaction.StateSchema_”

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

Section titled “to_json(indent: int | None = None) → str”

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

Section titled “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.

  • Parameters: directory – Path to the directory where the artifacts should be written. If not specified, uses the current working directory