builtInFunctions

package
v1.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 25, 2025 License: GPL-3.0 Imports: 20 Imported by: 21

Documentation

Index

Constants

View Source
const (
	// MetadataPaused is the location of paused flag in the esdt global meta data
	MetadataPaused = 1
	// MetadataLimitedTransfer is the location of limited transfer flag in the esdt global meta data
	MetadataLimitedTransfer = 2
	// BurnRoleForAll is the location of burn role for all flag in the esdt global meta data
	BurnRoleForAll = 4
)
View Source
const (
	GlobalMintBurnFlag                          core.EnableEpochFlag = "GlobalMintBurnFlag"
	ESDTTransferRoleFlag                        core.EnableEpochFlag = "ESDTTransferRoleFlag"
	CheckFunctionArgumentFlag                   core.EnableEpochFlag = "CheckFunctionArgumentFlag"
	CheckCorrectTokenIDForTransferRoleFlag      core.EnableEpochFlag = "CheckCorrectTokenIDForTransferRoleFlag"
	FixAsyncCallbackCheckFlag                   core.EnableEpochFlag = "FixAsyncCallbackCheckFlag"
	SaveToSystemAccountFlag                     core.EnableEpochFlag = "SaveToSystemAccountFlag"
	CheckFrozenCollectionFlag                   core.EnableEpochFlag = "CheckFrozenCollectionFlag"
	SendAlwaysFlag                              core.EnableEpochFlag = "SendAlwaysFlag"
	ValueLengthCheckFlag                        core.EnableEpochFlag = "ValueLengthCheckFlag"
	CheckTransferFlag                           core.EnableEpochFlag = "CheckTransferFlag"
	ESDTNFTImprovementV1Flag                    core.EnableEpochFlag = "ESDTNFTImprovementV1Flag"
	FixOldTokenLiquidityFlag                    core.EnableEpochFlag = "FixOldTokenLiquidityFlag"
	WipeSingleNFTLiquidityDecreaseFlag          core.EnableEpochFlag = "WipeSingleNFTLiquidityDecreaseFlag"
	AlwaysSaveTokenMetaDataFlag                 core.EnableEpochFlag = "AlwaysSaveTokenMetaDataFlag"
	SetGuardianFlag                             core.EnableEpochFlag = "SetGuardianFlag"
	ConsistentTokensValuesLengthCheckFlag       core.EnableEpochFlag = "ConsistentTokensValuesLengthCheckFlag"
	ChangeUsernameFlag                          core.EnableEpochFlag = "ChangeUsernameFlag"
	AutoBalanceDataTriesFlag                    core.EnableEpochFlag = "AutoBalanceDataTriesFlag"
	ScToScLogEventFlag                          core.EnableEpochFlag = "ScToScLogEventFlag"
	FixGasRemainingForSaveKeyValueFlag          core.EnableEpochFlag = "FixGasRemainingForSaveKeyValueFlag"
	IsChangeOwnerAddressCrossShardThroughSCFlag core.EnableEpochFlag = "IsChangeOwnerAddressCrossShardThroughSCFlag"
	MigrateDataTrieFlag                         core.EnableEpochFlag = "MigrateDataTrieFlag"
	DynamicEsdtFlag                             core.EnableEpochFlag = "DynamicEsdtFlag"
	EGLDInESDTMultiTransferFlag                 core.EnableEpochFlag = "EGLDInESDTMultiTransferFlag"
)

Enable epoch flags definitions

View Source
const (
	// MetadataFrozen is the location of frozen flag in the esdt user meta data
	MetadataFrozen = 1
)

Variables

View Source
var ErrAccountNotPayable = errors.New("sending value to non payable contract")

ErrAccountNotPayable will be sent when trying to send tokens to a non-payableCheck account

View Source
var ErrActionNotAllowed = errors.New("action is not allowed")

ErrActionNotAllowed signals that action is not allowed

View Source
var ErrAddressIsNotAllowed = errors.New("address is not allowed to do the action")

ErrAddressIsNotAllowed signals that sender is not allowed to do the action

View Source
var ErrAddressIsNotESDTSystemSC = errors.New("destination is not system sc address")

ErrAddressIsNotESDTSystemSC signals that destination is not a system sc address

View Source
var ErrBuiltInFunctionCalledWithValue = errors.New("built in function called with tx value is not allowed")

ErrBuiltInFunctionCalledWithValue signals that builtin function was called with value that is not allowed

