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, ...) (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 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
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, getLocationRange func() 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, getLocationRange func() interpreter.LocationRange, 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 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 // 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 // StackDepthLimit specifies the maximum depth for call stacks. StackDepthLimit uint64 }
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 { Key interpreter.StorageKey ContractValue *interpreter.CompositeValue }
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 { 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 // 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) // 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 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(pk *PublicKey, s []byte) (bool, error) // BLSAggregateSignatures aggregate multiple BLS signatures into one. BLSAggregateSignatures(sigs [][]byte) ([]byte, error) // BLSAggregatePublicKeys aggregate multiple BLS public keys into one. BLSAggregatePublicKeys(keys []*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.
For example, the type `Int` is valid, whereas a function type is not, because it cannot be exported/serialized.
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) 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, )
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package ast contains all AST nodes for Cadence.
|
Package ast contains all AST nodes for Cadence. |
minifier
* 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. |
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. |
tests
|
|