Documentation ¶
Overview ¶
uses the provided function `f` to generate a slice with no duplicates. This is equivalent to adding all the values produced by `f` to a map, and then returning `maps.Keys` of that map, except without the nondeterminism. K must be comparable in order to have a consistent meaning of the concept of a "duplicate"
Index ¶
- Constants
- Variables
- func AdditionalAtreeMemoryUsage(originalCount uint64, elementSize uint, array bool) (MemoryUsage, MemoryUsage)
- func BigIntByteLength(v *big.Int) int
- func CompositeKindCount() int
- func Concat[T any](slices ...[]T) []T
- func DeclarationKindCount() int
- func EnumerateWords(words []string, conjunction string) string
- func GenerateSliceWithNoDuplicates[K comparable](generator func() *K) (slice []K)
- func LocationsInSameAccount(first, second Location) bool
- func MappedSliceWithNoDuplicates[T any, K comparable](ts []T, f func(T) K) []K
- func NewAtreeArrayMemoryUsages(count uint64, elementSize uint) (MemoryUsage, MemoryUsage, MemoryUsage)
- func NewAtreeMapMemoryUsages(count uint64, elementSize uint) (MemoryUsage, MemoryUsage, MemoryUsage)
- func NewBigInt(gauge MemoryGauge) *big.Int
- func NewBigIntFromAbsoluteValue(gauge MemoryGauge, value *big.Int) *big.Int
- func NewCadenceArrayMemoryUsages(length int) (MemoryUsage, MemoryUsage)
- func NewCadenceAttachmentMemoryUsages(fields int) (MemoryUsage, MemoryUsage)
- func NewCadenceContractMemoryUsages(fields int) (MemoryUsage, MemoryUsage)
- func NewCadenceEnumMemoryUsages(fields int) (MemoryUsage, MemoryUsage)
- func NewCadenceEventMemoryUsages(fields int) (MemoryUsage, MemoryUsage)
- func NewCadenceResourceMemoryUsages(fields int) (MemoryUsage, MemoryUsage)
- func NewCadenceStructMemoryUsages(fields int) (MemoryUsage, MemoryUsage)
- func NewOrderedMapMemoryUsages(size uint64) (MemoryUsage, MemoryUsage, MemoryUsage)
- func OverEstimateBigIntFromString(s string, literalKind IntegerLiteralKind) int
- func RegisterTypeIDDecoder(prefix string, decoder TypeIDDecoder)
- func UseMemory(gauge MemoryGauge, usage MemoryUsage)
- type Address
- type AddressLocation
- func (l AddressLocation) Description() string
- func (l AddressLocation) ID() string
- func (l AddressLocation) MarshalJSON() ([]byte, error)
- func (l AddressLocation) QualifiedIdentifier(typeID TypeID) string
- func (l AddressLocation) String() string
- func (l AddressLocation) TypeID(memoryGauge MemoryGauge, qualifiedIdentifier string) TypeID
- type CompositeKind
- func (k CompositeKind) Annotation() string
- func (k CompositeKind) ConstructionKeyword() string
- func (k CompositeKind) DeclarationKind(isInterface bool) DeclarationKind
- func (k CompositeKind) DestructionKeyword() any
- func (k CompositeKind) Keyword() string
- func (k CompositeKind) MarshalJSON() ([]byte, error)
- func (k CompositeKind) MoveOperator() string
- func (k CompositeKind) Name() string
- func (i CompositeKind) String() string
- func (k CompositeKind) SupportsAttachments() bool
- func (k CompositeKind) SupportsInterfaces() bool
- func (k CompositeKind) TransferOperator() string
- type ComputationKind
- type ControlStatement
- type DeclarationKind
- type DeclarationKindSet
- type HasLocation
- type IdentifierLocation
- func (l IdentifierLocation) Description() string
- func (l IdentifierLocation) ID() string
- func (l IdentifierLocation) MarshalJSON() ([]byte, error)
- func (l IdentifierLocation) QualifiedIdentifier(typeID TypeID) string
- func (l IdentifierLocation) String() string
- func (l IdentifierLocation) TypeID(memoryGauge MemoryGauge, qualifiedIdentifier string) TypeID
- type Incomparable
- type IntegerLiteralKind
- type Location
- type MemoryGauge
- type MemoryKind
- type MemoryUsage
- func NewArrayExpressionMemoryUsage(length int) MemoryUsage
- func NewAtreeEncodedSlabMemoryUsage(slabsCount uint) MemoryUsage
- func NewAtreeMapPreAllocatedElementsMemoryUsage(count uint64, elementSize uint) MemoryUsage
- func NewBigIntMemoryUsage(bytes int) MemoryUsage
- func NewBitwiseAndBigIntMemoryUsage(a, b *big.Int) MemoryUsage
- func NewBitwiseLeftShiftBigIntMemoryUsage(a, b *big.Int) MemoryUsage
- func NewBitwiseOrBigIntMemoryUsage(a, b *big.Int) MemoryUsage
- func NewBitwiseRightShiftBigIntMemoryUsage(a, b *big.Int) MemoryUsage
- func NewBitwiseXorBigIntMemoryUsage(a, b *big.Int) MemoryUsage
- func NewBytesMemoryUsage(length int) MemoryUsage
- func NewCadenceBigIntMemoryUsage(bytes int) MemoryUsage
- func NewCadenceCharacterMemoryUsage(length int) MemoryUsage
- func NewCadenceIntMemoryUsage(bytes int) MemoryUsage
- func NewCadenceNumberMemoryUsage(bytes int) MemoryUsage
- func NewCadenceStringMemoryUsage(length int) MemoryUsage
- func NewCharacterMemoryUsage(length int) MemoryUsage
- func NewConstantMemoryUsage(kind MemoryKind) MemoryUsage
- func NewDictionaryExpressionMemoryUsage(length int) MemoryUsage
- func NewDivBigIntMemoryUsage(a, b *big.Int) MemoryUsage
- func NewMembersMemoryUsage(length int) MemoryUsage
- func NewMinusBigIntMemoryUsage(a, b *big.Int) MemoryUsage
- func NewModBigIntMemoryUsage(a, b *big.Int) MemoryUsage
- func NewMulBigIntMemoryUsage(a, b *big.Int) MemoryUsage
- func NewNegateBigIntMemoryUsage(b *big.Int) MemoryUsage
- func NewNumberMemoryUsage(bytes int) MemoryUsage
- func NewPlusBigIntMemoryUsage(a, b *big.Int) MemoryUsage
- func NewRawStringMemoryUsage(length int) MemoryUsage
- func NewSimpleCompositeMemoryUsage(length int) MemoryUsage
- func NewStringMemoryUsage(length int) MemoryUsage
- type OperandSide
- type OperationKind
- type PathDomain
- type REPLLocation
- func (l REPLLocation) Description() string
- func (l REPLLocation) ID() string
- func (l REPLLocation) MarshalJSON() ([]byte, error)
- func (l REPLLocation) QualifiedIdentifier(typeID TypeID) string
- func (l REPLLocation) String() string
- func (l REPLLocation) TypeID(memoryGauge MemoryGauge, qualifiedIdentifier string) TypeID
- type ScriptLocation
- func (l ScriptLocation) Description() string
- func (l ScriptLocation) ID() string
- func (l ScriptLocation) MarshalJSON() ([]byte, error)
- func (l ScriptLocation) QualifiedIdentifier(typeID TypeID) string
- func (l ScriptLocation) String() string
- func (l ScriptLocation) TypeID(memoryGauge MemoryGauge, qualifiedIdentifier string) TypeID
- type StringLocation
- func (l StringLocation) Description() string
- func (l StringLocation) ID() string
- func (l StringLocation) MarshalJSON() ([]byte, error)
- func (l StringLocation) QualifiedIdentifier(typeID TypeID) string
- func (l StringLocation) String() string
- func (l StringLocation) TypeID(memoryGauge MemoryGauge, qualifiedIdentifier string) TypeID
- type TransactionLocation
- func (l TransactionLocation) Description() string
- func (l TransactionLocation) ID() string
- func (l TransactionLocation) MarshalJSON() ([]byte, error)
- func (l TransactionLocation) QualifiedIdentifier(typeID TypeID) string
- func (l TransactionLocation) String() string
- func (l TransactionLocation) TypeID(memoryGauge MemoryGauge, qualifiedIdentifier string) TypeID
- type TypeID
- type TypeIDDecoder
Constants ¶
const AddressLength = 8
const AddressLocationPrefix = "A"
const ComputationKindRangeStart = 1000
[1000,2000) is reserved for Cadence interpreter and runtime
const IdentifierLocationPrefix = "I"
const REPLLocationPrefix = "REPL"
const ScriptIDLength = 32
const ScriptLocationPrefix = "s"
const StringLocationPrefix = "S"
const TransactionIDLength = 32
const TransactionLocationPrefix = "t"
Variables ¶
var ( TypeTokenMemoryUsage = NewConstantMemoryUsage(MemoryKindTypeToken) ErrorTokenMemoryUsage = NewConstantMemoryUsage(MemoryKindErrorToken) SpaceTokenMemoryUsage = NewConstantMemoryUsage(MemoryKindSpaceToken) ProgramMemoryUsage = NewConstantMemoryUsage(MemoryKindProgram) IdentifierMemoryUsage = NewConstantMemoryUsage(MemoryKindIdentifier) ArgumentMemoryUsage = NewConstantMemoryUsage(MemoryKindArgument) BlockMemoryUsage = NewConstantMemoryUsage(MemoryKindBlock) FunctionBlockMemoryUsage = NewConstantMemoryUsage(MemoryKindFunctionBlock) ParameterMemoryUsage = NewConstantMemoryUsage(MemoryKindParameter) ParameterListMemoryUsage = NewConstantMemoryUsage(MemoryKindParameterList) TypeParameterMemoryUsage = NewConstantMemoryUsage(MemoryKindTypeParameter) TypeParameterListMemoryUsage = NewConstantMemoryUsage(MemoryKindTypeParameterList) TransferMemoryUsage = NewConstantMemoryUsage(MemoryKindTransfer) TypeAnnotationMemoryUsage = NewConstantMemoryUsage(MemoryKindTypeAnnotation) DictionaryEntryMemoryUsage = NewConstantMemoryUsage(MemoryKindDictionaryEntry) FunctionDeclarationMemoryUsage = NewConstantMemoryUsage(MemoryKindFunctionDeclaration) CompositeDeclarationMemoryUsage = NewConstantMemoryUsage(MemoryKindCompositeDeclaration) AttachmentDeclarationMemoryUsage = NewConstantMemoryUsage(MemoryKindAttachmentDeclaration) InterfaceDeclarationMemoryUsage = NewConstantMemoryUsage(MemoryKindInterfaceDeclaration) EntitlementDeclarationMemoryUsage = NewConstantMemoryUsage(MemoryKindEntitlementDeclaration) EntitlementMappingElementMemoryUsage = NewConstantMemoryUsage(MemoryKindEntitlementMappingElement) EntitlementMappingDeclarationMemoryUsage = NewConstantMemoryUsage(MemoryKindEntitlementMappingDeclaration) ImportDeclarationMemoryUsage = NewConstantMemoryUsage(MemoryKindImportDeclaration) TransactionDeclarationMemoryUsage = NewConstantMemoryUsage(MemoryKindTransactionDeclaration) FieldDeclarationMemoryUsage = NewConstantMemoryUsage(MemoryKindFieldDeclaration) EnumCaseDeclarationMemoryUsage = NewConstantMemoryUsage(MemoryKindEnumCaseDeclaration) VariableDeclarationMemoryUsage = NewConstantMemoryUsage(MemoryKindVariableDeclaration) SpecialFunctionDeclarationMemoryUsage = NewConstantMemoryUsage(MemoryKindSpecialFunctionDeclaration) PragmaDeclarationMemoryUsage = NewConstantMemoryUsage(MemoryKindPragmaDeclaration) AssignmentStatementMemoryUsage = NewConstantMemoryUsage(MemoryKindAssignmentStatement) BreakStatementMemoryUsage = NewConstantMemoryUsage(MemoryKindBreakStatement) ContinueStatementMemoryUsage = NewConstantMemoryUsage(MemoryKindContinueStatement) EmitStatementMemoryUsage = NewConstantMemoryUsage(MemoryKindEmitStatement) ExpressionStatementMemoryUsage = NewConstantMemoryUsage(MemoryKindExpressionStatement) ForStatementMemoryUsage = NewConstantMemoryUsage(MemoryKindForStatement) IfStatementMemoryUsage = NewConstantMemoryUsage(MemoryKindIfStatement) ReturnStatementMemoryUsage = NewConstantMemoryUsage(MemoryKindReturnStatement) SwapStatementMemoryUsage = NewConstantMemoryUsage(MemoryKindSwapStatement) SwitchStatementMemoryUsage = NewConstantMemoryUsage(MemoryKindSwitchStatement) WhileStatementMemoryUsage = NewConstantMemoryUsage(MemoryKindWhileStatement) RemoveStatementMemoryUsage = NewConstantMemoryUsage(MemoryKindRemoveStatement) BooleanExpressionMemoryUsage = NewConstantMemoryUsage(MemoryKindBooleanExpression) VoidExpressionMemoryUsage = NewConstantMemoryUsage(MemoryKindVoidExpression) NilExpressionMemoryUsage = NewConstantMemoryUsage(MemoryKindNilExpression) StringExpressionMemoryUsage = NewConstantMemoryUsage(MemoryKindStringExpression) IntegerExpressionMemoryUsage = NewConstantMemoryUsage(MemoryKindIntegerExpression) FixedPointExpressionMemoryUsage = NewConstantMemoryUsage(MemoryKindFixedPointExpression) IdentifierExpressionMemoryUsage = NewConstantMemoryUsage(MemoryKindIdentifierExpression) InvocationExpressionMemoryUsage = NewConstantMemoryUsage(MemoryKindInvocationExpression) MemberExpressionMemoryUsage = NewConstantMemoryUsage(MemoryKindMemberExpression) IndexExpressionMemoryUsage = NewConstantMemoryUsage(MemoryKindIndexExpression) ConditionalExpressionMemoryUsage = NewConstantMemoryUsage(MemoryKindConditionalExpression) UnaryExpressionMemoryUsage = NewConstantMemoryUsage(MemoryKindUnaryExpression) BinaryExpressionMemoryUsage = NewConstantMemoryUsage(MemoryKindBinaryExpression) FunctionExpressionMemoryUsage = NewConstantMemoryUsage(MemoryKindFunctionExpression) CastingExpressionMemoryUsage = NewConstantMemoryUsage(MemoryKindCastingExpression) CreateExpressionMemoryUsage = NewConstantMemoryUsage(MemoryKindCreateExpression) DestroyExpressionMemoryUsage = NewConstantMemoryUsage(MemoryKindDestroyExpression) ReferenceExpressionMemoryUsage = NewConstantMemoryUsage(MemoryKindReferenceExpression) ForceExpressionMemoryUsage = NewConstantMemoryUsage(MemoryKindForceExpression) PathExpressionMemoryUsage = NewConstantMemoryUsage(MemoryKindPathExpression) AttachExpressionMemoryUsage = NewConstantMemoryUsage(MemoryKindAttachExpression) ConstantSizedTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindConstantSizedType) DictionaryTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindDictionaryType) FunctionTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindFunctionType) InstantiationTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindInstantiationType) NominalTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindNominalType) OptionalTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindOptionalType) ReferenceTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindReferenceType) IntersectionTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindIntersectionType) VariableSizedTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindVariableSizedType) PositionMemoryUsage = NewConstantMemoryUsage(MemoryKindPosition) RangeMemoryUsage = NewConstantMemoryUsage(MemoryKindRange) ElaborationMemoryUsage = NewConstantMemoryUsage(MemoryKindElaboration) ActivationMemoryUsage = NewConstantMemoryUsage(MemoryKindActivation) ActivationEntriesMemoryUsage = NewConstantMemoryUsage(MemoryKindActivationEntries) SimpleCompositeValueBaseMemoryUsage = NewConstantMemoryUsage(MemoryKindSimpleCompositeValueBase) AtreeMapElementOverhead = NewConstantMemoryUsage(MemoryKindAtreeMapElementOverhead) AtreeArrayElementOverhead = NewConstantMemoryUsage(MemoryKindAtreeArrayElementOverhead) CompositeTypeInfoMemoryUsage = NewConstantMemoryUsage(MemoryKindCompositeTypeInfo) CompositeFieldMemoryUsage = NewConstantMemoryUsage(MemoryKindCompositeField) DictionaryValueBaseMemoryUsage = NewConstantMemoryUsage(MemoryKindDictionaryValueBase) ArrayValueBaseMemoryUsage = NewConstantMemoryUsage(MemoryKindArrayValueBase) CompositeValueBaseMemoryUsage = NewConstantMemoryUsage(MemoryKindCompositeValueBase) AddressValueMemoryUsage = NewConstantMemoryUsage(MemoryKindAddressValue) BoundFunctionValueMemoryUsage = NewConstantMemoryUsage(MemoryKindBoundFunctionValue) HostFunctionValueMemoryUsage = NewConstantMemoryUsage(MemoryKindHostFunctionValue) InterpretedFunctionValueMemoryUsage = NewConstantMemoryUsage(MemoryKindInterpretedFunctionValue) CapabilityValueMemoryUsage = NewConstantMemoryUsage(MemoryKindCapabilityValue) EphemeralReferenceValueMemoryUsage = NewConstantMemoryUsage(MemoryKindEphemeralReferenceValue) StorageReferenceValueMemoryUsage = NewConstantMemoryUsage(MemoryKindStorageReferenceValue) PathValueMemoryUsage = NewConstantMemoryUsage(MemoryKindPathValue) OptionalValueMemoryUsage = NewConstantMemoryUsage(MemoryKindOptionalValue) TypeValueMemoryUsage = NewConstantMemoryUsage(MemoryKindTypeValue) PublishedValueMemoryUsage = NewConstantMemoryUsage(MemoryKindPublishedValue) StorageCapabilityControllerValueMemoryUsage = NewConstantMemoryUsage(MemoryKindStorageCapabilityControllerValue) AccountCapabilityControllerValueMemoryUsage = NewConstantMemoryUsage(MemoryKindAccountCapabilityControllerValue) PrimitiveStaticTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindPrimitiveStaticType) CompositeStaticTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindCompositeStaticType) InterfaceStaticTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindInterfaceStaticType) VariableSizedStaticTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindVariableSizedStaticType) ConstantSizedStaticTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindConstantSizedStaticType) DictionaryStaticTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindDictionaryStaticType) OptionalStaticTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindOptionalStaticType) IntersectionStaticTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindIntersectionStaticType) ReferenceStaticTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindReferenceStaticType) CapabilityStaticTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindCapabilityStaticType) FunctionStaticTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindFunctionStaticType) EntitlementMapStaticTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindEntitlementMapStaticAccess) InclusiveRangeStaticTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindInclusiveRangeStaticType) VariableSizedSemaTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindVariableSizedSemaType) ConstantSizedSemaTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindConstantSizedSemaType) DictionarySemaTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindDictionarySemaType) OptionalSemaTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindOptionalSemaType) IntersectionSemaTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindIntersectionSemaType) ReferenceSemaTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindReferenceSemaType) EntitlementSemaTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindEntitlementSemaType) EntitlementMapSemaTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindEntitlementMapSemaType) EntitlementRelationSemaTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindEntitlementRelationSemaType) CapabilitySemaTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindCapabilitySemaType) InclusiveRangeSemaTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindInclusiveRangeSemaType) OrderedMapMemoryUsage = NewConstantMemoryUsage(MemoryKindOrderedMap) InvocationMemoryUsage = NewConstantMemoryUsage(MemoryKindInvocation) StorageMapMemoryUsage = NewConstantMemoryUsage(MemoryKindStorageMap) StorageKeyMemoryUsage = NewConstantMemoryUsage(MemoryKindStorageKey) CadenceDictionaryValueMemoryUsage = NewConstantMemoryUsage(MemoryKindCadenceDictionaryValue) CadenceInclusiveRangeValueMemoryUsage = NewConstantMemoryUsage(MemoryKindCadenceInclusiveRangeValue) CadenceArrayValueBaseMemoryUsage = NewConstantMemoryUsage(MemoryKindCadenceArrayValueBase) CadenceStructValueBaseMemoryUsage = NewConstantMemoryUsage(MemoryKindCadenceStructValueBase) CadenceResourceValueBaseMemoryUsage = NewConstantMemoryUsage(MemoryKindCadenceResourceValueBase) CadenceAttachmentValueBaseMemoryUsage = NewConstantMemoryUsage(MemoryKindCadenceAttachmentValueBase) CadenceEventValueBaseMemoryUsage = NewConstantMemoryUsage(MemoryKindCadenceEventValueBase) CadenceContractValueBaseMemoryUsage = NewConstantMemoryUsage(MemoryKindCadenceContractValueBase) CadenceEnumValueBaseMemoryUsage = NewConstantMemoryUsage(MemoryKindCadenceEnumValueBase) CadenceAddressValueMemoryUsage = NewConstantMemoryUsage(MemoryKindCadenceAddressValue) CadenceBoolValueMemoryUsage = NewConstantMemoryUsage(MemoryKindCadenceBoolValue) CadenceCapabilityValueMemoryUsage = NewConstantMemoryUsage(MemoryKindCadenceCapabilityValue) CadenceFunctionValueMemoryUsage = NewConstantMemoryUsage(MemoryKindCadenceFunctionValue) CadenceKeyValuePairMemoryUsage = NewConstantMemoryUsage(MemoryKindCadenceKeyValuePair) CadenceOptionalValueMemoryUsage = NewConstantMemoryUsage(MemoryKindCadenceOptionalValue) CadencePathValueMemoryUsage = NewConstantMemoryUsage(MemoryKindCadencePathValue) CadenceVoidValueMemoryUsage = NewConstantMemoryUsage(MemoryKindCadenceVoidValue) CadenceTypeValueMemoryUsage = NewConstantMemoryUsage(MemoryKindCadenceTypeValue) CadenceCapabilityTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindCadenceCapabilityType) CadenceConstantSizedArrayTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindCadenceConstantSizedArrayType) CadenceVariableSizedArrayTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindCadenceVariableSizedArrayType) CadenceContractInterfaceTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindCadenceContractInterfaceType) CadenceContractTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindCadenceContractType) CadenceDictionaryTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindCadenceDictionaryType) CadenceInclusiveRangeTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindCadenceInclusiveRangeType) CadenceEnumTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindCadenceEnumType) CadenceEventTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindCadenceEventType) CadenceFunctionTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindCadenceFunctionType) CadenceOptionalTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindCadenceOptionalType) CadenceReferenceTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindCadenceReferenceType) CadenceResourceInterfaceTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindCadenceResourceInterfaceType) CadenceResourceTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindCadenceResourceType) CadenceIntersectionTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindCadenceIntersectionType) CadenceStructInterfaceTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindCadenceStructInterfaceType) CadenceStructTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindCadenceStructType) CadenceAttachmentTypeMemoryUsage = NewConstantMemoryUsage(MemoryKindCadenceAttachmentType) VoidStringMemoryUsage = NewRawStringMemoryUsage(len("()")) TrueStringMemoryUsage = NewRawStringMemoryUsage(len("true")) FalseStringMemoryUsage = NewRawStringMemoryUsage(len("false")) TypeValueStringMemoryUsage = NewRawStringMemoryUsage(len("Type<>()")) NilValueStringMemoryUsage = NewRawStringMemoryUsage(len("nil")) StorageReferenceValueStringMemoryUsage = NewRawStringMemoryUsage(len("StorageReference()")) SeenReferenceStringMemoryUsage = NewRawStringMemoryUsage(3) // len(ellipsis) AddressValueStringMemoryUsage = NewRawStringMemoryUsage(AddressLength*2 + 2) // len(bytes-to-hex + prefix) HostFunctionValueStringMemoryUsage = NewRawStringMemoryUsage(len("Function(...)")) AccountValueStringMemoryUsage = NewRawStringMemoryUsage(len("Account()")) AccountContractsStringMemoryUsage = NewRawStringMemoryUsage(len("Account.Contracts()")) AccountKeysStringMemoryUsage = NewRawStringMemoryUsage(len("Account.Keys()")) AccountStorageCapabilitiesStringMemoryUsage = NewRawStringMemoryUsage(len("Account.StorageCapabilities()")) AccountAccountCapabilitiesStringMemoryUsage = NewRawStringMemoryUsage(len("Account.AccountCapabilities()")) AccountCapabilitiesStringMemoryUsage = NewRawStringMemoryUsage(len("Account.Capabilities()")) AccountInboxStringMemoryUsage = NewRawStringMemoryUsage(len("Account.Inbox()")) AccountStorageStringMemoryUsage = NewRawStringMemoryUsage(len("Account.Storage()")) CapabilityValueStringMemoryUsage = NewRawStringMemoryUsage(len("Capability<>(address: , id: )")) StorageCapabilityControllerValueStringMemoryUsage = NewRawStringMemoryUsage(len("StorageCapabilityController(borrowType: , capabilityID: , target: )")) AccountCapabilityControllerValueStringMemoryUsage = NewRawStringMemoryUsage(len("AccountCapabilityController(borrowType: , capabilityID: )")) PublishedValueStringMemoryUsage = NewRawStringMemoryUsage(len("PublishedValue<>()")) AuthStringMemoryUsage = NewRawStringMemoryUsage(len("auth() ")) VariableSizedStaticTypeStringMemoryUsage = NewRawStringMemoryUsage(2) // [] DictionaryStaticTypeStringMemoryUsage = NewRawStringMemoryUsage(4) // {: } OptionalStaticTypeStringMemoryUsage = NewRawStringMemoryUsage(1) // ? CapabilityStaticTypeStringMemoryUsage = NewRawStringMemoryUsage(12) // Capability<> IntersectionStaticTypeStringMemoryUsage = NewRawStringMemoryUsage(2) // {} IntersectionStaticTypeSeparatorStringMemoryUsage = NewRawStringMemoryUsage(2) // , InclusiveRangeStaticTypeStringMemoryUsage = NewRawStringMemoryUsage(16) // InclusiveRange<> )
var AddressOverflowError = goErrors.New("address too large")
var AllCompositeKinds = []CompositeKind{ CompositeKindStructure, CompositeKindResource, CompositeKindContract, CompositeKindEvent, CompositeKindEnum, CompositeKindAttachment, }
var AllPathDomains = []PathDomain{ PathDomainStorage, PathDomainPrivate, PathDomainPublic, }
var AllPathDomainsByIdentifier = map[string]PathDomain{}
var CompositeKindsWithFieldsAndFunctions = []CompositeKind{ CompositeKindStructure, CompositeKindResource, CompositeKindContract, CompositeKindAttachment, }
var InstantiableCompositeKindsWithFieldsAndFunctions = []CompositeKind{ CompositeKindStructure, CompositeKindResource, CompositeKindContract, }
var InvalidHexAddressError = goErrors.New("invalid hex string for address")
Functions ¶
func AdditionalAtreeMemoryUsage ¶ added in v0.24.0
func AdditionalAtreeMemoryUsage(originalCount uint64, elementSize uint, array bool) (MemoryUsage, MemoryUsage)
func BigIntByteLength ¶ added in v0.24.0
func CompositeKindCount ¶ added in v0.8.0
func CompositeKindCount() int
func DeclarationKindCount ¶ added in v0.8.0
func DeclarationKindCount() int
func EnumerateWords ¶
func GenerateSliceWithNoDuplicates ¶ added in v1.0.0
func GenerateSliceWithNoDuplicates[K comparable](generator func() *K) (slice []K)
func LocationsInSameAccount ¶ added in v0.13.10
LocationsInSameAccount returns true if both locations are nil, if both locations are address locations when both locations have the same address, or otherwise if their IDs are the same.
func MappedSliceWithNoDuplicates ¶ added in v1.0.0
func MappedSliceWithNoDuplicates[T any, K comparable](ts []T, f func(T) K) []K
func NewAtreeArrayMemoryUsages ¶ added in v1.0.0
func NewAtreeArrayMemoryUsages(count uint64, elementSize uint) (MemoryUsage, MemoryUsage, MemoryUsage)
func NewAtreeMapMemoryUsages ¶ added in v1.0.0
func NewAtreeMapMemoryUsages(count uint64, elementSize uint) (MemoryUsage, MemoryUsage, MemoryUsage)
func NewBigInt ¶ added in v0.24.0
func NewBigInt(gauge MemoryGauge) *big.Int
func NewBigIntFromAbsoluteValue ¶ added in v0.24.0
func NewBigIntFromAbsoluteValue(gauge MemoryGauge, value *big.Int) *big.Int
func NewCadenceArrayMemoryUsages ¶ added in v0.24.0
func NewCadenceArrayMemoryUsages(length int) (MemoryUsage, MemoryUsage)
func NewCadenceAttachmentMemoryUsages ¶ added in v0.36.0
func NewCadenceAttachmentMemoryUsages(fields int) (MemoryUsage, MemoryUsage)
func NewCadenceContractMemoryUsages ¶ added in v0.24.0
func NewCadenceContractMemoryUsages(fields int) (MemoryUsage, MemoryUsage)
func NewCadenceEnumMemoryUsages ¶ added in v0.24.0
func NewCadenceEnumMemoryUsages(fields int) (MemoryUsage, MemoryUsage)
func NewCadenceEventMemoryUsages ¶ added in v0.24.0
func NewCadenceEventMemoryUsages(fields int) (MemoryUsage, MemoryUsage)
func NewCadenceResourceMemoryUsages ¶ added in v0.24.0
func NewCadenceResourceMemoryUsages(fields int) (MemoryUsage, MemoryUsage)
func NewCadenceStructMemoryUsages ¶ added in v0.24.0
func NewCadenceStructMemoryUsages(fields int) (MemoryUsage, MemoryUsage)
func NewOrderedMapMemoryUsages ¶ added in v0.24.0
func NewOrderedMapMemoryUsages(size uint64) (MemoryUsage, MemoryUsage, MemoryUsage)
func OverEstimateBigIntFromString ¶ added in v0.24.0
func OverEstimateBigIntFromString(s string, literalKind IntegerLiteralKind) int
OverEstimateBigIntFromString is an approximate inverse of `interpreter.OverEstimateBigIntStringLength`. Returns the estimated size in bytes.
func RegisterTypeIDDecoder ¶ added in v0.12.0
func RegisterTypeIDDecoder(prefix string, decoder TypeIDDecoder)
func UseMemory ¶ added in v0.24.0
func UseMemory(gauge MemoryGauge, usage MemoryUsage)
Types ¶
type Address ¶
type Address [AddressLength]byte
Singleton for address 0x0. This should be used in place of an empty initializer `Address{}`
func BytesToAddress ¶
BytesToAddress returns Address with value b.
If the address is too large, then the function returns an error.
func HexToAddress ¶ added in v0.17.0
HexToAddress converts a hex string to an Address.
func HexToAddressAssertPrefix ¶ added in v0.39.0
HexToAddress converts a hex string to an Address after ensuring that the hex string starts with the prefix 0x.
func MustBytesToAddress ¶ added in v0.21.0
MustBytesToAddress returns Address with value b.
If the address is too large, then the function panics.
func (Address) Bytes ¶ added in v0.2.0
Bytes returns address without leading zeros. The fast path is inlined and handles the most common scenario of address having no leading zeros. Otherwise, bytes() is called to trim leading zeros.
func (Address) HexWithPrefix ¶ added in v0.24.0
func (*Address) SetBytes ¶
SetBytes sets the address to the value of b.
If b is larger than len(a) it will panic.
func (Address) ShortHexWithPrefix ¶ added in v0.9.0
type AddressLocation ¶ added in v0.12.0
AddressLocation is the location of a contract/contract interface at an address
func NewAddressLocation ¶ added in v0.24.0
func NewAddressLocation(gauge MemoryGauge, addr Address, name string) AddressLocation
func (AddressLocation) Description ¶ added in v0.25.0
func (l AddressLocation) Description() string
func (AddressLocation) ID ¶ added in v0.12.0
func (l AddressLocation) ID() string
func (AddressLocation) MarshalJSON ¶ added in v0.12.0
func (l AddressLocation) MarshalJSON() ([]byte, error)
func (AddressLocation) QualifiedIdentifier ¶ added in v0.12.0
func (l AddressLocation) QualifiedIdentifier(typeID TypeID) string
func (AddressLocation) String ¶ added in v0.12.0
func (l AddressLocation) String() string
func (AddressLocation) TypeID ¶ added in v0.12.0
func (l AddressLocation) TypeID(memoryGauge MemoryGauge, qualifiedIdentifier string) TypeID
type CompositeKind ¶
type CompositeKind uint
const ( CompositeKindUnknown CompositeKind = iota CompositeKindStructure CompositeKindResource CompositeKindContract CompositeKindEvent CompositeKindEnum CompositeKindAttachment )
func (CompositeKind) Annotation ¶
func (k CompositeKind) Annotation() string
func (CompositeKind) ConstructionKeyword ¶
func (k CompositeKind) ConstructionKeyword() string
func (CompositeKind) DeclarationKind ¶
func (k CompositeKind) DeclarationKind(isInterface bool) DeclarationKind
func (CompositeKind) DestructionKeyword ¶
func (k CompositeKind) DestructionKeyword() any
func (CompositeKind) Keyword ¶
func (k CompositeKind) Keyword() string
func (CompositeKind) MarshalJSON ¶ added in v0.8.0
func (k CompositeKind) MarshalJSON() ([]byte, error)
func (CompositeKind) MoveOperator ¶
func (k CompositeKind) MoveOperator() string
func (CompositeKind) Name ¶
func (k CompositeKind) Name() string
func (CompositeKind) String ¶
func (i CompositeKind) String() string
func (CompositeKind) SupportsAttachments ¶ added in v0.36.0
func (k CompositeKind) SupportsAttachments() bool
func (CompositeKind) SupportsInterfaces ¶
func (k CompositeKind) SupportsInterfaces() bool
func (CompositeKind) TransferOperator ¶
func (k CompositeKind) TransferOperator() string
type ComputationKind ¶ added in v0.23.2
type ComputationKind uint
ComputationKind captures kind of computation that would be used for metring computation
const ( ComputationKindUnknown ComputationKind = 0 // interpreter - base ComputationKindStatement ComputationKind = ComputationKindRangeStart + iota ComputationKindLoop ComputationKindFunctionInvocation // interpreter value operations ComputationKindCreateCompositeValue ComputationKindTransferCompositeValue ComputationKindDestroyCompositeValue ComputationKindCreateArrayValue ComputationKindTransferArrayValue ComputationKindDestroyArrayValue ComputationKindCreateDictionaryValue ComputationKindTransferDictionaryValue ComputationKindDestroyDictionaryValue ComputationKindEncodeValue // stdlibs computation kinds // ComputationKindSTDLIBPanic ComputationKindSTDLIBAssert ComputationKindSTDLIBRevertibleRandom // RLP ComputationKindSTDLIBRLPDecodeString ComputationKindSTDLIBRLPDecodeList )
func (ComputationKind) String ¶ added in v0.23.2
func (i ComputationKind) String() string
type ControlStatement ¶
type ControlStatement uint
const ( ControlStatementUnknown ControlStatement = iota ControlStatementBreak ControlStatementContinue )
func (ControlStatement) String ¶
func (i ControlStatement) String() string
func (ControlStatement) Symbol ¶
func (s ControlStatement) Symbol() string
type DeclarationKind ¶
type DeclarationKind uint
const ( DeclarationKindUnknown DeclarationKind = iota DeclarationKindValue DeclarationKindFunction DeclarationKindVariable DeclarationKindConstant DeclarationKindType DeclarationKindParameter DeclarationKindArgumentLabel DeclarationKindStructure DeclarationKindResource DeclarationKindContract DeclarationKindEvent DeclarationKindField DeclarationKindInitializer DeclarationKindDestructorLegacy DeclarationKindStructureInterface DeclarationKindResourceInterface DeclarationKindContractInterface DeclarationKindEntitlement DeclarationKindEntitlementMapping DeclarationKindImport DeclarationKindSelf DeclarationKindBase DeclarationKindTransaction DeclarationKindPrepare DeclarationKindExecute DeclarationKindTypeParameter DeclarationKindPragma DeclarationKindEnum DeclarationKindEnumCase DeclarationKindAttachment )
func (DeclarationKind) IsInterfaceDeclaration ¶ added in v1.0.0
func (k DeclarationKind) IsInterfaceDeclaration() bool
func (DeclarationKind) IsTypeDeclaration ¶
func (k DeclarationKind) IsTypeDeclaration() bool
func (DeclarationKind) Keywords ¶
func (k DeclarationKind) Keywords() string
func (DeclarationKind) MarshalJSON ¶ added in v0.8.0
func (k DeclarationKind) MarshalJSON() ([]byte, error)
func (DeclarationKind) Name ¶
func (k DeclarationKind) Name() string
func (DeclarationKind) String ¶
func (i DeclarationKind) String() string
type DeclarationKindSet ¶ added in v0.31.6
type DeclarationKindSet uint64
const ( EmptyDeclarationKindSet DeclarationKindSet = 0 AllDeclarationKindsSet DeclarationKindSet = math.MaxUint64 )
func NewDeclarationKindSet ¶ added in v0.31.6
func NewDeclarationKindSet(declarationKinds ...DeclarationKind) DeclarationKindSet
func (DeclarationKindSet) Has ¶ added in v0.31.6
func (s DeclarationKindSet) Has(kind DeclarationKind) bool
func (DeclarationKindSet) With ¶ added in v0.31.6
func (s DeclarationKindSet) With(kind DeclarationKind) DeclarationKindSet
type HasLocation ¶ added in v0.25.0
type HasLocation interface {
ImportLocation() Location
}
type IdentifierLocation ¶ added in v0.12.0
type IdentifierLocation string
IdentifierLocation
func NewIdentifierLocation ¶ added in v0.24.0
func NewIdentifierLocation(gauge MemoryGauge, id string) IdentifierLocation
func (IdentifierLocation) Description ¶ added in v0.25.0
func (l IdentifierLocation) Description() string
func (IdentifierLocation) ID ¶ added in v0.12.0
func (l IdentifierLocation) ID() string
func (IdentifierLocation) MarshalJSON ¶ added in v0.12.0
func (l IdentifierLocation) MarshalJSON() ([]byte, error)
func (IdentifierLocation) QualifiedIdentifier ¶ added in v0.12.0
func (l IdentifierLocation) QualifiedIdentifier(typeID TypeID) string
func (IdentifierLocation) String ¶ added in v0.12.0
func (l IdentifierLocation) String() string
func (IdentifierLocation) TypeID ¶ added in v0.12.0
func (l IdentifierLocation) TypeID(memoryGauge MemoryGauge, qualifiedIdentifier string) TypeID
type Incomparable ¶ added in v1.0.0
type Incomparable [0]func()
Incomparable (the zero-sized type [0]func()) makes the surrounding incomparable. It is crucial to ensure its placed at the beginning or middle of the surrounding struct, and NOT at the end of the struct, as otherwise the compiler will add padding bytes. See https://i.hsfzxjy.site/zst-at-the-rear-of-go-struct/ for more details
type IntegerLiteralKind ¶ added in v0.30.0
type IntegerLiteralKind uint
const ( IntegerLiteralKindUnknown IntegerLiteralKind = iota IntegerLiteralKindBinary IntegerLiteralKindOctal IntegerLiteralKindDecimal IntegerLiteralKindHexadecimal )
func (IntegerLiteralKind) Base ¶ added in v0.30.0
func (k IntegerLiteralKind) Base() int
func (IntegerLiteralKind) Name ¶ added in v0.30.0
func (k IntegerLiteralKind) Name() string
func (IntegerLiteralKind) String ¶ added in v0.30.0
func (i IntegerLiteralKind) String() string
type Location ¶ added in v0.12.0
type Location interface { fmt.Stringer // TypeID returns a type ID for the given qualified identifier TypeID(memoryGauge MemoryGauge, qualifiedIdentifier string) TypeID // QualifiedIdentifier returns the qualified identifier for the given type ID QualifiedIdentifier(typeID TypeID) string // Description returns a human-readable description. For example, it can be used in error messages Description() string // ID returns a string representation of the location, including the location prefix. // This is helpful to differentiate a location, e.g in the context of code coverage. ID() string }
Location describes the origin of a Cadence script. This could be a file, a transaction, or a smart contract.
func DecodeTypeID ¶ added in v0.12.0
func DecodeTypeID(gauge MemoryGauge, typeID string) (location Location, qualifiedIdentifier string, err error)
type MemoryGauge ¶ added in v0.24.0
type MemoryGauge interface {
MeterMemory(usage MemoryUsage) error
}
type MemoryKind ¶ added in v0.24.0
type MemoryKind uint
MemoryKind
const ( MemoryKindUnknown MemoryKind = iota MemoryKindAddressValue MemoryKindStringValue MemoryKindCharacterValue MemoryKindNumberValue MemoryKindArrayValueBase MemoryKindDictionaryValueBase MemoryKindCompositeValueBase MemoryKindSimpleCompositeValueBase MemoryKindOptionalValue MemoryKindTypeValue MemoryKindPathValue MemoryKindCapabilityValue MemoryKindStorageReferenceValue MemoryKindEphemeralReferenceValue MemoryKindInterpretedFunctionValue MemoryKindHostFunctionValue MemoryKindBoundFunctionValue MemoryKindBigInt MemoryKindSimpleCompositeValue MemoryKindPublishedValue MemoryKindStorageCapabilityControllerValue MemoryKindAccountCapabilityControllerValue // Atree Nodes MemoryKindAtreeArrayDataSlab MemoryKindAtreeArrayMetaDataSlab MemoryKindAtreeArrayElementOverhead MemoryKindAtreeMapDataSlab MemoryKindAtreeMapMetaDataSlab MemoryKindAtreeMapElementOverhead MemoryKindAtreeMapPreAllocatedElement MemoryKindAtreeEncodedSlab // Static Types MemoryKindPrimitiveStaticType MemoryKindCompositeStaticType MemoryKindInterfaceStaticType MemoryKindVariableSizedStaticType MemoryKindConstantSizedStaticType MemoryKindDictionaryStaticType MemoryKindInclusiveRangeStaticType MemoryKindOptionalStaticType MemoryKindIntersectionStaticType MemoryKindEntitlementSetStaticAccess MemoryKindEntitlementMapStaticAccess MemoryKindReferenceStaticType MemoryKindCapabilityStaticType MemoryKindFunctionStaticType // Cadence Values MemoryKindCadenceVoidValue MemoryKindCadenceOptionalValue MemoryKindCadenceBoolValue MemoryKindCadenceStringValue MemoryKindCadenceCharacterValue MemoryKindCadenceAddressValue MemoryKindCadenceIntValue MemoryKindCadenceNumberValue MemoryKindCadenceArrayValueBase MemoryKindCadenceArrayValueLength MemoryKindCadenceDictionaryValue MemoryKindCadenceInclusiveRangeValue MemoryKindCadenceKeyValuePair MemoryKindCadenceStructValueBase MemoryKindCadenceStructValueSize MemoryKindCadenceResourceValueBase MemoryKindCadenceAttachmentValueBase MemoryKindCadenceResourceValueSize MemoryKindCadenceAttachmentValueSize MemoryKindCadenceEventValueBase MemoryKindCadenceEventValueSize MemoryKindCadenceContractValueBase MemoryKindCadenceContractValueSize MemoryKindCadenceEnumValueBase MemoryKindCadenceEnumValueSize MemoryKindCadencePathValue MemoryKindCadenceTypeValue MemoryKindCadenceCapabilityValue MemoryKindCadenceFunctionValue // Cadence Types MemoryKindCadenceOptionalType MemoryKindCadenceVariableSizedArrayType MemoryKindCadenceConstantSizedArrayType MemoryKindCadenceDictionaryType MemoryKindCadenceInclusiveRangeType MemoryKindCadenceField MemoryKindCadenceParameter MemoryKindCadenceTypeParameter MemoryKindCadenceStructType MemoryKindCadenceResourceType MemoryKindCadenceAttachmentType MemoryKindCadenceEventType MemoryKindCadenceContractType MemoryKindCadenceStructInterfaceType MemoryKindCadenceResourceInterfaceType MemoryKindCadenceContractInterfaceType MemoryKindCadenceFunctionType MemoryKindCadenceEntitlementSetAccess MemoryKindCadenceEntitlementMapAccess MemoryKindCadenceReferenceType MemoryKindCadenceIntersectionType MemoryKindCadenceCapabilityType MemoryKindCadenceEnumType MemoryKindRawString MemoryKindAddressLocation MemoryKindBytes MemoryKindVariable MemoryKindCompositeTypeInfo MemoryKindCompositeField MemoryKindInvocation MemoryKindStorageMap MemoryKindStorageKey MemoryKindTypeToken MemoryKindErrorToken MemoryKindSpaceToken MemoryKindProgram MemoryKindIdentifier MemoryKindArgument MemoryKindBlock MemoryKindFunctionBlock MemoryKindParameter MemoryKindParameterList MemoryKindTypeParameter MemoryKindTypeParameterList MemoryKindTransfer MemoryKindMembers MemoryKindTypeAnnotation MemoryKindDictionaryEntry MemoryKindFunctionDeclaration MemoryKindCompositeDeclaration MemoryKindAttachmentDeclaration MemoryKindInterfaceDeclaration MemoryKindEntitlementDeclaration MemoryKindEntitlementMappingElement MemoryKindEntitlementMappingDeclaration MemoryKindEnumCaseDeclaration MemoryKindFieldDeclaration MemoryKindTransactionDeclaration MemoryKindImportDeclaration MemoryKindVariableDeclaration MemoryKindSpecialFunctionDeclaration MemoryKindPragmaDeclaration MemoryKindAssignmentStatement MemoryKindBreakStatement MemoryKindContinueStatement MemoryKindEmitStatement MemoryKindExpressionStatement MemoryKindForStatement MemoryKindIfStatement MemoryKindReturnStatement MemoryKindSwapStatement MemoryKindSwitchStatement MemoryKindWhileStatement MemoryKindRemoveStatement MemoryKindBooleanExpression MemoryKindVoidExpression MemoryKindNilExpression MemoryKindStringExpression MemoryKindIntegerExpression MemoryKindFixedPointExpression MemoryKindArrayExpression MemoryKindDictionaryExpression MemoryKindIdentifierExpression MemoryKindInvocationExpression MemoryKindMemberExpression MemoryKindIndexExpression MemoryKindConditionalExpression MemoryKindUnaryExpression MemoryKindBinaryExpression MemoryKindFunctionExpression MemoryKindCastingExpression MemoryKindCreateExpression MemoryKindDestroyExpression MemoryKindReferenceExpression MemoryKindForceExpression MemoryKindPathExpression MemoryKindAttachExpression MemoryKindConstantSizedType MemoryKindDictionaryType MemoryKindFunctionType MemoryKindInstantiationType MemoryKindNominalType MemoryKindOptionalType MemoryKindReferenceType MemoryKindIntersectionType MemoryKindVariableSizedType MemoryKindPosition MemoryKindRange MemoryKindElaboration MemoryKindActivation MemoryKindActivationEntries // sema types MemoryKindVariableSizedSemaType MemoryKindConstantSizedSemaType MemoryKindDictionarySemaType MemoryKindOptionalSemaType MemoryKindIntersectionSemaType MemoryKindReferenceSemaType MemoryKindEntitlementSemaType MemoryKindEntitlementMapSemaType MemoryKindEntitlementRelationSemaType MemoryKindCapabilitySemaType MemoryKindInclusiveRangeSemaType // ordered-map MemoryKindOrderedMap MemoryKindOrderedMapEntryList MemoryKindOrderedMapEntry // Placeholder kind to allow consistent indexing // this should always be the last kind MemoryKindLast )
func (MemoryKind) String ¶ added in v0.24.0
func (i MemoryKind) String() string
type MemoryUsage ¶ added in v0.24.0
type MemoryUsage struct { Kind MemoryKind Amount uint64 }
func NewArrayExpressionMemoryUsage ¶ added in v0.24.0
func NewArrayExpressionMemoryUsage(length int) MemoryUsage
func NewAtreeEncodedSlabMemoryUsage ¶ added in v0.24.0
func NewAtreeEncodedSlabMemoryUsage(slabsCount uint) MemoryUsage
func NewAtreeMapPreAllocatedElementsMemoryUsage ¶ added in v0.24.0
func NewAtreeMapPreAllocatedElementsMemoryUsage(count uint64, elementSize uint) MemoryUsage
func NewBigIntMemoryUsage ¶ added in v0.24.0
func NewBigIntMemoryUsage(bytes int) MemoryUsage
func NewBitwiseAndBigIntMemoryUsage ¶ added in v0.24.0
func NewBitwiseAndBigIntMemoryUsage(a, b *big.Int) MemoryUsage
func NewBitwiseLeftShiftBigIntMemoryUsage ¶ added in v0.24.0
func NewBitwiseLeftShiftBigIntMemoryUsage(a, b *big.Int) MemoryUsage
func NewBitwiseOrBigIntMemoryUsage ¶ added in v0.24.0
func NewBitwiseOrBigIntMemoryUsage(a, b *big.Int) MemoryUsage
func NewBitwiseRightShiftBigIntMemoryUsage ¶ added in v0.24.0
func NewBitwiseRightShiftBigIntMemoryUsage(a, b *big.Int) MemoryUsage
func NewBitwiseXorBigIntMemoryUsage ¶ added in v0.24.0
func NewBitwiseXorBigIntMemoryUsage(a, b *big.Int) MemoryUsage
func NewBytesMemoryUsage ¶ added in v0.24.0
func NewBytesMemoryUsage(length int) MemoryUsage
func NewCadenceBigIntMemoryUsage ¶ added in v0.24.0
func NewCadenceBigIntMemoryUsage(bytes int) MemoryUsage
func NewCadenceCharacterMemoryUsage ¶ added in v0.24.0
func NewCadenceCharacterMemoryUsage(length int) MemoryUsage
func NewCadenceIntMemoryUsage ¶ added in v0.24.0
func NewCadenceIntMemoryUsage(bytes int) MemoryUsage
func NewCadenceNumberMemoryUsage ¶ added in v0.24.0
func NewCadenceNumberMemoryUsage(bytes int) MemoryUsage
func NewCadenceStringMemoryUsage ¶ added in v0.24.0
func NewCadenceStringMemoryUsage(length int) MemoryUsage
func NewCharacterMemoryUsage ¶ added in v0.24.0
func NewCharacterMemoryUsage(length int) MemoryUsage
func NewConstantMemoryUsage ¶ added in v0.24.0
func NewConstantMemoryUsage(kind MemoryKind) MemoryUsage
func NewDictionaryExpressionMemoryUsage ¶ added in v0.24.0
func NewDictionaryExpressionMemoryUsage(length int) MemoryUsage
func NewDivBigIntMemoryUsage ¶ added in v0.24.0
func NewDivBigIntMemoryUsage(a, b *big.Int) MemoryUsage
func NewMembersMemoryUsage ¶ added in v0.24.0
func NewMembersMemoryUsage(length int) MemoryUsage
func NewMinusBigIntMemoryUsage ¶ added in v0.24.0
func NewMinusBigIntMemoryUsage(a, b *big.Int) MemoryUsage
func NewModBigIntMemoryUsage ¶ added in v0.24.0
func NewModBigIntMemoryUsage(a, b *big.Int) MemoryUsage
func NewMulBigIntMemoryUsage ¶ added in v0.24.0
func NewMulBigIntMemoryUsage(a, b *big.Int) MemoryUsage
func NewNegateBigIntMemoryUsage ¶ added in v0.24.0
func NewNegateBigIntMemoryUsage(b *big.Int) MemoryUsage
func NewNumberMemoryUsage ¶ added in v0.24.0
func NewNumberMemoryUsage(bytes int) MemoryUsage
func NewPlusBigIntMemoryUsage ¶ added in v0.24.0
func NewPlusBigIntMemoryUsage(a, b *big.Int) MemoryUsage
func NewRawStringMemoryUsage ¶ added in v0.24.0
func NewRawStringMemoryUsage(length int) MemoryUsage
func NewSimpleCompositeMemoryUsage ¶ added in v0.24.0
func NewSimpleCompositeMemoryUsage(length int) MemoryUsage
func NewStringMemoryUsage ¶ added in v0.24.0
func NewStringMemoryUsage(length int) MemoryUsage
type OperandSide ¶
type OperandSide uint
const ( OperandSideUnknown OperandSide = iota OperandSideLeft OperandSideRight )
func (OperandSide) Name ¶
func (s OperandSide) Name() string
func (OperandSide) String ¶
func (i OperandSide) String() string
type OperationKind ¶
type OperationKind uint
const ( OperationKindUnknown OperationKind = iota OperationKindUnary OperationKindBinary OperationKindTernary )
func (OperationKind) Name ¶
func (k OperationKind) Name() string
func (OperationKind) String ¶
func (i OperationKind) String() string
type PathDomain ¶
type PathDomain uint8
const ( PathDomainUnknown PathDomain = iota PathDomainStorage PathDomainPrivate PathDomainPublic )
func PathDomainFromIdentifier ¶
func PathDomainFromIdentifier(domain string) PathDomain
func (PathDomain) Identifier ¶
func (i PathDomain) Identifier() string
func (PathDomain) String ¶
func (i PathDomain) String() string
type REPLLocation ¶ added in v0.12.0
type REPLLocation struct{}
REPLLocation
func (REPLLocation) Description ¶ added in v0.25.0
func (l REPLLocation) Description() string
func (REPLLocation) ID ¶ added in v0.12.0
func (l REPLLocation) ID() string
func (REPLLocation) MarshalJSON ¶ added in v0.12.0
func (l REPLLocation) MarshalJSON() ([]byte, error)
func (REPLLocation) QualifiedIdentifier ¶ added in v0.12.0
func (l REPLLocation) QualifiedIdentifier(typeID TypeID) string
func (REPLLocation) String ¶ added in v0.12.0
func (l REPLLocation) String() string
func (REPLLocation) TypeID ¶ added in v0.12.0
func (l REPLLocation) TypeID(memoryGauge MemoryGauge, qualifiedIdentifier string) TypeID
type ScriptLocation ¶ added in v0.12.0
type ScriptLocation [ScriptIDLength]byte
ScriptLocation
func NewScriptLocation ¶ added in v0.24.0
func NewScriptLocation(gauge MemoryGauge, identifier []byte) (location ScriptLocation)
func (ScriptLocation) Description ¶ added in v0.25.0
func (l ScriptLocation) Description() string
func (ScriptLocation) ID ¶ added in v0.12.0
func (l ScriptLocation) ID() string
func (ScriptLocation) MarshalJSON ¶ added in v0.12.0
func (l ScriptLocation) MarshalJSON() ([]byte, error)
func (ScriptLocation) QualifiedIdentifier ¶ added in v0.12.0
func (l ScriptLocation) QualifiedIdentifier(typeID TypeID) string
func (ScriptLocation) String ¶ added in v0.12.0
func (l ScriptLocation) String() string
func (ScriptLocation) TypeID ¶ added in v0.12.0
func (l ScriptLocation) TypeID(memoryGauge MemoryGauge, qualifiedIdentifier string) TypeID
type StringLocation ¶ added in v0.12.0
type StringLocation string
StringLocation
func NewStringLocation ¶ added in v0.24.0
func NewStringLocation(gauge MemoryGauge, id string) StringLocation
func (StringLocation) Description ¶ added in v0.25.0
func (l StringLocation) Description() string
func (StringLocation) ID ¶ added in v0.12.0
func (l StringLocation) ID() string
func (StringLocation) MarshalJSON ¶ added in v0.12.0
func (l StringLocation) MarshalJSON() ([]byte, error)
func (StringLocation) QualifiedIdentifier ¶ added in v0.12.0
func (l StringLocation) QualifiedIdentifier(typeID TypeID) string
func (StringLocation) String ¶ added in v0.12.0
func (l StringLocation) String() string
func (StringLocation) TypeID ¶ added in v0.12.0
func (l StringLocation) TypeID(memoryGauge MemoryGauge, qualifiedIdentifier string) TypeID
type TransactionLocation ¶ added in v0.12.0
type TransactionLocation [TransactionIDLength]byte
TransactionLocation
func NewTransactionLocation ¶ added in v0.24.0
func NewTransactionLocation(gauge MemoryGauge, identifier []byte) (location TransactionLocation)
func (TransactionLocation) Description ¶ added in v0.25.0
func (l TransactionLocation) Description() string
func (TransactionLocation) ID ¶ added in v0.12.0
func (l TransactionLocation) ID() string
func (TransactionLocation) MarshalJSON ¶ added in v0.12.0
func (l TransactionLocation) MarshalJSON() ([]byte, error)
func (TransactionLocation) QualifiedIdentifier ¶ added in v0.12.0
func (l TransactionLocation) QualifiedIdentifier(typeID TypeID) string
func (TransactionLocation) String ¶ added in v0.12.0
func (l TransactionLocation) String() string
func (TransactionLocation) TypeID ¶ added in v0.12.0
func (l TransactionLocation) TypeID(memoryGauge MemoryGauge, qualifiedIdentifier string) TypeID
type TypeID ¶ added in v0.12.0
type TypeID string
TypeID
func NewTypeIDFromQualifiedName ¶ added in v0.24.0
func NewTypeIDFromQualifiedName(memoryGauge MemoryGauge, location Location, qualifiedIdentifier string) TypeID
type TypeIDDecoder ¶ added in v0.12.0
type TypeIDDecoder func(gauge MemoryGauge, typeID string) (location Location, qualifiedIdentifier string, err error)
Source Files ¶
- address.go
- addresslocation.go
- bigint.go
- compositekind.go
- compositekind_string.go
- computationkind.go
- computationkind_string.go
- concat.go
- controlstatement.go
- controlstatement_string.go
- declarationkind.go
- declarationkind_string.go
- enumerate.go
- identifierlocation.go
- incomparable.go
- integerliteralkind.go
- integerliteralkind_string.go
- location.go
- memorykind.go
- memorykind_string.go
- metering.go
- operandside.go
- operandside_string.go
- operationkind.go
- operationkind_string.go
- pathdomain.go
- pathdomain_string.go
- repllocation.go
- scriptlocation.go
- slice_utils.go
- stringlocation.go
- transactionlocation.go
Directories ¶
Path | Synopsis |
---|---|
Package list implements a doubly linked list.
|
Package list implements a doubly linked list. |