View Source
var ErrBuiltInFunctionIsNotActive = errors.New("built-in function is not active")

ErrBuiltInFunctionIsNotActive signals that built-in function is not active

View Source
var ErrCallerIsNotTheDNSAddress = errors.New("not a dns address")

ErrCallerIsNotTheDNSAddress signals that called address is not the DNS address

View Source
var ErrCannotMigrateNilUserName = errors.New("cannot migrate nil username")

ErrCannotMigrateNilUserName signals that a nil username is migrated

View Source
var ErrCannotSetOwnAddressAsGuardian = errors.New("cannot set own address as guardian")

ErrCannotSetOwnAddressAsGuardian signals that an owner cannot set its own address as guardian

View Source
var ErrCannotWipeAccountNotFrozen = errors.New("cannot wipe because the account is not frozen for this esdt token")

ErrCannotWipeAccountNotFrozen signals that account isn't frozen so the wipe is not possible

View Source
var ErrContainerKeyAlreadyExists = errors.New("provided key already exists in container")

ErrContainerKeyAlreadyExists signals that an element was already set in the container's map

View Source
var ErrESDTIsFrozenForAccount = errors.New("account is frozen for this esdt token")

ErrESDTIsFrozenForAccount signals that account is frozen for given esdt token

View Source
var ErrESDTTokenIsPaused = errors.New("esdt token is paused")

ErrESDTTokenIsPaused signals that esdt token is paused

View Source
var ErrEmptyFunctionName = errors.New("empty function name")

ErrEmptyFunctionName signals that an empty function name has been provided

View Source
var ErrGuardianAlreadyExists = errors.New("a guardian with the same address already exists")

ErrGuardianAlreadyExists signals that a guardian with the same address already exists

View Source
var ErrInsufficientFunds = errors.New("insufficient funds")

ErrInsufficientFunds signals the funds are insufficient for the move balance operation but the transaction fee is covered by the current balance

View Source
var ErrInsufficientQuantityESDT = errors.New("insufficient quantity")

ErrInsufficientQuantityESDT signals the funds are insufficient for the ESDT transfer

View Source
var ErrInvalidAddress = errors.New("invalid address")

ErrInvalidAddress signals that an invalid address has been provided

View Source
var ErrInvalidAddressLength = errors.New("invalid address length")

ErrInvalidAddressLength signals that address length is invalid

View Source
var ErrInvalidArguments = errors.New("invalid arguments to process built-in function")

ErrInvalidArguments signals that invalid arguments were given to process built-in function

View Source
var ErrInvalidContainerKey = errors.New("element does not exist in container")

ErrInvalidContainerKey signals that an element does not exist in the container's map

View Source
var ErrInvalidEsdtValue = errors.New("invalid esdt value provided")

ErrInvalidEsdtValue signals that a nil value has been provided

View Source
var ErrInvalidLiquidityForESDT = errors.New("invalid liquidity for ESDT")

ErrInvalidLiquidityForESDT signals that liquidity is invalid for ESDT

View Source
var ErrInvalidMaxNumAddresses = errors.New("invalid max number of addresses")

ErrInvalidMaxNumAddresses signals that there is an invalid max number of addresses

View Source
var ErrInvalidMetadata = errors.New("invalid metadata")

ErrInvalidMetadata signals that invalid metadata was provided

View Source
var ErrInvalidNFTQuantity = errors.New("invalid NFT quantity")

ErrInvalidNFTQuantity signals that invalid NFT quantity was provided

View Source
var ErrInvalidNonce = errors.New("invalid nonce for esdt")

ErrInvalidNonce signals that invalid nonce for esdt

View Source
var ErrInvalidNumOfArgs = errors.New("invalid number of arguments")

ErrInvalidNumOfArgs signals that the number of arguments is invalid

View Source
var ErrInvalidNumberOfArguments = errors.New("invalid number of arguments")

ErrInvalidNumberOfArguments signals that an invalid number of arguments has been provided

View Source
var ErrInvalidRcvAddr = errors.New("invalid receiver address")

ErrInvalidRcvAddr signals that an invalid receiver address was provided

View Source
var ErrInvalidServiceUID = errors.New("service UID is invalid")

ErrInvalidServiceUID signals that an invalid service UID was provided

View Source
var ErrInvalidTokenID = errors.New("invalid tokenID")

ErrInvalidTokenID signals that invalid tokenID was provided

View Source
var ErrInvalidVersion = errors.New("invalid version")

ErrInvalidVersion signals that an invalid version has been provided

