Commit beb131f3 authored by mergify[bot]'s avatar mergify[bot] Committed by GitHub

Merge branch 'develop' into cleanup-logging-service-utils

parents b74ae89a 55c6ac8f
......@@ -121,4 +121,52 @@ var Presets = map[int]Preset{
L1StartingHeight: 8942381,
},
},
11155420: {
Name: "OP Sepolia",
ChainConfig: ChainConfig{
Preset: 11155420,
L1Contracts: L1Contracts{
AddressManager: common.HexToAddress("0x9bFE9c5609311DF1c011c47642253B78a4f33F4B"),
SystemConfigProxy: common.HexToAddress("0x034edD2A225f7f429A63E0f1D2084B9E0A93b538"),
OptimismPortalProxy: common.HexToAddress("0x16Fc5058F25648194471939df75CF27A2fdC48BC"),
L2OutputOracleProxy: common.HexToAddress("0x90E9c4f8a994a250F6aEfd61CAFb4F2e895D458F"),
L1CrossDomainMessengerProxy: common.HexToAddress("0x58Cc85b8D04EA49cC6DBd3CbFFd00B4B8D6cb3ef"),
L1StandardBridgeProxy: common.HexToAddress("0xFBb0621E0B23b5478B630BD55a5f21f67730B0F1"),
L1ERC721BridgeProxy: common.HexToAddress("0xd83e03D576d23C9AEab8cC44Fa98d058D2176D1f"),
},
L1StartingHeight: 4071408,
},
},
424: {
Name: "PGN",
ChainConfig: ChainConfig{
Preset: 424,
L1Contracts: L1Contracts{
AddressManager: common.HexToAddress("0x09d5DbA52F0ee2C4A5E94FD5C802bD74Ca9cAD3e"),
SystemConfigProxy: common.HexToAddress("0x7Df716EAD1d83a2BF35B416B7BC84bd0700357C9"),
OptimismPortalProxy: common.HexToAddress("0xb26Fd985c5959bBB382BAFdD0b879E149e48116c"),
L2OutputOracleProxy: common.HexToAddress("0xA38d0c4E6319F9045F20318BA5f04CDe94208608"),
L1CrossDomainMessengerProxy: common.HexToAddress("0x97BAf688E5d0465E149d1d5B497Ca99392a6760e"),
L1StandardBridgeProxy: common.HexToAddress("0xD0204B9527C1bA7bD765Fa5CCD9355d38338272b"),
L1ERC721BridgeProxy: common.HexToAddress("0xaFF0F8aaB6Cc9108D34b3B8423C76d2AF434d115"),
},
L1StartingHeight: 17672702,
},
},
58008: {
Name: "PGN Sepolia",
ChainConfig: ChainConfig{
Preset: 58008,
L1Contracts: L1Contracts{
AddressManager: common.HexToAddress("0x0Ad91488288BBe60ff38258785568A6D1EB3B983"),
SystemConfigProxy: common.HexToAddress("0x4BCCC52151f0ad7C62D45Ce0aA77d9d8ffCE534e"),
OptimismPortalProxy: common.HexToAddress("0xF04BdD5353Bb0EFF6CA60CfcC78594278eBfE179"),
L2OutputOracleProxy: common.HexToAddress("0xD5bAc3152ffC25318F848B3DD5dA6C85171BaEEe"),
L1CrossDomainMessengerProxy: common.HexToAddress("0x97f3558Ce48FE71B8CeFA5497708A49531D5A8E1"),
L1StandardBridgeProxy: common.HexToAddress("0xFaE6abCAF30D23e233AC7faF747F2fC3a5a6Bfa3"),
L1ERC721BridgeProxy: common.HexToAddress("0xBA8397B6f255618D5985d0fB427D8c0496F3a5FA"),
},
L1StartingHeight: 17672702,
},
},
}
......@@ -35,7 +35,7 @@ func (g *AlphabetGameHelper) StartChallenger(ctx context.Context, l1Endpoint str
return c
}
func (g *AlphabetGameHelper) CreateHonestActor(ctx context.Context, alphabetTrace string, depth uint64) *HonestHelper {
func (g *AlphabetGameHelper) CreateHonestActor(alphabetTrace string, depth uint64) *HonestHelper {
return &HonestHelper{
t: g.t,
require: g.require,
......@@ -43,3 +43,7 @@ func (g *AlphabetGameHelper) CreateHonestActor(ctx context.Context, alphabetTrac
correctTrace: alphabet.NewTraceProvider(alphabetTrace, depth),
}
}
func (g *AlphabetGameHelper) CreateDishonestHelper(alphabetTrace string, depth uint64, defender bool) *DishonestHelper {
return newDishonestHelper(&g.FaultGameHelper, g.CreateHonestActor(alphabetTrace, depth), defender)
}
package disputegame
import (
"context"
"errors"
"github.com/ethereum-optimism/optimism/op-challenger/game/fault/types"
"github.com/ethereum/go-ethereum/common"
)
type dishonestClaim struct {
ParentIndex int64
IsAttack bool
Valid bool
}
type DishonestHelper struct {
*FaultGameHelper
*HonestHelper
claims map[dishonestClaim]bool
defender bool
}
func newDishonestHelper(g *FaultGameHelper, correctTrace *HonestHelper, defender bool) *DishonestHelper {
return &DishonestHelper{g, correctTrace, make(map[dishonestClaim]bool), defender}
}
func (t *DishonestHelper) Attack(ctx context.Context, claimIndex int64) {
c := dishonestClaim{claimIndex, true, false}
if t.claims[c] {
return
}
t.claims[c] = true
t.FaultGameHelper.Attack(ctx, claimIndex, common.Hash{byte(claimIndex)})
}
func (t *DishonestHelper) Defend(ctx context.Context, claimIndex int64) {
c := dishonestClaim{claimIndex, false, false}
if t.claims[c] {
return
}
t.claims[c] = true
t.FaultGameHelper.Defend(ctx, claimIndex, common.Hash{byte(claimIndex)})
}
func (t *DishonestHelper) AttackCorrect(ctx context.Context, claimIndex int64) {
c := dishonestClaim{claimIndex, true, true}
if t.claims[c] {
return
}
t.claims[c] = true
t.HonestHelper.Attack(ctx, claimIndex)
}
func (t *DishonestHelper) DefendCorrect(ctx context.Context, claimIndex int64) {
c := dishonestClaim{claimIndex, false, true}
if t.claims[c] {
return
}
t.claims[c] = true
t.HonestHelper.Defend(ctx, claimIndex)
}
// ExhaustDishonestClaims makes all possible significant moves (mod honest challenger's) in a game.
// It is very inefficient and should NOT be used on games with large depths
func (d *DishonestHelper) ExhaustDishonestClaims(ctx context.Context) {
depth := d.MaxDepth(ctx)
move := func(claimIndex int64, claimData ContractClaim) {
// dishonest level, valid attack
// dishonest level, invalid attack
// dishonest level, valid defense
// dishonest level, invalid defense
// honest level, invalid attack
// honest level, invalid defense
pos := types.NewPositionFromGIndex(claimData.Position.Uint64())
if int64(pos.Depth()) == depth {
return
}
d.LogGameData(ctx)
d.FaultGameHelper.t.Logf("Dishonest moves against claimIndex %d", claimIndex)
agreeWithLevel := d.defender == (pos.Depth()%2 == 0)
if !agreeWithLevel {
d.AttackCorrect(ctx, claimIndex)
if claimIndex != 0 {
d.DefendCorrect(ctx, claimIndex)
}
}
d.Attack(ctx, claimIndex)
if claimIndex != 0 {
d.Defend(ctx, claimIndex)
}
}
var numClaimsSeen int64
for {
newCount, err := d.WaitForNewClaim(ctx, numClaimsSeen)
if errors.Is(err, context.DeadlineExceeded) {
// we assume that the honest challenger has stopped responding
// There's nothing to respond to.
break
}
d.FaultGameHelper.require.NoError(err)
for i := numClaimsSeen; i < newCount; i++ {
claimData := d.getClaim(ctx, numClaimsSeen)
move(numClaimsSeen, claimData)
numClaimsSeen++
}
}
}
......@@ -2,7 +2,6 @@ package disputegame
import (
"context"
"errors"
"fmt"
"math/big"
"testing"
......@@ -39,6 +38,9 @@ func (g *FaultGameHelper) GameDuration(ctx context.Context) time.Duration {
return time.Duration(duration) * time.Second
}
// WaitForClaimCount waits until there are at least count claims in the game.
// This does not check that the number of claims is exactly the specified count to avoid intermittent failures
// where a challenger posts an additional claim before this method sees the number of claims it was waiting for.
func (g *FaultGameHelper) WaitForClaimCount(ctx context.Context, count int64) {
ctx, cancel := context.WithTimeout(ctx, 2*time.Minute)
defer cancel()
......@@ -48,7 +50,7 @@ func (g *FaultGameHelper) WaitForClaimCount(ctx context.Context, count int64) {
return false, err
}
g.t.Log("Waiting for claim count", "current", actual, "expected", count, "game", g.addr)
return actual.Cmp(big.NewInt(count)) == 0, nil
return actual.Cmp(big.NewInt(count)) >= 0, nil
})
g.require.NoErrorf(err, "Did not find expected claim count %v", count)
}
......@@ -123,6 +125,12 @@ func (g *FaultGameHelper) GetClaimValue(ctx context.Context, claimIdx int64) com
return claim.Claim
}
func (g *FaultGameHelper) GetClaimPosition(ctx context.Context, claimIdx int64) types.Position {
g.WaitForClaimCount(ctx, claimIdx+1)
claim := g.getClaim(ctx, claimIdx)
return types.NewPositionFromGIndex(claim.Position.Uint64())
}
// getClaim retrieves the claim data for a specific index.
// Note that it is deliberately not exported as tests should use WaitForClaim to avoid race conditions.
func (g *FaultGameHelper) getClaim(ctx context.Context, claimIdx int64) ContractClaim {
......@@ -133,10 +141,6 @@ func (g *FaultGameHelper) getClaim(ctx context.Context, claimIdx int64) Contract
return claimData
}
func (g *FaultGameHelper) GetClaimUnsafe(ctx context.Context, claimIdx int64) ContractClaim {
return g.getClaim(ctx, claimIdx)
}
func (g *FaultGameHelper) WaitForClaimAtDepth(ctx context.Context, depth int) {
g.waitForClaim(
ctx,
......@@ -383,106 +387,3 @@ func (g *FaultGameHelper) gameData(ctx context.Context) string {
func (g *FaultGameHelper) LogGameData(ctx context.Context) {
g.t.Log(g.gameData(ctx))
}
type dishonestClaim struct {
ParentIndex int64
IsAttack bool
Valid bool
}
type DishonestHelper struct {
*FaultGameHelper
*HonestHelper
claims map[dishonestClaim]bool
defender bool
}
func NewDishonestHelper(g *FaultGameHelper, correctTrace *HonestHelper, defender bool) *DishonestHelper {
return &DishonestHelper{g, correctTrace, make(map[dishonestClaim]bool), defender}
}
func (t *DishonestHelper) Attack(ctx context.Context, claimIndex int64) {
c := dishonestClaim{claimIndex, true, false}
if t.claims[c] {
return
}
t.claims[c] = true
t.FaultGameHelper.Attack(ctx, claimIndex, common.Hash{byte(claimIndex)})
}
func (t *DishonestHelper) Defend(ctx context.Context, claimIndex int64) {
c := dishonestClaim{claimIndex, false, false}
if t.claims[c] {
return
}
t.claims[c] = true
t.FaultGameHelper.Defend(ctx, claimIndex, common.Hash{byte(claimIndex)})
}
func (t *DishonestHelper) AttackCorrect(ctx context.Context, claimIndex int64) {
c := dishonestClaim{claimIndex, true, true}
if t.claims[c] {
return
}
t.claims[c] = true
t.HonestHelper.Attack(ctx, claimIndex)
}
func (t *DishonestHelper) DefendCorrect(ctx context.Context, claimIndex int64) {
c := dishonestClaim{claimIndex, false, true}
if t.claims[c] {
return
}
t.claims[c] = true
t.HonestHelper.Defend(ctx, claimIndex)
}
// ExhaustDishonestClaims makes all possible significant moves (mod honest challenger's) in a game.
// It is very inefficient and should NOT be used on games with large depths
func (d *DishonestHelper) ExhaustDishonestClaims(ctx context.Context) {
depth := d.MaxDepth(ctx)
move := func(claimIndex int64, claimData ContractClaim) {
// dishonest level, valid attack
// dishonest level, invalid attack
// dishonest level, valid defense
// dishonest level, invalid defense
// honest level, invalid attack
// honest level, invalid defense
pos := types.NewPositionFromGIndex(claimData.Position.Uint64())
if int64(pos.Depth()) == depth {
return
}
d.LogGameData(ctx)
d.FaultGameHelper.t.Logf("Dishonest moves against claimIndex %d", claimIndex)
agreeWithLevel := d.defender == (pos.Depth()%2 == 0)
if !agreeWithLevel {
d.AttackCorrect(ctx, claimIndex)
if claimIndex != 0 {
d.DefendCorrect(ctx, claimIndex)
}
}
d.Attack(ctx, claimIndex)
if claimIndex != 0 {
d.Defend(ctx, claimIndex)
}
}
var numClaimsSeen int64
for {
newCount, err := d.WaitForNewClaim(ctx, numClaimsSeen)
if errors.Is(err, context.DeadlineExceeded) {
// we assume that the honest challenger has stopped responding
// There's nothing to respond to.
break
}
d.FaultGameHelper.require.NoError(err)
for i := numClaimsSeen; i < newCount; i++ {
claimData := d.getClaim(ctx, numClaimsSeen)
move(numClaimsSeen, claimData)
numClaimsSeen++
}
}
}
......@@ -5,7 +5,6 @@ import (
"testing"
"time"
"github.com/ethereum-optimism/optimism/op-challenger/game/fault/types"
"github.com/ethereum-optimism/optimism/op-e2e/e2eutils/challenger"
"github.com/ethereum-optimism/optimism/op-e2e/e2eutils/disputegame"
l2oo2 "github.com/ethereum-optimism/optimism/op-e2e/e2eutils/l2oo"
......@@ -208,8 +207,7 @@ func TestChallengerCompleteExhaustiveDisputeGame(t *testing.T) {
)
// Start dishonest challenger
correctTrace := game.CreateHonestActor(ctx, disputegame.CorrectAlphabet, 4)
dishonestHelper := disputegame.NewDishonestHelper(&game.FaultGameHelper, correctTrace, !isRootCorrect)
dishonestHelper := game.CreateDishonestHelper(disputegame.CorrectAlphabet, 4, !isRootCorrect)
dishonestHelper.ExhaustDishonestClaims(ctx)
// Wait until we've reached max depth before checking for inactivity
......@@ -464,8 +462,7 @@ func TestCannonPoisonedPostState(t *testing.T) {
game.WaitForClaimCount(ctx, claimCount)
// Defender moves last. If we're at max depth, then we're done
dishonestClaim := game.GetClaimUnsafe(ctx, claimCount-1)
pos := types.NewPositionFromGIndex(dishonestClaim.Position.Uint64())
pos := game.GetClaimPosition(ctx, claimCount-1)
if int64(pos.Depth()) == depth {
break
}
......
package metrics
import (
"fmt"
"time"
"github.com/ethereum-optimism/optimism/op-service/metrics"
"github.com/prometheus/client_golang/prometheus"
)
type EventMetrics struct {
Total prometheus.Counter
LastTime prometheus.Gauge
}
func (e *EventMetrics) RecordEvent() {
e.Total.Inc()
e.LastTime.Set(float64(time.Now().Unix()))
}
func NewEventMetrics(factory metrics.Factory, ns string, name string, displayName string) *EventMetrics {
return &EventMetrics{
Total: factory.NewCounter(prometheus.CounterOpts{
Namespace: ns,
Name: fmt.Sprintf("%s_total", name),
Help: fmt.Sprintf("Count of %s events", displayName),
}),
LastTime: factory.NewGauge(prometheus.GaugeOpts{
Namespace: ns,
Name: fmt.Sprintf("last_%s_unix", name),
Help: fmt.Sprintf("Timestamp of last %s event", displayName),
}),
}
}
......@@ -3,7 +3,6 @@ package metrics
import (
"context"
"encoding/binary"
"errors"
"fmt"
"net"
......@@ -50,7 +49,7 @@ type Metricer interface {
RecordPublishingError()
RecordDerivationError()
RecordReceivedUnsafePayload(payload *eth.ExecutionPayload)
recordRef(layer string, name string, num uint64, timestamp uint64, h common.Hash)
RecordRef(layer string, name string, num uint64, timestamp uint64, h common.Hash)
RecordL1Ref(name string, ref eth.L1BlockRef)
RecordL2Ref(name string, ref eth.L2BlockRef)
RecordUnsafePayloadsBuffer(length uint64, memSize uint64, next eth.BlockID)
......@@ -99,11 +98,11 @@ type Metrics struct {
DerivationIdle prometheus.Gauge
PipelineResets *EventMetrics
UnsafePayloads *EventMetrics
DerivationErrors *EventMetrics
SequencingErrors *EventMetrics
PublishingErrors *EventMetrics
PipelineResets *metrics.Event
UnsafePayloads *metrics.Event
DerivationErrors *metrics.Event
SequencingErrors *metrics.Event
PublishingErrors *metrics.Event
P2PReqDurationSeconds *prometheus.HistogramVec
P2PReqTotal *prometheus.CounterVec
......@@ -111,8 +110,8 @@ type Metrics struct {
PayloadsQuarantineTotal prometheus.Gauge
SequencerInconsistentL1Origin *EventMetrics
SequencerResets *EventMetrics
SequencerInconsistentL1Origin *metrics.Event
SequencerResets *metrics.Event
L1RequestDurationSeconds *prometheus.HistogramVec
......@@ -125,23 +124,16 @@ type Metrics struct {
UnsafePayloadsBufferLen prometheus.Gauge
UnsafePayloadsBufferMemSize prometheus.Gauge
RefsNumber *prometheus.GaugeVec
RefsTime *prometheus.GaugeVec
RefsHash *prometheus.GaugeVec
RefsSeqNr *prometheus.GaugeVec
RefsLatency *prometheus.GaugeVec
// hash of the last seen block per name, so we don't reduce/increase latency on updates of the same data,
// and only count the first occurrence
LatencySeen map[string]common.Hash
metrics.RefMetrics
L1ReorgDepth prometheus.Histogram
TransactionsSequencedTotal prometheus.Counter
// Channel Bank Metrics
headChannelOpenedEvent *EventMetrics
channelTimedOutEvent *EventMetrics
frameAddedEvent *EventMetrics
headChannelOpenedEvent *metrics.Event
channelTimedOutEvent *metrics.Event
frameAddedEvent *metrics.Event
// P2P Metrics
PeerCount prometheus.Gauge
......@@ -247,14 +239,14 @@ func NewMetrics(procName string) *Metrics {
Help: "1 if the derivation pipeline is idle",
}),
PipelineResets: NewEventMetrics(factory, ns, "pipeline_resets", "derivation pipeline resets"),
UnsafePayloads: NewEventMetrics(factory, ns, "unsafe_payloads", "unsafe payloads"),
DerivationErrors: NewEventMetrics(factory, ns, "derivation_errors", "derivation errors"),
SequencingErrors: NewEventMetrics(factory, ns, "sequencing_errors", "sequencing errors"),
PublishingErrors: NewEventMetrics(factory, ns, "publishing_errors", "p2p publishing errors"),
PipelineResets: metrics.NewEvent(factory, ns, "", "pipeline_resets", "derivation pipeline resets"),
UnsafePayloads: metrics.NewEvent(factory, ns, "", "unsafe_payloads", "unsafe payloads"),
DerivationErrors: metrics.NewEvent(factory, ns, "", "derivation_errors", "derivation errors"),
SequencingErrors: metrics.NewEvent(factory, ns, "", "sequencing_errors", "sequencing errors"),
PublishingErrors: metrics.NewEvent(factory, ns, "", "publishing_errors", "p2p publishing errors"),
SequencerInconsistentL1Origin: NewEventMetrics(factory, ns, "sequencer_inconsistent_l1_origin", "events when the sequencer selects an inconsistent L1 origin"),
SequencerResets: NewEventMetrics(factory, ns, "sequencer_resets", "sequencer resets"),
SequencerInconsistentL1Origin: metrics.NewEvent(factory, ns, "", "sequencer_inconsistent_l1_origin", "events when the sequencer selects an inconsistent L1 origin"),
SequencerResets: metrics.NewEvent(factory, ns, "", "sequencer_resets", "sequencer resets"),
UnsafePayloadsBufferLen: factory.NewGauge(prometheus.GaugeOpts{
Namespace: ns,
......@@ -267,46 +259,7 @@ func NewMetrics(procName string) *Metrics {
Help: "Total estimated memory size of buffered L2 unsafe payloads",
}),
RefsNumber: factory.NewGaugeVec(prometheus.GaugeOpts{
Namespace: ns,
Name: "refs_number",
Help: "Gauge representing the different L1/L2 reference block numbers",
}, []string{
"layer",
"type",
}),
RefsTime: factory.NewGaugeVec(prometheus.GaugeOpts{
Namespace: ns,
Name: "refs_time",
Help: "Gauge representing the different L1/L2 reference block timestamps",
}, []string{
"layer",
"type",
}),
RefsHash: factory.NewGaugeVec(prometheus.GaugeOpts{
Namespace: ns,
Name: "refs_hash",
Help: "Gauge representing the different L1/L2 reference block hashes truncated to float values",
}, []string{
"layer",
"type",
}),
RefsSeqNr: factory.NewGaugeVec(prometheus.GaugeOpts{
Namespace: ns,
Name: "refs_seqnr",
Help: "Gauge representing the different L2 reference sequence numbers",
}, []string{
"type",
}),
RefsLatency: factory.NewGaugeVec(prometheus.GaugeOpts{
Namespace: ns,
Name: "refs_latency",
Help: "Gauge representing the different L1/L2 reference block timestamps minus current time, in seconds",
}, []string{
"layer",
"type",
}),
LatencySeen: make(map[string]common.Hash),
RefMetrics: metrics.MakeRefMetrics(ns, factory),
L1ReorgDepth: factory.NewHistogram(prometheus.HistogramOpts{
Namespace: ns,
......@@ -380,9 +333,9 @@ func NewMetrics(procName string) *Metrics {
Help: "Count of incoming dial attempts to accept, with label to filter to allowed attempts",
}, []string{"allow"}),
headChannelOpenedEvent: NewEventMetrics(factory, ns, "head_channel", "New channel at the front of the channel bank"),
channelTimedOutEvent: NewEventMetrics(factory, ns, "channel_timeout", "Channel has timed out"),
frameAddedEvent: NewEventMetrics(factory, ns, "frame_added", "New frame ingested in the channel bank"),
headChannelOpenedEvent: metrics.NewEvent(factory, ns, "", "head_channel", "New channel at the front of the channel bank"),
channelTimedOutEvent: metrics.NewEvent(factory, ns, "", "channel_timeout", "Channel has timed out"),
frameAddedEvent: metrics.NewEvent(factory, ns, "", "frame_added", "New frame ingested in the channel bank"),
ChannelInputBytes: factory.NewCounter(prometheus.CounterOpts{
Namespace: ns,
......@@ -570,53 +523,28 @@ func (m *Metrics) SetDerivationIdle(status bool) {
}
func (m *Metrics) RecordPipelineReset() {
m.PipelineResets.RecordEvent()
m.PipelineResets.Record()
}
func (m *Metrics) RecordSequencingError() {
m.SequencingErrors.RecordEvent()
m.SequencingErrors.Record()
}
func (m *Metrics) RecordPublishingError() {
m.PublishingErrors.RecordEvent()
m.PublishingErrors.Record()
}
func (m *Metrics) RecordDerivationError() {
m.DerivationErrors.RecordEvent()
m.DerivationErrors.Record()
}
func (m *Metrics) RecordReceivedUnsafePayload(payload *eth.ExecutionPayload) {
m.UnsafePayloads.RecordEvent()
m.recordRef("l2", "received_payload", uint64(payload.BlockNumber), uint64(payload.Timestamp), payload.BlockHash)
}
func (m *Metrics) recordRef(layer string, name string, num uint64, timestamp uint64, h common.Hash) {
m.RefsNumber.WithLabelValues(layer, name).Set(float64(num))
if timestamp != 0 {
m.RefsTime.WithLabelValues(layer, name).Set(float64(timestamp))
// only meter the latency when we first see this hash for the given label name
if m.LatencySeen[name] != h {
m.LatencySeen[name] = h
m.RefsLatency.WithLabelValues(layer, name).Set(float64(timestamp) - (float64(time.Now().UnixNano()) / 1e9))
}
}
// we map the first 8 bytes to a float64, so we can graph changes of the hash to find divergences visually.
// We don't do math.Float64frombits, just a regular conversion, to keep the value within a manageable range.
m.RefsHash.WithLabelValues(layer, name).Set(float64(binary.LittleEndian.Uint64(h[:])))
}
func (m *Metrics) RecordL1Ref(name string, ref eth.L1BlockRef) {
m.recordRef("l1", name, ref.Number, ref.Time, ref.Hash)
}
func (m *Metrics) RecordL2Ref(name string, ref eth.L2BlockRef) {
m.recordRef("l2", name, ref.Number, ref.Time, ref.Hash)
m.recordRef("l1_origin", name, ref.L1Origin.Number, 0, ref.L1Origin.Hash)
m.RefsSeqNr.WithLabelValues(name).Set(float64(ref.SequenceNumber))
m.UnsafePayloads.Record()
m.RecordRef("l2", "received_payload", uint64(payload.BlockNumber), uint64(payload.Timestamp), payload.BlockHash)
}
func (m *Metrics) RecordUnsafePayloadsBuffer(length uint64, memSize uint64, next eth.BlockID) {
m.recordRef("l2", "l2_buffer_unsafe", next.Number, 0, next.Hash)
m.RecordRef("l2", "l2_buffer_unsafe", next.Number, 0, next.Hash)
m.UnsafePayloadsBufferLen.Set(float64(length))
m.UnsafePayloadsBufferMemSize.Set(float64(memSize))
}
......@@ -630,13 +558,13 @@ func (m *Metrics) RecordL1ReorgDepth(d uint64) {
}
func (m *Metrics) RecordSequencerInconsistentL1Origin(from eth.BlockID, to eth.BlockID) {
m.SequencerInconsistentL1Origin.RecordEvent()
m.recordRef("l1_origin", "inconsistent_from", from.Number, 0, from.Hash)
m.recordRef("l1_origin", "inconsistent_to", to.Number, 0, to.Hash)
m.SequencerInconsistentL1Origin.Record()
m.RecordRef("l1_origin", "inconsistent_from", from.Number, 0, from.Hash)
m.RecordRef("l1_origin", "inconsistent_to", to.Number, 0, to.Hash)
}
func (m *Metrics) RecordSequencerReset() {
m.SequencerResets.RecordEvent()
m.SequencerResets.Record()
}
func (m *Metrics) RecordGossipEvent(evType int32) {
......@@ -740,15 +668,15 @@ func (m *Metrics) RecordChannelInputBytes(inputCompressedBytes int) {
}
func (m *Metrics) RecordHeadChannelOpened() {
m.headChannelOpenedEvent.RecordEvent()
m.headChannelOpenedEvent.Record()
}
func (m *Metrics) RecordChannelTimedOut() {
m.channelTimedOutEvent.RecordEvent()
m.channelTimedOutEvent.Record()
}
func (m *Metrics) RecordFrame() {
m.frameAddedEvent.RecordEvent()
m.frameAddedEvent.Record()
}
func (m *Metrics) RecordPeerUnban() {
......@@ -821,7 +749,7 @@ func (n *noopMetricer) RecordDerivationError() {
func (n *noopMetricer) RecordReceivedUnsafePayload(payload *eth.ExecutionPayload) {
}
func (n *noopMetricer) recordRef(layer string, name string, num uint64, timestamp uint64, h common.Hash) {
func (n *noopMetricer) RecordRef(layer string, name string, num uint64, timestamp uint64, h common.Hash) {
}
func (n *noopMetricer) RecordL1Ref(name string, ref eth.L1BlockRef) {
......
......@@ -16,8 +16,8 @@ func (e *Event) Record() {
e.LastTime.SetToCurrentTime()
}
func NewEvent(factory Factory, ns string, subsystem string, name string, displayName string) Event {
return Event{
func NewEvent(factory Factory, ns string, subsystem string, name string, displayName string) *Event {
return &Event{
Total: factory.NewCounter(prometheus.CounterOpts{
Namespace: ns,
Name: fmt.Sprintf("%s_total", name),
......
......@@ -27,7 +27,7 @@ type TxMetrics struct {
currentNonce prometheus.Gauge
pendingTxs prometheus.Gauge
txPublishError *prometheus.CounterVec
publishEvent metrics.Event
publishEvent *metrics.Event
confirmEvent metrics.EventVec
rpcError prometheus.Counter
}
......
......@@ -58,7 +58,7 @@
"@types/morgan": "^1.9.4",
"@types/pino": "^7.0.5",
"@types/pino-multi-stream": "^5.1.3",
"chai": "^4.3.7",
"chai": "^4.3.9",
"supertest": "^6.3.3"
}
}
......@@ -44,6 +44,6 @@
"@typescript-eslint/eslint-plugin": "^6.7.0",
"@typescript-eslint/parser": "^6.4.0",
"tsx": "^3.12.7",
"typescript": "^5.1.6"
"typescript": "^5.2.2"
}
}
......@@ -60,7 +60,7 @@
"jest-dom": "link:@types/@testing-library/jest-dom",
"jsdom": "^22.1.0",
"tsup": "^7.1.0",
"typescript": "^5.1.6",
"typescript": "^5.2.2",
"vite": "^4.4.6",
"vitest": "^0.34.2"
},
......
......@@ -44,7 +44,7 @@
"@ethersproject/properties": "^5.7.0",
"@ethersproject/rlp": "^5.7.0",
"@ethersproject/web": "^5.7.1",
"chai": "^4.3.7",
"chai": "^4.3.9",
"ethers": "^5.7.2",
"node-fetch": "^2.6.7"
},
......
......@@ -43,7 +43,7 @@
"jest-dom": "link:@types/@testing-library/jest-dom",
"jsdom": "^22.1.0",
"tsup": "^7.1.0",
"typescript": "^5.1.6",
"typescript": "^5.2.2",
"viem": "^1.3.1",
"vite": "^4.4.6",
"vitest": "^0.34.2"
......
......@@ -41,7 +41,7 @@
"@ethersproject/transactions": "^5.7.0",
"@nomiclabs/hardhat-ethers": "^2.2.3",
"@nomiclabs/hardhat-waffle": "^2.0.1",
"@types/chai": "^4.3.5",
"@types/chai": "^4.3.6",
"@types/chai-as-promised": "^7.1.5",
"@types/mocha": "^10.0.1",
"@types/node": "^20.5.0",
......@@ -55,7 +55,7 @@
"nyc": "^15.1.0",
"ts-node": "^10.9.1",
"typedoc": "^0.25.1",
"typescript": "^5.1.6",
"typescript": "^5.2.2",
"viem": "^1.6.0",
"vitest": "^0.34.2",
"zod": "^3.22.1"
......
......@@ -36,7 +36,7 @@
"@swc/core": "^1.3.76",
"@vitest/coverage-istanbul": "^0.34.1",
"tsup": "^7.2.0",
"typescript": "^5.1.6",
"typescript": "^5.2.2",
"viem": "^1.6.0",
"vite": "^4.4.9",
"vitest": "^0.34.1",
......
......@@ -13,7 +13,7 @@ importers:
version: 2.26.0
'@codechecks/client':
specifier: ^0.1.11
version: 0.1.12(typescript@5.1.6)
version: 0.1.12(typescript@5.2.2)
devDependencies:
'@babel/eslint-parser':
specifier: ^7.18.2
......@@ -25,8 +25,8 @@ importers:
specifier: latest
version: 16.4.0
'@types/chai':
specifier: ^4.2.18
version: 4.3.5
specifier: ^4.3.6
version: 4.3.6
'@types/chai-as-promised':
specifier: ^7.1.4
version: 7.1.5
......@@ -38,13 +38,13 @@ importers:
version: 20.6.3
'@typescript-eslint/eslint-plugin':
specifier: ^6.7.0
version: 6.7.0(@typescript-eslint/parser@6.7.3)(eslint@8.49.0)(typescript@5.1.6)
version: 6.7.0(@typescript-eslint/parser@6.7.3)(eslint@8.49.0)(typescript@5.2.2)
'@typescript-eslint/parser':
specifier: ^6.7.0
version: 6.7.3(eslint@8.49.0)(typescript@5.1.6)
version: 6.7.3(eslint@8.49.0)(typescript@5.2.2)
chai:
specifier: ^4.2.0
version: 4.3.7
specifier: ^4.3.9
version: 4.3.9
depcheck:
specifier: ^1.4.3
version: 1.4.6
......@@ -121,8 +121,8 @@ importers:
specifier: ^10.0.0
version: 10.0.0(mocha@10.2.0)
typescript:
specifier: ^5.1.6
version: 5.1.6
specifier: ^5.2.2
version: 5.2.2
endpoint-monitor: {}
......@@ -130,7 +130,7 @@ importers:
devDependencies:
tsup:
specifier: ^7.2.0
version: 7.2.0(@swc/core@1.3.76)(typescript@5.1.6)
version: 7.2.0(@swc/core@1.3.76)(typescript@5.2.2)
vitest:
specifier: ^0.34.4
version: 0.34.4
......@@ -159,7 +159,7 @@ importers:
version: 5.0.0
chai-as-promised:
specifier: ^7.1.1
version: 7.1.1(chai@4.3.8)
version: 7.1.1(chai@4.3.9)
dateformat:
specifier: ^4.5.1
version: 4.5.1
......@@ -259,8 +259,8 @@ importers:
specifier: ^5.1.3
version: 5.1.3
chai:
specifier: ^4.3.7
version: 4.3.7
specifier: ^4.3.9
version: 4.3.9
supertest:
specifier: ^6.3.3
version: 6.3.3
......@@ -269,16 +269,16 @@ importers:
devDependencies:
'@typescript-eslint/eslint-plugin':
specifier: ^6.7.0
version: 6.7.0(@typescript-eslint/parser@6.4.0)(eslint@8.50.0)(typescript@5.1.6)
version: 6.7.0(@typescript-eslint/parser@6.4.0)(eslint@8.50.0)(typescript@5.2.2)
'@typescript-eslint/parser':
specifier: ^6.4.0
version: 6.4.0(eslint@8.50.0)(typescript@5.1.6)
version: 6.4.0(eslint@8.50.0)(typescript@5.2.2)
tsx:
specifier: ^3.12.7
version: 3.12.7
typescript:
specifier: ^5.1.6
version: 5.1.6
specifier: ^5.2.2
version: 5.2.2
packages/contracts-ts:
dependencies:
......@@ -293,10 +293,10 @@ importers:
version: 18.2.0(react@18.2.0)
viem:
specifier: ^1.3.1
version: 1.3.1(typescript@5.1.6)
version: 1.3.1(typescript@5.2.2)
wagmi:
specifier: '>1.0.0'
version: 1.0.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.1.6)(viem@1.3.1)
version: 1.0.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2)(viem@1.3.1)
devDependencies:
'@eth-optimism/contracts-bedrock':
specifier: workspace:*
......@@ -315,13 +315,13 @@ importers:
version: 0.34.1(vitest@0.34.2)
'@wagmi/cli':
specifier: ^1.3.0
version: 1.3.0(@wagmi/core@1.3.8)(typescript@5.1.6)(wagmi@1.0.1)
version: 1.3.0(@wagmi/core@1.3.8)(typescript@5.2.2)(wagmi@1.0.1)
'@wagmi/core':
specifier: ^1.3.8
version: 1.3.8(react@18.2.0)(typescript@5.1.6)(viem@1.3.1)
version: 1.3.8(react@18.2.0)(typescript@5.2.2)(viem@1.3.1)
abitype:
specifier: ^0.9.3
version: 0.9.3(typescript@5.1.6)(zod@3.22.0)
version: 0.9.3(typescript@5.2.2)(zod@3.22.0)
glob:
specifier: ^10.3.3
version: 10.3.3
......@@ -336,10 +336,10 @@ importers:
version: 22.1.0
tsup:
specifier: ^7.1.0
version: 7.1.0(typescript@5.1.6)
version: 7.1.0(typescript@5.2.2)
typescript:
specifier: ^5.1.6
version: 5.1.6
specifier: ^5.2.2
version: 5.2.2
vite:
specifier: ^4.4.6
version: 4.4.6(@types/node@20.6.3)
......@@ -383,8 +383,8 @@ importers:
specifier: ^5.7.1
version: 5.7.1
chai:
specifier: ^4.3.7
version: 4.3.7
specifier: ^4.3.9
version: 4.3.9
ethers:
specifier: ^5.7.2
version: 5.7.2
......@@ -415,7 +415,7 @@ importers:
version: 0.34.1(vitest@0.34.2)
abitype:
specifier: ^0.9.3
version: 0.9.3(typescript@5.1.6)(zod@3.22.0)
version: 0.9.3(typescript@5.2.2)(zod@3.22.0)
isomorphic-fetch:
specifier: ^3.0.0
version: 3.0.0
......@@ -427,13 +427,13 @@ importers:
version: 22.1.0
tsup:
specifier: ^7.1.0
version: 7.1.0(typescript@5.1.6)
version: 7.1.0(typescript@5.2.2)
typescript:
specifier: ^5.1.6
version: 5.1.6
specifier: ^5.2.2
version: 5.2.2
viem:
specifier: ^1.3.1
version: 1.3.1(typescript@5.1.6)
version: 1.3.1(typescript@5.2.2)
vite:
specifier: ^4.4.6
version: 4.4.6(@types/node@20.6.3)
......@@ -478,8 +478,8 @@ importers:
specifier: ^2.0.1
version: 2.0.1(@nomiclabs/hardhat-ethers@2.2.3)(ethereum-waffle@4.0.10)(ethers@5.7.2)(hardhat@2.17.2)
'@types/chai':
specifier: ^4.3.5
version: 4.3.5
specifier: ^4.3.6
version: 4.3.6
'@types/chai-as-promised':
specifier: ^7.1.5
version: 7.1.5
......@@ -491,16 +491,16 @@ importers:
version: 20.5.0
chai-as-promised:
specifier: ^7.1.1
version: 7.1.1(chai@4.3.8)
version: 7.1.1(chai@4.3.9)
ethereum-waffle:
specifier: ^4.0.10
version: 4.0.10(@ensdomains/ens@0.4.5)(@ensdomains/resolver@0.2.4)(@ethersproject/abi@5.7.0)(@ethersproject/providers@5.7.2)(ethers@5.7.2)(typescript@5.1.6)
version: 4.0.10(@ensdomains/ens@0.4.5)(@ensdomains/resolver@0.2.4)(@ethersproject/abi@5.7.0)(@ethersproject/providers@5.7.2)(ethers@5.7.2)(typescript@5.2.2)
ethers:
specifier: ^5.7.2
version: 5.7.2
hardhat:
specifier: ^2.17.2
version: 2.17.2(ts-node@10.9.1)(typescript@5.1.6)
version: 2.17.2(ts-node@10.9.1)(typescript@5.2.2)
hardhat-deploy:
specifier: ^0.11.4
version: 0.11.10
......@@ -515,16 +515,16 @@ importers:
version: 15.1.0
ts-node:
specifier: ^10.9.1
version: 10.9.1(@types/node@20.5.0)(typescript@5.1.6)
version: 10.9.1(@types/node@20.5.0)(typescript@5.2.2)
typedoc:
specifier: ^0.25.1
version: 0.25.1(typescript@5.1.6)
version: 0.25.1(typescript@5.2.2)
typescript:
specifier: ^5.1.6
version: 5.1.6
specifier: ^5.2.2
version: 5.2.2
viem:
specifier: ^1.6.0
version: 1.6.0(typescript@5.1.6)(zod@3.22.1)
version: 1.6.0(typescript@5.2.2)(zod@3.22.1)
vitest:
specifier: ^0.34.2
version: 0.34.2(jsdom@22.1.0)
......@@ -558,13 +558,13 @@ importers:
version: 0.34.1(vitest@0.34.1)
tsup:
specifier: ^7.2.0
version: 7.2.0(@swc/core@1.3.76)(typescript@5.1.6)
version: 7.2.0(@swc/core@1.3.76)(typescript@5.2.2)
typescript:
specifier: ^5.1.6
version: 5.1.6
specifier: ^5.2.2
version: 5.2.2
viem:
specifier: ^1.6.0
version: 1.6.0(typescript@5.1.6)(zod@3.22.0)
version: 1.6.0(typescript@5.2.2)(zod@3.22.0)
vite:
specifier: ^4.4.9
version: 4.4.9(@types/node@20.6.3)
......@@ -1071,7 +1071,7 @@ packages:
prettier: 2.8.8
dev: false
/@codechecks/client@0.1.12(typescript@5.1.6):
/@codechecks/client@0.1.12(typescript@5.2.2):
resolution: {integrity: sha512-2GHHvhO3kaOyxFXxOaiznlY8ARmz33/p+WQdhc2y6wzWw5eOl2wSwg1eZxx3LsWlAnB963Y4bd1YjZcGIhKRzA==}
engines: {node: '>=6'}
hasBin: true
......@@ -1094,7 +1094,7 @@ packages:
request: 2.88.2
request-promise: 4.2.6(request@2.88.2)
ts-essentials: 1.0.4
ts-node: 8.10.2(typescript@5.1.6)
ts-node: 8.10.2(typescript@5.2.2)
url-join: 4.0.1
transitivePeerDependencies:
- supports-color
......@@ -1683,7 +1683,7 @@ packages:
'@ethersproject/transactions': 5.7.0
'@ethersproject/web': 5.7.1
bufio: 1.2.0
chai: 4.3.8
chai: 4.3.9
transitivePeerDependencies:
- bufferutil
- utf-8-validate
......@@ -1705,32 +1705,6 @@ packages:
- supports-color
dev: true
/@ethereum-waffle/compiler@4.0.3(@ethersproject/abi@5.7.0)(@ethersproject/providers@5.7.2)(ethers@5.7.2)(solc@0.8.15)(typechain@8.3.1)(typescript@5.1.6):
resolution: {integrity: sha512-5x5U52tSvEVJS6dpCeXXKvRKyf8GICDwiTwUvGD3/WD+DpvgvaoHOL82XqpTSUHgV3bBq6ma5/8gKUJUIAnJCw==}
engines: {node: '>=10.0'}
peerDependencies:
ethers: '*'
solc: '*'
typechain: ^8.0.0
dependencies:
'@resolver-engine/imports': 0.3.3
'@resolver-engine/imports-fs': 0.3.3
'@typechain/ethers-v5': 10.2.1(@ethersproject/abi@5.7.0)(@ethersproject/providers@5.7.2)(ethers@5.7.2)(typechain@8.3.1)(typescript@5.1.6)
'@types/mkdirp': 0.5.2
'@types/node-fetch': 2.6.4
ethers: 5.7.2
mkdirp: 0.5.6
node-fetch: 2.6.12
solc: 0.8.15
typechain: 8.3.1(typescript@5.1.6)
transitivePeerDependencies:
- '@ethersproject/abi'
- '@ethersproject/providers'
- encoding
- supports-color
- typescript
dev: true
/@ethereum-waffle/compiler@4.0.3(@ethersproject/abi@5.7.0)(@ethersproject/providers@5.7.2)(ethers@5.7.2)(solc@0.8.15)(typechain@8.3.1)(typescript@5.2.2):
resolution: {integrity: sha512-5x5U52tSvEVJS6dpCeXXKvRKyf8GICDwiTwUvGD3/WD+DpvgvaoHOL82XqpTSUHgV3bBq6ma5/8gKUJUIAnJCw==}
engines: {node: '>=10.0'}
......@@ -2806,9 +2780,9 @@ packages:
'@nomiclabs/hardhat-ethers': 2.2.3(ethers@5.7.2)(hardhat@2.17.2)
'@types/sinon-chai': 3.2.5
'@types/web3': 1.0.19
ethereum-waffle: 4.0.10(@ensdomains/ens@0.4.5)(@ensdomains/resolver@0.2.4)(@ethersproject/abi@5.7.0)(@ethersproject/providers@5.7.2)(ethers@5.7.2)(typescript@5.1.6)
ethereum-waffle: 4.0.10(@ensdomains/ens@0.4.5)(@ensdomains/resolver@0.2.4)(@ethersproject/abi@5.7.0)(@ethersproject/providers@5.7.2)(ethers@5.7.2)(typescript@5.2.2)
ethers: 5.7.2
hardhat: 2.17.2(ts-node@10.9.1)(typescript@5.1.6)
hardhat: 2.17.2(ts-node@10.9.1)(typescript@5.2.2)
dev: true
/@nomiclabs/hardhat-waffle@2.0.6(@nomiclabs/hardhat-ethers@2.2.3)(@types/sinon-chai@3.2.5)(ethereum-waffle@4.0.10)(ethers@5.7.2)(hardhat@2.17.2):
......@@ -3007,10 +2981,10 @@ packages:
- encoding
- utf-8-validate
/@safe-global/safe-apps-provider@0.17.1(typescript@5.1.6):
/@safe-global/safe-apps-provider@0.17.1(typescript@5.2.2):
resolution: {integrity: sha512-lYfRqrbbK1aKU1/UGkYWc/X7PgySYcumXKc5FB2uuwAs2Ghj8uETuW5BrwPqyjBknRxutFbTv+gth/JzjxAhdQ==}
dependencies:
'@safe-global/safe-apps-sdk': 8.0.0(typescript@5.1.6)
'@safe-global/safe-apps-sdk': 8.0.0(typescript@5.2.2)
events: 3.3.0
transitivePeerDependencies:
- bufferutil
......@@ -3040,11 +3014,11 @@ packages:
- encoding
- utf-8-validate
/@safe-global/safe-apps-sdk@8.0.0(typescript@5.1.6):
/@safe-global/safe-apps-sdk@8.0.0(typescript@5.2.2):
resolution: {integrity: sha512-gYw0ki/EAuV1oSyMxpqandHjnthZjYYy+YWpTAzf8BqfXM3ItcZLpjxfg+3+mXW8HIO+3jw6T9iiqEXsqHaMMw==}
dependencies:
'@safe-global/safe-gateway-typescript-sdk': 3.7.3
viem: 1.6.0(typescript@5.1.6)(zod@3.22.0)
viem: 1.6.0(typescript@5.2.2)(zod@3.22.0)
transitivePeerDependencies:
- bufferutil
- encoding
......@@ -3679,24 +3653,6 @@ packages:
resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==}
dev: true
/@typechain/ethers-v5@10.2.1(@ethersproject/abi@5.7.0)(@ethersproject/providers@5.7.2)(ethers@5.7.2)(typechain@8.3.1)(typescript@5.1.6):
resolution: {integrity: sha512-n3tQmCZjRE6IU4h6lqUGiQ1j866n5MTCBJreNEHHVWXa2u9GJTaeYyU1/k+1qLutkyw+sS6VAN+AbeiTqsxd/A==}
peerDependencies:
'@ethersproject/abi': ^5.0.0
'@ethersproject/providers': ^5.0.0
ethers: ^5.1.3
typechain: ^8.1.1
typescript: '>=4.3.0'
dependencies:
'@ethersproject/abi': 5.7.0
'@ethersproject/providers': 5.7.2
ethers: 5.7.2
lodash: 4.17.21
ts-essentials: 7.0.3(typescript@5.1.6)
typechain: 8.3.1(typescript@5.1.6)
typescript: 5.1.6
dev: true
/@typechain/ethers-v5@10.2.1(@ethersproject/abi@5.7.0)(@ethersproject/providers@5.7.2)(ethers@5.7.2)(typechain@8.3.1)(typescript@5.2.2):
resolution: {integrity: sha512-n3tQmCZjRE6IU4h6lqUGiQ1j866n5MTCBJreNEHHVWXa2u9GJTaeYyU1/k+1qLutkyw+sS6VAN+AbeiTqsxd/A==}
peerDependencies:
......@@ -3754,10 +3710,6 @@ packages:
'@types/chai': 4.3.6
dev: true
/@types/chai@4.3.5:
resolution: {integrity: sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==}
dev: true
/@types/chai@4.3.6:
resolution: {integrity: sha512-VOVRLM1mBxIRxydiViqPcKn6MIxZytrbMpd6RJLIWKxUNr3zux8no0Oc7kJx0WAPIitgZ0gkrDS+btlqQpubpw==}
dev: true
......@@ -4066,7 +4018,7 @@ packages:
'@types/node': 20.7.0
dev: true
/@typescript-eslint/eslint-plugin@6.7.0(@typescript-eslint/parser@6.4.0)(eslint@8.50.0)(typescript@5.1.6):
/@typescript-eslint/eslint-plugin@6.7.0(@typescript-eslint/parser@6.4.0)(eslint@8.50.0)(typescript@5.2.2):
resolution: {integrity: sha512-gUqtknHm0TDs1LhY12K2NA3Rmlmp88jK9Tx8vGZMfHeNMLE3GH2e9TRub+y+SOjuYgtOmok+wt1AyDPZqxbNag==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
......@@ -4078,10 +4030,10 @@ packages:
optional: true
dependencies:
'@eslint-community/regexpp': 4.6.2
'@typescript-eslint/parser': 6.4.0(eslint@8.50.0)(typescript@5.1.6)
'@typescript-eslint/parser': 6.4.0(eslint@8.50.0)(typescript@5.2.2)
'@typescript-eslint/scope-manager': 6.7.0
'@typescript-eslint/type-utils': 6.7.0(eslint@8.50.0)(typescript@5.1.6)
'@typescript-eslint/utils': 6.7.0(eslint@8.50.0)(typescript@5.1.6)
'@typescript-eslint/type-utils': 6.7.0(eslint@8.50.0)(typescript@5.2.2)
'@typescript-eslint/utils': 6.7.0(eslint@8.50.0)(typescript@5.2.2)
'@typescript-eslint/visitor-keys': 6.7.0
debug: 4.3.4(supports-color@8.1.1)
eslint: 8.50.0
......@@ -4089,13 +4041,13 @@ packages:
ignore: 5.2.4
natural-compare: 1.4.0
semver: 7.5.4
ts-api-utils: 1.0.1(typescript@5.1.6)
typescript: 5.1.6
ts-api-utils: 1.0.1(typescript@5.2.2)
typescript: 5.2.2
transitivePeerDependencies:
- supports-color
dev: true
/@typescript-eslint/eslint-plugin@6.7.0(@typescript-eslint/parser@6.7.3)(eslint@8.49.0)(typescript@5.1.6):
/@typescript-eslint/eslint-plugin@6.7.0(@typescript-eslint/parser@6.7.3)(eslint@8.49.0)(typescript@5.2.2):
resolution: {integrity: sha512-gUqtknHm0TDs1LhY12K2NA3Rmlmp88jK9Tx8vGZMfHeNMLE3GH2e9TRub+y+SOjuYgtOmok+wt1AyDPZqxbNag==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
......@@ -4107,10 +4059,10 @@ packages:
optional: true
dependencies:
'@eslint-community/regexpp': 4.6.2
'@typescript-eslint/parser': 6.7.3(eslint@8.49.0)(typescript@5.1.6)
'@typescript-eslint/parser': 6.7.3(eslint@8.49.0)(typescript@5.2.2)
'@typescript-eslint/scope-manager': 6.7.0
'@typescript-eslint/type-utils': 6.7.0(eslint@8.49.0)(typescript@5.1.6)
'@typescript-eslint/utils': 6.7.0(eslint@8.49.0)(typescript@5.1.6)
'@typescript-eslint/type-utils': 6.7.0(eslint@8.49.0)(typescript@5.2.2)
'@typescript-eslint/utils': 6.7.0(eslint@8.49.0)(typescript@5.2.2)
'@typescript-eslint/visitor-keys': 6.7.0
debug: 4.3.4(supports-color@8.1.1)
eslint: 8.49.0
......@@ -4118,13 +4070,13 @@ packages:
ignore: 5.2.4
natural-compare: 1.4.0
semver: 7.5.4
ts-api-utils: 1.0.1(typescript@5.1.6)
typescript: 5.1.6
ts-api-utils: 1.0.1(typescript@5.2.2)
typescript: 5.2.2
transitivePeerDependencies:
- supports-color
dev: true
/@typescript-eslint/parser@6.4.0(eslint@8.50.0)(typescript@5.1.6):
/@typescript-eslint/parser@6.4.0(eslint@8.50.0)(typescript@5.2.2):
resolution: {integrity: sha512-I1Ah1irl033uxjxO9Xql7+biL3YD7w9IU8zF+xlzD/YxY6a4b7DYA08PXUUCbm2sEljwJF6ERFy2kTGAGcNilg==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
......@@ -4136,16 +4088,16 @@ packages:
dependencies:
'@typescript-eslint/scope-manager': 6.4.0
'@typescript-eslint/types': 6.4.0
'@typescript-eslint/typescript-estree': 6.4.0(typescript@5.1.6)
'@typescript-eslint/typescript-estree': 6.4.0(typescript@5.2.2)
'@typescript-eslint/visitor-keys': 6.4.0
debug: 4.3.4(supports-color@8.1.1)
eslint: 8.50.0
typescript: 5.1.6
typescript: 5.2.2
transitivePeerDependencies:
- supports-color
dev: true
/@typescript-eslint/parser@6.7.3(eslint@8.49.0)(typescript@5.1.6):
/@typescript-eslint/parser@6.7.3(eslint@8.49.0)(typescript@5.2.2):
resolution: {integrity: sha512-TlutE+iep2o7R8Lf+yoer3zU6/0EAUc8QIBB3GYBc1KGz4c4TRm83xwXUZVPlZ6YCLss4r77jbu6j3sendJoiQ==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
......@@ -4157,11 +4109,11 @@ packages:
dependencies:
'@typescript-eslint/scope-manager': 6.7.3
'@typescript-eslint/types': 6.7.3
'@typescript-eslint/typescript-estree': 6.7.3(typescript@5.1.6)
'@typescript-eslint/typescript-estree': 6.7.3(typescript@5.2.2)
'@typescript-eslint/visitor-keys': 6.7.3
debug: 4.3.4(supports-color@8.1.1)
eslint: 8.49.0
typescript: 5.1.6
typescript: 5.2.2
transitivePeerDependencies:
- supports-color
dev: true
......@@ -4190,7 +4142,7 @@ packages:
'@typescript-eslint/visitor-keys': 6.7.3
dev: true
/@typescript-eslint/type-utils@6.7.0(eslint@8.49.0)(typescript@5.1.6):
/@typescript-eslint/type-utils@6.7.0(eslint@8.49.0)(typescript@5.2.2):
resolution: {integrity: sha512-f/QabJgDAlpSz3qduCyQT0Fw7hHpmhOzY/Rv6zO3yO+HVIdPfIWhrQoAyG+uZVtWAIS85zAyzgAFfyEr+MgBpg==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
......@@ -4200,17 +4152,17 @@ packages:
typescript:
optional: true
dependencies:
'@typescript-eslint/typescript-estree': 6.7.0(typescript@5.1.6)
'@typescript-eslint/utils': 6.7.0(eslint@8.49.0)(typescript@5.1.6)
'@typescript-eslint/typescript-estree': 6.7.0(typescript@5.2.2)
'@typescript-eslint/utils': 6.7.0(eslint@8.49.0)(typescript@5.2.2)
debug: 4.3.4(supports-color@8.1.1)
eslint: 8.49.0
ts-api-utils: 1.0.1(typescript@5.1.6)
typescript: 5.1.6
ts-api-utils: 1.0.1(typescript@5.2.2)
typescript: 5.2.2
transitivePeerDependencies:
- supports-color
dev: true
/@typescript-eslint/type-utils@6.7.0(eslint@8.50.0)(typescript@5.1.6):
/@typescript-eslint/type-utils@6.7.0(eslint@8.50.0)(typescript@5.2.2):
resolution: {integrity: sha512-f/QabJgDAlpSz3qduCyQT0Fw7hHpmhOzY/Rv6zO3yO+HVIdPfIWhrQoAyG+uZVtWAIS85zAyzgAFfyEr+MgBpg==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
......@@ -4220,12 +4172,12 @@ packages:
typescript:
optional: true
dependencies:
'@typescript-eslint/typescript-estree': 6.7.0(typescript@5.1.6)
'@typescript-eslint/utils': 6.7.0(eslint@8.50.0)(typescript@5.1.6)
'@typescript-eslint/typescript-estree': 6.7.0(typescript@5.2.2)
'@typescript-eslint/utils': 6.7.0(eslint@8.50.0)(typescript@5.2.2)
debug: 4.3.4(supports-color@8.1.1)
eslint: 8.50.0
ts-api-utils: 1.0.1(typescript@5.1.6)
typescript: 5.1.6
ts-api-utils: 1.0.1(typescript@5.2.2)
typescript: 5.2.2
transitivePeerDependencies:
- supports-color
dev: true
......@@ -4245,7 +4197,7 @@ packages:
engines: {node: ^16.0.0 || >=18.0.0}
dev: true
/@typescript-eslint/typescript-estree@6.4.0(typescript@5.1.6):
/@typescript-eslint/typescript-estree@6.4.0(typescript@5.2.2):
resolution: {integrity: sha512-iDPJArf/K2sxvjOR6skeUCNgHR/tCQXBsa+ee1/clRKr3olZjZ/dSkXPZjG6YkPtnW6p5D1egeEPMCW6Gn4yLA==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
......@@ -4260,13 +4212,13 @@ packages:
globby: 11.1.0
is-glob: 4.0.3
semver: 7.5.4
ts-api-utils: 1.0.1(typescript@5.1.6)
typescript: 5.1.6
ts-api-utils: 1.0.1(typescript@5.2.2)
typescript: 5.2.2
transitivePeerDependencies:
- supports-color
dev: true
/@typescript-eslint/typescript-estree@6.7.0(typescript@5.1.6):
/@typescript-eslint/typescript-estree@6.7.0(typescript@5.2.2):
resolution: {integrity: sha512-dPvkXj3n6e9yd/0LfojNU8VMUGHWiLuBZvbM6V6QYD+2qxqInE7J+J/ieY2iGwR9ivf/R/haWGkIj04WVUeiSQ==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
......@@ -4281,13 +4233,13 @@ packages:
globby: 11.1.0
is-glob: 4.0.3
semver: 7.5.4
ts-api-utils: 1.0.1(typescript@5.1.6)
typescript: 5.1.6
ts-api-utils: 1.0.1(typescript@5.2.2)
typescript: 5.2.2
transitivePeerDependencies:
- supports-color
dev: true
/@typescript-eslint/typescript-estree@6.7.3(typescript@5.1.6):
/@typescript-eslint/typescript-estree@6.7.3(typescript@5.2.2):
resolution: {integrity: sha512-YLQ3tJoS4VxLFYHTw21oe1/vIZPRqAO91z6Uv0Ss2BKm/Ag7/RVQBcXTGcXhgJMdA4U+HrKuY5gWlJlvoaKZ5g==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
......@@ -4302,13 +4254,13 @@ packages:
globby: 11.1.0
is-glob: 4.0.3
semver: 7.5.4
ts-api-utils: 1.0.1(typescript@5.1.6)
typescript: 5.1.6
ts-api-utils: 1.0.1(typescript@5.2.2)
typescript: 5.2.2
transitivePeerDependencies:
- supports-color
dev: true
/@typescript-eslint/utils@6.7.0(eslint@8.49.0)(typescript@5.1.6):
/@typescript-eslint/utils@6.7.0(eslint@8.49.0)(typescript@5.2.2):
resolution: {integrity: sha512-MfCq3cM0vh2slSikQYqK2Gq52gvOhe57vD2RM3V4gQRZYX4rDPnKLu5p6cm89+LJiGlwEXU8hkYxhqqEC/V3qA==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
......@@ -4319,7 +4271,7 @@ packages:
'@types/semver': 7.5.0
'@typescript-eslint/scope-manager': 6.7.0
'@typescript-eslint/types': 6.7.0
'@typescript-eslint/typescript-estree': 6.7.0(typescript@5.1.6)
'@typescript-eslint/typescript-estree': 6.7.0(typescript@5.2.2)
eslint: 8.49.0
semver: 7.5.4
transitivePeerDependencies:
......@@ -4327,7 +4279,7 @@ packages:
- typescript
dev: true
/@typescript-eslint/utils@6.7.0(eslint@8.50.0)(typescript@5.1.6):
/@typescript-eslint/utils@6.7.0(eslint@8.50.0)(typescript@5.2.2):
resolution: {integrity: sha512-MfCq3cM0vh2slSikQYqK2Gq52gvOhe57vD2RM3V4gQRZYX4rDPnKLu5p6cm89+LJiGlwEXU8hkYxhqqEC/V3qA==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
......@@ -4338,7 +4290,7 @@ packages:
'@types/semver': 7.5.0
'@typescript-eslint/scope-manager': 6.7.0
'@typescript-eslint/types': 6.7.0
'@typescript-eslint/typescript-estree': 6.7.0(typescript@5.1.6)
'@typescript-eslint/typescript-estree': 6.7.0(typescript@5.2.2)
eslint: 8.50.0
semver: 7.5.4
transitivePeerDependencies:
......@@ -4407,7 +4359,7 @@ packages:
dependencies:
'@vitest/spy': 0.34.1
'@vitest/utils': 0.34.1
chai: 4.3.8
chai: 4.3.9
dev: true
/@vitest/expect@0.34.2:
......@@ -4415,7 +4367,7 @@ packages:
dependencies:
'@vitest/spy': 0.34.2
'@vitest/utils': 0.34.2
chai: 4.3.8
chai: 4.3.9
dev: true
/@vitest/expect@0.34.4:
......@@ -4423,7 +4375,7 @@ packages:
dependencies:
'@vitest/spy': 0.34.4
'@vitest/utils': 0.34.4
chai: 4.3.8
chai: 4.3.9
dev: true
/@vitest/runner@0.34.1:
......@@ -4568,7 +4520,7 @@ packages:
resolution: {integrity: sha512-JtB41wXl7Au3+Nl3gD16Cfpj7k/6aCroZ6BbOiCMFCMvrOpkg/qQUXTso2XowaNqBbnkuGHurLAqkLBxNGc1hQ==}
dev: true
/@wagmi/chains@0.2.22(typescript@5.1.6):
/@wagmi/chains@0.2.22(typescript@5.2.2):
resolution: {integrity: sha512-TdiOzJT6TO1JrztRNjTA5Quz+UmQlbvWFG8N41u9tta0boHA1JCAzGGvU6KuIcOmJfRJkKOUIt67wlbopCpVHg==}
peerDependencies:
typescript: '>=4.9.4'
......@@ -4576,9 +4528,9 @@ packages:
typescript:
optional: true
dependencies:
typescript: 5.1.6
typescript: 5.2.2
/@wagmi/chains@1.3.0(typescript@5.1.6):
/@wagmi/chains@1.3.0(typescript@5.2.2):
resolution: {integrity: sha512-7tyr1irTZQpA4/4HoIiJP3XYZuJIZuWiZ1V1j5WEG3cjm8TXIlMEzO0N+hT/cZKw4/UtF2EukvB8GkDWa2S77w==}
peerDependencies:
typescript: '>=5.0.4'
......@@ -4586,10 +4538,10 @@ packages:
typescript:
optional: true
dependencies:
typescript: 5.1.6
typescript: 5.2.2
dev: true
/@wagmi/chains@1.6.0(typescript@5.1.6):
/@wagmi/chains@1.6.0(typescript@5.2.2):
resolution: {integrity: sha512-5FRlVxse5P4ZaHG3GTvxwVANSmYJas1eQrTBHhjxVtqXoorm0aLmCHbhmN8Xo1yu09PaWKlleEvfE98yH4AgIw==}
peerDependencies:
typescript: '>=5.0.4'
......@@ -4597,9 +4549,9 @@ packages:
typescript:
optional: true
dependencies:
typescript: 5.1.6
typescript: 5.2.2
/@wagmi/cli@1.3.0(@wagmi/core@1.3.8)(typescript@5.1.6)(wagmi@1.0.1):
/@wagmi/cli@1.3.0(@wagmi/core@1.3.8)(typescript@5.2.2)(wagmi@1.0.1):
resolution: {integrity: sha512-/YXmdp0XWgQEwRSVO8IjVB8KY5HK+6+eqJsZI3a+y3XMH4T/NxVBoT/JxTqV6HEivr3HOLgDcTzvQhNy3mZ0HA==}
engines: {node: '>=14'}
hasBin: true
......@@ -4615,9 +4567,9 @@ packages:
wagmi:
optional: true
dependencies:
'@wagmi/chains': 1.3.0(typescript@5.1.6)
'@wagmi/core': 1.3.8(react@18.2.0)(typescript@5.1.6)(viem@1.3.1)
abitype: 0.8.7(typescript@5.1.6)(zod@3.22.1)
'@wagmi/chains': 1.3.0(typescript@5.2.2)
'@wagmi/core': 1.3.8(react@18.2.0)(typescript@5.2.2)(viem@1.3.1)
abitype: 0.8.7(typescript@5.2.2)(zod@3.22.1)
abort-controller: 3.0.0
bundle-require: 3.1.2(esbuild@0.15.13)
cac: 6.7.14
......@@ -4637,16 +4589,16 @@ packages:
pathe: 1.1.1
picocolors: 1.0.0
prettier: 2.8.8
typescript: 5.1.6
viem: 1.6.0(typescript@5.1.6)(zod@3.22.1)
wagmi: 1.0.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.1.6)(viem@1.3.1)
typescript: 5.2.2
viem: 1.6.0(typescript@5.2.2)(zod@3.22.1)
wagmi: 1.0.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2)(viem@1.3.1)
zod: 3.22.1
transitivePeerDependencies:
- bufferutil
- utf-8-validate
dev: true
/@wagmi/connectors@1.0.1(@wagmi/chains@0.2.22)(react@18.2.0)(typescript@5.1.6)(viem@1.3.1):
/@wagmi/connectors@1.0.1(@wagmi/chains@0.2.22)(react@18.2.0)(typescript@5.2.2)(viem@1.3.1):
resolution: {integrity: sha512-fl01vym19DE1uoE+MlASw5zo3Orr/YXlJRjOKLaKYtV+Q7jOLY4TwHgq7sEMs+JYOvFICFBEAlWNNxidr51AqQ==}
peerDependencies:
'@wagmi/chains': '>=0.2.0'
......@@ -4662,14 +4614,14 @@ packages:
'@ledgerhq/connect-kit-loader': 1.1.0
'@safe-global/safe-apps-provider': 0.15.2
'@safe-global/safe-apps-sdk': 7.11.0
'@wagmi/chains': 0.2.22(typescript@5.1.6)
'@wagmi/chains': 0.2.22(typescript@5.2.2)
'@walletconnect/ethereum-provider': 2.7.2(@web3modal/standalone@2.4.3)
'@walletconnect/legacy-provider': 2.0.0
'@web3modal/standalone': 2.4.3(react@18.2.0)
abitype: 0.8.1(typescript@5.1.6)
abitype: 0.8.1(typescript@5.2.2)
eventemitter3: 4.0.7
typescript: 5.1.6
viem: 1.3.1(typescript@5.1.6)
typescript: 5.2.2
viem: 1.3.1(typescript@5.2.2)
transitivePeerDependencies:
- '@react-native-async-storage/async-storage'
- bufferutil
......@@ -4681,7 +4633,7 @@ packages:
- utf-8-validate
- zod
/@wagmi/connectors@2.6.6(@wagmi/chains@1.6.0)(react@18.2.0)(typescript@5.1.6)(viem@1.3.1):
/@wagmi/connectors@2.6.6(@wagmi/chains@1.6.0)(react@18.2.0)(typescript@5.2.2)(viem@1.3.1):
resolution: {integrity: sha512-/o1c/TCivQs8DOAUOcQvY2UIt3p2mWOAHi39D0LC74+ncpXzLC5/gyaWU38qnTxPM8s/PmTmaWDgz+VhICXrag==}
peerDependencies:
'@wagmi/chains': '>=1.3.0'
......@@ -4695,17 +4647,17 @@ packages:
dependencies:
'@coinbase/wallet-sdk': 3.7.1
'@ledgerhq/connect-kit-loader': 1.1.0
'@safe-global/safe-apps-provider': 0.17.1(typescript@5.1.6)
'@safe-global/safe-apps-sdk': 8.0.0(typescript@5.1.6)
'@wagmi/chains': 1.6.0(typescript@5.1.6)
'@safe-global/safe-apps-provider': 0.17.1(typescript@5.2.2)
'@safe-global/safe-apps-sdk': 8.0.0(typescript@5.2.2)
'@wagmi/chains': 1.6.0(typescript@5.2.2)
'@walletconnect/ethereum-provider': 2.9.0(@walletconnect/modal@2.5.9)
'@walletconnect/legacy-provider': 2.0.0
'@walletconnect/modal': 2.5.9(react@18.2.0)
'@walletconnect/utils': 2.9.0
abitype: 0.8.7(typescript@5.1.6)(zod@3.22.1)
abitype: 0.8.7(typescript@5.2.2)(zod@3.22.1)
eventemitter3: 4.0.7
typescript: 5.1.6
viem: 1.3.1(typescript@5.1.6)
typescript: 5.2.2
viem: 1.3.1(typescript@5.2.2)
transitivePeerDependencies:
- '@react-native-async-storage/async-storage'
- bufferutil
......@@ -4717,7 +4669,7 @@ packages:
- zod
dev: true
/@wagmi/core@1.0.1(react@18.2.0)(typescript@5.1.6)(viem@1.3.1):
/@wagmi/core@1.0.1(react@18.2.0)(typescript@5.2.2)(viem@1.3.1):
resolution: {integrity: sha512-Zzg4Ob92QMF9NsC+z5/8JZjMn3NCCnwVWGJlv79qRX9mp5Ku40OzJNvqDnjcSGjshe6H0L/KtFZAqTlmu8lT7w==}
peerDependencies:
typescript: '>=4.9.4'
......@@ -4726,12 +4678,12 @@ packages:
typescript:
optional: true
dependencies:
'@wagmi/chains': 0.2.22(typescript@5.1.6)
'@wagmi/connectors': 1.0.1(@wagmi/chains@0.2.22)(react@18.2.0)(typescript@5.1.6)(viem@1.3.1)
abitype: 0.8.1(typescript@5.1.6)
'@wagmi/chains': 0.2.22(typescript@5.2.2)
'@wagmi/connectors': 1.0.1(@wagmi/chains@0.2.22)(react@18.2.0)(typescript@5.2.2)(viem@1.3.1)
abitype: 0.8.1(typescript@5.2.2)
eventemitter3: 4.0.7
typescript: 5.1.6
viem: 1.3.1(typescript@5.1.6)
typescript: 5.2.2
viem: 1.3.1(typescript@5.2.2)
zustand: 4.3.9(react@18.2.0)
transitivePeerDependencies:
- '@react-native-async-storage/async-storage'
......@@ -4745,7 +4697,7 @@ packages:
- utf-8-validate
- zod
/@wagmi/core@1.3.8(react@18.2.0)(typescript@5.1.6)(viem@1.3.1):
/@wagmi/core@1.3.8(react@18.2.0)(typescript@5.2.2)(viem@1.3.1):
resolution: {integrity: sha512-OYSxikoMizqVnpSkFTwGE7PwFaz2k0PXteSiI0W2Mtk4j4sZzRFdP+9AWeDB6AYm0yU3WvgN1IATx0EEBKUe3w==}
peerDependencies:
typescript: '>=5.0.4'
......@@ -4754,12 +4706,12 @@ packages:
typescript:
optional: true
dependencies:
'@wagmi/chains': 1.6.0(typescript@5.1.6)
'@wagmi/connectors': 2.6.6(@wagmi/chains@1.6.0)(react@18.2.0)(typescript@5.1.6)(viem@1.3.1)
abitype: 0.8.7(typescript@5.1.6)(zod@3.22.1)
'@wagmi/chains': 1.6.0(typescript@5.2.2)
'@wagmi/connectors': 2.6.6(@wagmi/chains@1.6.0)(react@18.2.0)(typescript@5.2.2)(viem@1.3.1)
abitype: 0.8.7(typescript@5.2.2)(zod@3.22.1)
eventemitter3: 4.0.7
typescript: 5.1.6
viem: 1.3.1(typescript@5.1.6)
typescript: 5.2.2
viem: 1.3.1(typescript@5.2.2)
zustand: 4.3.9(react@18.2.0)
transitivePeerDependencies:
- '@react-native-async-storage/async-storage'
......@@ -5317,7 +5269,7 @@ packages:
resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==}
dev: true
/abitype@0.8.1(typescript@5.1.6):
/abitype@0.8.1(typescript@5.2.2):
resolution: {integrity: sha512-n8Di6AWb3i7HnEkBvecU6pG0a5nj5YwMvdAIwPLsQK95ulRy/XS113s/RXvSfTX1iOQJYFrEO3/q4SMWu7OwTA==}
peerDependencies:
typescript: '>=4.9.4'
......@@ -5326,9 +5278,9 @@ packages:
zod:
optional: true
dependencies:
typescript: 5.1.6
typescript: 5.2.2
/abitype@0.8.7(typescript@5.1.6)(zod@3.22.1):
/abitype@0.8.7(typescript@5.2.2)(zod@3.22.1):
resolution: {integrity: sha512-wQ7hV8Yg/yKmGyFpqrNZufCxbszDe5es4AZGYPBitocfSqXtjrTG9JMWFcc4N30ukl2ve48aBTwt7NJxVQdU3w==}
peerDependencies:
typescript: '>=5.0.4'
......@@ -5337,11 +5289,11 @@ packages:
zod:
optional: true
dependencies:
typescript: 5.1.6
typescript: 5.2.2
zod: 3.22.1
dev: true
/abitype@0.9.3(typescript@5.1.6)(zod@3.22.0):
/abitype@0.9.3(typescript@5.2.2)(zod@3.22.0):
resolution: {integrity: sha512-dz4qCQLurx97FQhnb/EIYTk/ldQ+oafEDUqC0VVIeQS1Q48/YWt/9YNfMmp9SLFqN41ktxny3c8aYxHjmFIB/w==}
peerDependencies:
typescript: '>=5.0.4'
......@@ -5352,10 +5304,10 @@ packages:
zod:
optional: true
dependencies:
typescript: 5.1.6
typescript: 5.2.2
zod: 3.22.0
/abitype@0.9.3(typescript@5.1.6)(zod@3.22.1):
/abitype@0.9.3(typescript@5.2.2)(zod@3.22.1):
resolution: {integrity: sha512-dz4qCQLurx97FQhnb/EIYTk/ldQ+oafEDUqC0VVIeQS1Q48/YWt/9YNfMmp9SLFqN41ktxny3c8aYxHjmFIB/w==}
peerDependencies:
typescript: '>=5.0.4'
......@@ -5366,7 +5318,7 @@ packages:
zod:
optional: true
dependencies:
typescript: 5.1.6
typescript: 5.2.2
zod: 3.22.1
dev: true
......@@ -6243,16 +6195,16 @@ packages:
resolution: {integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==}
dev: true
/chai-as-promised@7.1.1(chai@4.3.8):
/chai-as-promised@7.1.1(chai@4.3.9):
resolution: {integrity: sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==}
peerDependencies:
chai: '>= 2.1.2 < 5'
dependencies:
chai: 4.3.8
chai: 4.3.9
check-error: 1.0.2
/chai@4.3.7:
resolution: {integrity: sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==}
/chai@4.3.8:
resolution: {integrity: sha512-vX4YvVVtxlfSZ2VecZgFUTU5qPCYsobVI2O9FmwEXBhDigYGQA6jRXCycIs1yJnnWbZ6/+a2zNIF5DfVCcJBFQ==}
engines: {node: '>=4'}
dependencies:
assertion-error: 1.1.0
......@@ -6262,13 +6214,14 @@ packages:
loupe: 2.3.6
pathval: 1.1.1
type-detect: 4.0.8
dev: true
/chai@4.3.8:
resolution: {integrity: sha512-vX4YvVVtxlfSZ2VecZgFUTU5qPCYsobVI2O9FmwEXBhDigYGQA6jRXCycIs1yJnnWbZ6/+a2zNIF5DfVCcJBFQ==}
/chai@4.3.9:
resolution: {integrity: sha512-tH8vhfA1CfuYMkALXj+wmZcqiwqOfshU9Gry+NYiiLqIddrobkBhALv6XD4yDz68qapphYI4vSaqhqAdThCAAA==}
engines: {node: '>=4'}
dependencies:
assertion-error: 1.1.0
check-error: 1.0.2
check-error: 1.0.3
deep-eql: 4.1.3
get-func-name: 2.0.0
loupe: 2.3.6
......@@ -6339,6 +6292,11 @@ packages:
/check-error@1.0.2:
resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==}
/check-error@1.0.3:
resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==}
dependencies:
get-func-name: 2.0.2
/chokidar@3.5.3:
resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
engines: {node: '>= 8.10.0'}
......@@ -7711,7 +7669,7 @@ packages:
eslint-import-resolver-webpack:
optional: true
dependencies:
'@typescript-eslint/parser': 6.7.3(eslint@8.49.0)(typescript@5.1.6)
'@typescript-eslint/parser': 6.7.3(eslint@8.49.0)(typescript@5.2.2)
debug: 3.2.7
eslint: 8.49.0
eslint-import-resolver-node: 0.3.9
......@@ -7740,7 +7698,7 @@ packages:
'@typescript-eslint/parser':
optional: true
dependencies:
'@typescript-eslint/parser': 6.7.3(eslint@8.49.0)(typescript@5.1.6)
'@typescript-eslint/parser': 6.7.3(eslint@8.49.0)(typescript@5.2.2)
array-includes: 3.1.6
array.prototype.findlastindex: 1.2.2
array.prototype.flat: 1.3.1
......@@ -8153,31 +8111,6 @@ packages:
'@scure/bip32': 1.3.1
'@scure/bip39': 1.2.1
/ethereum-waffle@4.0.10(@ensdomains/ens@0.4.5)(@ensdomains/resolver@0.2.4)(@ethersproject/abi@5.7.0)(@ethersproject/providers@5.7.2)(ethers@5.7.2)(typescript@5.1.6):
resolution: {integrity: sha512-iw9z1otq7qNkGDNcMoeNeLIATF9yKl1M8AIeu42ElfNBplq0e+5PeasQmm8ybY/elkZ1XyRO0JBQxQdVRb8bqQ==}
engines: {node: '>=10.0'}
hasBin: true
peerDependencies:
ethers: '*'
dependencies:
'@ethereum-waffle/chai': 4.0.10(@ensdomains/ens@0.4.5)(@ensdomains/resolver@0.2.4)(ethers@5.7.2)
'@ethereum-waffle/compiler': 4.0.3(@ethersproject/abi@5.7.0)(@ethersproject/providers@5.7.2)(ethers@5.7.2)(solc@0.8.15)(typechain@8.3.1)(typescript@5.1.6)
'@ethereum-waffle/mock-contract': 4.0.4(ethers@5.7.2)
'@ethereum-waffle/provider': 4.0.5(@ensdomains/ens@0.4.5)(@ensdomains/resolver@0.2.4)(ethers@5.7.2)
ethers: 5.7.2
solc: 0.8.15
typechain: 8.3.1(typescript@5.1.6)
transitivePeerDependencies:
- '@ensdomains/ens'
- '@ensdomains/resolver'
- '@ethersproject/abi'
- '@ethersproject/providers'
- debug
- encoding
- supports-color
- typescript
dev: true
/ethereum-waffle@4.0.10(@ensdomains/ens@0.4.5)(@ensdomains/resolver@0.2.4)(@ethersproject/abi@5.7.0)(@ethersproject/providers@5.7.2)(ethers@5.7.2)(typescript@5.2.2):
resolution: {integrity: sha512-iw9z1otq7qNkGDNcMoeNeLIATF9yKl1M8AIeu42ElfNBplq0e+5PeasQmm8ybY/elkZ1XyRO0JBQxQdVRb8bqQ==}
engines: {node: '>=10.0'}
......@@ -8909,6 +8842,9 @@ packages:
/get-func-name@2.0.0:
resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==}
/get-func-name@2.0.2:
resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==}
/get-intrinsic@1.2.1:
resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==}
dependencies:
......@@ -9170,74 +9106,6 @@ packages:
- utf-8-validate
dev: true
/hardhat@2.17.2(ts-node@10.9.1)(typescript@5.1.6):
resolution: {integrity: sha512-oUv40jBeHw0dKpbyQ+iH9cmNMziweLoTW3MnkNxJ2Gc0KGLrQR/1n4vV4xY60zn2LdmRgnwPqy3CgtY0mfwIIA==}
hasBin: true
peerDependencies:
ts-node: '*'
typescript: '*'
peerDependenciesMeta:
ts-node:
optional: true
typescript:
optional: true
dependencies:
'@ethersproject/abi': 5.7.0
'@metamask/eth-sig-util': 4.0.0
'@nomicfoundation/ethereumjs-block': 5.0.2
'@nomicfoundation/ethereumjs-blockchain': 7.0.2
'@nomicfoundation/ethereumjs-common': 4.0.2
'@nomicfoundation/ethereumjs-evm': 2.0.2
'@nomicfoundation/ethereumjs-rlp': 5.0.2
'@nomicfoundation/ethereumjs-statemanager': 2.0.2
'@nomicfoundation/ethereumjs-trie': 6.0.2
'@nomicfoundation/ethereumjs-tx': 5.0.2
'@nomicfoundation/ethereumjs-util': 9.0.2
'@nomicfoundation/ethereumjs-vm': 7.0.2
'@nomicfoundation/solidity-analyzer': 0.1.1
'@sentry/node': 5.30.0
'@types/bn.js': 5.1.0
'@types/lru-cache': 5.1.1
adm-zip: 0.4.16
aggregate-error: 3.1.0
ansi-escapes: 4.3.2
chalk: 2.4.2
chokidar: 3.5.3
ci-info: 2.0.0
debug: 4.3.4(supports-color@8.1.1)
enquirer: 2.3.6
env-paths: 2.2.1
ethereum-cryptography: 1.2.0
ethereumjs-abi: 0.6.8
find-up: 2.1.0
fp-ts: 1.19.3
fs-extra: 7.0.1
glob: 7.2.0
immutable: 4.1.0
io-ts: 1.10.4
keccak: 3.0.3
lodash: 4.17.21
mnemonist: 0.38.3
mocha: 10.2.0
p-map: 4.0.0
raw-body: 2.5.2
resolve: 1.17.0
semver: 6.3.1
solc: 0.7.3(debug@4.3.4)
source-map-support: 0.5.21
stacktrace-parser: 0.1.10
ts-node: 10.9.1(@types/node@20.5.0)(typescript@5.1.6)
tsort: 0.0.1
typescript: 5.1.6
undici: 5.24.0
uuid: 8.3.2
ws: 7.5.9
transitivePeerDependencies:
- bufferutil
- supports-color
- utf-8-validate
dev: true
/hardhat@2.17.2(ts-node@10.9.1)(typescript@5.2.2):
resolution: {integrity: sha512-oUv40jBeHw0dKpbyQ+iH9cmNMziweLoTW3MnkNxJ2Gc0KGLrQR/1n4vV4xY60zn2LdmRgnwPqy3CgtY0mfwIIA==}
hasBin: true
......@@ -10699,7 +10567,7 @@ packages:
/loupe@2.3.6:
resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==}
dependencies:
get-func-name: 2.0.0
get-func-name: 2.0.2
/lower-case@2.0.2:
resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
......@@ -13997,13 +13865,13 @@ packages:
resolution: {integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==}
dev: true
/ts-api-utils@1.0.1(typescript@5.1.6):
/ts-api-utils@1.0.1(typescript@5.2.2):
resolution: {integrity: sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A==}
engines: {node: '>=16.13.0'}
peerDependencies:
typescript: '>=4.2.0'
dependencies:
typescript: 5.1.6
typescript: 5.2.2
dev: true
/ts-command-line-args@2.5.1:
......@@ -14020,14 +13888,6 @@ packages:
resolution: {integrity: sha512-q3N1xS4vZpRouhYHDPwO0bDW3EZ6SK9CrrDHxi/D6BPReSjpVgWIOpLS2o0gSBZm+7q/wyKp6RVM1AeeW7uyfQ==}
dev: false
/ts-essentials@7.0.3(typescript@5.1.6):
resolution: {integrity: sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ==}
peerDependencies:
typescript: '>=3.7.0'
dependencies:
typescript: 5.1.6
dev: true
/ts-essentials@7.0.3(typescript@5.2.2):
resolution: {integrity: sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ==}
peerDependencies:
......@@ -14053,7 +13913,7 @@ packages:
tsconfig-paths: 3.14.2
dev: true
/ts-node@10.9.1(@types/node@20.5.0)(typescript@5.1.6):
/ts-node@10.9.1(@types/node@20.5.0)(typescript@5.2.2):
resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==}
hasBin: true
peerDependencies:
......@@ -14079,7 +13939,7 @@ packages:
create-require: 1.1.1
diff: 4.0.2
make-error: 1.3.6
typescript: 5.1.6
typescript: 5.2.2
v8-compile-cache-lib: 3.0.1
yn: 3.1.1
dev: true
......@@ -14130,7 +13990,7 @@ packages:
yn: 2.0.0
dev: true
/ts-node@8.10.2(typescript@5.1.6):
/ts-node@8.10.2(typescript@5.2.2):
resolution: {integrity: sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA==}
engines: {node: '>=6.0.0'}
hasBin: true
......@@ -14141,7 +14001,7 @@ packages:
diff: 4.0.2
make-error: 1.3.6
source-map-support: 0.5.21
typescript: 5.1.6
typescript: 5.2.2
yn: 3.1.1
dev: false
......@@ -14178,7 +14038,7 @@ packages:
resolution: {integrity: sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==}
dev: true
/tsup@7.1.0(typescript@5.1.6):
/tsup@7.1.0(typescript@5.2.2):
resolution: {integrity: sha512-mazl/GRAk70j8S43/AbSYXGgvRP54oQeX8Un4iZxzATHt0roW0t6HYDVZIXMw0ZQIpvr1nFMniIVnN5186lW7w==}
engines: {node: '>=16.14'}
hasBin: true
......@@ -14208,13 +14068,13 @@ packages:
source-map: 0.8.0-beta.0
sucrase: 3.34.0
tree-kill: 1.2.2
typescript: 5.1.6
typescript: 5.2.2
transitivePeerDependencies:
- supports-color
- ts-node
dev: true
/tsup@7.2.0(@swc/core@1.3.76)(typescript@5.1.6):
/tsup@7.2.0(@swc/core@1.3.76)(typescript@5.2.2):
resolution: {integrity: sha512-vDHlczXbgUvY3rWvqFEbSqmC1L7woozbzngMqTtL2PGBODTtWlRwGDDawhvWzr5c1QjKe4OAKqJGfE1xeXUvtQ==}
engines: {node: '>=16.14'}
hasBin: true
......@@ -14245,7 +14105,7 @@ packages:
source-map: 0.8.0-beta.0
sucrase: 3.34.0
tree-kill: 1.2.2
typescript: 5.1.6
typescript: 5.2.2
transitivePeerDependencies:
- supports-color
- ts-node
......@@ -14344,27 +14204,6 @@ packages:
mime-types: 2.1.35
dev: false
/typechain@8.3.1(typescript@5.1.6):
resolution: {integrity: sha512-fA7clol2IP/56yq6vkMTR+4URF1nGjV82Wx6Rf09EsqD4tkzMAvEaqYxVFCavJm/1xaRga/oD55K+4FtuXwQOQ==}
hasBin: true
peerDependencies:
typescript: '>=4.3.0'
dependencies:
'@types/prettier': 2.3.2
debug: 4.3.4(supports-color@8.1.1)
fs-extra: 7.0.1
glob: 7.1.7
js-sha3: 0.8.0
lodash: 4.17.21
mkdirp: 1.0.4
prettier: 2.8.8
ts-command-line-args: 2.5.1
ts-essentials: 7.0.3(typescript@5.1.6)
typescript: 5.1.6
transitivePeerDependencies:
- supports-color
dev: true
/typechain@8.3.1(typescript@5.2.2):
resolution: {integrity: sha512-fA7clol2IP/56yq6vkMTR+4URF1nGjV82Wx6Rf09EsqD4tkzMAvEaqYxVFCavJm/1xaRga/oD55K+4FtuXwQOQ==}
hasBin: true
......@@ -14425,7 +14264,7 @@ packages:
dependencies:
is-typedarray: 1.0.0
/typedoc@0.25.1(typescript@5.1.6):
/typedoc@0.25.1(typescript@5.2.2):
resolution: {integrity: sha512-c2ye3YUtGIadxN2O6YwPEXgrZcvhlZ6HlhWZ8jQRNzwLPn2ylhdGqdR8HbyDRyALP8J6lmSANILCkkIdNPFxqA==}
engines: {node: '>= 16'}
hasBin: true
......@@ -14436,7 +14275,7 @@ packages:
marked: 4.3.0
minimatch: 9.0.3
shiki: 0.14.3
typescript: 5.1.6
typescript: 5.2.2
dev: true
/typescript@4.9.5:
......@@ -14445,16 +14284,10 @@ packages:
hasBin: true
dev: true
/typescript@5.1.6:
resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==}
engines: {node: '>=14.17'}
hasBin: true
/typescript@5.2.2:
resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==}
engines: {node: '>=14.17'}
hasBin: true
dev: true
/typical@4.0.0:
resolution: {integrity: sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==}
......@@ -14722,7 +14555,7 @@ packages:
vfile-message: 2.0.4
dev: true
/viem@1.3.1(typescript@5.1.6):
/viem@1.3.1(typescript@5.2.2):
resolution: {integrity: sha512-Yv+y3/exrrEN4EAkVUtUuQxsjF4+3taHY2aSinJnNWtcA4fBZ+WfPJBTywcnFIa/Q5oDcQN85yqPFBbkXqWHdw==}
peerDependencies:
typescript: '>=5.0.4'
......@@ -14735,17 +14568,17 @@ packages:
'@noble/hashes': 1.3.0
'@scure/bip32': 1.3.0
'@scure/bip39': 1.2.0
'@wagmi/chains': 1.6.0(typescript@5.1.6)
abitype: 0.9.3(typescript@5.1.6)(zod@3.22.0)
'@wagmi/chains': 1.6.0(typescript@5.2.2)
abitype: 0.9.3(typescript@5.2.2)(zod@3.22.0)
isomorphic-ws: 5.0.0(ws@8.12.0)
typescript: 5.1.6
typescript: 5.2.2
ws: 8.12.0
transitivePeerDependencies:
- bufferutil
- utf-8-validate
- zod
/viem@1.6.0(typescript@5.1.6)(zod@3.22.0):
/viem@1.6.0(typescript@5.2.2)(zod@3.22.0):
resolution: {integrity: sha512-ae9Twkd0q2Qlj4yYpWjb4DzYAhKY0ibEpRH8FJaTywZXNpTjFidSdBaT0CVn1BaH7O7cnX4/O47zvDUMGJD1AA==}
peerDependencies:
typescript: '>=5.0.4'
......@@ -14759,10 +14592,10 @@ packages:
'@scure/bip32': 1.3.0
'@scure/bip39': 1.2.0
'@types/ws': 8.5.5
'@wagmi/chains': 1.6.0(typescript@5.1.6)
abitype: 0.9.3(typescript@5.1.6)(zod@3.22.0)
'@wagmi/chains': 1.6.0(typescript@5.2.2)
abitype: 0.9.3(typescript@5.2.2)(zod@3.22.0)
isomorphic-ws: 5.0.0(ws@8.12.0)
typescript: 5.1.6
typescript: 5.2.2
ws: 8.12.0
transitivePeerDependencies:
- bufferutil
......@@ -14770,7 +14603,7 @@ packages:
- zod
dev: true
/viem@1.6.0(typescript@5.1.6)(zod@3.22.1):
/viem@1.6.0(typescript@5.2.2)(zod@3.22.1):
resolution: {integrity: sha512-ae9Twkd0q2Qlj4yYpWjb4DzYAhKY0ibEpRH8FJaTywZXNpTjFidSdBaT0CVn1BaH7O7cnX4/O47zvDUMGJD1AA==}
peerDependencies:
typescript: '>=5.0.4'
......@@ -14784,10 +14617,10 @@ packages:
'@scure/bip32': 1.3.0
'@scure/bip39': 1.2.0
'@types/ws': 8.5.5
'@wagmi/chains': 1.6.0(typescript@5.1.6)
abitype: 0.9.3(typescript@5.1.6)(zod@3.22.1)
'@wagmi/chains': 1.6.0(typescript@5.2.2)
abitype: 0.9.3(typescript@5.2.2)(zod@3.22.1)
isomorphic-ws: 5.0.0(ws@8.12.0)
typescript: 5.1.6
typescript: 5.2.2
ws: 8.12.0
transitivePeerDependencies:
- bufferutil
......@@ -14975,7 +14808,7 @@ packages:
acorn: 8.10.0
acorn-walk: 8.2.0
cac: 6.7.14
chai: 4.3.8
chai: 4.3.9
debug: 4.3.4(supports-color@8.1.1)
local-pkg: 0.4.3
magic-string: 0.30.1
......@@ -15040,7 +14873,7 @@ packages:
acorn: 8.10.0
acorn-walk: 8.2.0
cac: 6.7.14
chai: 4.3.8
chai: 4.3.9
debug: 4.3.4(supports-color@8.1.1)
jsdom: 22.1.0
local-pkg: 0.4.3
......@@ -15144,7 +14977,7 @@ packages:
xml-name-validator: 4.0.0
dev: true
/wagmi@1.0.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.1.6)(viem@1.3.1):
/wagmi@1.0.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2)(viem@1.3.1):
resolution: {integrity: sha512-+2UkZG9eA3tKqXj1wvlvI8mL0Bcff7Tf5CKfUOyQsdKcY+J5rfwYYya25G+jja57umpHFtfxRaL7xDkNjehrRg==}
peerDependencies:
react: '>=17.0.0'
......@@ -15157,12 +14990,12 @@ packages:
'@tanstack/query-sync-storage-persister': 4.29.25
'@tanstack/react-query': 4.29.25(react-dom@18.2.0)(react@18.2.0)
'@tanstack/react-query-persist-client': 4.29.25(@tanstack/react-query@4.29.25)
'@wagmi/core': 1.0.1(react@18.2.0)(typescript@5.1.6)(viem@1.3.1)
abitype: 0.8.1(typescript@5.1.6)
'@wagmi/core': 1.0.1(react@18.2.0)(typescript@5.2.2)(viem@1.3.1)
abitype: 0.8.1(typescript@5.2.2)
react: 18.2.0
typescript: 5.1.6
typescript: 5.2.2
use-sync-external-store: 1.2.0(react@18.2.0)
viem: 1.3.1(typescript@5.1.6)
viem: 1.3.1(typescript@5.2.2)
transitivePeerDependencies:
- '@react-native-async-storage/async-storage'
- bufferutil
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment