Documentation ¶
Index ¶
- Constants
- Variables
- func All[T any](slice []T, f func(T) bool) bool
- func AnyOf[T comparable](e T, values ...T) bool
- func DerefSlice[T any](v *[]T) []T
- func Filter[T any](slice []T, f func(T) bool) []T
- func Gzip64Decode(data string) ([]byte, error)
- func Gzip64Encode(data []byte) (string, error)
- func HexToFelt(t testing.TB, hex string) *felt.Felt
- func HexToUint64(t testing.TB, hexStr string) uint64
- func Map[T1, T2 any](slice []T1, f func(T1) T2) []T2
- func NonNilSlice[T any](sl []T) []T
- func Ptr[T any](v T) *T
- func RunAndWrapOnError(runnable func() error, existingErr error) error
- func ToMap[T any, K comparable, V any](sl []T, f func(T) (K, V)) map[K]V
- func ToSlice[K comparable, V any, T any](m map[K]V, f func(K, V) T) []T
- type BlockHashMetaInfo
- type DataSize
- type LogLevel
- type Logger
- type Network
- type SimpleLogger
- type Throttler
- type ZapLogger
Constants ¶
View Source
const ( Kilobyte = 1024 Megabyte = 1024 * Kilobyte Gigabyte = 1024 * Megabyte Terabyte = 1024 * Gigabyte )
Variables ¶
View Source
var ( // The docs states the addresses for each network: https://docs.starknet.io/tools/important-addresses/ Mainnet = Network{ Name: "mainnet", FeederURL: "https://alpha-mainnet.starknet.io/feeder_gateway/", GatewayURL: "https://alpha-mainnet.starknet.io/gateway/", L2ChainID: "SN_MAIN", L1ChainID: big.NewInt(1), CoreContractAddress: common.HexToAddress("0xc662c410C0ECf747543f5bA90660f6ABeBD9C8c4"), BlockHashMetaInfo: &BlockHashMetaInfo{ First07Block: 833, FallBackSequencerAddress: fallBackSequencerAddressMainnet, }, } Goerli = Network{ Name: "goerli", FeederURL: "https://alpha4.starknet.io/feeder_gateway/", GatewayURL: "https://alpha4.starknet.io/gateway/", L2ChainID: "SN_GOERLI", L1ChainID: big.NewInt(5), CoreContractAddress: common.HexToAddress("0xde29d060D45901Fb19ED6C6e959EB22d8626708e"), BlockHashMetaInfo: &BlockHashMetaInfo{ First07Block: 47028, UnverifiableRange: []uint64{119802, 148428}, FallBackSequencerAddress: fallBackSequencerAddress, }, } Goerli2 = Network{ Name: "goerli2", FeederURL: "https://alpha4-2.starknet.io/feeder_gateway/", GatewayURL: "https://alpha4-2.starknet.io/gateway/", L2ChainID: "SN_GOERLI2", L1ChainID: big.NewInt(5), CoreContractAddress: common.HexToAddress("0xa4eD3aD27c294565cB0DCc993BDdCC75432D498c"), BlockHashMetaInfo: &BlockHashMetaInfo{ First07Block: 0, FallBackSequencerAddress: fallBackSequencerAddress, }, } Integration = Network{ Name: "integration", FeederURL: "https://external.integration.starknet.io/feeder_gateway/", GatewayURL: "https://external.integration.starknet.io/gateway/", L2ChainID: "SN_GOERLI", L1ChainID: big.NewInt(5), CoreContractAddress: common.HexToAddress("0xd5c325D183C592C94998000C5e0EED9e6655c020"), BlockHashMetaInfo: &BlockHashMetaInfo{ First07Block: 110511, UnverifiableRange: []uint64{0, 110511}, FallBackSequencerAddress: fallBackSequencerAddress, }, } Sepolia = Network{ Name: "sepolia", FeederURL: "https://alpha-sepolia.starknet.io/feeder_gateway/", GatewayURL: "https://alpha-sepolia.starknet.io/gateway/", L2ChainID: "SN_SEPOLIA", L1ChainID: big.NewInt(11155111), CoreContractAddress: common.HexToAddress("0xE2Bb56ee936fd6433DC0F6e7e3b8365C906AA057"), BlockHashMetaInfo: &BlockHashMetaInfo{ First07Block: 0, FallBackSequencerAddress: fallBackSequencerAddress, }, } SepoliaIntegration = Network{ Name: "sepolia-integration", FeederURL: "https://integration-sepolia.starknet.io/feeder_gateway/", GatewayURL: "https://integration-sepolia.starknet.io/gateway/", L2ChainID: "SN_INTEGRATION_SEPOLIA", L1ChainID: big.NewInt(11155111), CoreContractAddress: common.HexToAddress("0x4737c0c1B4D5b1A687B42610DdabEE781152359c"), BlockHashMetaInfo: &BlockHashMetaInfo{ First07Block: 0, FallBackSequencerAddress: fallBackSequencerAddress, }, } )
View Source
var ErrResourceBusy = errors.New("resource busy, try again")
Functions ¶
func AnyOf ¶ added in v0.12.0
func AnyOf[T comparable](e T, values ...T) bool
func DerefSlice ¶ added in v0.8.0
func DerefSlice[T any](v *[]T) []T
func Gzip64Decode ¶ added in v0.4.0
func Gzip64Encode ¶ added in v0.4.0
func NonNilSlice ¶ added in v0.8.0
func NonNilSlice[T any](sl []T) []T
func RunAndWrapOnError ¶ added in v0.6.2
func ToMap ¶ added in v0.10.0
func ToMap[T any, K comparable, V any](sl []T, f func(T) (K, V)) map[K]V
func ToSlice ¶ added in v0.10.0
func ToSlice[K comparable, V any, T any](m map[K]V, f func(K, V) T) []T
Types ¶
type BlockHashMetaInfo ¶ added in v0.9.3
type BlockHashMetaInfo struct { // The sequencer address to use for blocks that do not have one FallBackSequencerAddress *felt.Felt `json:"fallback_sequencer_address" validate:"required"` // First block that uses the post-0.7.0 block hash algorithm First07Block uint64 `json:"first_07_block" validate:"required"` // Range of blocks that are not verifiable UnverifiableRange []uint64 `json:"unverifiable_range" validate:"required"` }
type LogLevel ¶
type LogLevel int
func (*LogLevel) MarshalText ¶ added in v0.11.0
func (LogLevel) MarshalYAML ¶ added in v0.6.0
func (*LogLevel) UnmarshalText ¶ added in v0.2.1
type Logger ¶
type Logger interface { SimpleLogger pebble.Logger }
type Network ¶
type Network struct { Name string `json:"name" validate:"required"` FeederURL string `json:"feeder_url" validate:"required"` GatewayURL string `json:"gateway_url" validate:"required"` L1ChainID *big.Int `json:"l1_chain_id" validate:"required"` L2ChainID string `json:"l2_chain_id" validate:"required"` CoreContractAddress common.Address `json:"core_contract_address" validate:"required"` BlockHashMetaInfo *BlockHashMetaInfo `json:"block_hash_meta_info"` }
func (*Network) L2ChainIDFelt ¶ added in v0.9.3
func (*Network) MarshalText ¶ added in v0.11.0
func (*Network) MarshalYAML ¶ added in v0.6.0
func (*Network) UnmarshalText ¶ added in v0.2.1
type SimpleLogger ¶
type Throttler ¶ added in v0.7.4
type Throttler[T any] struct { // contains filtered or unexported fields }
func NewThrottler ¶ added in v0.7.4
func (*Throttler[T]) Do ¶ added in v0.7.4
Do lets caller acquire the resource within the context of a callback
func (*Throttler[T]) JobsRunning ¶ added in v0.10.0
JobsRunning returns the number of Do calls that are running at the moment
func (*Throttler[T]) QueueLen ¶ added in v0.7.4
QueueLen returns the number of Do calls that is blocked on the resource
func (*Throttler[T]) WithMaxQueueLen ¶ added in v0.7.4
WithMaxQueueLen sets the maximum length the queue can grow to
type ZapLogger ¶
type ZapLogger struct {
*zap.SugaredLogger
}
func NewNopZapLogger ¶
func NewNopZapLogger() *ZapLogger
func (*ZapLogger) IsTraceEnabled ¶ added in v0.11.8
Source Files ¶
Click to show internal directories.
Click to hide internal directories.