View Source
var ErrNFTDoesNotHaveMetadata = errors.New("NFT does not have metadata")

ErrNFTDoesNotHaveMetadata signals that NFT does not have metadata

View Source
var ErrNFTTokenDoesNotExist = errors.New("NFT token does not exist")

ErrNFTTokenDoesNotExist signals that NFT token does not exist

View Source
var ErrNegativeValue = errors.New("negative value")

ErrNegativeValue signals that a negative value has been detected and it is not allowed

View Source
var ErrNewNFTDataOnSenderAddress = errors.New("new NFT data on sender")

ErrNewNFTDataOnSenderAddress signals that a new NFT data was found on the sender address

View Source
var ErrNilAccountHandler = errors.New("nil account handler provided")

ErrNilAccountHandler signals that a nil account handler has been provided

View Source
var ErrNilAccountsAdapter = errors.New("nil AccountsAdapter")

ErrNilAccountsAdapter defines the error when trying to use a nil AccountsAddapter

View Source
var ErrNilActiveHandler = errors.New("nil active handler")

ErrNilActiveHandler signals that a nil active handler has been provided

View Source
var ErrNilBlockchainHook = errors.New("nil blockchain hook")

ErrNilBlockchainHook signals that a nil blockchain hook has been provided

View Source
var ErrNilContainerElement = errors.New("element cannot be nil")

ErrNilContainerElement signals when trying to add a nil element in the container

View Source
var ErrNilDnsAddresses = errors.New("nil dns addresses map")

ErrNilDnsAddresses signals that nil dns addresses map was provided

View Source
var ErrNilESDTData = errors.New("nil esdt data")

ErrNilESDTData signals that ESDT data does not exist

View Source
var ErrNilESDTNFTStorageHandler = errors.New("nil esdt nft storage handler")

ErrNilESDTNFTStorageHandler signals that a nil nft storage handler has been provided

View Source
var ErrNilEnableEpochsHandler = errors.New("nil enable epochs handler")

ErrNilEnableEpochsHandler signals that a nil enable epochs handler was provided

View Source
var ErrNilGlobalSettingsHandler = errors.New("nil pause handler")

ErrNilGlobalSettingsHandler signals that nil pause handler has been provided

View Source
var ErrNilGuardedAccountHandler = errors.New("nil guarded account handler")

ErrNilGuardedAccountHandler signals that a nil guarded account handler was provided

View Source
var ErrNilMarshalizer = errors.New("nil Marshalizer")

ErrNilMarshalizer signals that an operation has been attempted to or with a nil Marshalizer implementation

View Source
var ErrNilPayableHandler = errors.New("nil payableHandler was provided")

ErrNilPayableHandler signals that nil payableHandler was provided

View Source
var ErrNilRolesHandler = errors.New("nil roles handler")

ErrNilRolesHandler signals that nil roles handler has been provided

View Source
var ErrNilSCDestAccount = errors.New("nil destination SC account")

ErrNilSCDestAccount signals that destination account is nil

View Source
var ErrNilShardCoordinator = errors.New("nil shard coordinator")

ErrNilShardCoordinator signals that an operation has been attempted to or with a nil shard coordinator

View Source
var ErrNilTransactionHandler = errors.New("nil transaction handler")

ErrNilTransactionHandler signals that a nil transaction handler has been provided

View Source
var ErrNilUserAccount = errors.New("nil user account")

ErrNilUserAccount signals that nil user account was provided

View Source
var ErrNilValue = errors.New("nil value")

ErrNilValue signals the value is nil

View Source
var ErrNilVmInput = errors.New("nil vm input")

ErrNilVmInput signals that provided vm input is nil

View Source
var ErrNoGuardianEnabled = errors.New("account has no guardian enabled")

ErrNoGuardianEnabled signals that account has no guardian enabled

View Source
var ErrNotEnoughGas = errors.New("not enough gas was sent in the transaction")

ErrNotEnoughGas signals that not enough gas has been provided

View Source
var ErrOnlyFungibleTokensHaveBalanceTransfer = errors.New("only fungible tokens have balance transfer")

ErrOnlyFungibleTokensHaveBalanceTransfer signals that only fungible tokens have balance transfer

View Source
var ErrOnlySystemAccountAccepted = errors.New("only system account is accepted")

ErrOnlySystemAccountAccepted signals that only system account is accepted

View Source
var ErrOperationNotPermitted = errors.New("operation in account not permitted")

ErrOperationNotPermitted signals that operation is not permitted

