Documentation ¶
Index ¶
- Constants
- Variables
- func Contains(r Range, l, ch int) bool
- func Overlaps(a, b Range) bool
- func Within(what, where Range) bool
- type AcctParamsField
- type AcctParamsGetExpr
- type AddrExpr
- type AddwExpr
- type AndExpr
- type AppGlobalDelExpr
- type AppGlobalGetExExpr
- type AppGlobalGetExpr
- type AppGlobalPutExpr
- type AppLocalDelExpr
- type AppLocalGetExExpr
- type AppLocalGetExpr
- type AppLocalPutExpr
- type AppOptedInExpr
- type AppParamsField
- type AppParamsGetExpr
- type Arg0Expr
- type Arg1Expr
- type Arg2Expr
- type Arg3Expr
- type ArgExpr
- type ArgsExpr
- type AssertExpr
- type AssetHoldingField
- type AssetHoldingGetExpr
- type AssetParamsField
- type AssetParamsGetExpr
- type BExpr
- type BGtExpr
- type BJustBeforeLabelError
- type BalanceExpr
- type BandExpr
- type Base64DecodeExpr
- type Base64Encoding
- type BdivExpr
- type BgteqExpr
- type BitAndExpr
- type BitLenExpr
- type BitNotExpr
- type BitOrExpr
- type BitXorExpr
- type BlockExpr
- type BlockField
- type BltExpr
- type BminusExpr
- type BmulExpr
- type BnzExpr
- type BoxCreateExpr
- type BoxDelExpr
- type BoxExtractExpr
- type BoxGetExpr
- type BoxLenExpr
- type BoxPutExpr
- type BoxReplaceExpr
- type BoxResizeExpr
- type BoxSpliceExpr
- type BplusExpr
- type BsqrtExpr
- type BtoiExpr
- type BuryExpr
- type ByteExpr
- type Bytec0Expr
- type Bytec1Expr
- type Bytec2Expr
- type Bytec3Expr
- type BytecBlockExpr
- type BytecExpr
- type Bytes
- type BytesBitAndExpr
- type BytesBitNotExpr
- type BytesBitOrExpr
- type BytesBitXorExpr
- type BytesEqExpr
- type BytesFormat
- type BytesGeExpr
- type BytesLeExpr
- type BytesModuloExpr
- type BytesNeqExpr
- type BytesZeroExpr
- type BzExpr
- type BzeroExpr
- type Call
- type CallSubExpr
- type CheckBranchJustBeforeLabelRule
- type CheckLoopsRule
- type CheckPragmaRule
- type CommentExpr
- type ConcatExpr
- type CoverExpr
- type DecodedInlayHint
- type DefineExpr
- type Diagnostic
- type DiagnosticSeverity
- type DigExpr
- type DivExpr
- type DivModwExpr
- type DivwExpr
- type Dup2Expr
- type DupExpr
- type DupNExpr
- type DuplicateLabelError
- type DuplicateLabelsRule
- type ED25519VerifyExpr
- type EcAddExpr
- type EcGroup
- type EcMapToExpr
- type EcMultiExpExpr
- type EcMultiScalarMulExpr
- type EcPairingCheckExpr
- type EcScalarMul
- type EcSubgroupCheckExpr
- type EcdsaCurve
- type EcdsaPkDecompressExpr
- type EcdsaPkRecoverExpr
- type EcdsaVerifyExpr
- type Ed25519VerifyBareExpr
- type EmptyExpr
- type EmptyLoopError
- type EqExpr
- type ErrExpr
- type ExpExpr
- type Expr
- type ExpwExpr
- type Extract3Expr
- type Extract64BitsExpr
- type ExtractExpr
- type ExtractUint16Expr
- type ExtractUint32Expr
- type ExtractUint64Expr
- type FalconVerifyExpr
- type FieldGroup
- type FieldSpec
- type FrameBuryExpr
- type FrameDigExpr
- type FuncExpr
- type GaidExpr
- type GaidsExpr
- type GetBitExpr
- type GetByteExpr
- type GitxnExpr
- type GitxnaExpr
- type GitxnasExpr
- type GloadExpr
- type GloadsExpr
- type GloadssExpr
- type GlobalExpr
- type GlobalField
- type GtEqExpr
- type GtExpr
- type GtxnExpr
- type GtxnaExpr
- type GtxnasExpr
- type GtxnsExpr
- type GtxnsaExpr
- type GtxnsasExpr
- type ImmArg
- type ImmNote
- type InfiniteLoopError
- type InlayHint
- type InlayHints
- type IntExpr
- type Intc0Expr
- type Intc1Expr
- type Intc2Expr
- type Intc3Expr
- type IntcBlockExpr
- type IntcExpr
- type ItobExpr
- type ItxnBeginExpr
- type ItxnExpr
- type ItxnFieldExpr
- type ItxnNextExpr
- type ItxnSubmitExpr
- type ItxnaExpr
- type ItxnasExpr
- type JSONRefType
- type JsonRefExpr
- type Keccak256Expr
- type LabelExpr
- type Labelled
- type LangOp
- type LangSpec
- type LenExpr
- type Lexer
- type Line
- type LineError
- type LineOp
- type LineRange
- type LintRule
- type Linter
- type Listing
- type LoadExpr
- type LoadsExpr
- type LogExpr
- type LtEqExpr
- type LtExpr
- type MatchExpr
- type MethodExpr
- type MinBalanceExpr
- type MinusExpr
- type MissingLabelError
- type ModExpr
- type MulExpr
- type MulwExpr
- type NamedInlayHint
- type NeqExpr
- type NestedExpr
- type NewOpArgType
- type Nop
- type NotExpr
- type OnCompletionConstType
- type Op
- type OpCodeAvailabilityInModeRule
- type OpCodeVersionCompatibilityCheckRule
- type OpContext
- type OpsAfterUnconditionalBranchRule
- type OrExpr
- type PlusExpr
- type PopExpr
- type PopNExpr
- type PragmaExpr
- type PragmaVersionAfterInstrError
- type ProcessContext
- type ProcessResult
- func (r ProcessResult) ArgAt(l int, ch int) (opItemArg, int, bool)
- func (r ProcessResult) ArgFieldName(t NewOpArgType, v int) string
- func (r ProcessResult) ArgVals(arg opItemArg) []opItemArgVal
- func (r ProcessResult) ArgValsAt(l int, ch int) []opItemArgVal
- func (r ProcessResult) DocAt(l int, ch int) string
- func (r ProcessResult) InlayHints(rg Range) InlayHints
- func (r ProcessResult) SymByName(name string) []Symbol
- func (r ProcessResult) SymOrRefAt(rg Range) string
- func (r ProcessResult) SymRefByName(name string) []Token
- func (r ProcessResult) SymbolRefsWithin(rg Range) []Token
- func (r ProcessResult) SymbolsForRefWithin(rg Range) []Symbol
- func (r ProcessResult) SymbolsWithin(rg Range) []Symbol
- type Program
- type ProtoExpr
- type PushBytesExpr
- type PushBytessExpr
- type PushIntExpr
- type PushIntsExpr
- type Range
- type RedundantBLine
- type RedundantLabelLine
- type RedundantLine
- type Replace2Expr
- type Replace3Expr
- type RequiredVersion
- type RetSubExpr
- type ReturnExpr
- type RunMode
- type SelectExpr
- type SemanticToken
- type SemanticTokens
- type SetBitExpr
- type SetByteExpr
- type Sha256Expr
- type Sha3256Expr
- type Sha512256Expr
- type ShlExpr
- type ShrExpr
- type SignatureInlayHint
- type SqrtExpr
- type StackType
- type StackTypes
- type StoreExpr
- type StoresExpr
- type Subline
- type Substring3Expr
- type SubstringExpr
- type Sumhash512Expr
- type SwapExpr
- type SwitchExpr
- type Symbol
- type Terminator
- type Token
- func (t Token) Begin() int
- func (t Token) End() int
- func (t Token) EndCharacter() int
- func (t Token) EndLine() int
- func (t Token) IsSeparator() bool
- func (t Token) Line() int
- func (t Token) StartCharacter() int
- func (t Token) StartLine() int
- func (t Token) String() string
- func (t Token) Type() TokenType
- type TokenType
- type TxnExpr
- type TxnField
- type TxnaExpr
- type TxnasExpr
- type UncoverExpr
- type UnreachableCodeError
- type UnusedLabelError
- type UnusedLabelsRule
- type VrfStandard
- type VrfVerifyExpr
Constants ¶
const ( DiagErr = 1 DiagWarn = 2 DiagInfo = 3 DiagHint = 4 )
const ( GlobalMinTxnFee = GlobalField(0) GlobalMinBalance = GlobalField(1) GlobalMaxTxnLife = GlobalField(2) GlobalZeroAddress = GlobalField(3) GlobalGroupSize = GlobalField(4) GlobalLogicSigVersion = GlobalField(5) GlobalRound = GlobalField(6) GlobalLatestTimestamp = GlobalField(7) GlobalCurrentApplicationID = GlobalField(8) GlobalCreatorAddress = GlobalField(9) GlobalCurrentApplicationAddress = GlobalField(10) GlobalGroupID = GlobalField(11) GlobalOpcodeBudget = GlobalField(12) GlobalCallerApplicationID = GlobalField(13) GlobalCallerApplicationAddress = GlobalField(14) GlobalAssetCreateMinbalance = GlobalField(15) GlobalAssetOptInMinBalance = GlobalField(16) )
const ( TypeEnumUnknown = iota TypeEnumPay TypeEnumKeyReg TypeEnumAcfg TypeEnumAxfer TypeEnumAfrz TypeEnumAppl )
const ( BytesBase64 = 0 BytesStringLiteral = 1 )
const ( // NoOp = transactions.NoOpOC NoOp = OnCompletionConstType(transactions.NoOpOC) // OptIn = transactions.OptInOC OptIn = OnCompletionConstType(transactions.OptInOC) // CloseOut = transactions.CloseOutOC CloseOut = OnCompletionConstType(transactions.CloseOutOC) // ClearState = transactions.ClearStateOC ClearState = OnCompletionConstType(transactions.ClearStateOC) // UpdateApplication = transactions.UpdateApplicationOC UpdateApplication = OnCompletionConstType(transactions.UpdateApplicationOC) // DeleteApplication = transactions.DeleteApplicationOC DeleteApplication = OnCompletionConstType(transactions.DeleteApplicationOC) )
const ( TokenEol = "EOL" TokenSemicolon = ";" TokenValue = "Value" // value TokenComment = "Comment" // value )
const ( OpArgTypeNone = iota OpArgTypeConstInt OpArgTypeUint64 OpArgTypeUint8 OpArgTypeInt8 OpArgTypeBytes OpArgTypeTxnField OpArgTypeItxnField OpArgTypeTxnaField OpArgTypeJSONRefField OpArgTypeEcdsaCurve OpArgTypeGlobalField OpArgTypeLabel OpArgTypeAssetHoldingField OpArgTypeAssetParamsField OpArgTypeAppParamsField OpArgTypeAcctParamsField OpArgTypeVrfStandard OpArgTypeSignature OpArgTypeAddr OpArgTypePragmaName OpArgTypeDefineName OpArgTypeBase64EncodingField OpArgTypeBlockField OpArgTypeEcGroupField )
Variables ¶
var AcctParamsFields = FieldGroup{
"acct_params", "Fields",
acctParamsFieldNames[:],
acctParamsFieldSpecByName,
}
AcctParamsFields describes acct_params_get's immediates
var Addw = &AddwExpr{}
var And = &AndExpr{}
var AppGlobalDel = &AppGlobalDelExpr{}
var AppGlobalGet = &AppGlobalGetExpr{}
var AppGlobalGetEx = &AppGlobalGetExExpr{}
var AppGlobalPut = &AppGlobalPutExpr{}
var AppLocalDel = &AppLocalDelExpr{}
var AppLocalGet = &AppLocalGetExpr{}
var AppLocalGetEx = &AppLocalGetExExpr{}
var AppLocalPut = &AppLocalPutExpr{}
var AppOptedIn = &AppOptedInExpr{}
var AppParamsFields = FieldGroup{
"app_params", "Fields",
appParamsFieldNames[:],
appParamsFieldSpecByName,
}
AppParamsFields describes app_params_get's immediates
var Arg0 = &Arg0Expr{}
var Arg1 = &Arg1Expr{}
var Arg2 = &Arg2Expr{}
var Arg3 = &Arg3Expr{}
var Args = &ArgsExpr{}
var Assert = &AssertExpr{}
var AssetHoldingFields = FieldGroup{
"asset_holding", "Fields",
assetHoldingFieldNames[:],
assetHoldingFieldSpecByName,
}
AssetHoldingFields describes asset_holding_get's immediates
var AssetParamsFields = FieldGroup{
"asset_params", "Fields",
assetParamsFieldNames[:],
assetParamsFieldSpecByName,
}
AssetParamsFields describes asset_params_get's immediates
var Balance = &BalanceExpr{}
var Band = &BandExpr{}
var Base64Encodings = FieldGroup{
"base64", "Encodings",
base64EncodingNames[:],
base64EncodingSpecByName,
}
Base64Encodings describes the base64_encode immediate
var Bgteq = &BgteqExpr{}
var BitAnd = &BitAndExpr{}
var BitLen = &BitLenExpr{}
var BitNot = &BitNotExpr{}
var BitOr = &BitOrExpr{}
var BitXor = &BitXorExpr{}
var BlockFields = FieldGroup{
"block", "Fields",
blockFieldNames[:],
blockFieldSpecByName,
}
BlockFields describes the json_ref immediate
var BoxCreate = &BoxCreateExpr{}
var BoxDel = &BoxDelExpr{}
var BoxExtract = &BoxExtractExpr{}
var BoxGet = &BoxGetExpr{}
var BoxLen = &BoxLenExpr{}
var BoxPut = &BoxPutExpr{}
var BoxReplace = &BoxReplaceExpr{}
var BoxResize = &BoxResizeExpr{}
var BoxSplice = &BoxSpliceExpr{}
var Bsqrt = &BsqrtExpr{}
var Btoi = &BtoiExpr{}
var BuiltInLangSpec = func() LangSpec { spec, err := readLangSpec(strings.NewReader(BuiltInLangSpecJson)) if err != nil { panic(err) } return spec }()
var BuiltInLangSpecJson string
var Bytec0 = &Bytec0Expr{}
var Bytec1 = &Bytec1Expr{}
var Bytec2 = &Bytec2Expr{}
var Bytec3 = &Bytec3Expr{}
var BytesBitAnd = &BytesBitAndExpr{}
var BytesBitNot = &BytesBitNotExpr{}
var BytesBitOr = &BytesBitOrExpr{}
var BytesBitXor = &BytesBitXorExpr{}
var BytesDiv = &BdivExpr{}
var BytesEq = &BytesEqExpr{}
var BytesGe = &BytesGeExpr{}
var BytesGt = &BGtExpr{}
var BytesLe = &BytesLeExpr{}
var BytesLt = &BltExpr{}
var BytesMinus = &BminusExpr{}
var BytesModulo = &BytesModuloExpr{}
var BytesMul = &BmulExpr{}
var BytesNeq = &BytesNeqExpr{}
var BytesPlus = &BplusExpr{}
var BytesZero = &BytesZeroExpr{}
var Bzero = &BzeroExpr{}
var Concat = &ConcatExpr{}
var Div = &DivExpr{}
var DivModw = &DivModwExpr{}
var Divw = &DivwExpr{}
var Dup = &DupExpr{}
var Dup2 = &Dup2Expr{}
var ED25519Verify = &ED25519VerifyExpr{}
var EcGroups = FieldGroup{
"EC", "Groups",
ecGroupNames[:],
ecGroupSpecByName,
}
EcGroups collects details about the constants used to describe EcGroups
var EcdsaCurves = FieldGroup{
"ECDSA", "Curves",
ecdsaCurveNames[:],
ecdsaCurveSpecByName,
}
EcdsaCurves collects details about the constants used to describe EcdsaCurves
var Ed25519VerifyBare = &Ed25519VerifyBareExpr{}
var Empty = &EmptyExpr{}
var Eq = &EqExpr{}
var Err = &ErrExpr{}
var Exp = &ExpExpr{}
var Expw = &ExpwExpr{}
var Extract16Bits = &ExtractUint16Expr{}
var Extract3 = &Extract3Expr{}
var Extract32Bits = &ExtractUint32Expr{}
var Extract64Bits = &Extract64BitsExpr{}
var ExtractUint64 = &ExtractUint64Expr{}
var FalconVerify = &FalconVerifyExpr{}
var Gaids = &GaidsExpr{}
var Ge = &GtEqExpr{}
var GetBit = &GetBitExpr{}
var GetByte = &GetByteExpr{}
var Gloadss = &GloadssExpr{}
var GlobalFieldNames [invalidGlobalField]string
GlobalFieldNames are arguments to the 'global' opcode
var GlobalFields = FieldGroup{ "global", "Fields", GlobalFieldNames[:], globalFieldSpecByName, }
GlobalFields has info on the global opcode's immediate
var Gt = &GtExpr{}
var Intc0 = &Intc0Expr{}
var Intc1 = &Intc1Expr{}
var Intc2 = &Intc2Expr{}
var Intc3 = &Intc3Expr{}
var Itob = &ItobExpr{}
var ItxnBegin = &ItxnBeginExpr{}
var ItxnNext = &ItxnNextExpr{}
var ItxnSettableFields = FieldGroup{
"itxn_field", "",
itxnSettableFieldNames(),
txnFieldSpecByName,
}
ItxnSettableFields collects info for itxn_field opcode
var ItxnSubmit = &ItxnSubmitExpr{}
var JSONRefTypes = FieldGroup{
"json_ref", "Types",
jsonRefTypeNames[:],
jsonRefSpecByName,
}
JSONRefTypes describes the json_ref immediate
var Keccak256 = &Keccak256Expr{}
var Le = &LtEqExpr{}
var Len = &LenExpr{}
var LintRules []LintRule
var Loads = &LoadsExpr{}
var Log = &LogExpr{}
var Lt = &LtExpr{}
var MinBalanceOp = &MinBalanceExpr{}
var MinusOp = &MinusExpr{}
var Modulo = &ModExpr{}
var Mul = &MulExpr{}
var Mulw = &MulwExpr{}
var Neq = &NeqExpr{}
var Not = &NotExpr{}
var OnCompletionNames [invalidOnCompletionConst]string
OnCompletionNames is the string names of Txn.OnCompletion, array index is the const value
var OpArgTypes = []NewOpArgType{ OpArgTypeTxnField, OpArgTypeItxnField, OpArgTypeTxnaField, OpArgTypeJSONRefField, OpArgTypeEcdsaCurve, OpArgTypeGlobalField, OpArgTypeAssetHoldingField, OpArgTypeAssetParamsField, OpArgTypeAppParamsField, OpArgTypeAcctParamsField, OpArgTypeVrfStandard, OpArgTypeBase64EncodingField, OpArgTypeBlockField, OpArgTypeEcGroupField, }
var OpArgVals map[NewOpArgType][]opItemArgVal
var OpCodeAvailabilityInModeRuleInstance = OpCodeAvailabilityInModeRule{}
var OpCodeVersionCompatibilityCheckRuleInstance = OpCodeVersionCompatibilityCheckRule{}
var OpValFieldNames map[NewOpArgType]map[int]string
var Ops = func() *opItems { d := &opItems{ Items: map[string]opItem{}, } for _, info := range opsList { c := &docContext{ appVersion: 1, sigVersion: 1, args: []opItemArg{}, } info.Parse(c) doc := opDocByName[info.Name] extra := opDocExtras[info.Name] full := doc if extra != "" { if full != "" { full += "\n" } full += extra } var fullnames []string { var optional bool for _, arg := range c.args { name := fmt.Sprintf("%s : %s", arg.Type.String(), arg.Name) if arg.Array { name += ", ..." } name = "{" + name + "}" if arg.Optional { if !optional { name = "[" + name } } fullnames = append(fullnames, name) } if optional && len(fullnames) > 0 { fullnames[len(fullnames)-1] += "]" } } var shortnames []string { var optional bool for _, arg := range c.args { name := arg.Name if arg.Array { name += ", ..." } if arg.Optional { if !optional { optional = true name = "[" + name } } shortnames = append(shortnames, name) } if optional && len(shortnames) > 0 { shortnames[len(shortnames)-1] += "]" } } sigargs := strings.Join(shortnames, " ") sigfull := fmt.Sprintf("%s %s", info.Name, strings.Join(fullnames, " ")) d.Items[info.Name] = opItem{ Name: info.Name, SigVersion: c.sigVersion, AppVersion: c.appVersion, ArgsSig: sigargs, FullSig: sigfull, Args: c.args, Parse: info.Parse, Doc: doc, FullDoc: full, } } return d }()
var Or = &OrExpr{}
var PlusOp = &PlusExpr{}
var Pop = &PopExpr{}
var Replace3 = &Replace3Expr{}
var RetSub = &RetSubExpr{}
var Return = &ReturnExpr{}
var Select = &SelectExpr{}
var SetBit = &SetBitExpr{}
var SetByte = &SetByteExpr{}
var Sha256 = &Sha256Expr{}
var Sha3256 = &Sha3256Expr{}
var Sha512256 = &Sha512256Expr{}
var ShiftLeft = &ShlExpr{}
var ShiftRight = &ShrExpr{}
var Sqrt = &SqrtExpr{}
var Stores = &StoresExpr{}
var Substring3 = &Substring3Expr{}
var SumHash512 = &Sumhash512Expr{}
var Swap = &SwapExpr{}
var TxnArrayFields = FieldGroup{
"txna", "Fields (see [transaction reference](https://developer.algorand.org/docs/reference/transactions/))",
txnaFieldNames(),
txnFieldSpecByName,
}
TxnArrayFields narows TxnFields to only have the names of array fetching opcodes
var TxnFieldNames [invalidTxnField]string
TxnFieldNames are arguments to the 'txn' family of opcodes.
var TxnFields = FieldGroup{ "txn", "", TxnFieldNames[:], txnFieldSpecByName, }
TxnFields contains info on the arguments to the txn* family of opcodes
var TxnScalarFields = FieldGroup{
"txn", "Fields (see [transaction reference](https://developer.algorand.org/docs/reference/transactions/))",
txnScalarFieldNames(),
txnFieldSpecByName,
}
TxnScalarFields narrows TxnFields to only have the names of scalar fetching opcodes
var TxnTypeNames = [...]string{ string(protocol.UnknownTx), string(protocol.PaymentTx), string(protocol.KeyRegistrationTx), string(protocol.AssetConfigTx), string(protocol.AssetTransferTx), string(protocol.AssetFreezeTx), string(protocol.ApplicationCallTx), }
TxnTypeNames is the values of Txn.Type in enum order
var TypeNameDescriptions = map[string]string{ string(protocol.UnknownTx): "Unknown type. Invalid transaction", string(protocol.PaymentTx): "Payment", string(protocol.KeyRegistrationTx): "KeyRegistration", string(protocol.AssetConfigTx): "AssetConfig", string(protocol.AssetTransferTx): "AssetTransfer", string(protocol.AssetFreezeTx): "AssetFreeze", string(protocol.ApplicationCallTx): "ApplicationCall", }
TypeNameDescriptions contains extra description about a low level protocol transaction Type string, and provide a friendlier type constant name in assembler.
var VrfStandards = FieldGroup{
"vrf_verify", "Standards",
vrfStandardNames[:],
vrfStandardSpecByName,
}
VrfStandards describes the json_ref immediate
Functions ¶
Types ¶
type AcctParamsField ¶
type AcctParamsField int
AcctParamsField is an enum for `acct_params_get` opcode
const ( // AcctBalance is the balance, with pending rewards AcctBalance AcctParamsField = iota // AcctMinBalance is algos needed for this accounts apps and assets AcctMinBalance // AcctAuthAddr is the rekeyed address if any, else ZeroAddress AcctAuthAddr // AcctTotalNumUint is the count of all uints from created global apps or opted in locals AcctTotalNumUint // AcctTotalNumByteSlice is the count of all byte slices from created global apps or opted in locals AcctTotalNumByteSlice // AcctTotalExtraAppPages is the extra code pages across all apps AcctTotalExtraAppPages // AcctTotalAppsCreated is the number of apps created by this account AcctTotalAppsCreated // AcctTotalAppsOptedIn is the number of apps opted in by this account AcctTotalAppsOptedIn // AcctTotalAssetsCreated is the number of ASAs created by this account AcctTotalAssetsCreated // AcctTotalAssets is the number of ASAs opted in by this account (always includes AcctTotalAssetsCreated) AcctTotalAssets // AcctTotalBoxes is the number of boxes created by the app this account is associated with AcctTotalBoxes // AcctTotalBoxBytes is the number of bytes in all boxes of this app account AcctTotalBoxBytes )
func (AcctParamsField) String ¶
func (i AcctParamsField) String() string
type AcctParamsGetExpr ¶
type AcctParamsGetExpr struct {
Field AcctParamsField
}
func (*AcctParamsGetExpr) String ¶
func (e *AcctParamsGetExpr) String() string
type AppGlobalDelExpr ¶
type AppGlobalDelExpr struct{}
func (*AppGlobalDelExpr) String ¶
func (e *AppGlobalDelExpr) String() string
type AppGlobalGetExExpr ¶
type AppGlobalGetExExpr struct{}
func (*AppGlobalGetExExpr) String ¶
func (e *AppGlobalGetExExpr) String() string
type AppGlobalGetExpr ¶
type AppGlobalGetExpr struct{}
func (*AppGlobalGetExpr) String ¶
func (e *AppGlobalGetExpr) String() string
type AppGlobalPutExpr ¶
type AppGlobalPutExpr struct{}
func (*AppGlobalPutExpr) String ¶
func (e *AppGlobalPutExpr) String() string
type AppLocalDelExpr ¶
type AppLocalDelExpr struct{}
func (*AppLocalDelExpr) String ¶
func (e *AppLocalDelExpr) String() string
type AppLocalGetExExpr ¶
type AppLocalGetExExpr struct{}
func (*AppLocalGetExExpr) String ¶
func (e *AppLocalGetExExpr) String() string
type AppLocalGetExpr ¶
type AppLocalGetExpr struct{}
func (*AppLocalGetExpr) String ¶
func (e *AppLocalGetExpr) String() string
type AppLocalPutExpr ¶
type AppLocalPutExpr struct{}
func (*AppLocalPutExpr) String ¶
func (e *AppLocalPutExpr) String() string
type AppOptedInExpr ¶
type AppOptedInExpr struct{}
func (*AppOptedInExpr) String ¶
func (e *AppOptedInExpr) String() string
type AppParamsField ¶
type AppParamsField int
AppParamsField is an enum for `app_params_get` opcode
const ( // AppApprovalProgram AppParams.ApprovalProgram AppApprovalProgram AppParamsField = iota // AppClearStateProgram AppParams.ClearStateProgram AppClearStateProgram // AppGlobalNumUint AppParams.StateSchemas.GlobalStateSchema.NumUint AppGlobalNumUint // AppGlobalNumByteSlice AppParams.StateSchemas.GlobalStateSchema.NumByteSlice AppGlobalNumByteSlice // AppLocalNumUint AppParams.StateSchemas.LocalStateSchema.NumUint AppLocalNumUint // AppLocalNumByteSlice AppParams.StateSchemas.LocalStateSchema.NumByteSlice AppLocalNumByteSlice // AppExtraProgramPages AppParams.ExtraProgramPages AppExtraProgramPages // AppCreator is not *in* the Params, but it is uniquely determined. AppCreator // AppAddress is also not *in* the Params, but can be derived AppAddress )
func (AppParamsField) String ¶
func (i AppParamsField) String() string
type AppParamsGetExpr ¶
type AppParamsGetExpr struct {
Field AppParamsField
}
func (*AppParamsGetExpr) String ¶
func (e *AppParamsGetExpr) String() string
type AssertExpr ¶
type AssertExpr struct{}
func (*AssertExpr) String ¶
func (e *AssertExpr) String() string
type AssetHoldingField ¶
type AssetHoldingField int
AssetHoldingField is an enum for `asset_holding_get` opcode
const ( // AssetBalance AssetHolding.Amount AssetBalance AssetHoldingField = iota // AssetFrozen AssetHolding.Frozen AssetFrozen )
func (AssetHoldingField) String ¶
func (i AssetHoldingField) String() string
type AssetHoldingGetExpr ¶
type AssetHoldingGetExpr struct {
Field AssetHoldingField
}
func (*AssetHoldingGetExpr) String ¶
func (e *AssetHoldingGetExpr) String() string
type AssetParamsField ¶
type AssetParamsField int
AssetParamsField is an enum for `asset_params_get` opcode
const ( // AssetTotal AssetParams.Total AssetTotal AssetParamsField = iota // AssetDecimals AssetParams.Decimals AssetDecimals // AssetDefaultFrozen AssetParams.AssetDefaultFrozen AssetDefaultFrozen // AssetUnitName AssetParams.UnitName AssetUnitName // AssetName AssetParams.AssetName AssetName // AssetURL AssetParams.URL AssetURL // AssetMetadataHash AssetParams.MetadataHash AssetMetadataHash // AssetManager AssetParams.Manager AssetManager // AssetReserve AssetParams.Reserve AssetReserve // AssetFreeze AssetParams.Freeze AssetFreeze // AssetClawback AssetParams.Clawback AssetClawback // AssetCreator is not *in* the Params, but it is uniquely determined. AssetCreator )
func (AssetParamsField) String ¶
func (i AssetParamsField) String() string
type AssetParamsGetExpr ¶
type AssetParamsGetExpr struct {
Field AssetParamsField
}
func (*AssetParamsGetExpr) String ¶
func (e *AssetParamsGetExpr) String() string
type BJustBeforeLabelError ¶
type BJustBeforeLabelError struct {
// contains filtered or unexported fields
}
func (BJustBeforeLabelError) Error ¶
func (e BJustBeforeLabelError) Error() string
func (BJustBeforeLabelError) Line ¶
func (e BJustBeforeLabelError) Line() int
func (BJustBeforeLabelError) Rule ¶
func (e BJustBeforeLabelError) Rule() string
func (BJustBeforeLabelError) Severity ¶
func (e BJustBeforeLabelError) Severity() DiagnosticSeverity
func (BJustBeforeLabelError) Subline ¶
func (e BJustBeforeLabelError) Subline() int
type BalanceExpr ¶
type BalanceExpr struct{}
func (*BalanceExpr) String ¶
func (e *BalanceExpr) String() string
type Base64DecodeExpr ¶
type Base64DecodeExpr struct {
Index uint8
}
func (*Base64DecodeExpr) String ¶
func (e *Base64DecodeExpr) String() string
type Base64Encoding ¶
type Base64Encoding int
Base64Encoding is an enum for the `base64decode` opcode
const ( // URLEncoding represents the base64url encoding defined in https://www.rfc-editor.org/rfc/rfc4648.html URLEncoding Base64Encoding = iota // StdEncoding represents the standard encoding of the RFC StdEncoding )
func (Base64Encoding) String ¶
func (i Base64Encoding) String() string
type BitAndExpr ¶
type BitAndExpr struct{}
func (*BitAndExpr) String ¶
func (e *BitAndExpr) String() string
type BitLenExpr ¶
type BitLenExpr struct{}
func (*BitLenExpr) String ¶
func (e *BitLenExpr) String() string
type BitNotExpr ¶
type BitNotExpr struct{}
func (*BitNotExpr) String ¶
func (e *BitNotExpr) String() string
type BitXorExpr ¶
type BitXorExpr struct{}
func (*BitXorExpr) String ¶
func (e *BitXorExpr) String() string
type BlockExpr ¶
type BlockExpr struct {
Field BlockField
}
type BlockField ¶
type BlockField int
BlockField is an enum for the `block` opcode
const ( // BlkSeed is the Block's vrf seed BlkSeed BlockField = iota // BlkTimestamp is the Block's timestamp, seconds from epoch BlkTimestamp )
func (BlockField) String ¶
func (i BlockField) String() string
type BminusExpr ¶
type BminusExpr struct{}
func (*BminusExpr) String ¶
func (e *BminusExpr) String() string
type BoxCreateExpr ¶
type BoxCreateExpr struct { }
func (*BoxCreateExpr) String ¶
func (e *BoxCreateExpr) String() string
type BoxDelExpr ¶
type BoxDelExpr struct { }
func (*BoxDelExpr) String ¶
func (e *BoxDelExpr) String() string
type BoxExtractExpr ¶
type BoxExtractExpr struct { }
func (*BoxExtractExpr) String ¶
func (e *BoxExtractExpr) String() string
type BoxGetExpr ¶
type BoxGetExpr struct { }
func (*BoxGetExpr) String ¶
func (e *BoxGetExpr) String() string
type BoxLenExpr ¶
type BoxLenExpr struct { }
func (*BoxLenExpr) String ¶
func (e *BoxLenExpr) String() string
type BoxPutExpr ¶
type BoxPutExpr struct { }
func (*BoxPutExpr) String ¶
func (e *BoxPutExpr) String() string
type BoxReplaceExpr ¶
type BoxReplaceExpr struct { }
func (*BoxReplaceExpr) String ¶
func (e *BoxReplaceExpr) String() string
type BoxResizeExpr ¶
type BoxResizeExpr struct { }
func (*BoxResizeExpr) String ¶
func (e *BoxResizeExpr) String() string
type BoxSpliceExpr ¶
type BoxSpliceExpr struct { }
func (*BoxSpliceExpr) String ¶
func (e *BoxSpliceExpr) String() string
type Bytec0Expr ¶
type Bytec0Expr struct{}
func (*Bytec0Expr) String ¶
func (e *Bytec0Expr) String() string
type Bytec1Expr ¶
type Bytec1Expr struct{}
func (*Bytec1Expr) String ¶
func (e *Bytec1Expr) String() string
type Bytec2Expr ¶
type Bytec2Expr struct{}
func (*Bytec2Expr) String ¶
func (e *Bytec2Expr) String() string
type Bytec3Expr ¶
type Bytec3Expr struct{}
func (*Bytec3Expr) String ¶
func (e *Bytec3Expr) String() string
type BytecBlockExpr ¶
type BytecBlockExpr struct {
Values [][]byte
}
func (*BytecBlockExpr) String ¶
func (e *BytecBlockExpr) String() string
type Bytes ¶
type Bytes struct { Value []byte Format BytesFormat }
type BytesBitAndExpr ¶
type BytesBitAndExpr struct{}
func (*BytesBitAndExpr) String ¶
func (e *BytesBitAndExpr) String() string
type BytesBitNotExpr ¶
type BytesBitNotExpr struct{}
func (*BytesBitNotExpr) String ¶
func (e *BytesBitNotExpr) String() string
type BytesBitOrExpr ¶
type BytesBitOrExpr struct{}
func (*BytesBitOrExpr) String ¶
func (e *BytesBitOrExpr) String() string
type BytesBitXorExpr ¶
type BytesBitXorExpr struct{}
func (*BytesBitXorExpr) String ¶
func (e *BytesBitXorExpr) String() string
type BytesEqExpr ¶
type BytesEqExpr struct{}
func (*BytesEqExpr) String ¶
func (e *BytesEqExpr) String() string
type BytesFormat ¶
type BytesFormat int
type BytesGeExpr ¶
type BytesGeExpr struct{}
func (*BytesGeExpr) String ¶
func (e *BytesGeExpr) String() string
type BytesLeExpr ¶
type BytesLeExpr struct{}
func (*BytesLeExpr) String ¶
func (e *BytesLeExpr) String() string
type BytesModuloExpr ¶
type BytesModuloExpr struct{}
func (*BytesModuloExpr) String ¶
func (e *BytesModuloExpr) String() string
type BytesNeqExpr ¶
type BytesNeqExpr struct{}
func (*BytesNeqExpr) String ¶
func (e *BytesNeqExpr) String() string
type BytesZeroExpr ¶
type BytesZeroExpr struct{}
func (*BytesZeroExpr) String ¶
func (e *BytesZeroExpr) String() string
type Call ¶
type Call struct { Op *CallSubExpr Line int }
type CallSubExpr ¶
type CallSubExpr struct {
Label *LabelExpr
}
func CallSub ¶
func CallSub[T Labelled](l T) *CallSubExpr
func (*CallSubExpr) Labels ¶
func (e *CallSubExpr) Labels() []*LabelExpr
func (*CallSubExpr) String ¶
func (e *CallSubExpr) String() string
type CheckBranchJustBeforeLabelRule ¶
type CheckBranchJustBeforeLabelRule struct { }
func (CheckBranchJustBeforeLabelRule) Desc ¶
func (r CheckBranchJustBeforeLabelRule) Desc() string
func (CheckBranchJustBeforeLabelRule) Id ¶
func (r CheckBranchJustBeforeLabelRule) Id() string
func (CheckBranchJustBeforeLabelRule) Run ¶
func (r CheckBranchJustBeforeLabelRule) Run(l *Linter)
type CheckLoopsRule ¶
type CheckLoopsRule struct{}
func (CheckLoopsRule) Desc ¶
func (r CheckLoopsRule) Desc() string
func (CheckLoopsRule) Id ¶
func (r CheckLoopsRule) Id() string
func (CheckLoopsRule) Run ¶
func (r CheckLoopsRule) Run(l *Linter)
type CheckPragmaRule ¶
type CheckPragmaRule struct{}
func (CheckPragmaRule) Desc ¶
func (r CheckPragmaRule) Desc() string
func (CheckPragmaRule) Id ¶
func (r CheckPragmaRule) Id() string
func (CheckPragmaRule) Run ¶
func (r CheckPragmaRule) Run(l *Linter)
type CommentExpr ¶
type CommentExpr struct {
Text string
}
func Comment ¶
func Comment(text string) *CommentExpr
func (*CommentExpr) IsNop ¶
func (e *CommentExpr) IsNop()
func (*CommentExpr) String ¶
func (e *CommentExpr) String() string
type ConcatExpr ¶
type ConcatExpr struct{}
func (*ConcatExpr) String ¶
func (e *ConcatExpr) String() string
type DecodedInlayHint ¶
type DefineExpr ¶
type DefineExpr struct {
Name string
}
func (*DefineExpr) IsNop ¶
func (e *DefineExpr) IsNop()
func (*DefineExpr) String ¶
func (e *DefineExpr) String() string
type Diagnostic ¶
type DiagnosticSeverity ¶
type DiagnosticSeverity int
func (DiagnosticSeverity) String ¶
func (s DiagnosticSeverity) String() string
type DivModwExpr ¶
type DivModwExpr struct{}
func (*DivModwExpr) String ¶
func (e *DivModwExpr) String() string
type DuplicateLabelError ¶
type DuplicateLabelError struct {
// contains filtered or unexported fields
}
func (DuplicateLabelError) Error ¶
func (e DuplicateLabelError) Error() string
func (DuplicateLabelError) Line ¶
func (e DuplicateLabelError) Line() int
func (DuplicateLabelError) Rule ¶
func (e DuplicateLabelError) Rule() string
func (DuplicateLabelError) Severity ¶
func (e DuplicateLabelError) Severity() DiagnosticSeverity
func (DuplicateLabelError) Subline ¶
func (e DuplicateLabelError) Subline() int
type DuplicateLabelsRule ¶
type DuplicateLabelsRule struct { }
func (DuplicateLabelsRule) Desc ¶
func (r DuplicateLabelsRule) Desc() string
func (DuplicateLabelsRule) Id ¶
func (r DuplicateLabelsRule) Id() string
func (DuplicateLabelsRule) Run ¶
func (r DuplicateLabelsRule) Run(l *Linter)
type ED25519VerifyExpr ¶
type ED25519VerifyExpr struct{}
func (*ED25519VerifyExpr) Name ¶
func (e *ED25519VerifyExpr) Name() string
func (*ED25519VerifyExpr) String ¶
func (e *ED25519VerifyExpr) String() string
type EcMapToExpr ¶
type EcMapToExpr struct {
Group EcGroup
}
func (*EcMapToExpr) String ¶
func (e *EcMapToExpr) String() string
type EcMultiExpExpr ¶
type EcMultiExpExpr struct {
Group EcGroup
}
func (*EcMultiExpExpr) String ¶
func (e *EcMultiExpExpr) String() string
type EcMultiScalarMulExpr ¶
type EcMultiScalarMulExpr struct {
Group EcGroup
}
func (*EcMultiScalarMulExpr) String ¶
func (e *EcMultiScalarMulExpr) String() string
type EcPairingCheckExpr ¶
type EcPairingCheckExpr struct {
Group EcGroup
}
func (*EcPairingCheckExpr) String ¶
func (e *EcPairingCheckExpr) String() string
type EcScalarMul ¶
type EcScalarMul struct {
Group EcGroup
}
func (*EcScalarMul) String ¶
func (e *EcScalarMul) String() string
type EcSubgroupCheckExpr ¶
type EcSubgroupCheckExpr struct {
Group EcGroup
}
func (*EcSubgroupCheckExpr) String ¶
func (e *EcSubgroupCheckExpr) String() string
type EcdsaCurve ¶
type EcdsaCurve int
EcdsaCurve is an enum for `ecdsa_` opcodes
const ( // Secp256k1 curve for bitcoin/ethereum Secp256k1 EcdsaCurve = iota // Secp256r1 curve Secp256r1 )
func (EcdsaCurve) String ¶
func (i EcdsaCurve) String() string
type EcdsaPkDecompressExpr ¶
type EcdsaPkDecompressExpr struct {
Index EcdsaCurve
}
func (*EcdsaPkDecompressExpr) String ¶
func (e *EcdsaPkDecompressExpr) String() string
type EcdsaPkRecoverExpr ¶
type EcdsaPkRecoverExpr struct {
Index EcdsaCurve
}
func (*EcdsaPkRecoverExpr) String ¶
func (e *EcdsaPkRecoverExpr) String() string
type EcdsaVerifyExpr ¶
type EcdsaVerifyExpr struct {
Index EcdsaCurve
}
func (*EcdsaVerifyExpr) Name ¶
func (e *EcdsaVerifyExpr) Name() string
func (*EcdsaVerifyExpr) String ¶
func (e *EcdsaVerifyExpr) String() string
type Ed25519VerifyBareExpr ¶
type Ed25519VerifyBareExpr struct{}
func (*Ed25519VerifyBareExpr) String ¶
func (e *Ed25519VerifyBareExpr) String() string
type EmptyLoopError ¶
type EmptyLoopError struct {
// contains filtered or unexported fields
}
func (EmptyLoopError) Error ¶
func (e EmptyLoopError) Error() string
func (EmptyLoopError) Line ¶
func (e EmptyLoopError) Line() int
func (EmptyLoopError) Rule ¶
func (e EmptyLoopError) Rule() string
func (EmptyLoopError) Severity ¶
func (e EmptyLoopError) Severity() DiagnosticSeverity
type ErrExpr ¶
type ErrExpr struct{}
func (*ErrExpr) IsTerminator ¶
func (e *ErrExpr) IsTerminator()
type Extract3Expr ¶
type Extract3Expr struct{}
func (*Extract3Expr) String ¶
func (e *Extract3Expr) String() string
type Extract64BitsExpr ¶
type Extract64BitsExpr struct{}
func (*Extract64BitsExpr) String ¶
func (e *Extract64BitsExpr) String() string
type ExtractExpr ¶
func (*ExtractExpr) String ¶
func (e *ExtractExpr) String() string
type ExtractUint16Expr ¶
type ExtractUint16Expr struct{}
func (*ExtractUint16Expr) String ¶
func (e *ExtractUint16Expr) String() string
type ExtractUint32Expr ¶
type ExtractUint32Expr struct{}
func (*ExtractUint32Expr) String ¶
func (e *ExtractUint32Expr) String() string
type ExtractUint64Expr ¶
type ExtractUint64Expr struct{}
func (*ExtractUint64Expr) String ¶
func (e *ExtractUint64Expr) String() string
type FalconVerifyExpr ¶
type FalconVerifyExpr struct{}
func (*FalconVerifyExpr) String ¶
func (e *FalconVerifyExpr) String() string
type FieldGroup ¶
type FieldGroup struct { Name string Doc string Names []string // contains filtered or unexported fields }
FieldGroup binds all the info for a field (names, int value, spec access) so they can be attached to opcodes and used by doc generation
func (*FieldGroup) SpecByName ¶
func (fg *FieldGroup) SpecByName(name string) (FieldSpec, bool)
SpecByName returns a FieldsSpec for a name, respecting the "sparseness" of the Names array to hide some names
type FieldSpec ¶
type FieldSpec interface { Field() byte Type() StackType OpVersion() uint64 Note() string Version() uint64 }
FieldSpec unifies the various specs for assembly, disassembly, and doc generation.
type FrameBuryExpr ¶
type FrameBuryExpr struct {
Index int8
}
func (*FrameBuryExpr) String ¶
func (e *FrameBuryExpr) String() string
type FrameDigExpr ¶
type FrameDigExpr struct {
Index int8
}
func FrameDig ¶
func FrameDig(index int8) *FrameDigExpr
func (*FrameDigExpr) String ¶
func (e *FrameDigExpr) String() string
type FuncExpr ¶
type FuncExpr struct { Label *LabelExpr Proto *ProtoExpr Block *NestedExpr }
type GetBitExpr ¶
type GetBitExpr struct{}
func (*GetBitExpr) String ¶
func (e *GetBitExpr) String() string
type GetByteExpr ¶
type GetByteExpr struct{}
func (*GetByteExpr) String ¶
func (e *GetByteExpr) String() string
type GitxnaExpr ¶
func (*GitxnaExpr) String ¶
func (e *GitxnaExpr) String() string
type GitxnasExpr ¶
func (*GitxnasExpr) String ¶
func (e *GitxnasExpr) String() string
type GloadsExpr ¶
type GloadsExpr struct {
Index uint8
}
func (*GloadsExpr) String ¶
func (e *GloadsExpr) String() string
type GloadssExpr ¶
type GloadssExpr struct{}
func (*GloadssExpr) String ¶
func (e *GloadssExpr) String() string
type GlobalExpr ¶
type GlobalExpr struct {
Field GlobalField
}
func Global ¶
func Global(index GlobalField) *GlobalExpr
func (*GlobalExpr) String ¶
func (e *GlobalExpr) String() string
type GlobalField ¶
type GlobalField uint64
GlobalField is an enum for `global` opcode
const ( // MinTxnFee ConsensusParams.MinTxnFee MinTxnFee GlobalField = iota // MinBalance ConsensusParams.MinBalance MinBalance // MaxTxnLife ConsensusParams.MaxTxnLife MaxTxnLife // ZeroAddress [32]byte{0...} ZeroAddress // GroupSize len(txn group) GroupSize // LogicSigVersion ConsensusParams.LogicSigVersion LogicSigVersion // Round basics.Round Round // LatestTimestamp uint64 LatestTimestamp // CurrentApplicationID uint64 CurrentApplicationID // CreatorAddress [32]byte CreatorAddress // CurrentApplicationAddress [32]byte CurrentApplicationAddress // GroupID [32]byte GroupID // OpcodeBudget The remaining budget available for execution OpcodeBudget // CallerApplicationID The ID of the caller app, else 0 CallerApplicationID // CallerApplicationAddress The Address of the caller app, else ZeroAddress CallerApplicationAddress // AssetCreateMinBalance is the additional minimum balance required to // create an asset (which also opts an account into that asset) AssetCreateMinBalance // AssetOptInMinBalance is the additional minimum balance required to opt in to an asset AssetOptInMinBalance )
func (GlobalField) String ¶
func (i GlobalField) String() string
type GtxnasExpr ¶
func (*GtxnasExpr) String ¶
func (e *GtxnasExpr) String() string
type GtxnsaExpr ¶
func (*GtxnsaExpr) String ¶
func (e *GtxnsaExpr) String() string
type GtxnsasExpr ¶
type GtxnsasExpr struct {
Field TxnField
}
func (*GtxnsasExpr) String ¶
func (e *GtxnsasExpr) String() string
type InfiniteLoopError ¶
type InfiniteLoopError struct {
// contains filtered or unexported fields
}
func (InfiniteLoopError) Error ¶
func (e InfiniteLoopError) Error() string
func (InfiniteLoopError) Line ¶
func (e InfiniteLoopError) Line() int
func (InfiniteLoopError) Rule ¶
func (e InfiniteLoopError) Rule() string
func (InfiniteLoopError) Severity ¶
func (e InfiniteLoopError) Severity() DiagnosticSeverity
func (InfiniteLoopError) Subline ¶
func (e InfiniteLoopError) Subline() int
type InlayHints ¶
type InlayHints struct { Named []NamedInlayHint Decoded []DecodedInlayHint }
type IntcBlockExpr ¶
type IntcBlockExpr struct {
Values []uint64
}
func (*IntcBlockExpr) String ¶
func (e *IntcBlockExpr) String() string
type ItxnBeginExpr ¶
type ItxnBeginExpr struct{}
func (*ItxnBeginExpr) String ¶
func (e *ItxnBeginExpr) String() string
type ItxnFieldExpr ¶
type ItxnFieldExpr struct {
Field TxnField
}
func ItxnField ¶
func ItxnField(field TxnField) *ItxnFieldExpr
func (*ItxnFieldExpr) String ¶
func (e *ItxnFieldExpr) String() string
type ItxnNextExpr ¶
type ItxnNextExpr struct{}
func (*ItxnNextExpr) String ¶
func (e *ItxnNextExpr) String() string
type ItxnSubmitExpr ¶
type ItxnSubmitExpr struct{}
func (*ItxnSubmitExpr) String ¶
func (e *ItxnSubmitExpr) String() string
type ItxnasExpr ¶
type ItxnasExpr struct {
Field TxnField
}
func (*ItxnasExpr) String ¶
func (e *ItxnasExpr) String() string
type JSONRefType ¶
type JSONRefType int
JSONRefType is an enum for the `json_ref` opcode
const ( // JSONString represents string json value JSONString JSONRefType = iota // JSONUint64 represents uint64 json value JSONUint64 // JSONObject represents json object JSONObject )
func (JSONRefType) String ¶
func (i JSONRefType) String() string
type JsonRefExpr ¶
type JsonRefExpr struct {
Index uint8
}
func (*JsonRefExpr) String ¶
func (e *JsonRefExpr) String() string
type Keccak256Expr ¶
type Keccak256Expr struct{}
func (*Keccak256Expr) String ¶
func (e *Keccak256Expr) String() string
type LangOp ¶
type LangOp struct { Opcode byte Name string Args string `json:",omitempty"` Returns string `json:",omitempty"` Size int ArgEnum []string `json:",omitempty"` ArgEnumTypes string `json:",omitempty"` Doc string DocExtra string `json:",omitempty"` ImmediateNote string `json:",omitempty"` Version int Groups []string }
type LineError ¶
type LineError interface { error Line() int Subline() int Severity() DiagnosticSeverity Rule() string }
type MethodExpr ¶
type MethodExpr struct {
Signature string
}
func (*MethodExpr) String ¶
func (e *MethodExpr) String() string
type MinBalanceExpr ¶
type MinBalanceExpr struct{}
func (*MinBalanceExpr) String ¶
func (e *MinBalanceExpr) String() string
type MissingLabelError ¶
type MissingLabelError struct {
// contains filtered or unexported fields
}
func (MissingLabelError) Error ¶
func (e MissingLabelError) Error() string
func (MissingLabelError) Line ¶
func (e MissingLabelError) Line() int
func (MissingLabelError) Rule ¶
func (e MissingLabelError) Rule() string
func (MissingLabelError) Severity ¶
func (e MissingLabelError) Severity() DiagnosticSeverity
func (MissingLabelError) Subline ¶
func (e MissingLabelError) Subline() int
type NamedInlayHint ¶
type NestedExpr ¶
func Block ¶
func Block(exprs ...Expr) *NestedExpr
func MatchLabels ¶
func MatchLabels(index Expr, labels ...*LabelExpr) *NestedExpr
type NewOpArgType ¶
type NewOpArgType int
func (NewOpArgType) String ¶
func (t NewOpArgType) String() string
type OnCompletionConstType ¶
type OnCompletionConstType transactions.OnCompletion
OnCompletionConstType is the same as transactions.OnCompletion
func (OnCompletionConstType) String ¶
func (i OnCompletionConstType) String() string
type OpCodeAvailabilityInModeRule ¶
type OpCodeAvailabilityInModeRule struct { }
func (OpCodeAvailabilityInModeRule) Desc ¶
func (r OpCodeAvailabilityInModeRule) Desc() string
func (OpCodeAvailabilityInModeRule) Id ¶
func (r OpCodeAvailabilityInModeRule) Id() string
type OpCodeVersionCompatibilityCheckRule ¶
type OpCodeVersionCompatibilityCheckRule struct { }
func (OpCodeVersionCompatibilityCheckRule) Desc ¶
func (r OpCodeVersionCompatibilityCheckRule) Desc() string
func (OpCodeVersionCompatibilityCheckRule) Id ¶
func (r OpCodeVersionCompatibilityCheckRule) Id() string
type OpsAfterUnconditionalBranchRule ¶
type OpsAfterUnconditionalBranchRule struct { }
func (OpsAfterUnconditionalBranchRule) Desc ¶
func (r OpsAfterUnconditionalBranchRule) Desc() string
func (OpsAfterUnconditionalBranchRule) Id ¶
func (r OpsAfterUnconditionalBranchRule) Id() string
func (OpsAfterUnconditionalBranchRule) Run ¶
func (r OpsAfterUnconditionalBranchRule) Run(l *Linter)
type PragmaExpr ¶
type PragmaExpr struct {
Version uint64
}
func (*PragmaExpr) IsNop ¶
func (e *PragmaExpr) IsNop()
func (*PragmaExpr) String ¶
func (e *PragmaExpr) String() string
type PragmaVersionAfterInstrError ¶
type PragmaVersionAfterInstrError struct {
// contains filtered or unexported fields
}
func (PragmaVersionAfterInstrError) Error ¶
func (e PragmaVersionAfterInstrError) Error() string
func (PragmaVersionAfterInstrError) Line ¶
func (e PragmaVersionAfterInstrError) Line() int
func (PragmaVersionAfterInstrError) Rule ¶
func (e PragmaVersionAfterInstrError) Rule() string
func (PragmaVersionAfterInstrError) Severity ¶
func (e PragmaVersionAfterInstrError) Severity() DiagnosticSeverity
func (PragmaVersionAfterInstrError) Subline ¶
func (e PragmaVersionAfterInstrError) Subline() int
type ProcessContext ¶
type ProcessContext interface {
// contains filtered or unexported methods
}
type ProcessResult ¶
type ProcessResult struct { Mode RunMode Version uint64 VersionToken *Token Versions []RequiredVersion Diagnostics []Diagnostic MissRefs []Token Symbols []Symbol SymbolRefs []Token Tokens []Token Listing []Op Sublisting [][]Op Lines []Line Ops []Token Numbers []Token Strings []Token Keywords []Token Macros []Token Redundants []RedundantLine RefCounts map[string]int Defines map[string]bool }
func Process ¶
func Process(source string) *ProcessResult
func (ProcessResult) ArgFieldName ¶
func (r ProcessResult) ArgFieldName(t NewOpArgType, v int) string
func (ProcessResult) ArgVals ¶
func (r ProcessResult) ArgVals(arg opItemArg) []opItemArgVal
func (ProcessResult) ArgValsAt ¶
func (r ProcessResult) ArgValsAt(l int, ch int) []opItemArgVal
func (ProcessResult) InlayHints ¶
func (r ProcessResult) InlayHints(rg Range) InlayHints
func (ProcessResult) SymByName ¶
func (r ProcessResult) SymByName(name string) []Symbol
func (ProcessResult) SymOrRefAt ¶
func (r ProcessResult) SymOrRefAt(rg Range) string
func (ProcessResult) SymRefByName ¶
func (r ProcessResult) SymRefByName(name string) []Token
func (ProcessResult) SymbolRefsWithin ¶
func (r ProcessResult) SymbolRefsWithin(rg Range) []Token
func (ProcessResult) SymbolsForRefWithin ¶
func (r ProcessResult) SymbolsForRefWithin(rg Range) []Symbol
func (ProcessResult) SymbolsWithin ¶
func (r ProcessResult) SymbolsWithin(rg Range) []Symbol
type PushBytesExpr ¶
type PushBytesExpr struct { Value []byte Format BytesFormat }
func (*PushBytesExpr) String ¶
func (e *PushBytesExpr) String() string
type PushBytessExpr ¶
type PushBytessExpr struct {
Bytess [][]byte
}
func (*PushBytessExpr) String ¶
func (e *PushBytessExpr) String() string
type PushIntExpr ¶
type PushIntExpr struct {
Value uint64
}
func (*PushIntExpr) String ¶
func (e *PushIntExpr) String() string
type PushIntsExpr ¶
type PushIntsExpr struct {
Ints []uint64
}
func (*PushIntsExpr) String ¶
func (e *PushIntsExpr) String() string
type RedundantBLine ¶
type RedundantBLine struct {
// contains filtered or unexported fields
}
func (RedundantBLine) Line ¶
func (l RedundantBLine) Line() int
func (RedundantBLine) String ¶
func (l RedundantBLine) String() string
func (RedundantBLine) Subline ¶
func (l RedundantBLine) Subline() int
type RedundantLabelLine ¶
type RedundantLabelLine struct {
// contains filtered or unexported fields
}
func (RedundantLabelLine) Line ¶
func (l RedundantLabelLine) Line() int
func (RedundantLabelLine) String ¶
func (l RedundantLabelLine) String() string
func (RedundantLabelLine) Subline ¶
func (l RedundantLabelLine) Subline() int
type RedundantLine ¶
type Replace2Expr ¶
type Replace2Expr struct {
Start uint8
}
func (*Replace2Expr) String ¶
func (e *Replace2Expr) String() string
type Replace3Expr ¶
type Replace3Expr struct{}
func (*Replace3Expr) String ¶
func (e *Replace3Expr) String() string
type RequiredVersion ¶
func (RequiredVersion) EndCharacter ¶
func (v RequiredVersion) EndCharacter() int
func (RequiredVersion) EndLine ¶
func (v RequiredVersion) EndLine() int
func (RequiredVersion) StartCharacter ¶
func (v RequiredVersion) StartCharacter() int
func (RequiredVersion) StartLine ¶
func (v RequiredVersion) StartLine() int
type RetSubExpr ¶
type RetSubExpr struct{}
func (*RetSubExpr) IsTerminator ¶
func (e *RetSubExpr) IsTerminator()
func (*RetSubExpr) String ¶
func (e *RetSubExpr) String() string
type ReturnExpr ¶
type ReturnExpr struct { }
func (*ReturnExpr) IsTerminator ¶
func (e *ReturnExpr) IsTerminator()
func (*ReturnExpr) String ¶
func (e *ReturnExpr) String() string
type SelectExpr ¶
type SelectExpr struct{}
func (*SelectExpr) String ¶
func (e *SelectExpr) String() string
type SemanticToken ¶
type SemanticTokens ¶
type SemanticTokens []SemanticToken
func (SemanticTokens) Encode ¶
func (t SemanticTokens) Encode() []uint32
func (SemanticTokens) Len ¶
func (t SemanticTokens) Len() int
func (SemanticTokens) Less ¶
func (t SemanticTokens) Less(i, j int) bool
func (SemanticTokens) Swap ¶
func (t SemanticTokens) Swap(i, j int)
type SetBitExpr ¶
type SetBitExpr struct{}
func (*SetBitExpr) String ¶
func (e *SetBitExpr) String() string
type SetByteExpr ¶
type SetByteExpr struct{}
func (*SetByteExpr) String ¶
func (e *SetByteExpr) String() string
type Sha256Expr ¶
type Sha256Expr struct{}
func (*Sha256Expr) Name ¶
func (e *Sha256Expr) Name() string
func (*Sha256Expr) String ¶
func (e *Sha256Expr) String() string
type Sha3256Expr ¶
type Sha3256Expr struct{}
func (*Sha3256Expr) String ¶
func (e *Sha3256Expr) String() string
type Sha512256Expr ¶
type Sha512256Expr struct{}
func (*Sha512256Expr) String ¶
func (e *Sha512256Expr) String() string
type SignatureInlayHint ¶
type StackType ¶
type StackType byte
const ( // StackNone in an OpSpec shows that the op pops or yields nothing StackNone StackType = iota // StackAny in an OpSpec shows that the op pops or yield any type StackAny // StackUint64 in an OpSpec shows that the op pops or yields a uint64 StackUint64 // StackBytes in an OpSpec shows that the op pops or yields a []byte StackBytes StackAddress StackBytes32 StackBoolean )
type StackTypes ¶
type StackTypes []StackType
StackTypes is an alias for a list of StackType with syntactic sugar
type StoresExpr ¶
type StoresExpr struct { }
func (*StoresExpr) String ¶
func (e *StoresExpr) String() string
type Substring3Expr ¶
type Substring3Expr struct{}
func (*Substring3Expr) String ¶
func (e *Substring3Expr) String() string
type SubstringExpr ¶
func (*SubstringExpr) String ¶
func (e *SubstringExpr) String() string
type Sumhash512Expr ¶
type Sumhash512Expr struct{}
func (*Sumhash512Expr) String ¶
func (e *Sumhash512Expr) String() string
type SwitchExpr ¶
type SwitchExpr struct {
Targets []*LabelExpr
}
func Switch ¶
func Switch(labels ...*LabelExpr) *SwitchExpr
func (*SwitchExpr) Labels ¶
func (e *SwitchExpr) Labels() []*LabelExpr
func (*SwitchExpr) String ¶
func (e *SwitchExpr) String() string
type Terminator ¶
type Terminator interface {
IsTerminator()
}
type Token ¶
type Token struct {
// contains filtered or unexported fields
}
func (Token) EndCharacter ¶
func (Token) IsSeparator ¶
func (Token) StartCharacter ¶
type TxnField ¶
type TxnField int
TxnField is an enum type for `txn` and `gtxn`
const ( // Sender Transaction.Sender Sender TxnField = iota // Fee Transaction.Fee Fee // FirstValid Transaction.FirstValid FirstValid // FirstValidTime timestamp of block(FirstValid-1) FirstValidTime // LastValid Transaction.LastValid LastValid // Note Transaction.Note Note // Lease Transaction.Lease Lease // Receiver Transaction.Receiver Receiver // Amount Transaction.Amount Amount // CloseRemainderTo Transaction.CloseRemainderTo CloseRemainderTo // VotePK Transaction.VotePK VotePK // SelectionPK Transaction.SelectionPK SelectionPK // VoteFirst Transaction.VoteFirst VoteFirst // VoteLast Transaction.VoteLast VoteLast // VoteKeyDilution Transaction.VoteKeyDilution VoteKeyDilution // Type Transaction.Type Type // TypeEnum int(Transaction.Type) TypeEnum // XferAsset Transaction.XferAsset XferAsset // AssetAmount Transaction.AssetAmount AssetAmount // AssetSender Transaction.AssetSender AssetSender // AssetReceiver Transaction.AssetReceiver AssetReceiver // AssetCloseTo Transaction.AssetCloseTo AssetCloseTo // GroupIndex i for txngroup[i] == Txn GroupIndex // TxID Transaction.ID() TxID // ApplicationID basics.AppIndex ApplicationID // OnCompletion OnCompletion OnCompletion // ApplicationArgs [][]byte ApplicationArgs // NumAppArgs len(ApplicationArgs) NumAppArgs // Accounts []basics.Address Accounts // NumAccounts len(Accounts) NumAccounts // ApprovalProgram []byte ApprovalProgram // ClearStateProgram []byte ClearStateProgram // RekeyTo basics.Address RekeyTo // ConfigAsset basics.AssetIndex ConfigAsset // ConfigAssetTotal AssetParams.Total ConfigAssetTotal // ConfigAssetDecimals AssetParams.Decimals ConfigAssetDecimals // ConfigAssetDefaultFrozen AssetParams.AssetDefaultFrozen ConfigAssetDefaultFrozen // ConfigAssetUnitName AssetParams.UnitName ConfigAssetUnitName // ConfigAssetName AssetParams.AssetName ConfigAssetName // ConfigAssetURL AssetParams.URL ConfigAssetURL // ConfigAssetMetadataHash AssetParams.MetadataHash ConfigAssetMetadataHash // ConfigAssetManager AssetParams.Manager ConfigAssetManager // ConfigAssetReserve AssetParams.Reserve ConfigAssetReserve // ConfigAssetFreeze AssetParams.Freeze ConfigAssetFreeze // ConfigAssetClawback AssetParams.Clawback ConfigAssetClawback //FreezeAsset basics.AssetIndex FreezeAsset // FreezeAssetAccount basics.Address FreezeAssetAccount // FreezeAssetFrozen bool FreezeAssetFrozen // Assets []basics.AssetIndex Assets // NumAssets len(ForeignAssets) NumAssets // Applications []basics.AppIndex Applications // NumApplications len(ForeignApps) NumApplications // GlobalNumUint uint64 GlobalNumUint // GlobalNumByteSlice uint64 GlobalNumByteSlice // LocalNumUint uint64 LocalNumUint // LocalNumByteSlice uint64 LocalNumByteSlice // ExtraProgramPages AppParams.ExtraProgramPages ExtraProgramPages // Nonparticipation Transaction.Nonparticipation Nonparticipation // Logs Transaction.ApplyData.EvalDelta.Logs Logs // NumLogs len(Logs) NumLogs // CreatedAssetID Transaction.ApplyData.EvalDelta.ConfigAsset CreatedAssetID // CreatedApplicationID Transaction.ApplyData.EvalDelta.ApplicationID CreatedApplicationID // LastLog Logs[len(Logs)-1] LastLog // StateProofPK Transaction.StateProofPK StateProofPK // ApprovalProgramPages [][]byte ApprovalProgramPages // NumApprovalProgramPages = len(ApprovalProgramPages) // 4096 NumApprovalProgramPages // ClearStateProgramPages [][]byte ClearStateProgramPages // NumClearStateProgramPages = len(ClearStateProgramPages) // 4096 NumClearStateProgramPages )
type UncoverExpr ¶
type UncoverExpr struct {
Depth uint8
}
func Cover ¶
func Cover(index uint8) *UncoverExpr
func Uncover ¶
func Uncover(index uint8) *UncoverExpr
func (*UncoverExpr) String ¶
func (e *UncoverExpr) String() string
type UnreachableCodeError ¶
type UnreachableCodeError struct {
// contains filtered or unexported fields
}
func (UnreachableCodeError) Error ¶
func (e UnreachableCodeError) Error() string
func (UnreachableCodeError) Line ¶
func (e UnreachableCodeError) Line() int
func (UnreachableCodeError) Rule ¶
func (e UnreachableCodeError) Rule() string
func (UnreachableCodeError) Severity ¶
func (e UnreachableCodeError) Severity() DiagnosticSeverity
func (UnreachableCodeError) Subline ¶
func (e UnreachableCodeError) Subline() int
type UnusedLabelError ¶
type UnusedLabelError struct {
// contains filtered or unexported fields
}
func (UnusedLabelError) Error ¶
func (e UnusedLabelError) Error() string
func (*UnusedLabelError) Line ¶
func (e *UnusedLabelError) Line() int
func (UnusedLabelError) Rule ¶
func (e UnusedLabelError) Rule() string
func (UnusedLabelError) Severity ¶
func (e UnusedLabelError) Severity() DiagnosticSeverity
func (*UnusedLabelError) Subline ¶
func (e *UnusedLabelError) Subline() int
type UnusedLabelsRule ¶
type UnusedLabelsRule struct { }
func (UnusedLabelsRule) Desc ¶
func (r UnusedLabelsRule) Desc() string
func (UnusedLabelsRule) Id ¶
func (r UnusedLabelsRule) Id() string
func (UnusedLabelsRule) Run ¶
func (r UnusedLabelsRule) Run(l *Linter)
type VrfStandard ¶
type VrfStandard int
VrfStandard is an enum for the `vrf_verify` opcode
const ( // VrfAlgorand is the built-in VRF of the Algorand chain VrfAlgorand VrfStandard = iota )
func (VrfStandard) String ¶
func (i VrfStandard) String() string
type VrfVerifyExpr ¶
type VrfVerifyExpr struct {
Field VrfStandard
}
func (*VrfVerifyExpr) String ¶
func (e *VrfVerifyExpr) String() string