Arc56Contract
Arc56Contract =
object
Defined in: packages/abi/src/arc56-contract.ts:32
Describes the entire contract. This type is an extension of the type described in ARC-4
Properties
Section titled “Properties”arcs:
number[]
Defined in: packages/abi/src/arc56-contract.ts:34
The ARCs used and/or supported by this contract. All contracts implicitly support ARC4 and ARC56
bareActions
Section titled “bareActions”bareActions:
object
Defined in: packages/abi/src/arc56-contract.ts:82
Supported bare actions for the contract. An action is a combination of call/create and an OnComplete
call: (
"NoOp"|"OptIn"|"CloseOut"|"ClearState"|"UpdateApplication"|"DeleteApplication")[]
OnCompletes this method allows when appID !== 0
create
Section titled “create”create: (
"NoOp"|"OptIn"|"DeleteApplication")[]
OnCompletes this method allows when appID === 0
byteCode?
Section titled “byteCode?”
optionalbyteCode:object
Defined in: packages/abi/src/arc56-contract.ts:103
The compiled bytecode for the application. MUST be omitted if included as part of ARC23
approval
Section titled “approval”approval:
string
The approval program
clear:
string
The clear program
compilerInfo?
Section titled “compilerInfo?”
optionalcompilerInfo:object
Defined in: packages/abi/src/arc56-contract.ts:110
Information used to get the given byteCode and/or PC values in sourceInfo. MUST be given if byteCode or PC values are present
compiler
Section titled “compiler”compiler:
"algod"|"puya"
The name of the compiler
compilerVersion
Section titled “compilerVersion”compilerVersion:
object
Compiler version information
compilerVersion.commitHash?
Section titled “compilerVersion.commitHash?”
optionalcommitHash:string
compilerVersion.major
Section titled “compilerVersion.major”major:
number
compilerVersion.minor
Section titled “compilerVersion.minor”minor:
number
compilerVersion.patch
Section titled “compilerVersion.patch”patch:
number
optionaldesc:string
Defined in: packages/abi/src/arc56-contract.ts:38
Optional, user-friendly description for the type
events?
Section titled “events?”
optionalevents:Event[]
Defined in: packages/abi/src/arc56-contract.ts:122
ARC-28 events that MAY be emitted by this contract
methods
Section titled “methods”methods:
Arc56Method[]
Defined in: packages/abi/src/arc56-contract.ts:55
All of the methods that the contract implements
name:
string
Defined in: packages/abi/src/arc56-contract.ts:36
A user-friendly name for the contract
networks?
Section titled “networks?”
optionalnetworks:object
Defined in: packages/abi/src/arc56-contract.ts:46
Optional object listing the contract instances across different networks. The key is the base64 genesis hash of the network, and the value contains information about the deployed contract in the network indicated by the key. A key containing the human-readable name of the network MAY be included, but the corresponding genesis hash key MUST also be defined
Index Signature
Section titled “Index Signature”[network: string]: object
scratchVariables?
Section titled “scratchVariables?”
optionalscratchVariables:object
Defined in: packages/abi/src/arc56-contract.ts:133
The scratch variables used during runtime
Index Signature
Section titled “Index Signature”[name: string]: object
source?
Section titled “source?”
optionalsource:object
Defined in: packages/abi/src/arc56-contract.ts:96
The pre-compiled TEAL that may contain template variables. MUST be omitted if included as part of ARC23
approval
Section titled “approval”approval:
string
The approval program
clear:
string
The clear program
sourceInfo?
Section titled “sourceInfo?”
optionalsourceInfo:object
Defined in: packages/abi/src/arc56-contract.ts:89
Information about the TEAL programs
approval
Section titled “approval”approval:
ProgramSourceInfo
Approval program information
clear:
ProgramSourceInfo
Clear program information
state:
object
Defined in: packages/abi/src/arc56-contract.ts:56
keys:
object
Mapping of human-readable names to StorageKey objects
keys.box
Section titled “keys.box”box:
object
Index Signature
Section titled “Index Signature”[name: string]: StorageKey
keys.global
Section titled “keys.global”global:
object
Index Signature
Section titled “Index Signature”[name: string]: StorageKey
keys.local
Section titled “keys.local”local:
object
Index Signature
Section titled “Index Signature”[name: string]: StorageKey
maps:
object
Mapping of human-readable names to StorageMap objects
maps.box
Section titled “maps.box”box:
object
Index Signature
Section titled “Index Signature”[name: string]: StorageMap
maps.global
Section titled “maps.global”global:
object
Index Signature
Section titled “Index Signature”[name: string]: StorageMap
maps.local
Section titled “maps.local”local:
object
Index Signature
Section titled “Index Signature”[name: string]: StorageMap
schema
Section titled “schema”schema:
object
Defines the values that should be used for GlobalNumUint, GlobalNumByteSlice, LocalNumUint, and LocalNumByteSlice when creating the application
schema.global
Section titled “schema.global”global:
object
schema.global.bytes
Section titled “schema.global.bytes”bytes:
number
schema.global.ints
Section titled “schema.global.ints”ints:
number
schema.local
Section titled “schema.local”local:
object
schema.local.bytes
Section titled “schema.local.bytes”bytes:
number
schema.local.ints
Section titled “schema.local.ints”ints:
number
structs
Section titled “structs”structs:
object
Defined in: packages/abi/src/arc56-contract.ts:53
Named structs used by the application. Each struct field appears in the same order as ABI encoding.
Index Signature
Section titled “Index Signature”[structName: string]: StructField[]
templateVariables?
Section titled “templateVariables?”
optionaltemplateVariables:object
Defined in: packages/abi/src/arc56-contract.ts:124
A mapping of template variable names as they appear in the TEAL (not including TMPL_ prefix) to their respective types and values (if applicable)
Index Signature
Section titled “Index Signature”[name: string]: object