View Source
var ErrOwnerAlreadyHasOneGuardianPending = errors.New("owner already has one guardian pending")

ErrOwnerAlreadyHasOneGuardianPending signals that an owner already has one guardian pending

View Source
var ErrSetGuardAccountFlag = errors.New("cannot guard account, it is already guarded")

ErrSetGuardAccountFlag signals that an account is already guarded when trying to guard it

View Source
var ErrSetUnGuardAccount = errors.New("cannot un-guard account, it is not guarded")

ErrSetUnGuardAccount signals that an account is already unguarded when trying to un-guard it

View Source
var ErrTokenHasValidMetadata = errors.New("token has valid metadata")

ErrTokenHasValidMetadata signals that token has a valid metadata

View Source
var ErrTooManyTransferAddresses = errors.New("too many transfer addresses")

ErrTooManyTransferAddresses signals that too many transfer address roles has been added

View Source
var ErrTypeNotSetInsideGlobalSettingsHandler = errors.New("type not set inside global settings handler")

ErrTypeNotSetInsideGlobalSettingsHandler signals that type is not set inside global settings handler

View Source
var ErrUserNameChangeIsDisabled = errors.New("user name change is disabled")

ErrUserNameChangeIsDisabled signals the user name change is not allowed

View Source
var ErrUserNamePrefixNotEqual = errors.New("user name prefix is not equal")

ErrUserNamePrefixNotEqual signals that user name prefix is not equal

View Source
var ErrWrongTypeAssertion = errors.New("wrong type assertion")

ErrWrongTypeAssertion signals that an type assertion failed

View Source
var ErrWrongTypeInContainer = errors.New("wrong type of object inside container")

ErrWrongTypeInContainer signals that a wrong type of object was found in container

View Source
var ErrWrongUserNameSplit = errors.New("wrong user name split")

ErrWrongUserNameSplit signals that user name split is wrong

Functions

func NewBlockchainDataProvider added in v1.5.13

func NewBlockchainDataProvider() *blockchainDataProvider

NewBlockchainDataProvider returns a new blockchain data provider

func NewBuiltInFunctionContainer

func NewBuiltInFunctionContainer() *functionContainer

NewBuiltInFunctionContainer will create a new instance of a container

func NewBuiltInFunctionsCreator

func NewBuiltInFunctionsCreator(args ArgsCreateBuiltInFunctionContainer) (*builtInFuncCreator, error)

NewBuiltInFunctionsCreator creates a component which will instantiate the built in functions contracts

func NewChangeOwnerAddressFunc

func NewChangeOwnerAddressFunc(gasCost uint64, enableEpochsHandler vmcommon.EnableEpochsHandler) (*changeOwnerAddress, error)

NewChangeOwnerAddressFunc create a new change owner built-in function

func NewClaimDeveloperRewardsFunc

func NewClaimDeveloperRewardsFunc(gasCost uint64) *claimDeveloperRewards

NewClaimDeveloperRewardsFunc returns a new developer rewards implementation

func NewDeleteUserNameFunc added in v1.4.2

func NewDeleteUserNameFunc(
	gasCost uint64,
	mapDnsAddresses map[string]struct{},
	enableEpochsHandler vmcommon.EnableEpochsHandler,
) (*deleteUserName, error)

NewDeleteUserNameFunc returns a delete username built in function implementation

func NewESDTBurnFunc

func NewESDTBurnFunc(
	funcGasCost uint64,
	marshaller vmcommon.Marshalizer,
	globalSettingsHandler vmcommon.ESDTGlobalSettingsHandler,
	enableEpochsHandler vmcommon.EnableEpochsHandler,
) (*esdtBurn, error)

NewESDTBurnFunc returns the esdt burn built-in function component

func NewESDTDataStorage

func NewESDTDataStorage(args ArgsNewESDTDataStorage) (*esdtDataStorage, error)

NewESDTDataStorage creates a new esdt data storage handler

func NewESDTDeleteMetadataFunc

func NewESDTDeleteMetadataFunc(
	args ArgsNewESDTDeleteMetadata,
) (*esdtDeleteMetaData, error)

NewESDTDeleteMetadataFunc returns the esdt metadata deletion built-in function component

func NewESDTFreezeWipeFunc

func NewESDTFreezeWipeFunc(
	esdtStorageHandler vmcommon.ESDTNFTStorageHandler,
	enableEpochsHandler vmcommon.EnableEpochsHandler,
	marshaller vmcommon.Marshalizer,
	freeze bool,
	wipe bool,
) (*esdtFreezeWipe, error)

