From c7907ed433599e342ff26cac3d79f5af2d5b2849 Mon Sep 17 00:00:00 2001 From: Bjarte Stien Karlsen Date: Mon, 26 Feb 2024 11:11:36 +0100 Subject: [PATCH] migrate to v2, fix warnigns --- Makefile | 2 +- README.md | 20 +- doc_test.go | 2 +- event.go | 6 +- event_fetcher.go | 26 +-- example/setup_test.go | 3 +- generate.go | 6 +- generate_test.go | 5 +- go.mod | 85 +++++---- go.sum | 171 ++++++++++-------- interaction_builder.go | 6 +- log.go | 7 +- metadata.go | 10 +- meter.go | 4 +- mocks/OverflowBetaClient.go | 122 ++++++------- mocks/OverflowClient.go | 61 ++++++- npm_module.go | 4 +- print.go | 17 +- result.go | 2 +- script_v3_test.go | 4 +- setup.go | 42 ++--- state.go | 19 +- stream/main.go | 5 +- templates.go | 8 +- .../TestParseConfig/parse_and_filter.golden | 48 ++--- tools/overflow-generate/overflow-generate.go | 3 +- transaction.go | 24 +-- transaction_test.go | 6 +- utils.go | 6 +- 29 files changed, 386 insertions(+), 338 deletions(-) diff --git a/Makefile b/Makefile index de4375c..7b17021 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ .PHONY: coveralls cover install-gotestsum test-report coveralls: - go test --timeout 120s -coverprofile=profile.cov -covermode=atomic -coverpkg=github.com/bjartek/overflow -v ./... + go test --timeout 120s -coverprofile=profile.cov -covermode=atomic -coverpkg=github.com/bjartek/overflow/v2 -v ./... cover: coveralls go tool cover -html=profile.cov diff --git a/README.md b/README.md index 9ed9b6e..dc070da 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ # Overflow +This is the v2 version of overflow to be used with cadence 1.0, for the v1 version that targets 0.x look in the v1 branch. + A DSL written in golang to be used in tests or to run a `story` of interactions against either an local emulator, testnet, mainnet or an in memory instance of the flow-emulator. Use case scenarios include: @@ -46,7 +48,7 @@ First create a project directory, initialize the go module and install `overflow mkdir test-overflow && cd test-overflow flow init go mod init example.com/test-overflow -go get github.com/bjartek/overflow +go get github.com/bjartek/overflow/v2 ``` Then create a task file: @@ -64,7 +66,7 @@ import ( "fmt" //if you imports this with . you do not have to repeat overflow everywhere - . "github.com/bjartek/overflow" + . "github.com/bjartek/overflow/v2" ) func main() { @@ -95,18 +97,12 @@ The following env vars are supported - OVERFLOW_LOGGING: Set this to 0-4 to get increasing log -## Migrating from v0 api +## Migrating from v1 api + +You need to change your imports to be v2 and not v1 -Please note the following if you migrate from an earlier version of overflow that was not tagged - - "github.com/bjartek/overflow/overflow" -> "github.com/bjartek/overflow" - - overflow.Overflow -> overflow.OverflowState - - on OverflowState Script -> InlineScript - - FlowTransationBuilder -> OverflowInteractionBuilder - - FlowArgumentsBuilder -> OverflowArgumentsBuilder - - Discord dependency is gone, if you need the code ask - - almost all of the v0 is deprecated in favor of the functional builders `Overflow` to set up the client and , `Tx`, `Script`, `FetchEvents` to interact with it - ## Credits This project is the successor of https://github.com/bjartek/go-with-the-flow The v0 version of the code with a set of apis that is now deprecated is in https://github.com/bjartek/overflow/tree/v0 +The v1 version of the code with a set of apis that is now deprecated is in https://github.com/bjartek/overflow/tree/v1 diff --git a/doc_test.go b/doc_test.go index 1ca49b3..bc9edfb 100644 --- a/doc_test.go +++ b/doc_test.go @@ -2,7 +2,7 @@ package overflow_test // importing overflow using "." will yield a cleaner DSL import ( - . "github.com/bjartek/overflow" + . "github.com/bjartek/overflow/v2" ) var docOptions = WithGlobalPrintOptions(WithoutId()) diff --git a/event.go b/event.go index 386e36e..1aa8b93 100644 --- a/event.go +++ b/event.go @@ -43,13 +43,13 @@ func (me OverflowEvents) GetStakeholders(stakeholders map[string][]string) map[s } type OverflowEvent struct { - Id string `json:"id"` Fields map[string]interface{} `json:"fields"` + Addresses map[string][]string `json:"addresses"` + Id string `json:"id"` TransactionId string `json:"transactionID"` - EventIndex uint32 `json:"eventIndex"` Name string `json:"name"` - Addresses map[string][]string `json:"addresses"` RawEvent cadence.Event `json:"rawEvent"` + EventIndex uint32 `json:"eventIndex"` } // Check if an event exist in the other events diff --git a/event_fetcher.go b/event_fetcher.go index acfe8fc..ec71689 100644 --- a/event_fetcher.go +++ b/event_fetcher.go @@ -26,27 +26,27 @@ type InMemoryProgressKeeper struct { Progress int64 } -func (self *InMemoryProgressKeeper) ReadProgress() (int64, error) { - return self.Progress, nil +func (impk *InMemoryProgressKeeper) ReadProgress() (int64, error) { + return impk.Progress, nil } -func (self *InMemoryProgressKeeper) WriteProgress(progress int64) error { - self.Progress = progress +func (impk *InMemoryProgressKeeper) WriteProgress(progress int64) error { + impk.Progress = progress return nil } // OverflowEventFetcherBuilder builder to hold info about eventhook context. type OverflowEventFetcherBuilder struct { Ctx context.Context + ProgressRW ProgressReaderWriter OverflowState *OverflowState EventsAndIgnoreFields OverflowEventFilter + ProgressFile string FromIndex int64 - EndAtCurrentHeight bool EndIndex uint64 - ProgressFile string - ProgressRW ProgressReaderWriter NumberOfWorkers int EventBatchSize uint64 + EndAtCurrentHeight bool ReturnWriterFunction bool } @@ -73,12 +73,12 @@ func (o *OverflowState) buildEventInteraction(opts ...OverflowEventFetcherOption type ProgressWriterFunction func() error type EventFetcherResult struct { - Events []OverflowPastEvent Error error State *OverflowEventFetcherBuilder + ProgressWriteFunction ProgressWriterFunction + Events []OverflowPastEvent From int64 To uint64 - ProgressWriteFunction ProgressWriterFunction } func (efr EventFetcherResult) String() string { @@ -339,19 +339,19 @@ func WithReturnProgressWriter() OverflowEventFetcherOption { // a type to represent an event that we get from FetchEvents type OverflowPastEvent struct { - Name string `json:"name"` - BlockHeight uint64 `json:"blockHeight,omitempty"` - BlockID string `json:"blockID,omnitEmpty"` Time time.Time `json:"time,omitempty"` + Name string `json:"name"` + BlockID string `json:"blockID,omitempty"` Event OverflowEvent `json:"event"` + BlockHeight uint64 `json:"blockHeight,omitempty"` } type OverflowGraffleEvent struct { EventDate time.Time `json:"eventDate"` + BlockEventData map[string]interface{} `json:"blockEventData"` FlowEventID string `json:"flowEventId"` FlowTransactionID string `json:"flowTransactionId"` ID string `json:"id"` - BlockEventData map[string]interface{} `json:"blockEventData"` } func (e OverflowPastEvent) ToGraffleEvent() OverflowGraffleEvent { diff --git a/example/setup_test.go b/example/setup_test.go index c30d541..44cf81a 100644 --- a/example/setup_test.go +++ b/example/setup_test.go @@ -4,14 +4,13 @@ import ( "os" "testing" - "github.com/bjartek/overflow" + "github.com/bjartek/overflow/v2" ) // we set the shared overflow test struct that will reset to known setup state after each test var ot *overflow.OverflowTest func TestMain(m *testing.M) { - var err error ot, err = overflow.SetupTest([]overflow.OverflowOption{overflow.WithCoverageReport()}, func(o *overflow.OverflowState) error { o.MintFlowTokens("first", 1000.0) diff --git a/generate.go b/generate.go index 1ccfdb0..4209597 100644 --- a/generate.go +++ b/generate.go @@ -7,7 +7,6 @@ import ( ) func (o *OverflowState) GenerateStub(network, filePath string, standalone bool) (string, error) { - solution, err := o.ParseAll() if err != nil { return "", err @@ -24,7 +23,7 @@ func (o *OverflowState) GenerateStub(network, filePath string, standalone bool) commandName = "Script" } if interaction == nil { - return "", fmt.Errorf("Could not find interaction of type %s with name %s", commandName, interaction) + return "", fmt.Errorf("could not find interaction of type %s with name %s", commandName, interaction) } lines := []string{ fmt.Sprintf(` o.%s("%s",`, commandName, interactionName), @@ -51,12 +50,11 @@ func (o *OverflowState) GenerateStub(network, filePath string, standalone bool) return fmt.Sprintf(`package main import ( - . "github.com/bjartek/overflow" + . "github.com/bjartek/overflow/v2" ) func main() { o := Overflow(WithNetwork("%s"), WithPrintResults()) %s }`, network, stub), nil - } diff --git a/generate_test.go b/generate_test.go index e4bd823..a4a05cd 100644 --- a/generate_test.go +++ b/generate_test.go @@ -11,7 +11,6 @@ import ( Tests must be in the same folder as flow.json with contracts and transactions/scripts in subdirectories in order for the path resolver to work correctly */ func TestGenerate(t *testing.T) { - o, err := OverflowTesting() require.NoError(t, err) t.Run("script", func(t *testing.T) { @@ -43,7 +42,7 @@ func TestGenerate(t *testing.T) { assert.Equal(t, `package main import ( - . "github.com/bjartek/overflow" + . "github.com/bjartek/overflow/v2" ) func main() { @@ -53,7 +52,5 @@ func main() { WithArg("test", <>), //String ) }`, stub) - }) - } diff --git a/go.mod b/go.mod index 2db9e88..2b90e12 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/bjartek/overflow +module github.com/bjartek/overflow/v2 go 1.20 @@ -9,10 +9,10 @@ require ( github.com/fatih/color v1.16.0 github.com/hexops/autogold v1.3.1 github.com/onflow/cadence v1.0.0-M8 - github.com/onflow/flow-emulator v1.0.0-M5 - github.com/onflow/flow-go v0.33.2-0.20240214203221-b11eeaa896bd - github.com/onflow/flow-go-sdk v1.0.0-M4 - github.com/onflow/flowkit/v2 v2.0.0-stable-cadence-alpha.2.0.20240215211256-b37ad30108bd + github.com/onflow/flow-emulator v1.0.0-M7 + github.com/onflow/flow-go v0.34.0-crescendo-preview.1.0.20240222213538-3677206d445c + github.com/onflow/flow-go-sdk v1.0.0-M5 + github.com/onflow/flowkit/v2 v2.0.0-stable-cadence-alpha.5 github.com/pkg/errors v0.9.1 github.com/rs/zerolog v1.29.1 github.com/samber/lo v1.38.1 @@ -21,14 +21,14 @@ require ( github.com/stretchr/testify v1.8.4 github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb go.uber.org/zap v1.26.0 - golang.org/x/exp v0.0.0-20240103183307-be819d1f06fc - google.golang.org/grpc v1.59.0 + golang.org/x/exp v0.0.0-20240119083558-1b970713d09a + google.golang.org/grpc v1.60.1 ) require ( - cloud.google.com/go/compute v1.23.1 // indirect + cloud.google.com/go/compute v1.23.3 // indirect cloud.google.com/go/compute/metadata v0.2.3 // indirect - cloud.google.com/go/iam v1.1.3 // indirect + cloud.google.com/go/iam v1.1.5 // indirect cloud.google.com/go/kms v1.15.5 // indirect github.com/DataDog/zstd v1.5.2 // indirect github.com/FactomProject/basen v0.0.0-20150613233007-fe3947df716e // indirect @@ -71,7 +71,7 @@ require ( github.com/fxamacker/circlehash v0.3.0 // indirect github.com/getsentry/sentry-go v0.18.0 // indirect github.com/glebarez/go-sqlite v1.22.0 // indirect - github.com/go-logr/logr v1.2.4 // indirect + github.com/go-logr/logr v1.4.1 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-ole/go-ole v1.2.6 // indirect github.com/go-redis/redis/v8 v8.11.5 // indirect @@ -84,16 +84,16 @@ require ( github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb // indirect github.com/google/go-cmp v0.6.0 // indirect github.com/google/s2a-go v0.1.7 // indirect - github.com/google/uuid v1.5.0 // indirect + github.com/google/uuid v1.6.0 // indirect github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect github.com/googleapis/gax-go/v2 v2.12.0 // indirect github.com/gorilla/websocket v1.5.0 // indirect github.com/gosuri/uilive v0.0.4 // indirect - github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3 // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.0 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect - github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d // indirect - github.com/hashicorp/golang-lru/v2 v2.0.2 // indirect + github.com/hashicorp/golang-lru v1.0.2 // indirect + github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/hexops/gotextdiff v1.0.3 // indirect github.com/hexops/valast v1.4.3 // indirect @@ -103,13 +103,13 @@ require ( github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/invopop/jsonschema v0.7.0 // indirect github.com/ipfs/bbloom v0.0.4 // indirect - github.com/ipfs/go-block-format v0.1.2 // indirect + github.com/ipfs/go-block-format v0.2.0 // indirect github.com/ipfs/go-cid v0.4.1 // indirect github.com/ipfs/go-datastore v0.6.0 // indirect github.com/ipfs/go-ipfs-blockstore v1.3.0 // indirect github.com/ipfs/go-ipfs-ds-help v1.1.0 // indirect - github.com/ipfs/go-ipfs-util v0.0.2 // indirect - github.com/ipfs/go-ipld-format v0.5.0 // indirect + github.com/ipfs/go-ipfs-util v0.0.3 // indirect + github.com/ipfs/go-ipld-format v0.6.0 // indirect github.com/ipfs/go-log v1.0.5 // indirect github.com/ipfs/go-log/v2 v2.5.1 // indirect github.com/ipfs/go-metrics-interface v0.0.1 // indirect @@ -117,12 +117,12 @@ require ( github.com/jbenet/goprocess v0.1.4 // indirect github.com/k0kubun/pp v3.0.1+incompatible // indirect github.com/kevinburke/go-bindata v3.24.0+incompatible // indirect - github.com/klauspost/compress v1.16.5 // indirect - github.com/klauspost/cpuid/v2 v2.2.5 // indirect + github.com/klauspost/compress v1.17.4 // indirect + github.com/klauspost/cpuid/v2 v2.2.6 // indirect github.com/kr/pretty v0.3.1 // indirect github.com/kr/text v0.2.0 // indirect github.com/libp2p/go-buffer-pool v0.1.0 // indirect - github.com/libp2p/go-libp2p v0.28.1 // indirect + github.com/libp2p/go-libp2p v0.32.2 // indirect github.com/lmars/go-slip10 v0.0.0-20190606092855-400ba44fee12 // indirect github.com/logrusorgru/aurora v2.0.3+incompatible // indirect github.com/logrusorgru/aurora/v4 v4.0.0 // indirect @@ -130,18 +130,18 @@ require ( github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.20 // indirect github.com/mattn/go-runewidth v0.0.15 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect + github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 // indirect github.com/minio/sha256-simd v1.0.1 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/mmcloughlin/addchain v0.4.0 // indirect github.com/mr-tron/base58 v1.2.0 // indirect github.com/multiformats/go-base32 v0.1.0 // indirect github.com/multiformats/go-base36 v0.2.0 // indirect - github.com/multiformats/go-multiaddr v0.9.0 // indirect + github.com/multiformats/go-multiaddr v0.12.2 // indirect github.com/multiformats/go-multibase v0.2.0 // indirect github.com/multiformats/go-multicodec v0.9.0 // indirect github.com/multiformats/go-multihash v0.2.3 // indirect - github.com/multiformats/go-multistream v0.4.1 // indirect + github.com/multiformats/go-multistream v0.5.0 // indirect github.com/multiformats/go-varint v0.0.7 // indirect github.com/nightlyone/lockfile v1.0.0 // indirect github.com/olekukonko/tablewriter v0.0.5 // indirect @@ -158,15 +158,15 @@ require ( github.com/pelletier/go-toml/v2 v2.0.6 // indirect github.com/pierrec/lz4 v2.6.1+incompatible // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.16.0 // indirect - github.com/prometheus/client_model v0.4.0 // indirect - github.com/prometheus/common v0.42.0 // indirect - github.com/prometheus/procfs v0.10.1 // indirect + github.com/prometheus/client_golang v1.18.0 // indirect + github.com/prometheus/client_model v0.5.0 // indirect + github.com/prometheus/common v0.45.0 // indirect + github.com/prometheus/procfs v0.12.0 // indirect github.com/psiemens/graceland v1.0.0 // indirect github.com/psiemens/sconfig v0.1.0 // indirect github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect github.com/rivo/uniseg v0.4.4 // indirect - github.com/rogpeppe/go-internal v1.9.0 // indirect + github.com/rogpeppe/go-internal v1.10.0 // indirect github.com/sethvargo/go-retry v0.2.3 // indirect github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible // indirect github.com/slok/go-http-metrics v0.10.0 // indirect @@ -191,33 +191,32 @@ require ( github.com/x448/float16 v0.8.4 // indirect github.com/zeebo/blake3 v0.2.3 // indirect go.opencensus.io v0.24.0 // indirect - go.opentelemetry.io/otel v1.16.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.16.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.16.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.14.0 // indirect - go.opentelemetry.io/otel/metric v1.16.0 // indirect - go.opentelemetry.io/otel/sdk v1.16.0 // indirect - go.opentelemetry.io/otel/trace v1.16.0 // indirect - go.opentelemetry.io/proto/otlp v0.19.0 // indirect + go.opentelemetry.io/otel v1.22.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.21.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.21.0 // indirect + go.opentelemetry.io/otel/metric v1.22.0 // indirect + go.opentelemetry.io/otel/sdk v1.21.0 // indirect + go.opentelemetry.io/otel/trace v1.22.0 // indirect + go.opentelemetry.io/proto/otlp v1.0.0 // indirect go.uber.org/atomic v1.11.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/crypto v0.19.0 // indirect golang.org/x/mod v0.15.0 // indirect golang.org/x/net v0.21.0 // indirect - golang.org/x/oauth2 v0.13.0 // indirect + golang.org/x/oauth2 v0.16.0 // indirect golang.org/x/sync v0.6.0 // indirect golang.org/x/sys v0.17.0 // indirect golang.org/x/text v0.14.0 // indirect golang.org/x/time v0.3.0 // indirect golang.org/x/tools v0.18.0 // indirect golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect - gonum.org/v1/gonum v0.13.0 // indirect + gonum.org/v1/gonum v0.14.0 // indirect google.golang.org/api v0.151.0 // indirect - google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20231016165738-49dd2c1f3d0b // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20231016165738-49dd2c1f3d0b // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20231030173426-d783a09b4405 // indirect - google.golang.org/protobuf v1.31.0 // indirect + google.golang.org/appengine v1.6.8 // indirect + google.golang.org/genproto v0.0.0-20240102182953-50ed04b92917 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20240108191215-35c7eff3a6b1 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240108191215-35c7eff3a6b1 // indirect + google.golang.org/protobuf v1.32.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect lukechampine.com/blake3 v1.2.1 // indirect diff --git a/go.sum b/go.sum index 06f6daa..f2cbc63 100644 --- a/go.sum +++ b/go.sum @@ -43,8 +43,8 @@ cloud.google.com/go v0.110.2/go.mod h1:k04UEeEtb6ZBRTv3dZz4CeJC3jKGxyhl0sAiVVqux cloud.google.com/go v0.110.4/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= cloud.google.com/go v0.110.6/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= cloud.google.com/go v0.110.7/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= -cloud.google.com/go v0.110.8 h1:tyNdfIxjzaWctIiLYOTalaLKZ17SI44SKFW26QbOhME= cloud.google.com/go v0.110.8/go.mod h1:Iz8AkXJf1qmxC3Oxoep8R1T36w8B92yU29PcBhHO5fk= +cloud.google.com/go v0.111.0 h1:YHLKNupSD1KqjDbQ3+LVdQ81h/UJbJyZG203cEfnQgM= cloud.google.com/go/accessapproval v1.4.0/go.mod h1:zybIuC3KpDOvotz59lFe5qxRZx6C75OtwbisN56xYB4= cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw= cloud.google.com/go/accessapproval v1.6.0/go.mod h1:R0EiYnwV5fsRFiKZkPHr6mwyk2wxUJ30nL4j2pcFY2E= @@ -255,8 +255,9 @@ cloud.google.com/go/compute v1.19.3/go.mod h1:qxvISKp/gYnXkSAD1ppcSOveRAmzxicEv/ cloud.google.com/go/compute v1.20.1/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= cloud.google.com/go/compute v1.21.0/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= cloud.google.com/go/compute v1.23.0/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= -cloud.google.com/go/compute v1.23.1 h1:V97tBoDaZHb6leicZ1G6DLK2BAaZLJ/7+9BB/En3hR0= cloud.google.com/go/compute v1.23.1/go.mod h1:CqB3xpmPKKt3OJpW2ndFIXnA9A4xAy/F3Xp1ixncW78= +cloud.google.com/go/compute v1.23.3 h1:6sVlXXBmbd7jNX0Ipq0trII3e4n1/MsADLK6a+aiVlk= +cloud.google.com/go/compute v1.23.3/go.mod h1:VCgBUoMnIVIR0CscqQiPJLAG25E3ZRZMzcFZeQ+h8CI= cloud.google.com/go/compute/metadata v0.1.0/go.mod h1:Z1VN+bulIf6bt4P/C37K4DyZYZEXYonfTBHHFPO/4UU= cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM= @@ -486,8 +487,9 @@ cloud.google.com/go/iam v1.0.1/go.mod h1:yR3tmSL8BcZB4bxByRv2jkSIahVmCtfKZwLYGBa cloud.google.com/go/iam v1.1.0/go.mod h1:nxdHjaKfCr7fNYx/HJMM8LgiMugmveWlkatear5gVyk= cloud.google.com/go/iam v1.1.1/go.mod h1:A5avdyVL2tCppe4unb0951eI9jreack+RJ0/d+KUZOU= cloud.google.com/go/iam v1.1.2/go.mod h1:A5avdyVL2tCppe4unb0951eI9jreack+RJ0/d+KUZOU= -cloud.google.com/go/iam v1.1.3 h1:18tKG7DzydKWUnLjonWcJO6wjSCAtzh4GcRKlH/Hrzc= cloud.google.com/go/iam v1.1.3/go.mod h1:3khUlaBXfPKKe7huYgEpDn6FtgRyMEqbkvBxrQyY5SE= +cloud.google.com/go/iam v1.1.5 h1:1jTsCu4bcsNsE4iiqNT5SHwrDRCfRmIaaaVFhRveTJI= +cloud.google.com/go/iam v1.1.5/go.mod h1:rB6P/Ic3mykPbFio+vo7403drjlgvoWfYpJhMXEbzv8= cloud.google.com/go/iap v1.4.0/go.mod h1:RGFwRJdihTINIe4wZ2iCP0zF/qu18ZwyKxrhMhygBEc= cloud.google.com/go/iap v1.5.0/go.mod h1:UH/CGgKd4KyohZL5Pt0jSKE4m3FR51qg6FKQ/z/Ix9A= cloud.google.com/go/iap v1.6.0/go.mod h1:NSuvI9C/j7UdjGjIde7t7HBz+QTwBcapPE07+sSRcLk= @@ -1050,8 +1052,6 @@ github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6r github.com/bits-and-blooms/bitset v1.5.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= github.com/bits-and-blooms/bitset v1.7.0 h1:YjAGVd3XmtK9ktAbX8Zg2g2PwLIMjGREZJHlV4j7NEo= github.com/bits-and-blooms/bitset v1.7.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= -github.com/bjartek/underflow v0.3.2 h1:s3xnSdPJXSzKpjj4uR+beUglQmmy51RipO5v8wrj72E= -github.com/bjartek/underflow v0.3.2/go.mod h1:fC+4iHhCb3p+NbljQojfKHOlRDofiZ4AUkkkbwWwtYw= github.com/bjartek/underflow v1.0.0 h1:ZvgB8GzZSuCp2kAla5ViHHVNjSm33UcCmVZP2YyDyhs= github.com/bjartek/underflow v1.0.0/go.mod h1:NR0RjEo8+NuP8nWXP1O6nWw7NyUW0TrGmLIf0R88m8M= github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40/go.mod h1:8rLXio+WjiTceGBHIoTvn60HIbs7Hm7bcHjyrSqYB9c= @@ -1197,6 +1197,7 @@ github.com/dlclark/regexp2 v1.7.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnm github.com/dnaeon/go-vcr v1.1.0/go.mod h1:M7tiix8f0r6mKKJ3Yq/kqU1OYf3MnfmBWVbPx/yU9ko= github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= github.com/docker/docker v1.6.2/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= github.com/dop251/goja v0.0.0-20211022113120-dc8c55024d06/go.mod h1:R9ET47fwRVRPZnOGvHxxhuZcbrMCuiqOz3Rlrh4KSnk= github.com/dop251/goja v0.0.0-20220405120441-9037c2b61cbf/go.mod h1:R9ET47fwRVRPZnOGvHxxhuZcbrMCuiqOz3Rlrh4KSnk= @@ -1309,8 +1310,9 @@ github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= +github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-martini/martini v0.0.0-20170121215854-22fa46961aab/go.mod h1:/P9AEU963A2AYjv4d1V5eVL1CQbEJq6aCNHDDjibzu8= @@ -1455,7 +1457,7 @@ github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20230207041349-798e818bf904/go.mod h1:uglQLonpP8qtYCYyzA+8c/9qtqgA3qsXGYqCPKARAFg= -github.com/google/pprof v0.0.0-20230602150820-91b7bce49751 h1:hR7/MlvK23p6+lIw9SN1TigNLn9ZnF3W4SYRKq2gAHs= +github.com/google/pprof v0.0.0-20231229205709-960ae82b1e42 h1:dHLYa5D8/Ta0aLR2XcPsrkpAgGeFs6thhMcQK0oQ0n8= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/s2a-go v0.1.0/go.mod h1:OJpEgntRZo8ugHpF9hkoLJbS5dSI20XZeXJ9JVywLlM= github.com/google/s2a-go v0.1.3/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= @@ -1470,8 +1472,8 @@ github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+ github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= -github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg= @@ -1515,8 +1517,9 @@ github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgf github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3 h1:lLT7ZLSzGLI08vc9cpd+tYmNWjdKDqyr/2L+f6U12Fk= github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.0 h1:Wqo399gCIufwto+VfwCSvsnfGpF/w5E9CNxSwbpD6No= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.0/go.mod h1:qmOFXW2epJhM0qSnUUYpldc7gVz2KMQwJ/QYCDIa7XU= github.com/guptarohit/asciigraph v0.5.5/go.mod h1:dYl5wwK4gNsnFf9Zp+l06rFiDZ5YtXM6x7SRWZ3KGag= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= @@ -1531,10 +1534,11 @@ github.com/hashicorp/go-retryablehttp v0.7.4/go.mod h1:Jy/gPYAdjqffZ/yFGCFV2doI5 github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d h1:dg1dEPuWpEqDnvIw251EVy4zlP8gWbsGj4BsUKCRpYs= github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/hashicorp/golang-lru/v2 v2.0.2 h1:Dwmkdr5Nc/oBiXgJS3CDHNhJtIHkuZ3DZF5twqnfBdU= -github.com/hashicorp/golang-lru/v2 v2.0.2/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= +github.com/hashicorp/golang-lru v1.0.2 h1:dV3g9Z/unq5DpblPpw+Oqcv4dU/1omnb4Ok8iPY6p1c= +github.com/hashicorp/golang-lru v1.0.2/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k= +github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hexops/autogold v0.8.1/go.mod h1:97HLDXyG23akzAoRYJh/2OBs3kd80eHyKPvZw0S5ZBY= @@ -1582,9 +1586,9 @@ github.com/invopop/jsonschema v0.7.0 h1:2vgQcBz1n256N+FpX3Jq7Y17AjYt46Ig3zIWyy77 github.com/invopop/jsonschema v0.7.0/go.mod h1:O9uiLokuu0+MGFlyiaqtWxwqJm41/+8Nj0lD7A36YH0= github.com/ipfs/bbloom v0.0.4 h1:Gi+8EGJ2y5qiD5FbsbpX/TMNcJw8gSqr7eyjHa4Fhvs= github.com/ipfs/bbloom v0.0.4/go.mod h1:cS9YprKXpoZ9lT0n/Mw/a6/aFV6DTjTLYHeA+gyqMG0= -github.com/ipfs/boxo v0.10.0 h1:tdDAxq8jrsbRkYoF+5Rcqyeb91hgWe2hp7iLu7ORZLY= -github.com/ipfs/go-block-format v0.1.2 h1:GAjkfhVx1f4YTODS6Esrj1wt2HhrtwTnhEr+DyPUaJo= -github.com/ipfs/go-block-format v0.1.2/go.mod h1:mACVcrxarQKstUU3Yf/RdwbC4DzPV6++rO2a3d+a/KE= +github.com/ipfs/boxo v0.17.0 h1:fVXAb12dNbraCX1Cdid5BB6Kl62gVLNVA+e0EYMqAU0= +github.com/ipfs/go-block-format v0.2.0 h1:ZqrkxBA2ICbDRbK8KJs/u0O3dlp6gmAuuXUJNiW1Ycs= +github.com/ipfs/go-block-format v0.2.0/go.mod h1:+jpL11nFx5A/SPpsoBn6Bzkra/zaArfSmsknbPMYgzM= github.com/ipfs/go-cid v0.0.5/go.mod h1:plgt+Y5MnOey4vO4UlUazGqdbEXuFYitED67FexhXog= github.com/ipfs/go-cid v0.4.1 h1:A/T3qGvxi4kpKWWcPC/PgbvDA2bjVLO7n4UeVwnbs/s= github.com/ipfs/go-cid v0.4.1/go.mod h1:uQHwDeX4c6CtyrFwdqyhpNcxVewur1M7l7fNU7LKwZk= @@ -1598,10 +1602,10 @@ github.com/ipfs/go-ipfs-blockstore v1.3.0/go.mod h1:KgtZyc9fq+P2xJUiCAzbRdhhqJHv github.com/ipfs/go-ipfs-delay v0.0.0-20181109222059-70721b86a9a8/go.mod h1:8SP1YXK1M1kXuc4KJZINY3TQQ03J2rwBG9QfXmbRPrw= github.com/ipfs/go-ipfs-ds-help v1.1.0 h1:yLE2w9RAsl31LtfMt91tRZcrx+e61O5mDxFRR994w4Q= github.com/ipfs/go-ipfs-ds-help v1.1.0/go.mod h1:YR5+6EaebOhfcqVCyqemItCLthrpVNot+rsOU/5IatU= -github.com/ipfs/go-ipfs-util v0.0.2 h1:59Sswnk1MFaiq+VcaknX7aYEyGyGDAA73ilhEK2POp8= -github.com/ipfs/go-ipfs-util v0.0.2/go.mod h1:CbPtkWJzjLdEcezDns2XYaehFVNXG9zrdrtMecczcsQ= -github.com/ipfs/go-ipld-format v0.5.0 h1:WyEle9K96MSrvr47zZHKKcDxJ/vlpET6PSiQsAFO+Ds= -github.com/ipfs/go-ipld-format v0.5.0/go.mod h1:ImdZqJQaEouMjCvqCe0ORUS+uoBmf7Hf+EO/jh+nk3M= +github.com/ipfs/go-ipfs-util v0.0.3 h1:2RFdGez6bu2ZlZdI+rWfIdbQb1KudQp3VGwPtdNCmE0= +github.com/ipfs/go-ipfs-util v0.0.3/go.mod h1:LHzG1a0Ig4G+iZ26UUOMjHd+lfM84LZCrn17xAKWBvs= +github.com/ipfs/go-ipld-format v0.6.0 h1:VEJlA2kQ3LqFSIm5Vu6eIlSxD/Ze90xtc4Meten1F5U= +github.com/ipfs/go-ipld-format v0.6.0/go.mod h1:g4QVMTn3marU3qXchwjpKPKgJv+zF+OlaKMyhJ4LHPg= github.com/ipfs/go-log v1.0.5 h1:2dOuUCB1Z7uoczMWgAyDck5JLb72zHzrMnGnCNNbvY8= github.com/ipfs/go-log v1.0.5/go.mod h1:j0b8ZoR+7+R99LD9jZ6+AJsrzkPbSXbZfGakb5JPtIo= github.com/ipfs/go-log/v2 v2.1.3/go.mod h1:/8d0SH3Su5Ooc31QlL1WysJhvyOTDCjcCZ9Axpmri6g= @@ -1677,15 +1681,16 @@ github.com/klauspost/compress v1.9.7/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0 github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= github.com/klauspost/compress v1.15.15/go.mod h1:ZcK2JAFqKOpnBlxcLsJzYfrS9X1akm9fHZNnD9+Vo/4= -github.com/klauspost/compress v1.16.5 h1:IFV2oUNUzZaz+XyusxpLzpzS8Pt5rh0Z16For/djlyI= -github.com/klauspost/compress v1.16.5/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= +github.com/klauspost/compress v1.17.4 h1:Ej5ixsIri7BrIjBkRZLTo6ghwrEtHFk7ijlczPW4fZ4= +github.com/klauspost/compress v1.17.4/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= github.com/klauspost/cpuid v1.2.1/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= github.com/klauspost/cpuid/v2 v2.0.12/go.mod h1:g2LTdtYhdyuGPqyWyv7qRAmj1WBqxuObKfj5c0PQa7c= github.com/klauspost/cpuid/v2 v2.2.0/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY= -github.com/klauspost/cpuid/v2 v2.2.5 h1:0E5MSMDEoAulmXNFquVs//DdoomxaoTY1kUhbc/qbZg= github.com/klauspost/cpuid/v2 v2.2.5/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= +github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6/go.mod h1:+ZoRqAPRLkC4NPOvfYeR5KNOrY6TD+/sAC3HXPZgDYg= github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= @@ -1716,13 +1721,13 @@ github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8= github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg= github.com/libp2p/go-cidranger v1.1.0 h1:ewPN8EZ0dd1LSnrtuwd4709PXVcITVeuwbag38yPW7c= -github.com/libp2p/go-libp2p v0.28.1 h1:YurK+ZAI6cKfASLJBVFkpVBdl3wGhFi6fusOt725ii8= -github.com/libp2p/go-libp2p v0.28.1/go.mod h1:s3Xabc9LSwOcnv9UD4nORnXKTsWkPMkIMB/JIGXVnzk= -github.com/libp2p/go-libp2p-asn-util v0.3.0 h1:gMDcMyYiZKkocGXDQ5nsUQyquC9+H+iLEQHwOCZ7s8s= +github.com/libp2p/go-libp2p v0.32.2 h1:s8GYN4YJzgUoyeYNPdW7JZeZ5Ee31iNaIBfGYMAY4FQ= +github.com/libp2p/go-libp2p v0.32.2/go.mod h1:E0LKe+diV/ZVJVnOJby8VC5xzHF0660osg71skcxJvk= +github.com/libp2p/go-libp2p-asn-util v0.4.1 h1:xqL7++IKD9TBFMgnLPZR6/6iYhawHKHl950SO9L6n94= github.com/libp2p/go-libp2p-kbucket v0.6.3 h1:p507271wWzpy2f1XxPzCQG9NiN6R6lHL9GiSErbQQo0= -github.com/libp2p/go-libp2p-pubsub v0.9.3 h1:ihcz9oIBMaCK9kcx+yHWm3mLAFBMAUsM4ux42aikDxo= +github.com/libp2p/go-libp2p-pubsub v0.10.0 h1:wS0S5FlISavMaAbxyQn3dxMOe2eegMfswM471RuHJwA= github.com/libp2p/go-msgio v0.3.0 h1:mf3Z8B1xcFN314sWX+2vOTShIE0Mmn2TXn3YCUQGNj0= -github.com/libp2p/go-yamux/v4 v4.0.0 h1:+Y80dV2Yx/kv7Y7JKu0LECyVdMXm1VUoko+VQ9rBfZQ= +github.com/libp2p/go-yamux/v4 v4.0.1 h1:FfDR4S1wj6Bw2Pqbc8Uz7pCxeRBPbwsBbEdfwiCypkQ= github.com/lmars/go-slip10 v0.0.0-20190606092855-400ba44fee12 h1:qFV7dBLhw5z4hka5gjtIzg1Kq9ie8t8P7Cy0uIxRyAQ= github.com/lmars/go-slip10 v0.0.0-20190606092855-400ba44fee12/go.mod h1:QIsK6U93yCP6TnGsShCv5wl4gcz/mpCHl+aToBsl5Sc= github.com/logrusorgru/aurora v2.0.3+incompatible h1:tOpm7WcpBTn4fjmVfgpQq0EfczGlG91VSDkswnjF5A8= @@ -1778,13 +1783,13 @@ github.com/mattn/go-tty v0.0.3/go.mod h1:ihxohKRERHTVzN+aSVRwACLCeqIoZAWpoICkkvr github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= -github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= -github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= +github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 h1:jWpvCLoY8Z/e3VKvlsiIGKtc+UG6U5vzxaoagmhXfyg= +github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0/go.mod h1:QUyp042oQthUoa9bqDv0ER0wrtXnBruoNd7aNjkbP+k= github.com/mediocregopher/mediocre-go-lib v0.0.0-20181029021733-cb65787f37ed/go.mod h1:dSsfyI2zABAdhcbvkXqgxOxrCsbYeHCPgrZkku60dSg= github.com/mediocregopher/radix/v3 v3.3.0/go.mod h1:EmfVyvspXz1uZEyPBMyGK+kjWiKQGvsUt6O3Pj+LDCQ= github.com/mediocregopher/radix/v3 v3.4.2/go.mod h1:8FL3F6UQRXHXIBSPUs5h0RybMF8i4n7wVopoX3x7Bv8= github.com/microcosm-cc/bluemonday v1.0.2/go.mod h1:iVP4YcDBq+n/5fb23BhYFvIMq/leAFZyRl6bYmGDlGc= -github.com/miekg/dns v1.1.54 h1:5jon9mWcb0sFJGpnI99tOMhCPyJ+RPVz5b63MQG0VWI= +github.com/miekg/dns v1.1.57 h1:Jzi7ApEIzwEPLHWRcafCN9LZSBbqQpxjt/wpgvg7wcM= github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8/go.mod h1:mC1jAcsrzbxHt8iiaC+zU4b1ylILSosueou12R++wfY= github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1/go.mod h1:pD8RvIylQ358TN4wwqatJ8rNavkEINozVn9DtGI3dfQ= github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3/go.mod h1:RagcQ7I8IeTMnF8JTXieKnO4Z6JCsikNEzj0DwauVzE= @@ -1821,8 +1826,8 @@ github.com/multiformats/go-base32 v0.1.0 h1:pVx9xoSPqEIQG8o+UbAe7DNi51oej1NtK+aG github.com/multiformats/go-base32 v0.1.0/go.mod h1:Kj3tFY6zNr+ABYMqeUNeGvkIC/UYgtWibDcT0rExnbI= github.com/multiformats/go-base36 v0.2.0 h1:lFsAbNOGeKtuKozrtBsAkSVhv1p9D0/qedU9rQyccr0= github.com/multiformats/go-base36 v0.2.0/go.mod h1:qvnKE++v+2MWCfePClUEjE78Z7P2a1UV0xHgWc0hkp4= -github.com/multiformats/go-multiaddr v0.9.0 h1:3h4V1LHIk5w4hJHekMKWALPXErDfz/sggzwC/NcqbDQ= -github.com/multiformats/go-multiaddr v0.9.0/go.mod h1:mI67Lb1EeTOYb8GQfL/7wpIZwc46ElrvzhYnoJOmTT0= +github.com/multiformats/go-multiaddr v0.12.2 h1:9G9sTY/wCYajKa9lyfWPmpZAwe6oV+Wb1zcmMS1HG24= +github.com/multiformats/go-multiaddr v0.12.2/go.mod h1:GKyaTYjZRdcUhyOetrxTk9z0cW+jA/YrnqTOvKgi44M= github.com/multiformats/go-multiaddr-dns v0.3.1 h1:QgQgR+LQVt3NPTjbrLLpsaT2ufAA2y0Mkk+QRVJbW3A= github.com/multiformats/go-multibase v0.0.1/go.mod h1:bja2MqRZ3ggyXtZSEDKpl0uO/gviWFaSteVbWT51qgs= github.com/multiformats/go-multibase v0.2.0 h1:isdYCVLvksgWlMW9OZRYJEa9pZETFivncJHmHnnd87g= @@ -1832,8 +1837,8 @@ github.com/multiformats/go-multicodec v0.9.0/go.mod h1:L3QTQvMIaVBkXOXXtVmYE+LI1 github.com/multiformats/go-multihash v0.0.13/go.mod h1:VdAWLKTwram9oKAatUcLxBNUjdtcVwxObEQBtRfuyjc= github.com/multiformats/go-multihash v0.2.3 h1:7Lyc8XfX/IY2jWb/gI7JP+o7JEq9hOa7BFvVU9RSh+U= github.com/multiformats/go-multihash v0.2.3/go.mod h1:dXgKXCXjBzdscBLk9JkjINiEsCKRVch90MdaGiKsvSM= -github.com/multiformats/go-multistream v0.4.1 h1:rFy0Iiyn3YT0asivDUIR05leAdwZq3de4741sbiSdfo= -github.com/multiformats/go-multistream v0.4.1/go.mod h1:Mz5eykRVAjJWckE2U78c6xqdtyNUEhKSM0Lwar2p77Q= +github.com/multiformats/go-multistream v0.5.0 h1:5htLSLl7lvJk3xx3qT/8Zm9J4K8vEOf/QGkvOGQAyiE= +github.com/multiformats/go-multistream v0.5.0/go.mod h1:n6tMZiwiP2wUsR8DgfDWw1dydlEqV3l6N3/GBsX6ILA= github.com/multiformats/go-varint v0.0.5/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE= github.com/multiformats/go-varint v0.0.7 h1:sWSGR+f/eu5ABZA2ZpYKBILXTTs9JWpdEM/nEGOHFS8= github.com/multiformats/go-varint v0.0.7/go.mod h1:r8PUYw/fD/SjBCiKOoDlGF6QawOELpZAu9eioSos/OU= @@ -1858,8 +1863,6 @@ github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6 github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f h1:Z8/PgTqOgOg02MTRpTBYO2k16FE6z4wEOtaC2WBR9Xo= github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f/go.mod h1:xvP61FoOs95K7IYdIYRnNcYQGf4nbF/uuJ0tHf4DRuM= github.com/onflow/cadence v1.0.0-M3/go.mod h1:odXGZZ/wGNA5mwT8bC9v8u8EXACHllB2ABSZK65TGL8= -github.com/onflow/cadence v1.0.0-M7 h1:hb4LK9lUbFdnDdfU8oqJGSVJtmkOzxwKomhmDcP/Faw= -github.com/onflow/cadence v1.0.0-M7/go.mod h1:a4mccDU90hmuxCLUFzs9J/ANG/rYbFa36h4Z0bBAqNU= github.com/onflow/cadence v1.0.0-M8 h1:ioQ7TyhpsIaImAC7Xn2r8kIgIBdimvyuWeKlGfRxWB8= github.com/onflow/cadence v1.0.0-M8/go.mod h1:a4mccDU90hmuxCLUFzs9J/ANG/rYbFa36h4Z0bBAqNU= github.com/onflow/crypto v0.25.0 h1:BeWbLsh3ZD13Ej+Uky6kg1PL1ZIVBDVX+2MVBNwqddg= @@ -1868,25 +1871,25 @@ github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.2-0.20240206003101- github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.2-0.20240206003101-928bf99024d7/go.mod h1:GK+Ik1K3L3v8xmHmRQv5yxJz81lYhdYSNm0PQ63Xrws= github.com/onflow/flow-core-contracts/lib/go/templates v0.15.2-0.20240206003101-928bf99024d7 h1:WAx8ftVz1BeXiKvQ9gLKEf1J3NBWK26Pbczd0iH4C6I= github.com/onflow/flow-core-contracts/lib/go/templates v0.15.2-0.20240206003101-928bf99024d7/go.mod h1:MZ2j5YVTQiSE0B99zuaYhxvGG5GcvimWpQK1Fw/1QBg= -github.com/onflow/flow-emulator v1.0.0-M5 h1:yPx6je/ahdYvd4b80bMXJ0AT4k2eogEGsQCOI+83V2I= -github.com/onflow/flow-emulator v1.0.0-M5/go.mod h1:CBp/YrgR2PeOdqhQMbfAiznGayNoJuFQTfLV9EJFtEc= +github.com/onflow/flow-emulator v1.0.0-M7 h1:8moFcl+KNAU1YOnEJim+x1pUGA5IRdfcBPgDbZkAels= +github.com/onflow/flow-emulator v1.0.0-M7/go.mod h1:S611ccJDDFLC99+VIAL8slsJx5Y9rxljFCY1aS67okU= github.com/onflow/flow-ft/lib/go/contracts v0.7.1-0.20240205224107-320aa3cf09e0 h1:u6/YcUvO8jU0f3Evb/6agzXqeOo+VbL2a3mmj/5ifRs= github.com/onflow/flow-ft/lib/go/contracts v0.7.1-0.20240205224107-320aa3cf09e0/go.mod h1:PwsL8fC81cjnUnTfmyL/HOIyHnyaw/JA474Wfj2tl6A= -github.com/onflow/flow-go v0.33.2-0.20240214203221-b11eeaa896bd h1:x9eOt5rdDSr00aKwoyUWyJ4m8WlUwgYoV94oSEWPhiM= -github.com/onflow/flow-go v0.33.2-0.20240214203221-b11eeaa896bd/go.mod h1:45DIkRx5a+qiV83fpJ+fra9WtRiF4bTqd7XMxahRdnc= +github.com/onflow/flow-go v0.34.0-crescendo-preview.1.0.20240222213538-3677206d445c h1:G3xZCm3FnckxGVTcgxUUTzrreYy3LxjsQl3PApbO1bc= +github.com/onflow/flow-go v0.34.0-crescendo-preview.1.0.20240222213538-3677206d445c/go.mod h1:bvwbHFWiPGkASyJ+ZdSp7mZAOCqpSlCtza9JeKSmfEE= github.com/onflow/flow-go-sdk v1.0.0-M1/go.mod h1:TDW0MNuCs4SvqYRUzkbRnRmHQL1h4X8wURsCw9P9beo= -github.com/onflow/flow-go-sdk v1.0.0-M4 h1:dGtgZvaIfBR5/9I9nm5nLm69V5pLcSz9vXmzCb1lyzM= -github.com/onflow/flow-go-sdk v1.0.0-M4/go.mod h1:HIGOKJVR47QNs81sPHmZDVcLr+syNkmbgEMLQGDmmEo= +github.com/onflow/flow-go-sdk v1.0.0-M5 h1:R86DQQfXS3z8O6AShAaUNbkPOM7lOwcTk06cofdVEsk= +github.com/onflow/flow-go-sdk v1.0.0-M5/go.mod h1:aXSavLzoRlz5FiMjcI7p5QhihWScGctxydzf4dv/avo= github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240205233530-86ee8c352fa6 h1:/2vvjKkWG/3cKP3IpgiGNqXi0yskn4GmNTjmeCwMoz8= github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240205233530-86ee8c352fa6/go.mod h1:2gpbza+uzs1k7x31hkpBPlggIRkI53Suo0n2AyA2HcE= github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20231121210617-52ee94b830c2/go.mod h1:NA2pX2nw8zuaxfKphhKsk00kWLwfd+tv8mS23YXO4Sk= github.com/onflow/flow/protobuf/go/flow v0.3.7 h1:+6sBdlE/u4ZMTVB9U1lA6Xn2Bd48lOOX96Bv9dNubsk= github.com/onflow/flow/protobuf/go/flow v0.3.7/go.mod h1:NA2pX2nw8zuaxfKphhKsk00kWLwfd+tv8mS23YXO4Sk= -github.com/onflow/flowkit/v2 v2.0.0-stable-cadence-alpha.2.0.20240215211256-b37ad30108bd h1:/sUry/8IuXTaOgBmV2TwwBy0uVCQ6Dc4vn9G29Vqets= -github.com/onflow/flowkit/v2 v2.0.0-stable-cadence-alpha.2.0.20240215211256-b37ad30108bd/go.mod h1:Ck+iZGJYerviTQ3SyqoUNLNXdRUJiI5iMxfM9YugtK0= +github.com/onflow/flowkit/v2 v2.0.0-stable-cadence-alpha.5 h1:A7M6BgzS1aed4BIb2UpZcTIZOdfk+wo2/2Qzl+X6/Yc= +github.com/onflow/flowkit/v2 v2.0.0-stable-cadence-alpha.5/go.mod h1:dE+sqHi14wUBiJyeujA2LYVsJDTcXLzSRwiDdJJHji4= github.com/onflow/sdks v0.5.1-0.20230912225508-b35402f12bba h1:rIehuhO6bj4FkwE4VzwEjX7MoAlOhUJENBJLqDqVxAo= github.com/onflow/sdks v0.5.1-0.20230912225508-b35402f12bba/go.mod h1:F0dj0EyHC55kknLkeD10js4mo14yTdMotnWMslPirrU= -github.com/onflow/wal v0.0.0-20230529184820-bc9f8244608d h1:gAEqYPn3DS83rHIKEpsajnppVD1+zwuYPFyeDVFaQvg= +github.com/onflow/wal v0.0.0-20240208022732-d756cd497d3b h1:6O/BEmA99PDT5QVjoJgrYlGsWnpxGJTAMmsC+V9gyds= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= @@ -1940,16 +1943,17 @@ github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5Fsn github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= github.com/prometheus/client_golang v1.12.0/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= -github.com/prometheus/client_golang v1.16.0 h1:yk/hx9hDbrGHovbci4BY+pRMfSuuat626eFsHb7tmT8= -github.com/prometheus/client_golang v1.16.0/go.mod h1:Zsulrv/L9oM40tJ7T815tM89lFEugiJ9HzIqaAx4LKc= +github.com/prometheus/client_golang v1.18.0 h1:HzFfmkOzH5Q8L8G+kSJKUx5dtG87sewO+FoDDqP5Tbk= +github.com/prometheus/client_golang v1.18.0/go.mod h1:T+GXkCk5wSJyOqMIzVgvvjFDlkOQntgjkJWKrN5txjA= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.2.1-0.20210607210712-147c58e9608a/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= -github.com/prometheus/client_model v0.4.0 h1:5lQXD3cAg1OXBf4Wq03gTrXHeaV0TQvGfUooCfx1yqY= github.com/prometheus/client_model v0.4.0/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU= +github.com/prometheus/client_model v0.5.0 h1:VQw1hfvPvk3Uv6Qf29VrPF32JB6rtbgI6cYPYQjL0Qw= +github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI= github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= @@ -1957,16 +1961,16 @@ github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+ github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/common v0.42.0 h1:EKsfXEYo4JpWMHH5cg+KOUWeuJSov1Id8zGR8eeI1YM= -github.com/prometheus/common v0.42.0/go.mod h1:xBwqVerjNdUDjgODMpudtOMwlOwf2SaTr1yjz4b7Zbc= +github.com/prometheus/common v0.45.0 h1:2BGz0eBc2hdMDLnO/8n0jeB3oPrt2D08CekT0lneoxM= +github.com/prometheus/common v0.45.0/go.mod h1:YJmSTw9BoKxJplESWWxlbyttQR4uaEcGyv9MZjVOJsY= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.10.1 h1:kYK1Va/YMlutzCGazswoHKo//tZVlFpKYh+PymziUAg= -github.com/prometheus/procfs v0.10.1/go.mod h1:nwNm2aOCAYw8uTR/9bWRREkZFxAUcWzPHWJq+XBB/FM= +github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo= +github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/protolambda/bls12-381-util v0.0.0-20220416220906-d8552aa452c7/go.mod h1:IToEjHuttnUzwZI5KBSM/LOOW3qLbbrHOEfp3SbECGY= github.com/psiemens/graceland v1.0.0 h1:L580AVV4Q2XLcPpmvxJRH9UpEAYr/eu2jBKmMglhvM8= @@ -1987,8 +1991,9 @@ github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6L github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= -github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= +github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= +github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/rs/xid v1.4.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= github.com/rs/zerolog v1.29.1 h1:cO+d60CHkknCbvzEWxP0S9K6KqyTjrCNUy1LdQLCGPc= @@ -2167,25 +2172,27 @@ go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/otel v1.8.0/go.mod h1:2pkj+iMj0o03Y+cW6/m8Y4WkRdYN3AvCXCnzRMp9yvM= -go.opentelemetry.io/otel v1.16.0 h1:Z7GVAX/UkAXPKsy94IU+i6thsQS4nb7LviLpnaNeW8s= go.opentelemetry.io/otel v1.16.0/go.mod h1:vl0h9NUa1D5s1nv3A5vZOYWn8av4K8Ml6JDeHrT/bx4= -go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.16.0 h1:t4ZwRPU+emrcvM2e9DHd0Fsf0JTPVcbfa/BhTDF03d0= -go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.16.0/go.mod h1:vLarbg68dH2Wa77g71zmKQqlQ8+8Rq3GRG31uc0WcWI= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.16.0 h1:cbsD4cUcviQGXdw8+bo5x2wazq10SKz8hEbtCRPcU78= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.16.0/go.mod h1:JgXSGah17croqhJfhByOLVY719k1emAXC8MVhCIJlRs= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.14.0 h1:ap+y8RXX3Mu9apKVtOkM6WSFESLM8K3wNQyOU8sWHcc= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.14.0/go.mod h1:5w41DY6S9gZrbjuq6Y+753e96WfPha5IcsOSZTtullM= -go.opentelemetry.io/otel/metric v1.16.0 h1:RbrpwVG1Hfv85LgnZ7+txXioPDoh6EdbZHo26Q3hqOo= +go.opentelemetry.io/otel v1.22.0 h1:xS7Ku+7yTFvDfDraDIJVpw7XPyuHlB9MCiqqX5mcJ6Y= +go.opentelemetry.io/otel v1.22.0/go.mod h1:eoV4iAi3Ea8LkAEI9+GFT44O6T/D0GWAVFyZVCC6pMI= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.21.0 h1:cl5P5/GIfFh4t6xyruOgJP5QiA1pw4fYYdv6nc6CBWw= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.21.0/go.mod h1:zgBdWWAu7oEEMC06MMKc5NLbA/1YDXV1sMpSqEeLQLg= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.21.0 h1:tIqheXEFWAZ7O8A7m+J0aPTmpJN3YQ7qetUAdkkkKpk= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.21.0/go.mod h1:nUeKExfxAQVbiVFn32YXpXZZHZ61Cc3s3Rn1pDBGAb0= go.opentelemetry.io/otel/metric v1.16.0/go.mod h1:QE47cpOmkwipPiefDwo2wDzwJrlfxxNYodqc4xnGCo4= -go.opentelemetry.io/otel/sdk v1.16.0 h1:Z1Ok1YsijYL0CSJpHt4cS3wDDh7p572grzNrBMiMWgE= -go.opentelemetry.io/otel/sdk v1.16.0/go.mod h1:tMsIuKXuuIWPBAOrH+eHtvhTL+SntFtXF9QD68aP6p4= +go.opentelemetry.io/otel/metric v1.22.0 h1:lypMQnGyJYeuYPhOM/bgjbFM6WE44W1/T45er4d8Hhg= +go.opentelemetry.io/otel/metric v1.22.0/go.mod h1:evJGjVpZv0mQ5QBRJoBF64yMuOf4xCWdXjK8pzFvliY= +go.opentelemetry.io/otel/sdk v1.21.0 h1:FTt8qirL1EysG6sTQRZ5TokkU8d0ugCj8htOgThZXQ8= +go.opentelemetry.io/otel/sdk v1.21.0/go.mod h1:Nna6Yv7PWTdgJHVRD9hIYywQBRx7pbox6nwBnZIxl/E= go.opentelemetry.io/otel/trace v1.8.0/go.mod h1:0Bt3PXY8w+3pheS3hQUt+wow8b1ojPaTBoTCh2zIFI4= -go.opentelemetry.io/otel/trace v1.16.0 h1:8JRpaObFoW0pxuVPapkgH8UhHQj+bJW8jJsCZEu5MQs= go.opentelemetry.io/otel/trace v1.16.0/go.mod h1:Yt9vYq1SdNz3xdjZZK7wcXv1qv2pwLkqr2QVwea0ef0= +go.opentelemetry.io/otel/trace v1.22.0 h1:Hg6pPujv0XG9QaVbGOBVHunyuLcCC3jN7WEhPx83XD0= +go.opentelemetry.io/otel/trace v1.22.0/go.mod h1:RbbHXVqKES9QhzZq/fE5UnOSILqRt40a21sPw2He1xo= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= -go.opentelemetry.io/proto/otlp v0.19.0 h1:IVN6GR+mhC4s5yfcTbmzHYODqvWAp3ZedA2SJPI1Nnw= go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= +go.opentelemetry.io/proto/otlp v1.0.0 h1:T0TX0tmXU8a3CbNXzEKGeU5mIVOdf0oykP+u2lIVU/I= +go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= @@ -2195,8 +2202,9 @@ go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0 go.uber.org/automaxprocs v1.5.2/go.mod h1:eRbA25aqJrxAbsLO0xy5jVwPt7FQnRgjW+efnwa1WM0= go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= -go.uber.org/goleak v1.2.1 h1:NBol2c7O1ZokfZ0LEU9K6Whx/KnwvepVetCUhtKja4A= go.uber.org/goleak v1.2.1/go.mod h1:qlT2yGI9QafXHhZZLxlSuNsMw3FFLxBr+tBRlmO1xH4= +go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/mock v0.4.0 h1:VcM4ZOtdbR4f6VXfiOpwpVJDL6lCReaZ6mw31wqh7KU= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= @@ -2263,8 +2271,9 @@ golang.org/x/exp v0.0.0-20220827204233-334a2380cb91/go.mod h1:cyybsKvd6eL0RnXn6p golang.org/x/exp v0.0.0-20230321023759-10a507213a29/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc= golang.org/x/exp v0.0.0-20230905200255-921286631fa9/go.mod h1:S2oDrQGGwySpoQPVqRShND87VCbxmc6bL1Yd2oYrm6k= -golang.org/x/exp v0.0.0-20240103183307-be819d1f06fc h1:ao2WRsKSzW6KuUY9IWPwWahcHCgR0s52IfwutMfEbdM= golang.org/x/exp v0.0.0-20240103183307-be819d1f06fc/go.mod h1:iRJReGqOEeBhDZGkGbynYwcHlctCvnjTYIamk7uXpHI= +golang.org/x/exp v0.0.0-20240119083558-1b970713d09a h1:Q8/wZp0KX97QFTc2ywcOE0YRjZPVIx+MXInMzdvQqcA= +golang.org/x/exp v0.0.0-20240119083558-1b970713d09a/go.mod h1:idGWGoKP1toJGkd5/ig9ZLuPcZBC3ewk7SzmH0uou08= golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= @@ -2435,8 +2444,9 @@ golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4 golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE= golang.org/x/oauth2 v0.10.0/go.mod h1:kTpgurOux7LqtuxjuyZa4Gj2gdezIt/jQtGnNFfypQI= golang.org/x/oauth2 v0.11.0/go.mod h1:LdF7O/8bLR/qWK9DrpXmbHLTouvRHK0SgJl0GmDBchk= -golang.org/x/oauth2 v0.13.0 h1:jDDenyj+WgFtmV3zYVoi8aE2BwtXFLWOA67ZfNWftiY= golang.org/x/oauth2 v0.13.0/go.mod h1:/JMhi4ZRXAf4HG9LiNmxvk+45+96RUlVThiH8FzNBn0= +golang.org/x/oauth2 v0.16.0 h1:aDkGMBSYxElaoP81NpoUoz2oo2R2wHdZpGToUxfyQrQ= +golang.org/x/oauth2 v0.16.0/go.mod h1:hqZ+0LWXsiVoZpeld6jVt06P3adbS2Uu911W1SsJv2o= golang.org/x/perf v0.0.0-20230113213139-801c7ef9e5c5/go.mod h1:UBKtEnL8aqnd+0JHqZ+2qoMDwtuy6cYhhKNoHLBiTQc= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -2738,8 +2748,9 @@ gonum.org/v1/gonum v0.6.1/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU= gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= gonum.org/v1/gonum v0.9.3/go.mod h1:TZumC3NeyVQskjXqmyWt4S3bINhy7B4eYwW69EbyX+0= gonum.org/v1/gonum v0.11.0/go.mod h1:fSG4YDCxxUZQJ7rKsQrj0gMOg00Il0Z96/qMA4bVQhA= -gonum.org/v1/gonum v0.13.0 h1:a0T3bh+7fhRyqeNbiC3qVHYmkiQgit3wnNan/2c0HMM= gonum.org/v1/gonum v0.13.0/go.mod h1:/WPYRckkfWrhWefxyYTfrTtQR0KH4iyHNuzxqXAKyAU= +gonum.org/v1/gonum v0.14.0 h1:2NiG67LD1tEH0D7kM+ps2V+fXmsAnpUeec7n8tcr4S0= +gonum.org/v1/gonum v0.14.0/go.mod h1:AoWeoz0becf9QMWtE8iWXNXc27fK4fNeHNf/oMejGfU= gonum.org/v1/netlib v0.0.0-20181029234149-ec6d1f5cefe6/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= @@ -2820,8 +2831,9 @@ google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7 google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= +google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= google.golang.org/genproto v0.0.0-20180518175338-11a468237815/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= @@ -2974,8 +2986,9 @@ google.golang.org/genproto v0.0.0-20230913181813-007df8e322eb/go.mod h1:yZTlhN0t google.golang.org/genproto v0.0.0-20230920204549-e6e6cdab5c13/go.mod h1:CCviP9RmpZ1mxVr8MUjCnSiY09IbAXZxhLE6EhHIdPU= google.golang.org/genproto v0.0.0-20231002182017-d307bd883b97/go.mod h1:t1VqOqqvce95G3hIDCT5FeO3YUc6Q4Oe24L/+rNMxRk= google.golang.org/genproto v0.0.0-20231012201019-e917dd12ba7a/go.mod h1:EMfReVxb80Dq1hhioy0sOsY9jCE46YDgHlJ7fWVUWRE= -google.golang.org/genproto v0.0.0-20231016165738-49dd2c1f3d0b h1:+YaDE2r2OG8t/z5qmsh7Y+XXwCbvadxxZ0YY6mTdrVA= google.golang.org/genproto v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:CgAqfJo+Xmu0GwA0411Ht3OU3OntXwsGmrmjI8ioGXI= +google.golang.org/genproto v0.0.0-20240102182953-50ed04b92917 h1:nz5NESFLZbJGPFxDT/HCn+V1mZ8JGNoY4nUpmW/Y2eg= +google.golang.org/genproto v0.0.0-20240102182953-50ed04b92917/go.mod h1:pZqR+glSb11aJ+JQcczCvgf47+duRuzNSKqE8YAQnV0= google.golang.org/genproto/googleapis/api v0.0.0-20230525234020-1aefcd67740a/go.mod h1:ts19tUU+Z0ZShN1y3aPyq2+O3d5FUNNgT6FtOzmrNn8= google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= google.golang.org/genproto/googleapis/api v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= @@ -2990,8 +3003,9 @@ google.golang.org/genproto/googleapis/api v0.0.0-20230913181813-007df8e322eb/go. google.golang.org/genproto/googleapis/api v0.0.0-20230920204549-e6e6cdab5c13/go.mod h1:RdyHbowztCGQySiCvQPgWQWgWhGnouTdCflKoDBt32U= google.golang.org/genproto/googleapis/api v0.0.0-20231002182017-d307bd883b97/go.mod h1:iargEX0SFPm3xcfMI0d1domjg0ZF4Aa0p2awqyxhvF0= google.golang.org/genproto/googleapis/api v0.0.0-20231012201019-e917dd12ba7a/go.mod h1:SUBoKXbI1Efip18FClrQVGjWcyd0QZd8KkvdP34t7ww= -google.golang.org/genproto/googleapis/api v0.0.0-20231016165738-49dd2c1f3d0b h1:CIC2YMXmIhYw6evmhPxBKJ4fmLbOFtXQN/GV3XOZR8k= google.golang.org/genproto/googleapis/api v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:IBQ646DjkDkvUIsVq/cc03FUFQ9wbZu7yE396YcL870= +google.golang.org/genproto/googleapis/api v0.0.0-20240108191215-35c7eff3a6b1 h1:OPXtXn7fNMaXwO3JvOmF1QyTc00jsSFFz1vXXBOdCDo= +google.golang.org/genproto/googleapis/api v0.0.0-20240108191215-35c7eff3a6b1/go.mod h1:B5xPO//w8qmBDjGReYLpR6UJPnkldGkCSMoH/2vxJeg= google.golang.org/genproto/googleapis/bytestream v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:ylj+BE99M198VPbBh6A8d9n3w8fChvyLK3wwBOjXBFA= google.golang.org/genproto/googleapis/bytestream v0.0.0-20230807174057-1744710a1577/go.mod h1:NjCQG/D8JandXxM57PZbAJL1DCNL6EypA0vPPwfsc7c= google.golang.org/genproto/googleapis/bytestream v0.0.0-20231030173426-d783a09b4405/go.mod h1:GRUCuLdzVqZte8+Dl/D4N25yLzcGqqWaYkeVOwulFqw= @@ -3010,8 +3024,9 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20230920204549-e6e6cdab5c13/go. google.golang.org/genproto/googleapis/rpc v0.0.0-20231002182017-d307bd883b97/go.mod h1:v7nGkzlmW8P3n/bKmWBn2WpBjpOEx8Q6gMueudAmKfY= google.golang.org/genproto/googleapis/rpc v0.0.0-20231012201019-e917dd12ba7a/go.mod h1:4cYg8o5yUbm77w8ZX00LhMVNl/YVBFJRYWDc0uYWMs0= google.golang.org/genproto/googleapis/rpc v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:swOH3j0KzcDDgGUWr+SNpyTen5YrXjS3eyPzFYKc6lc= -google.golang.org/genproto/googleapis/rpc v0.0.0-20231030173426-d783a09b4405 h1:AB/lmRny7e2pLhFEYIbl5qkDAUt2h0ZRO4wGPhZf+ik= google.golang.org/genproto/googleapis/rpc v0.0.0-20231030173426-d783a09b4405/go.mod h1:67X1fPuzjcrkymZzZV1vvkFeTn2Rvc6lYF9MYFGCcwE= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240108191215-35c7eff3a6b1 h1:gphdwh0npgs8elJ4T6J+DQJHPVF7RsuJHCfwztUb4J4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240108191215-35c7eff3a6b1/go.mod h1:daQN87bsDqDoe316QbbvX60nMoJQa4r6Ds0ZuoAe5yA= google.golang.org/grpc v0.0.0-20170208002647-2a6bf6142e96/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.12.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= @@ -3062,8 +3077,9 @@ google.golang.org/grpc v1.56.2/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpX google.golang.org/grpc v1.57.0/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo= google.golang.org/grpc v1.58.2/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0= google.golang.org/grpc v1.58.3/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0= -google.golang.org/grpc v1.59.0 h1:Z5Iec2pjwb+LEOqzpB2MR12/eKFhDPhuqW91O+4bwUk= google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98= +google.golang.org/grpc v1.60.1 h1:26+wFr+cNqSGFcOXcabYC0lUVJVRa2Sb2ortSK7VrEU= +google.golang.org/grpc v1.60.1/go.mod h1:OlCHIeLYqSSsLi6i49B5QGdzaMZK9+M7LXN2FKz4eGM= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= @@ -3082,8 +3098,9 @@ google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqw google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.29.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= +google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -3196,8 +3213,8 @@ modernc.org/token v1.1.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= modernc.org/z v1.5.1/go.mod h1:eWFB510QWW5Th9YGZT81s+LwvaAs3Q2yr4sP0rmLkv8= mvdan.cc/gofumpt v0.4.0 h1:JVf4NN1mIpHogBj7ABpgOyZc65/UUOkKQFkoURsz4MM= mvdan.cc/gofumpt v0.4.0/go.mod h1:PljLOHDeZqgS8opHRKLzp2It2VBuSdteAgqUfzMTxlQ= -pgregory.net/rapid v0.4.7 h1:MTNRktPuv5FNqOO151TM9mDTa+XHcX6ypYeISDVD14g= pgregory.net/rapid v0.4.7/go.mod h1:UYpPVyjFHzYBGHIxLFoupi8vwk6rXNzRY9OMvVxFIOU= +pgregory.net/rapid v1.1.0 h1:CMa0sjHSru3puNx+J0MIAuiiEV4N0qj8/cMWGBBCsjw= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= diff --git a/interaction_builder.go b/interaction_builder.go index 7efe9ae..8c78e38 100644 --- a/interaction_builder.go +++ b/interaction_builder.go @@ -92,9 +92,9 @@ type OverflowInteractionBuilder struct { type OverflowTestingAsssertions struct { T *testing.T - Require bool Failure *string Events []EventAssertion + Require bool } type EventAssertion struct { @@ -136,7 +136,7 @@ func WithContext(ctx context.Context) OverflowInteractionOption { func WithArgs(args ...interface{}) OverflowInteractionOption { return func(oib *OverflowInteractionBuilder) { if len(args)%2 != 0 { - oib.Error = fmt.Errorf("Please send in an even number of string : interface{} pairs") + oib.Error = fmt.Errorf("please send in an even number of string : interface{} pairs") return } i := 0 @@ -605,7 +605,7 @@ func (oib OverflowInteractionBuilder) Send() *OverflowResult { if len(result.Fee) != 0 { executionEffort, ok := result.Fee["executionEffort"].(float64) if !ok { - result.Err = fmt.Errorf("Type conversion failed on execution effort of fee") + result.Err = fmt.Errorf("type conversion failed on execution effort of fee") } factor := 100000000 gas := int(math.Round(executionEffort * float64(factor))) diff --git a/log.go b/log.go index 014136b..25184ba 100644 --- a/log.go +++ b/log.go @@ -6,14 +6,13 @@ import ( // OverflowEmulatorLogMessage a log message from the logrus implementation used in the flow emulator type OverflowEmulatorLogMessage struct { - ComputationUsed int + Fields map[string]interface{} Level string Msg string - Fields map[string]interface{} + ComputationUsed int } func (me OverflowEmulatorLogMessage) String() string { - fields := "" if len(me.Fields) > 0 { for key, value := range me.Fields { @@ -23,5 +22,3 @@ func (me OverflowEmulatorLogMessage) String() string { return fmt.Sprintf("%s - %s%s", me.Level, me.Msg, fields) } - -//Log {"level":"info","txID":"7f0f09b89cb64a79a6751f9b9875e0b3738996b4e7c07b0fe27f3d263a492dfb","computationUsed":27,"message":"⭐ Transaction executed"} diff --git a/metadata.go b/metadata.go index 0129517..47bd875 100644 --- a/metadata.go +++ b/metadata.go @@ -5,14 +5,14 @@ type MetadataViews_HTTPFile struct { } type MetadataViews_IPFSFile struct { - Cid string Path *string + Cid string } type MetadataViews_Display_IPFS struct { + Thumbnail MetadataViews_IPFSFile Name string Description string - Thumbnail MetadataViews_IPFSFile } type MetadataViews_Display_Http struct { Name string @@ -22,8 +22,8 @@ type MetadataViews_Display_Http struct { type MetadataViews_Edition struct { Name *string - Number uint64 Max *uint64 + Number uint64 } type MetadataViews_Editions struct { @@ -58,10 +58,10 @@ type MetadataViews_Rarity struct { } type MetadataViews_Trait struct { - Name string Value interface{} - DisplayType string `cadence:"displayType"` Rarity *MetadataViews_Rarity + Name string + DisplayType string `cadence:"displayType"` } type MetadataViews_Traits struct { diff --git a/meter.go b/meter.go index 5a2aa5b..2221f7a 100644 --- a/meter.go +++ b/meter.go @@ -4,11 +4,11 @@ import "github.com/onflow/cadence/runtime/common" // a type representing a meter that contains information about the inner workings of an interaction, only available on local emulator type OverflowMeter struct { + ComputationIntensities OverflowMeteredComputationIntensities `json:"computationIntensities"` + MemoryIntensities OverflowMeteredMemoryIntensities `json:"memoryIntensities"` LedgerInteractionUsed int `json:"ledgerInteractionUsed"` ComputationUsed int `json:"computationUsed"` MemoryUsed int `json:"memoryUsed"` - ComputationIntensities OverflowMeteredComputationIntensities `json:"computationIntensities"` - MemoryIntensities OverflowMeteredMemoryIntensities `json:"memoryIntensities"` } // get the number of functions invocations diff --git a/mocks/OverflowBetaClient.go b/mocks/OverflowBetaClient.go index 1ea1c92..c34680f 100644 --- a/mocks/OverflowBetaClient.go +++ b/mocks/OverflowBetaClient.go @@ -12,7 +12,7 @@ import ( mock "github.com/stretchr/testify/mock" - overflow "github.com/bjartek/overflow" + overflow "github.com/bjartek/overflow/v2" time "time" @@ -937,130 +937,130 @@ func (_c *OverflowBetaClient_GetOverflowTransactionById_Call) RunAndReturn(run f return _c } -// GetTransactionById provides a mock function with given fields: ctx, id -func (_m *OverflowBetaClient) GetTransactionById(ctx context.Context, id flow.Identifier) (*flow.Transaction, error) { - ret := _m.Called(ctx, id) +// GetOverflowTransactionsForBlockId provides a mock function with given fields: ctx, id, logg +func (_m *OverflowBetaClient) GetOverflowTransactionsForBlockId(ctx context.Context, id flow.Identifier, logg *zap.Logger) ([]overflow.OverflowTransaction, overflow.OverflowEvents, error) { + ret := _m.Called(ctx, id, logg) if len(ret) == 0 { - panic("no return value specified for GetTransactionById") + panic("no return value specified for GetOverflowTransactionsForBlockId") } - var r0 *flow.Transaction - var r1 error - if rf, ok := ret.Get(0).(func(context.Context, flow.Identifier) (*flow.Transaction, error)); ok { - return rf(ctx, id) + var r0 []overflow.OverflowTransaction + var r1 overflow.OverflowEvents + var r2 error + if rf, ok := ret.Get(0).(func(context.Context, flow.Identifier, *zap.Logger) ([]overflow.OverflowTransaction, overflow.OverflowEvents, error)); ok { + return rf(ctx, id, logg) } - if rf, ok := ret.Get(0).(func(context.Context, flow.Identifier) *flow.Transaction); ok { - r0 = rf(ctx, id) + if rf, ok := ret.Get(0).(func(context.Context, flow.Identifier, *zap.Logger) []overflow.OverflowTransaction); ok { + r0 = rf(ctx, id, logg) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).(*flow.Transaction) + r0 = ret.Get(0).([]overflow.OverflowTransaction) } } - if rf, ok := ret.Get(1).(func(context.Context, flow.Identifier) error); ok { - r1 = rf(ctx, id) + if rf, ok := ret.Get(1).(func(context.Context, flow.Identifier, *zap.Logger) overflow.OverflowEvents); ok { + r1 = rf(ctx, id, logg) } else { - r1 = ret.Error(1) + if ret.Get(1) != nil { + r1 = ret.Get(1).(overflow.OverflowEvents) + } } - return r0, r1 + if rf, ok := ret.Get(2).(func(context.Context, flow.Identifier, *zap.Logger) error); ok { + r2 = rf(ctx, id, logg) + } else { + r2 = ret.Error(2) + } + + return r0, r1, r2 } -// OverflowBetaClient_GetTransactionById_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetTransactionById' -type OverflowBetaClient_GetTransactionById_Call struct { +// OverflowBetaClient_GetOverflowTransactionsForBlockId_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetOverflowTransactionsForBlockId' +type OverflowBetaClient_GetOverflowTransactionsForBlockId_Call struct { *mock.Call } -// GetTransactionById is a helper method to define mock.On call +// GetOverflowTransactionsForBlockId is a helper method to define mock.On call // - ctx context.Context // - id flow.Identifier -func (_e *OverflowBetaClient_Expecter) GetTransactionById(ctx interface{}, id interface{}) *OverflowBetaClient_GetTransactionById_Call { - return &OverflowBetaClient_GetTransactionById_Call{Call: _e.mock.On("GetTransactionById", ctx, id)} +// - logg *zap.Logger +func (_e *OverflowBetaClient_Expecter) GetOverflowTransactionsForBlockId(ctx interface{}, id interface{}, logg interface{}) *OverflowBetaClient_GetOverflowTransactionsForBlockId_Call { + return &OverflowBetaClient_GetOverflowTransactionsForBlockId_Call{Call: _e.mock.On("GetOverflowTransactionsForBlockId", ctx, id, logg)} } -func (_c *OverflowBetaClient_GetTransactionById_Call) Run(run func(ctx context.Context, id flow.Identifier)) *OverflowBetaClient_GetTransactionById_Call { +func (_c *OverflowBetaClient_GetOverflowTransactionsForBlockId_Call) Run(run func(ctx context.Context, id flow.Identifier, logg *zap.Logger)) *OverflowBetaClient_GetOverflowTransactionsForBlockId_Call { _c.Call.Run(func(args mock.Arguments) { - run(args[0].(context.Context), args[1].(flow.Identifier)) + run(args[0].(context.Context), args[1].(flow.Identifier), args[2].(*zap.Logger)) }) return _c } -func (_c *OverflowBetaClient_GetTransactionById_Call) Return(_a0 *flow.Transaction, _a1 error) *OverflowBetaClient_GetTransactionById_Call { - _c.Call.Return(_a0, _a1) +func (_c *OverflowBetaClient_GetOverflowTransactionsForBlockId_Call) Return(_a0 []overflow.OverflowTransaction, _a1 overflow.OverflowEvents, _a2 error) *OverflowBetaClient_GetOverflowTransactionsForBlockId_Call { + _c.Call.Return(_a0, _a1, _a2) return _c } -func (_c *OverflowBetaClient_GetTransactionById_Call) RunAndReturn(run func(context.Context, flow.Identifier) (*flow.Transaction, error)) *OverflowBetaClient_GetTransactionById_Call { +func (_c *OverflowBetaClient_GetOverflowTransactionsForBlockId_Call) RunAndReturn(run func(context.Context, flow.Identifier, *zap.Logger) ([]overflow.OverflowTransaction, overflow.OverflowEvents, error)) *OverflowBetaClient_GetOverflowTransactionsForBlockId_Call { _c.Call.Return(run) return _c } -// GetTransactions provides a mock function with given fields: ctx, id, logg -func (_m *OverflowBetaClient) GetTransactions(ctx context.Context, id flow.Identifier, logg *zap.Logger) ([]overflow.OverflowTransaction, overflow.OverflowEvents, error) { - ret := _m.Called(ctx, id, logg) +// GetTransactionById provides a mock function with given fields: ctx, id +func (_m *OverflowBetaClient) GetTransactionById(ctx context.Context, id flow.Identifier) (*flow.Transaction, error) { + ret := _m.Called(ctx, id) if len(ret) == 0 { - panic("no return value specified for GetTransactions") + panic("no return value specified for GetTransactionById") } - var r0 []overflow.OverflowTransaction - var r1 overflow.OverflowEvents - var r2 error - if rf, ok := ret.Get(0).(func(context.Context, flow.Identifier, *zap.Logger) ([]overflow.OverflowTransaction, overflow.OverflowEvents, error)); ok { - return rf(ctx, id, logg) + var r0 *flow.Transaction + var r1 error + if rf, ok := ret.Get(0).(func(context.Context, flow.Identifier) (*flow.Transaction, error)); ok { + return rf(ctx, id) } - if rf, ok := ret.Get(0).(func(context.Context, flow.Identifier, *zap.Logger) []overflow.OverflowTransaction); ok { - r0 = rf(ctx, id, logg) + if rf, ok := ret.Get(0).(func(context.Context, flow.Identifier) *flow.Transaction); ok { + r0 = rf(ctx, id) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).([]overflow.OverflowTransaction) - } - } - - if rf, ok := ret.Get(1).(func(context.Context, flow.Identifier, *zap.Logger) overflow.OverflowEvents); ok { - r1 = rf(ctx, id, logg) - } else { - if ret.Get(1) != nil { - r1 = ret.Get(1).(overflow.OverflowEvents) + r0 = ret.Get(0).(*flow.Transaction) } } - if rf, ok := ret.Get(2).(func(context.Context, flow.Identifier, *zap.Logger) error); ok { - r2 = rf(ctx, id, logg) + if rf, ok := ret.Get(1).(func(context.Context, flow.Identifier) error); ok { + r1 = rf(ctx, id) } else { - r2 = ret.Error(2) + r1 = ret.Error(1) } - return r0, r1, r2 + return r0, r1 } -// OverflowBetaClient_GetTransactions_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetTransactions' -type OverflowBetaClient_GetTransactions_Call struct { +// OverflowBetaClient_GetTransactionById_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetTransactionById' +type OverflowBetaClient_GetTransactionById_Call struct { *mock.Call } -// GetTransactions is a helper method to define mock.On call +// GetTransactionById is a helper method to define mock.On call // - ctx context.Context // - id flow.Identifier -// - logg *zap.Logger -func (_e *OverflowBetaClient_Expecter) GetTransactions(ctx interface{}, id interface{}, logg interface{}) *OverflowBetaClient_GetTransactions_Call { - return &OverflowBetaClient_GetTransactions_Call{Call: _e.mock.On("GetTransactions", ctx, id, logg)} +func (_e *OverflowBetaClient_Expecter) GetTransactionById(ctx interface{}, id interface{}) *OverflowBetaClient_GetTransactionById_Call { + return &OverflowBetaClient_GetTransactionById_Call{Call: _e.mock.On("GetTransactionById", ctx, id)} } -func (_c *OverflowBetaClient_GetTransactions_Call) Run(run func(ctx context.Context, id flow.Identifier, logg *zap.Logger)) *OverflowBetaClient_GetTransactions_Call { +func (_c *OverflowBetaClient_GetTransactionById_Call) Run(run func(ctx context.Context, id flow.Identifier)) *OverflowBetaClient_GetTransactionById_Call { _c.Call.Run(func(args mock.Arguments) { - run(args[0].(context.Context), args[1].(flow.Identifier), args[2].(*zap.Logger)) + run(args[0].(context.Context), args[1].(flow.Identifier)) }) return _c } -func (_c *OverflowBetaClient_GetTransactions_Call) Return(_a0 []overflow.OverflowTransaction, _a1 overflow.OverflowEvents, _a2 error) *OverflowBetaClient_GetTransactions_Call { - _c.Call.Return(_a0, _a1, _a2) +func (_c *OverflowBetaClient_GetTransactionById_Call) Return(_a0 *flow.Transaction, _a1 error) *OverflowBetaClient_GetTransactionById_Call { + _c.Call.Return(_a0, _a1) return _c } -func (_c *OverflowBetaClient_GetTransactions_Call) RunAndReturn(run func(context.Context, flow.Identifier, *zap.Logger) ([]overflow.OverflowTransaction, overflow.OverflowEvents, error)) *OverflowBetaClient_GetTransactions_Call { +func (_c *OverflowBetaClient_GetTransactionById_Call) RunAndReturn(run func(context.Context, flow.Identifier) (*flow.Transaction, error)) *OverflowBetaClient_GetTransactionById_Call { _c.Call.Return(run) return _c } diff --git a/mocks/OverflowClient.go b/mocks/OverflowClient.go index 191000d..bfc7852 100644 --- a/mocks/OverflowClient.go +++ b/mocks/OverflowClient.go @@ -12,7 +12,7 @@ import ( mock "github.com/stretchr/testify/mock" - overflow "github.com/bjartek/overflow" + overflow "github.com/bjartek/overflow/v2" ) // OverflowClient is an autogenerated mock type for the OverflowClient type @@ -814,6 +814,65 @@ func (_c *OverflowClient_GetNetwork_Call) RunAndReturn(run func() string) *Overf return _c } +// GetTransactionById provides a mock function with given fields: ctx, id +func (_m *OverflowClient) GetTransactionById(ctx context.Context, id flow.Identifier) (*flow.Transaction, error) { + ret := _m.Called(ctx, id) + + if len(ret) == 0 { + panic("no return value specified for GetTransactionById") + } + + var r0 *flow.Transaction + var r1 error + if rf, ok := ret.Get(0).(func(context.Context, flow.Identifier) (*flow.Transaction, error)); ok { + return rf(ctx, id) + } + if rf, ok := ret.Get(0).(func(context.Context, flow.Identifier) *flow.Transaction); ok { + r0 = rf(ctx, id) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*flow.Transaction) + } + } + + if rf, ok := ret.Get(1).(func(context.Context, flow.Identifier) error); ok { + r1 = rf(ctx, id) + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + +// OverflowClient_GetTransactionById_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetTransactionById' +type OverflowClient_GetTransactionById_Call struct { + *mock.Call +} + +// GetTransactionById is a helper method to define mock.On call +// - ctx context.Context +// - id flow.Identifier +func (_e *OverflowClient_Expecter) GetTransactionById(ctx interface{}, id interface{}) *OverflowClient_GetTransactionById_Call { + return &OverflowClient_GetTransactionById_Call{Call: _e.mock.On("GetTransactionById", ctx, id)} +} + +func (_c *OverflowClient_GetTransactionById_Call) Run(run func(ctx context.Context, id flow.Identifier)) *OverflowClient_GetTransactionById_Call { + _c.Call.Run(func(args mock.Arguments) { + run(args[0].(context.Context), args[1].(flow.Identifier)) + }) + return _c +} + +func (_c *OverflowClient_GetTransactionById_Call) Return(_a0 *flow.Transaction, _a1 error) *OverflowClient_GetTransactionById_Call { + _c.Call.Return(_a0, _a1) + return _c +} + +func (_c *OverflowClient_GetTransactionById_Call) RunAndReturn(run func(context.Context, flow.Identifier) (*flow.Transaction, error)) *OverflowClient_GetTransactionById_Call { + _c.Call.Return(run) + return _c +} + // MintFlowTokens provides a mock function with given fields: accountName, amount func (_m *OverflowClient) MintFlowTokens(accountName string, amount float64) *overflow.OverflowState { ret := _m.Called(accountName, amount) diff --git a/npm_module.go b/npm_module.go index 7b7ef3f..238b098 100644 --- a/npm_module.go +++ b/npm_module.go @@ -32,9 +32,9 @@ type OverflowAuthorizers map[string][]string // a type containing information about parameter types and orders type OverflowDeclarationInfo struct { - ParameterOrder []string `json:"order"` Parameters map[string]string `json:"parameters"` Authorizers OverflowAuthorizers `json:"-"` + ParameterOrder []string `json:"order"` } // a type representing one network in a solution, so mainnet/testnet/emulator @@ -58,8 +58,8 @@ type OverflowSolutionMergedNetwork struct { // representing code with specification if parameters type OverflowCodeWithSpec struct { - Code string `json:"code"` Spec *OverflowDeclarationInfo `json:"spec"` + Code string `json:"code"` } // merge the given Solution into a MergedSolution that is suited for exposing as an NPM module diff --git a/print.go b/print.go index fc060eb..cd14ed9 100644 --- a/print.go +++ b/print.go @@ -15,20 +15,19 @@ type OverflowPrinterOption func(*OverflowPrinterBuilder) // // the default setting is to print one line for each transaction with meter and all events type OverflowPrinterBuilder struct { - - //set to false to disable all events - Events bool - - //filter out some events + // filter out some events EventFilter OverflowEventFilter - //0 to print no meter, 1 to print some, 2 to pritn all NB verbose + // 0 to print no meter, 1 to print some, 2 to pritn all NB verbose Meter int - //print the emulator log, NB! Verbose + // set to false to disable all events + Events bool + + // print the emulator log, NB! Verbose EmulatorLog bool - //print transaction id, useful to disable in tests + // print transaction id, useful to disable in tests Id bool Arguments bool @@ -53,7 +52,6 @@ func WithTransactionUrl() OverflowPrinterOption { return func(opb *OverflowPrinterBuilder) { opb.TransactionUrl = true } - } // do not print meter @@ -98,7 +96,6 @@ func WithArguments() OverflowPrinterOption { // print out an result func (o OverflowResult) Print(opbs ...OverflowPrinterOption) OverflowResult { - printOpts := &OverflowPrinterBuilder{ Events: true, EventFilter: OverflowEventFilter{}, diff --git a/result.go b/result.go index 3eb1d01..f9c5cde 100644 --- a/result.go +++ b/result.go @@ -93,7 +93,7 @@ func (o OverflowResult) GetIdFromEvent(eventName string, fieldName string) (uint return event[0].Fields[fieldName].(uint64), nil } } - err := fmt.Errorf("Could not find id field %s in event with suffix %s", fieldName, eventName) + err := fmt.Errorf("could not find id field %s in event with suffix %s", fieldName, eventName) if o.StopOnError { panic(err) } diff --git a/script_v3_test.go b/script_v3_test.go index d738e11..3a87326 100644 --- a/script_v3_test.go +++ b/script_v3_test.go @@ -77,7 +77,6 @@ access(all) fun main(input: [String]): [String] { `, WithArg("input", input)).GetAsJson() assert.NoError(t, err) assert.JSONEq(t, `["test", "foo"]`, res) - }) t.Run("Run script with string map", func(t *testing.T) { @@ -231,6 +230,7 @@ access(all) fun main(input: Address?): Address? { block, err := o.GetLatestBlock(context.Background()) require.NoError(t, err) block, err = o.GetBlockAtHeight(context.Background(), block.Height-1) + assert.NoError(t, err) res, err := o.Script("test", WithArg("account", "first"), WithExecuteScriptAtBlockIdentifier(block.ID)).GetAsInterface() assert.NoError(t, err) assert.Equal(t, "0x01cf0e2f2f715450", res) @@ -239,9 +239,9 @@ access(all) fun main(input: Address?): Address? { block, err := o.GetLatestBlock(context.Background()) require.NoError(t, err) block, err = o.GetBlockAtHeight(context.Background(), block.Height-1) + assert.NoError(t, err) res, err := o.Script("test", WithArg("account", "first"), WithExecuteScriptAtBlockIdHex(block.ID.Hex())).GetAsInterface() assert.NoError(t, err) assert.Equal(t, "0x01cf0e2f2f715450", res) }) - } diff --git a/setup.go b/setup.go index a02f71d..f832639 100644 --- a/setup.go +++ b/setup.go @@ -87,32 +87,32 @@ var defaultOverflowBuilder = OverflowBuilder{ // OverflowBuilder is the struct used to gather up configuration when building an overflow instance type OverflowBuilder struct { Ctx context.Context - TransactionFees bool - Network string - InMemory bool - DeployContracts bool - GasLimit int - Path string - LogLevel int - InitializeAccounts bool - PrependNetworkName bool - ServiceSuffix string - ConfigFiles []string - TransactionFolderName string - ScriptFolderName string - FilterOutFeeEvents bool - FilterOutEmptyWithDrawDepositEvents bool - GlobalEventFilter OverflowEventFilter - StopOnError bool - PrintOptions *[]OverflowPrinterOption - NewAccountFlowAmount float64 ReaderWriter flowkit.ReaderWriter + Coverage *runtime.CoverageReport InputResolver *underflow.InputResolver + PrintOptions *[]OverflowPrinterOption + GlobalEventFilter OverflowEventFilter + Path string ArchiveNodeUrl string - Coverage *runtime.CoverageReport - GrpcDialOptions []grpc.DialOption + Network string + ScriptFolderName string + ServiceSuffix string + TransactionFolderName string EmulatorOptions []emulator.Option + GrpcDialOptions []grpc.DialOption + ConfigFiles []string + NewAccountFlowAmount float64 + GasLimit int + LogLevel int UnderflowOptions underflow.Options + DeployContracts bool + InMemory bool + InitializeAccounts bool + StopOnError bool + TransactionFees bool + FilterOutEmptyWithDrawDepositEvents bool + FilterOutFeeEvents bool + PrependNetworkName bool } func (o *OverflowBuilder) StartE() (*OverflowState, error) { diff --git a/state.go b/state.go index a235e57..9d92a37 100644 --- a/state.go +++ b/state.go @@ -74,16 +74,17 @@ type OverflowClient interface { FillUpStorage(accountName string) *OverflowState SignUserMessage(account string, message string) (string, error) + + GetTransactionById(ctx context.Context, id flow.Identifier) (*flow.Transaction, error) } // beta client with unstable features type OverflowBetaClient interface { OverflowClient - GetTransactionById(ctx context.Context, id flow.Identifier) (*flow.Transaction, error) - GetOverflowTransactionById(ctx context.Context, id flow.Identifier) (*OverflowTransaction, error) - GetTransactions(ctx context.Context, id flow.Identifier, logg *zap.Logger) ([]OverflowTransaction, OverflowEvents, error) StreamTransactions(ctx context.Context, poll time.Duration, height uint64, logger *zap.Logger, channel chan<- BlockResult) error GetBlockResult(ctx context.Context, height uint64, logger *zap.Logger) (*BlockResult, error) + GetOverflowTransactionById(ctx context.Context, id flow.Identifier) (*OverflowTransaction, error) + GetOverflowTransactionsForBlockId(ctx context.Context, id flow.Identifier, logg *zap.Logger) ([]OverflowTransaction, OverflowEvents, error) } var ( @@ -147,9 +148,9 @@ type OverflowState struct { } type OverflowArgument struct { - Name string Value interface{} Type ast.Type + Name string } type ( @@ -179,7 +180,7 @@ func (o *OverflowState) GetNetwork() string { func (o *OverflowState) QualifiedIdentifierFromSnakeCase(typeName string) (string, error) { words := strings.Split(typeName, "_") if len(words) < 2 { - return "", fmt.Errorf("Invalid snake_case type string Contract_Name") + return "", fmt.Errorf("invalid snake_case type string Contract_Name") } return o.QualifiedIdentifier(words[0], words[1]) } @@ -212,11 +213,11 @@ func (o *OverflowState) QualifiedIdentifier(contract string, name string) (strin } } - return "", fmt.Errorf("You are trying to get the qualified identifier for something you are not creating or have mentioned in flow.json with name=%s", contract) + return "", fmt.Errorf("you are trying to get the qualified identifier for something you are not creating or have mentioned in flow.json with name=%s", contract) } func (o *OverflowState) parseArguments(fileName string, code []byte, inputArgs map[string]interface{}) ([]cadence.Value, CadenceArguments, error) { - var resultArgs []cadence.Value = make([]cadence.Value, 0) + resultArgs := make([]cadence.Value, 0) resultArgsMap := CadenceArguments{} codes := map[common.Location][]byte{} @@ -721,7 +722,7 @@ func (o *OverflowState) ParseAll() (*OverflowSolution, error) { func (o *OverflowState) ParseAllWithConfig(skipContracts bool, txSkip []string, scriptSkip []string) (*OverflowSolution, error) { warnings := []string{} transactions := map[string]string{} - err := filepath.Walk(fmt.Sprintf("%s/transactions/", o.BasePath), func(path string, info os.FileInfo, err error) error { + err := filepath.Walk(fmt.Sprintf("%s/transactions/", o.BasePath), func(path string, info os.FileInfo, _ error) error { if strings.HasSuffix(path, ".cdc") { name := strings.TrimSuffix(info.Name(), ".cdc") for _, txSkip := range txSkip { @@ -742,7 +743,7 @@ func (o *OverflowState) ParseAllWithConfig(skipContracts bool, txSkip []string, return nil, err } scripts := map[string]string{} - err = filepath.Walk(fmt.Sprintf("%s/scripts/", o.BasePath), func(path string, info os.FileInfo, err error) error { + err = filepath.Walk(fmt.Sprintf("%s/scripts/", o.BasePath), func(path string, info os.FileInfo, _ error) error { if strings.HasSuffix(path, ".cdc") { name := strings.TrimSuffix(info.Name(), ".cdc") for _, scriptSkip := range txSkip { diff --git a/stream/main.go b/stream/main.go index 34f95ff..91b5ab2 100644 --- a/stream/main.go +++ b/stream/main.go @@ -6,12 +6,11 @@ import ( "syscall" "time" - "github.com/bjartek/overflow" + "github.com/bjartek/overflow/v2" "go.uber.org/zap" ) func main() { - o := overflow.Overflow(overflow.WithNetwork("mainnet")) ctx, stop := signal.NotifyContext(context.Background(), syscall.SIGINT, syscall.SIGTERM) @@ -31,7 +30,7 @@ func main() { select { case <-ctx.Done(): stop() - break + return case br := <-overflowChannel: l := br.Logger l.Debug("got stuff") diff --git a/templates.go b/templates.go index 3f7cfb6..ed0ea1d 100644 --- a/templates.go +++ b/templates.go @@ -53,7 +53,7 @@ func (o *OverflowState) UploadImageAsDataUrl(filename string, accountName string // UploadString will upload the given string data in 1mb chunkts to /storage/upload of the given account func (o *OverflowState) UploadString(content string, accountName string) error { - //unload previous content if any. + // unload previous content if any. res := o.Tx(` transaction { prepare(signer: auth(LoadValue) &Account) { @@ -90,7 +90,6 @@ func (o *OverflowState) UploadString(content string, accountName string) error { // Get the free capacity in an account func (o *OverflowState) GetFreeCapacity(accountName string) int { - result := o.Script(` access(all) fun main(user:Address): UInt64{ let account=getAccount(user) @@ -107,7 +106,7 @@ access(all) fun main(user:Address): UInt64{ func (o *OverflowState) MintFlowTokens(accountName string, amount float64) *OverflowState { if o.Network.Name != "emulator" { - o.Error = fmt.Errorf("Can only mint new flow on emulator") + o.Error = fmt.Errorf("can only mint new flow on emulator") return o } result := o.Tx(` @@ -153,9 +152,8 @@ transaction(recipient: Address, amount: UFix64) { // A method to fill up a users storage, useful when testing // This has some issues with transaction fees func (o *OverflowState) FillUpStorage(accountName string) *OverflowState { - capacity := o.GetFreeCapacity(accountName) - length := capacity - 50500 //we cannot fill up all of storage since we need flow to pay for the transaction that fills it up + length := capacity - 50500 // we cannot fill up all of storage since we need flow to pay for the transaction that fills it up err := o.UploadString(randomString(length), accountName) if err != nil { diff --git a/testdata/TestParseConfig/parse_and_filter.golden b/testdata/TestParseConfig/parse_and_filter.golden index 9075df9..7d07afd 100644 --- a/testdata/TestParseConfig/parse_and_filter.golden +++ b/testdata/TestParseConfig/parse_and_filter.golden @@ -1,105 +1,105 @@ &overflow.OverflowSolution{ Transactions: map[string]*overflow.OverflowDeclarationInfo{ "aTransaction": { - ParameterOrder: []string{}, Parameters: map[string]string{}, Authorizers: overflow.OverflowAuthorizers{}, + ParameterOrder: []string{}, }, "create_nft_collection": { - ParameterOrder: []string{}, Parameters: map[string]string{}, Authorizers: overflow.OverflowAuthorizers{"acct": []string{"Storage"}}, + ParameterOrder: []string{}, }, "emulatorFoo": { - ParameterOrder: []string{"test"}, Parameters: map[string]string{"test": "String"}, Authorizers: overflow.OverflowAuthorizers{"acct": []string{"BorrowValue"}}, + ParameterOrder: []string{"test"}, }, "mainnetFoo": { - ParameterOrder: []string{"test"}, Parameters: map[string]string{"test": "String"}, Authorizers: overflow.OverflowAuthorizers{"acct": []string{}}, + ParameterOrder: []string{"test"}, }, "mainnetaTransaction": { - ParameterOrder: []string{}, Parameters: map[string]string{}, Authorizers: overflow.OverflowAuthorizers{}, + ParameterOrder: []string{}, }, "mainnetzTransaction": { - ParameterOrder: []string{}, Parameters: map[string]string{}, Authorizers: overflow.OverflowAuthorizers{}, + ParameterOrder: []string{}, }, "mint_tokens": { - ParameterOrder: []string{ - "recipient", - "amount", - }, Parameters: map[string]string{ "amount": "UFix64", "recipient": "Address", }, Authorizers: overflow.OverflowAuthorizers{"signer": []string{"BorrowValue"}}, + ParameterOrder: []string{ + "recipient", + "amount", + }, }, "signWithMultipleAccounts": { - ParameterOrder: []string{"test"}, - Parameters: map[string]string{"test": "String"}, + Parameters: map[string]string{"test": "String"}, Authorizers: overflow.OverflowAuthorizers{ "account2": []string{}, "acct": []string{}, }, + ParameterOrder: []string{"test"}, }, "testnetFoo": { - ParameterOrder: []string{"test"}, Parameters: map[string]string{"test": "String"}, Authorizers: overflow.OverflowAuthorizers{"acct": []string{"Storage"}}, + ParameterOrder: []string{"test"}, }, "zTransaction": { - ParameterOrder: []string{}, Parameters: map[string]string{}, Authorizers: overflow.OverflowAuthorizers{}, + ParameterOrder: []string{}, }, }, Scripts: map[string]*overflow.OverflowDeclarationInfo{ "aScript": { - ParameterOrder: []string{"account"}, Parameters: map[string]string{"account": "Address"}, + ParameterOrder: []string{"account"}, }, "block": { - ParameterOrder: []string{}, Parameters: map[string]string{}, + ParameterOrder: []string{}, }, "emulatorFoo": { - ParameterOrder: []string{"account"}, Parameters: map[string]string{"account": "Address"}, + ParameterOrder: []string{"account"}, }, "mainnetFoo": { - ParameterOrder: []string{"account"}, Parameters: map[string]string{"account": "Address"}, + ParameterOrder: []string{"account"}, }, "mainnetaScript": { - ParameterOrder: []string{"account"}, Parameters: map[string]string{"account": "Address"}, + ParameterOrder: []string{"account"}, }, "mainnetzScript": { - ParameterOrder: []string{"account"}, Parameters: map[string]string{"account": "Address"}, + ParameterOrder: []string{"account"}, }, "test": { - ParameterOrder: []string{"account"}, Parameters: map[string]string{"account": "Address"}, + ParameterOrder: []string{"account"}, }, "testnetFoo": { - ParameterOrder: []string{"account"}, Parameters: map[string]string{"account": "Address"}, + ParameterOrder: []string{"account"}, }, "type": { - ParameterOrder: []string{}, Parameters: map[string]string{}, + ParameterOrder: []string{}, }, "zScript": { - ParameterOrder: []string{"account"}, Parameters: map[string]string{"account": "Address"}, + ParameterOrder: []string{"account"}, }, }, Networks: map[string]*overflow.OverflowSolutionNetwork{ diff --git a/tools/overflow-generate/overflow-generate.go b/tools/overflow-generate/overflow-generate.go index b726887..1a4acc0 100644 --- a/tools/overflow-generate/overflow-generate.go +++ b/tools/overflow-generate/overflow-generate.go @@ -4,11 +4,10 @@ import ( "fmt" "os" - . "github.com/bjartek/overflow" + . "github.com/bjartek/overflow/v2" ) func main() { - args := os.Args[1:] if len(args) == 0 { fmt.Println("Call with or just ") diff --git a/transaction.go b/transaction.go index b231bee..251c926 100644 --- a/transaction.go +++ b/transaction.go @@ -35,26 +35,26 @@ type Argument struct { type OverflowTransaction struct { Error error - Fee float64 - Status string - Arguments []Argument - Authorizers []string AuthorizerTypes OverflowAuthorizers Stakeholders map[string][]string Payer string - BlockId string Id string + Status string + BlockId string + Authorizers []string + Arguments []Argument Events []OverflowEvent Imports []Import Script []byte ProposalKey flow.ProposalKey + Fee float64 TransactionIndex int GasLimit uint64 GasUsed uint64 ExecutionEffort float64 } -func (o *OverflowState) CreateOverflowTransactions(blockId string, transactionResult flow.TransactionResult, transaction flow.Transaction, txIndex int) (*OverflowTransaction, error) { +func (o *OverflowState) CreateOverflowTransaction(blockId string, transactionResult flow.TransactionResult, transaction flow.Transaction, txIndex int) (*OverflowTransaction, error) { feeAmount := 0.0 events, fee := o.ParseEvents(transactionResult.Events, "") feeRaw, ok := fee.Fields["amount"] @@ -134,7 +134,7 @@ func (o *OverflowState) CreateOverflowTransactions(blockId string, transactionRe Id: transactionResult.TransactionID.String(), TransactionIndex: txIndex, BlockId: blockId, - Status: transactionResult.Status.String(), + Status: status, Events: eventList, Stakeholders: eventsWithoutFees.GetStakeholders(standardStakeholders), Imports: imports, @@ -161,7 +161,7 @@ func (o *OverflowState) GetOverflowTransactionById(ctx context.Context, id flow. if len(txr.Events) > 0 { txIndex = txr.Events[0].TransactionIndex } - return o.CreateOverflowTransactions(txr.BlockID.String(), *txr, *tx, txIndex) + return o.CreateOverflowTransaction(txr.BlockID.String(), *txr, *tx, txIndex) } func (o *OverflowState) GetTransactionById(ctx context.Context, id flow.Identifier) (*flow.Transaction, error) { @@ -173,7 +173,7 @@ func (o *OverflowState) GetTransactionById(ctx context.Context, id flow.Identifi } // this is get from block, needs to return system chunk information -func (o *OverflowState) GetTransactions(ctx context.Context, id flow.Identifier, logg *zap.Logger) ([]OverflowTransaction, OverflowEvents, error) { +func (o *OverflowState) GetOverflowTransactionsForBlockId(ctx context.Context, id flow.Identifier, logg *zap.Logger) ([]OverflowTransaction, OverflowEvents, error) { // sometimes this will become too complex. //if we get this error @@ -207,7 +207,7 @@ func (o *OverflowState) GetTransactions(ctx context.Context, id flow.Identifier, return []OverflowTransaction{} } - ot, err := o.CreateOverflowTransactions(id.String(), r, t, i) + ot, err := o.CreateOverflowTransaction(id.String(), r, t, i) if err != nil { panic(err) } @@ -223,7 +223,7 @@ func (o *OverflowState) GetBlockResult(ctx context.Context, height uint64, logg if err != nil { return nil, err } - tx, systemChunkEvents, err := o.GetTransactions(ctx, block.ID, logg) + tx, systemChunkEvents, err := o.GetOverflowTransactionsForBlockId(ctx, block.ID, logg) if err != nil { return nil, err } @@ -283,7 +283,7 @@ func (o *OverflowState) StreamTransactions(ctx context.Context, poll time.Durati } readDur := time.Since(start) logg.Info("block read", zap.Any("block", block.Height), zap.Any("latestBlock", latestKnownBlock.Height), zap.Any("readDur", readDur.Seconds())) - tx, systemChunkEvents, err := o.GetTransactions(ctx, block.ID, logg) + tx, systemChunkEvents, err := o.GetOverflowTransactionsForBlockId(ctx, block.ID, logg) logg.Debug("fetched transactions", zap.Int("tx", len(tx))) if err != nil { logg.Debug("getting transaction", zap.Error(err)) diff --git a/transaction_test.go b/transaction_test.go index 2f2e1be..72b298c 100644 --- a/transaction_test.go +++ b/transaction_test.go @@ -99,7 +99,7 @@ transaction(test:UInt64) { t.Run("Should not allow varags builder arg with single element", func(t *testing.T) { res := o.Tx("arguments", WithArgs("test")) - assert.ErrorContains(t, res.Err, "Please send in an even number of string : interface{} pairs") + assert.ErrorContains(t, res.Err, "please send in an even number of string : interface{} pairs") }) t.Run("Should not allow varag with non string keys", func(t *testing.T) { @@ -192,7 +192,6 @@ transaction(test:Address) { } `, "transaction", WithArg("test", "bjartek"), WithSignerServiceAccount()) assert.ErrorContains(t, res.Error, "argument `test` with value `0xbjartek` is not expected type `Address`") - }) t.Run("Should set gas", func(t *testing.T) { @@ -205,7 +204,6 @@ transaction(test:Address) { `, "transaction", WithArg("test", "bjartek"), WithSignerServiceAccount(), WithMaxGas(100)) assert.Equal(t, uint64(100), res.GasLimit) - }) t.Run("Should report error if invalid payload signer", func(t *testing.T) { @@ -218,7 +216,6 @@ transaction{ `, WithSignerServiceAccount(), WithPayloadSigner("bjartek")) assert.Error(t, res.Err, "asd") - }) t.Run("ufix64", func(t *testing.T) { @@ -259,5 +256,4 @@ transaction(test:UFix64) { assert.True(t, res.IgnoreGlobalEventFilters) assert.Equal(t, 1, len(res.EventFilter)) }) - } diff --git a/utils.go b/utils.go index bb76be5..b22a0db 100644 --- a/utils.go +++ b/utils.go @@ -42,7 +42,6 @@ func parseTime(timeString string, location string) (string, error) { func getAndUnquoteString(value cadence.Value) string { result, err := strconv.Unquote(value.String()) - if err != nil { result = value.String() if strings.Contains(result, "\\u") || strings.Contains(result, "\\U") { @@ -50,7 +49,7 @@ func getAndUnquoteString(value cadence.Value) string { } } - return strings.Replace(result, "\x00", "", -1) + return strings.ReplaceAll(result, "\x00", "") } func exists(path string) (bool, error) { @@ -68,9 +67,7 @@ func exists(path string) (bool, error) { } func writeProgressToFile(fileName string, blockHeight int64) error { - err := os.WriteFile(fileName, []byte(fmt.Sprintf("%d", blockHeight)), 0644) - if err != nil { return fmt.Errorf("could not create initial progress file %v", err) } @@ -173,7 +170,6 @@ func hexToAddress(h string) (*cadence.Address, error) { b, err := hex.DecodeString(trimmed) if err != nil { return nil, err - } address := cadence.BytesToAddress(b) return &address, nil