# applications.app\_spec.arc56

## Classes

[Section titled “Classes”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#classes)

| [`StructField`](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#algokit_utils.applications.app_spec.arc56.StructField) | Represents a field in a struct type. |
| --- | --- |
| [`CallEnum`](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#algokit_utils.applications.app_spec.arc56.CallEnum) | Enum representing different call types for application transactions. |
| [`CreateEnum`](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#algokit_utils.applications.app_spec.arc56.CreateEnum) | Enum representing different create types for application transactions. |
| [`BareActions`](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#algokit_utils.applications.app_spec.arc56.BareActions) | Represents bare call and create actions for an application. |
| [`ByteCode`](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#algokit_utils.applications.app_spec.arc56.ByteCode) | Represents the approval and clear program bytecode. |
| [`Compiler`](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#algokit_utils.applications.app_spec.arc56.Compiler) | Enum representing different compiler types. |
| [`CompilerVersion`](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#algokit_utils.applications.app_spec.arc56.CompilerVersion) | Represents compiler version information. |
| [`CompilerInfo`](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#algokit_utils.applications.app_spec.arc56.CompilerInfo) | Information about the compiler used. |
| [`Network`](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#algokit_utils.applications.app_spec.arc56.Network) | Network-specific application information. |
| [`ScratchVariables`](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#algokit_utils.applications.app_spec.arc56.ScratchVariables) | Information about scratch space variables. |
| [`Source`](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#algokit_utils.applications.app_spec.arc56.Source) | Source code for approval and clear programs. |
| [`Global`](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#algokit_utils.applications.app_spec.arc56.Global) | Global state schema. |
| [`Local`](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#algokit_utils.applications.app_spec.arc56.Local) | Local state schema. |
| [`Schema`](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#algokit_utils.applications.app_spec.arc56.Schema) | Application state schema. |
| [`TemplateVariables`](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#algokit_utils.applications.app_spec.arc56.TemplateVariables) | Template variable information. |
| [`EventArg`](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#algokit_utils.applications.app_spec.arc56.EventArg) | Event argument information. |
| [`Event`](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#algokit_utils.applications.app_spec.arc56.Event) | Event information. |
| [`Actions`](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#algokit_utils.applications.app_spec.arc56.Actions) | Method actions information. |
| [`DefaultValue`](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#algokit_utils.applications.app_spec.arc56.DefaultValue) | Default value information for method arguments. |
| [`MethodArg`](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#algokit_utils.applications.app_spec.arc56.MethodArg) | Method argument information. |
| [`Boxes`](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#algokit_utils.applications.app_spec.arc56.Boxes) | Box storage requirements. |
| [`Recommendations`](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#algokit_utils.applications.app_spec.arc56.Recommendations) | Method execution recommendations. |
| [`Returns`](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#algokit_utils.applications.app_spec.arc56.Returns) | Method return information. |
| [`Method`](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#algokit_utils.applications.app_spec.arc56.Method) | Method information. |
| [`PcOffsetMethod`](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#algokit_utils.applications.app_spec.arc56.PcOffsetMethod) | PC offset method types. |
| [`SourceInfo`](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#algokit_utils.applications.app_spec.arc56.SourceInfo) | Source code location information. |
| [`StorageKey`](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#algokit_utils.applications.app_spec.arc56.StorageKey) | Storage key information. |
| [`StorageMap`](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#algokit_utils.applications.app_spec.arc56.StorageMap) | Storage map information. |
| [`Keys`](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#algokit_utils.applications.app_spec.arc56.Keys) | Storage keys for different storage types. |
| [`Maps`](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#algokit_utils.applications.app_spec.arc56.Maps) | Storage maps for different storage types. |
| [`State`](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#algokit_utils.applications.app_spec.arc56.State) | Application state information. |
| [`ProgramSourceInfo`](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#algokit_utils.applications.app_spec.arc56.ProgramSourceInfo) | Program source information. |
| [`SourceInfoModel`](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#algokit_utils.applications.app_spec.arc56.SourceInfoModel) | Source information for approval and clear programs. |
| [`Arc56Contract`](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#algokit_utils.applications.app_spec.arc56.Arc56Contract) | ARC-0056 application specification. |

## Module Contents

[Section titled “Module Contents”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#module-contents)

### _class_ algokit\_utils.applications.app\_spec.arc56.StructField

[Section titled “class algokit\_utils.applications.app\_spec.arc56.StructField”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#class-algokit_utilsapplicationsapp_specarc56structfield)

Represents a field in a struct type.

#### name _: str_

[Section titled “name : str”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#name--str)

The name of the struct field

#### type _: list\[ [StructField](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.StructField)\] \| str_

[Section titled “type : list\[StructField\] \| str”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#type--liststructfield--str)

The type of the struct field, either a string or list of StructFields

#### _static_ from\_dict(data: dict\[str, Any\]) → [StructField](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.StructField)

[Section titled “static from\_dict(data: dict\[str, Any\]) → StructField”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#static-from_dictdata-dictstr-any--structfield)

### _class_ algokit\_utils.applications.app\_spec.arc56.CallEnum

[Section titled “class algokit\_utils.applications.app\_spec.arc56.CallEnum”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#class-algokit_utilsapplicationsapp_specarc56callenum)

Bases: `str`, `enum.Enum`

Enum representing different call types for application transactions.

#### CLEAR\*STATE \*= ‘ClearState’\_

[Section titled “CLEAR\*STATE \*= ‘ClearState’\_”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#clearstate--clearstate_)

#### CLOSE\*OUT \*= ‘CloseOut’\_

[Section titled “CLOSE\*OUT \*= ‘CloseOut’\_”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#closeout--closeout_)

#### DELETE\*APPLICATION \*= ‘DeleteApplication’\_

[Section titled “DELETE\*APPLICATION \*= ‘DeleteApplication’\_”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#deleteapplication--deleteapplication_)

#### NO\*OP \*= ‘NoOp’\_

[Section titled “NO\*OP \*= ‘NoOp’\_”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#noop--noop_)

#### OPT\*IN \*= ‘OptIn’\_

[Section titled “OPT\*IN \*= ‘OptIn’\_”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#optin--optin_)

#### UPDATE\*APPLICATION \*= ‘UpdateApplication’\_

[Section titled “UPDATE\*APPLICATION \*= ‘UpdateApplication’\_”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#updateapplication--updateapplication_)

### _class_ algokit\_utils.applications.app\_spec.arc56.CreateEnum

[Section titled “class algokit\_utils.applications.app\_spec.arc56.CreateEnum”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#class-algokit_utilsapplicationsapp_specarc56createenum)

Bases: `str`, `enum.Enum`

Enum representing different create types for application transactions.

#### DELETE\*APPLICATION \*= ‘DeleteApplication’\_

[Section titled “DELETE\*APPLICATION \*= ‘DeleteApplication’\_”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#deleteapplication--deleteapplication_-1)

#### NO\*OP \*= ‘NoOp’\_

[Section titled “NO\*OP \*= ‘NoOp’\_”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#noop--noop_-1)

#### OPT\*IN \*= ‘OptIn’\_

[Section titled “OPT\*IN \*= ‘OptIn’\_”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#optin--optin_-1)

### _class_ algokit\_utils.applications.app\_spec.arc56.BareActions

[Section titled “class algokit\_utils.applications.app\_spec.arc56.BareActions”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#class-algokit_utilsapplicationsapp_specarc56bareactions)

Represents bare call and create actions for an application.

#### call _: list\[ [CallEnum](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.CallEnum)\]_

[Section titled “call : list\[CallEnum\]”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#call--listcallenum)

The list of allowed call actions

#### create _: list\[ [CreateEnum](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.CreateEnum)\]_

[Section titled “create : list\[CreateEnum\]”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#create--listcreateenum)

The list of allowed create actions

#### _static_ from\_dict(data: dict\[str, Any\]) → [BareActions](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.BareActions)

[Section titled “static from\_dict(data: dict\[str, Any\]) → BareActions”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#static-from_dictdata-dictstr-any--bareactions)

### _class_ algokit\_utils.applications.app\_spec.arc56.ByteCode

[Section titled “class algokit\_utils.applications.app\_spec.arc56.ByteCode”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#class-algokit_utilsapplicationsapp_specarc56bytecode)

Represents the approval and clear program bytecode.

#### approval _: str_

[Section titled “approval : str”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#approval--str)

The base64 encoded approval program bytecode

#### clear _: str_

[Section titled “clear : str”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#clear--str)

The base64 encoded clear program bytecode

#### _static_ from\_dict(data: dict\[str, Any\]) → [ByteCode](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.ByteCode)

[Section titled “static from\_dict(data: dict\[str, Any\]) → ByteCode”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#static-from_dictdata-dictstr-any--bytecode)

### _class_ algokit\_utils.applications.app\_spec.arc56.Compiler

[Section titled “class algokit\_utils.applications.app\_spec.arc56.Compiler”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#class-algokit_utilsapplicationsapp_specarc56compiler)

Bases: `str`, `enum.Enum`

Enum representing different compiler types.

#### ALGOD _= ‘algod’_

[Section titled “ALGOD = ‘algod’”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#algod--algod)

#### PUYA _= ‘puya’_

[Section titled “PUYA = ‘puya’”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#puya--puya)

### _class_ algokit\_utils.applications.app\_spec.arc56.CompilerVersion

[Section titled “class algokit\_utils.applications.app\_spec.arc56.CompilerVersion”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#class-algokit_utilsapplicationsapp_specarc56compilerversion)

Represents compiler version information.

#### commit\*hash \*: str \| None\_ _= None_

[Section titled “commit\*hash \*: str \| None\_ = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#commithash--str--none_--none)

The git commit hash of the compiler

#### major _: int \| None_ _= None_

[Section titled “major : int \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#major--int--none--none)

The major version number

#### minor _: int \| None_ _= None_

[Section titled “minor : int \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#minor--int--none--none)

The minor version number

#### patch _: int \| None_ _= None_

[Section titled “patch : int \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#patch--int--none--none)

The patch version number

#### _static_ from\_dict(data: dict\[str, Any\]) → [CompilerVersion](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.CompilerVersion)

[Section titled “static from\_dict(data: dict\[str, Any\]) → CompilerVersion”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#static-from_dictdata-dictstr-any--compilerversion)

### _class_ algokit\_utils.applications.app\_spec.arc56.CompilerInfo

[Section titled “class algokit\_utils.applications.app\_spec.arc56.CompilerInfo”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#class-algokit_utilsapplicationsapp_specarc56compilerinfo)

Information about the compiler used.

#### compiler _: [Compiler](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.Compiler)_

[Section titled “compiler : Compiler”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#compiler--compiler)

The type of compiler used

#### compiler\*version \*: [CompilerVersion](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.CompilerVersion)\_

[Section titled “compiler\*version \*: CompilerVersion\_”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#compilerversion--compilerversion_)

Version information for the compiler

#### _static_ from\_dict(data: dict\[str, Any\]) → [CompilerInfo](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.CompilerInfo)

[Section titled “static from\_dict(data: dict\[str, Any\]) → CompilerInfo”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#static-from_dictdata-dictstr-any--compilerinfo)

### _class_ algokit\_utils.applications.app\_spec.arc56.Network

[Section titled “class algokit\_utils.applications.app\_spec.arc56.Network”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#class-algokit_utilsapplicationsapp_specarc56network)

Network-specific application information.

#### app\*id \*: int\_

[Section titled “app\*id \*: int\_”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#appid--int_)

The application ID on the network

#### _static_ from\_dict(data: dict\[str, Any\]) → [Network](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.Network)

[Section titled “static from\_dict(data: dict\[str, Any\]) → Network”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#static-from_dictdata-dictstr-any--network)

### _class_ algokit\_utils.applications.app\_spec.arc56.ScratchVariables

[Section titled “class algokit\_utils.applications.app\_spec.arc56.ScratchVariables”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#class-algokit_utilsapplicationsapp_specarc56scratchvariables)

Information about scratch space variables.

#### slot _: int_

[Section titled “slot : int”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#slot--int)

The scratch slot number

#### type _: str_

[Section titled “type : str”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#type--str)

The type of the scratch variable

#### _static_ from\_dict(data: dict\[str, Any\]) → [ScratchVariables](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.ScratchVariables)

[Section titled “static from\_dict(data: dict\[str, Any\]) → ScratchVariables”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#static-from_dictdata-dictstr-any--scratchvariables)

### _class_ algokit\_utils.applications.app\_spec.arc56.Source

[Section titled “class algokit\_utils.applications.app\_spec.arc56.Source”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#class-algokit_utilsapplicationsapp_specarc56source)

Source code for approval and clear programs.

#### approval _: str_

[Section titled “approval : str”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#approval--str-1)

The base64 encoded approval program source

#### clear _: str_

[Section titled “clear : str”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#clear--str-1)

The base64 encoded clear program source

#### _static_ from\_dict(data: dict\[str, Any\]) → [Source](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.Source)

[Section titled “static from\_dict(data: dict\[str, Any\]) → Source”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#static-from_dictdata-dictstr-any--source)

#### get\_decoded\_approval() → str

[Section titled “get\_decoded\_approval() → str”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#get_decoded_approval--str)

Get decoded approval program source.

- **Returns:**
Decoded approval program source code

#### get\_decoded\_clear() → str

[Section titled “get\_decoded\_clear() → str”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#get_decoded_clear--str)

Get decoded clear program source.

- **Returns:**
Decoded clear program source code

### _class_ algokit\_utils.applications.app\_spec.arc56.Global

[Section titled “class algokit\_utils.applications.app\_spec.arc56.Global”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#class-algokit_utilsapplicationsapp_specarc56global)

Global state schema.

#### bytes _: int_

[Section titled “bytes : int”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#bytes--int)

The number of byte slices in global state

#### ints _: int_

[Section titled “ints : int”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#ints--int)

The number of integers in global state

#### _static_ from\_dict(data: dict\[str, Any\]) → [Global](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.Global)

[Section titled “static from\_dict(data: dict\[str, Any\]) → Global”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#static-from_dictdata-dictstr-any--global)

### _class_ algokit\_utils.applications.app\_spec.arc56.Local

[Section titled “class algokit\_utils.applications.app\_spec.arc56.Local”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#class-algokit_utilsapplicationsapp_specarc56local)

Local state schema.

#### bytes _: int_

[Section titled “bytes : int”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#bytes--int-1)

The number of byte slices in local state

#### ints _: int_

[Section titled “ints : int”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#ints--int-1)

The number of integers in local state

#### _static_ from\_dict(data: dict\[str, Any\]) → [Local](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.Local)

[Section titled “static from\_dict(data: dict\[str, Any\]) → Local”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#static-from_dictdata-dictstr-any--local)

### _class_ algokit\_utils.applications.app\_spec.arc56.Schema

[Section titled “class algokit\_utils.applications.app\_spec.arc56.Schema”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#class-algokit_utilsapplicationsapp_specarc56schema)

Application state schema.

#### global\*state \*: [Global](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.Global)\_

[Section titled “global\*state \*: Global\_”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#globalstate--global_)

The global state schema

#### local\*state \*: [Local](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.Local)\_

[Section titled “local\*state \*: Local\_”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#localstate--local_)

The local state schema

#### _static_ from\_dict(data: dict\[str, Any\]) → [Schema](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.Schema)

[Section titled “static from\_dict(data: dict\[str, Any\]) → Schema”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#static-from_dictdata-dictstr-any--schema)

### _class_ algokit\_utils.applications.app\_spec.arc56.TemplateVariables

[Section titled “class algokit\_utils.applications.app\_spec.arc56.TemplateVariables”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#class-algokit_utilsapplicationsapp_specarc56templatevariables)

Template variable information.

#### type _: str_

[Section titled “type : str”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#type--str-1)

The type of the template variable

#### value _: str \| None_ _= None_

[Section titled “value : str \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#value--str--none--none)

The optional value of the template variable

#### _static_ from\_dict(data: dict\[str, Any\]) → [TemplateVariables](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.TemplateVariables)

[Section titled “static from\_dict(data: dict\[str, Any\]) → TemplateVariables”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#static-from_dictdata-dictstr-any--templatevariables)

### _class_ algokit\_utils.applications.app\_spec.arc56.EventArg

[Section titled “class algokit\_utils.applications.app\_spec.arc56.EventArg”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#class-algokit_utilsapplicationsapp_specarc56eventarg)

Event argument information.

#### type _: str_

[Section titled “type : str”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#type--str-2)

The type of the event argument

#### desc _: str \| None_ _= None_

[Section titled “desc : str \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#desc--str--none--none)

The optional description of the argument

#### name _: str \| None_ _= None_

[Section titled “name : str \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#name--str--none--none)

The optional name of the argument

#### struct _: str \| None_ _= None_

[Section titled “struct : str \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#struct--str--none--none)

The optional struct type name

#### _static_ from\_dict(data: dict\[str, Any\]) → [EventArg](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.EventArg)

[Section titled “static from\_dict(data: dict\[str, Any\]) → EventArg”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#static-from_dictdata-dictstr-any--eventarg)

### _class_ algokit\_utils.applications.app\_spec.arc56.Event

[Section titled “class algokit\_utils.applications.app\_spec.arc56.Event”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#class-algokit_utilsapplicationsapp_specarc56event)

Event information.

#### args _: list\[ [EventArg](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.EventArg)\]_

[Section titled “args : list\[EventArg\]”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#args--listeventarg)

The list of event arguments

#### name _: str_

[Section titled “name : str”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#name--str-1)

The name of the event

#### desc _: str \| None_ _= None_

[Section titled “desc : str \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#desc--str--none--none-1)

The optional description of the event

#### _static_ from\_dict(data: dict\[str, Any\]) → [Event](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.Event)

[Section titled “static from\_dict(data: dict\[str, Any\]) → Event”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#static-from_dictdata-dictstr-any--event)

### _class_ algokit\_utils.applications.app\_spec.arc56.Actions

[Section titled “class algokit\_utils.applications.app\_spec.arc56.Actions”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#class-algokit_utilsapplicationsapp_specarc56actions)

Method actions information.

#### call _: list\[ [CallEnum](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.CallEnum)\] \| None_ _= None_

[Section titled “call : list\[CallEnum\] \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#call--listcallenum--none--none)

The optional list of allowed call actions

#### create _: list\[ [CreateEnum](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.CreateEnum)\] \| None_ _= None_

[Section titled “create : list\[CreateEnum\] \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#create--listcreateenum--none--none)

The optional list of allowed create actions

#### _static_ from\_dict(data: dict\[str, Any\]) → [Actions](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.Actions)

[Section titled “static from\_dict(data: dict\[str, Any\]) → Actions”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#static-from_dictdata-dictstr-any--actions)

### _class_ algokit\_utils.applications.app\_spec.arc56.DefaultValue

[Section titled “class algokit\_utils.applications.app\_spec.arc56.DefaultValue”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#class-algokit_utilsapplicationsapp_specarc56defaultvalue)

Default value information for method arguments.

#### data _: str_

[Section titled “data : str”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#data--str)

The default value data

#### source _: Literal\[‘box’, ‘global’, ‘local’, ‘literal’, ‘method’\]_

[Section titled “source : Literal\[‘box’, ‘global’, ‘local’, ‘literal’, ‘method’\]”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#source--literalbox-global-local-literal-method)

The source of the default value

#### type _: str \| None_ _= None_

[Section titled “type : str \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#type--str--none--none)

The optional type of the default value

#### _static_ from\_dict(data: dict\[str, Any\]) → [DefaultValue](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.DefaultValue)

[Section titled “static from\_dict(data: dict\[str, Any\]) → DefaultValue”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#static-from_dictdata-dictstr-any--defaultvalue)

### _class_ algokit\_utils.applications.app\_spec.arc56.MethodArg

[Section titled “class algokit\_utils.applications.app\_spec.arc56.MethodArg”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#class-algokit_utilsapplicationsapp_specarc56methodarg)

Method argument information.

#### type _: str_

[Section titled “type : str”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#type--str-3)

The type of the argument

#### default\*value \*: [DefaultValue](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.DefaultValue) \| None\_ _= None_

[Section titled “default\*value \*: DefaultValue \| None\_ = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#defaultvalue--defaultvalue--none_--none)

The optional default value

#### desc _: str \| None_ _= None_

[Section titled “desc : str \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#desc--str--none--none-2)

The optional description

#### name _: str \| None_ _= None_

[Section titled “name : str \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#name--str--none--none-1)

The optional name

#### struct _: str \| None_ _= None_

[Section titled “struct : str \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#struct--str--none--none-1)

The optional struct type name

#### _static_ from\_dict(data: dict\[str, Any\]) → [MethodArg](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.MethodArg)

[Section titled “static from\_dict(data: dict\[str, Any\]) → MethodArg”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#static-from_dictdata-dictstr-any--methodarg)

### _class_ algokit\_utils.applications.app\_spec.arc56.Boxes

[Section titled “class algokit\_utils.applications.app\_spec.arc56.Boxes”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#class-algokit_utilsapplicationsapp_specarc56boxes)

Box storage requirements.

#### key _: str_

[Section titled “key : str”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#key--str)

The box key

#### read\*bytes \*: int\_

[Section titled “read\*bytes \*: int\_”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#readbytes--int_)

The number of bytes to read

#### write\*bytes \*: int\_

[Section titled “write\*bytes \*: int\_”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#writebytes--int_)

The number of bytes to write

#### app _: int \| None_ _= None_

[Section titled “app : int \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#app--int--none--none)

The optional application ID

#### _static_ from\_dict(data: dict\[str, Any\]) → [Boxes](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.Boxes)

[Section titled “static from\_dict(data: dict\[str, Any\]) → Boxes”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#static-from_dictdata-dictstr-any--boxes)

### _class_ algokit\_utils.applications.app\_spec.arc56.Recommendations

[Section titled “class algokit\_utils.applications.app\_spec.arc56.Recommendations”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#class-algokit_utilsapplicationsapp_specarc56recommendations)

Method execution recommendations.

#### accounts _: list\[str\] \| None_ _= None_

[Section titled “accounts : list\[str\] \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#accounts--liststr--none--none)

The optional list of accounts

#### apps _: list\[int\] \| None_ _= None_

[Section titled “apps : list\[int\] \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#apps--listint--none--none)

The optional list of applications

#### assets _: list\[int\] \| None_ _= None_

[Section titled “assets : list\[int\] \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#assets--listint--none--none)

The optional list of assets

#### boxes _: [Boxes](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.Boxes) \| None_ _= None_

[Section titled “boxes : Boxes \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#boxes--boxes--none--none)

The optional box storage requirements

#### inner\*transaction\_count \*: int \| None\_ _= None_

[Section titled “inner\*transaction\_count \*: int \| None\_ = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#innertransaction_count--int--none_--none)

The optional inner transaction count

#### _static_ from\_dict(data: dict\[str, Any\]) → [Recommendations](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.Recommendations)

[Section titled “static from\_dict(data: dict\[str, Any\]) → Recommendations”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#static-from_dictdata-dictstr-any--recommendations)

### _class_ algokit\_utils.applications.app\_spec.arc56.Returns

[Section titled “class algokit\_utils.applications.app\_spec.arc56.Returns”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#class-algokit_utilsapplicationsapp_specarc56returns)

Method return information.

#### type _: str_

[Section titled “type : str”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#type--str-4)

The type of the return value

#### desc _: str \| None_ _= None_

[Section titled “desc : str \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#desc--str--none--none-3)

The optional description

#### struct _: str \| None_ _= None_

[Section titled “struct : str \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#struct--str--none--none-2)

The optional struct type name

#### _static_ from\_dict(data: dict\[str, Any\]) → [Returns](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.Returns)

[Section titled “static from\_dict(data: dict\[str, Any\]) → Returns”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#static-from_dictdata-dictstr-any--returns)

### _class_ algokit\_utils.applications.app\_spec.arc56.Method

[Section titled “class algokit\_utils.applications.app\_spec.arc56.Method”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#class-algokit_utilsapplicationsapp_specarc56method)

Method information.

#### actions _: [Actions](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.Actions)_

[Section titled “actions : Actions”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#actions--actions)

The allowed actions

#### args _: list\[ [MethodArg](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.MethodArg)\]_

[Section titled “args : list\[MethodArg\]”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#args--listmethodarg)

The method arguments

#### name _: str_

[Section titled “name : str”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#name--str-2)

The method name

#### returns _: [Returns](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.Returns)_

[Section titled “returns : Returns”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#returns--returns)

The return information

#### desc _: str \| None_ _= None_

[Section titled “desc : str \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#desc--str--none--none-4)

The optional description

#### events _: list\[ [Event](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.Event)\] \| None_ _= None_

[Section titled “events : list\[Event\] \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#events--listevent--none--none)

The optional list of events

#### readonly _: bool \| None_ _= None_

[Section titled “readonly : bool \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#readonly--bool--none--none)

The optional readonly flag

#### recommendations _: [Recommendations](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.Recommendations) \| None_ _= None_

[Section titled “recommendations : Recommendations \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#recommendations--recommendations--none--none)

The optional execution recommendations

#### to\_abi\_method() → algosdk.abi.Method

[Section titled “to\_abi\_method() → algosdk.abi.Method”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#to_abi_method--algosdkabimethod)

Convert to ABI method.

- **Raises:** **ValueError** – If underlying ABI method is not initialized
- **Returns:**
ABI method

#### _static_ from\_dict(data: dict\[str, Any\]) → [Method](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.Method)

[Section titled “static from\_dict(data: dict\[str, Any\]) → Method”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#static-from_dictdata-dictstr-any--method)

### _class_ algokit\_utils.applications.app\_spec.arc56.PcOffsetMethod

[Section titled “class algokit\_utils.applications.app\_spec.arc56.PcOffsetMethod”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#class-algokit_utilsapplicationsapp_specarc56pcoffsetmethod)

Bases: `str`, `enum.Enum`

PC offset method types.

#### CBLOCKS _= ‘cblocks’_

[Section titled “CBLOCKS = ‘cblocks’”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#cblocks--cblocks)

#### NONE _= ‘none’_

[Section titled “NONE = ‘none’”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#none--none)

### _class_ algokit\_utils.applications.app\_spec.arc56.SourceInfo

[Section titled “class algokit\_utils.applications.app\_spec.arc56.SourceInfo”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#class-algokit_utilsapplicationsapp_specarc56sourceinfo)

Source code location information.

#### pc _: list\[int\]_

[Section titled “pc : list\[int\]”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#pc--listint)

The list of program counter values

#### error\*message \*: str \| None\_ _= None_

[Section titled “error\*message \*: str \| None\_ = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#errormessage--str--none_--none)

The optional error message

#### source _: str \| None_ _= None_

[Section titled “source : str \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#source--str--none--none)

The optional source code

#### teal _: int \| None_ _= None_

[Section titled “teal : int \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#teal--int--none--none)

The optional TEAL version

#### _static_ from\_dict(data: dict\[str, Any\]) → [SourceInfo](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.SourceInfo)

[Section titled “static from\_dict(data: dict\[str, Any\]) → SourceInfo”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#static-from_dictdata-dictstr-any--sourceinfo)

### _class_ algokit\_utils.applications.app\_spec.arc56.StorageKey

[Section titled “class algokit\_utils.applications.app\_spec.arc56.StorageKey”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#class-algokit_utilsapplicationsapp_specarc56storagekey)

Storage key information.

#### key _: str_

[Section titled “key : str”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#key--str-1)

The storage key

#### key\*type \*: str\_

[Section titled “key\*type \*: str\_”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#keytype--str_)

The type of the key

#### value\*type \*: str\_

[Section titled “value\*type \*: str\_”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#valuetype--str_)

The type of the value

#### desc _: str \| None_ _= None_

[Section titled “desc : str \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#desc--str--none--none-5)

The optional description

#### _static_ from\_dict(data: dict\[str, Any\]) → [StorageKey](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.StorageKey)

[Section titled “static from\_dict(data: dict\[str, Any\]) → StorageKey”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#static-from_dictdata-dictstr-any--storagekey)

### _class_ algokit\_utils.applications.app\_spec.arc56.StorageMap

[Section titled “class algokit\_utils.applications.app\_spec.arc56.StorageMap”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#class-algokit_utilsapplicationsapp_specarc56storagemap)

Storage map information.

#### key\*type \*: str\_

[Section titled “key\*type \*: str\_”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#keytype--str_-1)

The type of the map keys

#### value\*type \*: str\_

[Section titled “value\*type \*: str\_”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#valuetype--str_-1)

The type of the map values

#### desc _: str \| None_ _= None_

[Section titled “desc : str \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#desc--str--none--none-6)

The optional description

#### prefix _: str \| None_ _= None_

[Section titled “prefix : str \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#prefix--str--none--none)

The optional key prefix

#### _static_ from\_dict(data: dict\[str, Any\]) → [StorageMap](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.StorageMap)

[Section titled “static from\_dict(data: dict\[str, Any\]) → StorageMap”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#static-from_dictdata-dictstr-any--storagemap)

### _class_ algokit\_utils.applications.app\_spec.arc56.Keys

[Section titled “class algokit\_utils.applications.app\_spec.arc56.Keys”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#class-algokit_utilsapplicationsapp_specarc56keys)

Storage keys for different storage types.

#### box _: dict\[str, [StorageKey](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.StorageKey)\]_

[Section titled “box : dict\[str, StorageKey\]”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#box--dictstr-storagekey)

The box storage keys

#### global\*state \*: dict\[str, [StorageKey](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.StorageKey)\]\_

[Section titled “global\*state \*: dict\[str, StorageKey\]\_”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#globalstate--dictstr-storagekey_)

The global state storage keys

#### local\*state \*: dict\[str, [StorageKey](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.StorageKey)\]\_

[Section titled “local\*state \*: dict\[str, StorageKey\]\_”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#localstate--dictstr-storagekey_)

The local state storage keys

#### _static_ from\_dict(data: dict\[str, Any\]) → [Keys](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.Keys)

[Section titled “static from\_dict(data: dict\[str, Any\]) → Keys”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#static-from_dictdata-dictstr-any--keys)

### _class_ algokit\_utils.applications.app\_spec.arc56.Maps

[Section titled “class algokit\_utils.applications.app\_spec.arc56.Maps”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#class-algokit_utilsapplicationsapp_specarc56maps)

Storage maps for different storage types.

#### box _: dict\[str, [StorageMap](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.StorageMap)\]_

[Section titled “box : dict\[str, StorageMap\]”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#box--dictstr-storagemap)

The box storage maps

#### global\*state \*: dict\[str, [StorageMap](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.StorageMap)\]\_

[Section titled “global\*state \*: dict\[str, StorageMap\]\_”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#globalstate--dictstr-storagemap_)

The global state storage maps

#### local\*state \*: dict\[str, [StorageMap](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.StorageMap)\]\_

[Section titled “local\*state \*: dict\[str, StorageMap\]\_”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#localstate--dictstr-storagemap_)

The local state storage maps

#### _static_ from\_dict(data: dict\[str, Any\]) → [Maps](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.Maps)

[Section titled “static from\_dict(data: dict\[str, Any\]) → Maps”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#static-from_dictdata-dictstr-any--maps)

### _class_ algokit\_utils.applications.app\_spec.arc56.State

[Section titled “class algokit\_utils.applications.app\_spec.arc56.State”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#class-algokit_utilsapplicationsapp_specarc56state)

Application state information.

#### keys _: [Keys](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.Keys)_

[Section titled “keys : Keys”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#keys--keys)

The storage keys

#### maps _: [Maps](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.Maps)_

[Section titled “maps : Maps”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#maps--maps)

The storage maps

#### schema _: [Schema](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.Schema)_

[Section titled “schema : Schema”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#schema--schema)

The state schema

#### _static_ from\_dict(data: dict\[str, Any\]) → [State](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.State)

[Section titled “static from\_dict(data: dict\[str, Any\]) → State”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#static-from_dictdata-dictstr-any--state)

### _class_ algokit\_utils.applications.app\_spec.arc56.ProgramSourceInfo

[Section titled “class algokit\_utils.applications.app\_spec.arc56.ProgramSourceInfo”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#class-algokit_utilsapplicationsapp_specarc56programsourceinfo)

Program source information.

#### pc\*offset\_method \*: [PcOffsetMethod](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.PcOffsetMethod)\_

[Section titled “pc\*offset\_method \*: PcOffsetMethod\_”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#pcoffset_method--pcoffsetmethod_)

The PC offset method

#### source\*info \*: list\[ [SourceInfo](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.SourceInfo)\]\_

[Section titled “source\*info \*: list\[SourceInfo\]\_”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#sourceinfo--listsourceinfo_)

The list of source info entries

#### _static_ from\_dict(data: dict\[str, Any\]) → [ProgramSourceInfo](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.ProgramSourceInfo)

[Section titled “static from\_dict(data: dict\[str, Any\]) → ProgramSourceInfo”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#static-from_dictdata-dictstr-any--programsourceinfo)

### _class_ algokit\_utils.applications.app\_spec.arc56.SourceInfoModel

[Section titled “class algokit\_utils.applications.app\_spec.arc56.SourceInfoModel”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#class-algokit_utilsapplicationsapp_specarc56sourceinfomodel)

Source information for approval and clear programs.

#### approval _: [ProgramSourceInfo](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.ProgramSourceInfo)_

[Section titled “approval : ProgramSourceInfo”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#approval--programsourceinfo)

The approval program source info

#### clear _: [ProgramSourceInfo](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.ProgramSourceInfo)_

[Section titled “clear : ProgramSourceInfo”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#clear--programsourceinfo)

The clear program source info

#### _static_ from\_dict(data: dict\[str, Any\]) → [SourceInfoModel](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.SourceInfoModel)

[Section titled “static from\_dict(data: dict\[str, Any\]) → SourceInfoModel”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#static-from_dictdata-dictstr-any--sourceinfomodel)

### _class_ algokit\_utils.applications.app\_spec.arc56.Arc56Contract

[Section titled “class algokit\_utils.applications.app\_spec.arc56.Arc56Contract”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#class-algokit_utilsapplicationsapp_specarc56arc56contract)

ARC-0056 application specification.

See [https://github.com/algorandfoundation/ARCs/blob/main/ARCs/arc-0056.md](https://github.com/algorandfoundation/ARCs/blob/main/ARCs/arc-0056.md)

#### arcs _: list\[int\]_

[Section titled “arcs : list\[int\]”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#arcs--listint)

The list of supported ARC version numbers

#### bare\*actions \*: [BareActions](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.BareActions)\_

[Section titled “bare\*actions \*: BareActions\_”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#bareactions--bareactions_)

The bare call and create actions

#### methods _: list\[ [Method](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.Method)\]_

[Section titled “methods : list\[Method\]”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#methods--listmethod)

The list of contract methods

#### name _: str_

[Section titled “name : str”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#name--str-3)

The contract name

#### state _: [State](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.State)_

[Section titled “state : State”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#state--state)

The contract state information

#### structs _: dict\[str, list\[ [StructField](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.StructField)\]\]_

[Section titled “structs : dict\[str, list\[StructField\]\]”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#structs--dictstr-liststructfield)

The contract struct definitions

#### byte\*code \*: [ByteCode](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.ByteCode) \| None\_ _= None_

[Section titled “byte\*code \*: ByteCode \| None\_ = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#bytecode--bytecode--none_--none)

The optional bytecode for approval and clear programs

#### compiler\*info \*: [CompilerInfo](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.CompilerInfo) \| None\_ _= None_

[Section titled “compiler\*info \*: CompilerInfo \| None\_ = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#compilerinfo--compilerinfo--none_--none)

The optional compiler information

#### desc _: str \| None_ _= None_

[Section titled “desc : str \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#desc--str--none--none-7)

The optional contract description

[Section titled “events : list\[Event\] \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#events--listevent--none--none-1)

The optional list of contract events

#### networks _: dict\[str, [Network](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.Network)\] \| None_ _= None_

[Section titled “networks : dict\[str, Network\] \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#networks--dictstr-network--none--none)

The optional network deployment information

#### scratch\*variables \*: dict\[str, [ScratchVariables](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.ScratchVariables)\] \| None\_ _= None_

[Section titled “scratch\*variables \*: dict\[str, ScratchVariables\] \| None\_ = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#scratchvariables--dictstr-scratchvariables--none_--none)

The optional scratch variable information

#### source _: [Source](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.Source) \| None_ _= None_

[Section titled “source : Source \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#source--source--none--none)

The optional source code

#### source\*info \*: [SourceInfoModel](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.SourceInfoModel) \| None\_ _= None_

[Section titled “source\*info \*: SourceInfoModel \| None\_ = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#sourceinfo--sourceinfomodel--none_--none)

The optional source code information

#### template\*variables \*: dict\[str, [TemplateVariables](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.TemplateVariables)\] \| None\_ _= None_

[Section titled “template\*variables \*: dict\[str, TemplateVariables\] \| None\_ = None”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#templatevariables--dictstr-templatevariables--none_--none)

The optional template variable information

#### _static_ from\_dict(application\_spec: dict) → [Arc56Contract](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.Arc56Contract)

[Section titled “static from\_dict(application\_spec: dict) → Arc56Contract”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#static-from_dictapplication_spec-dict--arc56contract)

Create Arc56Contract from dictionary.

- **Parameters:** **application\_spec** – Dictionary containing contract specification
- **Returns:**
Arc56Contract instance

#### _static_ from\_json(application\_spec: str) → [Arc56Contract](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.Arc56Contract)

[Section titled “static from\_json(application\_spec: str) → Arc56Contract”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#static-from_jsonapplication_spec-str--arc56contract)

#### _static_ from\_arc32(arc32\_application\_spec: str \| [algokit\_utils.applications.app\_spec.arc32.Arc32Contract](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc32/\#algokit_utils.applications.app_spec.arc32.Arc32Contract)) → [Arc56Contract](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.Arc56Contract)

[Section titled “static from\_arc32(arc32\_application\_spec: str \| algokit\_utils.applications.app\_spec.arc32.Arc32Contract) → Arc56Contract”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#static-from_arc32arc32_application_spec-str--algokit_utilsapplicationsapp_specarc32arc32contract--arc56contract)

#### _static_ get\_abi\_struct\_from\_abi\_tuple(decoded\_tuple: Any, struct\_fields: list\[ [StructField](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.StructField)\], structs: dict\[str, list\[ [StructField](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.StructField)\]\]) → dict\[str, Any\]

[Section titled “static get\_abi\_struct\_from\_abi\_tuple(decoded\_tuple: Any, struct\_fields: list\[StructField\], structs: dict\[str, list\[StructField\]\]) → dict\[str, Any\]”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#static-get_abi_struct_from_abi_tupledecoded_tuple-any-struct_fields-liststructfield-structs-dictstr-liststructfield--dictstr-any)

#### to\_json(indent: int \| None = None) → str

[Section titled “to\_json(indent: int \| None = None) → str”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#to_jsonindent-int--none--none--str)

#### dictify() → dict

[Section titled “dictify() → dict”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#dictify--dict)

#### get\_arc56\_method(method\_name\_or\_signature: str) → [Method](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/\#algokit_utils.applications.app_spec.arc56.Method)

[Section titled “get\_arc56\_method(method\_name\_or\_signature: str) → Method”](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_spec/arc56/#get_arc56_methodmethod_name_or_signature-str--method)

Ask AI

reCAPTCHA

Recaptcha requires verification.

protected by **reCAPTCHA**