NewESDTFreezeWipeFunc returns the esdt freeze/un-freeze/wipe built-in function component

func NewESDTGlobalSettingsFunc

func NewESDTGlobalSettingsFunc(
	accounts vmcommon.AccountsAdapter,
	marshaller marshal.Marshalizer,
	set bool,
	function string,
	activeHandler func() bool,
) (*esdtGlobalSettings, error)

NewESDTGlobalSettingsFunc returns the esdt pause/un-pause built-in function component

func NewESDTLocalBurnFunc

func NewESDTLocalBurnFunc(
	funcGasCost uint64,
	marshaller vmcommon.Marshalizer,
	globalSettingsHandler vmcommon.ExtendedESDTGlobalSettingsHandler,
	rolesHandler vmcommon.ESDTRoleHandler,
	enableEpochsHandler vmcommon.EnableEpochsHandler,
) (*esdtLocalBurn, error)

NewESDTLocalBurnFunc returns the esdt local burn built-in function component

func NewESDTLocalMintFunc

func NewESDTLocalMintFunc(
	funcGasCost uint64,
	marshaller vmcommon.Marshalizer,
	globalSettingsHandler vmcommon.ESDTGlobalSettingsHandler,
	rolesHandler vmcommon.ESDTRoleHandler,
	enableEpochsHandler vmcommon.EnableEpochsHandler,
) (*esdtLocalMint, error)

NewESDTLocalMintFunc returns the esdt local mint built-in function component

func NewESDTMetaDataRecreateFunc added in v1.5.13

func NewESDTMetaDataRecreateFunc(
	funcGasCost uint64,
	gasConfig vmcommon.BaseOperationCost,
	accounts vmcommon.AccountsAdapter,
	globalSettingsHandler vmcommon.GlobalMetadataHandler,
	storageHandler vmcommon.ESDTNFTStorageHandler,
	rolesHandler vmcommon.ESDTRoleHandler,
	enableEpochsHandler vmcommon.EnableEpochsHandler,
	marshaller marshal.Marshalizer,
) (*esdtMetaDataRecreate, error)

NewESDTMetaDataRecreateFunc returns the esdt meta data recreate built-in function component

func NewESDTMetaDataUpdateFunc added in v1.5.13

func NewESDTMetaDataUpdateFunc(
	funcGasCost uint64,
	gasConfig vmcommon.BaseOperationCost,
	accounts vmcommon.AccountsAdapter,
	globalSettingsHandler vmcommon.GlobalMetadataHandler,
	storageHandler vmcommon.ESDTNFTStorageHandler,
	rolesHandler vmcommon.ESDTRoleHandler,
	enableEpochsHandler vmcommon.EnableEpochsHandler,
	marshaller marshal.Marshalizer,
) (*esdtMetaDataUpdate, error)

NewESDTMetaDataUpdateFunc returns the esdt meta data update built-in function component

func NewESDTModifyCreatorFunc added in v1.5.13

func NewESDTModifyCreatorFunc(
	funcGasCost uint64,
	accounts vmcommon.AccountsAdapter,
	globalSettingsHandler vmcommon.GlobalMetadataHandler,
	storageHandler vmcommon.ESDTNFTStorageHandler,
	rolesHandler vmcommon.ESDTRoleHandler,
	enableEpochsHandler vmcommon.EnableEpochsHandler,
	marshaller marshal.Marshalizer,
) (*esdtModifyCreator, error)

NewESDTModifyCreatorFunc returns the esdt modify creator built-in function component

func NewESDTModifyRoyaltiesFunc added in v1.5.13

func NewESDTModifyRoyaltiesFunc(
	funcGasCost uint64,
	accounts vmcommon.AccountsAdapter,
	globalSettingsHandler vmcommon.GlobalMetadataHandler,
	storageHandler vmcommon.ESDTNFTStorageHandler,
	rolesHandler vmcommon.ESDTRoleHandler,
	enableEpochsHandler vmcommon.EnableEpochsHandler,
	marshaller marshal.Marshalizer,
) (*esdtModifyRoyalties, error)

NewESDTModifyRoyaltiesFunc returns the esdt modify royalties built-in function component

func NewESDTNFTAddQuantityFunc

