ethereum

package
v1.3.2 Latest Latest
Warning

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

Go to latest
Published: Oct 3, 2024 License: Apache-2.0 Imports: 26 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// EthconnectConfigKey is a sub-key in the config to contain all the ethconnect specific config
	EthconnectConfigKey = "ethconnect"
	// EthconnectConfigTopic is the websocket listen topic that the node should register on, which is important if there are multiple
	// nodes using a single ethconnect
	EthconnectConfigTopic = "topic"
	// EthconnectConfigBatchSize is the batch size to configure on event streams, when auto-defining them
	EthconnectConfigBatchSize = "batchSize"
	// EthconnectConfigBatchTimeout is the batch timeout to configure on event streams, when auto-defining them
	EthconnectConfigBatchTimeout = "batchTimeout"
	// EthconnectPrefixShort is used in the query string in requests to ethconnect
	EthconnectPrefixShort = "prefixShort"
	// EthconnectPrefixLong is used in HTTP headers in requests to ethconnect
	EthconnectPrefixLong = "prefixLong"
	// EthconnectConfigInstanceDeprecated is the ethereum address of the FireFly contract
	EthconnectConfigInstanceDeprecated = "instance"
	// EthconnectConfigFromBlockDeprecated is the configuration of the first block to listen to when creating the listener for the FireFly contract
	EthconnectConfigFromBlockDeprecated = "fromBlock"
	// EthconnectBackgroundStart is used to not fail the ethereum plugin on init and retry to start it in the background
	EthconnectBackgroundStart = "backgroundStart.enabled"
	// EthconnectBackgroundStartInitialDelay is delay between restarts in the case where we retry to restart in the ethereum plugin
	EthconnectBackgroundStartInitialDelay = "backgroundStart.initialDelay"
	// EthconnectBackgroundStartMaxDelay is the max delay between restarts in the case where we retry to restart in the ethereum plugin
	EthconnectBackgroundStartMaxDelay = "backgroundStart.maxDelay"
	// EthconnectBackgroundStartFactor is to set the factor by which the delay increases when retrying
	EthconnectBackgroundStartFactor = "backgroundStart.factor"

	// AddressResolverConfigKey is a sub-key in the config to contain an address resolver config.
	AddressResolverConfigKey = "addressResolver"
	// AddressResolverAlwaysResolve causes the address resolve to be invoked on every API call that resolves an address, regardless of whether the input conforms to an 0x address, and disables any caching
	AddressResolverAlwaysResolve = "alwaysResolve"
	// AddressResolverRetainOriginal when true the original pre-resolved string is retained after the lookup, and passed down to Ethconnect as the from address
	AddressResolverRetainOriginal = "retainOriginal"
	// AddressResolverMethod the HTTP method to use to call the address resolver (default GET)
	AddressResolverMethod = "method"
	// AddressResolverURLTemplate the URL go template string to use when calling the address resolver - a ".intent" string can be used in the go template
	AddressResolverURLTemplate = "urlTemplate"
	// AddressResolverBodyTemplate the body go template string to use when calling the address resolver - a ".intent" string can be used in the go template
	AddressResolverBodyTemplate = "bodyTemplate"
	// AddressResolverResponseField the name of a JSON field that is provided in the response, that contains the ethereum address (default "address")
	AddressResolverResponseField = "responseField"

	// FFTMConfigKey is a sub-key in the config that optionally contains FireFly transaction connection information
	FFTMConfigKey = "fftm"
)
View Source
const (
	ReceiptTransactionSuccess string = "TransactionSuccess"
	ReceiptTransactionFailed  string = "TransactionFailed"
)

Variables

This section is empty.

Functions

func ABIMethodToIndexedSignature added in v1.3.1

func ABIMethodToIndexedSignature(abi *abi.Entry) string

Types

type EthconnectMessageHeaders added in v0.13.0

type EthconnectMessageHeaders struct {
	Type string `json:"type,omitempty"`
	ID   string `json:"id,omitempty"`
}

type EthconnectMessageRequest added in v0.13.0

type EthconnectMessageRequest struct {
	Headers EthconnectMessageHeaders `json:"headers,omitempty"`
	To      string                   `json:"to"`
	From    string                   `json:"from,omitempty"`
	Method  *abi.Entry               `json:"method"`
	Params  []interface{}            `json:"params"`
}

type Ethereum

type Ethereum struct {
	// contains filtered or unexported fields
}

func (*Ethereum) AddContractListener added in v0.14.0

func (e *Ethereum) AddContractListener(ctx context.Context, listener *core.ContractListener, lastProtocolID string) (err error)

func (*Ethereum) AddFireflySubscription added in v1.1.0

func (e *Ethereum) AddFireflySubscription(ctx context.Context, namespace *core.Namespace, contract *blockchain.MultipartyContract, lastProtocolID string) (string, error)

func (*Ethereum) Capabilities

func (e *Ethereum) Capabilities() *blockchain.Capabilities

func (*Ethereum) CheckOverlappingLocations added in v1.3.1

func (e *Ethereum) CheckOverlappingLocations(ctx context.Context, left *fftypes.JSONAny, right *fftypes.JSONAny) (bool, error)

func (*Ethereum) DeleteContractListener added in v0.14.0

func (e *Ethereum) DeleteContractListener(ctx context.Context, subscription *core.ContractListener, okNotFound bool) error

func (*Ethereum) DeployContract added in v1.1.2

func (e *Ethereum) DeployContract(ctx context.Context, nsOpID, signingKey string, definition, contract *fftypes.JSONAny, input []interface{}, options map[string]interface{}) (submissionRejected bool, err error)

func (*Ethereum) GenerateErrorSignature added in v1.1.3

