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{ ...@@ -121,4 +121,52 @@ var Presets = map[int]Preset{
L1StartingHeight: 8942381, 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 ...@@ -35,7 +35,7 @@ func (g *AlphabetGameHelper) StartChallenger(ctx context.Context, l1Endpoint str
return c 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{ return &HonestHelper{
t: g.t, t: g.t,
require: g.require, require: g.require,
...@@ -43,3 +43,7 @@ func (g *AlphabetGameHelper) CreateHonestActor(ctx context.Context, alphabetTrac ...@@ -43,3 +43,7 @@ func (g *AlphabetGameHelper) CreateHonestActor(ctx context.Context, alphabetTrac
correctTrace: alphabet.NewTraceProvider(alphabetTrace, depth), 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 ...@@ -2,7 +2,6 @@ package disputegame
import ( import (
"context" "context"
"errors"
"fmt" "fmt"
"math/big" "math/big"
"testing" "testing"
...@@ -39,6 +38,9 @@ func (g *FaultGameHelper) GameDuration(ctx context.Context) time.Duration { ...@@ -39,6 +38,9 @@ func (g *FaultGameHelper) GameDuration(ctx context.Context) time.Duration {
return time.Duration(duration) * time.Second 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) { func (g *FaultGameHelper) WaitForClaimCount(ctx context.Context, count int64) {
ctx, cancel := context.WithTimeout(ctx, 2*time.Minute) ctx, cancel := context.WithTimeout(ctx, 2*time.Minute)
defer cancel() defer cancel()
...@@ -48,7 +50,7 @@ func (g *FaultGameHelper) WaitForClaimCount(ctx context.Context, count int64) { ...@@ -48,7 +50,7 @@ func (g *FaultGameHelper) WaitForClaimCount(ctx context.Context, count int64) {
return false, err return false, err
} }
g.t.Log("Waiting for claim count", "current", actual, "expected", count, "game", g.addr) 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) 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 ...@@ -123,6 +125,12 @@ func (g *FaultGameHelper) GetClaimValue(ctx context.Context, claimIdx int64) com
return claim.Claim 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. // 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. // 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 { func (g *FaultGameHelper) getClaim(ctx context.Context, claimIdx int64) ContractClaim {
...@@ -133,10 +141,6 @@ func (g *FaultGameHelper) getClaim(ctx context.Context, claimIdx int64) Contract ...@@ -133,10 +141,6 @@ func (g *FaultGameHelper) getClaim(ctx context.Context, claimIdx int64) Contract
return claimData 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) { func (g *FaultGameHelper) WaitForClaimAtDepth(ctx context.Context, depth int) {
g.waitForClaim( g.waitForClaim(
ctx, ctx,
...@@ -383,106 +387,3 @@ func (g *FaultGameHelper) gameData(ctx context.Context) string { ...@@ -383,106 +387,3 @@ func (g *FaultGameHelper) gameData(ctx context.Context) string {
func (g *FaultGameHelper) LogGameData(ctx context.Context) { func (g *FaultGameHelper) LogGameData(ctx context.Context) {
g.t.Log(g.gameData(ctx)) 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 ( ...@@ -5,7 +5,6 @@ import (
"testing" "testing"
"time" "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/challenger"
"github.com/ethereum-optimism/optimism/op-e2e/e2eutils/disputegame" "github.com/ethereum-optimism/optimism/op-e2e/e2eutils/disputegame"
l2oo2 "github.com/ethereum-optimism/optimism/op-e2e/e2eutils/l2oo" l2oo2 "github.com/ethereum-optimism/optimism/op-e2e/e2eutils/l2oo"
...@@ -208,8 +207,7 @@ func TestChallengerCompleteExhaustiveDisputeGame(t *testing.T) { ...@@ -208,8 +207,7 @@ func TestChallengerCompleteExhaustiveDisputeGame(t *testing.T) {
) )
// Start dishonest challenger // Start dishonest challenger
correctTrace := game.CreateHonestActor(ctx, disputegame.CorrectAlphabet, 4) dishonestHelper := game.CreateDishonestHelper(disputegame.CorrectAlphabet, 4, !isRootCorrect)
dishonestHelper := disputegame.NewDishonestHelper(&game.FaultGameHelper, correctTrace, !isRootCorrect)
dishonestHelper.ExhaustDishonestClaims(ctx) dishonestHelper.ExhaustDishonestClaims(ctx)
// Wait until we've reached max depth before checking for inactivity // Wait until we've reached max depth before checking for inactivity
...@@ -464,8 +462,7 @@ func TestCannonPoisonedPostState(t *testing.T) { ...@@ -464,8 +462,7 @@ func TestCannonPoisonedPostState(t *testing.T) {
game.WaitForClaimCount(ctx, claimCount) game.WaitForClaimCount(ctx, claimCount)
// Defender moves last. If we're at max depth, then we're done // Defender moves last. If we're at max depth, then we're done
dishonestClaim := game.GetClaimUnsafe(ctx, claimCount-1) pos := game.GetClaimPosition(ctx, claimCount-1)
pos := types.NewPositionFromGIndex(dishonestClaim.Position.Uint64())
if int64(pos.Depth()) == depth { if int64(pos.Depth()) == depth {
break 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 ...@@ -3,7 +3,6 @@ package metrics
import ( import (
"context" "context"
"encoding/binary"
"errors" "errors"
"fmt" "fmt"
"net" "net"
...@@ -50,7 +49,7 @@ type Metricer interface { ...@@ -50,7 +49,7 @@ type Metricer interface {
RecordPublishingError() RecordPublishingError()
RecordDerivationError() RecordDerivationError()
RecordReceivedUnsafePayload(payload *eth.ExecutionPayload) 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) RecordL1Ref(name string, ref eth.L1BlockRef)
RecordL2Ref(name string, ref eth.L2BlockRef) RecordL2Ref(name string, ref eth.L2BlockRef)
RecordUnsafePayloadsBuffer(length uint64, memSize uint64, next eth.BlockID) RecordUnsafePayloadsBuffer(length uint64, memSize uint64, next eth.BlockID)
...@@ -99,11 +98,11 @@ type Metrics struct { ...@@ -99,11 +98,11 @@ type Metrics struct {
DerivationIdle prometheus.Gauge DerivationIdle prometheus.Gauge
PipelineResets *EventMetrics PipelineResets *metrics.Event
UnsafePayloads *EventMetrics UnsafePayloads *metrics.Event
DerivationErrors *EventMetrics DerivationErrors *metrics.Event
SequencingErrors *EventMetrics SequencingErrors *metrics.Event
PublishingErrors *EventMetrics PublishingErrors *metrics.Event
P2PReqDurationSeconds *prometheus.HistogramVec P2PReqDurationSeconds *prometheus.HistogramVec
P2PReqTotal *prometheus.CounterVec P2PReqTotal *prometheus.CounterVec
...@@ -111,8 +110,8 @@ type Metrics struct { ...@@ -111,8 +110,8 @@ type Metrics struct {
PayloadsQuarantineTotal prometheus.Gauge PayloadsQuarantineTotal prometheus.Gauge
SequencerInconsistentL1Origin *EventMetrics SequencerInconsistentL1Origin *metrics.Event
SequencerResets *EventMetrics SequencerResets *metrics.Event
L1RequestDurationSeconds *prometheus.HistogramVec L1RequestDurationSeconds *prometheus.HistogramVec
...@@ -125,23 +124,16 @@ type Metrics struct { ...@@ -125,23 +124,16 @@ type Metrics struct {
UnsafePayloadsBufferLen prometheus.Gauge UnsafePayloadsBufferLen prometheus.Gauge
UnsafePayloadsBufferMemSize prometheus.Gauge UnsafePayloadsBufferMemSize prometheus.Gauge
RefsNumber *prometheus.GaugeVec metrics.RefMetrics
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
L1ReorgDepth prometheus.Histogram L1ReorgDepth prometheus.Histogram
TransactionsSequencedTotal prometheus.Counter TransactionsSequencedTotal prometheus.Counter
// Channel Bank Metrics // Channel Bank Metrics
headChannelOpenedEvent *EventMetrics headChannelOpenedEvent *metrics.Event
channelTimedOutEvent *EventMetrics channelTimedOutEvent *metrics.Event
frameAddedEvent *EventMetrics frameAddedEvent *metrics.Event
// P2P Metrics // P2P Metrics
PeerCount prometheus.Gauge PeerCount prometheus.Gauge
...@@ -247,14 +239,14 @@ func NewMetrics(procName string) *Metrics { ...@@ -247,14 +239,14 @@ func NewMetrics(procName string) *Metrics {
Help: "1 if the derivation pipeline is idle", Help: "1 if the derivation pipeline is idle",
}), }),
PipelineResets: NewEventMetrics(factory, ns, "pipeline_resets", "derivation pipeline resets"), PipelineResets: metrics.NewEvent(factory, ns, "", "pipeline_resets", "derivation pipeline resets"),
UnsafePayloads: NewEventMetrics(factory, ns, "unsafe_payloads", "unsafe payloads"), UnsafePayloads: metrics.NewEvent(factory, ns, "", "unsafe_payloads", "unsafe payloads"),
DerivationErrors: NewEventMetrics(factory, ns, "derivation_errors", "derivation errors"), DerivationErrors: metrics.NewEvent(factory, ns, "", "derivation_errors", "derivation errors"),
SequencingErrors: NewEventMetrics(factory, ns, "sequencing_errors", "sequencing errors"), SequencingErrors: metrics.NewEvent(factory, ns, "", "sequencing_errors", "sequencing errors"),
PublishingErrors: NewEventMetrics(factory, ns, "publishing_errors", "p2p publishing 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"), SequencerInconsistentL1Origin: metrics.NewEvent(factory, ns, "", "sequencer_inconsistent_l1_origin", "events when the sequencer selects an inconsistent L1 origin"),
SequencerResets: NewEventMetrics(factory, ns, "sequencer_resets", "sequencer resets"), SequencerResets: metrics.NewEvent(factory, ns, "", "sequencer_resets", "sequencer resets"),
UnsafePayloadsBufferLen: factory.NewGauge(prometheus.GaugeOpts{ UnsafePayloadsBufferLen: factory.NewGauge(prometheus.GaugeOpts{
Namespace: ns, Namespace: ns,
...@@ -267,46 +259,7 @@ func NewMetrics(procName string) *Metrics { ...@@ -267,46 +259,7 @@ func NewMetrics(procName string) *Metrics {
Help: "Total estimated memory size of buffered L2 unsafe payloads", Help: "Total estimated memory size of buffered L2 unsafe payloads",
}), }),
RefsNumber: factory.NewGaugeVec(prometheus.GaugeOpts{ RefMetrics: metrics.MakeRefMetrics(ns, factory),
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),
L1ReorgDepth: factory.NewHistogram(prometheus.HistogramOpts{ L1ReorgDepth: factory.NewHistogram(prometheus.HistogramOpts{
Namespace: ns, Namespace: ns,
...@@ -380,9 +333,9 @@ func NewMetrics(procName string) *Metrics { ...@@ -380,9 +333,9 @@ func NewMetrics(procName string) *Metrics {
Help: "Count of incoming dial attempts to accept, with label to filter to allowed attempts", Help: "Count of incoming dial attempts to accept, with label to filter to allowed attempts",
}, []string{"allow"}), }, []string{"allow"}),
headChannelOpenedEvent: NewEventMetrics(factory, ns, "head_channel", "New channel at the front of the channel bank"), headChannelOpenedEvent: metrics.NewEvent(factory, ns, "", "head_channel", "New channel at the front of the channel bank"),
channelTimedOutEvent: NewEventMetrics(factory, ns, "channel_timeout", "Channel has timed out"), channelTimedOutEvent: metrics.NewEvent(factory, ns, "", "channel_timeout", "Channel has timed out"),
frameAddedEvent: NewEventMetrics(factory, ns, "frame_added", "New frame ingested in the channel bank"), frameAddedEvent: metrics.NewEvent(factory, ns, "", "frame_added", "New frame ingested in the channel bank"),
ChannelInputBytes: factory.NewCounter(prometheus.CounterOpts{ ChannelInputBytes: factory.NewCounter(prometheus.CounterOpts{
Namespace: ns, Namespace: ns,
...@@ -570,53 +523,28 @@ func (m *Metrics) SetDerivationIdle(status bool) { ...@@ -570,53 +523,28 @@ func (m *Metrics) SetDerivationIdle(status bool) {
} }
func (m *Metrics) RecordPipelineReset() { func (m *Metrics) RecordPipelineReset() {
m.PipelineResets.RecordEvent() m.PipelineResets.Record()
} }
func (m *Metrics) RecordSequencingError() { func (m *Metrics) RecordSequencingError() {
m.SequencingErrors.RecordEvent() m.SequencingErrors.Record()
} }
func (m *Metrics) RecordPublishingError() { func (m *Metrics) RecordPublishingError() {
m.PublishingErrors.RecordEvent() m.PublishingErrors.Record()
} }
func (m *Metrics) RecordDerivationError() { func (m *Metrics) RecordDerivationError() {
m.DerivationErrors.RecordEvent() m.DerivationErrors.Record()
} }
func (m *Metrics) RecordReceivedUnsafePayload(payload *eth.ExecutionPayload) { func (m *Metrics) RecordReceivedUnsafePayload(payload *eth.ExecutionPayload) {
m.UnsafePayloads.RecordEvent() m.UnsafePayloads.Record()
m.recordRef("l2", "received_payload", uint64(payload.BlockNumber), uint64(payload.Timestamp), payload.BlockHash) 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))
} }
func (m *Metrics) RecordUnsafePayloadsBuffer(length uint64, memSize uint64, next eth.BlockID) { 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.UnsafePayloadsBufferLen.Set(float64(length))
m.UnsafePayloadsBufferMemSize.Set(float64(memSize)) m.UnsafePayloadsBufferMemSize.Set(float64(memSize))
} }
...@@ -630,13 +558,13 @@ func (m *Metrics) RecordL1ReorgDepth(d uint64) { ...@@ -630,13 +558,13 @@ func (m *Metrics) RecordL1ReorgDepth(d uint64) {
} }
func (m *Metrics) RecordSequencerInconsistentL1Origin(from eth.BlockID, to eth.BlockID) { func (m *Metrics) RecordSequencerInconsistentL1Origin(from eth.BlockID, to eth.BlockID) {
m.SequencerInconsistentL1Origin.RecordEvent() m.SequencerInconsistentL1Origin.Record()
m.recordRef("l1_origin", "inconsistent_from", from.Number, 0, from.Hash) m.RecordRef("l1_origin", "inconsistent_from", from.Number, 0, from.Hash)
m.recordRef("l1_origin", "inconsistent_to", to.Number, 0, to.Hash) m.RecordRef("l1_origin", "inconsistent_to", to.Number, 0, to.Hash)
} }
func (m *Metrics) RecordSequencerReset() { func (m *Metrics) RecordSequencerReset() {
m.SequencerResets.RecordEvent() m.SequencerResets.Record()
} }
func (m *Metrics) RecordGossipEvent(evType int32) { func (m *Metrics) RecordGossipEvent(evType int32) {
...@@ -740,15 +668,15 @@ func (m *Metrics) RecordChannelInputBytes(inputCompressedBytes int) { ...@@ -740,15 +668,15 @@ func (m *Metrics) RecordChannelInputBytes(inputCompressedBytes int) {
} }
func (m *Metrics) RecordHeadChannelOpened() { func (m *Metrics) RecordHeadChannelOpened() {
m.headChannelOpenedEvent.RecordEvent() m.headChannelOpenedEvent.Record()
} }
func (m *Metrics) RecordChannelTimedOut() { func (m *Metrics) RecordChannelTimedOut() {
m.channelTimedOutEvent.RecordEvent() m.channelTimedOutEvent.Record()
} }
func (m *Metrics) RecordFrame() { func (m *Metrics) RecordFrame() {
m.frameAddedEvent.RecordEvent() m.frameAddedEvent.Record()
} }
func (m *Metrics) RecordPeerUnban() { func (m *Metrics) RecordPeerUnban() {
...@@ -821,7 +749,7 @@ func (n *noopMetricer) RecordDerivationError() { ...@@ -821,7 +749,7 @@ func (n *noopMetricer) RecordDerivationError() {
func (n *noopMetricer) RecordReceivedUnsafePayload(payload *eth.ExecutionPayload) { 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) { func (n *noopMetricer) RecordL1Ref(name string, ref eth.L1BlockRef) {
......
...@@ -16,8 +16,8 @@ func (e *Event) Record() { ...@@ -16,8 +16,8 @@ func (e *Event) Record() {
e.LastTime.SetToCurrentTime() e.LastTime.SetToCurrentTime()
} }
func NewEvent(factory Factory, ns string, subsystem string, name string, displayName string) Event { func NewEvent(factory Factory, ns string, subsystem string, name string, displayName string) *Event {
return Event{ return &Event{
Total: factory.NewCounter(prometheus.CounterOpts{ Total: factory.NewCounter(prometheus.CounterOpts{
Namespace: ns, Namespace: ns,
Name: fmt.Sprintf("%s_total", name), Name: fmt.Sprintf("%s_total", name),
......
...@@ -27,7 +27,7 @@ type TxMetrics struct { ...@@ -27,7 +27,7 @@ type TxMetrics struct {
currentNonce prometheus.Gauge currentNonce prometheus.Gauge
pendingTxs prometheus.Gauge pendingTxs prometheus.Gauge
txPublishError *prometheus.CounterVec txPublishError *prometheus.CounterVec
publishEvent metrics.Event publishEvent *metrics.Event
confirmEvent metrics.EventVec confirmEvent metrics.EventVec
rpcError prometheus.Counter rpcError prometheus.Counter
} }
......
...@@ -58,7 +58,7 @@ ...@@ -58,7 +58,7 @@
"@types/morgan": "^1.9.4", "@types/morgan": "^1.9.4",
"@types/pino": "^7.0.5", "@types/pino": "^7.0.5",
"@types/pino-multi-stream": "^5.1.3", "@types/pino-multi-stream": "^5.1.3",
"chai": "^4.3.7", "chai": "^4.3.9",
"supertest": "^6.3.3" "supertest": "^6.3.3"
} }
} }
...@@ -44,6 +44,6 @@ ...@@ -44,6 +44,6 @@
"@typescript-eslint/eslint-plugin": "^6.7.0", "@typescript-eslint/eslint-plugin": "^6.7.0",
"@typescript-eslint/parser": "^6.4.0", "@typescript-eslint/parser": "^6.4.0",
"tsx": "^3.12.7", "tsx": "^3.12.7",
"typescript": "^5.1.6" "typescript": "^5.2.2"
} }
} }
...@@ -60,7 +60,7 @@ ...@@ -60,7 +60,7 @@
"jest-dom": "link:@types/@testing-library/jest-dom", "jest-dom": "link:@types/@testing-library/jest-dom",
"jsdom": "^22.1.0", "jsdom": "^22.1.0",
"tsup": "^7.1.0", "tsup": "^7.1.0",
"typescript": "^5.1.6", "typescript": "^5.2.2",
"vite": "^4.4.6", "vite": "^4.4.6",
"vitest": "^0.34.2" "vitest": "^0.34.2"
}, },
......
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
"@ethersproject/properties": "^5.7.0", "@ethersproject/properties": "^5.7.0",
"@ethersproject/rlp": "^5.7.0", "@ethersproject/rlp": "^5.7.0",
"@ethersproject/web": "^5.7.1", "@ethersproject/web": "^5.7.1",
"chai": "^4.3.7", "chai": "^4.3.9",
"ethers": "^5.7.2", "ethers": "^5.7.2",
"node-fetch": "^2.6.7" "node-fetch": "^2.6.7"
}, },
......
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
"jest-dom": "link:@types/@testing-library/jest-dom", "jest-dom": "link:@types/@testing-library/jest-dom",
"jsdom": "^22.1.0", "jsdom": "^22.1.0",
"tsup": "^7.1.0", "tsup": "^7.1.0",
"typescript": "^5.1.6", "typescript": "^5.2.2",
"viem": "^1.3.1", "viem": "^1.3.1",
"vite": "^4.4.6", "vite": "^4.4.6",
"vitest": "^0.34.2" "vitest": "^0.34.2"
......
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
"@ethersproject/transactions": "^5.7.0", "@ethersproject/transactions": "^5.7.0",
"@nomiclabs/hardhat-ethers": "^2.2.3", "@nomiclabs/hardhat-ethers": "^2.2.3",
"@nomiclabs/hardhat-waffle": "^2.0.1", "@nomiclabs/hardhat-waffle": "^2.0.1",
"@types/chai": "^4.3.5", "@types/chai": "^4.3.6",
"@types/chai-as-promised": "^7.1.5", "@types/chai-as-promised": "^7.1.5",
"@types/mocha": "^10.0.1", "@types/mocha": "^10.0.1",
"@types/node": "^20.5.0", "@types/node": "^20.5.0",
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
"nyc": "^15.1.0", "nyc": "^15.1.0",
"ts-node": "^10.9.1", "ts-node": "^10.9.1",
"typedoc": "^0.25.1", "typedoc": "^0.25.1",
"typescript": "^5.1.6", "typescript": "^5.2.2",
"viem": "^1.6.0", "viem": "^1.6.0",
"vitest": "^0.34.2", "vitest": "^0.34.2",
"zod": "^3.22.1" "zod": "^3.22.1"
......
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
"@swc/core": "^1.3.76", "@swc/core": "^1.3.76",
"@vitest/coverage-istanbul": "^0.34.1", "@vitest/coverage-istanbul": "^0.34.1",
"tsup": "^7.2.0", "tsup": "^7.2.0",
"typescript": "^5.1.6", "typescript": "^5.2.2",
"viem": "^1.6.0", "viem": "^1.6.0",
"vite": "^4.4.9", "vite": "^4.4.9",
"vitest": "^0.34.1", "vitest": "^0.34.1",
......
...@@ -13,7 +13,7 @@ importers: ...@@ -13,7 +13,7 @@ importers:
version: 2.26.0 version: 2.26.0
'@codechecks/client': '@codechecks/client':
specifier: ^0.1.11 specifier: ^0.1.11
version: 0.1.12(typescript@5.1.6) version: 0.1.12(typescript@5.2.2)
devDependencies: devDependencies:
'@babel/eslint-parser': '@babel/eslint-parser':
specifier: ^7.18.2 specifier: ^7.18.2
...@@ -25,8 +25,8 @@ importers: ...@@ -25,8 +25,8 @@ importers:
specifier: latest specifier: latest
version: 16.4.0 version: 16.4.0
'@types/chai': '@types/chai':
specifier: ^4.2.18 specifier: ^4.3.6
version: 4.3.5 version: 4.3.6
'@types/chai-as-promised': '@types/chai-as-promised':
specifier: ^7.1.4 specifier: ^7.1.4
version: 7.1.5 version: 7.1.5
...@@ -38,13 +38,13 @@ importers: ...@@ -38,13 +38,13 @@ importers:
version: 20.6.3 version: 20.6.3
'@typescript-eslint/eslint-plugin': '@typescript-eslint/eslint-plugin':
specifier: ^6.7.0 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': '@typescript-eslint/parser':
specifier: ^6.7.0 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: chai:
specifier: ^4.2.0 specifier: ^4.3.9
version: 4.3.7 version: 4.3.9
depcheck: depcheck:
specifier: ^1.4.3 specifier: ^1.4.3
version: 1.4.6 version: 1.4.6
...@@ -121,8 +121,8 @@ importers: ...@@ -121,8 +121,8 @@ importers:
specifier: ^10.0.0 specifier: ^10.0.0
version: 10.0.0(mocha@10.2.0) version: 10.0.0(mocha@10.2.0)
typescript: typescript:
specifier: ^5.1.6 specifier: ^5.2.2
version: 5.1.6 version: 5.2.2
endpoint-monitor: {} endpoint-monitor: {}
...@@ -130,7 +130,7 @@ importers: ...@@ -130,7 +130,7 @@ importers:
devDependencies: devDependencies:
tsup: tsup:
specifier: ^7.2.0 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: vitest:
specifier: ^0.34.4 specifier: ^0.34.4
version: 0.34.4 version: 0.34.4
...@@ -159,7 +159,7 @@ importers: ...@@ -159,7 +159,7 @@ importers:
version: 5.0.0 version: 5.0.0
chai-as-promised: chai-as-promised:
specifier: ^7.1.1 specifier: ^7.1.1
version: 7.1.1(chai@4.3.8) version: 7.1.1(chai@4.3.9)
dateformat: dateformat:
specifier: ^4.5.1 specifier: ^4.5.1
version: 4.5.1 version: 4.5.1
...@@ -259,8 +259,8 @@ importers: ...@@ -259,8 +259,8 @@ importers:
specifier: ^5.1.3 specifier: ^5.1.3
version: 5.1.3 version: 5.1.3
chai: chai:
specifier: ^4.3.7 specifier: ^4.3.9
version: 4.3.7 version: 4.3.9
supertest: supertest:
specifier: ^6.3.3 specifier: ^6.3.3
version: 6.3.3 version: 6.3.3
...@@ -269,16 +269,16 @@ importers: ...@@ -269,16 +269,16 @@ importers:
devDependencies: devDependencies:
'@typescript-eslint/eslint-plugin': '@typescript-eslint/eslint-plugin':
specifier: ^6.7.0 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': '@typescript-eslint/parser':
specifier: ^6.4.0 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: tsx:
specifier: ^3.12.7 specifier: ^3.12.7
version: 3.12.7 version: 3.12.7
typescript: typescript:
specifier: ^5.1.6 specifier: ^5.2.2
version: 5.1.6 version: 5.2.2
packages/contracts-ts: packages/contracts-ts:
dependencies: dependencies:
...@@ -293,10 +293,10 @@ importers: ...@@ -293,10 +293,10 @@ importers:
version: 18.2.0(react@18.2.0) version: 18.2.0(react@18.2.0)
viem: viem:
specifier: ^1.3.1 specifier: ^1.3.1
version: 1.3.1(typescript@5.1.6) version: 1.3.1(typescript@5.2.2)
wagmi: wagmi:
specifier: '>1.0.0' 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: devDependencies:
'@eth-optimism/contracts-bedrock': '@eth-optimism/contracts-bedrock':
specifier: workspace:* specifier: workspace:*
...@@ -315,13 +315,13 @@ importers: ...@@ -315,13 +315,13 @@ importers:
version: 0.34.1(vitest@0.34.2) version: 0.34.1(vitest@0.34.2)
'@wagmi/cli': '@wagmi/cli':
specifier: ^1.3.0 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': '@wagmi/core':
specifier: ^1.3.8 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: abitype:
specifier: ^0.9.3 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: glob:
specifier: ^10.3.3 specifier: ^10.3.3
version: 10.3.3 version: 10.3.3
...@@ -336,10 +336,10 @@ importers: ...@@ -336,10 +336,10 @@ importers:
version: 22.1.0 version: 22.1.0
tsup: tsup:
specifier: ^7.1.0 specifier: ^7.1.0
version: 7.1.0(typescript@5.1.6) version: 7.1.0(typescript@5.2.2)
typescript: typescript:
specifier: ^5.1.6 specifier: ^5.2.2
version: 5.1.6 version: 5.2.2
vite: vite:
specifier: ^4.4.6 specifier: ^4.4.6
version: 4.4.6(@types/node@20.6.3) version: 4.4.6(@types/node@20.6.3)
...@@ -383,8 +383,8 @@ importers: ...@@ -383,8 +383,8 @@ importers:
specifier: ^5.7.1 specifier: ^5.7.1
version: 5.7.1 version: 5.7.1
chai: chai:
specifier: ^4.3.7 specifier: ^4.3.9
version: 4.3.7 version: 4.3.9
ethers: ethers:
specifier: ^5.7.2 specifier: ^5.7.2
version: 5.7.2 version: 5.7.2
...@@ -415,7 +415,7 @@ importers: ...@@ -415,7 +415,7 @@ importers:
version: 0.34.1(vitest@0.34.2) version: 0.34.1(vitest@0.34.2)
abitype: abitype:
specifier: ^0.9.3 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: isomorphic-fetch:
specifier: ^3.0.0 specifier: ^3.0.0
version: 3.0.0 version: 3.0.0
...@@ -427,13 +427,13 @@ importers: ...@@ -427,13 +427,13 @@ importers:
version: 22.1.0 version: 22.1.0
tsup: tsup:
specifier: ^7.1.0 specifier: ^7.1.0
version: 7.1.0(typescript@5.1.6) version: 7.1.0(typescript@5.2.2)
typescript: typescript:
specifier: ^5.1.6 specifier: ^5.2.2
version: 5.1.6 version: 5.2.2
viem: viem:
specifier: ^1.3.1 specifier: ^1.3.1
version: 1.3.1(typescript@5.1.6) version: 1.3.1(typescript@5.2.2)
vite: vite:
specifier: ^4.4.6 specifier: ^4.4.6
version: 4.4.6(@types/node@20.6.3) version: 4.4.6(@types/node@20.6.3)
...@@ -478,8 +478,8 @@ importers: ...@@ -478,8 +478,8 @@ importers:
specifier: ^2.0.1 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) 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': '@types/chai':
specifier: ^4.3.5 specifier: ^4.3.6
version: 4.3.5 version: 4.3.6
'@types/chai-as-promised': '@types/chai-as-promised':
specifier: ^7.1.5 specifier: ^7.1.5
version: 7.1.5 version: 7.1.5
...@@ -491,16 +491,16 @@ importers: ...@@ -491,16 +491,16 @@ importers:
version: 20.5.0 version: 20.5.0
chai-as-promised: chai-as-promised:
specifier: ^7.1.1 specifier: ^7.1.1
version: 7.1.1(chai@4.3.8) version: 7.1.1(chai@4.3.9)
ethereum-waffle: ethereum-waffle:
specifier: ^4.0.10 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: ethers:
specifier: ^5.7.2 specifier: ^5.7.2
version: 5.7.2 version: 5.7.2
hardhat: hardhat:
specifier: ^2.17.2 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: hardhat-deploy:
specifier: ^0.11.4 specifier: ^0.11.4
version: 0.11.10 version: 0.11.10
...@@ -515,16 +515,16 @@ importers: ...@@ -515,16 +515,16 @@ importers:
version: 15.1.0 version: 15.1.0
ts-node: ts-node:
specifier: ^10.9.1 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: typedoc:
specifier: ^0.25.1 specifier: ^0.25.1
version: 0.25.1(typescript@5.1.6) version: 0.25.1(typescript@5.2.2)
typescript: typescript:
specifier: ^5.1.6 specifier: ^5.2.2
version: 5.1.6 version: 5.2.2
viem: viem:
specifier: ^1.6.0 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: vitest:
specifier: ^0.34.2 specifier: ^0.34.2
version: 0.34.2(jsdom@22.1.0) version: 0.34.2(jsdom@22.1.0)
...@@ -558,13 +558,13 @@ importers: ...@@ -558,13 +558,13 @@ importers:
version: 0.34.1(vitest@0.34.1) version: 0.34.1(vitest@0.34.1)
tsup: tsup:
specifier: ^7.2.0 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: typescript:
specifier: ^5.1.6 specifier: ^5.2.2
version: 5.1.6 version: 5.2.2
viem: viem:
specifier: ^1.6.0 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: vite:
specifier: ^4.4.9 specifier: ^4.4.9
version: 4.4.9(@types/node@20.6.3) version: 4.4.9(@types/node@20.6.3)
...@@ -1071,7 +1071,7 @@ packages: ...@@ -1071,7 +1071,7 @@ packages:
prettier: 2.8.8 prettier: 2.8.8
dev: false 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==} resolution: {integrity: sha512-2GHHvhO3kaOyxFXxOaiznlY8ARmz33/p+WQdhc2y6wzWw5eOl2wSwg1eZxx3LsWlAnB963Y4bd1YjZcGIhKRzA==}
engines: {node: '>=6'} engines: {node: '>=6'}
hasBin: true hasBin: true
...@@ -1094,7 +1094,7 @@ packages: ...@@ -1094,7 +1094,7 @@ packages:
request: 2.88.2 request: 2.88.2
request-promise: 4.2.6(request@2.88.2) request-promise: 4.2.6(request@2.88.2)
ts-essentials: 1.0.4 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 url-join: 4.0.1
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
...@@ -1683,7 +1683,7 @@ packages: ...@@ -1683,7 +1683,7 @@ packages:
'@ethersproject/transactions': 5.7.0 '@ethersproject/transactions': 5.7.0
'@ethersproject/web': 5.7.1 '@ethersproject/web': 5.7.1
bufio: 1.2.0 bufio: 1.2.0
chai: 4.3.8 chai: 4.3.9
transitivePeerDependencies: transitivePeerDependencies:
- bufferutil - bufferutil
- utf-8-validate - utf-8-validate
...@@ -1705,32 +1705,6 @@ packages: ...@@ -1705,32 +1705,6 @@ packages:
- supports-color - supports-color
dev: true 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): /@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==} resolution: {integrity: sha512-5x5U52tSvEVJS6dpCeXXKvRKyf8GICDwiTwUvGD3/WD+DpvgvaoHOL82XqpTSUHgV3bBq6ma5/8gKUJUIAnJCw==}
engines: {node: '>=10.0'} engines: {node: '>=10.0'}
...@@ -2806,9 +2780,9 @@ packages: ...@@ -2806,9 +2780,9 @@ packages:
'@nomiclabs/hardhat-ethers': 2.2.3(ethers@5.7.2)(hardhat@2.17.2) '@nomiclabs/hardhat-ethers': 2.2.3(ethers@5.7.2)(hardhat@2.17.2)
'@types/sinon-chai': 3.2.5 '@types/sinon-chai': 3.2.5
'@types/web3': 1.0.19 '@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 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 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): /@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: ...@@ -3007,10 +2981,10 @@ packages:
- encoding - encoding
- utf-8-validate - 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==} resolution: {integrity: sha512-lYfRqrbbK1aKU1/UGkYWc/X7PgySYcumXKc5FB2uuwAs2Ghj8uETuW5BrwPqyjBknRxutFbTv+gth/JzjxAhdQ==}
dependencies: 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 events: 3.3.0
transitivePeerDependencies: transitivePeerDependencies:
- bufferutil - bufferutil
...@@ -3040,11 +3014,11 @@ packages: ...@@ -3040,11 +3014,11 @@ packages:
- encoding - encoding
- utf-8-validate - 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==} resolution: {integrity: sha512-gYw0ki/EAuV1oSyMxpqandHjnthZjYYy+YWpTAzf8BqfXM3ItcZLpjxfg+3+mXW8HIO+3jw6T9iiqEXsqHaMMw==}
dependencies: dependencies:
'@safe-global/safe-gateway-typescript-sdk': 3.7.3 '@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: transitivePeerDependencies:
- bufferutil - bufferutil
- encoding - encoding
...@@ -3679,24 +3653,6 @@ packages: ...@@ -3679,24 +3653,6 @@ packages:
resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==}
dev: true 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): /@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==} resolution: {integrity: sha512-n3tQmCZjRE6IU4h6lqUGiQ1j866n5MTCBJreNEHHVWXa2u9GJTaeYyU1/k+1qLutkyw+sS6VAN+AbeiTqsxd/A==}
peerDependencies: peerDependencies:
...@@ -3754,10 +3710,6 @@ packages: ...@@ -3754,10 +3710,6 @@ packages:
'@types/chai': 4.3.6 '@types/chai': 4.3.6
dev: true dev: true
/@types/chai@4.3.5:
resolution: {integrity: sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==}
dev: true
/@types/chai@4.3.6: /@types/chai@4.3.6:
resolution: {integrity: sha512-VOVRLM1mBxIRxydiViqPcKn6MIxZytrbMpd6RJLIWKxUNr3zux8no0Oc7kJx0WAPIitgZ0gkrDS+btlqQpubpw==} resolution: {integrity: sha512-VOVRLM1mBxIRxydiViqPcKn6MIxZytrbMpd6RJLIWKxUNr3zux8no0Oc7kJx0WAPIitgZ0gkrDS+btlqQpubpw==}
dev: true dev: true
...@@ -4066,7 +4018,7 @@ packages: ...@@ -4066,7 +4018,7 @@ packages:
'@types/node': 20.7.0 '@types/node': 20.7.0
dev: true 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==} resolution: {integrity: sha512-gUqtknHm0TDs1LhY12K2NA3Rmlmp88jK9Tx8vGZMfHeNMLE3GH2e9TRub+y+SOjuYgtOmok+wt1AyDPZqxbNag==}
engines: {node: ^16.0.0 || >=18.0.0} engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies: peerDependencies:
...@@ -4078,10 +4030,10 @@ packages: ...@@ -4078,10 +4030,10 @@ packages:
optional: true optional: true
dependencies: dependencies:
'@eslint-community/regexpp': 4.6.2 '@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/scope-manager': 6.7.0
'@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)
'@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)
'@typescript-eslint/visitor-keys': 6.7.0 '@typescript-eslint/visitor-keys': 6.7.0
debug: 4.3.4(supports-color@8.1.1) debug: 4.3.4(supports-color@8.1.1)
eslint: 8.50.0 eslint: 8.50.0
...@@ -4089,13 +4041,13 @@ packages: ...@@ -4089,13 +4041,13 @@ packages:
ignore: 5.2.4 ignore: 5.2.4
natural-compare: 1.4.0 natural-compare: 1.4.0
semver: 7.5.4 semver: 7.5.4
ts-api-utils: 1.0.1(typescript@5.1.6) ts-api-utils: 1.0.1(typescript@5.2.2)
typescript: 5.1.6 typescript: 5.2.2
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true 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==} resolution: {integrity: sha512-gUqtknHm0TDs1LhY12K2NA3Rmlmp88jK9Tx8vGZMfHeNMLE3GH2e9TRub+y+SOjuYgtOmok+wt1AyDPZqxbNag==}
engines: {node: ^16.0.0 || >=18.0.0} engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies: peerDependencies:
...@@ -4107,10 +4059,10 @@ packages: ...@@ -4107,10 +4059,10 @@ packages:
optional: true optional: true
dependencies: dependencies:
'@eslint-community/regexpp': 4.6.2 '@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/scope-manager': 6.7.0
'@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)
'@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)
'@typescript-eslint/visitor-keys': 6.7.0 '@typescript-eslint/visitor-keys': 6.7.0
debug: 4.3.4(supports-color@8.1.1) debug: 4.3.4(supports-color@8.1.1)
eslint: 8.49.0 eslint: 8.49.0
...@@ -4118,13 +4070,13 @@ packages: ...@@ -4118,13 +4070,13 @@ packages:
ignore: 5.2.4 ignore: 5.2.4
natural-compare: 1.4.0 natural-compare: 1.4.0
semver: 7.5.4 semver: 7.5.4
ts-api-utils: 1.0.1(typescript@5.1.6) ts-api-utils: 1.0.1(typescript@5.2.2)
typescript: 5.1.6 typescript: 5.2.2
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true 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==} resolution: {integrity: sha512-I1Ah1irl033uxjxO9Xql7+biL3YD7w9IU8zF+xlzD/YxY6a4b7DYA08PXUUCbm2sEljwJF6ERFy2kTGAGcNilg==}
engines: {node: ^16.0.0 || >=18.0.0} engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies: peerDependencies:
...@@ -4136,16 +4088,16 @@ packages: ...@@ -4136,16 +4088,16 @@ packages:
dependencies: dependencies:
'@typescript-eslint/scope-manager': 6.4.0 '@typescript-eslint/scope-manager': 6.4.0
'@typescript-eslint/types': 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 '@typescript-eslint/visitor-keys': 6.4.0
debug: 4.3.4(supports-color@8.1.1) debug: 4.3.4(supports-color@8.1.1)
eslint: 8.50.0 eslint: 8.50.0
typescript: 5.1.6 typescript: 5.2.2
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true 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==} resolution: {integrity: sha512-TlutE+iep2o7R8Lf+yoer3zU6/0EAUc8QIBB3GYBc1KGz4c4TRm83xwXUZVPlZ6YCLss4r77jbu6j3sendJoiQ==}
engines: {node: ^16.0.0 || >=18.0.0} engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies: peerDependencies:
...@@ -4157,11 +4109,11 @@ packages: ...@@ -4157,11 +4109,11 @@ packages:
dependencies: dependencies:
'@typescript-eslint/scope-manager': 6.7.3 '@typescript-eslint/scope-manager': 6.7.3
'@typescript-eslint/types': 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 '@typescript-eslint/visitor-keys': 6.7.3
debug: 4.3.4(supports-color@8.1.1) debug: 4.3.4(supports-color@8.1.1)
eslint: 8.49.0 eslint: 8.49.0
typescript: 5.1.6 typescript: 5.2.2
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true dev: true
...@@ -4190,7 +4142,7 @@ packages: ...@@ -4190,7 +4142,7 @@ packages:
'@typescript-eslint/visitor-keys': 6.7.3 '@typescript-eslint/visitor-keys': 6.7.3
dev: true 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==} resolution: {integrity: sha512-f/QabJgDAlpSz3qduCyQT0Fw7hHpmhOzY/Rv6zO3yO+HVIdPfIWhrQoAyG+uZVtWAIS85zAyzgAFfyEr+MgBpg==}
engines: {node: ^16.0.0 || >=18.0.0} engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies: peerDependencies:
...@@ -4200,17 +4152,17 @@ packages: ...@@ -4200,17 +4152,17 @@ packages:
typescript: typescript:
optional: true optional: true
dependencies: dependencies:
'@typescript-eslint/typescript-estree': 6.7.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.1.6) '@typescript-eslint/utils': 6.7.0(eslint@8.49.0)(typescript@5.2.2)
debug: 4.3.4(supports-color@8.1.1) debug: 4.3.4(supports-color@8.1.1)
eslint: 8.49.0 eslint: 8.49.0
ts-api-utils: 1.0.1(typescript@5.1.6) ts-api-utils: 1.0.1(typescript@5.2.2)
typescript: 5.1.6 typescript: 5.2.2
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true 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==} resolution: {integrity: sha512-f/QabJgDAlpSz3qduCyQT0Fw7hHpmhOzY/Rv6zO3yO+HVIdPfIWhrQoAyG+uZVtWAIS85zAyzgAFfyEr+MgBpg==}
engines: {node: ^16.0.0 || >=18.0.0} engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies: peerDependencies:
...@@ -4220,12 +4172,12 @@ packages: ...@@ -4220,12 +4172,12 @@ packages:
typescript: typescript:
optional: true optional: true
dependencies: dependencies:
'@typescript-eslint/typescript-estree': 6.7.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.1.6) '@typescript-eslint/utils': 6.7.0(eslint@8.50.0)(typescript@5.2.2)
debug: 4.3.4(supports-color@8.1.1) debug: 4.3.4(supports-color@8.1.1)
eslint: 8.50.0 eslint: 8.50.0
ts-api-utils: 1.0.1(typescript@5.1.6) ts-api-utils: 1.0.1(typescript@5.2.2)
typescript: 5.1.6 typescript: 5.2.2
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true dev: true
...@@ -4245,7 +4197,7 @@ packages: ...@@ -4245,7 +4197,7 @@ packages:
engines: {node: ^16.0.0 || >=18.0.0} engines: {node: ^16.0.0 || >=18.0.0}
dev: true 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==} resolution: {integrity: sha512-iDPJArf/K2sxvjOR6skeUCNgHR/tCQXBsa+ee1/clRKr3olZjZ/dSkXPZjG6YkPtnW6p5D1egeEPMCW6Gn4yLA==}
engines: {node: ^16.0.0 || >=18.0.0} engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies: peerDependencies:
...@@ -4260,13 +4212,13 @@ packages: ...@@ -4260,13 +4212,13 @@ packages:
globby: 11.1.0 globby: 11.1.0
is-glob: 4.0.3 is-glob: 4.0.3
semver: 7.5.4 semver: 7.5.4
ts-api-utils: 1.0.1(typescript@5.1.6) ts-api-utils: 1.0.1(typescript@5.2.2)
typescript: 5.1.6 typescript: 5.2.2
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true 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==} resolution: {integrity: sha512-dPvkXj3n6e9yd/0LfojNU8VMUGHWiLuBZvbM6V6QYD+2qxqInE7J+J/ieY2iGwR9ivf/R/haWGkIj04WVUeiSQ==}
engines: {node: ^16.0.0 || >=18.0.0} engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies: peerDependencies:
...@@ -4281,13 +4233,13 @@ packages: ...@@ -4281,13 +4233,13 @@ packages:
globby: 11.1.0 globby: 11.1.0
is-glob: 4.0.3 is-glob: 4.0.3
semver: 7.5.4 semver: 7.5.4
ts-api-utils: 1.0.1(typescript@5.1.6) ts-api-utils: 1.0.1(typescript@5.2.2)
typescript: 5.1.6 typescript: 5.2.2
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true 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==} resolution: {integrity: sha512-YLQ3tJoS4VxLFYHTw21oe1/vIZPRqAO91z6Uv0Ss2BKm/Ag7/RVQBcXTGcXhgJMdA4U+HrKuY5gWlJlvoaKZ5g==}
engines: {node: ^16.0.0 || >=18.0.0} engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies: peerDependencies:
...@@ -4302,13 +4254,13 @@ packages: ...@@ -4302,13 +4254,13 @@ packages:
globby: 11.1.0 globby: 11.1.0
is-glob: 4.0.3 is-glob: 4.0.3
semver: 7.5.4 semver: 7.5.4
ts-api-utils: 1.0.1(typescript@5.1.6) ts-api-utils: 1.0.1(typescript@5.2.2)
typescript: 5.1.6 typescript: 5.2.2
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true 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==} resolution: {integrity: sha512-MfCq3cM0vh2slSikQYqK2Gq52gvOhe57vD2RM3V4gQRZYX4rDPnKLu5p6cm89+LJiGlwEXU8hkYxhqqEC/V3qA==}
engines: {node: ^16.0.0 || >=18.0.0} engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies: peerDependencies:
...@@ -4319,7 +4271,7 @@ packages: ...@@ -4319,7 +4271,7 @@ packages:
'@types/semver': 7.5.0 '@types/semver': 7.5.0
'@typescript-eslint/scope-manager': 6.7.0 '@typescript-eslint/scope-manager': 6.7.0
'@typescript-eslint/types': 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 eslint: 8.49.0
semver: 7.5.4 semver: 7.5.4
transitivePeerDependencies: transitivePeerDependencies:
...@@ -4327,7 +4279,7 @@ packages: ...@@ -4327,7 +4279,7 @@ packages:
- typescript - typescript
dev: true 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==} resolution: {integrity: sha512-MfCq3cM0vh2slSikQYqK2Gq52gvOhe57vD2RM3V4gQRZYX4rDPnKLu5p6cm89+LJiGlwEXU8hkYxhqqEC/V3qA==}
engines: {node: ^16.0.0 || >=18.0.0} engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies: peerDependencies:
...@@ -4338,7 +4290,7 @@ packages: ...@@ -4338,7 +4290,7 @@ packages:
'@types/semver': 7.5.0 '@types/semver': 7.5.0
'@typescript-eslint/scope-manager': 6.7.0 '@typescript-eslint/scope-manager': 6.7.0
'@typescript-eslint/types': 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 eslint: 8.50.0
semver: 7.5.4 semver: 7.5.4
transitivePeerDependencies: transitivePeerDependencies:
...@@ -4407,7 +4359,7 @@ packages: ...@@ -4407,7 +4359,7 @@ packages:
dependencies: dependencies:
'@vitest/spy': 0.34.1 '@vitest/spy': 0.34.1
'@vitest/utils': 0.34.1 '@vitest/utils': 0.34.1
chai: 4.3.8 chai: 4.3.9
dev: true dev: true
/@vitest/expect@0.34.2: /@vitest/expect@0.34.2:
...@@ -4415,7 +4367,7 @@ packages: ...@@ -4415,7 +4367,7 @@ packages:
dependencies: dependencies:
'@vitest/spy': 0.34.2 '@vitest/spy': 0.34.2
'@vitest/utils': 0.34.2 '@vitest/utils': 0.34.2
chai: 4.3.8 chai: 4.3.9
dev: true dev: true
/@vitest/expect@0.34.4: /@vitest/expect@0.34.4:
...@@ -4423,7 +4375,7 @@ packages: ...@@ -4423,7 +4375,7 @@ packages:
dependencies: dependencies:
'@vitest/spy': 0.34.4 '@vitest/spy': 0.34.4
'@vitest/utils': 0.34.4 '@vitest/utils': 0.34.4
chai: 4.3.8 chai: 4.3.9
dev: true dev: true
/@vitest/runner@0.34.1: /@vitest/runner@0.34.1:
...@@ -4568,7 +4520,7 @@ packages: ...@@ -4568,7 +4520,7 @@ packages:
resolution: {integrity: sha512-JtB41wXl7Au3+Nl3gD16Cfpj7k/6aCroZ6BbOiCMFCMvrOpkg/qQUXTso2XowaNqBbnkuGHurLAqkLBxNGc1hQ==} resolution: {integrity: sha512-JtB41wXl7Au3+Nl3gD16Cfpj7k/6aCroZ6BbOiCMFCMvrOpkg/qQUXTso2XowaNqBbnkuGHurLAqkLBxNGc1hQ==}
dev: true 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==} resolution: {integrity: sha512-TdiOzJT6TO1JrztRNjTA5Quz+UmQlbvWFG8N41u9tta0boHA1JCAzGGvU6KuIcOmJfRJkKOUIt67wlbopCpVHg==}
peerDependencies: peerDependencies:
typescript: '>=4.9.4' typescript: '>=4.9.4'
...@@ -4576,9 +4528,9 @@ packages: ...@@ -4576,9 +4528,9 @@ packages:
typescript: typescript:
optional: true optional: true
dependencies: 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==} resolution: {integrity: sha512-7tyr1irTZQpA4/4HoIiJP3XYZuJIZuWiZ1V1j5WEG3cjm8TXIlMEzO0N+hT/cZKw4/UtF2EukvB8GkDWa2S77w==}
peerDependencies: peerDependencies:
typescript: '>=5.0.4' typescript: '>=5.0.4'
...@@ -4586,10 +4538,10 @@ packages: ...@@ -4586,10 +4538,10 @@ packages:
typescript: typescript:
optional: true optional: true
dependencies: dependencies:
typescript: 5.1.6 typescript: 5.2.2
dev: true dev: true
/@wagmi/chains@1.6.0(typescript@5.1.6): /@wagmi/chains@1.6.0(typescript@5.2.2):
resolution: {integrity: sha512-5FRlVxse5P4ZaHG3GTvxwVANSmYJas1eQrTBHhjxVtqXoorm0aLmCHbhmN8Xo1yu09PaWKlleEvfE98yH4AgIw==} resolution: {integrity: sha512-5FRlVxse5P4ZaHG3GTvxwVANSmYJas1eQrTBHhjxVtqXoorm0aLmCHbhmN8Xo1yu09PaWKlleEvfE98yH4AgIw==}
peerDependencies: peerDependencies:
typescript: '>=5.0.4' typescript: '>=5.0.4'
...@@ -4597,9 +4549,9 @@ packages: ...@@ -4597,9 +4549,9 @@ packages:
typescript: typescript:
optional: true optional: true
dependencies: 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==} resolution: {integrity: sha512-/YXmdp0XWgQEwRSVO8IjVB8KY5HK+6+eqJsZI3a+y3XMH4T/NxVBoT/JxTqV6HEivr3HOLgDcTzvQhNy3mZ0HA==}
engines: {node: '>=14'} engines: {node: '>=14'}
hasBin: true hasBin: true
...@@ -4615,9 +4567,9 @@ packages: ...@@ -4615,9 +4567,9 @@ packages:
wagmi: wagmi:
optional: true optional: true
dependencies: dependencies:
'@wagmi/chains': 1.3.0(typescript@5.1.6) '@wagmi/chains': 1.3.0(typescript@5.2.2)
'@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)
abitype: 0.8.7(typescript@5.1.6)(zod@3.22.1) abitype: 0.8.7(typescript@5.2.2)(zod@3.22.1)
abort-controller: 3.0.0 abort-controller: 3.0.0
bundle-require: 3.1.2(esbuild@0.15.13) bundle-require: 3.1.2(esbuild@0.15.13)
cac: 6.7.14 cac: 6.7.14
...@@ -4637,16 +4589,16 @@ packages: ...@@ -4637,16 +4589,16 @@ packages:
pathe: 1.1.1 pathe: 1.1.1
picocolors: 1.0.0 picocolors: 1.0.0
prettier: 2.8.8 prettier: 2.8.8
typescript: 5.1.6 typescript: 5.2.2
viem: 1.6.0(typescript@5.1.6)(zod@3.22.1) 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.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)
zod: 3.22.1 zod: 3.22.1
transitivePeerDependencies: transitivePeerDependencies:
- bufferutil - bufferutil
- utf-8-validate - utf-8-validate
dev: true 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==} resolution: {integrity: sha512-fl01vym19DE1uoE+MlASw5zo3Orr/YXlJRjOKLaKYtV+Q7jOLY4TwHgq7sEMs+JYOvFICFBEAlWNNxidr51AqQ==}
peerDependencies: peerDependencies:
'@wagmi/chains': '>=0.2.0' '@wagmi/chains': '>=0.2.0'
...@@ -4662,14 +4614,14 @@ packages: ...@@ -4662,14 +4614,14 @@ packages:
'@ledgerhq/connect-kit-loader': 1.1.0 '@ledgerhq/connect-kit-loader': 1.1.0
'@safe-global/safe-apps-provider': 0.15.2 '@safe-global/safe-apps-provider': 0.15.2
'@safe-global/safe-apps-sdk': 7.11.0 '@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/ethereum-provider': 2.7.2(@web3modal/standalone@2.4.3)
'@walletconnect/legacy-provider': 2.0.0 '@walletconnect/legacy-provider': 2.0.0
'@web3modal/standalone': 2.4.3(react@18.2.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 eventemitter3: 4.0.7
typescript: 5.1.6 typescript: 5.2.2
viem: 1.3.1(typescript@5.1.6) viem: 1.3.1(typescript@5.2.2)
transitivePeerDependencies: transitivePeerDependencies:
- '@react-native-async-storage/async-storage' - '@react-native-async-storage/async-storage'
- bufferutil - bufferutil
...@@ -4681,7 +4633,7 @@ packages: ...@@ -4681,7 +4633,7 @@ packages:
- utf-8-validate - utf-8-validate
- zod - 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==} resolution: {integrity: sha512-/o1c/TCivQs8DOAUOcQvY2UIt3p2mWOAHi39D0LC74+ncpXzLC5/gyaWU38qnTxPM8s/PmTmaWDgz+VhICXrag==}
peerDependencies: peerDependencies:
'@wagmi/chains': '>=1.3.0' '@wagmi/chains': '>=1.3.0'
...@@ -4695,17 +4647,17 @@ packages: ...@@ -4695,17 +4647,17 @@ packages:
dependencies: dependencies:
'@coinbase/wallet-sdk': 3.7.1 '@coinbase/wallet-sdk': 3.7.1
'@ledgerhq/connect-kit-loader': 1.1.0 '@ledgerhq/connect-kit-loader': 1.1.0
'@safe-global/safe-apps-provider': 0.17.1(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.1.6) '@safe-global/safe-apps-sdk': 8.0.0(typescript@5.2.2)
'@wagmi/chains': 1.6.0(typescript@5.1.6) '@wagmi/chains': 1.6.0(typescript@5.2.2)
'@walletconnect/ethereum-provider': 2.9.0(@walletconnect/modal@2.5.9) '@walletconnect/ethereum-provider': 2.9.0(@walletconnect/modal@2.5.9)
'@walletconnect/legacy-provider': 2.0.0 '@walletconnect/legacy-provider': 2.0.0
'@walletconnect/modal': 2.5.9(react@18.2.0) '@walletconnect/modal': 2.5.9(react@18.2.0)
'@walletconnect/utils': 2.9.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 eventemitter3: 4.0.7
typescript: 5.1.6 typescript: 5.2.2
viem: 1.3.1(typescript@5.1.6) viem: 1.3.1(typescript@5.2.2)
transitivePeerDependencies: transitivePeerDependencies:
- '@react-native-async-storage/async-storage' - '@react-native-async-storage/async-storage'
- bufferutil - bufferutil
...@@ -4717,7 +4669,7 @@ packages: ...@@ -4717,7 +4669,7 @@ packages:
- zod - zod
dev: true 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==} resolution: {integrity: sha512-Zzg4Ob92QMF9NsC+z5/8JZjMn3NCCnwVWGJlv79qRX9mp5Ku40OzJNvqDnjcSGjshe6H0L/KtFZAqTlmu8lT7w==}
peerDependencies: peerDependencies:
typescript: '>=4.9.4' typescript: '>=4.9.4'
...@@ -4726,12 +4678,12 @@ packages: ...@@ -4726,12 +4678,12 @@ packages:
typescript: typescript:
optional: true optional: true
dependencies: dependencies:
'@wagmi/chains': 0.2.22(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.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)
abitype: 0.8.1(typescript@5.1.6) abitype: 0.8.1(typescript@5.2.2)
eventemitter3: 4.0.7 eventemitter3: 4.0.7
typescript: 5.1.6 typescript: 5.2.2
viem: 1.3.1(typescript@5.1.6) viem: 1.3.1(typescript@5.2.2)
zustand: 4.3.9(react@18.2.0) zustand: 4.3.9(react@18.2.0)
transitivePeerDependencies: transitivePeerDependencies:
- '@react-native-async-storage/async-storage' - '@react-native-async-storage/async-storage'
...@@ -4745,7 +4697,7 @@ packages: ...@@ -4745,7 +4697,7 @@ packages:
- utf-8-validate - utf-8-validate
- zod - 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==} resolution: {integrity: sha512-OYSxikoMizqVnpSkFTwGE7PwFaz2k0PXteSiI0W2Mtk4j4sZzRFdP+9AWeDB6AYm0yU3WvgN1IATx0EEBKUe3w==}
peerDependencies: peerDependencies:
typescript: '>=5.0.4' typescript: '>=5.0.4'
...@@ -4754,12 +4706,12 @@ packages: ...@@ -4754,12 +4706,12 @@ packages:
typescript: typescript:
optional: true optional: true
dependencies: dependencies:
'@wagmi/chains': 1.6.0(typescript@5.1.6) '@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.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)
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 eventemitter3: 4.0.7
typescript: 5.1.6 typescript: 5.2.2
viem: 1.3.1(typescript@5.1.6) viem: 1.3.1(typescript@5.2.2)
zustand: 4.3.9(react@18.2.0) zustand: 4.3.9(react@18.2.0)
transitivePeerDependencies: transitivePeerDependencies:
- '@react-native-async-storage/async-storage' - '@react-native-async-storage/async-storage'
...@@ -5317,7 +5269,7 @@ packages: ...@@ -5317,7 +5269,7 @@ packages:
resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==}
dev: true 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==} resolution: {integrity: sha512-n8Di6AWb3i7HnEkBvecU6pG0a5nj5YwMvdAIwPLsQK95ulRy/XS113s/RXvSfTX1iOQJYFrEO3/q4SMWu7OwTA==}
peerDependencies: peerDependencies:
typescript: '>=4.9.4' typescript: '>=4.9.4'
...@@ -5326,9 +5278,9 @@ packages: ...@@ -5326,9 +5278,9 @@ packages:
zod: zod:
optional: true optional: true
dependencies: 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==} resolution: {integrity: sha512-wQ7hV8Yg/yKmGyFpqrNZufCxbszDe5es4AZGYPBitocfSqXtjrTG9JMWFcc4N30ukl2ve48aBTwt7NJxVQdU3w==}
peerDependencies: peerDependencies:
typescript: '>=5.0.4' typescript: '>=5.0.4'
...@@ -5337,11 +5289,11 @@ packages: ...@@ -5337,11 +5289,11 @@ packages:
zod: zod:
optional: true optional: true
dependencies: dependencies:
typescript: 5.1.6 typescript: 5.2.2
zod: 3.22.1 zod: 3.22.1
dev: true 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==} resolution: {integrity: sha512-dz4qCQLurx97FQhnb/EIYTk/ldQ+oafEDUqC0VVIeQS1Q48/YWt/9YNfMmp9SLFqN41ktxny3c8aYxHjmFIB/w==}
peerDependencies: peerDependencies:
typescript: '>=5.0.4' typescript: '>=5.0.4'
...@@ -5352,10 +5304,10 @@ packages: ...@@ -5352,10 +5304,10 @@ packages:
zod: zod:
optional: true optional: true
dependencies: dependencies:
typescript: 5.1.6 typescript: 5.2.2
zod: 3.22.0 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==} resolution: {integrity: sha512-dz4qCQLurx97FQhnb/EIYTk/ldQ+oafEDUqC0VVIeQS1Q48/YWt/9YNfMmp9SLFqN41ktxny3c8aYxHjmFIB/w==}
peerDependencies: peerDependencies:
typescript: '>=5.0.4' typescript: '>=5.0.4'
...@@ -5366,7 +5318,7 @@ packages: ...@@ -5366,7 +5318,7 @@ packages:
zod: zod:
optional: true optional: true
dependencies: dependencies:
typescript: 5.1.6 typescript: 5.2.2
zod: 3.22.1 zod: 3.22.1
dev: true dev: true
...@@ -6243,16 +6195,16 @@ packages: ...@@ -6243,16 +6195,16 @@ packages:
resolution: {integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==} resolution: {integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==}
dev: true 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==} resolution: {integrity: sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==}
peerDependencies: peerDependencies:
chai: '>= 2.1.2 < 5' chai: '>= 2.1.2 < 5'
dependencies: dependencies:
chai: 4.3.8 chai: 4.3.9
check-error: 1.0.2 check-error: 1.0.2
/chai@4.3.7: /chai@4.3.8:
resolution: {integrity: sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==} resolution: {integrity: sha512-vX4YvVVtxlfSZ2VecZgFUTU5qPCYsobVI2O9FmwEXBhDigYGQA6jRXCycIs1yJnnWbZ6/+a2zNIF5DfVCcJBFQ==}
engines: {node: '>=4'} engines: {node: '>=4'}
dependencies: dependencies:
assertion-error: 1.1.0 assertion-error: 1.1.0
...@@ -6262,13 +6214,14 @@ packages: ...@@ -6262,13 +6214,14 @@ packages:
loupe: 2.3.6 loupe: 2.3.6
pathval: 1.1.1 pathval: 1.1.1
type-detect: 4.0.8 type-detect: 4.0.8
dev: true
/chai@4.3.8: /chai@4.3.9:
resolution: {integrity: sha512-vX4YvVVtxlfSZ2VecZgFUTU5qPCYsobVI2O9FmwEXBhDigYGQA6jRXCycIs1yJnnWbZ6/+a2zNIF5DfVCcJBFQ==} resolution: {integrity: sha512-tH8vhfA1CfuYMkALXj+wmZcqiwqOfshU9Gry+NYiiLqIddrobkBhALv6XD4yDz68qapphYI4vSaqhqAdThCAAA==}
engines: {node: '>=4'} engines: {node: '>=4'}
dependencies: dependencies:
assertion-error: 1.1.0 assertion-error: 1.1.0
check-error: 1.0.2 check-error: 1.0.3
deep-eql: 4.1.3 deep-eql: 4.1.3
get-func-name: 2.0.0 get-func-name: 2.0.0
loupe: 2.3.6 loupe: 2.3.6
...@@ -6339,6 +6292,11 @@ packages: ...@@ -6339,6 +6292,11 @@ packages:
/check-error@1.0.2: /check-error@1.0.2:
resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==} 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: /chokidar@3.5.3:
resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
engines: {node: '>= 8.10.0'} engines: {node: '>= 8.10.0'}
...@@ -7711,7 +7669,7 @@ packages: ...@@ -7711,7 +7669,7 @@ packages:
eslint-import-resolver-webpack: eslint-import-resolver-webpack:
optional: true optional: true
dependencies: 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 debug: 3.2.7
eslint: 8.49.0 eslint: 8.49.0
eslint-import-resolver-node: 0.3.9 eslint-import-resolver-node: 0.3.9
...@@ -7740,7 +7698,7 @@ packages: ...@@ -7740,7 +7698,7 @@ packages:
'@typescript-eslint/parser': '@typescript-eslint/parser':
optional: true optional: true
dependencies: 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-includes: 3.1.6
array.prototype.findlastindex: 1.2.2 array.prototype.findlastindex: 1.2.2
array.prototype.flat: 1.3.1 array.prototype.flat: 1.3.1
...@@ -8153,31 +8111,6 @@ packages: ...@@ -8153,31 +8111,6 @@ packages:
'@scure/bip32': 1.3.1 '@scure/bip32': 1.3.1
'@scure/bip39': 1.2.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): /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==} resolution: {integrity: sha512-iw9z1otq7qNkGDNcMoeNeLIATF9yKl1M8AIeu42ElfNBplq0e+5PeasQmm8ybY/elkZ1XyRO0JBQxQdVRb8bqQ==}
engines: {node: '>=10.0'} engines: {node: '>=10.0'}
...@@ -8909,6 +8842,9 @@ packages: ...@@ -8909,6 +8842,9 @@ packages:
/get-func-name@2.0.0: /get-func-name@2.0.0:
resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==} 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: /get-intrinsic@1.2.1:
resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==}
dependencies: dependencies:
...@@ -9170,74 +9106,6 @@ packages: ...@@ -9170,74 +9106,6 @@ packages:
- utf-8-validate - utf-8-validate
dev: true 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): /hardhat@2.17.2(ts-node@10.9.1)(typescript@5.2.2):
resolution: {integrity: sha512-oUv40jBeHw0dKpbyQ+iH9cmNMziweLoTW3MnkNxJ2Gc0KGLrQR/1n4vV4xY60zn2LdmRgnwPqy3CgtY0mfwIIA==} resolution: {integrity: sha512-oUv40jBeHw0dKpbyQ+iH9cmNMziweLoTW3MnkNxJ2Gc0KGLrQR/1n4vV4xY60zn2LdmRgnwPqy3CgtY0mfwIIA==}
hasBin: true hasBin: true
...@@ -10699,7 +10567,7 @@ packages: ...@@ -10699,7 +10567,7 @@ packages:
/loupe@2.3.6: /loupe@2.3.6:
resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==} resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==}
dependencies: dependencies:
get-func-name: 2.0.0 get-func-name: 2.0.2
/lower-case@2.0.2: /lower-case@2.0.2:
resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
...@@ -13997,13 +13865,13 @@ packages: ...@@ -13997,13 +13865,13 @@ packages:
resolution: {integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==} resolution: {integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==}
dev: true 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==} resolution: {integrity: sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A==}
engines: {node: '>=16.13.0'} engines: {node: '>=16.13.0'}
peerDependencies: peerDependencies:
typescript: '>=4.2.0' typescript: '>=4.2.0'
dependencies: dependencies:
typescript: 5.1.6 typescript: 5.2.2
dev: true dev: true
/ts-command-line-args@2.5.1: /ts-command-line-args@2.5.1:
...@@ -14020,14 +13888,6 @@ packages: ...@@ -14020,14 +13888,6 @@ packages:
resolution: {integrity: sha512-q3N1xS4vZpRouhYHDPwO0bDW3EZ6SK9CrrDHxi/D6BPReSjpVgWIOpLS2o0gSBZm+7q/wyKp6RVM1AeeW7uyfQ==} resolution: {integrity: sha512-q3N1xS4vZpRouhYHDPwO0bDW3EZ6SK9CrrDHxi/D6BPReSjpVgWIOpLS2o0gSBZm+7q/wyKp6RVM1AeeW7uyfQ==}
dev: false 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): /ts-essentials@7.0.3(typescript@5.2.2):
resolution: {integrity: sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ==} resolution: {integrity: sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ==}
peerDependencies: peerDependencies:
...@@ -14053,7 +13913,7 @@ packages: ...@@ -14053,7 +13913,7 @@ packages:
tsconfig-paths: 3.14.2 tsconfig-paths: 3.14.2
dev: true 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==} resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
...@@ -14079,7 +13939,7 @@ packages: ...@@ -14079,7 +13939,7 @@ packages:
create-require: 1.1.1 create-require: 1.1.1
diff: 4.0.2 diff: 4.0.2
make-error: 1.3.6 make-error: 1.3.6
typescript: 5.1.6 typescript: 5.2.2
v8-compile-cache-lib: 3.0.1 v8-compile-cache-lib: 3.0.1
yn: 3.1.1 yn: 3.1.1
dev: true dev: true
...@@ -14130,7 +13990,7 @@ packages: ...@@ -14130,7 +13990,7 @@ packages:
yn: 2.0.0 yn: 2.0.0
dev: true 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==} resolution: {integrity: sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA==}
engines: {node: '>=6.0.0'} engines: {node: '>=6.0.0'}
hasBin: true hasBin: true
...@@ -14141,7 +14001,7 @@ packages: ...@@ -14141,7 +14001,7 @@ packages:
diff: 4.0.2 diff: 4.0.2
make-error: 1.3.6 make-error: 1.3.6
source-map-support: 0.5.21 source-map-support: 0.5.21
typescript: 5.1.6 typescript: 5.2.2
yn: 3.1.1 yn: 3.1.1
dev: false dev: false
...@@ -14178,7 +14038,7 @@ packages: ...@@ -14178,7 +14038,7 @@ packages:
resolution: {integrity: sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==} resolution: {integrity: sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==}
dev: true dev: true
/tsup@7.1.0(typescript@5.1.6): /tsup@7.1.0(typescript@5.2.2):
resolution: {integrity: sha512-mazl/GRAk70j8S43/AbSYXGgvRP54oQeX8Un4iZxzATHt0roW0t6HYDVZIXMw0ZQIpvr1nFMniIVnN5186lW7w==} resolution: {integrity: sha512-mazl/GRAk70j8S43/AbSYXGgvRP54oQeX8Un4iZxzATHt0roW0t6HYDVZIXMw0ZQIpvr1nFMniIVnN5186lW7w==}
engines: {node: '>=16.14'} engines: {node: '>=16.14'}
hasBin: true hasBin: true
...@@ -14208,13 +14068,13 @@ packages: ...@@ -14208,13 +14068,13 @@ packages:
source-map: 0.8.0-beta.0 source-map: 0.8.0-beta.0
sucrase: 3.34.0 sucrase: 3.34.0
tree-kill: 1.2.2 tree-kill: 1.2.2
typescript: 5.1.6 typescript: 5.2.2
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
- ts-node - ts-node
dev: true 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==} resolution: {integrity: sha512-vDHlczXbgUvY3rWvqFEbSqmC1L7woozbzngMqTtL2PGBODTtWlRwGDDawhvWzr5c1QjKe4OAKqJGfE1xeXUvtQ==}
engines: {node: '>=16.14'} engines: {node: '>=16.14'}
hasBin: true hasBin: true
...@@ -14245,7 +14105,7 @@ packages: ...@@ -14245,7 +14105,7 @@ packages:
source-map: 0.8.0-beta.0 source-map: 0.8.0-beta.0
sucrase: 3.34.0 sucrase: 3.34.0
tree-kill: 1.2.2 tree-kill: 1.2.2
typescript: 5.1.6 typescript: 5.2.2
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
- ts-node - ts-node
...@@ -14344,27 +14204,6 @@ packages: ...@@ -14344,27 +14204,6 @@ packages:
mime-types: 2.1.35 mime-types: 2.1.35
dev: false 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): /typechain@8.3.1(typescript@5.2.2):
resolution: {integrity: sha512-fA7clol2IP/56yq6vkMTR+4URF1nGjV82Wx6Rf09EsqD4tkzMAvEaqYxVFCavJm/1xaRga/oD55K+4FtuXwQOQ==} resolution: {integrity: sha512-fA7clol2IP/56yq6vkMTR+4URF1nGjV82Wx6Rf09EsqD4tkzMAvEaqYxVFCavJm/1xaRga/oD55K+4FtuXwQOQ==}
hasBin: true hasBin: true
...@@ -14425,7 +14264,7 @@ packages: ...@@ -14425,7 +14264,7 @@ packages:
dependencies: dependencies:
is-typedarray: 1.0.0 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==} resolution: {integrity: sha512-c2ye3YUtGIadxN2O6YwPEXgrZcvhlZ6HlhWZ8jQRNzwLPn2ylhdGqdR8HbyDRyALP8J6lmSANILCkkIdNPFxqA==}
engines: {node: '>= 16'} engines: {node: '>= 16'}
hasBin: true hasBin: true
...@@ -14436,7 +14275,7 @@ packages: ...@@ -14436,7 +14275,7 @@ packages:
marked: 4.3.0 marked: 4.3.0
minimatch: 9.0.3 minimatch: 9.0.3
shiki: 0.14.3 shiki: 0.14.3
typescript: 5.1.6 typescript: 5.2.2
dev: true dev: true
/typescript@4.9.5: /typescript@4.9.5:
...@@ -14445,16 +14284,10 @@ packages: ...@@ -14445,16 +14284,10 @@ packages:
hasBin: true hasBin: true
dev: true dev: true
/typescript@5.1.6:
resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==}
engines: {node: '>=14.17'}
hasBin: true
/typescript@5.2.2: /typescript@5.2.2:
resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==}
engines: {node: '>=14.17'} engines: {node: '>=14.17'}
hasBin: true hasBin: true
dev: true
/typical@4.0.0: /typical@4.0.0:
resolution: {integrity: sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==} resolution: {integrity: sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==}
...@@ -14722,7 +14555,7 @@ packages: ...@@ -14722,7 +14555,7 @@ packages:
vfile-message: 2.0.4 vfile-message: 2.0.4
dev: true 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==} resolution: {integrity: sha512-Yv+y3/exrrEN4EAkVUtUuQxsjF4+3taHY2aSinJnNWtcA4fBZ+WfPJBTywcnFIa/Q5oDcQN85yqPFBbkXqWHdw==}
peerDependencies: peerDependencies:
typescript: '>=5.0.4' typescript: '>=5.0.4'
...@@ -14735,17 +14568,17 @@ packages: ...@@ -14735,17 +14568,17 @@ packages:
'@noble/hashes': 1.3.0 '@noble/hashes': 1.3.0
'@scure/bip32': 1.3.0 '@scure/bip32': 1.3.0
'@scure/bip39': 1.2.0 '@scure/bip39': 1.2.0
'@wagmi/chains': 1.6.0(typescript@5.1.6) '@wagmi/chains': 1.6.0(typescript@5.2.2)
abitype: 0.9.3(typescript@5.1.6)(zod@3.22.0) abitype: 0.9.3(typescript@5.2.2)(zod@3.22.0)
isomorphic-ws: 5.0.0(ws@8.12.0) isomorphic-ws: 5.0.0(ws@8.12.0)
typescript: 5.1.6 typescript: 5.2.2
ws: 8.12.0 ws: 8.12.0
transitivePeerDependencies: transitivePeerDependencies:
- bufferutil - bufferutil
- utf-8-validate - utf-8-validate
- zod - 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==} resolution: {integrity: sha512-ae9Twkd0q2Qlj4yYpWjb4DzYAhKY0ibEpRH8FJaTywZXNpTjFidSdBaT0CVn1BaH7O7cnX4/O47zvDUMGJD1AA==}
peerDependencies: peerDependencies:
typescript: '>=5.0.4' typescript: '>=5.0.4'
...@@ -14759,10 +14592,10 @@ packages: ...@@ -14759,10 +14592,10 @@ packages:
'@scure/bip32': 1.3.0 '@scure/bip32': 1.3.0
'@scure/bip39': 1.2.0 '@scure/bip39': 1.2.0
'@types/ws': 8.5.5 '@types/ws': 8.5.5
'@wagmi/chains': 1.6.0(typescript@5.1.6) '@wagmi/chains': 1.6.0(typescript@5.2.2)
abitype: 0.9.3(typescript@5.1.6)(zod@3.22.0) abitype: 0.9.3(typescript@5.2.2)(zod@3.22.0)
isomorphic-ws: 5.0.0(ws@8.12.0) isomorphic-ws: 5.0.0(ws@8.12.0)
typescript: 5.1.6 typescript: 5.2.2
ws: 8.12.0 ws: 8.12.0
transitivePeerDependencies: transitivePeerDependencies:
- bufferutil - bufferutil
...@@ -14770,7 +14603,7 @@ packages: ...@@ -14770,7 +14603,7 @@ packages:
- zod - zod
dev: true 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==} resolution: {integrity: sha512-ae9Twkd0q2Qlj4yYpWjb4DzYAhKY0ibEpRH8FJaTywZXNpTjFidSdBaT0CVn1BaH7O7cnX4/O47zvDUMGJD1AA==}
peerDependencies: peerDependencies:
typescript: '>=5.0.4' typescript: '>=5.0.4'
...@@ -14784,10 +14617,10 @@ packages: ...@@ -14784,10 +14617,10 @@ packages:
'@scure/bip32': 1.3.0 '@scure/bip32': 1.3.0
'@scure/bip39': 1.2.0 '@scure/bip39': 1.2.0
'@types/ws': 8.5.5 '@types/ws': 8.5.5
'@wagmi/chains': 1.6.0(typescript@5.1.6) '@wagmi/chains': 1.6.0(typescript@5.2.2)
abitype: 0.9.3(typescript@5.1.6)(zod@3.22.1) abitype: 0.9.3(typescript@5.2.2)(zod@3.22.1)
isomorphic-ws: 5.0.0(ws@8.12.0) isomorphic-ws: 5.0.0(ws@8.12.0)
typescript: 5.1.6 typescript: 5.2.2
ws: 8.12.0 ws: 8.12.0
transitivePeerDependencies: transitivePeerDependencies:
- bufferutil - bufferutil
...@@ -14975,7 +14808,7 @@ packages: ...@@ -14975,7 +14808,7 @@ packages:
acorn: 8.10.0 acorn: 8.10.0
acorn-walk: 8.2.0 acorn-walk: 8.2.0
cac: 6.7.14 cac: 6.7.14
chai: 4.3.8 chai: 4.3.9
debug: 4.3.4(supports-color@8.1.1) debug: 4.3.4(supports-color@8.1.1)
local-pkg: 0.4.3 local-pkg: 0.4.3
magic-string: 0.30.1 magic-string: 0.30.1
...@@ -15040,7 +14873,7 @@ packages: ...@@ -15040,7 +14873,7 @@ packages:
acorn: 8.10.0 acorn: 8.10.0
acorn-walk: 8.2.0 acorn-walk: 8.2.0
cac: 6.7.14 cac: 6.7.14
chai: 4.3.8 chai: 4.3.9
debug: 4.3.4(supports-color@8.1.1) debug: 4.3.4(supports-color@8.1.1)
jsdom: 22.1.0 jsdom: 22.1.0
local-pkg: 0.4.3 local-pkg: 0.4.3
...@@ -15144,7 +14977,7 @@ packages: ...@@ -15144,7 +14977,7 @@ packages:
xml-name-validator: 4.0.0 xml-name-validator: 4.0.0
dev: true 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==} resolution: {integrity: sha512-+2UkZG9eA3tKqXj1wvlvI8mL0Bcff7Tf5CKfUOyQsdKcY+J5rfwYYya25G+jja57umpHFtfxRaL7xDkNjehrRg==}
peerDependencies: peerDependencies:
react: '>=17.0.0' react: '>=17.0.0'
...@@ -15157,12 +14990,12 @@ packages: ...@@ -15157,12 +14990,12 @@ packages:
'@tanstack/query-sync-storage-persister': 4.29.25 '@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': 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) '@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) '@wagmi/core': 1.0.1(react@18.2.0)(typescript@5.2.2)(viem@1.3.1)
abitype: 0.8.1(typescript@5.1.6) abitype: 0.8.1(typescript@5.2.2)
react: 18.2.0 react: 18.2.0
typescript: 5.1.6 typescript: 5.2.2
use-sync-external-store: 1.2.0(react@18.2.0) 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: transitivePeerDependencies:
- '@react-native-async-storage/async-storage' - '@react-native-async-storage/async-storage'
- bufferutil - 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