Documentation
¶
Index ¶
- Constants
- Variables
- func ExportMeteredType(gauge common.MemoryGauge, t sema.Type, results map[sema.TypeID]cadence.Type) cadence.Type
- func ExportType(t sema.Type, results map[sema.TypeID]cadence.Type) cadence.Type
- func ExportValue(value interpreter.Value, inter *interpreter.Interpreter, ...) (cadence.Value, error)
- func ImportType(memoryGauge common.MemoryGauge, t cadence.Type) interpreter.StaticType
- func ImportValue(inter *interpreter.Interpreter, locationRange interpreter.LocationRange, ...) (interpreter.Value, error)
- func LiteralValue(inter *interpreter.Interpreter, expression ast.Expression, ty sema.Type) (cadence.Value, error)
- func NewBaseInterpreterEnvironment(config Config) *interpreterEnvironment
- func ParseLiteral(literal string, ty sema.Type, inter *interpreter.Interpreter) (cadence.Value, error)
- func ParseLiteralArgumentList(argumentList string, parameterTypes []sema.Type, ...) ([]cadence.Value, error)
- func SortContractUpdates(updates []ContractUpdate)
- type AccountKey
- type Address
- type ArgumentDecoder
- type ArgumentNotImportableError
- type Block
- type CallStackLimitExceededError
- type Config
- type Context
- type ContractUpdate
- type CoverageReport
- type Environment
- type Error
- type Executor
- type HashAlgorithm
- type Identifier
- type ImportResolver
- type Interface
- type InterpretFunc
- type InvalidEntryPointArgumentError
- type InvalidEntryPointParameterCountError
- type InvalidScriptReturnTypeError
- type InvalidTransactionAuthorizerCountError
- type InvalidTransactionCountError
- type InvalidValueTypeError
- type Location
- type LocationCoverage
- type MalformedValueError
- type Metrics
- type ParsingCheckingError
- type PublicKey
- type REPL
- type REPLSuggestion
- type ResolvedLocation
- type Runtime
- type Script
- type ScriptParameterTypeNotImportableError
- type ScriptParameterTypeNotStorableError
- type SignatureAlgorithm
- type Storage
- type ValueNotExportableError
Constants ¶
const ( // Supported signing algorithms SignatureAlgorithmUnknown = sema.SignatureAlgorithmUnknown SignatureAlgorithmECDSA_P256 = sema.SignatureAlgorithmECDSA_P256 SignatureAlgorithmECDSA_secp256k1 = sema.SignatureAlgorithmECDSA_secp256k1 SignatureAlgorithmBLS_BLS12_381 = sema.SignatureAlgorithmBLS_BLS12_381 )
const ( // Supported hashing algorithms HashAlgorithmUnknown = sema.HashAlgorithmUnknown HashAlgorithmSHA2_256 = sema.HashAlgorithmSHA2_256 HashAlgorithmSHA2_384 = sema.HashAlgorithmSHA2_384 HashAlgorithmSHA3_256 = sema.HashAlgorithmSHA3_256 HashAlgorithmSHA3_384 = sema.HashAlgorithmSHA3_384 HashAlgorithmKMAC128_BLS_BLS12_381 = sema.HashAlgorithmKMAC128_BLS_BLS12_381 HashAlgorithmKECCAK_256 = sema.HashAlgorithmKECCAK_256 )
const StorageDomainContract = "contract"
Variables ¶
var InvalidLiteralError = parser.NewUnpositionedSyntaxError("invalid literal")
var LiteralExpressionTypeError = parser.NewUnpositionedSyntaxError("input is not a literal")
var UnsupportedLiteralError = parser.NewUnpositionedSyntaxError("unsupported literal")
Functions ¶
func ExportMeteredType ¶ added in v0.24.0
func ExportMeteredType( gauge common.MemoryGauge, t sema.Type, results map[sema.TypeID]cadence.Type, ) cadence.Type
ExportMeteredType converts a runtime type to its corresponding Go representation.
func ExportType ¶ added in v0.11.0
ExportType converts a runtime type to its corresponding Go representation.
func ExportValue ¶ added in v0.12.0
func ExportValue( value interpreter.Value, inter *interpreter.Interpreter, locationRange interpreter.LocationRange, ) (cadence.Value, error)
ExportValue converts a runtime value to its native Go representation.
func ImportType ¶ added in v0.24.0
func ImportType(memoryGauge common.MemoryGauge, t cadence.Type) interpreter.StaticType
func ImportValue ¶ added in v0.27.0
func ImportValue( inter *interpreter.Interpreter, locationRange interpreter.LocationRange, standardLibraryHandler stdlib.StandardLibraryHandler, value cadence.Value, expectedType sema.Type, ) (interpreter.Value, error)
ImportValue converts a Cadence value to a runtime value.
func LiteralValue ¶ added in v0.12.0
func LiteralValue(inter *interpreter.Interpreter, expression ast.Expression, ty sema.Type) (cadence.Value, error)
func NewBaseInterpreterEnvironment ¶ added in v0.26.0
func NewBaseInterpreterEnvironment(config Config) *interpreterEnvironment
func ParseLiteral ¶ added in v0.12.0
func ParseLiteral( literal string, ty sema.Type, inter *interpreter.Interpreter, ) ( cadence.Value, error, )
ParseLiteral parses a single literal string, that should have the given type.
Returns an error if the literal string is not a literal (e.g. it does not have valid syntax, or does not parse to a literal).
func ParseLiteralArgumentList ¶ added in v0.12.4
func ParseLiteralArgumentList( argumentList string, parameterTypes []sema.Type, inter *interpreter.Interpreter, ) ( []cadence.Value, error, )
ParseLiteralArgumentList parses an argument list with literals, that should have the given types. Returns an error if the code is not a valid argument list, or the arguments are not literals.
Note: This method is not used directly within Cadence, but used by downstream dependencies such as CLI, playground, etc. Hence, shouldn't be moved to test.
func SortContractUpdates ¶ added in v0.23.0
func SortContractUpdates(updates []ContractUpdate)
Types ¶
type AccountKey ¶ added in v0.14.0
type AccountKey = stdlib.AccountKey
type ArgumentDecoder ¶ added in v0.30.0
type ArgumentNotImportableError ¶ added in v0.18.0
type ArgumentNotImportableError struct {
Type interpreter.StaticType
}
ArgumentNotImportableError is an error that is reported for script arguments that belongs to non-importable types.
func (*ArgumentNotImportableError) Error ¶ added in v0.18.0
func (e *ArgumentNotImportableError) Error() string
func (*ArgumentNotImportableError) IsUserError ¶ added in v0.25.0
func (*ArgumentNotImportableError) IsUserError()
type CallStackLimitExceededError ¶ added in v0.20.0
type CallStackLimitExceededError struct {
Limit uint64
}
func (CallStackLimitExceededError) Error ¶ added in v0.20.0
func (e CallStackLimitExceededError) Error() string
func (CallStackLimitExceededError) IsUserError ¶ added in v0.25.0
func (CallStackLimitExceededError) IsUserError()
type Config ¶ added in v0.26.0
type Config struct {
Debugger *interpreter.Debugger
// StackDepthLimit specifies the maximum depth for call stacks
StackDepthLimit uint64
// AtreeValidationEnabled configures if atree validation is enabled
AtreeValidationEnabled bool
// TracingEnabled configures if tracing is enabled
TracingEnabled bool
// ResourceOwnerChangeCallbackEnabled configures if the resource owner change callback is enabled
ResourceOwnerChangeHandlerEnabled bool
// CoverageReportingEnabled configures if coverage reporting is enabled
CoverageReportingEnabled bool
// AccountLinkingEnabled specifies if account linking is enabled
AccountLinkingEnabled bool
}
Config is a constant/read-only configuration of an environment.
type Context ¶ added in v0.12.0
type Context struct {
Interface Interface
Location Location
Environment Environment
CoverageReport *CoverageReport
}
type ContractUpdate ¶ added in v0.13.2
type ContractUpdate struct {
ContractValue *interpreter.CompositeValue
Key interpreter.StorageKey
}
type CoverageReport ¶ added in v0.12.0
type CoverageReport struct {
Coverage map[common.Location]*LocationCoverage `json:"-"`
}
CoverageReport is a collection of coverage per location
func NewCoverageReport ¶ added in v0.12.0
func NewCoverageReport() *CoverageReport
func (*CoverageReport) AddLineHit ¶ added in v0.12.0
func (r *CoverageReport) AddLineHit(location Location, line int)
func (*CoverageReport) MarshalJSON ¶ added in v0.27.0
func (r *CoverageReport) MarshalJSON() ([]byte, error)
type Environment ¶ added in v0.26.0
type Environment interface {
ArgumentDecoder
Declare(valueDeclaration stdlib.StandardLibraryValue)
Configure(
runtimeInterface Interface,
codesAndPrograms codesAndPrograms,
storage *Storage,
coverageReport *CoverageReport,
)
ParseAndCheckProgram(
code []byte,
location common.Location,
storeProgram bool,
) (
*interpreter.Program,
error,
)
Interpret(
location common.Location,
program *interpreter.Program,
f InterpretFunc,
) (
interpreter.Value,
*interpreter.Interpreter,
error,
)
CommitStorage(inter *interpreter.Interpreter) error
NewAuthAccountValue(address interpreter.AddressValue) interpreter.Value
NewPublicAccountValue(address interpreter.AddressValue) interpreter.Value
}
func NewScriptInterpreterEnvironment ¶ added in v0.26.0
func NewScriptInterpreterEnvironment(config Config) Environment
type Error ¶
type Error struct {
Err error
Location Location
Codes map[Location][]byte
Programs map[Location]*ast.Program
}
Error is the containing type for all errors produced by the runtime.
type Executor ¶ added in v0.25.0
type Executor interface {
// Preprocess prepares the transaction/script for execution.
//
// This function returns an error if the program has errors (e.g., syntax
// errors, type errors).
//
// This method may be called multiple times. Only the first call will
// trigger meaningful work; subsequent calls will return the cached return
// value from the original call (i.e., an Executor implementation must
// guard this method with sync.Once).
Preprocess() error
// Execute executes the transaction/script.
//
// This function returns an error if Preprocess failed or if the execution
// fails.
//
// This method may be called multiple times. Only the first call will
// trigger meaningful work; subsequent calls will return the cached return
// value from the original call (i.e., an Executor implementation must
// guard this method with sync.Once).
//
// Note: Execute will invoke Preprocess to ensure Preprocess was called at
// least once.
Execute() error
// Result returns the transaction/scipt's execution result.
//
// This function returns an error if Preproces or Execute fails. The
// cadence.Value is always nil for transaction.
//
// This method may be called multiple times. Only the first call will
// trigger meaningful work; subsequent calls will return the cached return
// value from the original call (i.e., an Executor implementation must
// guard this method with sync.Once).
//
// Note: Result will invoke Execute to ensure Execute was called at least
// once.
Result() (cadence.Value, error)
}
Executor is a continuation which represents a full unit of transaction/script execution.
The full unit of execution is divided into stages:
- Preprocess() initializes the executor in preparation for the actual transaction execution (e.g., parse / type check the input). Note that the work done by Preprocess() should be embrassingly parallel.
- Execute() performs the actual transaction execution (e.g., run the interpreter to produce the transaction result).
- Result() returns the result of the full unit of execution.
TODO: maybe add Cleanup/Postprocess in the future
type HashAlgorithm ¶ added in v0.14.0
type HashAlgorithm = sema.HashAlgorithm
type Identifier ¶ added in v0.10.0
type Identifier = ast.Identifier
type Interface ¶
type Interface interface {
// ResolveLocation resolves an import location.
ResolveLocation(identifiers []Identifier, location Location) ([]ResolvedLocation, error)
// GetCode returns the code at a given location
GetCode(location Location) ([]byte, error)
// GetProgram returns the program for the given location, if available.
//
// NOTE:
//
// For implementations:
// - During execution, this function MUST always return the *same* program,
// i.e. it may NOT return a different program,
// an elaboration in the program that is not annotating the AST in the program;
// or a program/elaboration and then nothing in a subsequent call.
// - This function MUST also return what was set using SetProgram,
// it may NOT return something different or nothing/nil (!) after SetProgram was called.
// Do NOT implement this as a cache!
//
// For uses:
// - ONLY call this function when a program must be parsed and checked,
// as an optimization to reuse the result of a potential previous parse and check.
// - If GetProgram returns nil, Cadence MUST call SetProgram:
// There's an informal contract between Cadence and the implementer:
// Cadence calls GetProgram to potentially avoid having to parse and check a program.
// If the implementer returns nil from GetProgram,
// it expects that Cadence sets the resulting parsed and checked program with SetProgram.
// - The behaviour after GetProgram returning nil or a program must be always deterministic:
// As SetProgram is called when GetProgram is nil, then SetProgram MUST also be called when
// GetProgram returns a program. This prevents nondeterministic behaviour
//
// Deprecated: This function should be refactored to ensure that SetProgram is always called
//
GetProgram(Location) (*interpreter.Program, error)
// SetProgram sets the program for the given location.
SetProgram(Location, *interpreter.Program) error
SetInterpreterSharedState(state *interpreter.SharedState)
// May return nil if none is available or use is not applicable.
GetInterpreterSharedState() *interpreter.SharedState
// GetValue gets a value for the given key in the storage, owned by the given account.
GetValue(owner, key []byte) (value []byte, err error)
// SetValue sets a value for the given key in the storage, owned by the given account.
SetValue(owner, key, value []byte) (err error)
// ValueExists returns true if the given key exists in the storage, owned by the given account.
ValueExists(owner, key []byte) (exists bool, err error)
// AllocateStorageIndex allocates a new storage index under the given account.
AllocateStorageIndex(owner []byte) (atree.StorageIndex, error)
// CreateAccount creates a new account.
CreateAccount(payer Address) (address Address, err error)
// AddEncodedAccountKey appends an encoded key to an account.
AddEncodedAccountKey(address Address, publicKey []byte) error
// RevokeEncodedAccountKey removes a key from an account by index, add returns the encoded key.
RevokeEncodedAccountKey(address Address, index int) (publicKey []byte, err error)
// AddAccountKey appends a key to an account.
AddAccountKey(address Address, publicKey *PublicKey, hashAlgo HashAlgorithm, weight int) (*AccountKey, error)
// GetAccountKey retrieves a key from an account by index.
GetAccountKey(address Address, index int) (*AccountKey, error)
AccountKeysCount(address Address) (uint64, error)
// RevokeAccountKey removes a key from an account by index.
RevokeAccountKey(address Address, index int) (*AccountKey, error)
// UpdateAccountContractCode updates the code associated with an account contract.
UpdateAccountContractCode(address Address, name string, code []byte) (err error)
// GetAccountContractCode returns the code associated with an account contract.
GetAccountContractCode(address Address, name string) (code []byte, err error)
// RemoveAccountContractCode removes the code associated with an account contract.
RemoveAccountContractCode(address Address, name string) (err error)
// GetSigningAccounts returns the signing accounts.
GetSigningAccounts() ([]Address, error)
// ProgramLog logs program logs.
ProgramLog(string) error
// EmitEvent is called when an event is emitted by the runtime.
EmitEvent(cadence.Event) error
// GenerateUUID is called to generate a UUID.
GenerateUUID() (uint64, error)
// MeterComputation is a callback method for metering computation, it returns error
// when computation passes the limit (set by the environment)
MeterComputation(operationType common.ComputationKind, intensity uint) error
// DecodeArgument decodes a transaction/script argument against the given type.
DecodeArgument(argument []byte, argumentType cadence.Type) (cadence.Value, error)
// GetCurrentBlockHeight returns the current block height.
GetCurrentBlockHeight() (uint64, error)
// GetBlockAtHeight returns the block at the given height.
GetBlockAtHeight(height uint64) (block Block, exists bool, err error)
// UnsafeRandom returns a random uint64, where the process of random number derivation is not cryptographically
// secure.
UnsafeRandom() (uint64, error)
// VerifySignature returns true if the given signature was produced by signing the given tag + data
// using the given public key, signature algorithm, and hash algorithm.
VerifySignature(
signature []byte,
tag string,
signedData []byte,
publicKey []byte,
signatureAlgorithm SignatureAlgorithm,
hashAlgorithm HashAlgorithm,
) (bool, error)
// Hash returns the digest of hashing the given data with using the given hash algorithm
Hash(data []byte, tag string, hashAlgorithm HashAlgorithm) ([]byte, error)
// GetAccountBalance gets accounts default flow token balance.
GetAccountBalance(address common.Address) (value uint64, err error)
// GetAccountAvailableBalance gets accounts default flow token balance - balance that is reserved for storage.
GetAccountAvailableBalance(address common.Address) (value uint64, err error)
// GetStorageUsed gets storage used in bytes by the address at the moment of the function call.
GetStorageUsed(address Address) (value uint64, err error)
// GetStorageCapacity gets storage capacity in bytes on the address.
GetStorageCapacity(address Address) (value uint64, err error)
// ImplementationDebugLog logs implementation log statements on a debug-level
ImplementationDebugLog(message string) error
// ValidatePublicKey verifies the validity of a public key.
ValidatePublicKey(key *PublicKey) error
// GetAccountContractNames returns the names of all contracts deployed in an account.
GetAccountContractNames(address Address) ([]string, error)
// RecordTrace records an opentelemetry trace.
RecordTrace(operation string, location Location, duration time.Duration, attrs []attribute.KeyValue)
// BLSVerifyPOP verifies a proof of possession (PoP) for the receiver public key.
BLSVerifyPOP(publicKey *PublicKey, signature []byte) (bool, error)
// BLSAggregateSignatures aggregate multiple BLS signatures into one.
BLSAggregateSignatures(signatures [][]byte) ([]byte, error)
// BLSAggregatePublicKeys aggregate multiple BLS public keys into one.
BLSAggregatePublicKeys(publicKeys []*PublicKey) (*PublicKey, error)
// ResourceOwnerChanged gets called when a resource's owner changed (if enabled)
ResourceOwnerChanged(
interpreter *interpreter.Interpreter,
resource *interpreter.CompositeValue,
oldOwner common.Address,
newOwner common.Address,
)
// MeterMemory gets called when new memory is allocated or used by the interpreter
MeterMemory(usage common.MemoryUsage) error
}
type InterpretFunc ¶ added in v0.26.0
type InterpretFunc func(inter *interpreter.Interpreter) (interpreter.Value, error)
type InvalidEntryPointArgumentError ¶ added in v0.5.0
InvalidEntryPointArgumentError
func (*InvalidEntryPointArgumentError) Error ¶ added in v0.5.0
func (e *InvalidEntryPointArgumentError) Error() string
func (*InvalidEntryPointArgumentError) IsUserError ¶ added in v0.25.0
func (*InvalidEntryPointArgumentError) IsUserError()
func (*InvalidEntryPointArgumentError) Unwrap ¶ added in v0.5.0
func (e *InvalidEntryPointArgumentError) Unwrap() error
type InvalidEntryPointParameterCountError ¶ added in v0.5.0
func (InvalidEntryPointParameterCountError) Error ¶ added in v0.5.0
func (e InvalidEntryPointParameterCountError) Error() string
func (InvalidEntryPointParameterCountError) IsUserError ¶ added in v0.25.0
func (InvalidEntryPointParameterCountError) IsUserError()
type InvalidScriptReturnTypeError ¶ added in v0.11.0
InvalidScriptReturnTypeError is an error that is reported for invalid script return types.
A type is invalid if it cannot be exported / returned externally.
func (*InvalidScriptReturnTypeError) Error ¶ added in v0.11.0
func (e *InvalidScriptReturnTypeError) Error() string
func (*InvalidScriptReturnTypeError) IsUserError ¶ added in v0.25.0
func (*InvalidScriptReturnTypeError) IsUserError()
type InvalidTransactionAuthorizerCountError ¶ added in v0.2.0
func (InvalidTransactionAuthorizerCountError) Error ¶ added in v0.2.0
func (e InvalidTransactionAuthorizerCountError) Error() string
func (InvalidTransactionAuthorizerCountError) IsUserError ¶ added in v0.25.0
func (InvalidTransactionAuthorizerCountError) IsUserError()
type InvalidTransactionCountError ¶
type InvalidTransactionCountError struct {
Count int
}
func (InvalidTransactionCountError) Error ¶
func (e InvalidTransactionCountError) Error() string
func (InvalidTransactionCountError) IsUserError ¶ added in v0.25.0
func (InvalidTransactionCountError) IsUserError()
type InvalidValueTypeError ¶ added in v0.15.0
InvalidValueTypeError
func (*InvalidValueTypeError) Error ¶ added in v0.15.0
func (e *InvalidValueTypeError) Error() string
func (*InvalidValueTypeError) IsUserError ¶ added in v0.25.0
func (*InvalidValueTypeError) IsUserError()
type LocationCoverage ¶ added in v0.12.0
LocationCoverage records coverage information for a location
func NewLocationCoverage ¶ added in v0.12.0
func NewLocationCoverage() *LocationCoverage
func (*LocationCoverage) AddLineHit ¶ added in v0.12.0
func (c *LocationCoverage) AddLineHit(line int)
type MalformedValueError ¶ added in v0.15.0
func (*MalformedValueError) Error ¶ added in v0.15.0
func (e *MalformedValueError) Error() string
func (*MalformedValueError) IsUserError ¶ added in v0.25.0
func (*MalformedValueError) IsUserError()
type ParsingCheckingError ¶ added in v0.9.3
ParsingCheckingError is an error wrapper for a parsing or a checking error at a specific location
func (*ParsingCheckingError) ChildErrors ¶ added in v0.9.3
func (e *ParsingCheckingError) ChildErrors() []error
func (*ParsingCheckingError) Error ¶ added in v0.9.3
func (e *ParsingCheckingError) Error() string
func (*ParsingCheckingError) ImportLocation ¶ added in v0.12.1
func (e *ParsingCheckingError) ImportLocation() Location
func (*ParsingCheckingError) IsUserError ¶ added in v0.25.0
func (*ParsingCheckingError) IsUserError()
func (*ParsingCheckingError) Unwrap ¶ added in v0.9.3
func (e *ParsingCheckingError) Unwrap() error
type REPL ¶
type REPL struct {
// contains filtered or unexported fields
}
func (*REPL) ExportValue ¶ added in v0.30.0
func (*REPL) Suggestions ¶
func (r *REPL) Suggestions() (result []REPLSuggestion)
type REPLSuggestion ¶ added in v0.2.0
type REPLSuggestion struct {
Name, Description string
}
type ResolvedLocation ¶ added in v0.10.0
type ResolvedLocation = sema.ResolvedLocation
type Runtime ¶
type Runtime interface {
// NewScriptExecutor returns an executor which executes the given script.
NewScriptExecutor(Script, Context) Executor
// ExecuteScript executes the given script.
//
// This function returns an error if the program has errors (e.g syntax errors, type errors),
// or if the execution fails.
ExecuteScript(Script, Context) (cadence.Value, error)
// NewTransactionExecutor returns an executor which executes the given
// transaction.
NewTransactionExecutor(Script, Context) Executor
// ExecuteTransaction executes the given transaction.
//
// This function returns an error if the program has errors (e.g syntax errors, type errors),
// or if the execution fails.
ExecuteTransaction(Script, Context) error
// NewContractFunctionExecutor returns an executor which invokes a contract
// function with the given arguments.
NewContractFunctionExecutor(
contractLocation common.AddressLocation,
functionName string,
arguments []cadence.Value,
argumentTypes []sema.Type,
context Context,
) Executor
// InvokeContractFunction invokes a contract function with the given arguments.
//
// This function returns an error if the execution fails.
// If the contract function accepts an AuthAccount as a parameter the corresponding argument can be an interpreter.Address.
// returns a cadence.Value
InvokeContractFunction(
contractLocation common.AddressLocation,
functionName string,
arguments []cadence.Value,
argumentTypes []sema.Type,
context Context,
) (cadence.Value, error)
// ParseAndCheckProgram parses and checks the given code without executing the program.
//
// This function returns an error if the program contains any syntax or semantic errors.
ParseAndCheckProgram(source []byte, context Context) (*interpreter.Program, error)
// ReadStored reads the value stored at the given path
//
ReadStored(address common.Address, path cadence.Path, context Context) (cadence.Value, error)
// ReadLinked dereferences the path and returns the value stored at the target
//
ReadLinked(address common.Address, path cadence.Path, context Context) (cadence.Value, error)
// Storage returns the storage system and an interpreter which can be used for
// accessing values in storage.
//
// NOTE: only use the interpreter for storage operations,
// do *NOT* use the interpreter for any other purposes,
// such as executing a program.
//
Storage(context Context) (*Storage, *interpreter.Interpreter, error)
SetDebugger(debugger *interpreter.Debugger)
}
Runtime is a runtime capable of executing Cadence.
func NewInterpreterRuntime ¶
NewInterpreterRuntime returns a interpreter-based version of the Flow runtime.
type ScriptParameterTypeNotImportableError ¶ added in v0.17.0
ScriptParameterTypeNotImportableError is an error that is reported for script parameter types that are not importable.
For example, the type `Int` is an importable type, whereas a function-type is not.
func (*ScriptParameterTypeNotImportableError) Error ¶ added in v0.17.0
func (e *ScriptParameterTypeNotImportableError) Error() string
func (*ScriptParameterTypeNotImportableError) IsUserError ¶ added in v0.25.0
func (*ScriptParameterTypeNotImportableError) IsUserError()
type ScriptParameterTypeNotStorableError ¶ added in v0.8.0
ScriptParameterTypeNotStorableError is an error that is reported for script parameter types that are not storable.
For example, the type `Int` is a storable type, whereas a function type is not.
func (*ScriptParameterTypeNotStorableError) Error ¶ added in v0.8.0
func (e *ScriptParameterTypeNotStorableError) Error() string
func (*ScriptParameterTypeNotStorableError) IsUserError ¶ added in v0.25.0
func (*ScriptParameterTypeNotStorableError) IsUserError()
type SignatureAlgorithm ¶ added in v0.14.0
type SignatureAlgorithm = sema.SignatureAlgorithm
type Storage ¶ added in v0.20.0
type Storage struct {
*atree.PersistentSlabStorage
Ledger atree.Ledger
// contains filtered or unexported fields
}
func NewStorage ¶ added in v0.20.0
func NewStorage(ledger atree.Ledger, memoryGauge common.MemoryGauge) *Storage
func (*Storage) CheckHealth ¶ added in v0.20.0
func (*Storage) Commit ¶ added in v0.20.0
func (s *Storage) Commit(inter *interpreter.Interpreter, commitContractUpdates bool) error
Commit serializes/saves all values in the readCache in storage (through the runtime interface).
func (*Storage) GetStorageMap ¶ added in v0.23.0
func (s *Storage) GetStorageMap( address common.Address, domain string, createIfNotExists bool, ) ( storageMap *interpreter.StorageMap, )
type ValueNotExportableError ¶ added in v0.30.0
type ValueNotExportableError struct {
Type interpreter.StaticType
}
ValueNotExportableError is an error that is reported for values that cannot be exported.
func (*ValueNotExportableError) Error ¶ added in v0.30.0
func (e *ValueNotExportableError) Error() string
func (*ValueNotExportableError) IsUserError ¶ added in v0.30.0
func (*ValueNotExportableError) IsUserError()
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
Package ast contains all AST nodes for Cadence.
|
Package ast contains all AST nodes for Cadence. |
|
check
command
|
|
|
compile
command
|
|
|
decode-state-values
command
|
|
|
json-cdc
command
|
|
|
main
command
|
|
|
minifier
command
* Cadence - The resource-oriented smart contract programming language * * Copyright 2019-2022 Dapper Labs, Inc.
|
* Cadence - The resource-oriented smart contract programming language * * Copyright 2019-2022 Dapper Labs, Inc. |
|
parse
command
|
|
|
list
Package list implements a doubly linked list.
|
Package list implements a doubly linked list. |
|
wasm
WebAssembly (https://webassembly.org/) is an open standard for portable executable programs.
|
WebAssembly (https://webassembly.org/) is an open standard for portable executable programs. |
|
wasm/gen
command
|
|
|
tests
|
|