func (e *Ethereum) GenerateErrorSignature(ctx context.Context, errorDef *fftypes.FFIErrorDefinition) string

func (*Ethereum) GenerateEventSignature added in v1.0.0

func (e *Ethereum) GenerateEventSignature(ctx context.Context, event *fftypes.FFIEventDefinition) (string, error)

func (*Ethereum) GenerateEventSignatureWithLocation added in v1.3.1

func (e *Ethereum) GenerateEventSignatureWithLocation(ctx context.Context, event *fftypes.FFIEventDefinition, location *fftypes.JSONAny) (string, error)

func (*Ethereum) GenerateFFI added in v0.13.1

func (e *Ethereum) GenerateFFI(ctx context.Context, generationRequest *fftypes.FFIGenerationRequest) (*fftypes.FFI, error)

func (*Ethereum) GetAndConvertDeprecatedContractConfig added in v1.1.0

func (e *Ethereum) GetAndConvertDeprecatedContractConfig(ctx context.Context) (location *fftypes.JSONAny, fromBlock string, err error)

func (*Ethereum) GetContractListenerStatus added in v1.1.0

func (e *Ethereum) GetContractListenerStatus(ctx context.Context, namespace, subID string, okNotFound bool) (found bool, detail interface{}, status core.ContractListenerStatus, err error)

func (*Ethereum) GetFFIParamValidator added in v0.12.0

func (e *Ethereum) GetFFIParamValidator(ctx context.Context) (fftypes.FFIParamValidator, error)

func (*Ethereum) GetNetworkVersion added in v1.1.0

func (e *Ethereum) GetNetworkVersion(ctx context.Context, location *fftypes.JSONAny) (version int, err error)

func (*Ethereum) GetTransactionStatus added in v1.1.3

func (e *Ethereum) GetTransactionStatus(ctx context.Context, operation *core.Operation) (interface{}, error)

func (*Ethereum) Init

func (e *Ethereum) Init(ctx context.Context, cancelCtx context.CancelFunc, conf config.Section, metrics metrics.Manager, cacheManager cache.Manager) (err error)

func (*Ethereum) InitConfig added in v1.1.0

func (e *Ethereum) InitConfig(config config.Section)

func (*Ethereum) InvokeContract added in v0.12.0

func (e *Ethereum) InvokeContract(ctx context.Context, nsOpID string, signingKey string, location *fftypes.JSONAny, parsedMethod interface{}, input map[string]interface{}, options map[string]interface{}, batch *blockchain.BatchPin) (bool, error)

func (*Ethereum) Name

func (e *Ethereum) Name() string

func (*Ethereum) NormalizeContractLocation added in v1.0.0

func (e *Ethereum) NormalizeContractLocation(ctx context.Context, ntype blockchain.NormalizeType, location *fftypes.JSONAny) (result *fftypes.JSONAny, err error)

func (*Ethereum) ParseInterface added in v1.3.0

func (e *Ethereum) ParseInterface(ctx context.Context, method *fftypes.FFIMethod, errors []*fftypes.FFIError) (interface{}, error)

func (*Ethereum) QueryContract added in v0.12.0

func (e *Ethereum) QueryContract(ctx context.Context, signingKey string, location *fftypes.JSONAny, parsedMethod interface{}, input map[string]interface{}, options map[string]interface{}) (interface{}, error)

func (*Ethereum) RemoveFireflySubscription added in v1.1.0

func (e *Ethereum) RemoveFireflySubscription(ctx context.Context, subID string)

func (*Ethereum) ResolveSigningKey

func (e *Ethereum) ResolveSigningKey(ctx context.Context, key string, intent blockchain.ResolveKeyIntent) (resolved string, err error)

func (*Ethereum) SetHandler added in v1.1.0

func (e *Ethereum) SetHandler(namespace string, handler blockchain.Callbacks)

func (*Ethereum) SetOperationHandler added in v1.1.0

func (e *Ethereum) SetOperationHandler(namespace string, handler core.OperationCallbacks)

func (*Ethereum) StartNamespace added in v1.3.0

func (e *Ethereum) StartNamespace(ctx context.Context, namespace string) (err error)

func (*Ethereum) StopNamespace added in v1.3.0

func (e *Ethereum) StopNamespace(ctx context.Context, namespace string) (err error)

func (*Ethereum) SubmitBatchPin

func (e *Ethereum) SubmitBatchPin(ctx context.Context, nsOpID, networkNamespace, signingKey string, batch *blockchain.BatchPin, location *fftypes.JSONAny) error

func (*Ethereum) SubmitNetworkAction added in v1.1.0

func (e *Ethereum) SubmitNetworkAction(ctx context.Context, nsOpID string, signingKey string, action core.NetworkActionType, location *fftypes.JSONAny) error

func (*Ethereum) ValidateInvokeRequest added in v1.3.0

func (e *Ethereum) ValidateInvokeRequest(ctx context.Context, parsedMethod interface{}, input map[string]interface{}, hasMessage bool) error

func (*Ethereum) VerifierType added in v0.14.0

func (e *Ethereum) VerifierType() core.VerifierType

type FFIGenerationInput added in v0.14.0

type FFIGenerationInput struct {
	ABI *abi.ABI `json:"abi,omitempty"`
}

type ListenerCheckpoint added in v1.1.0

type ListenerCheckpoint struct {
	Block            int64 `json:"block"`
	TransactionIndex int64 `json:"transactionIndex"`
	LogIndex         int64 `json:"logIndex"`
}

type ListenerStatus added in v1.1.0

type ListenerStatus struct {
	Checkpoint ListenerCheckpoint `json:"checkpoint"`
	Catchup    bool               `json:"catchup"`
}

type Location added in v0.12.0

type Location struct {
	Address string `json:"address"`
}

Jump to

Keyboard shortcuts

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