ethereum

package
v1.0.0-rc.2 Latest Latest
Warning

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

Go to latest
Published: Apr 9, 2022 License: Apache-2.0 Imports: 23 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"
	// EthconnectConfigInstancePath is the ethereum address of the contract
	EthconnectConfigInstancePath = "instance"
	// 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"

	// AddressResolverConfigKey is a sub-key in the config to contain an address resolver config.
	AddressResolverConfigKey = "addressResolver"
	// 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
	AddressResolverURLTemplate = "urlTemplate"
	// AddressResolverBodyTemplate the body go template string to use when calling the address resolver
	AddressResolverBodyTemplate = "bodyTemplate"
	// AddressResolverResponseField the name of a JSON field that is provided in the response, that contains the ethereum address (default "address")
	AddressResolverResponseField = "responseField"
	// AddressResolverCacheSize the size of the LRU cache
	AddressResolverCacheSize = "cache.size"
	// AddressResolverCacheTTL the TTL on cache entries
	AddressResolverCacheTTL = "cache.ttl"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type ABIArgumentMarshaling added in v0.13.0

type ABIArgumentMarshaling struct {
	Name         string                  `json:"name"`
	Type         string                  `json:"type"`
	InternalType string                  `json:"internalType,omitempty"`
	Components   []ABIArgumentMarshaling `json:"components,omitempty"`
	Indexed      bool                    `json:"indexed,omitempty"`
}

ABIArgumentMarshaling is abi.ArgumentMarshaling

type ABIElementMarshaling added in v0.13.0

type ABIElementMarshaling struct {
	Type            string                  `json:"type,omitempty"`
	Name            string                  `json:"name,omitempty"`
	Payable         bool                    `json:"payable,omitempty"`
	Constant        bool                    `json:"constant,omitempty"`
	Anonymous       bool                    `json:"anonymous,omitempty"`
	StateMutability string                  `json:"stateMutability,omitempty"`
	Inputs          []ABIArgumentMarshaling `json:"inputs"`
	Outputs         []ABIArgumentMarshaling `json:"outputs"`
}

ABIElementMarshaling is the serialized representation of a method or event in an ABI

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  ABIElementMarshaling     `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 *fftypes.ContractListenerInput) error

func (*Ethereum) Capabilities

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

func (*Ethereum) DeleteContractListener added in v0.14.0

func (e *Ethereum) DeleteContractListener(ctx context.Context, subscription *fftypes.ContractListener) error

func (*Ethereum) FFIEventDefinitionToABI added in v0.13.0

func (e *Ethereum) FFIEventDefinitionToABI(ctx context.Context, event *fftypes.FFIEventDefinition) (ABIElementMarshaling, error)

func (*Ethereum) FFIMethodToABI added in v0.13.0

func (e *Ethereum) FFIMethodToABI(ctx context.Context, method *fftypes.FFIMethod) (ABIElementMarshaling, error)

func (*Ethereum) GenerateFFI added in v0.13.1

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

func (*Ethereum) GetFFIParamValidator added in v0.12.0

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

func (*Ethereum) Init

func (e *Ethereum) Init(ctx context.Context, prefix config.Prefix, callbacks blockchain.Callbacks, metrics metrics.Manager) (err error)

func (*Ethereum) InitPrefix

func (e *Ethereum) InitPrefix(prefix config.Prefix)

func (*Ethereum) InvokeContract added in v0.12.0

func (e *Ethereum) InvokeContract(ctx context.Context, operationID *fftypes.UUID, signingKey string, location *fftypes.JSONAny, method *fftypes.FFIMethod, input map[string]interface{}) error

func (*Ethereum) Name

func (e *Ethereum) Name() string

func (*Ethereum) NormalizeSigningKey added in v0.14.0

func (e *Ethereum) NormalizeSigningKey(ctx context.Context, key string) (string, error)

func (*Ethereum) QueryContract added in v0.12.0

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

func (*Ethereum) Start

func (e *Ethereum) Start() error

func (*Ethereum) SubmitBatchPin

func (e *Ethereum) SubmitBatchPin(ctx context.Context, operationID *fftypes.UUID, ledgerID *fftypes.UUID, signingKey string, batch *blockchain.BatchPin) error

func (*Ethereum) ValidateContractLocation added in v0.12.0

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

func (*Ethereum) VerifierType added in v0.14.0

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

type FFIGenerationInput added in v0.14.0

type FFIGenerationInput struct {
	ABI []ABIElementMarshaling `json:"abi,omitempty"`
}

type FFIParamValidator added in v0.12.0

type FFIParamValidator struct{}

func (*FFIParamValidator) Compile added in v0.12.0

func (v *FFIParamValidator) Compile(ctx jsonschema.CompilerContext, m map[string]interface{}) (jsonschema.ExtSchema, error)

func (*FFIParamValidator) GetExtensionName added in v0.12.0

func (v *FFIParamValidator) GetExtensionName() string

func (*FFIParamValidator) GetMetaSchema added in v0.12.0

func (v *FFIParamValidator) GetMetaSchema() *jsonschema.Schema

type Location added in v0.12.0

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

type Schema added in v0.13.1

type Schema struct {
	Type       string             `json:"type"`
	Details    *paramDetails      `json:"details,omitempty"`
	Properties map[string]*Schema `json:"properties,omitempty"`
	Items      *Schema            `json:"items,omitempty"`
}

func (*Schema) ToJSON added in v0.13.1

func (s *Schema) ToJSON() string

Jump to

Keyboard shortcuts

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