From f924d753cc470b3c92f0c708e5f7ebf63073f7f2 Mon Sep 17 00:00:00 2001 From: Calvin <78729586+calvwang9@users.noreply.github.com> Date: Wed, 13 Sep 2023 13:27:05 +1000 Subject: [PATCH 1/7] rename fee token to gas token (#373) --- integration-tests/common/common.go | 2 +- pkg/cosmos/config/config.go | 12 ++++++------ pkg/cosmos/relay.go | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/integration-tests/common/common.go b/integration-tests/common/common.go index b3dc456e..b6cf440c 100644 --- a/integration-tests/common/common.go +++ b/integration-tests/common/common.go @@ -128,7 +128,7 @@ func NewCommon(t *testing.T) *Common { Enabled = true ChainID = '%s' Bech32Prefix = 'wasm' -FeeToken = 'ucosm' +GasToken = 'ucosm' [[Cosmos.Nodes]] Name = 'primary' diff --git a/pkg/cosmos/config/config.go b/pkg/cosmos/config/config.go index 394d4c91..a7fab659 100644 --- a/pkg/cosmos/config/config.go +++ b/pkg/cosmos/config/config.go @@ -44,7 +44,7 @@ var defaultConfigSet = configSet{ OCR2CacheTTL: time.Minute, TxMsgTimeout: 10 * time.Minute, Bech32Prefix: "wasm", // note: this shouldn't be used outside of tests - FeeToken: "ucosm", // note: this shouldn't be used outside of tests + GasToken: "ucosm", // note: this shouldn't be used outside of tests } type Config interface { @@ -53,7 +53,7 @@ type Config interface { BlocksUntilTxTimeout() int64 ConfirmPollPeriod() time.Duration FallbackGasPrice() sdk.Dec - FeeToken() string + GasToken() string GasLimitMultiplier() float64 MaxMsgsPerBatch() int64 OCR2CachePollPeriod() time.Duration @@ -68,7 +68,7 @@ type configSet struct { BlocksUntilTxTimeout int64 ConfirmPollPeriod time.Duration FallbackGasPrice sdk.Dec - FeeToken string + GasToken string GasLimitMultiplier float64 MaxMsgsPerBatch int64 OCR2CachePollPeriod time.Duration @@ -82,7 +82,7 @@ type Chain struct { BlocksUntilTxTimeout *int64 ConfirmPollPeriod *utils.Duration FallbackGasPrice *decimal.Decimal - FeeToken *string + GasToken *string GasLimitMultiplier *decimal.Decimal MaxMsgsPerBatch *int64 OCR2CachePollPeriod *utils.Duration @@ -107,8 +107,8 @@ func (c *Chain) SetDefaults() { d := decimal.NewFromBigInt(defaultConfigSet.FallbackGasPrice.BigInt(), -sdk.Precision) c.FallbackGasPrice = &d } - if c.FeeToken == nil { - c.FeeToken = &defaultConfigSet.FeeToken + if c.GasToken == nil { + c.GasToken = &defaultConfigSet.GasToken } if c.GasLimitMultiplier == nil { d := decimal.NewFromFloat(defaultConfigSet.GasLimitMultiplier) diff --git a/pkg/cosmos/relay.go b/pkg/cosmos/relay.go index 3647cd8a..06e0cb64 100644 --- a/pkg/cosmos/relay.go +++ b/pkg/cosmos/relay.go @@ -43,10 +43,10 @@ func NewRelayer(lggr logger.Logger, chain adapters.Chain) *Relayer { ctx, cancel := context.WithCancel(context.Background()) bech32Prefix := chain.Config().Bech32Prefix() - feeToken := chain.Config().FeeToken() + gasToken := chain.Config().GasToken() params.InitCosmosSdk( bech32Prefix, - feeToken, + gasToken, ) return &Relayer{ From 04f8dfab4bb19f10e288e77c1f3efacf4ea0fe0c Mon Sep 17 00:00:00 2001 From: Calvin <78729586+calvwang9@users.noreply.github.com> Date: Mon, 18 Sep 2023 17:38:28 +1000 Subject: [PATCH 2/7] fix mock adapter url for mac (#376) --- integration-tests/common/common.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/integration-tests/common/common.go b/integration-tests/common/common.go index b6cf440c..1aa9edc6 100644 --- a/integration-tests/common/common.go +++ b/integration-tests/common/common.go @@ -168,7 +168,7 @@ HTTPSPort = 0 TTL: getTTL(), TestDuration: getTestDuration(), NodeUrl: nodeUrl, - MockUrl: "http://172.17.0.1:6060", + MockUrl: "http://host.docker.internal:6060", Mnemonic: getEnv("MNEMONIC"), ObservationSource: observationSource, JuelsPerFeeCoinSource: juelsPerFeeCoinSource, From b54368a4ce5d2e5035bbe7708dfb5f1f8fb27e53 Mon Sep 17 00:00:00 2001 From: Calvin Wang Date: Tue, 26 Sep 2023 15:43:38 +1000 Subject: [PATCH 3/7] monitor in integration tests --- cmd/monitoring/README.md | 74 +++++++++-- cmd/monitoring/main.go | 20 ++- integration-tests/common/client.go | 12 +- integration-tests/go.mod | 80 ++++++------ integration-tests/go.sum | 188 ++++++++++++++------------- integration-tests/ocr2_test.go | 198 +++++++++++++++++++++-------- ops/monitoring/docker-compose.yml | 49 +++++++ pkg/monitoring/feed_config.go | 5 +- 8 files changed, 427 insertions(+), 199 deletions(-) create mode 100644 ops/monitoring/docker-compose.yml diff --git a/cmd/monitoring/README.md b/cmd/monitoring/README.md index de2966ed..2eee29a4 100644 --- a/cmd/monitoring/README.md +++ b/cmd/monitoring/README.md @@ -1,22 +1,67 @@ # On-chain monitor -## Example of running the monitor locally +## Local development + +- Start the monitor's third party dependencies using [docker-compose](https://docs.docker.com/compose/). + Use the docker-compose.yml file in `./ops`: + +```sh +docker-compose up +``` + +- Start an http server that mimics weiwatchers locally. Note: this isn't required to run integration tests as it these are created automatically in the test. It needs to export a json configuration file for feeds: + +```json +[ + { + "name": "LINK / USD", + "path": "link-usd", + "symbol": "$", + "heartbeat": 0, + "contract_type": "numerical_median_feed", + "status": "testing", + "contract_address": "", + "multiply": "100000000", + "proxy_address": "" + } +] +``` + +It also needs to export a json configuration for for node operators: + +```json +[ + { + "id": "noop", + "nodeAddress": [] + } +] +``` + +One option is to create a folder `/tmp/configs` and add two files `feeds.json` and `nodes.json` with the configs from above, then: + +```bash +python3 -m http.server 4000 +``` + +- Start the monitor locally. You will need the tendermint url and the address of the LINK token. ```bash -COSMOS_TENDERMINT_URL="" \ -COSMOS_FCD_URL="https://fcd.cosmos.dev/" \ +COSMOS_TENDERMINT_URL="" \ COSMOS_NETWORK_NAME="cosmos-devnet" \ COSMOS_NETWORK_ID="cosmos-devnet" \ COSMOS_CHAIN_ID="1" \ COSMOS_READ_TIMEOUT="15s" \ COSMOS_POLL_INTERVAL="5s" \ -COSMOS_LINK_TOKEN_ADDRESS="terra1eq0xqc88ceuvw2ztz2a08200he8lrgvnplrcst" \ +COSMOS_LINK_TOKEN_ADDRESS="wasm12fykm2xhg5ces2vmf4q2aem8c958exv3v0wmvrspa8zucrdwjedsjax9ms" \ +COSMOS_BECH32_PREFIX="wasm" \ +COSMOS_GAS_TOKEN="ucosm" \ KAFKA_BROKERS="localhost:29092" \ -KAFKA_CLIENT_ID=“terra” \ -KAFKA_SECURITY_PROTOCOL="PLAINTEXT" \ +KAFKA_CLIENT_ID="cosmos" \ +KAFKA_SECURITY_PROTOCOL="SASL_PLAINTEXT" \ KAFKA_SASL_MECHANISM="PLAIN" \ -KAFKA_SASL_USERNAME="" \ -KAFKA_SASL_PASSWORD="" \ +KAFKA_SASL_USERNAME="user" \ +KAFKA_SASL_PASSWORD="pass" \ KAFKA_TRANSMISSION_TOPIC="transmission_topic" \ KAFKA_CONFIG_SET_SIMPLIFIED_TOPIC="config_set_simplified" \ SCHEMA_REGISTRY_URL="http://localhost:8989" \ @@ -27,6 +72,19 @@ FEEDS_URL="http://localhost:4000/feeds.json" \ go run ./cmd/monitoring/main.go ``` +- Check the output for the Prometheus scraper + +```bash +curl http://localhost:3000/metrics +``` + +- To check the output for Kafka, you need to install [kcat](https://github.com/edenhill/kcat). After you install, run: + +```bash +kcat -b localhost:29092 -t config_set_simplified +kcat -b localhost:29092 -t transmission_topic +``` + ## Example of feed configurations returned by weiwatchers.com ```json diff --git a/cmd/monitoring/main.go b/cmd/monitoring/main.go index 975ccd47..3b49bc1d 100644 --- a/cmd/monitoring/main.go +++ b/cmd/monitoring/main.go @@ -3,6 +3,7 @@ package main import ( "context" "log" + "os" "github.com/smartcontractkit/chainlink-cosmos/pkg/cosmos/params" "github.com/smartcontractkit/chainlink-cosmos/pkg/monitoring" @@ -22,17 +23,26 @@ func main() { } }() + bech32Prefix := "wasm" + gasToken := "ucosm" + if value, isPresent := os.LookupEnv("COSMOS_BECH32_PREFIX"); isPresent { + bech32Prefix = value + } + if value, isPresent := os.LookupEnv("COSMOS_GAS_TOKEN"); isPresent { + gasToken = value + } + // note: need to register bech32 prefix before parsing config to ensure AccAddressFromBech32 returns a correctly prefixed address + params.InitCosmosSdk( + bech32Prefix, + gasToken, + ) + cosmosConfig, err := monitoring.ParseCosmosConfig() if err != nil { l.Fatalw("failed to parse cosmos specific configuration", "error", err) return } - params.InitCosmosSdk( - cosmosConfig.Bech32Prefix, - cosmosConfig.GasToken, - ) - monitor, err := monitoring.NewCosmosMonitor(ctx, cosmosConfig, l) if err != nil { l.Fatalw("failed to create new cosmos monitor", "error", err) diff --git a/integration-tests/common/client.go b/integration-tests/common/client.go index 1262c01d..9cdaa14c 100644 --- a/integration-tests/common/client.go +++ b/integration-tests/common/client.go @@ -8,7 +8,7 @@ import ( "github.com/google/uuid" "github.com/lib/pq" - "github.com/rs/zerolog/log" + "github.com/rs/zerolog" "gopkg.in/guregu/null.v4" "github.com/smartcontractkit/chainlink-cosmos/pkg/cosmos/params" @@ -28,8 +28,8 @@ type ChainlinkClient struct { // TODO: Remove env. See https://github.com/smartcontractkit/chainlink-cosmos/pull/350#discussion_r1298071289 // CreateKeys Creates node keys and defines chain and nodes for each node -func NewChainlinkClient(env *environment.Environment, nodeName string, chainId string, tendermintURL string, bech32Prefix string) (*ChainlinkClient, error) { - nodes, err := connectChainlinkNodes(env) +func NewChainlinkClient(env *environment.Environment, nodeName string, chainId string, tendermintURL string, bech32Prefix string, logger zerolog.Logger) (*ChainlinkClient, error) { + nodes, err := connectChainlinkNodes(env, logger) if err != nil { return nil, err } @@ -185,7 +185,7 @@ func (cc *ChainlinkClient) CreateJobsForContract(chainId, nodeName, p2pPort, moc // connectChainlinkNodes creates a chainlink client for each node in the environment // This is a non k8s version of the function in chainlink_k8s.go // https://github.com/smartcontractkit/chainlink/blob/cosmos-test-keys/integration-tests/client/chainlink_k8s.go#L77 -func connectChainlinkNodes(e *environment.Environment) ([]*client.ChainlinkClient, error) { +func connectChainlinkNodes(e *environment.Environment, logger zerolog.Logger) ([]*client.ChainlinkClient, error) { var clients []*client.ChainlinkClient for _, nodeDetails := range e.ChainlinkNodeDetails { c, err := client.NewChainlinkClient(&client.ChainlinkConfig{ @@ -193,11 +193,11 @@ func connectChainlinkNodes(e *environment.Environment) ([]*client.ChainlinkClien Email: "notreal@fakeemail.ch", Password: "fj293fbBnlQ!f9vNs", InternalIP: parseHostname(nodeDetails.InternalIP), - }) + }, logger) if err != nil { return nil, err } - log.Debug(). + logger.Debug(). Str("URL", c.Config.URL). Str("Internal IP", c.Config.InternalIP). Str("Chart Name", nodeDetails.ChartName). diff --git a/integration-tests/go.mod b/integration-tests/go.mod index e98384a0..e12b4f50 100644 --- a/integration-tests/go.mod +++ b/integration-tests/go.mod @@ -5,22 +5,23 @@ go 1.20 require ( github.com/cometbft/cometbft v0.37.2 github.com/cosmos/cosmos-sdk v0.47.4 - github.com/google/uuid v1.3.0 + github.com/google/uuid v1.3.1 github.com/lib/pq v1.10.9 - github.com/rs/zerolog v1.29.1 - github.com/smartcontractkit/chainlink-cosmos v0.4.1-0.20230811192642-2299ce672665 + github.com/rs/zerolog v1.30.0 + github.com/smartcontractkit/chainlink-cosmos v0.4.1-0.20230919072229-8d1773b9822a github.com/smartcontractkit/chainlink-cosmos/ops v0.0.0-20230615043323-5fe39e28b7ee github.com/smartcontractkit/chainlink-env v0.36.0 - github.com/smartcontractkit/chainlink-relay v0.1.7-0.20230814221409-567a8f84b413 - github.com/smartcontractkit/chainlink-testing-framework v1.15.3 - github.com/smartcontractkit/chainlink/integration-tests v0.0.0-20230818010150-dc7e03125cd0 - github.com/smartcontractkit/chainlink/v2 v2.2.1-0.20230814120914-9c95732370e5 - github.com/smartcontractkit/libocr v0.0.0-20230816220705-665e93233ae5 + github.com/smartcontractkit/chainlink-relay v0.1.7-0.20230918212835-8a0b08df72a3 + github.com/smartcontractkit/chainlink-testing-framework v1.17.0 + github.com/smartcontractkit/chainlink/integration-tests v0.0.0-20230920015324-c0389f26f9f1 + github.com/smartcontractkit/chainlink/v2 v2.5.1-0.20230920043756-b4f9535e2497 + github.com/smartcontractkit/libocr v0.0.0-20230918212407-dbd4e505b3e6 github.com/stretchr/testify v1.8.4 gopkg.in/guregu/null.v4 v4.0.0 ) require ( + cloud.google.com/go/compute v1.22.0 // indirect contrib.go.opencensus.io/exporter/stackdriver v0.13.5 // indirect cosmossdk.io/api v0.3.1 // indirect cosmossdk.io/core v0.5.1 // indirect @@ -43,6 +44,7 @@ require ( github.com/andres-erbsen/clock v0.0.0-20160526145045-9e14626cd129 // indirect github.com/armon/go-metrics v0.4.1 // indirect github.com/avast/retry-go v3.0.0+incompatible // indirect + github.com/aws/aws-sdk-go v1.44.302 // indirect github.com/aws/constructs-go/constructs/v10 v10.1.255 // indirect github.com/aws/jsii-runtime-go v1.75.0 // indirect github.com/aybabtme/rgbterm v0.0.0-20170906152045-cc83f3b3ce59 // indirect @@ -87,8 +89,8 @@ require ( github.com/docker/go-units v0.5.0 // indirect github.com/dustin/go-humanize v1.0.1 // indirect github.com/dvsekhvalnov/jose2go v1.5.0 // indirect - github.com/emicklei/go-restful/v3 v3.10.1 // indirect - github.com/envoyproxy/protoc-gen-validate v1.0.1 // indirect + github.com/emicklei/go-restful/v3 v3.10.2 // indirect + github.com/envoyproxy/protoc-gen-validate v1.0.2 // indirect github.com/ethereum/go-ethereum v1.12.0 // indirect github.com/evanphx/json-patch v5.6.0+incompatible // indirect github.com/evanphx/json-patch/v5 v5.6.0 // indirect @@ -115,13 +117,14 @@ require ( github.com/go-logr/logr v1.2.4 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-ole/go-ole v1.2.6 // indirect - github.com/go-openapi/jsonpointer v0.19.6 // indirect + github.com/go-openapi/jsonpointer v0.20.0 // indirect github.com/go-openapi/jsonreference v0.20.2 // indirect - github.com/go-openapi/swag v0.22.3 // indirect + github.com/go-openapi/swag v0.22.4 // indirect github.com/go-playground/locales v0.14.1 // indirect github.com/go-playground/universal-translator v0.18.1 // indirect github.com/go-playground/validator/v10 v10.14.0 // indirect github.com/go-resty/resty/v2 v2.7.0 // indirect + github.com/go-sql-driver/mysql v1.7.1 // indirect github.com/go-stack/stack v1.8.1 // indirect github.com/goccy/go-json v0.10.2 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect @@ -137,12 +140,14 @@ require ( github.com/google/go-querystring v1.1.0 // indirect github.com/google/gofuzz v1.2.0 // indirect github.com/google/gopacket v1.1.19 // indirect - github.com/google/pprof v0.0.0-20230602150820-91b7bce49751 // indirect + github.com/google/pprof v0.0.0-20230705174524-200ffdc848b8 // indirect github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect github.com/gorilla/context v1.1.1 // indirect github.com/gorilla/securecookie v1.1.1 // indirect github.com/gorilla/sessions v1.2.1 // indirect github.com/gorilla/websocket v1.5.0 // indirect + github.com/grafana/pyroscope-go v1.0.2 // indirect + github.com/grafana/pyroscope-go/godeltaprof v0.1.3 // indirect github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79 // indirect github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.0.0-rc.0 // indirect @@ -161,10 +166,10 @@ require ( github.com/hashicorp/yamux v0.0.0-20200609203250-aecfd211c9ce // indirect github.com/hdevalence/ed25519consensus v0.1.0 // indirect github.com/holiman/bloomfilter/v2 v2.0.3 // indirect - github.com/holiman/uint256 v1.2.2 // indirect + github.com/holiman/uint256 v1.2.3 // indirect github.com/huandu/skiplist v1.2.0 // indirect github.com/huin/goupnp v1.0.3 // indirect - github.com/imdario/mergo v0.3.15 // indirect + github.com/imdario/mergo v0.3.16 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/ipfs/go-cid v0.0.7 // indirect github.com/ipfs/go-datastore v0.4.5 // indirect @@ -173,7 +178,7 @@ require ( github.com/ipfs/go-log v1.0.4 // indirect github.com/ipfs/go-log/v2 v2.1.1 // indirect github.com/jackc/chunkreader/v2 v2.0.1 // indirect - github.com/jackc/pgconn v1.14.0 // indirect + github.com/jackc/pgconn v1.14.1 // indirect github.com/jackc/pgio v1.0.0 // indirect github.com/jackc/pgpassfile v1.0.0 // indirect github.com/jackc/pgproto3/v2 v2.3.2 // indirect @@ -189,7 +194,7 @@ require ( github.com/jpillora/backoff v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/kelseyhightower/envconfig v1.4.0 // indirect - github.com/klauspost/compress v1.16.3 // indirect + github.com/klauspost/compress v1.16.7 // indirect github.com/klauspost/cpuid/v2 v2.2.4 // indirect github.com/koron/go-ssdp v0.0.2 // indirect github.com/kr/pretty v0.3.1 // indirect @@ -285,19 +290,17 @@ require ( github.com/prometheus/client_model v0.4.0 // indirect github.com/prometheus/common v0.44.0 // indirect github.com/prometheus/procfs v0.11.0 // indirect - github.com/pyroscope-io/client v0.7.1 // indirect - github.com/pyroscope-io/godeltaprof v0.1.2 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/riferrei/srclient v0.5.4 // indirect github.com/rivo/uniseg v0.4.4 // indirect github.com/robfig/cron/v3 v3.0.1 // indirect - github.com/rogpeppe/go-internal v1.10.0 // indirect + github.com/rogpeppe/go-internal v1.11.0 // indirect github.com/russross/blackfriday v1.6.0 // indirect github.com/santhosh-tekuri/jsonschema/v5 v5.1.1 // indirect github.com/sasha-s/go-deadlock v0.3.1 // indirect github.com/scylladb/go-reflectx v1.0.1 // indirect github.com/shirou/gopsutil v3.21.11+incompatible // indirect - github.com/shirou/gopsutil/v3 v3.22.12 // indirect + github.com/shirou/gopsutil/v3 v3.23.8 // indirect github.com/shopspring/decimal v1.3.1 // indirect github.com/sirupsen/logrus v1.9.3 // indirect github.com/smartcontractkit/caigo v0.0.0-20230621050857-b29a4ca8c704 // indirect @@ -320,10 +323,10 @@ require ( github.com/teris-io/shortid v0.0.0-20201117134242-e59966efd125 // indirect github.com/theodesp/go-heaps v0.0.0-20190520121037-88e35354fe0a // indirect github.com/tidwall/btree v1.6.0 // indirect - github.com/tidwall/gjson v1.14.4 // indirect + github.com/tidwall/gjson v1.16.0 // indirect github.com/tidwall/match v1.1.1 // indirect github.com/tidwall/pretty v1.2.0 // indirect - github.com/tklauser/go-sysconf v0.3.11 // indirect + github.com/tklauser/go-sysconf v0.3.12 // indirect github.com/tklauser/numcpus v0.6.1 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/tyler-smith/go-bip39 v1.1.0 // indirect @@ -349,26 +352,27 @@ require ( go.uber.org/atomic v1.11.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/ratelimit v0.2.0 // indirect - go.uber.org/zap v1.24.0 // indirect + go.uber.org/zap v1.25.0 // indirect golang.org/x/arch v0.4.0 // indirect - golang.org/x/crypto v0.11.0 // indirect + golang.org/x/crypto v0.12.0 // indirect golang.org/x/exp v0.0.0-20230713183714-613f0c0eb8a1 // indirect golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 // indirect golang.org/x/mod v0.12.0 // indirect - golang.org/x/net v0.12.0 // indirect + golang.org/x/net v0.14.0 // indirect golang.org/x/oauth2 v0.10.0 // indirect golang.org/x/sync v0.3.0 // indirect - golang.org/x/sys v0.10.0 // indirect - golang.org/x/term v0.10.0 // indirect - golang.org/x/text v0.11.0 // indirect + golang.org/x/sys v0.11.0 // indirect + golang.org/x/term v0.11.0 // indirect + golang.org/x/text v0.12.0 // indirect golang.org/x/time v0.3.0 // indirect golang.org/x/tools v0.11.0 // indirect gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect gonum.org/v1/gonum v0.13.0 // indirect + google.golang.org/api v0.132.0 // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20230629202037-9506855d4529 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 // indirect + google.golang.org/genproto v0.0.0-20230717213848-3f92550aa753 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20230717213848-3f92550aa753 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20230717213848-3f92550aa753 // indirect google.golang.org/grpc v1.57.0 // indirect google.golang.org/protobuf v1.31.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect @@ -377,22 +381,22 @@ require ( gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/api v0.26.2 // indirect + k8s.io/api v0.27.3 // indirect k8s.io/apiextensions-apiserver v0.25.3 // indirect - k8s.io/apimachinery v0.26.2 // indirect + k8s.io/apimachinery v0.27.3 // indirect k8s.io/cli-runtime v0.25.11 // indirect - k8s.io/client-go v0.26.2 // indirect + k8s.io/client-go v0.27.3 // indirect k8s.io/component-base v0.26.2 // indirect k8s.io/klog/v2 v2.100.1 // indirect - k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f // indirect + k8s.io/kube-openapi v0.0.0-20230525220651-2546d827e515 // indirect k8s.io/kubectl v0.25.11 // indirect - k8s.io/utils v0.0.0-20230308161112-d77c459e9343 // indirect + k8s.io/utils v0.0.0-20230711102312-30195339c3c7 // indirect pgregory.net/rapid v0.5.5 // indirect sigs.k8s.io/controller-runtime v0.13.0 // indirect sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect sigs.k8s.io/kustomize/api v0.12.1 // indirect sigs.k8s.io/kustomize/kyaml v0.13.9 // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect + sigs.k8s.io/structured-merge-diff/v4 v4.3.0 // indirect sigs.k8s.io/yaml v1.3.0 // indirect ) diff --git a/integration-tests/go.sum b/integration-tests/go.sum index 12ce8e2d..b1dad2aa 100644 --- a/integration-tests/go.sum +++ b/integration-tests/go.sum @@ -25,12 +25,13 @@ cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvf cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/compute v1.20.1 h1:6aKEtlUiwEpJzM001l0yFkpXmUVXaN8W+fbkb2AZNbg= +cloud.google.com/go/compute v1.22.0 h1:cB8R6FtUtT1TYGl5R3xuxnW6OUIc/DrT2aiR16TTG7Y= +cloud.google.com/go/compute v1.22.0/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= -cloud.google.com/go/iam v1.1.0 h1:67gSqaPukx7O8WLLHMa0PNs3EBGd2eE4d+psbO/CO94= +cloud.google.com/go/iam v1.1.1 h1:lW7fzj15aVIXYHREOqjRBV9PsH0Z6u8Y46a1YGvQP4Y= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= @@ -128,10 +129,11 @@ github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/avast/retry-go v3.0.0+incompatible h1:4SOWQ7Qs+oroOTQOYnAHqelpCO0biHSxpiH9JdtuBj0= github.com/avast/retry-go v3.0.0+incompatible/go.mod h1:XtSnn+n/sHqQIpZ10K1qAevBhOOCWBLXXy3hyiqqBrY= -github.com/avast/retry-go/v4 v4.3.4 h1:pHLkL7jvCvP317I8Ge+Km2Yhntv3SdkJm7uekkqbKhM= +github.com/avast/retry-go/v4 v4.5.0 h1:QoRAZZ90cj5oni2Lsgl2GW8mNTnUCnmpx/iKpwVisHg= github.com/aws/aws-sdk-go v1.22.1/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.23.20/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.44.276 h1:ywPlx9C5Yc482dUgAZ9bHpQ6onVvJvYE9FJWsNDCEy0= +github.com/aws/aws-sdk-go v1.44.302 h1:ST3ko6GrJKn3Xi+nAvxjG3uk/V1pW8KC52WLeIxqqNk= +github.com/aws/aws-sdk-go v1.44.302/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= github.com/aws/constructs-go/constructs/v10 v10.1.255 h1:5hARfEmhBqHSTQf/C3QLA3sWOxO2Dfja0iA1W7ZcI7g= github.com/aws/constructs-go/constructs/v10 v10.1.255/go.mod h1:DCdBSjN04Ck2pajCacTD4RKFqSA7Utya8d62XreYctI= github.com/aws/jsii-runtime-go v1.75.0 h1:NhpUfyiL7/wsRuUekFsz8FFBCYLfPD/l61kKg9kL/a4= @@ -322,9 +324,8 @@ github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+m github.com/dvsekhvalnov/jose2go v1.5.0 h1:3j8ya4Z4kMCwT5nXIKFSV84YS+HdqSSO0VsTQxaLAeM= github.com/dvsekhvalnov/jose2go v1.5.0/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB/mPZadG+mhXU= github.com/eknkc/amber v0.0.0-20171010120322-cdade1c07385/go.mod h1:0vRUJqYpeSZifjYj7uP3BG/gKcuzL9xWVV/Y+cK33KM= -github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153 h1:yUdfgN0XgIJw7foRItutHYUIhlcKzcSf5vDpdhQAKTc= -github.com/emicklei/go-restful/v3 v3.10.1 h1:rc42Y5YTp7Am7CS630D7JmhRjq4UlEUuEKfrDac4bSQ= -github.com/emicklei/go-restful/v3 v3.10.1/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= +github.com/emicklei/go-restful/v3 v3.10.2 h1:hIovbnmBTLjHXkqEBUz3HGpXZdM7ZrE9fJIZIqlJLqE= +github.com/emicklei/go-restful/v3 v3.10.2/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= @@ -334,8 +335,9 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.m github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/envoyproxy/protoc-gen-validate v1.0.1 h1:kt9FtLiooDc0vbwTLhdg3dyNX1K9Qwa1EK9LcD4jVUQ= -github.com/envoyproxy/protoc-gen-validate v1.0.1/go.mod h1:0vj8bNkYbSTNS2PIyH87KZaeN4x9zpL9Qt8fQC7d+vs= +github.com/envoyproxy/protoc-gen-validate v1.0.2 h1:QkIBuU5k+x7/QXPvPPnWXWlCdaBFApVqftFV6k087DA= +github.com/envoyproxy/protoc-gen-validate v1.0.2/go.mod h1:GpiZQP3dDbg4JouG/NNS7QWXpgx6x8QiMKdmN72jogE= +github.com/esote/minmaxheap v1.0.0 h1:rgA7StnXXpZG6qlM0S7pUmEv1KpWe32rYT4x8J8ntaA= github.com/etcd-io/bbolt v1.3.3/go.mod h1:ZF2nL25h33cCyBtcyWeZ2/I3HQOfTP+0PIEvHjkjCrw= github.com/ethereum/go-ethereum v1.12.0 h1:bdnhLPtqETd4m3mS8BGMNvBTf36bO5bx/hxE2zljOa0= github.com/ethereum/go-ethereum v1.12.0/go.mod h1:/oo2X/dZLJjf2mJ6YT9wcWxa4nNJDBKDBU6sFIpx1Gs= @@ -431,12 +433,14 @@ github.com/go-logr/zapr v1.2.3 h1:a9vnzlIBPQBBkeaR9IuMUfmVOrQlkoC4YfPoFkX3T7A= github.com/go-martini/martini v0.0.0-20170121215854-22fa46961aab/go.mod h1:/P9AEU963A2AYjv4d1V5eVL1CQbEJq6aCNHDDjibzu8= github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= -github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= +github.com/go-openapi/jsonpointer v0.20.0 h1:ESKJdU9ASRfaPNOPRx12IUyA1vn3R9GiE3KYD14BXdQ= +github.com/go-openapi/jsonpointer v0.20.0/go.mod h1:6PGzBjjIIumbLYysB73Klnms1mwnU4G3YHOECG3CedA= github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= +github.com/go-openapi/swag v0.22.4 h1:QLMzNJnMGPRNDCbySlcj1x01tzU8/9LTTL9hZZZogBU= +github.com/go-openapi/swag v0.22.4/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= @@ -446,11 +450,13 @@ github.com/go-playground/validator/v10 v10.14.0 h1:vgvQWe3XCz3gIeFDm/HnTIbj6UGmg github.com/go-playground/validator/v10 v10.14.0/go.mod h1:9iXMNT7sEkjXb0I+enO7QXmzG6QCsPWY4zveKFVRSyU= github.com/go-resty/resty/v2 v2.7.0 h1:me+K9p3uhSmXtrBZ4k9jcEAfJmuC8IivWHwaLZwPrFY= github.com/go-resty/resty/v2 v2.7.0/go.mod h1:9PWDzw47qPphMRFfhsyk0NnSgvluHcljSMVIq3w7q0I= -github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE= github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= +github.com/go-sql-driver/mysql v1.7.1 h1:lUIinVbN1DY0xBg0eMOzmmtGoHwWBbvnWubQUrtU8EI= +github.com/go-sql-driver/mysql v1.7.1/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-stack/stack v1.8.1 h1:ntEHSVwIt7PNXNpgPmVfMrNhLtgjlmnZha2kOpuRiDw= github.com/go-stack/stack v1.8.1/go.mod h1:dcoOX6HbPZSZptuspn9bctJ+N/CnF5gGygcUP3XYfe4= +github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0 h1:p104kn46Q8WdvHunIJ9dAyjPVtrBPhSr3KT2yUst43I= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/go-webauthn/revoke v0.1.9 h1:gSJ1ckA9VaKA2GN4Ukp+kiGTk1/EXtaDb1YE8RknbS0= github.com/go-webauthn/webauthn v0.8.2 h1:8KLIbpldjz9KVGHfqEgJNbkhd7bbRXhNw4QWFJE15oA= @@ -567,8 +573,8 @@ github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20211008130755-947d60d73cc0/go.mod h1:KgnwoLYCZ8IQu3XUZ8Nc/bM9CCZFOyjUNOSygVozoDg= -github.com/google/pprof v0.0.0-20230602150820-91b7bce49751 h1:hR7/MlvK23p6+lIw9SN1TigNLn9ZnF3W4SYRKq2gAHs= -github.com/google/pprof v0.0.0-20230602150820-91b7bce49751/go.mod h1:Jh3hGz2jkYak8qXPD19ryItVnUgpgeqzdkY/D0EaeuA= +github.com/google/pprof v0.0.0-20230705174524-200ffdc848b8 h1:n6vlPhxsA+BW/XsS5+uqi7GyzaLa5MH7qlSLBZtRdiA= +github.com/google/pprof v0.0.0-20230705174524-200ffdc848b8/go.mod h1:Jh3hGz2jkYak8qXPD19ryItVnUgpgeqzdkY/D0EaeuA= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/s2a-go v0.1.4 h1:1kZ/sQM3srePvKs3tXAvQzo66XfcReoqFpIpIccE7Oc= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= @@ -576,12 +582,13 @@ github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3 github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/enterprise-certificate-proxy v0.2.3 h1:yk9/cqRKtT9wXZSsRH9aurXEpJX+U6FLtpYTdC3R06k= +github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4= +github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/enterprise-certificate-proxy v0.2.5 h1:UR4rDjcgpgEnqpIEvkiqTYKBCKLNmlge2eVjoZfySzM= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gax-go/v2 v2.11.0 h1:9V9PWXEsWnPpQhu/PeQIkS4eGzMlTLGgt80cUUI8Ki4= +github.com/googleapis/gax-go/v2 v2.12.0 h1:A+gCJKdRfqXkr+BIRGtZLibNXf0m1f9E4HG56etFpas= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/context v1.1.1 h1:AWwleXJkX/nhcU9bZSnZoi3h/qGYqQAGhq6zZe/aQW8= @@ -597,6 +604,10 @@ github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/ad github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/grafana/pyroscope-go v1.0.2 h1:dEFgO9VbhYTwuwpCC5coTpuW0JjISEWDZtvRAW9v5Tw= +github.com/grafana/pyroscope-go v1.0.2/go.mod h1:bShDKsVZdzxq+Ol6no0JKigU9y5FTWUcFditMXaH09o= +github.com/grafana/pyroscope-go/godeltaprof v0.1.3 h1:eunWpv1B3Z7ZK9o4499EmQGlY+CsDmSZ4FbxjRx37uk= +github.com/grafana/pyroscope-go/godeltaprof v0.1.3/go.mod h1:1HSPtjU8vLG0jE9JrTdzjgFqdJ/VgN7fvxBNq3luJko= github.com/graph-gophers/dataloader v5.0.0+incompatible h1:R+yjsbrNq1Mo3aPG+Z/EKYrXrXXUNJHOgbRt+U6jOug= github.com/graph-gophers/graphql-go v1.3.0 h1:Eb9x/q6MFpCLz7jBCiP/WTxjSDrYLR1QY41SORZyNJ0= github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79 h1:+ngKgrYPPJrOjhax5N+uePQ0Fh1Z7PheYoUI/0nzkPA= @@ -672,8 +683,8 @@ github.com/hdevalence/ed25519consensus v0.1.0/go.mod h1:w3BHWjwJbFU29IRHL1Iqkw3s github.com/heetch/avro v0.3.1/go.mod h1:4xn38Oz/+hiEUTpbVfGVLfvOg0yKLlRP7Q9+gJJILgA= github.com/holiman/bloomfilter/v2 v2.0.3 h1:73e0e/V0tCydx14a0SCYS/EWCxgwLZ18CZcZKVu0fao= github.com/holiman/bloomfilter/v2 v2.0.3/go.mod h1:zpoh+gs7qcpqrHr3dB55AMiJwo0iURXE7ZOP9L9hSkA= -github.com/holiman/uint256 v1.2.2 h1:TXKcSGc2WaxPD2+bmzAsVthL4+pEN0YwXcL5qED83vk= -github.com/holiman/uint256 v1.2.2/go.mod h1:SC8Ryt4n+UBbPbIBKaG9zbbDlp4jOru9xFZmPzLUTxw= +github.com/holiman/uint256 v1.2.3 h1:K8UWO1HUJpRMXBxbmaY1Y8IAMZC/RsKB+ArEnnK4l5o= +github.com/holiman/uint256 v1.2.3/go.mod h1:SC8Ryt4n+UBbPbIBKaG9zbbDlp4jOru9xFZmPzLUTxw= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/huandu/go-assert v1.1.5 h1:fjemmA7sSfYHJD7CUqs9qTwwfdNAx7/j2/ZlHXzNB3c= github.com/huandu/go-assert v1.1.5/go.mod h1:yOLvuqZwmcHIC5rIzrBhT7D3Q9c3GFnd0JrPVhn/06U= @@ -688,8 +699,8 @@ github.com/iancoleman/orderedmap v0.0.0-20190318233801-ac98e3ecb4b0/go.mod h1:N0 github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20210905161508-09a460cdf81d/go.mod h1:aYm2/VgdVmcIU8iMfdMvDMsRAQjcfZSKFby6HOFvi/w= -github.com/imdario/mergo v0.3.15 h1:M8XP7IuFNsqUx6VPK2P9OSmsYsI/YFaGil0uD21V3dM= -github.com/imdario/mergo v0.3.15/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY= +github.com/imdario/mergo v0.3.16 h1:wwQJbIsHYGMUyLSPrEq1CT16AhnhNJQ51+4fdHUnCl4= +github.com/imdario/mergo v0.3.16/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY= github.com/imkira/go-interpol v1.1.0/go.mod h1:z0h2/2T3XF8kyEPpRgJ3kmNv+C43p+I/CoI+jC3w2iA= github.com/improbable-eng/grpc-web v0.15.0 h1:BN+7z6uNXZ1tQGcNAuaU1YjsLTApzkjt2tzCixLaUPQ= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= @@ -754,8 +765,9 @@ github.com/jackc/pgconn v0.0.0-20190831204454-2fabfa3c18b7/go.mod h1:ZJKsE/KZfsU github.com/jackc/pgconn v1.8.0/go.mod h1:1C2Pb36bGIP9QHGBYCjnyhqu7Rv3sGshaQUvmfGIB/o= github.com/jackc/pgconn v1.9.0/go.mod h1:YctiPyvzfU11JFxoXokUOOKQXQmDMoJL9vJzHH8/2JY= github.com/jackc/pgconn v1.9.1-0.20210724152538-d89c8390a530/go.mod h1:4z2w8XhRbP1hYxkpTuBjTS3ne3J48K83+u0zoyvg2pI= -github.com/jackc/pgconn v1.14.0 h1:vrbA9Ud87g6JdFWkHTJXppVce58qPIdP7N8y0Ml/A7Q= github.com/jackc/pgconn v1.14.0/go.mod h1:9mBNlny0UvkgJdCDvdVHYSjI+8tD2rnKK69Wz8ti++E= +github.com/jackc/pgconn v1.14.1 h1:smbxIaZA08n6YuxEX1sDyjV/qkbtUtkH20qLkR9MUR4= +github.com/jackc/pgconn v1.14.1/go.mod h1:9mBNlny0UvkgJdCDvdVHYSjI+8tD2rnKK69Wz8ti++E= github.com/jackc/pgio v1.0.0 h1:g12B9UwVnzGhueNavwioyEEpAmqMe1E/BN9ES+8ovkE= github.com/jackc/pgio v1.0.0/go.mod h1:oP+2QK2wFfUWgr+gxjoBH9KGBb31Eio69xUb0w5bYf8= github.com/jackc/pgmock v0.0.0-20190831213851-13a1b77aafa2/go.mod h1:fGZlG77KXmcq05nJLRkk0+p82V8B8Dw8KN2/V9c/OAE= @@ -819,6 +831,8 @@ github.com/jmank88/grpc-proxy v0.0.0-20230731114312-86ed94c93231 h1:CAa5/6QLk2AA github.com/jmank88/grpc-proxy v0.0.0-20230731114312-86ed94c93231/go.mod h1:MvMXoufZAtqExNexqi4cjrNYE9MefKddKylxjS+//n0= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= +github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= +github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/jmhodges/levigo v1.0.0 h1:q5EC36kV79HWeTBWsod3mG11EgStG3qArTKcvlksN1U= github.com/jmhodges/levigo v1.0.0/go.mod h1:Q6Qx+uH3RAqyK4rFQroq9RL7mdkABMcfhEI+nNuzMJQ= github.com/jmoiron/sqlx v1.3.5 h1:vFFPA71p1o5gAeqtEAwLU4dnX2napprKtHr7PYIcN3g= @@ -858,8 +872,8 @@ github.com/klauspost/compress v1.9.7/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0 github.com/klauspost/compress v1.11.4/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= -github.com/klauspost/compress v1.16.3 h1:XuJt9zzcnaz6a16/OU53ZjWp/v7/42WcR5t2a0PcNQY= -github.com/klauspost/compress v1.16.3/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= +github.com/klauspost/compress v1.16.7 h1:2mk3MPGNzKyxErAw8YaohYh69+pa4sIQSC0fPGCFR9I= +github.com/klauspost/compress v1.16.7/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/klauspost/cpuid v1.2.1/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= @@ -1298,7 +1312,7 @@ github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vv github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= github.com/onsi/ginkgo/v2 v2.1.3/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= -github.com/onsi/ginkgo/v2 v2.4.0 h1:+Ig9nvqgS5OBSACXNk15PLdp0U9XPYROt9CFzVdFGIs= +github.com/onsi/ginkgo/v2 v2.9.1 h1:zie5Ly042PD3bsCvsSOPvRnFwyo3rKe64TJlD6nu0mk= github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= @@ -1341,7 +1355,7 @@ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= -github.com/pressly/goose/v3 v3.5.3 h1:lIQIIXVbdO2RuQtJBS1e7MZjKEk0demVWt6i0YPiOrg= +github.com/pressly/goose/v3 v3.15.0 h1:6tY5aDqFknY6VZkorFGgZtWygodZQxfmmEF4rqyJW9k= github.com/prometheus/client_golang v1.14.0 h1:nJdhIvne2eSX/XRAFV9PcvFFRbrjbcTUj0VP62TMhnw= github.com/prometheus/client_golang v1.14.0/go.mod h1:8vpkKitgIVNcqrRBWh1C4TIUQgYNtG/XQE4E/Zae36Y= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= @@ -1354,11 +1368,7 @@ github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB8 github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= github.com/prometheus/procfs v0.11.0 h1:5EAgkfkMl659uZPbe9AS2N68a7Cc1TJbPEuGzFuRbyk= github.com/prometheus/procfs v0.11.0/go.mod h1:nwNm2aOCAYw8uTR/9bWRREkZFxAUcWzPHWJq+XBB/FM= -github.com/prometheus/prometheus v0.45.0 h1:O/uG+Nw4kNxx/jDPxmjsSDd+9Ohql6E7ZSY1x5x/0KI= -github.com/pyroscope-io/client v0.7.1 h1:yFRhj3vbgjBxehvxQmedmUWJQ4CAfCHhn+itPsuWsHw= -github.com/pyroscope-io/client v0.7.1/go.mod h1:4h21iOU4pUOq0prKyDlvYRL+SCKsBc5wKiEtV+rJGqU= -github.com/pyroscope-io/godeltaprof v0.1.2 h1:MdlEmYELd5w+lvIzmZvXGNMVzW2Qc9jDMuJaPOR75g4= -github.com/pyroscope-io/godeltaprof v0.1.2/go.mod h1:psMITXp90+8pFenXkKIpNhrfmI9saQnPbba27VIaiQE= +github.com/prometheus/prometheus v0.46.0 h1:9JSdXnsuT6YsbODEhSQMwxNkGwPExfmzqG73vCMk/Kw= github.com/rakyll/statik v0.1.7 h1:OF3QCZUuyPxuGEP7B4ypUa7sB/iHtqOTDYZXGM8KOdQ= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= @@ -1380,15 +1390,15 @@ github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTE github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= 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/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= +github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= github.com/rs/cors v1.8.3 h1:O+qNyWn7Z+F9M0ILBHgMVPuB1xTOucVd5gtaYyXBpRo= github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= -github.com/rs/xid v1.4.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= +github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU= github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc= -github.com/rs/zerolog v1.29.1 h1:cO+d60CHkknCbvzEWxP0S9K6KqyTjrCNUy1LdQLCGPc= -github.com/rs/zerolog v1.29.1/go.mod h1:Le6ESbR7hc+DP6Lt1THiV8CQSdkkNrd3R0XbEgp3ZBU= +github.com/rs/zerolog v1.30.0 h1:SymVODrcRsaRaSInD9yQtKbtWqwsfoPcRff/oRXLj4c= +github.com/rs/zerolog v1.30.0/go.mod h1:/tk+P47gFdPXq4QYjvCmT5/Gsug2nagsFWBWhAiSi1w= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3VRLtww= github.com/russross/blackfriday v1.6.0/go.mod h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY= @@ -1411,8 +1421,10 @@ github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAm github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ= github.com/shirou/gopsutil v3.21.11+incompatible h1:+1+c1VGhc88SSonWP6foOcLhvnKlUeu/erjjvaPEYiI= github.com/shirou/gopsutil v3.21.11+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= -github.com/shirou/gopsutil/v3 v3.22.12 h1:oG0ns6poeUSxf78JtOsfygNWuEHYYz8hnnNg7P04TJs= -github.com/shirou/gopsutil/v3 v3.22.12/go.mod h1:Xd7P1kwZcp5VW52+9XsirIKd/BROzbb2wdX3Kqlz9uI= +github.com/shirou/gopsutil/v3 v3.23.8 h1:xnATPiybo6GgdRoC4YoGnxXZFRc3dqQTGi73oLvvBrE= +github.com/shirou/gopsutil/v3 v3.23.8/go.mod h1:7hmCaBn+2ZwaZOr6jmPBZDfawwMGuo1id3C6aM8EDqQ= +github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= +github.com/shoenig/test v0.6.4/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k= github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4= github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= github.com/shopspring/decimal v1.3.1 h1:2Usl1nmF/WZucqkFZhnfFYxxxu8LG21F6nPQBE5gKV8= @@ -1427,25 +1439,25 @@ github.com/smartcontractkit/caigo v0.0.0-20230621050857-b29a4ca8c704 h1:T3lFWumv github.com/smartcontractkit/caigo v0.0.0-20230621050857-b29a4ca8c704/go.mod h1:2QuJdEouTWjh5BDy5o/vgGXQtR4Gz8yH1IYB5eT7u4M= github.com/smartcontractkit/chainlink-env v0.36.0 h1:CFOjs0c0y3lrHi/fl5qseCH9EQa5W/6CFyOvmhe2VnA= github.com/smartcontractkit/chainlink-env v0.36.0/go.mod h1:NbRExHmJGnKSYXmvNuJx5VErSx26GtE1AEN/CRzYOg8= -github.com/smartcontractkit/chainlink-relay v0.1.7-0.20230814221409-567a8f84b413 h1:TSgJDGt6XT/iMao8QJlkEFtBEJO/JQVlcj/bfibc/ag= -github.com/smartcontractkit/chainlink-relay v0.1.7-0.20230814221409-567a8f84b413/go.mod h1:gWclxGW7rLkbjXn7FGizYlyKhp/boekto4MEYGyiMG4= -github.com/smartcontractkit/chainlink-solana v1.0.3-0.20230802143301-165000751a85 h1:/fm02hYSUdhbSh7xPn7os9yHj7dnl8aLs2+nFXPiB4g= -github.com/smartcontractkit/chainlink-starknet/relayer v0.0.1-beta-test.0.20230802150127-d2c95679d61a h1:b3rjvZLpTV45TmCV+ALX+EDDslf91pnDUugP54Lu9FA= -github.com/smartcontractkit/chainlink-testing-framework v1.15.3 h1:phuO4wpbT3GR2ZFIzgwQ3DjfLaZwtHOvJkuEJOC8vxk= -github.com/smartcontractkit/chainlink-testing-framework v1.15.3/go.mod h1:m9p6TzNHs4SXfsS3MJHjTk2vF8jsqHb2ipSSYkjT6zs= -github.com/smartcontractkit/chainlink/integration-tests v0.0.0-20230818010150-dc7e03125cd0 h1:VqHqVlZ+QdqfXTbY5k1dAtM21EWpMEHoa/rBbcW67mY= -github.com/smartcontractkit/chainlink/integration-tests v0.0.0-20230818010150-dc7e03125cd0/go.mod h1:5wdmUtlP7Dkjn8YvZDnOcv8/cXIiS7XwayOhexe1U5Y= -github.com/smartcontractkit/chainlink/v2 v2.2.1-0.20230814120914-9c95732370e5 h1:y3I3vbN0KlHByL+P+dk5lm/PhNqtgkLpJW/MYzo29O0= -github.com/smartcontractkit/chainlink/v2 v2.2.1-0.20230814120914-9c95732370e5/go.mod h1:X5WiSgCYlJ0kNGTr8Zja6DtOCA6/dAyESf7Ix8iYg9E= -github.com/smartcontractkit/libocr v0.0.0-20230816220705-665e93233ae5 h1:rzbqGoScs9VHGnyCKF7AoQEuUfwJnzcKmGIfaczeanA= -github.com/smartcontractkit/libocr v0.0.0-20230816220705-665e93233ae5/go.mod h1:2lyRkw/qLQgUWlrWWmq5nj0y90rWeO6Y+v+fCakRgb0= -github.com/smartcontractkit/ocr2keepers v0.7.10 h1:v0DsX13gAxtTbhcAlPvM0fjR9BlT7n4BkHJ6S8HAquQ= +github.com/smartcontractkit/chainlink-relay v0.1.7-0.20230918212835-8a0b08df72a3 h1:FonaZ1kgRK0yY7D0jF5pL3K+0DYUnKcnStOOcIN+Hhg= +github.com/smartcontractkit/chainlink-relay v0.1.7-0.20230918212835-8a0b08df72a3/go.mod h1:gWclxGW7rLkbjXn7FGizYlyKhp/boekto4MEYGyiMG4= +github.com/smartcontractkit/chainlink-solana v1.0.3-0.20230831134610-680240b97aca h1:x7M0m512gtXw5Z4B1WJPZ52VgshoIv+IvHqQ8hsH4AE= +github.com/smartcontractkit/chainlink-starknet/relayer v0.0.1-beta-test.0.20230901115736-bbabe542a918 h1:ByVauKFXphRlSNG47lNuxZ9aicu+r8AoNp933VRPpCw= +github.com/smartcontractkit/chainlink-testing-framework v1.17.0 h1:JcJwfawW7jfLBG+By5hGTVcNgKQ7bJCqvN9TEF3qBis= +github.com/smartcontractkit/chainlink-testing-framework v1.17.0/go.mod h1:Ry6fRPr8TwrIsYVNEF1pguAgzE3QW1s54tbLWnFtfI4= +github.com/smartcontractkit/chainlink/integration-tests v0.0.0-20230920015324-c0389f26f9f1 h1:78uVPPfBj/gMjasGQPPpVhHDj9Q95aGsPg+uCzTsWUQ= +github.com/smartcontractkit/chainlink/integration-tests v0.0.0-20230920015324-c0389f26f9f1/go.mod h1:KiS7Ryl1KJJpTl/Hmb+4s7IxfgxKmDnhEuc+K+c/HIg= +github.com/smartcontractkit/chainlink/v2 v2.5.1-0.20230920043756-b4f9535e2497 h1:TmQifxMArTi4DlDPDLDonFeJYvWJxBgaA0L/DJOSUdQ= +github.com/smartcontractkit/chainlink/v2 v2.5.1-0.20230920043756-b4f9535e2497/go.mod h1:MVNiPZvmvHRe5btP76oCiiSpNnHTUtpcKcBTdRs0/VQ= +github.com/smartcontractkit/libocr v0.0.0-20230918212407-dbd4e505b3e6 h1:w+8TI2Vcm3vk8XQz40ddcwy9BNZgoakXIby35Y54iDU= +github.com/smartcontractkit/libocr v0.0.0-20230918212407-dbd4e505b3e6/go.mod h1:2lyRkw/qLQgUWlrWWmq5nj0y90rWeO6Y+v+fCakRgb0= +github.com/smartcontractkit/ocr2keepers v0.7.24 h1:d1HcCpsBcBSC9MC9qdjzsm/NSAnnavcZAvAqPAAa75Q= github.com/smartcontractkit/ocr2vrf v0.0.0-20230804151440-2f1eb1e20687 h1:NwC3SOc25noBTe1KUQjt45fyTIuInhoE2UfgcHAdihM= github.com/smartcontractkit/ocr2vrf v0.0.0-20230804151440-2f1eb1e20687/go.mod h1:YYZq52t4wcHoMQeITksYsorD+tZcOyuVU5+lvot3VFM= github.com/smartcontractkit/sqlx v1.3.5-0.20210805004948-4be295aacbeb h1:OMaBUb4X9IFPLbGbCHsMU+kw/BPCrewaVwWGIBc0I4A= github.com/smartcontractkit/sqlx v1.3.5-0.20210805004948-4be295aacbeb/go.mod h1:HNUu4cJekUdsJbwRBCiOybtkPJEfGRELQPe2tkoDEyk= -github.com/smartcontractkit/tdh2/go/ocr2/decryptionplugin v0.0.0-20230808152300-d34f9201db27 h1:AQsTWhkwF/a9Dbv2Y4U4Xi5Go1sflttB0rHL6+8TD6c= -github.com/smartcontractkit/tdh2/go/tdh2 v0.0.0-20230808152300-d34f9201db27 h1:azEVb1iB0gClMoakc3DMlWXM6j/hgzH2gWUCB8H16VA= +github.com/smartcontractkit/tdh2/go/ocr2/decryptionplugin v0.0.0-20230906073235-9e478e5e19f1 h1:yiKnypAqP8l0OX0P3klzZ7SCcBUxy5KqTAKZmQOvSQE= +github.com/smartcontractkit/tdh2/go/tdh2 v0.0.0-20230906073235-9e478e5e19f1 h1:Dai1bn+Q5cpeGMQwRdjOdVjG8mmFFROVkSKuUgBErRQ= github.com/smartcontractkit/wsrpc v0.7.2 h1:iBXzMeg7vc5YoezIQBq896y25BARw7OKbhrb6vPbtRQ= github.com/smartcontractkit/wsrpc v0.7.2/go.mod h1:sj7QX2NQibhkhxTfs3KOhAj/5xwgqMipTvJVSssT9i0= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= @@ -1522,15 +1534,14 @@ github.com/theodesp/go-heaps v0.0.0-20190520121037-88e35354fe0a/go.mod h1:/sfW47 github.com/tidwall/btree v1.6.0 h1:LDZfKfQIBHGHWSwckhXI0RPSXzlo+KYdjK7FWSqOzzg= github.com/tidwall/btree v1.6.0/go.mod h1:twD9XRA5jj9VUQGELzDO4HPQTNJsoWWfYEL+EUQ2cKY= github.com/tidwall/gjson v1.9.3/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= -github.com/tidwall/gjson v1.14.4 h1:uo0p8EbA09J7RQaflQ1aBRffTR7xedD2bcIVSYxLnkM= -github.com/tidwall/gjson v1.14.4/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= +github.com/tidwall/gjson v1.16.0 h1:SyXa+dsSPpUlcwEDuKuEBJEz5vzTvOea+9rjyYodQFg= +github.com/tidwall/gjson v1.16.0/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA= github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= github.com/tidwall/pretty v1.2.0 h1:RWIZEg2iJ8/g6fDDYzMpobmaoGh5OLl4AXtGUGPcqCs= github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= -github.com/tklauser/go-sysconf v0.3.11 h1:89WgdJhk5SNwJfu+GKyYveZ4IaJ7xAkecBo+KdJV0CM= -github.com/tklauser/go-sysconf v0.3.11/go.mod h1:GqXfhXY3kiPa0nAXPDIQIWzJbMCB7AmcWpGR8lSZfqI= -github.com/tklauser/numcpus v0.6.0/go.mod h1:FEZLMke0lhOUG6w2JadTzp0a+Nl8PF/GFkQ5UVIcaL4= +github.com/tklauser/go-sysconf v0.3.12 h1:0QaGUFOdQaIVdPgfITYzaTegZvdCjmYO52cSFAEVmqU= +github.com/tklauser/go-sysconf v0.3.12/go.mod h1:Ho14jnntGE1fpdOqQEEaiKRpvIavV0hSfmBq8nJbHYI= github.com/tklauser/numcpus v0.6.1 h1:ng9scYS7az0Bk4OZLvrNXNSAO2Pxr1XXRAPyjhIx+Fk= github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9fESEdAacY= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= @@ -1586,7 +1597,6 @@ github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9dec github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13 h1:fVcFKWvrslecOb/tg+Cc05dkeYx540o0FuFt3nUVDoE= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= github.com/yusufpapurcu/wmi v1.2.3 h1:E1ctvB7uKFMOJw3fdOW32DwGE9I7t++CRUEMKvFoFiw= github.com/yusufpapurcu/wmi v1.2.3/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= @@ -1655,8 +1665,9 @@ go.uber.org/zap v1.14.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= go.uber.org/zap v1.14.1/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc= go.uber.org/zap v1.15.0/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc= go.uber.org/zap v1.16.0/go.mod h1:MA8QOfq0BHJwdXa996Y4dYkAqRKB8/1K1QMMZVaNZjQ= -go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60= go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg= +go.uber.org/zap v1.25.0 h1:4Hvk6GtkucQ790dqmj7l1eEnRdKm3k3ZUrUMS2d5+5c= +go.uber.org/zap v1.25.0/go.mod h1:JIAUzQIH94IC4fOJQm7gMmBJP5k7wQfdcnYdPoEXJYk= golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= golang.org/x/arch v0.4.0 h1:A8WCeEWhLwPBKNbFi5Wv5UTCBx5zzubnXDlMOFAzFMc= golang.org/x/arch v0.4.0/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= @@ -1695,8 +1706,8 @@ golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58= -golang.org/x/crypto v0.11.0 h1:6Ewdq3tDic1mg5xRO4milcWCfMVQhI4NkqWWvqejpuA= -golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= +golang.org/x/crypto v0.12.0 h1:tFM/ta59kqch6LlvYnPa0yx5a83cL2nHflFhYKvv9Yk= +golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1799,9 +1810,10 @@ golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.12.0 h1:cfawfvKITfUsFCeJIHJrbSxpeu/E81khclypR0GVT50= -golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= +golang.org/x/net v0.14.0 h1:BONx9s002vGdD9umnlX1Po8vOZmrgH34qlHcD1MfK14= +golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1916,20 +1928,20 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.10.0 h1:SqMFp9UcQJZa+pmYuAKjd9xq1f0j5rLcDIk0mj4qAsA= -golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM= +golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20201210144234-2321bbc49cbf/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.10.0 h1:3R7pNqamzBraeqj/Tj8qt1aQ2HpmlC+Cx/qL/7hn4/c= -golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= +golang.org/x/term v0.11.0 h1:F9tnn/DA/Im8nCwm+fX+1/eBwi4qFjRT++MhtVC4ZX0= +golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1939,9 +1951,10 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.11.0 h1:LAntKIrcmeSKERyiOh0XMV39LXS8IE9UL2yP7+f5ij4= -golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.12.0 h1:k+n5B8goJNdU7hSvEtMUz3d1Q6D/XW4COJSJR6fN0mc= +golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -2050,7 +2063,8 @@ google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz513 google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/api v0.126.0 h1:q4GJq+cAdMAC7XP7njvQ4tvohGLiSlytuL4BQxbIZ+o= +google.golang.org/api v0.132.0 h1:8t2/+qZ26kAOGSmOiHwVycqVaDg7q3JDILrNi/Z6rvc= +google.golang.org/api v0.132.0/go.mod h1:AeTBC6GpJnJSRJjktDcPX0QwtS8pGYZOV6MSuSCusw0= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -2107,12 +2121,12 @@ google.golang.org/genproto v0.0.0-20210401141331-865547bb08e2/go.mod h1:9lPAdzaE google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= google.golang.org/genproto v0.0.0-20220107163113-42d7afdf6368/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20220503193339-ba3ae3f07e29/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= -google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130 h1:Au6te5hbKUV8pIYWHqOUZ1pva5qK/rwbIhoXEUB9Lu8= -google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:O9kGHb51iE/nOGvQaDUuadVYqovW56s5emA88lQnj6Y= -google.golang.org/genproto/googleapis/api v0.0.0-20230629202037-9506855d4529 h1:s5YSX+ZH5b5vS9rnpGymvIyMpLRJizowqDlOuyjXnTk= -google.golang.org/genproto/googleapis/api v0.0.0-20230629202037-9506855d4529/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 h1:bVf09lpb+OJbByTj913DRJioFFAjf/ZGxEz7MajTp2U= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM= +google.golang.org/genproto v0.0.0-20230717213848-3f92550aa753 h1:+VoAg+OKmWaommL56xmZSE2sUK8A7m6SUO7X89F2tbw= +google.golang.org/genproto v0.0.0-20230717213848-3f92550aa753/go.mod h1:iqkVr8IRpZ53gx1dEnWlCUIEwDWqWARWrbzpasaTNYM= +google.golang.org/genproto/googleapis/api v0.0.0-20230717213848-3f92550aa753 h1:lCbbUxUDD+DiXx9Q6F/ttL0aAu7N2pz8XnmMm8ZW4NE= +google.golang.org/genproto/googleapis/api v0.0.0-20230717213848-3f92550aa753/go.mod h1:rsr7RhLuwsDKL7RmgDDCUc6yaGr1iqceVb5Wv6f6YvQ= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230717213848-3f92550aa753 h1:XUODHrpzJEUeWmVo/jfNTLj0YyVveOo28oE6vkFbkO4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230717213848-3f92550aa753/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM= google.golang.org/grpc v1.12.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= @@ -2226,8 +2240,8 @@ k8s.io/api v0.25.4 h1:3YO8J4RtmG7elEgaWMb4HgmpS2CfY1QlaOz9nwB+ZSs= k8s.io/api v0.25.4/go.mod h1:IG2+RzyPQLllQxnhzD8KQNEu4c4YvyDTpSMztf4A0OQ= k8s.io/apiextensions-apiserver v0.25.3 h1:bfI4KS31w2f9WM1KLGwnwuVlW3RSRPuIsfNF/3HzR0k= k8s.io/apiextensions-apiserver v0.25.3/go.mod h1:ZJqwpCkxIx9itilmZek7JgfUAM0dnTsA48I4krPqRmo= -k8s.io/apimachinery v0.26.2 h1:da1u3D5wfR5u2RpLhE/ZtZS2P7QvDgLZTi9wrNZl/tQ= -k8s.io/apimachinery v0.26.2/go.mod h1:ats7nN1LExKHvJ9TmwootT00Yz05MuYqPXEXaVeOy5I= +k8s.io/apimachinery v0.27.3 h1:Ubye8oBufD04l9QnNtW05idcOe9Z3GQN8+7PqmuVcUM= +k8s.io/apimachinery v0.27.3/go.mod h1:XNfZ6xklnMCOGGFNqXG7bUrQCoR04dh/E7FprV6pb+E= k8s.io/cli-runtime v0.25.11 h1:GE2yNZm1tN+MJtw1SGMOLesLF7Kp7NVAVqRSTbXfu4o= k8s.io/cli-runtime v0.25.11/go.mod h1:r/nEINuHVEpgGhcd2WamU7hD1t/lMnSz8XM44Autltc= k8s.io/client-go v0.25.4 h1:3RNRDffAkNU56M/a7gUfXaEzdhZlYhoW8dgViGy5fn8= @@ -2236,12 +2250,12 @@ k8s.io/component-base v0.26.2 h1:IfWgCGUDzrD6wLLgXEstJKYZKAFS2kO+rBRi0p3LqcI= k8s.io/component-base v0.26.2/go.mod h1:DxbuIe9M3IZPRxPIzhch2m1eT7uFrSBJUBuVCQEBivs= k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg= k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f h1:2kWPakN3i/k81b0gvD5C5FJ2kxm1WrQFanWchyKuqGg= -k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f/go.mod h1:byini6yhqGC14c3ebc/QwanvYwhuMWF6yz2F8uwW8eg= +k8s.io/kube-openapi v0.0.0-20230525220651-2546d827e515 h1:OmK1d0WrkD3IPfkskvroRykOulHVHf0s0ZIFRjyt+UI= +k8s.io/kube-openapi v0.0.0-20230525220651-2546d827e515/go.mod h1:kzo02I3kQ4BTtEfVLaPbjvCkX97YqGve33wzlb3fofQ= k8s.io/kubectl v0.25.11 h1:6bsft5Gan6BCvQ7cJbDRFjTm4Zfq8GuUYpsWAdVngYE= k8s.io/kubectl v0.25.11/go.mod h1:8mIfgkFgT+yJ8/TlmPW1qoRh46H2si9q5nW8id7i9iM= -k8s.io/utils v0.0.0-20230308161112-d77c459e9343 h1:m7tbIjXGcGIAtpmQr7/NAi7RsWoW3E7Zcm4jI1HicTc= -k8s.io/utils v0.0.0-20230308161112-d77c459e9343/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +k8s.io/utils v0.0.0-20230711102312-30195339c3c7 h1:ZgnF1KZsYxWIifwSNZFZgNtWE89WI5yiP5WwlfDoIyc= +k8s.io/utils v0.0.0-20230711102312-30195339c3c7/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= nhooyr.io/websocket v1.8.7 h1:usjR2uOr/zjjkVMy0lW+PPohFok7PCow5sDjLgX4P4g= pgregory.net/rapid v0.5.5 h1:jkgx1TjbQPD/feRoK+S/mXw9e1uj6WilpHrXJowi6oA= pgregory.net/rapid v0.5.5/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= @@ -2257,7 +2271,7 @@ sigs.k8s.io/kustomize/api v0.12.1 h1:7YM7gW3kYBwtKvoY216ZzY+8hM+lV53LUayghNRJ0vM sigs.k8s.io/kustomize/api v0.12.1/go.mod h1:y3JUhimkZkR6sbLNwfJHxvo1TCLwuwm14sCYnkH6S1s= sigs.k8s.io/kustomize/kyaml v0.13.9 h1:Qz53EAaFFANyNgyOEJbT/yoIHygK40/ZcvU3rgry2Tk= sigs.k8s.io/kustomize/kyaml v0.13.9/go.mod h1:QsRbD0/KcU+wdk0/L0fIp2KLnohkVzs6fQ85/nOXac4= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= +sigs.k8s.io/structured-merge-diff/v4 v4.3.0 h1:UZbZAZfX0wV2zr7YZorDz6GXROfDFj6LvqCRm4VUVKk= +sigs.k8s.io/structured-merge-diff/v4 v4.3.0/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08= sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/integration-tests/ocr2_test.go b/integration-tests/ocr2_test.go index 8dfc6bbc..91086fd5 100644 --- a/integration-tests/ocr2_test.go +++ b/integration-tests/ocr2_test.go @@ -5,6 +5,7 @@ import ( "encoding/json" "fmt" "math/big" + "net/http" "os" "strings" "testing" @@ -27,6 +28,7 @@ import ( "github.com/cosmos/cosmos-sdk/types" txtypes "github.com/cosmos/cosmos-sdk/types/tx" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" + "github.com/prometheus/common/expfmt" "github.com/stretchr/testify/require" // "go.uber.org/zap/zapcore" ) @@ -56,7 +58,7 @@ func runOcrTest(t *testing.T, useMonitor bool) { require.NoError(t, err, "Could not create cosmos client") nodeName := "primary" - chainlinkClient, err := common.NewChainlinkClient(commonConfig.Env, commonConfig.ChainId, nodeName, commonConfig.NodeUrl, bech32Prefix) + chainlinkClient, err := common.NewChainlinkClient(commonConfig.Env, commonConfig.ChainId, nodeName, commonConfig.NodeUrl, bech32Prefix, logger) require.NoError(t, err, "Could not create chainlink client") logger.Info().Str("node addresses", strings.Join(chainlinkClient.GetNodeAddresses(), " ")).Msg("Created chainlink client") @@ -191,61 +193,11 @@ func runOcrTest(t *testing.T, useMonitor bool) { require.NoError(t, err, "Could not create jobs for contract") if useMonitor { - monitorNodesAddress := "127.0.0.1:39010" - monitorFeedsAddress := "127.0.0.1:39011" - - // used by the chainlink-relay monitoring config parser - os.Setenv("NODES_URL", "http://"+monitorNodesAddress) - os.Setenv("FEEDS_URL", "http://"+monitorFeedsAddress) - - monitorCtx, monitorCancel := context.WithCancel(context.Background()) - monitorConfig := monitoring.CosmosConfig{ - TendermintURL: commonConfig.NodeUrl, - TendermintReqsPerSec: 2, - NetworkName: "primary", - NetworkID: "cosmos-network", - ChainID: commonConfig.ChainId, - ReadTimeout: 1 * time.Minute, - PollInterval: 5 * time.Second, - LinkTokenAddress: types.MustAccAddressFromBech32(linkTokenAddress), - Bech32Prefix: bech32Prefix, - GasToken: gasToken, - } - monitor, err := monitoring.NewCosmosMonitor(monitorCtx, monitorConfig, clientLogger) - require.NoError(t, err, "Could not create cosmos monitor") - - nodeConfigJson := fmt.Sprintf("{\"id\": \"primary\", \"nodeAddress\": [\"%s\"]}", commonConfig.NodeUrl) - nodeServer := common.RunHTTPServer(t, "monitorNodes", monitorNodesAddress, map[string][]byte{ - "/": []byte(nodeConfigJson), - }) - - feedConfigJson := fmt.Sprintf(` - { - "name": "testfeed", - "path": "/testpath", - "symbol": "ABC", - "contract_address_bech32": "%s", - "proxy_address_bech32": "%s" - } - `, ocrAddress, ocrProxyAddress) - feedServer := common.RunHTTPServer(t, "monitorFeeds", monitorFeedsAddress, map[string][]byte{ - "/": []byte(feedConfigJson), - }) - - go func() { - time.Sleep(5 * time.Minute) - logger.Info().Msg("Stopping monitor") - monitorCancel() - }() - logger.Info().Msg("Running monitor") - monitor.Run() - logger.Info().Msg("Stopping monitor") - _ = nodeServer.Close() - _ = feedServer.Close() + validateRoundsMonitor(t, *commonConfig, clientLogger, bech32Prefix, gasToken, linkTokenAddress, ocrAddress, ocrProxyAddress) } else { err = validateRounds(t, cosmosClient, types.MustAccAddressFromBech32(ocrAddress), types.MustAccAddressFromBech32(ocrProxyAddress), commonConfig.IsSoak, commonConfig.TestDuration) + require.NoError(t, err, "Validating round should not fail") } - require.NoError(t, err, "Validating round should not fail") // Tear down local stack commonConfig.TearDownLocalEnvironment(t) @@ -408,3 +360,143 @@ func validateRounds(t *testing.T, cosmosClient *client.Client, ocrAddress types. return nil } + +// todo: this currently doesnt support soak testing +func validateRoundsMonitor(t *testing.T, config common.Common, relayLogger relaylogger.Logger, bech32Prefix string, gasToken string, linkTokenAddress string, ocrAddress string, ocrProxyAddress string) { + logger := common.GetTestLogger(t) + + // used by the chainlink-relay monitoring config parser + monitorNodesAddress := "127.0.0.1:39010" + monitorFeedsAddress := "127.0.0.1:39011" + os.Setenv("NODES_URL", "http://"+monitorNodesAddress) + os.Setenv("FEEDS_URL", "http://"+monitorFeedsAddress) + os.Setenv("HTTP_ADDRESS", "localhost:3000") + os.Setenv("SCHEMA_REGISTRY_URL", "http://localhost:8989") + + os.Setenv("KAFKA_SECURITY_PROTOCOL", "SASL_PLAINTEXT") + os.Setenv("KAFKA_TRANSMISSION_TOPIC", "transmission_topic") + os.Setenv("KAFKA_CLIENT_ID", "cosmos") + os.Setenv("KAFKA_BROKERS", "localhost:29092") + os.Setenv("KAFKA_CONFIG_SET_SIMPLIFIED_TOPIC", "config_set_simplified") + os.Setenv("KAFKA_SASL_MECHANISM", "PLAIN") + os.Setenv("KAFKA_SASL_USERNAME", "user") + os.Setenv("KAFKA_SASL_PASSWORD", "pass") + + monitorCtx, monitorCancel := context.WithCancel(context.Background()) + monitorConfig := monitoring.CosmosConfig{ + TendermintURL: config.NodeUrl, + TendermintReqsPerSec: 2, + NetworkName: "primary", + NetworkID: "cosmos-network", + ChainID: config.ChainId, + ReadTimeout: 1 * time.Minute, + PollInterval: 5 * time.Second, + LinkTokenAddress: types.MustAccAddressFromBech32(linkTokenAddress), + Bech32Prefix: bech32Prefix, + GasToken: gasToken, + } + monitor, err := monitoring.NewCosmosMonitor(monitorCtx, monitorConfig, relayLogger) + require.NoError(t, err, "Could not create cosmos monitor") + + nodeConfigJson := fmt.Sprintf("[{\"id\": \"primary\", \"nodeAddress\": [\"%s\"]}]", config.NodeUrl) + nodeServer := common.RunHTTPServer(t, "monitorNodes", monitorNodesAddress, map[string][]byte{ + "/": []byte(nodeConfigJson), + }) + + feedConfigJson := fmt.Sprintf(` + [{ + "name": "testfeed", + "path": "/testpath", + "symbol": "ABC", + "contract_address_bech32": "%s", + "proxy_address_bech32": "%s" + }] + `, ocrAddress, ocrProxyAddress) + feedServer := common.RunHTTPServer(t, "monitorFeeds", monitorFeedsAddress, map[string][]byte{ + "/": []byte(feedConfigJson), + }) + + start := time.Now() + go func() { + type TransmissionDetails struct { + Round float64 + LatestAnswer float64 + } + previous := TransmissionDetails{} + + var parser expfmt.TextParser + + // testing variables + mockAdapterValue := 5 // TODO(BCI-1746): dynamic mock-adapter values + rounds := 10 + increasing := 0 + stuck := 0 + + req, err := http.NewRequest("GET", "http://localhost:3000/metrics", nil) + require.NoError(t, err, "Could not create request") + + time.Sleep(10 * time.Second) // wait a total of 15 seconds before starting + // poll prometheus metrics every 5 seconds + for { + time.Sleep(5 * time.Second) + + // end condition: enough rounds have occurred + if increasing >= rounds { + logger.Info().Msg("Enough rounds have been observed") + monitorCancel() + return + } + + // end condition: rounds have been stuck + if stuck > 30 { + require.Fail(t, "rounds have been stuck for too long") + monitorCancel() + return + } + + // end condition: test timeout + if time.Since(start) > config.TestDuration { + require.Fail(t, "test timeout") + monitorCancel() + return + } + + // fetch prometheus metrics + res, err := http.DefaultClient.Do(req) + require.NoError(t, err, "Could not get prometheus metrics") + mf, err := parser.TextToMetricFamilies(res.Body) + require.NoError(t, err, "Could not parse prometheus metrics") + res.Body.Close() + + if mf["offchain_aggregator_round_id"] == nil { + fmt.Println("no transmissions yet") + continue + } + round := mf["offchain_aggregator_round_id"].GetMetric()[0].GetGauge().GetValue() + fmt.Println("round:", round) + require.GreaterOrEqual(t, round, previous.Round, "round should be increasing") + + latestAnswer := mf["offchain_aggregator_answers"].GetMetric()[0].GetGauge().GetValue() + fmt.Println("latest answer:", latestAnswer) + require.Equal(t, int(latestAnswer), mockAdapterValue, "latest answer should match mock adapter value") + + if round > previous.Round { + increasing++ + stuck = 0 + } else { + stuck++ + } + + previous = TransmissionDetails{ + Round: round, + LatestAnswer: latestAnswer, + } + } + }() + + logger.Info().Msg("Running monitor...") + monitor.Run() + logger.Info().Msg("Monitor stopped.") + nodeServer.Close() + feedServer.Close() +} diff --git a/ops/monitoring/docker-compose.yml b/ops/monitoring/docker-compose.yml new file mode 100644 index 00000000..62a57b14 --- /dev/null +++ b/ops/monitoring/docker-compose.yml @@ -0,0 +1,49 @@ +--- +version: '3' +services: + zookeeper: + image: confluentinc/cp-zookeeper:6.2.1 + hostname: zookeeper + container_name: zookeeper + ports: + - "2181:2181" + environment: + ZOOKEEPER_CLIENT_PORT: 2181 + ZOOKEEPER_TICK_TIME: 2000 + + kafka: + image: confluentinc/cp-kafka:6.2.1 + hostname: kafka + container_name: kafka + depends_on: + - zookeeper + ports: + - "29092:29092" + environment: + KAFKA_BROKER_ID: 1 + KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:2181' + KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT + KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,PLAINTEXT_HOST://localhost:29092 + KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 + KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0 + KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1 + KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1 + KAFKA_SOCKET_REQUEST_MAX_BYTES: 80001200 + KAFKA_MESSAGE_MAX_BYTES: 80001200 + KAFKA_CFG_MAX_REQUEST_SIZE: 80001200 + + schema-registry: + image: confluentinc/cp-schema-registry:6.2.1 + hostname: schema-registry + container_name: schema-registry + depends_on: + - zookeeper + - kafka + ports: + - "8989:8989" + environment: + SCHEMA_REGISTRY_HOST_NAME: schema-registry + SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL: 'zookeeper:2181' + SCHEMA_REGISTRY_DEBUG: 'true' + SCHEMA_REGISTRY_LISTENERS: 'http://schema-registry:8989' + SCHEMA_REGISTRY_SCHEMA_COMPATIBILITY_LEVEL: 'full_transitive' diff --git a/pkg/monitoring/feed_config.go b/pkg/monitoring/feed_config.go index ef83e029..9f91d083 100644 --- a/pkg/monitoring/feed_config.go +++ b/pkg/monitoring/feed_config.go @@ -121,11 +121,12 @@ func CosmosFeedsParser(buf io.ReadCloser) ([]relayMonitoring.FeedConfig, error) } proxyAddress = address } + // NOTE: multiply is not required so if a parse error occurs, we'll use 0. multiply, ok := new(big.Int).SetString(rawFeed.MultiplyRaw, 10) if !ok { - return nil, fmt.Errorf("failed to parse multiply '%s' into a big.Int", rawFeed.MultiplyRaw) + multiply = new(big.Int).SetInt64(0) } - // NOTE: multiply is not required so if a parse error occurs, we'll use 0. + feeds[i] = relayMonitoring.FeedConfig(CosmosFeedConfig{ rawFeed.Name, rawFeed.Path, From 98263346fc15642c3d0d975e8450bdcd9d1edc9a Mon Sep 17 00:00:00 2001 From: Calvin Wang Date: Tue, 26 Sep 2023 16:23:04 +1000 Subject: [PATCH 4/7] linting and formatting --- cmd/monitoring/main.go | 3 ++- integration-tests/common/monitor_util.go | 5 ++++- integration-tests/go.mod | 2 +- pkg/monitoring/source_envelope.go | 3 ++- pkg/monitoring/source_txresults_test.go | 7 ++++--- 5 files changed, 13 insertions(+), 7 deletions(-) diff --git a/cmd/monitoring/main.go b/cmd/monitoring/main.go index 3b49bc1d..1dd04cb9 100644 --- a/cmd/monitoring/main.go +++ b/cmd/monitoring/main.go @@ -5,9 +5,10 @@ import ( "log" "os" + "github.com/smartcontractkit/chainlink-relay/pkg/logger" + "github.com/smartcontractkit/chainlink-cosmos/pkg/cosmos/params" "github.com/smartcontractkit/chainlink-cosmos/pkg/monitoring" - "github.com/smartcontractkit/chainlink-relay/pkg/logger" ) func main() { diff --git a/integration-tests/common/monitor_util.go b/integration-tests/common/monitor_util.go index 847d8ca9..3b1d5f94 100644 --- a/integration-tests/common/monitor_util.go +++ b/integration-tests/common/monitor_util.go @@ -4,6 +4,8 @@ import ( "log" "net/http" "testing" + + "github.com/stretchr/testify/require" ) func RunHTTPServer(t *testing.T, serverName, serverAddress string, responses map[string][]byte) *http.Server { @@ -13,7 +15,8 @@ func RunHTTPServer(t *testing.T, serverName, serverAddress string, responses map handler.HandleFunc(path, func(w http.ResponseWriter, r *http.Request) { log.Printf("%s received request for %s\n", serverName, path) w.Header().Set("Content-Type", "application/octet-stream") - w.Write(response) + _, err := w.Write(response) + require.NoError(t, err, "failed to write response") }) } diff --git a/integration-tests/go.mod b/integration-tests/go.mod index e12b4f50..671dad8c 100644 --- a/integration-tests/go.mod +++ b/integration-tests/go.mod @@ -7,6 +7,7 @@ require ( github.com/cosmos/cosmos-sdk v0.47.4 github.com/google/uuid v1.3.1 github.com/lib/pq v1.10.9 + github.com/prometheus/common v0.44.0 github.com/rs/zerolog v1.30.0 github.com/smartcontractkit/chainlink-cosmos v0.4.1-0.20230919072229-8d1773b9822a github.com/smartcontractkit/chainlink-cosmos/ops v0.0.0-20230615043323-5fe39e28b7ee @@ -288,7 +289,6 @@ require ( github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect github.com/prometheus/client_golang v1.16.0 // indirect github.com/prometheus/client_model v0.4.0 // indirect - github.com/prometheus/common v0.44.0 // indirect github.com/prometheus/procfs v0.11.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/riferrei/srclient v0.5.4 // indirect diff --git a/pkg/monitoring/source_envelope.go b/pkg/monitoring/source_envelope.go index bc52e3dc..4c7ea4cc 100644 --- a/pkg/monitoring/source_envelope.go +++ b/pkg/monitoring/source_envelope.go @@ -15,9 +15,10 @@ import ( "github.com/cosmos/cosmos-sdk/types/tx" "go.uber.org/multierr" - "github.com/smartcontractkit/chainlink-cosmos/pkg/cosmos/adapters/cosmwasm" relayMonitoring "github.com/smartcontractkit/chainlink-relay/pkg/monitoring" "github.com/smartcontractkit/libocr/offchainreporting2/types" + + "github.com/smartcontractkit/chainlink-cosmos/pkg/cosmos/adapters/cosmwasm" ) // NewEnvelopeSourceFactory build a new object that reads observations and diff --git a/pkg/monitoring/source_txresults_test.go b/pkg/monitoring/source_txresults_test.go index b13843b4..6af32040 100644 --- a/pkg/monitoring/source_txresults_test.go +++ b/pkg/monitoring/source_txresults_test.go @@ -7,8 +7,9 @@ import ( "github.com/stretchr/testify/require" - "github.com/smartcontractkit/chainlink-cosmos/pkg/monitoring/mocks" relayMonitoring "github.com/smartcontractkit/chainlink-relay/pkg/monitoring" + + "github.com/smartcontractkit/chainlink-cosmos/pkg/monitoring/mocks" ) func TestTxResultsSource(t *testing.T) { @@ -39,9 +40,9 @@ func TestTxResultsSource(t *testing.T) { factory := NewTxResultsSourceFactory(rpcClient) source, err := factory.NewSource(chainConfig, feedConfig) require.NoError(t, err) - data, err := source.Fetch(ctx) + _, err = source.Fetch(ctx) require.NoError(t, err) - data, err = source.Fetch(ctx) + data, err := source.Fetch(ctx) require.NoError(t, err) // Assertions From 7ea1c60f2292632f33e17e35603783bad43597fe Mon Sep 17 00:00:00 2001 From: Calvin Wang Date: Tue, 26 Sep 2023 17:25:21 +1000 Subject: [PATCH 5/7] more linting --- integration-tests/common/client.go | 9 +++++---- integration-tests/common/monitor_util.go | 6 ++++-- integration-tests/ocr2_test.go | 18 ++++++++++-------- 3 files changed, 19 insertions(+), 14 deletions(-) diff --git a/integration-tests/common/client.go b/integration-tests/common/client.go index 9cdaa14c..d46766cf 100644 --- a/integration-tests/common/client.go +++ b/integration-tests/common/client.go @@ -11,18 +11,19 @@ import ( "github.com/rs/zerolog" "gopkg.in/guregu/null.v4" - "github.com/smartcontractkit/chainlink-cosmos/pkg/cosmos/params" "github.com/smartcontractkit/chainlink-env/environment" "github.com/smartcontractkit/chainlink/integration-tests/client" "github.com/smartcontractkit/chainlink/v2/core/services/job" "github.com/smartcontractkit/chainlink/v2/core/services/relay" + + "github.com/smartcontractkit/chainlink-cosmos/pkg/cosmos/params" ) type ChainlinkClient struct { bech32Prefix string ChainlinkNodes []*client.ChainlinkClient NodeKeys []client.NodeKeysBundle - bTypeAttr *client.BridgeTypeAttributes + // bTypeAttr *client.BridgeTypeAttributes bootstrapPeers []client.P2PData } @@ -33,7 +34,7 @@ func NewChainlinkClient(env *environment.Environment, nodeName string, chainId s if err != nil { return nil, err } - if nodes == nil || len(nodes) == 0 { + if len(nodes) == 0 { return nil, errors.New("No connected nodes") } @@ -42,7 +43,7 @@ func NewChainlinkClient(env *environment.Environment, nodeName string, chainId s return nil, err } - if nodeKeys == nil || len(nodeKeys) == 0 { + if len(nodeKeys) == 0 { return nil, errors.New("No node keys") } diff --git a/integration-tests/common/monitor_util.go b/integration-tests/common/monitor_util.go index 3b1d5f94..d3640b5d 100644 --- a/integration-tests/common/monitor_util.go +++ b/integration-tests/common/monitor_util.go @@ -4,6 +4,7 @@ import ( "log" "net/http" "testing" + "time" "github.com/stretchr/testify/require" ) @@ -21,8 +22,9 @@ func RunHTTPServer(t *testing.T, serverName, serverAddress string, responses map } server := &http.Server{ - Addr: serverAddress, - Handler: handler, + Addr: serverAddress, + Handler: handler, + ReadHeaderTimeout: 10 * time.Second, } go func() { diff --git a/integration-tests/ocr2_test.go b/integration-tests/ocr2_test.go index 91086fd5..0a46065a 100644 --- a/integration-tests/ocr2_test.go +++ b/integration-tests/ocr2_test.go @@ -11,6 +11,8 @@ import ( "testing" "time" + relaylogger "github.com/smartcontractkit/chainlink-relay/pkg/logger" + "github.com/smartcontractkit/chainlink-cosmos/integration-tests/common" "github.com/smartcontractkit/chainlink-cosmos/integration-tests/gauntlet" "github.com/smartcontractkit/chainlink-cosmos/ops/utils" @@ -19,7 +21,6 @@ import ( "github.com/smartcontractkit/chainlink-cosmos/pkg/cosmos/params" "github.com/smartcontractkit/chainlink-cosmos/pkg/cosmos/testutil" "github.com/smartcontractkit/chainlink-cosmos/pkg/monitoring" - relaylogger "github.com/smartcontractkit/chainlink-relay/pkg/logger" // "github.com/smartcontractkit/chainlink/integration-tests/actions" ocrtypes "github.com/smartcontractkit/libocr/offchainreporting2/types" @@ -39,6 +40,7 @@ func TestOCRBasic(t *testing.T) { } func runOcrTest(t *testing.T, useMonitor bool) { + var err error // Set up test environment logger := common.GetTestLogger(t) commonConfig := common.NewCommon(t) @@ -74,8 +76,8 @@ func runOcrTest(t *testing.T, useMonitor bool) { for i, nodeAddr := range chainlinkClient.GetNodeAddresses() { to := types.MustAccAddressFromBech32(nodeAddr) msgSend := banktypes.NewMsgSend(testAccount, to, amount) - resp, err := cosmosClient.SignAndBroadcast([]types.Msg{msgSend}, accountNumber, sequenceNumber+uint64(i), gasPrice, privateKey, txtypes.BroadcastMode_BROADCAST_MODE_SYNC) - require.NoError(t, err, "Could not send tokens") + resp, signErr := cosmosClient.SignAndBroadcast([]types.Msg{msgSend}, accountNumber, sequenceNumber+uint64(i), gasPrice, privateKey, txtypes.BroadcastMode_BROADCAST_MODE_SYNC) + require.NoError(t, signErr, "Could not send tokens") logger.Info().Str("from", testAccount.String()). Str("to", nodeAddr). Str("amount", "10000000"). @@ -85,8 +87,8 @@ func runOcrTest(t *testing.T, useMonitor bool) { tx, success := client.AwaitTxCommitted(t, cosmosClient, resp.TxResponse.TxHash) require.True(t, success) require.Equal(t, cometbfttypes.CodeTypeOK, tx.TxResponse.Code) - balance, err := cosmosClient.Balance(to, "ucosm") - require.NoError(t, err, "Could not fetch ucosm balance") + balance, balErr := cosmosClient.Balance(to, "ucosm") + require.NoError(t, balErr, "Could not fetch ucosm balance") require.Equal(t, balance.String(), "10000000ucosm") } @@ -238,7 +240,7 @@ func validateRounds(t *testing.T, cosmosClient *client.Client, ocrAddress types. linkResponse := struct { Amount string `json:"amount"` }{} - if err := json.Unmarshal(resp, &linkResponse); err != nil { + if err = json.Unmarshal(resp, &linkResponse); err != nil { return err } logger.Info().Str("amount", linkResponse.Amount).Msg("Queried link available for payment") @@ -264,8 +266,8 @@ func validateRounds(t *testing.T, cosmosClient *client.Client, ocrAddress types. for start := time.Now(); time.Since(start) < testDuration; { logger.Info().Msg(fmt.Sprintf("Elapsed time: %s, Round wait: %s ", time.Since(start), testDuration)) - configDigest, epoch, round, latestAnswer, latestTimestamp, err := ocrReader.LatestTransmissionDetails(ctx) - require.NoError(t, err, "Failed to get latest transmission details") + configDigest, epoch, round, latestAnswer, latestTimestamp, readErr := ocrReader.LatestTransmissionDetails(ctx) + require.NoError(t, readErr, "Failed to get latest transmission details") // end condition: enough rounds have occurred if !isSoak && increasing >= rounds && positive { break From 53abe7b5b70460fd6b64d1ab7bc08adf5dd791d2 Mon Sep 17 00:00:00 2001 From: Calvin Wang Date: Tue, 26 Sep 2023 21:32:00 +1000 Subject: [PATCH 6/7] add monitor dependencies to CI --- .github/workflows/integration-tests-docker.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/integration-tests-docker.yml b/.github/workflows/integration-tests-docker.yml index 12ffddb2..3aa31f92 100644 --- a/.github/workflows/integration-tests-docker.yml +++ b/.github/workflows/integration-tests-docker.yml @@ -61,6 +61,11 @@ jobs: mkdir -p -m 777 target/debug artifacts make build_contracts + - name: Run Cosmos monitor dependencies + run: | + cd ops/monitoring + docker-compose up -d + - name: Run Test env: CORE_IMAGE: 'local_chainlink' From 440b896f6d6be04fac4df7de7a5c6173b6c7f85d Mon Sep 17 00:00:00 2001 From: Calvin Wang Date: Wed, 27 Sep 2023 15:27:24 +1000 Subject: [PATCH 7/7] fix unit tests --- .../fixtures/new_transmission-txs.json | 202 ++++++++---------- pkg/monitoring/fixtures/set_config-block.json | 40 ++-- pkg/monitoring/source_envelope_test.go | 46 +++- 3 files changed, 153 insertions(+), 135 deletions(-) diff --git a/pkg/monitoring/fixtures/new_transmission-txs.json b/pkg/monitoring/fixtures/new_transmission-txs.json index ea258977..e20af340 100644 --- a/pkg/monitoring/fixtures/new_transmission-txs.json +++ b/pkg/monitoring/fixtures/new_transmission-txs.json @@ -1,7 +1,7 @@ { "next": 266535836, "limit": 10, - "txs": [ + "tx_responses": [ { "id": 266538973, "chainId": "columbus-5", @@ -56,9 +56,7 @@ }, "logs": [ { - "log": { - "tax": "" - }, + "log": "", "events": [ { "type": "execute_contract", @@ -68,7 +66,7 @@ "value": "wasm1tfx3q08q780u9uu4qlw0drn375uktfka7kgh93" }, { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" } ] @@ -77,7 +75,7 @@ "type": "from_contract", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -111,7 +109,7 @@ "type": "wasm", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -128,7 +126,7 @@ "type": "wasm-new_transmission", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -241,7 +239,7 @@ "type": "wasm-transmitted", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -258,12 +256,12 @@ "msg_index": 0 } ], - "height": "7364948", + "height": 7364948, "txhash": "6CA3F2BD85C6A8A6FFF6E2FD22EC1DF5EEB666260904F4FEDDCD25A9528F9319", "raw_log": "[{\"events\":[{\"type\":\"execute_contract\",\"attributes\":[{\"key\":\"sender\",\"value\":\"wasm1tfx3q08q780u9uu4qlw0drn375uktfka7kgh93\"},{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"}]},{\"type\":\"from_contract\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"method\",\"value\":\"transmit\"},{\"key\":\"method\",\"value\":\"transmit\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmwasm.wasm.v1.MsgExecuteContract\"},{\"key\":\"module\",\"value\":\"wasm\"},{\"key\":\"sender\",\"value\":\"wasm1tfx3q08q780u9uu4qlw0drn375uktfka7kgh93\"}]},{\"type\":\"wasm\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"method\",\"value\":\"transmit\"},{\"key\":\"method\",\"value\":\"transmit\"}]},{\"type\":\"wasm-new_transmission\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"aggregator_round_id\",\"value\":\"77517\"},{\"key\":\"answer\",\"value\":\"295998430000\"},{\"key\":\"transmitter\",\"value\":\"wasm1tfx3q08q780u9uu4qlw0drn375uktfka7kgh93\"},{\"key\":\"observations_timestamp\",\"value\":\"1650737158\"},{\"key\":\"observers\",\"value\":\"090c030d0e0608070104020b050a000f000000000000000000000000000000\"},{\"key\":\"juels_per_fee_coin\",\"value\":\"6795709425983940047\"},{\"key\":\"config_digest\",\"value\":\"0002287cd424d40b9eb75838e13f54f920bd03913b6e6364834d8d1a8834a6e7\"},{\"key\":\"epoch\",\"value\":\"44554\"},{\"key\":\"round\",\"value\":\"1\"},{\"key\":\"reimbursement\",\"value\":\"20049598982182049\"},{\"key\":\"observations\",\"value\":\"295923479947\"},{\"key\":\"observations\",\"value\":\"295923479947\"},{\"key\":\"observations\",\"value\":\"295923479947\"},{\"key\":\"observations\",\"value\":\"295942000000\"},{\"key\":\"observations\",\"value\":\"295956000000\"},{\"key\":\"observations\",\"value\":\"295979000000\"},{\"key\":\"observations\",\"value\":\"295998430000\"},{\"key\":\"observations\",\"value\":\"295998430000\"},{\"key\":\"observations\",\"value\":\"295998430000\"},{\"key\":\"observations\",\"value\":\"295998430000\"},{\"key\":\"observations\",\"value\":\"296029000000\"},{\"key\":\"observations\",\"value\":\"296045000000\"},{\"key\":\"observations\",\"value\":\"296045000000\"},{\"key\":\"observations\",\"value\":\"296045000000\"},{\"key\":\"observations\",\"value\":\"296081800418\"},{\"key\":\"observations\",\"value\":\"296124302123\"}]},{\"type\":\"wasm-transmitted\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"config_digest\",\"value\":\"0002287cd424d40b9eb75838e13f54f920bd03913b6e6364834d8d1a8834a6e7\"},{\"key\":\"epoch\",\"value\":\"44554\"}]}]}]", - "gas_used": "171716", + "gas_used": 171716, "timestamp": "2022-04-23T18:05:56Z", - "gas_wanted": "241278" + "gas_wanted": 241278 }, { "id": 266538646, @@ -319,9 +317,7 @@ }, "logs": [ { - "log": { - "tax": "" - }, + "log": "", "events": [ { "type": "execute_contract", @@ -331,7 +327,7 @@ "value": "wasm16mk5h5ma7ksr2vqpxcsaqxjny2ea68jap8mf6a" }, { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" } ] @@ -340,7 +336,7 @@ "type": "from_contract", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -374,7 +370,7 @@ "type": "wasm", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -391,7 +387,7 @@ "type": "wasm-new_transmission", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -500,7 +496,7 @@ "type": "wasm-transmitted", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -517,12 +513,12 @@ "msg_index": 0 } ], - "height": "7364940", + "height": 7364940, "txhash": "DFAAA1CEC5F0F2AD161340624627EE16B880DC5CDF620575F8DC70D0100277CE", "raw_log": "[{\"events\":[{\"type\":\"execute_contract\",\"attributes\":[{\"key\":\"sender\",\"value\":\"wasm16mk5h5ma7ksr2vqpxcsaqxjny2ea68jap8mf6a\"},{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"}]},{\"type\":\"from_contract\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"method\",\"value\":\"transmit\"},{\"key\":\"method\",\"value\":\"transmit\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmwasm.wasm.v1.MsgExecuteContract\"},{\"key\":\"module\",\"value\":\"wasm\"},{\"key\":\"sender\",\"value\":\"wasm16mk5h5ma7ksr2vqpxcsaqxjny2ea68jap8mf6a\"}]},{\"type\":\"wasm\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"method\",\"value\":\"transmit\"},{\"key\":\"method\",\"value\":\"transmit\"}]},{\"type\":\"wasm-new_transmission\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"aggregator_round_id\",\"value\":\"77516\"},{\"key\":\"answer\",\"value\":\"295965828531\"},{\"key\":\"transmitter\",\"value\":\"wasm16mk5h5ma7ksr2vqpxcsaqxjny2ea68jap8mf6a\"},{\"key\":\"observations_timestamp\",\"value\":\"1650737102\"},{\"key\":\"observers\",\"value\":\"0708010d090c030602040b050a000f00000000000000000000000000000000\"},{\"key\":\"juels_per_fee_coin\",\"value\":\"6795692267667665780\"},{\"key\":\"config_digest\",\"value\":\"0002287cd424d40b9eb75838e13f54f920bd03913b6e6364834d8d1a8834a6e7\"},{\"key\":\"epoch\",\"value\":\"44553\"},{\"key\":\"round\",\"value\":\"6\"},{\"key\":\"reimbursement\",\"value\":\"20049548359452479\"},{\"key\":\"observations\",\"value\":\"295913350000\"},{\"key\":\"observations\",\"value\":\"295913350000\"},{\"key\":\"observations\",\"value\":\"295913350000\"},{\"key\":\"observations\",\"value\":\"295933657063\"},{\"key\":\"observations\",\"value\":\"295933657063\"},{\"key\":\"observations\",\"value\":\"295933657063\"},{\"key\":\"observations\",\"value\":\"295935828912\"},{\"key\":\"observations\",\"value\":\"295965828531\"},{\"key\":\"observations\",\"value\":\"295967000000\"},{\"key\":\"observations\",\"value\":\"295975000000\"},{\"key\":\"observations\",\"value\":\"295988000000\"},{\"key\":\"observations\",\"value\":\"295988000000\"},{\"key\":\"observations\",\"value\":\"295988000000\"},{\"key\":\"observations\",\"value\":\"296026779715\"},{\"key\":\"observations\",\"value\":\"296075922341\"}]},{\"type\":\"wasm-transmitted\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"config_digest\",\"value\":\"0002287cd424d40b9eb75838e13f54f920bd03913b6e6364834d8d1a8834a6e7\"},{\"key\":\"epoch\",\"value\":\"44553\"}]}]}]", - "gas_used": "171272", + "gas_used": 171272, "timestamp": "2022-04-23T18:05:05Z", - "gas_wanted": "240765" + "gas_wanted": 240765 }, { "id": 266538258, @@ -578,9 +574,7 @@ }, "logs": [ { - "log": { - "tax": "" - }, + "log": "", "events": [ { "type": "execute_contract", @@ -590,7 +584,7 @@ "value": "wasm16vueyxmul8kczd0nxvw0ge7kzfzpmtsgqc9tup" }, { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" } ] @@ -599,7 +593,7 @@ "type": "from_contract", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -633,7 +627,7 @@ "type": "wasm", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -650,7 +644,7 @@ "type": "wasm-new_transmission", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -755,7 +749,7 @@ "type": "wasm-transmitted", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -772,12 +766,12 @@ "msg_index": 0 } ], - "height": "7364931", + "height": 7364931, "txhash": "3E178667C50C93E2CF72364CCF5E5FCA0EC6D1BEAD52460B37E7F844F1E5A926", "raw_log": "[{\"events\":[{\"type\":\"execute_contract\",\"attributes\":[{\"key\":\"sender\",\"value\":\"wasm16vueyxmul8kczd0nxvw0ge7kzfzpmtsgqc9tup\"},{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"}]},{\"type\":\"from_contract\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"method\",\"value\":\"transmit\"},{\"key\":\"method\",\"value\":\"transmit\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmwasm.wasm.v1.MsgExecuteContract\"},{\"key\":\"module\",\"value\":\"wasm\"},{\"key\":\"sender\",\"value\":\"wasm16vueyxmul8kczd0nxvw0ge7kzfzpmtsgqc9tup\"}]},{\"type\":\"wasm\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"method\",\"value\":\"transmit\"},{\"key\":\"method\",\"value\":\"transmit\"}]},{\"type\":\"wasm-new_transmission\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"aggregator_round_id\",\"value\":\"77515\"},{\"key\":\"answer\",\"value\":\"295962000000\"},{\"key\":\"transmitter\",\"value\":\"wasm16vueyxmul8kczd0nxvw0ge7kzfzpmtsgqc9tup\"},{\"key\":\"observations_timestamp\",\"value\":\"1650737046\"},{\"key\":\"observers\",\"value\":\"0d0c03090108070402060b0a000f0000000000000000000000000000000000\"},{\"key\":\"juels_per_fee_coin\",\"value\":\"6799736564634271522\"},{\"key\":\"config_digest\",\"value\":\"0002287cd424d40b9eb75838e13f54f920bd03913b6e6364834d8d1a8834a6e7\"},{\"key\":\"epoch\",\"value\":\"44552\"},{\"key\":\"round\",\"value\":\"11\"},{\"key\":\"reimbursement\",\"value\":\"20061480378210559\"},{\"key\":\"observations\",\"value\":\"295903549619\"},{\"key\":\"observations\",\"value\":\"295903549619\"},{\"key\":\"observations\",\"value\":\"295933531245\"},{\"key\":\"observations\",\"value\":\"295933531245\"},{\"key\":\"observations\",\"value\":\"295950080000\"},{\"key\":\"observations\",\"value\":\"295953560000\"},{\"key\":\"observations\",\"value\":\"295953560000\"},{\"key\":\"observations\",\"value\":\"295962000000\"},{\"key\":\"observations\",\"value\":\"295966000000\"},{\"key\":\"observations\",\"value\":\"295968765622\"},{\"key\":\"observations\",\"value\":\"296009000000\"},{\"key\":\"observations\",\"value\":\"296009000000\"},{\"key\":\"observations\",\"value\":\"296030277614\"},{\"key\":\"observations\",\"value\":\"296072915129\"}]},{\"type\":\"wasm-transmitted\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"config_digest\",\"value\":\"0002287cd424d40b9eb75838e13f54f920bd03913b6e6364834d8d1a8834a6e7\"},{\"key\":\"epoch\",\"value\":\"44552\"}]}]}]", - "gas_used": "170993", + "gas_used": 170993, "timestamp": "2022-04-23T18:04:06Z", - "gas_wanted": "240243" + "gas_wanted": 240243 }, { "id": 266537887, @@ -833,9 +827,7 @@ }, "logs": [ { - "log": { - "tax": "" - }, + "log": "", "events": [ { "type": "execute_contract", @@ -845,7 +837,7 @@ "value": "wasm14szqs99f0jap3f4lwqvavnct23gq2jrj9qg6nf" }, { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" } ] @@ -854,7 +846,7 @@ "type": "from_contract", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -888,7 +880,7 @@ "type": "wasm", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -905,7 +897,7 @@ "type": "wasm-new_transmission", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -1010,7 +1002,7 @@ "type": "wasm-transmitted", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -1027,12 +1019,12 @@ "msg_index": 0 } ], - "height": "7364923", + "height": 7364923, "txhash": "9F014F6064341B17DC8C5D15A2FC665E03A1D8D0707AD08B361746F117CD9315", "raw_log": "[{\"events\":[{\"type\":\"execute_contract\",\"attributes\":[{\"key\":\"sender\",\"value\":\"wasm14szqs99f0jap3f4lwqvavnct23gq2jrj9qg6nf\"},{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"}]},{\"type\":\"from_contract\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"method\",\"value\":\"transmit\"},{\"key\":\"method\",\"value\":\"transmit\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmwasm.wasm.v1.MsgExecuteContract\"},{\"key\":\"module\",\"value\":\"wasm\"},{\"key\":\"sender\",\"value\":\"wasm14szqs99f0jap3f4lwqvavnct23gq2jrj9qg6nf\"}]},{\"type\":\"wasm\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"method\",\"value\":\"transmit\"},{\"key\":\"method\",\"value\":\"transmit\"}]},{\"type\":\"wasm-new_transmission\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"aggregator_round_id\",\"value\":\"77514\"},{\"key\":\"answer\",\"value\":\"296005000000\"},{\"key\":\"transmitter\",\"value\":\"wasm14szqs99f0jap3f4lwqvavnct23gq2jrj9qg6nf\"},{\"key\":\"observations_timestamp\",\"value\":\"1650736982\"},{\"key\":\"observers\",\"value\":\"070401080c0b0a090d030006020f0000000000000000000000000000000000\"},{\"key\":\"juels_per_fee_coin\",\"value\":\"6796456140716877378\"},{\"key\":\"config_digest\",\"value\":\"0002287cd424d40b9eb75838e13f54f920bd03913b6e6364834d8d1a8834a6e7\"},{\"key\":\"epoch\",\"value\":\"44552\"},{\"key\":\"round\",\"value\":\"3\"},{\"key\":\"reimbursement\",\"value\":\"20051802038553506\"},{\"key\":\"observations\",\"value\":\"295992000000\"},{\"key\":\"observations\",\"value\":\"295992000000\"},{\"key\":\"observations\",\"value\":\"295998000000\"},{\"key\":\"observations\",\"value\":\"295998000000\"},{\"key\":\"observations\",\"value\":\"296005000000\"},{\"key\":\"observations\",\"value\":\"296005000000\"},{\"key\":\"observations\",\"value\":\"296005000000\"},{\"key\":\"observations\",\"value\":\"296005000000\"},{\"key\":\"observations\",\"value\":\"296016435502\"},{\"key\":\"observations\",\"value\":\"296034709709\"},{\"key\":\"observations\",\"value\":\"296040786916\"},{\"key\":\"observations\",\"value\":\"296045217751\"},{\"key\":\"observations\",\"value\":\"296071000000\"},{\"key\":\"observations\",\"value\":\"296107150654\"}]},{\"type\":\"wasm-transmitted\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"config_digest\",\"value\":\"0002287cd424d40b9eb75838e13f54f920bd03913b6e6364834d8d1a8834a6e7\"},{\"key\":\"epoch\",\"value\":\"44552\"}]}]}]", - "gas_used": "170963", + "gas_used": 170963, "timestamp": "2022-04-23T18:03:14Z", - "gas_wanted": "240194" + "gas_wanted": 240194 }, { "id": 266537470, @@ -1088,9 +1080,7 @@ }, "logs": [ { - "log": { - "tax": "" - }, + "log": "", "events": [ { "type": "execute_contract", @@ -1100,7 +1090,7 @@ "value": "wasm167h3sh8c4pgs8grxz24pam2x764flydv3h9pd8" }, { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" } ] @@ -1109,7 +1099,7 @@ "type": "from_contract", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -1143,7 +1133,7 @@ "type": "wasm", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -1160,7 +1150,7 @@ "type": "wasm-new_transmission", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -1269,7 +1259,7 @@ "type": "wasm-transmitted", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -1286,12 +1276,12 @@ "msg_index": 0 } ], - "height": "7364914", + "height": 7364914, "txhash": "5F975006A9EA8384B3DA74BFAD98B000A8335399CE88B9003AD60C7B4CF5F07D", "raw_log": "[{\"events\":[{\"type\":\"execute_contract\",\"attributes\":[{\"key\":\"sender\",\"value\":\"wasm167h3sh8c4pgs8grxz24pam2x764flydv3h9pd8\"},{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"}]},{\"type\":\"from_contract\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"method\",\"value\":\"transmit\"},{\"key\":\"method\",\"value\":\"transmit\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmwasm.wasm.v1.MsgExecuteContract\"},{\"key\":\"module\",\"value\":\"wasm\"},{\"key\":\"sender\",\"value\":\"wasm167h3sh8c4pgs8grxz24pam2x764flydv3h9pd8\"}]},{\"type\":\"wasm\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"method\",\"value\":\"transmit\"},{\"key\":\"method\",\"value\":\"transmit\"}]},{\"type\":\"wasm-new_transmission\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"aggregator_round_id\",\"value\":\"77513\"},{\"key\":\"answer\",\"value\":\"296049854854\"},{\"key\":\"transmitter\",\"value\":\"wasm167h3sh8c4pgs8grxz24pam2x764flydv3h9pd8\"},{\"key\":\"observations_timestamp\",\"value\":\"1650736934\"},{\"key\":\"observers\",\"value\":\"010d09030c0807060b0a020504000f00000000000000000000000000000000\"},{\"key\":\"juels_per_fee_coin\",\"value\":\"6794723964364844904\"},{\"key\":\"config_digest\",\"value\":\"0002287cd424d40b9eb75838e13f54f920bd03913b6e6364834d8d1a8834a6e7\"},{\"key\":\"epoch\",\"value\":\"44551\"},{\"key\":\"round\",\"value\":\"9\"},{\"key\":\"reimbursement\",\"value\":\"20046691543232461\"},{\"key\":\"observations\",\"value\":\"296033770000\"},{\"key\":\"observations\",\"value\":\"296034709709\"},{\"key\":\"observations\",\"value\":\"296034709709\"},{\"key\":\"observations\",\"value\":\"296034709709\"},{\"key\":\"observations\",\"value\":\"296039290921\"},{\"key\":\"observations\",\"value\":\"296040500000\"},{\"key\":\"observations\",\"value\":\"296040500000\"},{\"key\":\"observations\",\"value\":\"296049854854\"},{\"key\":\"observations\",\"value\":\"296064000000\"},{\"key\":\"observations\",\"value\":\"296064000000\"},{\"key\":\"observations\",\"value\":\"296081000000\"},{\"key\":\"observations\",\"value\":\"296083000000\"},{\"key\":\"observations\",\"value\":\"296088000000\"},{\"key\":\"observations\",\"value\":\"296124307019\"},{\"key\":\"observations\",\"value\":\"296143581547\"}]},{\"type\":\"wasm-transmitted\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"config_digest\",\"value\":\"0002287cd424d40b9eb75838e13f54f920bd03913b6e6364834d8d1a8834a6e7\"},{\"key\":\"epoch\",\"value\":\"44551\"}]}]}]", - "gas_used": "171347", + "gas_used": 171347, "timestamp": "2022-04-23T18:02:12Z", - "gas_wanted": "240770" + "gas_wanted": 240770 }, { "id": 266537443, @@ -1347,9 +1337,7 @@ }, "logs": [ { - "log": { - "tax": "" - }, + "log": "", "events": [ { "type": "execute_contract", @@ -1359,7 +1347,7 @@ "value": "wasm1umertd64cf0ajfn7apcqs3xg476etcu0959cjy" }, { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" } ] @@ -1368,7 +1356,7 @@ "type": "from_contract", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -1402,7 +1390,7 @@ "type": "wasm", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -1419,7 +1407,7 @@ "type": "wasm-new_transmission", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -1532,7 +1520,7 @@ "type": "wasm-transmitted", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -1549,12 +1537,12 @@ "msg_index": 0 } ], - "height": "7364913", + "height": 7364913, "txhash": "FA56AC0FC390749742CCA5570B0BBCFAF424DB5EE179AF14E92DB1E83AED6D48", "raw_log": "[{\"events\":[{\"type\":\"execute_contract\",\"attributes\":[{\"key\":\"sender\",\"value\":\"wasm1umertd64cf0ajfn7apcqs3xg476etcu0959cjy\"},{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"}]},{\"type\":\"from_contract\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"method\",\"value\":\"transmit\"},{\"key\":\"method\",\"value\":\"transmit\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmwasm.wasm.v1.MsgExecuteContract\"},{\"key\":\"module\",\"value\":\"wasm\"},{\"key\":\"sender\",\"value\":\"wasm1umertd64cf0ajfn7apcqs3xg476etcu0959cjy\"}]},{\"type\":\"wasm\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"method\",\"value\":\"transmit\"},{\"key\":\"method\",\"value\":\"transmit\"}]},{\"type\":\"wasm-new_transmission\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"aggregator_round_id\",\"value\":\"77512\"},{\"key\":\"answer\",\"value\":\"296074000000\"},{\"key\":\"transmitter\",\"value\":\"wasm1umertd64cf0ajfn7apcqs3xg476etcu0959cjy\"},{\"key\":\"observations_timestamp\",\"value\":\"1650736910\"},{\"key\":\"observers\",\"value\":\"0e030c090d0807010206040a050b000f000000000000000000000000000000\"},{\"key\":\"juels_per_fee_coin\",\"value\":\"6794520268529910931\"},{\"key\":\"config_digest\",\"value\":\"0002287cd424d40b9eb75838e13f54f920bd03913b6e6364834d8d1a8834a6e7\"},{\"key\":\"epoch\",\"value\":\"44551\"},{\"key\":\"round\",\"value\":\"6\"},{\"key\":\"reimbursement\",\"value\":\"20046090572892389\"},{\"key\":\"observations\",\"value\":\"296039290921\"},{\"key\":\"observations\",\"value\":\"296039290921\"},{\"key\":\"observations\",\"value\":\"296039290921\"},{\"key\":\"observations\",\"value\":\"296040587170\"},{\"key\":\"observations\",\"value\":\"296040587170\"},{\"key\":\"observations\",\"value\":\"296052220000\"},{\"key\":\"observations\",\"value\":\"296052220000\"},{\"key\":\"observations\",\"value\":\"296052220000\"},{\"key\":\"observations\",\"value\":\"296074000000\"},{\"key\":\"observations\",\"value\":\"296086000000\"},{\"key\":\"observations\",\"value\":\"296088000000\"},{\"key\":\"observations\",\"value\":\"296102000000\"},{\"key\":\"observations\",\"value\":\"296102000000\"},{\"key\":\"observations\",\"value\":\"296102000000\"},{\"key\":\"observations\",\"value\":\"296149817520\"},{\"key\":\"observations\",\"value\":\"296159677871\"}]},{\"type\":\"wasm-transmitted\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"config_digest\",\"value\":\"0002287cd424d40b9eb75838e13f54f920bd03913b6e6364834d8d1a8834a6e7\"},{\"key\":\"epoch\",\"value\":\"44551\"}]}]}]", - "gas_used": "171654", + "gas_used": 171654, "timestamp": "2022-04-23T18:02:05Z", - "gas_wanted": "241280" + "gas_wanted": 241280 }, { "id": 266536971, @@ -1610,9 +1598,7 @@ }, "logs": [ { - "log": { - "tax": "" - }, + "log": "", "events": [ { "type": "execute_contract", @@ -1622,7 +1608,7 @@ "value": "wasm13cxfg5awyscnj7c7u4ycwgplf528krf8c90cp6" }, { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" } ] @@ -1631,7 +1617,7 @@ "type": "from_contract", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -1665,7 +1651,7 @@ "type": "wasm", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -1682,7 +1668,7 @@ "type": "wasm-new_transmission", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -1795,7 +1781,7 @@ "type": "wasm-transmitted", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -1812,12 +1798,12 @@ "msg_index": 0 } ], - "height": "7364902", + "height": 7364902, "txhash": "A125611F217CD9677DA448E359D0FDB0CB734467AA9C466D2F3D3D0DB58CA2CC", "raw_log": "[{\"events\":[{\"type\":\"execute_contract\",\"attributes\":[{\"key\":\"sender\",\"value\":\"wasm13cxfg5awyscnj7c7u4ycwgplf528krf8c90cp6\"},{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"}]},{\"type\":\"from_contract\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"method\",\"value\":\"transmit\"},{\"key\":\"method\",\"value\":\"transmit\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmwasm.wasm.v1.MsgExecuteContract\"},{\"key\":\"module\",\"value\":\"wasm\"},{\"key\":\"sender\",\"value\":\"wasm13cxfg5awyscnj7c7u4ycwgplf528krf8c90cp6\"}]},{\"type\":\"wasm\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"method\",\"value\":\"transmit\"},{\"key\":\"method\",\"value\":\"transmit\"}]},{\"type\":\"wasm-new_transmission\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"aggregator_round_id\",\"value\":\"77511\"},{\"key\":\"answer\",\"value\":\"296081000000\"},{\"key\":\"transmitter\",\"value\":\"wasm13cxfg5awyscnj7c7u4ycwgplf528krf8c90cp6\"},{\"key\":\"observations_timestamp\",\"value\":\"1650736854\"},{\"key\":\"observers\",\"value\":\"0c0d03090e0701080206040b0a05000f000000000000000000000000000000\"},{\"key\":\"juels_per_fee_coin\",\"value\":\"6794522582097955294\"},{\"key\":\"config_digest\",\"value\":\"0002287cd424d40b9eb75838e13f54f920bd03913b6e6364834d8d1a8834a6e7\"},{\"key\":\"epoch\",\"value\":\"44550\"},{\"key\":\"round\",\"value\":\"11\"},{\"key\":\"reimbursement\",\"value\":\"20046097398686224\"},{\"key\":\"observations\",\"value\":\"296040221352\"},{\"key\":\"observations\",\"value\":\"296062081492\"},{\"key\":\"observations\",\"value\":\"296062081492\"},{\"key\":\"observations\",\"value\":\"296062081492\"},{\"key\":\"observations\",\"value\":\"296062081492\"},{\"key\":\"observations\",\"value\":\"296070370000\"},{\"key\":\"observations\",\"value\":\"296070370000\"},{\"key\":\"observations\",\"value\":\"296070370000\"},{\"key\":\"observations\",\"value\":\"296081000000\"},{\"key\":\"observations\",\"value\":\"296087000000\"},{\"key\":\"observations\",\"value\":\"296102000000\"},{\"key\":\"observations\",\"value\":\"296108000000\"},{\"key\":\"observations\",\"value\":\"296108000000\"},{\"key\":\"observations\",\"value\":\"296108000000\"},{\"key\":\"observations\",\"value\":\"296150817520\"},{\"key\":\"observations\",\"value\":\"296167552947\"}]},{\"type\":\"wasm-transmitted\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"config_digest\",\"value\":\"0002287cd424d40b9eb75838e13f54f920bd03913b6e6364834d8d1a8834a6e7\"},{\"key\":\"epoch\",\"value\":\"44550\"}]}]}]", - "gas_used": "171615", + "gas_used": 171615, "timestamp": "2022-04-23T18:00:54Z", - "gas_wanted": "241329" + "gas_wanted": 241329 }, { "id": 266536551, @@ -1873,9 +1859,7 @@ }, "logs": [ { - "log": { - "tax": "" - }, + "log": "", "events": [ { "type": "execute_contract", @@ -1885,7 +1869,7 @@ "value": "wasm1umertd64cf0ajfn7apcqs3xg476etcu0959cjy" }, { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" } ] @@ -1894,7 +1878,7 @@ "type": "from_contract", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -1928,7 +1912,7 @@ "type": "wasm", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -1945,7 +1929,7 @@ "type": "wasm-new_transmission", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -2058,7 +2042,7 @@ "type": "wasm-transmitted", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -2075,12 +2059,12 @@ "msg_index": 0 } ], - "height": "7364894", + "height": 7364894, "txhash": "EA7923313C2FED202196F3BA6141B27F32696A504A4FB031C1C5463C9526742A", "raw_log": "[{\"events\":[{\"type\":\"execute_contract\",\"attributes\":[{\"key\":\"sender\",\"value\":\"wasm1umertd64cf0ajfn7apcqs3xg476etcu0959cjy\"},{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"}]},{\"type\":\"from_contract\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"method\",\"value\":\"transmit\"},{\"key\":\"method\",\"value\":\"transmit\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmwasm.wasm.v1.MsgExecuteContract\"},{\"key\":\"module\",\"value\":\"wasm\"},{\"key\":\"sender\",\"value\":\"wasm1umertd64cf0ajfn7apcqs3xg476etcu0959cjy\"}]},{\"type\":\"wasm\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"method\",\"value\":\"transmit\"},{\"key\":\"method\",\"value\":\"transmit\"}]},{\"type\":\"wasm-new_transmission\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"aggregator_round_id\",\"value\":\"77510\"},{\"key\":\"answer\",\"value\":\"296079000000\"},{\"key\":\"transmitter\",\"value\":\"wasm1umertd64cf0ajfn7apcqs3xg476etcu0959cjy\"},{\"key\":\"observations_timestamp\",\"value\":\"1650736798\"},{\"key\":\"observers\",\"value\":\"090c0d0e03010807040b0a060205000f000000000000000000000000000000\"},{\"key\":\"juels_per_fee_coin\",\"value\":\"6793639955686853767\"},{\"key\":\"config_digest\",\"value\":\"0002287cd424d40b9eb75838e13f54f920bd03913b6e6364834d8d1a8834a6e7\"},{\"key\":\"epoch\",\"value\":\"44550\"},{\"key\":\"round\",\"value\":\"4\"},{\"key\":\"reimbursement\",\"value\":\"20043493357741506\"},{\"key\":\"observations\",\"value\":\"296019000000\"},{\"key\":\"observations\",\"value\":\"296056836365\"},{\"key\":\"observations\",\"value\":\"296056836365\"},{\"key\":\"observations\",\"value\":\"296062081492\"},{\"key\":\"observations\",\"value\":\"296062081492\"},{\"key\":\"observations\",\"value\":\"296066840000\"},{\"key\":\"observations\",\"value\":\"296066840000\"},{\"key\":\"observations\",\"value\":\"296066840000\"},{\"key\":\"observations\",\"value\":\"296079000000\"},{\"key\":\"observations\",\"value\":\"296089000000\"},{\"key\":\"observations\",\"value\":\"296089000000\"},{\"key\":\"observations\",\"value\":\"296095000000\"},{\"key\":\"observations\",\"value\":\"296099000000\"},{\"key\":\"observations\",\"value\":\"296100000000\"},{\"key\":\"observations\",\"value\":\"296154822921\"},{\"key\":\"observations\",\"value\":\"296180444491\"}]},{\"type\":\"wasm-transmitted\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"config_digest\",\"value\":\"0002287cd424d40b9eb75838e13f54f920bd03913b6e6364834d8d1a8834a6e7\"},{\"key\":\"epoch\",\"value\":\"44550\"}]}]}]", - "gas_used": "171654", + "gas_used": 171654, "timestamp": "2022-04-23T18:00:00Z", - "gas_wanted": "241280" + "gas_wanted": 241280 }, { "id": 266536267, @@ -2136,9 +2120,7 @@ }, "logs": [ { - "log": { - "tax": "" - }, + "log": "", "events": [ { "type": "execute_contract", @@ -2148,7 +2130,7 @@ "value": "wasm16mk5h5ma7ksr2vqpxcsaqxjny2ea68jap8mf6a" }, { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" } ] @@ -2157,7 +2139,7 @@ "type": "from_contract", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -2191,7 +2173,7 @@ "type": "wasm", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -2208,7 +2190,7 @@ "type": "wasm-new_transmission", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -2321,7 +2303,7 @@ "type": "wasm-transmitted", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -2338,12 +2320,12 @@ "msg_index": 0 } ], - "height": "7364886", + "height": 7364886, "txhash": "ADF088482054130F3F0CA439093E001F783451B726E67968512CFC0E2F96EEEB", "raw_log": "[{\"events\":[{\"type\":\"execute_contract\",\"attributes\":[{\"key\":\"sender\",\"value\":\"wasm16mk5h5ma7ksr2vqpxcsaqxjny2ea68jap8mf6a\"},{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"}]},{\"type\":\"from_contract\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"method\",\"value\":\"transmit\"},{\"key\":\"method\",\"value\":\"transmit\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmwasm.wasm.v1.MsgExecuteContract\"},{\"key\":\"module\",\"value\":\"wasm\"},{\"key\":\"sender\",\"value\":\"wasm16mk5h5ma7ksr2vqpxcsaqxjny2ea68jap8mf6a\"}]},{\"type\":\"wasm\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"method\",\"value\":\"transmit\"},{\"key\":\"method\",\"value\":\"transmit\"}]},{\"type\":\"wasm-new_transmission\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"aggregator_round_id\",\"value\":\"77509\"},{\"key\":\"answer\",\"value\":\"296059970000\"},{\"key\":\"transmitter\",\"value\":\"wasm16mk5h5ma7ksr2vqpxcsaqxjny2ea68jap8mf6a\"},{\"key\":\"observations_timestamp\",\"value\":\"1650736750\"},{\"key\":\"observers\",\"value\":\"0d090e0c030601080704020b0a05000f000000000000000000000000000000\"},{\"key\":\"juels_per_fee_coin\",\"value\":\"6794846030755990503\"},{\"key\":\"config_digest\",\"value\":\"0002287cd424d40b9eb75838e13f54f920bd03913b6e6364834d8d1a8834a6e7\"},{\"key\":\"epoch\",\"value\":\"44549\"},{\"key\":\"round\",\"value\":\"10\"},{\"key\":\"reimbursement\",\"value\":\"20047051679612382\"},{\"key\":\"observations\",\"value\":\"295979123144\"},{\"key\":\"observations\",\"value\":\"295979123144\"},{\"key\":\"observations\",\"value\":\"295993000000\"},{\"key\":\"observations\",\"value\":\"295993000000\"},{\"key\":\"observations\",\"value\":\"296008908122\"},{\"key\":\"observations\",\"value\":\"296046454061\"},{\"key\":\"observations\",\"value\":\"296059630000\"},{\"key\":\"observations\",\"value\":\"296059970000\"},{\"key\":\"observations\",\"value\":\"296059970000\"},{\"key\":\"observations\",\"value\":\"296084000000\"},{\"key\":\"observations\",\"value\":\"296084000000\"},{\"key\":\"observations\",\"value\":\"296092000000\"},{\"key\":\"observations\",\"value\":\"296092000000\"},{\"key\":\"observations\",\"value\":\"296092000000\"},{\"key\":\"observations\",\"value\":\"296140813020\"},{\"key\":\"observations\",\"value\":\"296158351835\"}]},{\"type\":\"wasm-transmitted\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"config_digest\",\"value\":\"0002287cd424d40b9eb75838e13f54f920bd03913b6e6364834d8d1a8834a6e7\"},{\"key\":\"epoch\",\"value\":\"44549\"}]}]}]", - "gas_used": "171686", + "gas_used": 171686, "timestamp": "2022-04-23T17:59:07Z", - "gas_wanted": "241328" + "gas_wanted": 241328 }, { "id": 266535836, @@ -2399,9 +2381,7 @@ }, "logs": [ { - "log": { - "tax": "" - }, + "log": "", "events": [ { "type": "execute_contract", @@ -2411,7 +2391,7 @@ "value": "wasm1rmt28lv8cs50wtxy7qpuvwlmphdjsm2lyvtqhh" }, { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" } ] @@ -2420,7 +2400,7 @@ "type": "from_contract", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -2454,7 +2434,7 @@ "type": "wasm", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -2471,7 +2451,7 @@ "type": "wasm-new_transmission", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -2584,7 +2564,7 @@ "type": "wasm-transmitted", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -2601,12 +2581,12 @@ "msg_index": 0 } ], - "height": "7364878", + "height": 7364878, "txhash": "38C256BDBB27E1D1D1A16FD64752667E61751E6FB202B9732C00956330DBCFE9", "raw_log": "[{\"events\":[{\"type\":\"execute_contract\",\"attributes\":[{\"key\":\"sender\",\"value\":\"wasm1rmt28lv8cs50wtxy7qpuvwlmphdjsm2lyvtqhh\"},{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"}]},{\"type\":\"from_contract\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"method\",\"value\":\"transmit\"},{\"key\":\"method\",\"value\":\"transmit\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmwasm.wasm.v1.MsgExecuteContract\"},{\"key\":\"module\",\"value\":\"wasm\"},{\"key\":\"sender\",\"value\":\"wasm1rmt28lv8cs50wtxy7qpuvwlmphdjsm2lyvtqhh\"}]},{\"type\":\"wasm\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"method\",\"value\":\"transmit\"},{\"key\":\"method\",\"value\":\"transmit\"}]},{\"type\":\"wasm-new_transmission\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"aggregator_round_id\",\"value\":\"77508\"},{\"key\":\"answer\",\"value\":\"296021620000\"},{\"key\":\"transmitter\",\"value\":\"wasm1rmt28lv8cs50wtxy7qpuvwlmphdjsm2lyvtqhh\"},{\"key\":\"observations_timestamp\",\"value\":\"1650736694\"},{\"key\":\"observers\",\"value\":\"090d060c0e0a0b03010708040502000f000000000000000000000000000000\"},{\"key\":\"juels_per_fee_coin\",\"value\":\"6792081900634573560\"},{\"key\":\"config_digest\",\"value\":\"0002287cd424d40b9eb75838e13f54f920bd03913b6e6364834d8d1a8834a6e7\"},{\"key\":\"epoch\",\"value\":\"44549\"},{\"key\":\"round\",\"value\":\"3\"},{\"key\":\"reimbursement\",\"value\":\"20038896578063002\"},{\"key\":\"observations\",\"value\":\"295917577863\"},{\"key\":\"observations\",\"value\":\"295917577863\"},{\"key\":\"observations\",\"value\":\"295942788931\"},{\"key\":\"observations\",\"value\":\"295972000000\"},{\"key\":\"observations\",\"value\":\"295975000000\"},{\"key\":\"observations\",\"value\":\"296004000000\"},{\"key\":\"observations\",\"value\":\"296004000000\"},{\"key\":\"observations\",\"value\":\"296019769988\"},{\"key\":\"observations\",\"value\":\"296021620000\"},{\"key\":\"observations\",\"value\":\"296021620000\"},{\"key\":\"observations\",\"value\":\"296021620000\"},{\"key\":\"observations\",\"value\":\"296065000000\"},{\"key\":\"observations\",\"value\":\"296065000000\"},{\"key\":\"observations\",\"value\":\"296075000000\"},{\"key\":\"observations\",\"value\":\"296109806419\"},{\"key\":\"observations\",\"value\":\"296137226500\"}]},{\"type\":\"wasm-transmitted\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"config_digest\",\"value\":\"0002287cd424d40b9eb75838e13f54f920bd03913b6e6364834d8d1a8834a6e7\"},{\"key\":\"epoch\",\"value\":\"44549\"}]}]}]", - "gas_used": "171653", + "gas_used": 171653, "timestamp": "2022-04-23T17:58:16Z", - "gas_wanted": "241278" + "gas_wanted": 241278 } ] } diff --git a/pkg/monitoring/fixtures/set_config-block.json b/pkg/monitoring/fixtures/set_config-block.json index 41b2afb3..19d4de90 100644 --- a/pkg/monitoring/fixtures/set_config-block.json +++ b/pkg/monitoring/fixtures/set_config-block.json @@ -7,7 +7,7 @@ "identity": "", "operatorAddress": "wasmvaloper13rt78f5rclczn4gsxxfa7r50q0cvjjhvdt2zzj" }, - "txs": [ + "tx_responses": [ { "id": 240583238, "tx": { @@ -52,9 +52,7 @@ }, "logs": [ { - "log": { - "tax": "" - }, + "log": "", "events": [ { "type": "coin_received", @@ -120,12 +118,12 @@ "msg_index": 0 } ], - "height": "6805892", + "height": 6805892, "txhash": "E2D4DBF17E2385C90FAEE2C8A3EB9A1FBA2ED64C664DE3DFFDC785DF849B975B", "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"wasm1j435gkgg8d0qadjcn09s73rtk5k3ftrx7mc4a8\"},{\"key\":\"amount\",\"value\":\"2711286ucosm\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"wasm1sftswkhvg3w6vnju642zld7hfm0semlk9mtfef\"},{\"key\":\"amount\",\"value\":\"2711286ucosm\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.bank.v1beta1.MsgSend\"},{\"key\":\"sender\",\"value\":\"wasm1sftswkhvg3w6vnju642zld7hfm0semlk9mtfef\"},{\"key\":\"module\",\"value\":\"bank\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"wasm1j435gkgg8d0qadjcn09s73rtk5k3ftrx7mc4a8\"},{\"key\":\"sender\",\"value\":\"wasm1sftswkhvg3w6vnju642zld7hfm0semlk9mtfef\"},{\"key\":\"amount\",\"value\":\"2711286ucosm\"}]}]}]", - "gas_used": "61512", + "gas_used": 61512, "timestamp": "2022-03-11T17:30:27Z", - "gas_wanted": "300000" + "gas_wanted": 300000 }, { "id": 240583239, @@ -172,9 +170,7 @@ }, "logs": [ { - "log": { - "tax": "" - }, + "log": "", "events": [ { "type": "execute_contract", @@ -184,7 +180,7 @@ "value": "wasm1t0mw79g7rk6aueeqyqwz4a77vrgmqwpxs47cyy" }, { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" } ] @@ -193,7 +189,7 @@ "type": "from_contract", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -223,7 +219,7 @@ "type": "wasm", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -236,7 +232,7 @@ "type": "wasm-set_config", "attributes": [ { - "key": "contract_address", + "key": "_contract_address", "value": "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" }, { @@ -465,12 +461,12 @@ "msg_index": 0 } ], - "height": "6805892", + "height": 6805892, "txhash": "D351D55959E8BE88D99EE20D20AFFF4ED6480B7BF3EF57E59155F88B78357E91", "raw_log": "[{\"events\":[{\"type\":\"execute_contract\",\"attributes\":[{\"key\":\"sender\",\"value\":\"wasm1t0mw79g7rk6aueeqyqwz4a77vrgmqwpxs47cyy\"},{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"}]},{\"type\":\"from_contract\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"method\",\"value\":\"accept_proposal\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmwasm.wasm.v1.MsgExecuteContract\"},{\"key\":\"module\",\"value\":\"wasm\"},{\"key\":\"sender\",\"value\":\"wasm1t0mw79g7rk6aueeqyqwz4a77vrgmqwpxs47cyy\"}]},{\"type\":\"wasm\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"method\",\"value\":\"accept_proposal\"}]},{\"type\":\"wasm-set_config\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf\"},{\"key\":\"previous_config_block_number\",\"value\":\"0\"},{\"key\":\"latest_config_digest\",\"value\":\"0002287cd424d40b9eb75838e13f54f920bd03913b6e6364834d8d1a8834a6e7\"},{\"key\":\"config_count\",\"value\":\"1\"},{\"key\":\"signers\",\"value\":\"cb1536d9766f7c36494c63f5bda00a0c52ab6afecfbb843de379cb9f798ee8aa\"},{\"key\":\"signers\",\"value\":\"7e1d60331ef87c908b64a89b75a878264fb3a2099a1a5225f214931e01ebe0a5\"},{\"key\":\"signers\",\"value\":\"1fc37e4833745ee9a9f2bb39c9810cd43b75431dc2fe60814a2f23d00f64e7ac\"},{\"key\":\"signers\",\"value\":\"74f8fec126138a69bdbe6e05b9255a91f1269447ece88c57a07e5de83cb9ab9d\"},{\"key\":\"signers\",\"value\":\"fbe37462a4f3a8ed7e47eb296f097c8a760160a05f28f82b0baab96b144605d4\"},{\"key\":\"signers\",\"value\":\"8697b65476d687349573e16bceb1a6ee748c3fe4981656dd3673808ff9af1ec6\"},{\"key\":\"signers\",\"value\":\"a9d56584774baca0f3f451bcce230bc1c816cc41780e39c72d308fab79f23680\"},{\"key\":\"signers\",\"value\":\"beb715de167c5a89baafe4be1ff621e42c3be6ecf631c693b28ab524ebd35aac\"},{\"key\":\"signers\",\"value\":\"45a8e0c13d15972fc97d50cbb2e39bd0b4c75b8b4cd2dc5ba355b2cc702d494b\"},{\"key\":\"signers\",\"value\":\"fdc93b531eff20d8dd7115f872f00d398ff568f24aaee732d2ce18fb62e27509\"},{\"key\":\"signers\",\"value\":\"d77c5d17e2b43d166a343b312d7515957b2ba20395962e853781f99745e6f822\"},{\"key\":\"signers\",\"value\":\"b15355db6d3ddba6a02f3c30da00d0516bb462b3360f80ac596308cea262f28c\"},{\"key\":\"signers\",\"value\":\"4c86e398b4708d30e597a90296c6ec9d306d17ea8f7f9d0e1267cfa2ea8dde89\"},{\"key\":\"signers\",\"value\":\"f9ad962c062fa5d47af67b229a368b5ef7f6a46f889117b676b9d8bf42632b96\"},{\"key\":\"signers\",\"value\":\"deb42be6f42c70fc641f13d8390f735dd81e6221424f3cc261ae2d903e103a60\"},{\"key\":\"signers\",\"value\":\"efdee2a3454a0a94449ed70a4e4a2d4fd113de4d56efe198d18adfa89a960dd1\"},{\"key\":\"transmitters\",\"value\":\"wasm1rfazrm4r657r0u00uq50g8hehxewqq32zzhf9p\"},{\"key\":\"transmitters\",\"value\":\"wasm1tfx3q08q780u9uu4qlw0drn375uktfka7kgh93\"},{\"key\":\"transmitters\",\"value\":\"wasm14wxk4hy63wa5punxehvc3wg2wr64hhcdnz3qm0\"},{\"key\":\"transmitters\",\"value\":\"wasm17tdm630tz3u5a47pxpysd4ktltycjlckew0g3a\"},{\"key\":\"transmitters\",\"value\":\"wasm14va5jfwuuqs9pls379c5dc2d7lyvv2yul9nrnq\"},{\"key\":\"transmitters\",\"value\":\"wasm1q2l2ep768vrrjfmxacpa6kl8e8aezeru9646pw\"},{\"key\":\"transmitters\",\"value\":\"wasm1rmt28lv8cs50wtxy7qpuvwlmphdjsm2lyvtqhh\"},{\"key\":\"transmitters\",\"value\":\"wasm1509tez324mdevqsh7ucm3er53lfz44tl6rddur\"},{\"key\":\"transmitters\",\"value\":\"wasm16mk5h5ma7ksr2vqpxcsaqxjny2ea68jap8mf6a\"},{\"key\":\"transmitters\",\"value\":\"wasm14szqs99f0jap3f4lwqvavnct23gq2jrj9qg6nf\"},{\"key\":\"transmitters\",\"value\":\"wasm1x2hgypr08vf466sej4zqc5wzwdfh7mw7j8lwqc\"},{\"key\":\"transmitters\",\"value\":\"wasm167h3sh8c4pgs8grxz24pam2x764flydv3h9pd8\"},{\"key\":\"transmitters\",\"value\":\"wasm13cxfg5awyscnj7c7u4ycwgplf528krf8c90cp6\"},{\"key\":\"transmitters\",\"value\":\"wasm1h0ygh9tr8t8sc97ntq5tnams9vprchxmgl9ame\"},{\"key\":\"transmitters\",\"value\":\"wasm1umertd64cf0ajfn7apcqs3xg476etcu0959cjy\"},{\"key\":\"transmitters\",\"value\":\"wasm16vueyxmul8kczd0nxvw0ge7kzfzpmtsgqc9tup\"},{\"key\":\"payees\",\"value\":\"wasm1r2fknz2acuj6m4snpr0tc4dzcs4glzqcsklfvg\"},{\"key\":\"payees\",\"value\":\"wasm1fk8e220tfyscz9l39suy93y8df4tvuh6smpken\"},{\"key\":\"payees\",\"value\":\"wasm1sym8gyehrdsm03vdc44rg9sflg8zeuqwfd3384\"},{\"key\":\"payees\",\"value\":\"wasm1kqudehpey23pxng0x3993khhtna4ek2jlm0tzk\"},{\"key\":\"payees\",\"value\":\"wasm1jcczyqgczvwegwf455mzltlz9w76rfetyk4s4u\"},{\"key\":\"payees\",\"value\":\"wasm1z0g224u93nfk4hnh6rze65hmy374ww6y0aajfg\"},{\"key\":\"payees\",\"value\":\"wasm1cej6pdqdgtqev6j0vf5a9nguhhh4rzpz2l5lpn\"},{\"key\":\"payees\",\"value\":\"wasm1ecvjd9wr0yc63y5unuwvyt5v502jjl66890gcs\"},{\"key\":\"payees\",\"value\":\"wasm13t5q55ldhga5f48cualk8ft06lrhv8xcurhun7\"},{\"key\":\"payees\",\"value\":\"wasm1th9ajnd6erdjew43k7g03we25dcqw5qv9qdd23\"},{\"key\":\"payees\",\"value\":\"wasm15f6sk0kh90vgrawtwq8j4al4fjamqkkvdj0hww\"},{\"key\":\"payees\",\"value\":\"wasm1uaz5ll0lnwujaajswm8v3etpzgjjjewlzwr0gn\"},{\"key\":\"payees\",\"value\":\"wasm1yk05h0z3y7decq5fk27u8kussweyy24vsmd5ng\"},{\"key\":\"payees\",\"value\":\"wasm15jhrz252ltu6r69sz6ec904dlancmy36ft5dym\"},{\"key\":\"payees\",\"value\":\"wasm1chu6kury7vqtauydya8zuyefl395u9nc4v4k5y\"},{\"key\":\"payees\",\"value\":\"wasm1psklhvtk45733vr74ucn2wwc7lnuxthe7qf9kg\"},{\"key\":\"f\",\"value\":\"5\"},{\"key\":\"onchain_config\",\"value\":\"AQAAAAAAAAAAAAAAAAAAAAAAAAAAO5rKAAAAAAAAAAAAAAAAAAAAAAAAAFrzEHpAAA==\"},{\"key\":\"offchain_config_version\",\"value\":\"2\"},{\"key\":\"offchain_config\",\"value\":\"CIDIr6AlEIDYjuFvGICg2eYdIICU69wDKICY3JM0MAw6EAEBAQEBAQEBAQEBAQEBAQFCIPn/nu1az1z+APnOAizOBU3KduSeJve4fMgCvUpTDjKaQiBuLow0XCK9EZ6c89RYMHcQQHQ4EleH1hOVv4/L+aRWAUIgUaqatA7eAwQ8o0oep9RQnn1SP70CV+JjC1r1AW6JE2dCIF91ai8DFUW99aNEMYWM+KyUoRRVpwxhTVhoJfR3QtfaQiDFtnugZWIQC2MFgqU4Gb9wiAcUta5V0a039lUkEVUCDEIgTf20CrOB5h57owrp7bDCfR6s3AZusiSwgp8QhRaLXaRCIOUEk4OQ3xFcpFD2QeZEqzJaEoyCKCyvYmZ2xK4W6POWQiDWX1egTX8/oFyOOFmZlHzyQKke11AyrZThMZrWkdI8P0IgCRP6rMAc5frg0Xr0qM4xEgmb/U0ktHe5XlqJQu7CwahCINzmfIPlU+PBRlYwXHpNc0yywlPSVAW0P3AGwgeggVFBQiBEe38Eh99HPKS8btQNgv85DHfuw7ReCIrWBSaHYBiQR0IgN6JJKcubHaA45oZWnpCgrHsNoA0t5Rf3iFf7qbAR1P1CIEurfQmn3okRCjYUyuWSjtXyTQ/lQNkTtV3cxTU7pa6GQiBx4858mEKe4f75YkdadJmf+b1g4bCNYiBoDf80K9qbwkIg0M2u85vadmx07Gyb6O2hbsnA7PqzCqg58PH9vRmOc1ZCIC9A8HTvjG87C80k/2ofBJ/90PnxERpyPJmpzggV5x4YSjQxMkQzS29vV1N1RGFaYWdib2hCSG5xdmFQSnhBZFZETGc3c0JWWVdNYlRHRGFyTlBjb05uSjQxMkQzS29vV0FvcUxiWmJwR0tZZDViNnlCQXVITkd6Vkw0Q1Q4VVJVRGgybXJ0OG4zakZ4SjQxMkQzS29vV0oyeVRaa2FEWkVRdHRzcEg2cDZMOVVoU0VOYldCTVhLRk1qYXZ3S0E3a0xBSjQxMkQzS29vV0NHRkxyWkJmODN4dDhVcE5UcUJoTnN3OHNRUUJyUnJONFY1cHoyZDhqbUFwSjQxMkQzS29vV0I2Y21ZRzIybW5ZdU5nRGVVQlNVekVRb2hIM1V1SGsyUHBvUlBKem1LcHVjSjQxMkQzS29vV005cTlITEY0UTVOTTNFR01QVHhaVnYzUG9GaHpCN3RHRGZ6Y202TkdadWJUSjQxMkQzS29vV0dlbXhFOWpkTUF1cU1LeGRwVDIzVnVlRmVxS2dKOXRUUDFVZDhUREM2WENYSjQxMkQzS29vV043RDFqUDd5dG1DeXZHM2pFejllZFpTdDlRN2Q2TkZlaEZETDM0NFc3d2JDSjQxMkQzS29vV1JIUkxBc2tTdE04RkZZUXM1RDVlRmJDN3VLb3A5REhrRHpTYVpCV0tFQjFUSjQxMkQzS29vV0NMa1VnblBnRDRYN28ya283dXFoeDRyTnlvN0xIQjNZckZnV3A0VjVDanN5SjQxMkQzS29vV0pQQVRRQloyb1Zqd2VVaHlUSjNNM3FQOWpoZlFpMldvSFVuYTFocFdrZ3ZESjQxMkQzS29vV1JnWWJNanRrOXJza2Qybnl4V24yY2JzbVQxUnJnSHo3SmNhV2lXdmNzYXBuSjQxMkQzS29vV01VTkVqWGRTRUpNVlFoRG5kcTZxdGV5RTlUZTl6MkU4U3pzRUJybVZ5UE15SjQxMkQzS29vV0taeURGYTJ1Y3BpMm1Kbkw3eXJpVkdSbUQ4Qm84OXZucmFLZ1p3MVZZanN4SjQxMkQzS29vV1BHdzk1cXhORWZIM2dreG9kd1lLQWVuQzhmMXhUdFBMWG1xWXNKTDdOU2lISjQxMkQzS29vV01rakhxMVVTQldhVE5SakNEWXRwdzhmSnVVOTl4RVcxUmJtWU44b0h1RTl3UhEQwI23ASDAjbcBKIDo7aG6AWCA5JfQEmiAlOvcA3CAlOvcA3iAlOvcA4IB5AIKINgqOgQek7GWmFTs1qHcSqugNOB8qta+rtLMaLJ9R5pZEiAtIR5tVqLoEyzKBDkBdDKiB2+WD8UBkSlZXMz2BPGyThoQGTlEimGiBFvNTc0vXJ5KjRoQ/nt+0nYGNMG6WfW+L/7lshoQ3xw3vMe9gZa5w1dGzXpGEhoQAwlVkEBLwGue3ec4PXnvYRoQmkkMrR2RrmPL2d8fvomWUhoQFmkTKKeBvgUjDVj0ju3wCBoQnpdgctmKMV8m33IADY7VQhoQRTxxhb3C9pi0MeDl96+yORoQFhmT5V2AoU0KhWEYKgvzgRoQ9WSnhtV6tIA+fZ9lFkCoPRoQZRLVIu8uOB9dzQeu1R8thhoQIdXe1BAolE3TvrbSTPhVWBoQvqzy87SkJD/J15oBndtf2RoQ44+LFW3tsj6pmrrBxySWjBoQk0kkiocDGssFaEuEruy/BhoQG0E5spCmsQAqBhASpJWDnA==\"}]}]}]", - "gas_used": "481977", + "gas_used": 481977, "timestamp": "2022-03-11T17:30:27Z", - "gas_wanted": "825153" + "gas_wanted": 825153 }, { "id": 240583240, @@ -670,9 +666,7 @@ }, "logs": [ { - "log": { - "tax": "0ukrw" - }, + "log": "0ukrw", "events": [ { "type": "coin_received", @@ -930,12 +924,12 @@ "msg_index": 0 } ], - "height": "6805892", + "height": 6805892, "txhash": "4C1FDA0B8AFBF37C64F66AAEB4136D06AA72C9DCD172AB16B9EBF7DEA525348D", "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"wasm1fex9f78reuwhfsnc8sun6mz8rl9zwqh03fhwf3\"},{\"key\":\"amount\",\"value\":\"1ukrw\"},{\"key\":\"receiver\",\"value\":\"wasm1fd3yy3dlg6gm0fkapyqzcunl26zkwdnal0y2cq\"},{\"key\":\"amount\",\"value\":\"57500000000ukrw\"},{\"key\":\"receiver\",\"value\":\"wasm1fd3yy3dlg6gm0fkapyqzcunl26zkwdnal0y2cq\"},{\"key\":\"amount\",\"value\":\"4500000000ukrw\"},{\"key\":\"receiver\",\"value\":\"wasm1vkan7sslaj574zd34gt0p42u7e44274umz22kv\"},{\"key\":\"amount\",\"value\":\"50000000000ukrw\"},{\"key\":\"receiver\",\"value\":\"wasm1srchvu39mf5jchlrt848lyfrwckag2sl202glh\"},{\"key\":\"amount\",\"value\":\"5500000000ukrw\"},{\"key\":\"receiver\",\"value\":\"wasm1srchvu39mf5jchlrt848lyfrwckag2sl202glh\"},{\"key\":\"amount\",\"value\":\"1100000000ukrw\"},{\"key\":\"receiver\",\"value\":\"wasm1xfek3lc7pva0pw8sa30esuetghldzanredh47u\"},{\"key\":\"amount\",\"value\":\"44899000000ukrw\"},{\"key\":\"receiver\",\"value\":\"wasm10apudpayc0srp2f9cjeu4qwd928red6dznetx3\"},{\"key\":\"amount\",\"value\":\"35240000000ukrw\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"wasm1fex9f78reuwhfsnc8sun6mz8rl9zwqh03fhwf3\"},{\"key\":\"amount\",\"value\":\"1ukrw\"},{\"key\":\"spender\",\"value\":\"wasm1vkan7sslaj574zd34gt0p42u7e44274umz22kv\"},{\"key\":\"amount\",\"value\":\"57500000000ukrw\"},{\"key\":\"spender\",\"value\":\"wasm1n9y5pm8cgnxr529edxnrfcsp2xxuq4fka3v5q5\"},{\"key\":\"amount\",\"value\":\"4500000000ukrw\"},{\"key\":\"spender\",\"value\":\"wasm1fex9f78reuwhfsnc8sun6mz8rl9zwqh03fhwf3\"},{\"key\":\"amount\",\"value\":\"50000000000ukrw\"},{\"key\":\"spender\",\"value\":\"wasm1fex9f78reuwhfsnc8sun6mz8rl9zwqh03fhwf3\"},{\"key\":\"amount\",\"value\":\"5500000000ukrw\"},{\"key\":\"spender\",\"value\":\"wasm1fex9f78reuwhfsnc8sun6mz8rl9zwqh03fhwf3\"},{\"key\":\"amount\",\"value\":\"1100000000ukrw\"},{\"key\":\"spender\",\"value\":\"wasm1fex9f78reuwhfsnc8sun6mz8rl9zwqh03fhwf3\"},{\"key\":\"amount\",\"value\":\"44899000000ukrw\"},{\"key\":\"spender\",\"value\":\"wasm1fex9f78reuwhfsnc8sun6mz8rl9zwqh03fhwf3\"},{\"key\":\"amount\",\"value\":\"35240000000ukrw\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.bank.v1beta1.MsgMultiSend\"},{\"key\":\"sender\",\"value\":\"wasm1fex9f78reuwhfsnc8sun6mz8rl9zwqh03fhwf3\"},{\"key\":\"sender\",\"value\":\"wasm1vkan7sslaj574zd34gt0p42u7e44274umz22kv\"},{\"key\":\"sender\",\"value\":\"wasm1n9y5pm8cgnxr529edxnrfcsp2xxuq4fka3v5q5\"},{\"key\":\"sender\",\"value\":\"wasm1fex9f78reuwhfsnc8sun6mz8rl9zwqh03fhwf3\"},{\"key\":\"sender\",\"value\":\"wasm1fex9f78reuwhfsnc8sun6mz8rl9zwqh03fhwf3\"},{\"key\":\"sender\",\"value\":\"wasm1fex9f78reuwhfsnc8sun6mz8rl9zwqh03fhwf3\"},{\"key\":\"sender\",\"value\":\"wasm1fex9f78reuwhfsnc8sun6mz8rl9zwqh03fhwf3\"},{\"key\":\"sender\",\"value\":\"wasm1fex9f78reuwhfsnc8sun6mz8rl9zwqh03fhwf3\"},{\"key\":\"module\",\"value\":\"bank\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"wasm1fex9f78reuwhfsnc8sun6mz8rl9zwqh03fhwf3\"},{\"key\":\"amount\",\"value\":\"1ukrw\"},{\"key\":\"recipient\",\"value\":\"wasm1fd3yy3dlg6gm0fkapyqzcunl26zkwdnal0y2cq\"},{\"key\":\"amount\",\"value\":\"57500000000ukrw\"},{\"key\":\"recipient\",\"value\":\"wasm1fd3yy3dlg6gm0fkapyqzcunl26zkwdnal0y2cq\"},{\"key\":\"amount\",\"value\":\"4500000000ukrw\"},{\"key\":\"recipient\",\"value\":\"wasm1vkan7sslaj574zd34gt0p42u7e44274umz22kv\"},{\"key\":\"amount\",\"value\":\"50000000000ukrw\"},{\"key\":\"recipient\",\"value\":\"wasm1srchvu39mf5jchlrt848lyfrwckag2sl202glh\"},{\"key\":\"amount\",\"value\":\"5500000000ukrw\"},{\"key\":\"recipient\",\"value\":\"wasm1srchvu39mf5jchlrt848lyfrwckag2sl202glh\"},{\"key\":\"amount\",\"value\":\"1100000000ukrw\"},{\"key\":\"recipient\",\"value\":\"wasm1xfek3lc7pva0pw8sa30esuetghldzanredh47u\"},{\"key\":\"amount\",\"value\":\"44899000000ukrw\"},{\"key\":\"recipient\",\"value\":\"wasm10apudpayc0srp2f9cjeu4qwd928red6dznetx3\"},{\"key\":\"amount\",\"value\":\"35240000000ukrw\"}]}]}]", - "gas_used": "196044", + "gas_used": 196044, "timestamp": "2022-03-11T17:30:27Z", - "gas_wanted": "318867" + "gas_wanted": 318867 } ] } diff --git a/pkg/monitoring/source_envelope_test.go b/pkg/monitoring/source_envelope_test.go index ca4a8282..66ee1103 100644 --- a/pkg/monitoring/source_envelope_test.go +++ b/pkg/monitoring/source_envelope_test.go @@ -3,11 +3,16 @@ package monitoring import ( "context" "encoding/hex" + "encoding/json" + "io/ioutil" "math/big" + "os" "testing" "time" sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/query" + "github.com/cosmos/cosmos-sdk/types/tx" relayMonitoring "github.com/smartcontractkit/chainlink-relay/pkg/monitoring" ocr2types "github.com/smartcontractkit/libocr/offchainreporting2/types" "github.com/stretchr/testify/require" @@ -24,6 +29,24 @@ func TestEnvelopeSource(t *testing.T) { latestConfigDetailsRes := []byte(`{"block_number": 6805892}`) // See ./fixtures/set_config-block.json linkAvailableForPaymentRes := []byte(`{"amount":"-380431529018756503364"}`) + setConfigBlock, err := os.Open("./fixtures/set_config-block.json") + require.NoError(t, err, "error opening set_config-block.json") + defer setConfigBlock.Close() + setConfigBlockBytes, err := ioutil.ReadAll(setConfigBlock) + require.NoError(t, err, "error reading set_config-block.json") + setConfigBlockRes := tx.GetTxsEventResponse{} + err = json.Unmarshal(setConfigBlockBytes, &setConfigBlockRes) + require.NoError(t, err, "error unmarshalling setConfigBlock") + + newTransmissionTxs, err := os.Open("./fixtures/new_transmission-txs.json") + require.NoError(t, err, "error opening new_transmission-txs.json") + defer newTransmissionTxs.Close() + newTransmissionTxsBytes, err := ioutil.ReadAll(newTransmissionTxs) + require.NoError(t, err, "error reading new_transmission-txs.json") + newTransmissionTxsRes := tx.GetTxsEventResponse{} + err = json.Unmarshal(newTransmissionTxsBytes, &newTransmissionTxsRes) + require.NoError(t, err, "error unmarshalling newTransmissionTxs") + // Configurations. feedConfig := generateFeedConfig() feedConfig.ContractAddressBech32 = "wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf" @@ -37,6 +60,20 @@ func TestEnvelopeSource(t *testing.T) { feedConfig.ContractAddress, []byte(`{"latest_config_details":{}}`), ).Return(latestConfigDetailsRes, nil).Once() + // TxsEvents - latest config + rpcClient.On("TxsEvents", + []string{"tx.height=6805892", "wasm._contract_address='wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf'"}, + &query.PageRequest{ + Limit: 10, + }, + ).Return(&setConfigBlockRes, nil).Once() + // TxsEvents - latest transmission + rpcClient.On("TxsEvents", + []string{"wasm._contract_address='wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf'"}, + &query.PageRequest{ + Limit: 10, + }, + ).Return(&newTransmissionTxsRes, nil).Once() // LINK Balance rpcClient.On("ContractState", chainConfig.LinkTokenAddress, @@ -126,7 +163,7 @@ func TestEnvelopeSource(t *testing.T) { // Configuration rpcClient.On("ContractState", feedConfig.ContractAddress, - []byte(`"latest_config_details"`), + []byte(`{"latest_config_details":{}}`), ).Return(latestConfigDetailsRes, nil).Once() // LINK Balance rpcClient.On("ContractState", @@ -138,6 +175,13 @@ func TestEnvelopeSource(t *testing.T) { feedConfig.ContractAddress, []byte(`{"link_available_for_payment":{}}`), ).Return(linkAvailableForPaymentRes, nil).Once() + // TxsEvents - latest transmission + rpcClient.On("TxsEvents", + []string{"wasm._contract_address='wasm10kc4n52rk4xqny3hdew3ggjfk9r420pqxs9ylf'"}, + &query.PageRequest{ + Limit: 10, + }, + ).Return(&newTransmissionTxsRes, nil).Once() // Execute second Fetch() _, err = source.Fetch(ctx)