func NewESDTNFTAddQuantityFunc(
	funcGasCost uint64,
	esdtStorageHandler vmcommon.ESDTNFTStorageHandler,
	globalSettingsHandler vmcommon.ESDTGlobalSettingsHandler,
	rolesHandler vmcommon.ESDTRoleHandler,
	enableEpochsHandler vmcommon.EnableEpochsHandler,
) (*esdtNFTAddQuantity, error)

NewESDTNFTAddQuantityFunc returns the esdt NFT add quantity built-in function component

func NewESDTNFTAddUriFunc

func NewESDTNFTAddUriFunc(
	funcGasCost uint64,
	gasConfig vmcommon.BaseOperationCost,
	esdtStorageHandler vmcommon.ESDTNFTStorageHandler,
	globalSettingsHandler vmcommon.ESDTGlobalSettingsHandler,
	rolesHandler vmcommon.ESDTRoleHandler,
	enableEpochsHandler vmcommon.EnableEpochsHandler,
	marshaller marshal.Marshalizer,
) (*esdtNFTAddUri, error)

NewESDTNFTAddUriFunc returns the esdt NFT add URI built-in function component

func NewESDTNFTBurnFunc

func NewESDTNFTBurnFunc(
	funcGasCost uint64,
	esdtStorageHandler vmcommon.ESDTNFTStorageHandler,
	globalSettingsHandler vmcommon.ExtendedESDTGlobalSettingsHandler,
	rolesHandler vmcommon.ESDTRoleHandler,
) (*esdtNFTBurn, error)

NewESDTNFTBurnFunc returns the esdt NFT burn built-in function component

func NewESDTNFTCreateFunc

func NewESDTNFTCreateFunc(
	funcGasCost uint64,
	gasConfig vmcommon.BaseOperationCost,
	marshaller vmcommon.Marshalizer,
	globalSettingsHandler vmcommon.GlobalMetadataHandler,
	rolesHandler vmcommon.ESDTRoleHandler,
	esdtStorageHandler vmcommon.ESDTNFTStorageHandler,
	accounts vmcommon.AccountsAdapter,
	enableEpochsHandler vmcommon.EnableEpochsHandler,
) (*esdtNFTCreate, error)

NewESDTNFTCreateFunc returns the esdt NFT create built-in function component

func NewESDTNFTCreateRoleTransfer

func NewESDTNFTCreateRoleTransfer(
	marshaller vmcommon.Marshalizer,
	accounts vmcommon.AccountsAdapter,
	shardCoordinator vmcommon.Coordinator,
) (*esdtNFTCreateRoleTransfer, error)

NewESDTNFTCreateRoleTransfer returns the esdt NFT create role transfer built-in function component

func NewESDTNFTMultiTransferFunc

func NewESDTNFTMultiTransferFunc(
	funcGasCost uint64,
	marshaller vmcommon.Marshalizer,
	globalSettingsHandler vmcommon.GlobalMetadataHandler,
	accounts vmcommon.AccountsAdapter,
	shardCoordinator vmcommon.Coordinator,
	gasConfig vmcommon.BaseOperationCost,
	enableEpochsHandler vmcommon.EnableEpochsHandler,
	roleHandler vmcommon.ESDTRoleHandler,
	esdtStorageHandler vmcommon.ESDTNFTStorageHandler,
) (*esdtNFTMultiTransfer, error)

NewESDTNFTMultiTransferFunc returns the esdt NFT multi transfer built-in function component

func NewESDTNFTTransferFunc

func NewESDTNFTTransferFunc(
	funcGasCost uint64,
	marshaller vmcommon.Marshalizer,
	globalSettingsHandler vmcommon.GlobalMetadataHandler,
	accounts vmcommon.AccountsAdapter,
	shardCoordinator vmcommon.Coordinator,
	gasConfig vmcommon.BaseOperationCost,
	rolesHandler vmcommon.ESDTRoleHandler,
	esdtStorageHandler vmcommon.ESDTNFTStorageHandler,
	enableEpochsHandler vmcommon.EnableEpochsHandler,
) (*esdtNFTTransfer, error)

NewESDTNFTTransferFunc returns the esdt NFT transfer built-in function component

func NewESDTNFTUpdateAttributesFunc

func NewESDTNFTUpdateAttributesFunc(
	funcGasCost uint64,
	gasConfig vmcommon.BaseOperationCost,
	esdtStorageHandler vmcommon.ESDTNFTStorageHandler,
	globalSettingsHandler vmcommon.ESDTGlobalSettingsHandler,
	rolesHandler vmcommon.ESDTRoleHandler,
	enableEpochsHandler vmcommon.EnableEpochsHandler,
	marshaller marshal.Marshalizer,
) (*esdtNFTupdate, error)

