 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
- Constants
- Variables
- func BigIntToLittleEndianBytes(n *big.Int) []byte
- func BytesToUint32(bytes []byte) uint32
- func BytesToUint64(bytes []byte) uint64
- func CalculateAccInputHash(logger *log.Logger, oldAccInputHash common.Hash, batchData []byte, ...) common.Hash
- func EstimateSliceCapacity(total int, span, fullSpan uint64) int
- func NewKeyFromKeystore(cfg types.KeystoreFileConfig) (*ecdsa.PrivateKey, error)
- func RepackGRPCErrorWithDetails(err error) error
- func Uint32ToBytes(num uint32) []byte
- func Uint64ToBytes(num uint64) []byte
- type Client
- type Config
- type Logger
- type RateLimit
- type RateLimitConfig
Constants ¶
const ( Uint32ByteSize = 4 Uint64ByteSize = 8 )
const ( // AGGORACLE name to identify the aggoracle component AGGORACLE = "aggoracle" // BRIDGE name to identify the bridge component (have RPC) BRIDGE = "bridge" // CLAIM_SPONSOR name to identify the claim sponsor component CLAIM_SPONSOR = "claim-sponsor" //nolint:stylecheck // PROVER name to identify the prover component PROVER = "prover" // AGGSENDER name to identify the aggsender component AGGSENDER = "aggsender" // L1INFOTREESYNC name to identify the l1infotreesync component L1INFOTREESYNC = "l1infotreesync" // AGGCHAINPROOFGEN name to identify the aggchain-proof-gen component AGGCHAINPROOFGEN = "aggchain-proof-gen" )
Variables ¶
var (
	TimeProvider = time.Now
)
    var (
	ZeroHash = common.HexToHash("0x0")
)
    Functions ¶
func BigIntToLittleEndianBytes ¶
BigIntToLittleEndianBytes converts a big.Int to a 32-byte little-endian representation. big.Int is capped to 32 bytes
func BytesToUint32 ¶
BytesToUint32 converts a byte slice to a uint32. If byte slice is shorter than 4 bytes, it is padded with 0s. In case it is longer than 4 bytes, it panics.
func BytesToUint64 ¶
BytesToUint64 converts a byte slice to a uint64
func CalculateAccInputHash ¶
func CalculateAccInputHash( logger *log.Logger, oldAccInputHash common.Hash, batchData []byte, l1InfoRoot common.Hash, timestampLimit uint64, sequencerAddr common.Address, forcedBlockhashL1 common.Hash, ) common.Hash
CalculateAccInputHash computes the hash of accumulated input data for a given batch.
func EstimateSliceCapacity ¶ added in v0.3.0
EstimateSliceCapacity estimates the capacity of a slice based on the total number of elements, the span of interest, and the full span of the range.
Parameters:
- total: The total number of elements.
- span: The span of interest within the range.
- fullSpan: The full span of the range.
Returns:
- An integer representing the estimated slice capacity. If fullSpan is 0, the function returns 0 to avoid division by zero.
func NewKeyFromKeystore ¶
func NewKeyFromKeystore(cfg types.KeystoreFileConfig) (*ecdsa.PrivateKey, error)
NewKeyFromKeystore creates a private key from a keystore file
func RepackGRPCErrorWithDetails ¶ added in v0.3.0
RepackGRPCErrorWithDetails extracts *status.Status and formats ErrorInfo details into a single error
func Uint32ToBytes ¶
Uint32ToBytes converts a uint32 to a byte slice in big-endian order
func Uint64ToBytes ¶
Uint64ToBytes converts a uint64 to a byte slice
Types ¶
type Client ¶ added in v0.3.0
type Client struct {
	// contains filtered or unexported fields
}
    Client holds the gRPC connection and services
func (*Client) Conn ¶ added in v0.3.0
func (c *Client) Conn() *grpc.ClientConn
Conn returns the gRPC connection
type Config ¶
type Config struct {
	// IsValidiumMode has the value true if the sequence sender is running in validium mode.
	IsValidiumMode bool `mapstructure:"IsValidiumMode"`
	// NetworkID is the networkID of the CDK being run
	NetworkID uint32 `mapstructure:"NetworkID"`
	// Contract Versions: elderberry, banana
	ContractVersions string            `mapstructure:"ContractVersions"`
	Translator       translator.Config `mapstructure:"Translator"`
	// L2URL is the URL of the L2 node
	L2RPC ethermanconfig.RPCClientConfig `mapstructure:"L2RPC"`
}
    Config holds the configuration for the CDK.
type Logger ¶ added in v0.2.0
type Logger interface {
	Fatalf(format string, args ...interface{})
	Info(args ...interface{})
	Infof(format string, args ...interface{})
	Error(args ...interface{})
	Errorf(format string, args ...interface{})
	Warn(args ...interface{})
	Warnf(format string, args ...interface{})
	Debug(args ...interface{})
	Debugf(format string, args ...interface{})
}
    Logger is an interface that defines the methods to log messages
type RateLimit ¶ added in v0.0.2
type RateLimit struct {
	// contains filtered or unexported fields
}
    RateLimit is a rate limiter
func NewRateLimit ¶ added in v0.0.2
func NewRateLimit(cfg RateLimitConfig) *RateLimit
NewRateLimit creates a new RateLimit
type RateLimitConfig ¶ added in v0.0.2
type RateLimitConfig struct {
	NumRequests int            `mapstructure:"NumRequests"`
	Interval    types.Duration `mapstructure:"Interval"`
}
    RateLimitConfig is the configuration for the rate limit, if NumRequests==0 or Interval==0, the rate limit is disabled
func NewRateLimitConfig ¶ added in v0.0.2
func NewRateLimitConfig(numRequests int, period time.Duration) RateLimitConfig
NewRateLimitConfig creates a new RateLimitConfig
func (RateLimitConfig) Enabled ¶ added in v0.0.2
func (r RateLimitConfig) Enabled() bool
Enabled returns true if the rate limit is enabled
func (RateLimitConfig) String ¶ added in v0.0.2
func (r RateLimitConfig) String() string
String returns a string representation of the RateLimitConfig