Enums
woke.ast.enums
module
#
AssignmentOperator
class
#
Assignment operator used in an Assignment expression.
Source code in woke/ast/enums.py
AND_EQUALS = '&='
class-attribute
#
DIVIDE_EQUALS = '/='
class-attribute
#
EQUALS = '='
class-attribute
#
LEFT_SHIFT_EQUALS = '<<='
class-attribute
#
MINUS_EQUALS = '-='
class-attribute
#
MODULO_EQUALS = '%='
class-attribute
#
OR_EQUALS = '|='
class-attribute
#
PLUS_EQUALS = '+='
class-attribute
#
RIGHT_SHIFT_EQUALS = '>>='
class-attribute
#
TIMES_EQUALS = '*='
class-attribute
#
XOR_EQUALS = '^='
class-attribute
#
BinaryOpOperator
class
#
Binary operation operator used in a BinaryOperation expression.
Source code in woke/ast/enums.py
BITWISE_AND = '&'
class-attribute
#
BITWISE_OR = '|'
class-attribute
#
BOOLEAN_AND = '&&'
class-attribute
#
BOOLEAN_OR = '||'
class-attribute
#
DIVIDE = '/'
class-attribute
#
EQ = '=='
class-attribute
#
EXP = '**'
class-attribute
#
GT = '>'
class-attribute
#
GTE = '>='
class-attribute
#
LEFT_SHIFT = '<<'
class-attribute
#
LT = '<'
class-attribute
#
LTE = '<='
class-attribute
#
MINUS = '-'
class-attribute
#
MODULO = '%'
class-attribute
#
NEQ = '!='
class-attribute
#
PLUS = '+'
class-attribute
#
RIGHT_SHIFT = '>>'
class-attribute
#
TIMES = '*'
class-attribute
#
XOR = '^'
class-attribute
#
ContractKind
class
#
Kind of a ContractDefinition declaration node.
Source code in woke/ast/enums.py
DataLocation
class
#
Data location of a VariableDeclaration node. It also specifies the data location of the following types:
Source code in woke/ast/enums.py
CALLDATA = 'calldata'
class-attribute
#
DEFAULT = 'default'
class-attribute
#
Set only in VariableDeclaration nodes when the data location is not specified (and the compiler even does not allow it).
MEMORY = 'memory'
class-attribute
#
STORAGE = 'storage'
class-attribute
#
FunctionCallKind
class
#
Kind of a FunctionCall expression node.
Source code in woke/ast/enums.py
FUNCTION_CALL = 'functionCall'
class-attribute
#
Represents also an error call, event call and NewExpression call.
STRUCT_CONSTRUCTOR_CALL = 'structConstructorCall'
class-attribute
#
TYPE_CONVERSION = 'typeConversion'
class-attribute
#
FunctionKind
class
#
Kind of a FunctionDefinition declaration node.
Source code in woke/ast/enums.py
FunctionTypeKind
class
#
Kind of a Function type.
Source code in woke/ast/enums.py
ABI_DECODE = 'abidecode'
class-attribute
#
ABI_ENCODE = 'abiencode'
class-attribute
#
ABI_ENCODE_CALL = 'abiencodecall'
class-attribute
#
ABI_ENCODE_PACKED = 'abiencodepacked'
class-attribute
#
ABI_ENCODE_WITH_SELECTOR = 'abiencodewithselector'
class-attribute
#
ABI_ENCODE_WITH_SIGNATURE = 'abiencodewithsignature'
class-attribute
#
ADD_MOD = 'addmod'
class-attribute
#
ARRAY_POP = 'arraypop'
class-attribute
#
ARRAY_PUSH = 'arraypush'
class-attribute
#
ASSERT = 'assert'
class-attribute
#
BARE_CALL = 'barecall'
class-attribute
#
BARE_CALL_CODE = 'barecallcode'
class-attribute
#
BARE_DELEGATE_CALL = 'baredelegatecall'
class-attribute
#
BARE_STATIC_CALL = 'barestaticcall'
class-attribute
#
BLOCK_HASH = 'blockhash'
class-attribute
#
BYTES_CONCAT = 'bytesconcat'
class-attribute
#
BYTE_ARRAY_PUSH = 'bytearraypush'
class-attribute
#
CREATION = 'creation'
class-attribute
#
DECLARATION = 'declaration'
class-attribute
#
DELEGATE_CALL = 'delegatecall'
class-attribute
#
EC_RECOVER = 'ecrecover'
class-attribute
#
ERROR = 'error'
class-attribute
#
EVENT = 'event'
class-attribute
#
EXTERNAL = 'external'
class-attribute
#
GAS_LEFT = 'gasleft'
class-attribute
#
INTERNAL = 'internal'
class-attribute
#
KECCAK256 = 'keccak256'
class-attribute
#
LOG0 = 'log0'
class-attribute
#
LOG1 = 'log1'
class-attribute
#
LOG2 = 'log2'
class-attribute
#
LOG3 = 'log3'
class-attribute
#
LOG4 = 'log4'
class-attribute
#
META_TYPE = 'metatype'
class-attribute
#
MUL_MOD = 'mulmod'
class-attribute
#
OBJECT_CREATION = 'objectcreation'
class-attribute
#
REQUIRE = 'require'
class-attribute
#
REVERT = 'revert'
class-attribute
#
RIPEMD160 = 'ripemd160'
class-attribute
#
SELFDESTRUCT = 'selfdestruct'
class-attribute
#
SEND = 'send'
class-attribute
#
SET_GAS = 'setgas'
class-attribute
#
SET_VALUE = 'setvalue'
class-attribute
#
SHA256 = 'sha256'
class-attribute
#
STRING_CONCAT = 'stringconcat'
class-attribute
#
TRANSFER = 'transfer'
class-attribute
#
UNWRAP = 'unwrap'
class-attribute
#
WRAP = 'wrap'
class-attribute
#
GlobalSymbolsEnum
class
#
Global symbols of the Solidity language. Symbols with identifiers from -1 to -99 are codified by the compiler and can only be referenced by Identifier nodes.
Other symbols are not officially codified by the compiler, but Woke also defines identifiers for them. These symbols can only be referenced by MemberAccess nodes.
See the Solidity docs for (an incomplete) list of global symbols and their descriptions.
Source code in woke/ast/enums.py
ABI = -1
class-attribute
#
ABI_DECODE = -400
class-attribute
#
ABI_ENCODE = -401
class-attribute
#
ABI_ENCODE_CALL = -405
class-attribute
#
ABI_ENCODE_PACKED = -402
class-attribute
#
ABI_ENCODE_WITH_SELECTOR = -403
class-attribute
#
ABI_ENCODE_WITH_SIGNATURE = -404
class-attribute
#
ADDMOD = -2
class-attribute
#
ADDRESS_BALANCE = -700
class-attribute
#
ADDRESS_CALL = -705
class-attribute
#
ADDRESS_CODE = -701
class-attribute
#
ADDRESS_CODEHASH = -702
class-attribute
#
ADDRESS_DELEGATECALL = -706
class-attribute
#
ADDRESS_SEND = -704
class-attribute
#
ADDRESS_STATICCALL = -707
class-attribute
#
ADDRESS_TRANSFER = -703
class-attribute
#
ARRAY_LENGTH = -900
class-attribute
#
ARRAY_POP = -902
class-attribute
#
ARRAY_PUSH = -901
class-attribute
#
ASSERT = -3
class-attribute
#
BLOCK = -4
class-attribute
#
BLOCKHASH = -5
class-attribute
#
BLOCK_BASEFEE = -100
class-attribute
#
BLOCK_CHAINID = -101
class-attribute
#
BLOCK_COINBASE = -102
class-attribute
#
BLOCK_DIFFICULTY = -103
class-attribute
#
BLOCK_GASLIMIT = -104
class-attribute
#
BLOCK_NUMBER = -105
class-attribute
#
BLOCK_PREVRANDAO = -107
class-attribute
#
BLOCK_TIMESTAMP = -106
class-attribute
#
BYTES_CONCAT = -500
class-attribute
#
BYTES_LENGTH = -501
class-attribute
#
BYTES_PUSH = -502
class-attribute
#
ECRECOVER = -6
class-attribute
#
FUNCTION_ADDRESS = -1003
class-attribute
#
FUNCTION_GAS = -1002
class-attribute
#
FUNCTION_SELECTOR = -1000
class-attribute
#
FUNCTION_VALUE = -1001
class-attribute
#
GASLEFT = -7
class-attribute
#
KECCAK256 = -8
class-attribute
#
MSG = -15
class-attribute
#
MSG_DATA = -200
class-attribute
#
MSG_SENDER = -201
class-attribute
#
MSG_SIG = -202
class-attribute
#
MSG_VALUE = -203
class-attribute
#
MULMOD = -16
class-attribute
#
NOW = -17
class-attribute
#
REQUIRE = -18
class-attribute
#
REVERT = -19
class-attribute
#
RIPEMD160 = -20
class-attribute
#
SELFDESTRUCT = -21
class-attribute
#
SHA256 = -22
class-attribute
#
SHA3 = -23
class-attribute
#
STRING_CONCAT = -600
class-attribute
#
SUICIDE = -24
class-attribute
#
SUPER = -25
class-attribute
#
THIS = -28
class-attribute
#
TX = -26
class-attribute
#
TX_GASPRICE = -300
class-attribute
#
TX_ORIGIN = -301
class-attribute
#
TYPE = -27
class-attribute
#
TYPE_CREATION_CODE = -801
class-attribute
#
TYPE_INTERFACE_ID = -803
class-attribute
#
TYPE_MAX = -805
class-attribute
#
TYPE_MIN = -804
class-attribute
#
TYPE_NAME = -800
class-attribute
#
TYPE_RUNTIME_CODE = -802
class-attribute
#
USER_DEFINED_VALUE_TYPE_UNWRAP = -1101
class-attribute
#
USER_DEFINED_VALUE_TYPE_WRAP = -1100
class-attribute
#
InlineAssemblyEvmVersion
class
#
Source code in woke/ast/enums.py
BERLIN = 'berlin'
class-attribute
#
BYZANTIUM = 'byzantium'
class-attribute
#
CONSTANTINOPLE = 'constantinople'
class-attribute
#
HOMESTEAD = 'homestead'
class-attribute
#
ISTANBUL = 'istanbul'
class-attribute
#
LONDON = 'london'
class-attribute
#
PARIS = 'paris'
class-attribute
#
PETERSBURG = 'petersburg'
class-attribute
#
SPURIOUS_DRAGON = 'spuriousDragon'
class-attribute
#
TANGERINE_WHISTLE = 'tangerineWhistle'
class-attribute
#
InlineAssemblyFlag
class
#
InlineAssemblySuffix
class
#
Source code in woke/ast/enums.py
ModifierInvocationKind
class
#
Kind of a ModifierInvocation meta node.
Source code in woke/ast/enums.py
ModifiesStateFlag
class
#
Flag enum describing how an expression (ExpressionAbc) or statement (StatementAbc) modifies the blockchain state.
Source code in woke/ast/enums.py
CALLS_UNIMPLEMENTED_NONPAYABLE_FUNCTION = 128
class-attribute
#
CALLS_UNIMPLEMENTED_PAYABLE_FUNCTION = 256
class-attribute
#
DEPLOYS_CONTRACT = 8
class-attribute
#
EMITS = 2
class-attribute
#
MODIFIES_STATE_VAR = 1
class-attribute
#
PERFORMS_CALL = 32
class-attribute
#
PERFORMS_DELEGATECALL = 64
class-attribute
#
SELFDESTRUCTS = 16
class-attribute
#
SENDS_ETHER = 4
class-attribute
#
Mutability
class
#
Mutability of a VariableDeclaration declaration node.
Source code in woke/ast/enums.py
StateMutability
class
#
State mutability of:
- Function type,
- FunctionDefinition declaration,
- ElementaryTypeName and FunctionTypeName type names.
In the case of ElementaryTypeName, the state mutability is specified only for the address type and can be either NONPAYABLE or PAYABLE.
Source code in woke/ast/enums.py
UnaryOpOperator
class
#
Unary operation operator used in an UnaryOperation expression.
Source code in woke/ast/enums.py
Visibility
class
#
Visibility of:
- FunctionTypeName type name,
- FunctionDefinition, ModifierDefinition, StructDefinition and VariableDeclaration declarations.