NewESDTNFTUpdateAttributesFunc returns the esdt NFT update attribute built-in function component

func NewESDTRolesFunc

func NewESDTRolesFunc(
	marshaller vmcommon.Marshalizer,
	set bool,
) (*esdtRoles, error)

NewESDTRolesFunc returns the esdt change roles built-in function component

func NewESDTSetNewURIsFunc added in v1.5.13

func NewESDTSetNewURIsFunc(
	funcGasCost uint64,
	gasConfig vmcommon.BaseOperationCost,
	accounts vmcommon.AccountsAdapter,
	globalSettingsHandler vmcommon.GlobalMetadataHandler,
	storageHandler vmcommon.ESDTNFTStorageHandler,
	rolesHandler vmcommon.ESDTRoleHandler,
	enableEpochsHandler vmcommon.EnableEpochsHandler,
	marshaller marshal.Marshalizer,
) (*esdtSetNewURIs, error)

NewESDTSetNewURIsFunc returns the esdt set new URIs built-in function component

func NewESDTSetTokenTypeFunc added in v1.5.13

func NewESDTSetTokenTypeFunc(
	accounts vmcommon.AccountsAdapter,
	globalSettingsHandler vmcommon.GlobalMetadataHandler,
	marshaller marshal.Marshalizer,
	activeHandler func() bool,
) (*esdtSetTokenType, error)

NewESDTSetTokenTypeFunc returns the esdt set token type built-in function component

func NewESDTTransferFunc

func NewESDTTransferFunc(
	funcGasCost uint64,
	marshaller vmcommon.Marshalizer,
	globalSettingsHandler vmcommon.ExtendedESDTGlobalSettingsHandler,
	shardCoordinator vmcommon.Coordinator,
	rolesHandler vmcommon.ESDTRoleHandler,
	enableEpochsHandler vmcommon.EnableEpochsHandler,
) (*esdtTransfer, error)

NewESDTTransferFunc returns the esdt transfer built-in function component

func NewESDTTransferRoleAddressFunc

func NewESDTTransferRoleAddressFunc(
	accounts vmcommon.AccountsAdapter,
	marshaller marshal.Marshalizer,
	maxNumAddresses uint32,
	set bool,
	enableEpochsHandler vmcommon.EnableEpochsHandler,
) (*esdtTransferAddress, error)

NewESDTTransferRoleAddressFunc returns the esdt transfer role address handler built-in function component

func NewGuardAccountFunc added in v1.3.38

func NewGuardAccountFunc(args GuardAccountArgs) (*guardAccountFunc, error)

NewGuardAccountFunc will instantiate a new guard account built-in function

func NewMigrateDataTrieFunc added in v1.4.6

func NewMigrateDataTrieFunc(
	builtInCost vmcommon.BuiltInCost,
	enableEpochsHandler vmcommon.EnableEpochsHandler,
	accounts vmcommon.AccountsAdapter,
) (*migrateDataTrie, error)

NewMigrateDataTrieFunc creates a new migrateDataTrie built-in function component

func NewPayableCheckFunc

func NewPayableCheckFunc(
	payable vmcommon.PayableHandler,
	enableEpochsHandler vmcommon.EnableEpochsHandler,
) (*payableCheck, error)

NewPayableCheckFunc returns a new component which checks if destination is payableCheck when needed

func NewSaveKeyValueStorageFunc

func NewSaveKeyValueStorageFunc(
	gasConfig vmcommon.BaseOperationCost,
	funcGasCost uint64,
	enableEpochsHandler vmcommon.EnableEpochsHandler,
) (*saveKeyValueStorage, error)

NewSaveKeyValueStorageFunc returns the save key-value storage built in function

func NewSaveUserNameFunc

func NewSaveUserNameFunc(
	gasCost uint64,
	mapDnsAddresses map[string]struct{},
	mapDnsV2Addresses map[string]struct{},
	enableEpochsHandler vmcommon.EnableEpochsHandler,
) (*saveUserName, error)

NewSaveUserNameFunc returns a username built in function implementation

func NewSetGuardianFunc added in v1.3.38

func NewSetGuardianFunc(args SetGuardianArgs) (*setGuardian, error)

NewSetGuardianFunc will instantiate a new set guardian built-in function

func NewUnGuardAccountFunc added in v1.3.38

func NewUnGuardAccountFunc(args GuardAccountArgs) (*unGuardAccountFunc, error)

NewUnGuardAccountFunc will instantiate a new un-guard account built-in function

Types

type ArgsCreateBuiltInFunctionContainer

type ArgsCreateBuiltInFunctionContainer struct {
	GasMap                           map[string]map[string]uint64
	MapDNSAddresses                  map[string]struct{}
	MapDNSV2Addresses                map[string]struct{}
	EnableUserNameChange             bool
	Marshalizer                      vmcommon.Marshalizer
	Accounts                         vmcommon.AccountsAdapter
	ShardCoordinator                 vmcommon.Coordinator
	EnableEpochsHandler              vmcommon.EnableEpochsHandler
	GuardedAccountHandler            vmcommon.GuardedAccountHandler
	MaxNumOfAddressesForTransferRole uint32
	ConfigAddress                    []byte
}

ArgsCreateBuiltInFunctionContainer defines the input arguments to create built in functions container

type ArgsNewESDTDataStorage

type ArgsNewESDTDataStorage struct {
	Accounts              vmcommon.AccountsAdapter
	GlobalSettingsHandler vmcommon.GlobalMetadataHandler
	Marshalizer           vmcommon.Marshalizer
	EnableEpochsHandler   vmcommon.EnableEpochsHandler
	ShardCoordinator      vmcommon.Coordinator
}

ArgsNewESDTDataStorage defines the argument list for new esdt data storage handler

type ArgsNewESDTDeleteMetadata

type ArgsNewESDTDeleteMetadata struct {
	FuncGasCost         uint64
	Marshalizer         vmcommon.Marshalizer
	Accounts            vmcommon.AccountsAdapter
	AllowedAddress      []byte
	Delete              bool
	EnableEpochsHandler vmcommon.EnableEpochsHandler
}

ArgsNewESDTDeleteMetadata defines the argument list for new esdt delete metadata built in function

type BaseAccountGuarderArgs added in v1.3.38

type BaseAccountGuarderArgs struct {
	GuardedAccountHandler vmcommon.GuardedAccountHandler
	Marshaller            marshal.Marshalizer
	EnableEpochsHandler   vmcommon.EnableEpochsHandler
	FuncGasCost           uint64
}

BaseAccountGuarderArgs is a struct placeholder for all necessary args to create a newBaseAccountGuarder

type ESDTGlobalMetadata

type ESDTGlobalMetadata struct {
	Paused          bool
	LimitedTransfer bool
	BurnRoleForAll  bool
	TokenType       byte
}

ESDTGlobalMetadata represents esdt global metadata saved on system account

func ESDTGlobalMetadataFromBytes

func ESDTGlobalMetadataFromBytes(bytes []byte) ESDTGlobalMetadata

ESDTGlobalMetadataFromBytes creates a metadata object from bytes

func (*ESDTGlobalMetadata) ToBytes

func (metadata *ESDTGlobalMetadata) ToBytes() []byte

ToBytes converts the metadata to bytes

type ESDTTypeForGlobalSettingsHandler added in v1.5.13

type ESDTTypeForGlobalSettingsHandler uint32

ESDTTypeForGlobalSettingsHandler is needed because if 0 is retrieved from the global settings handler, it means either that the type is not set or that the type is fungible. This will solve the ambiguity.

type ESDTUserMetadata

type ESDTUserMetadata struct {
	Frozen bool
}

ESDTUserMetadata represents esdt user metadata saved on every account

func ESDTUserMetadataFromBytes

func ESDTUserMetadataFromBytes(bytes []byte) ESDTUserMetadata

ESDTUserMetadataFromBytes creates a metadata object from bytes

func (*ESDTUserMetadata) ToBytes

func (metadata *ESDTUserMetadata) ToBytes() []byte

ToBytes converts the metadata to bytes

type GuardAccountArgs added in v1.3.38

type GuardAccountArgs struct {
	BaseAccountGuarderArgs
}

GuardAccountArgs is a struct placeholder for all necessary args to create either a NewGuardAccountFunc or a NewUnGuardAccountFunc

type SetGuardianArgs added in v1.3.38

type SetGuardianArgs struct {
	BaseAccountGuarderArgs
}

SetGuardianArgs is a struct placeholder for all necessary args to create a NewSetGuardianFunc

type TopicTokenData added in v1.5.5

type TopicTokenData struct {
	TokenID []byte
	Nonce   uint64
	Value   *big.Int
}

TopicTokenData groups data that will end up in Topics section of LogEntry

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL