From 7baf4b29ec48ffda1fdf31be252b97d2a11465f7 Mon Sep 17 00:00:00 2001 From: Radek Scheibinger Date: Tue, 24 Jun 2025 15:11:33 +0200 Subject: [PATCH 01/37] wip --- system-tests/lib/cre/crib/v2/crib.go | 34 ++++++++++++++++++++ system-tests/lib/go.mod | 25 ++++++++++----- system-tests/lib/go.sum | 46 ++++++++++++++++++++-------- 3 files changed, 86 insertions(+), 19 deletions(-) create mode 100644 system-tests/lib/cre/crib/v2/crib.go diff --git a/system-tests/lib/cre/crib/v2/crib.go b/system-tests/lib/cre/crib/v2/crib.go new file mode 100644 index 00000000000..194990282a9 --- /dev/null +++ b/system-tests/lib/cre/crib/v2/crib.go @@ -0,0 +1,34 @@ +package cribv2 + +import ( + "context" + "fmt" + "github.com/smartcontractkit/chainlink-testing-framework/framework/components/blockchain" + "github.com/smartcontractkit/chainlink/system-tests/lib/cre/types" + "github.com/smartcontractkit/crib-sdk/crib" + anvilv1 "github.com/smartcontractkit/crib-sdk/crib/composite/anvil/v1" +) + +func DeployBlockchain(input *types.DeployCribBlockchainInput) (*blockchain.Output, error) { + ctx := context.Background() + cribNamespace := "crib-ns-tbd" + + plan := crib.NewPlan( + "anvilv1", + crib.Namespace(cribNamespace), + crib.ComponentSet( + anvilv1.Component(&anvilv1.Props{ + Namespace: cribNamespace, + ChainID: "", + }), + ), + ) + + if err := plan.Apply(ctx); err != nil { + fmt.Printf("Error applying plan: %v\n", err) + } + fmt.Printf("Successfully applied plan: %s\n", plan.Name()) + + // todo, and now how to get access to the Component props? + +} diff --git a/system-tests/lib/go.mod b/system-tests/lib/go.mod index 1d8fc238fb1..2d1b7247335 100644 --- a/system-tests/lib/go.mod +++ b/system-tests/lib/go.mod @@ -1,6 +1,6 @@ module github.com/smartcontractkit/chainlink/system-tests/lib -go 1.24.2 +go 1.24.3 // Using a separate `require` here to avoid surrounding line changes // creating potential merge conflicts. @@ -11,6 +11,8 @@ replace github.com/smartcontractkit/chainlink/v2 => ../../ replace github.com/smartcontractkit/chainlink/deployment => ../../deployment +replace github.com/smartcontractkit/crib-sdk => ../../../crib-sdk + require ( github.com/ethereum/go-ethereum v1.15.7 github.com/google/uuid v1.6.0 @@ -28,6 +30,7 @@ require ( github.com/smartcontractkit/chainlink-testing-framework/lib v1.52.4 github.com/smartcontractkit/chainlink-testing-framework/seth v1.51.2 github.com/smartcontractkit/chainlink/deployment v0.0.0-00010101000000-000000000000 + github.com/smartcontractkit/crib-sdk v0.0.0-00010101000000-000000000000 go.uber.org/ratelimit v0.3.1 golang.org/x/sync v0.14.0 google.golang.org/grpc v1.72.0 @@ -84,7 +87,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.2 // indirect github.com/aws/aws-sdk-go-v2/service/sts v1.32.2 // indirect github.com/aws/constructs-go/constructs/v10 v10.4.2 // indirect - github.com/aws/jsii-runtime-go v1.104.0 // indirect + github.com/aws/jsii-runtime-go v1.112.0 // indirect github.com/aws/smithy-go v1.22.0 // indirect github.com/aybabtme/rgbterm v0.0.0-20170906152045-cc83f3b3ce59 // indirect github.com/bahlo/generic-list-go v0.2.0 // indirect @@ -105,7 +108,8 @@ require ( github.com/bytecodealliance/wasmtime-go/v28 v28.0.0 // indirect github.com/bytedance/sonic v1.12.3 // indirect github.com/bytedance/sonic/loader v0.2.0 // indirect - github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.7.5 // indirect + github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.73 // indirect + github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.6 // indirect github.com/cenkalti/backoff v2.2.1+incompatible // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect @@ -140,6 +144,7 @@ require ( github.com/cpuguy83/go-md2man/v2 v2.0.6 // indirect github.com/crate-crypto/go-ipa v0.0.0-20240724233137-53bbb0ceb27a // indirect github.com/crate-crypto/go-kzg-4844 v1.1.0 // indirect + github.com/creasty/defaults v1.8.0 // indirect github.com/danieljoos/wincred v1.2.1 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect @@ -177,6 +182,9 @@ require ( github.com/gin-contrib/sessions v0.0.5 // indirect github.com/gin-contrib/sse v0.1.0 // indirect github.com/gin-gonic/gin v1.10.0 // indirect + github.com/gkampitakis/ciinfo v0.3.2 // indirect + github.com/gkampitakis/go-diff v1.3.2 // indirect + github.com/gkampitakis/go-snaps v0.5.13 // indirect github.com/go-asn1-ber/asn1-ber v1.5.5 // indirect github.com/go-chi/chi v1.5.5 // indirect github.com/go-errors/errors v1.4.2 // indirect @@ -193,13 +201,13 @@ require ( github.com/go-openapi/swag v0.23.0 // 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.25.0 // indirect + github.com/go-playground/validator/v10 v10.26.0 // indirect github.com/go-resty/resty/v2 v2.16.3 // indirect github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/go-webauthn/webauthn v0.9.4 // indirect github.com/go-webauthn/x v0.1.5 // indirect github.com/goccy/go-json v0.10.5 // indirect - github.com/goccy/go-yaml v1.12.0 // indirect + github.com/goccy/go-yaml v1.18.0 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect github.com/gofrs/flock v0.12.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect @@ -287,6 +295,7 @@ require ( github.com/magiconair/properties v1.8.10 // indirect github.com/mailru/easyjson v0.9.0 // indirect github.com/marcboeker/go-duckdb v1.8.3 // indirect + github.com/maruel/natural v1.1.1 // indirect github.com/mattn/go-colorable v0.1.14 // indirect github.com/mattn/go-isatty v0.0.20 // indirect github.com/mattn/go-runewidth v0.0.16 // indirect @@ -348,6 +357,7 @@ require ( github.com/rs/xid v1.5.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/ryanuber/go-glob v1.0.0 // indirect + github.com/samber/lo v1.50.0 // indirect github.com/sanity-io/litter v1.5.5 // indirect github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // indirect github.com/sasha-s/go-deadlock v0.3.5 // indirect @@ -399,6 +409,7 @@ require ( github.com/tidwall/gjson v1.18.0 // indirect github.com/tidwall/match v1.1.1 // indirect github.com/tidwall/pretty v1.2.1 // indirect + github.com/tidwall/sjson v1.2.5 // indirect github.com/tklauser/go-sysconf v0.3.15 // indirect github.com/tklauser/numcpus v0.10.0 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect @@ -451,13 +462,13 @@ require ( golang.org/x/crypto v0.38.0 // indirect golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 // indirect golang.org/x/mod v0.24.0 // indirect - golang.org/x/net v0.39.0 // indirect + golang.org/x/net v0.40.0 // indirect golang.org/x/oauth2 v0.27.0 // indirect golang.org/x/sys v0.33.0 // indirect golang.org/x/term v0.32.0 // indirect golang.org/x/text v0.25.0 // indirect golang.org/x/time v0.10.0 // indirect - golang.org/x/tools v0.32.0 // indirect + golang.org/x/tools v0.33.0 // indirect golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect gonum.org/v1/gonum v0.15.1 // indirect diff --git a/system-tests/lib/go.sum b/system-tests/lib/go.sum index 69f1973bde9..c54ca467954 100644 --- a/system-tests/lib/go.sum +++ b/system-tests/lib/go.sum @@ -166,8 +166,8 @@ github.com/aws/aws-sdk-go-v2/service/sts v1.32.2 h1:CiS7i0+FUe+/YY1GvIBLLrR/XNGZ github.com/aws/aws-sdk-go-v2/service/sts v1.32.2/go.mod h1:HtaiBI8CjYoNVde8arShXb94UbQQi9L4EMr6D+xGBwo= github.com/aws/constructs-go/constructs/v10 v10.4.2 h1:+hDLTsFGLJmKIn0Dg20vWpKBrVnFrEWYgTEY5UiTEG8= github.com/aws/constructs-go/constructs/v10 v10.4.2/go.mod h1:cXsNCKDV+9eR9zYYfwy6QuE4uPFp6jsq6TtH1MwBx9w= -github.com/aws/jsii-runtime-go v1.104.0 h1:651Sh6J2FtatfnVzlOQ3/Ye1WWPAseZ6E/tSQxEKdSI= -github.com/aws/jsii-runtime-go v1.104.0/go.mod h1:7ZmQXxV0AAhhvv/GaHX4n6zbgA1tSRVdnQYAJbIhXHk= +github.com/aws/jsii-runtime-go v1.112.0 h1:7jusWZUgSTuSPLa2ZRv+siGuyoFSzFNk/TaHqlcFe6Y= +github.com/aws/jsii-runtime-go v1.112.0/go.mod h1:jiAbLN2Hz+7At3C59LsQyv8gK3HvfNYF2YFPkWLHll8= github.com/aws/smithy-go v1.22.0 h1:uunKnWlcoL3zO7q+gG2Pk53joueEOsnNB28QdMsmiMM= github.com/aws/smithy-go v1.22.0/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= github.com/aybabtme/rgbterm v0.0.0-20170906152045-cc83f3b3ce59 h1:WWB576BN5zNSZc/M9d/10pqEx5VHNhaQ/yOVAkmj5Yo= @@ -195,6 +195,8 @@ github.com/blendle/zapdriver v1.3.1 h1:C3dydBOWYRiOk+B8X9IVZ5IOe+7cl+tGOexN4QqHf github.com/blendle/zapdriver v1.3.1/go.mod h1:mdXfREi6u5MArG4j9fewC+FGnXaBR+T4Ox4J2u4eHCc= github.com/block-vision/sui-go-sdk v1.0.6 h1:FysCc4TJC8v4BEBbCjJPDR4iR5eKqJT1dxGwsT67etg= github.com/block-vision/sui-go-sdk v1.0.6/go.mod h1:FyK1vGE8lWm9QA1fdQpf1agfXQSMbPT8AV1BICgx6d8= +github.com/brianvoe/gofakeit/v7 v7.2.1 h1:AGojgaaCdgq4Adzrd2uWdbGNDyX6MWNhHdQBraNfOHI= +github.com/brianvoe/gofakeit/v7 v7.2.1/go.mod h1:QXuPeBw164PJCzCUZVmgpgHJ3Llj49jSLVkKPMtxtxA= github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= github.com/btcsuite/btcd v0.22.0-beta.0.20220111032746-97732e52810c/go.mod h1:tjmYdS6MLJ5/s0Fj4DbLgSbDHbEqLJrtnHecBFkdz5M= github.com/btcsuite/btcd v0.23.5-0.20231215221805-96c9fd8078fd/go.mod h1:nm3Bko6zh6bWP60UxwoT5LzdGJsQJaPo6HjduXq9p6A= @@ -240,8 +242,10 @@ github.com/bytedance/sonic v1.12.3/go.mod h1:B8Gt/XvtZ3Fqj+iSKMypzymZxw/FVwgIGKz github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= github.com/bytedance/sonic/loader v0.2.0 h1:zNprn+lsIP06C/IqCHs3gPQIvnvpKbbxyXQP1iU4kWM= github.com/bytedance/sonic/loader v0.2.0/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= -github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.7.5 h1:rvc39Ol6z3MvaBzXkxFC6Nfsnixq/dRypushKDd7Nc0= -github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.7.5/go.mod h1:R/pdNYDYFQk+tuuOo7QES1kkv6OLmp5ze2XBZQIVffM= +github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.73 h1:8DD5JI0T5tb9jKFWvQwXV0tZdrSVWv+p1WGKTXznN0s= +github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.73/go.mod h1:JFGcyqRE2qXgHsBw27/L0D1uEJtLhUm2Vqx4dFOHSzA= +github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.6 h1:lrg95282nlRQ5WmJdpZWM0BiYrY4blu+NsXGHFeFVkM= +github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.6/go.mod h1:8oqg/vflmZjILCuV1ffX/wKcHo886Z8D+CYiEH7vvXk= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= @@ -344,6 +348,8 @@ github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7Do github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.24 h1:bJrF4RRfyJnbTJqzRLHzcGaZK1NeM5kTC9jGgovnR1s= github.com/creack/pty v1.1.24/go.mod h1:08sCNb52WyoAwi2QDyzUCTgcvVFhUzewun7wtTfvcwE= +github.com/creasty/defaults v1.8.0 h1:z27FJxCAa0JKt3utc0sCImAEb+spPucmKoOdLHvHYKk= +github.com/creasty/defaults v1.8.0/go.mod h1:iGzKe6pbEHnpMPtfDXZEr0NVxWnPTjb1bbDy08fPzYM= github.com/cucumber/gherkin/go/v26 v26.2.0 h1:EgIjePLWiPeslwIWmNQ3XHcypPsWAHoMCz/YEBKP4GI= github.com/cucumber/gherkin/go/v26 v26.2.0/go.mod h1:t2GAPnB8maCT4lkHL99BDCVNzCh1d7dBhCLt150Nr/0= github.com/cucumber/godog v0.15.0 h1:51AL8lBXF3f0cyA5CV4TnJFCTHpgiy+1x1Hb3TtZUmo= @@ -477,6 +483,12 @@ github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.10.0 h1:nTuyha1TYqgedzytsKYqna+DfLos46nTv2ygFy86HFU= github.com/gin-gonic/gin v1.10.0/go.mod h1:4PMNQiOhvDRa013RKVbsiNwoyezlm2rm0uX/T7kzp5Y= +github.com/gkampitakis/ciinfo v0.3.2 h1:JcuOPk8ZU7nZQjdUhctuhQofk7BGHuIy0c9Ez8BNhXs= +github.com/gkampitakis/ciinfo v0.3.2/go.mod h1:1NIwaOcFChN4fa/B0hEBdAb6npDlFL8Bwx4dfRLRqAo= +github.com/gkampitakis/go-diff v1.3.2 h1:Qyn0J9XJSDTgnsgHRdz9Zp24RaJeKMUHg2+PDZZdC4M= +github.com/gkampitakis/go-diff v1.3.2/go.mod h1:LLgOrpqleQe26cte8s36HTWcTmMEur6OPYerdAAS9tk= +github.com/gkampitakis/go-snaps v0.5.13 h1:Hhjmvv1WboSCxkR9iU2mj5PQ8tsz/y8ECGrIbjjPF8Q= +github.com/gkampitakis/go-snaps v0.5.13/go.mod h1:HNpx/9GoKisdhw9AFOBT1N7DBs9DiHo/hGheFGBZ+mc= github.com/go-asn1-ber/asn1-ber v1.5.5 h1:MNHlNMBDgEKD4TcKr36vQN68BA00aDfjIt3/bD50WnA= github.com/go-asn1-ber/asn1-ber v1.5.5/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= github.com/go-chi/chi v1.5.5 h1:vOB/HbEMt9QqBqErz07QehcOKHaWFtuj87tTDVz2qXE= @@ -524,8 +536,8 @@ github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/o github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= -github.com/go-playground/validator/v10 v10.25.0 h1:5Dh7cjvzR7BRZadnsVOzPhWsrwUr0nmsZJxEAnFLNO8= -github.com/go-playground/validator/v10 v10.25.0/go.mod h1:GGzBIJMuE98Ic/kJsBXbz1x/7cByt++cQ+YOuDM5wus= +github.com/go-playground/validator/v10 v10.26.0 h1:SP05Nqhjcvz81uJaRfEV0YBSSSGMc/iMaVtFbr3Sw2k= +github.com/go-playground/validator/v10 v10.26.0/go.mod h1:I5QpIEbmr8On7W0TktmJAumgzX4CA1XNl4ZmDuVHKKo= github.com/go-resty/resty/v2 v2.16.3 h1:zacNT7lt4b8M/io2Ahj6yPypL7bqx9n1iprfQuodV+E= github.com/go-resty/resty/v2 v2.16.3/go.mod h1:hkJtXbA2iKHzJheXYvQ8snQES5ZLGKMwQ07xAwp/fiA= github.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpvNJ1Y= @@ -543,8 +555,8 @@ github.com/go-webauthn/x v0.1.5 h1:V2TCzDU2TGLd0kSZOXdrqDVV5JB9ILnKxA9S53CSBw0= github.com/go-webauthn/x v0.1.5/go.mod h1:qbzWwcFcv4rTwtCLOZd+icnr6B7oSsAGZJqlt8cukqY= github.com/goccy/go-json v0.10.5 h1:Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4= github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= -github.com/goccy/go-yaml v1.12.0 h1:/1WHjnMsI1dlIBQutrvSMGZRQufVO3asrHfTwfACoPM= -github.com/goccy/go-yaml v1.12.0/go.mod h1:wKnAMd44+9JAAnGQpWVEgBzGt3YuTaQ4uXoHvE4m7WU= +github.com/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw= +github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= @@ -938,6 +950,8 @@ github.com/manyminds/api2go v0.0.0-20171030193247-e7b693844a6f h1:tVvGiZQFjOXP+9 github.com/manyminds/api2go v0.0.0-20171030193247-e7b693844a6f/go.mod h1:Z60vy0EZVSu0bOugCHdcN5ZxFMKSpjRgsnh0XKPFqqk= github.com/marcboeker/go-duckdb v1.8.3 h1:ZkYwiIZhbYsT6MmJsZ3UPTHrTZccDdM4ztoqSlEMXiQ= github.com/marcboeker/go-duckdb v1.8.3/go.mod h1:C9bYRE1dPYb1hhfu/SSomm78B0FXmNgRvv6YBW/Hooc= +github.com/maruel/natural v1.1.1 h1:Hja7XhhmvEFhcByqDoHz9QZbkWey+COd9xWfCfn1ioo= +github.com/maruel/natural v1.1.1/go.mod h1:v+Rfd79xlw1AgVBjbO0BEQmptqb5HvL/k9GRHB7ZKEg= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= @@ -1189,6 +1203,8 @@ github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6ke github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4= github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= +github.com/samber/lo v1.50.0 h1:XrG0xOeHs+4FQ8gJR97zDz5uOFMW7OwFWiFVzqopKgY= +github.com/samber/lo v1.50.0/go.mod h1:RjZyNk6WSnUFRKK6EyOhsRJMqft3G+pg7dCWHQCWvsc= github.com/sanity-io/litter v1.5.5 h1:iE+sBxPBzoK6uaEP5Lt3fHNgpKcHXc/A2HGETy0uJQo= github.com/sanity-io/litter v1.5.5/go.mod h1:9gzJgR2i4ZpjZHsKvUXIRQVk7P+yM3e+jAF7bU2UI5U= github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 h1:lZUw3E0/J3roVtGQ+SCrUrg3ON6NgVqpn3+iol9aGu4= @@ -1367,6 +1383,7 @@ github.com/theodesp/go-heaps v0.0.0-20190520121037-88e35354fe0a h1:YuO+afVc3eqrj github.com/theodesp/go-heaps v0.0.0-20190520121037-88e35354fe0a/go.mod h1:/sfW47zCZp9FrtGcWyo1VjbgDaodxX9ovZvgLb/MxaA= github.com/tidwall/btree v1.7.0 h1:L1fkJH/AuEh5zBnnBbmTwQ5Lt+bRJ5A8EWecslvo9iI= github.com/tidwall/btree v1.7.0/go.mod h1:twD9XRA5jj9VUQGELzDO4HPQTNJsoWWfYEL+EUQ2cKY= +github.com/tidwall/gjson v1.14.2/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= github.com/tidwall/gjson v1.18.0 h1:FIDeeyB800efLX89e5a8Y0BNH+LOngJyGrIWxG2FKQY= github.com/tidwall/gjson v1.18.0/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA= @@ -1374,6 +1391,8 @@ github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JT github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= github.com/tidwall/pretty v1.2.1 h1:qjsOFOWWQl+N3RsoF5/ssm1pHmJJwhjlSbZ51I6wMl4= github.com/tidwall/pretty v1.2.1/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= +github.com/tidwall/sjson v1.2.5 h1:kLy8mja+1c9jlljvWTlSazM7cKDRfJuR/bOJhcY5NcY= +github.com/tidwall/sjson v1.2.5/go.mod h1:Fvgq9kS/6ociJEDnK0Fk1cpYF4FIW6ZF7LAe+6jwd28= github.com/tklauser/go-sysconf v0.3.12/go.mod h1:Ho14jnntGE1fpdOqQEEaiKRpvIavV0hSfmBq8nJbHYI= github.com/tklauser/go-sysconf v0.3.15 h1:VE89k0criAymJ/Os65CSn1IXaol+1wrsFHEB8Ol49K4= github.com/tklauser/go-sysconf v0.3.15/go.mod h1:Dmjwr6tYFIseJw7a3dRLJfsHAMXZ3nEnL/aZY+0IuI4= @@ -1424,6 +1443,8 @@ github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +github.com/yuin/goldmark v1.6.0 h1:boZcn2GTjpsynOsC0iJHnBWa4Bi0qzfJjthwauItG68= +github.com/yuin/goldmark v1.6.0/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ= @@ -1589,6 +1610,7 @@ golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRu golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 h1:VLliZ0d+/avPrXXH+OakdXhpJuEoBZuwh1m2j7U6Iug= golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= @@ -1663,8 +1685,8 @@ golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY= -golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E= +golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY= +golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds= 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= @@ -1877,8 +1899,8 @@ golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= -golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU= -golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s= +golang.org/x/tools v0.33.0 h1:4qz2S3zmRxbGIhDIAgjxvFutSvH5EfnsYrRBj0UI0bc= +golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= From 8d8e9930bd588bdc243cd625ffeabf53d5b12e96 Mon Sep 17 00:00:00 2001 From: Radek Scheibinger Date: Tue, 24 Jun 2025 18:40:04 +0200 Subject: [PATCH 02/37] notes --- core/scripts/go.mod | 18 ++--- core/scripts/go.sum | 8 +++ system-tests/lib/cre/crib/v2/crib.go | 76 ++++++++++++++++++-- system-tests/lib/cre/crib/v2/job_deployer.go | 15 ++++ system-tests/lib/cre/types/keystone.go | 2 + system-tests/tests/go.mod | 14 ++-- system-tests/tests/go.sum | 6 ++ 7 files changed, 117 insertions(+), 22 deletions(-) create mode 100644 system-tests/lib/cre/crib/v2/job_deployer.go diff --git a/core/scripts/go.mod b/core/scripts/go.mod index 9947e9c60ad..789c9fa8bd4 100644 --- a/core/scripts/go.mod +++ b/core/scripts/go.mod @@ -1,6 +1,6 @@ module github.com/smartcontractkit/chainlink/core/scripts -go 1.24.2 +go 1.24.3 // Make sure we're working with the latest chainlink libs replace github.com/smartcontractkit/chainlink/v2 => ../../ @@ -20,7 +20,7 @@ require ( github.com/docker/docker v28.0.4+incompatible github.com/docker/go-connections v0.5.0 github.com/ethereum/go-ethereum v1.15.11 - github.com/gkampitakis/go-snaps v0.5.4 + github.com/gkampitakis/go-snaps v0.5.13 github.com/google/go-cmp v0.7.0 github.com/google/uuid v1.6.0 github.com/jmoiron/sqlx v1.4.0 @@ -109,7 +109,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.2 // indirect github.com/aws/aws-sdk-go-v2/service/sts v1.32.2 // indirect github.com/aws/constructs-go/constructs/v10 v10.4.2 // indirect - github.com/aws/jsii-runtime-go v1.104.0 // indirect + github.com/aws/jsii-runtime-go v1.112.0 // indirect github.com/aws/smithy-go v1.22.0 // indirect github.com/aybabtme/rgbterm v0.0.0-20170906152045-cc83f3b3ce59 // indirect github.com/bahlo/generic-list-go v0.2.0 // indirect @@ -130,7 +130,7 @@ require ( github.com/bytecodealliance/wasmtime-go/v28 v28.0.0 // indirect github.com/bytedance/sonic v1.12.3 // indirect github.com/bytedance/sonic/loader v0.2.0 // indirect - github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.7.5 // indirect + github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.73 // indirect github.com/cenkalti/backoff v2.2.1+incompatible // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect @@ -205,7 +205,7 @@ require ( github.com/gin-contrib/size v0.0.0-20230212012657-e14a14094dc4 // indirect github.com/gin-contrib/sse v0.1.0 // indirect github.com/gin-gonic/gin v1.10.0 // indirect - github.com/gkampitakis/ciinfo v0.3.0 // indirect + github.com/gkampitakis/ciinfo v0.3.2 // indirect github.com/gkampitakis/go-diff v1.3.2 // indirect github.com/go-asn1-ber/asn1-ber v1.5.5 // indirect github.com/go-chi/chi v1.5.5 // indirect @@ -223,13 +223,13 @@ require ( github.com/go-openapi/swag v0.23.0 // 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.25.0 // indirect + github.com/go-playground/validator/v10 v10.26.0 // indirect github.com/go-resty/resty/v2 v2.16.3 // indirect github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/go-webauthn/webauthn v0.9.4 // indirect github.com/go-webauthn/x v0.1.5 // indirect github.com/goccy/go-json v0.10.5 // indirect - github.com/goccy/go-yaml v1.12.0 // indirect + github.com/goccy/go-yaml v1.18.0 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect github.com/gofrs/flock v0.12.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect @@ -487,14 +487,14 @@ require ( golang.org/x/crypto v0.38.0 // indirect golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 // indirect golang.org/x/mod v0.24.0 // indirect - golang.org/x/net v0.39.0 // indirect + golang.org/x/net v0.40.0 // indirect golang.org/x/oauth2 v0.27.0 // indirect golang.org/x/sync v0.14.0 // indirect golang.org/x/sys v0.33.0 // indirect golang.org/x/term v0.32.0 // indirect golang.org/x/text v0.25.0 // indirect golang.org/x/time v0.10.0 // indirect - golang.org/x/tools v0.32.0 // indirect + golang.org/x/tools v0.33.0 // indirect golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect gonum.org/v1/gonum v0.15.1 // indirect diff --git a/core/scripts/go.sum b/core/scripts/go.sum index e116a5154b4..3b49ceda1aa 100644 --- a/core/scripts/go.sum +++ b/core/scripts/go.sum @@ -172,6 +172,7 @@ github.com/aws/constructs-go/constructs/v10 v10.4.2 h1:+hDLTsFGLJmKIn0Dg20vWpKBr github.com/aws/constructs-go/constructs/v10 v10.4.2/go.mod h1:cXsNCKDV+9eR9zYYfwy6QuE4uPFp6jsq6TtH1MwBx9w= github.com/aws/jsii-runtime-go v1.104.0 h1:651Sh6J2FtatfnVzlOQ3/Ye1WWPAseZ6E/tSQxEKdSI= github.com/aws/jsii-runtime-go v1.104.0/go.mod h1:7ZmQXxV0AAhhvv/GaHX4n6zbgA1tSRVdnQYAJbIhXHk= +github.com/aws/jsii-runtime-go v1.112.0/go.mod h1:jiAbLN2Hz+7At3C59LsQyv8gK3HvfNYF2YFPkWLHll8= github.com/aws/smithy-go v1.22.0 h1:uunKnWlcoL3zO7q+gG2Pk53joueEOsnNB28QdMsmiMM= github.com/aws/smithy-go v1.22.0/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= github.com/aybabtme/rgbterm v0.0.0-20170906152045-cc83f3b3ce59 h1:WWB576BN5zNSZc/M9d/10pqEx5VHNhaQ/yOVAkmj5Yo= @@ -246,6 +247,7 @@ github.com/bytedance/sonic/loader v0.2.0 h1:zNprn+lsIP06C/IqCHs3gPQIvnvpKbbxyXQP github.com/bytedance/sonic/loader v0.2.0/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.7.5 h1:rvc39Ol6z3MvaBzXkxFC6Nfsnixq/dRypushKDd7Nc0= github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.7.5/go.mod h1:R/pdNYDYFQk+tuuOo7QES1kkv6OLmp5ze2XBZQIVffM= +github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.73/go.mod h1:JFGcyqRE2qXgHsBw27/L0D1uEJtLhUm2Vqx4dFOHSzA= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= @@ -491,10 +493,12 @@ github.com/gin-gonic/gin v1.10.0 h1:nTuyha1TYqgedzytsKYqna+DfLos46nTv2ygFy86HFU= github.com/gin-gonic/gin v1.10.0/go.mod h1:4PMNQiOhvDRa013RKVbsiNwoyezlm2rm0uX/T7kzp5Y= github.com/gkampitakis/ciinfo v0.3.0 h1:gWZlOC2+RYYttL0hBqcoQhM7h1qNkVqvRCV1fOvpAv8= github.com/gkampitakis/ciinfo v0.3.0/go.mod h1:1NIwaOcFChN4fa/B0hEBdAb6npDlFL8Bwx4dfRLRqAo= +github.com/gkampitakis/ciinfo v0.3.2/go.mod h1:1NIwaOcFChN4fa/B0hEBdAb6npDlFL8Bwx4dfRLRqAo= github.com/gkampitakis/go-diff v1.3.2 h1:Qyn0J9XJSDTgnsgHRdz9Zp24RaJeKMUHg2+PDZZdC4M= github.com/gkampitakis/go-diff v1.3.2/go.mod h1:LLgOrpqleQe26cte8s36HTWcTmMEur6OPYerdAAS9tk= github.com/gkampitakis/go-snaps v0.5.4 h1:GX+dkKmVsRenz7SoTbdIEL4KQARZctkMiZ8ZKprRwT8= github.com/gkampitakis/go-snaps v0.5.4/go.mod h1:ZABkO14uCuVxBHAXAfKG+bqNz+aa1bGPAg8jkI0Nk8Y= +github.com/gkampitakis/go-snaps v0.5.13/go.mod h1:HNpx/9GoKisdhw9AFOBT1N7DBs9DiHo/hGheFGBZ+mc= github.com/go-asn1-ber/asn1-ber v1.5.5 h1:MNHlNMBDgEKD4TcKr36vQN68BA00aDfjIt3/bD50WnA= github.com/go-asn1-ber/asn1-ber v1.5.5/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= github.com/go-chi/chi v1.5.5 h1:vOB/HbEMt9QqBqErz07QehcOKHaWFtuj87tTDVz2qXE= @@ -549,6 +553,7 @@ github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91 github.com/go-playground/validator/v10 v10.10.0/go.mod h1:74x4gJWsvQexRdW8Pn3dXSGrTK4nAUsbPlLADvpJkos= github.com/go-playground/validator/v10 v10.25.0 h1:5Dh7cjvzR7BRZadnsVOzPhWsrwUr0nmsZJxEAnFLNO8= github.com/go-playground/validator/v10 v10.25.0/go.mod h1:GGzBIJMuE98Ic/kJsBXbz1x/7cByt++cQ+YOuDM5wus= +github.com/go-playground/validator/v10 v10.26.0/go.mod h1:I5QpIEbmr8On7W0TktmJAumgzX4CA1XNl4ZmDuVHKKo= github.com/go-resty/resty/v2 v2.16.3 h1:zacNT7lt4b8M/io2Ahj6yPypL7bqx9n1iprfQuodV+E= github.com/go-resty/resty/v2 v2.16.3/go.mod h1:hkJtXbA2iKHzJheXYvQ8snQES5ZLGKMwQ07xAwp/fiA= github.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpvNJ1Y= @@ -569,6 +574,7 @@ github.com/goccy/go-json v0.10.5 h1:Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4= github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= github.com/goccy/go-yaml v1.12.0 h1:/1WHjnMsI1dlIBQutrvSMGZRQufVO3asrHfTwfACoPM= github.com/goccy/go-yaml v1.12.0/go.mod h1:wKnAMd44+9JAAnGQpWVEgBzGt3YuTaQ4uXoHvE4m7WU= +github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= @@ -1712,6 +1718,7 @@ golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY= golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E= +golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds= 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= @@ -1927,6 +1934,7 @@ golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU= golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s= +golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/system-tests/lib/cre/crib/v2/crib.go b/system-tests/lib/cre/crib/v2/crib.go index 194990282a9..2867c1a9d33 100644 --- a/system-tests/lib/cre/crib/v2/crib.go +++ b/system-tests/lib/cre/crib/v2/crib.go @@ -11,16 +11,79 @@ import ( func DeployBlockchain(input *types.DeployCribBlockchainInput) (*blockchain.Output, error) { ctx := context.Background() - cribNamespace := "crib-ns-tbd" + anvil := anvilv1.Component(&anvilv1.Props{ + Namespace: input.Namespace, + ChainID: input.BlockchainInput.ChainID, + // startUp cmd -> to co w entrypoint, args to anvil binary configurable + RemoteFunc: func() error { + // + }, + }) plan := crib.NewPlan( "anvilv1", - crib.Namespace(cribNamespace), + crib.Namespace(input.Namespace), crib.ComponentSet( - anvilv1.Component(&anvilv1.Props{ - Namespace: cribNamespace, - ChainID: "", - }), + anvil, + ), + ) + + appliedPlan, err := plan.Apply(ctx) + if err := nil { + fmt.Printf("Error applying plan: %v\n", err) + } + + anvilComponent, err := appliedPlan.GetComponentByName("anvil") + + anvilComponent + + fmt.Printf("Successfully applied plan: %s\n", plan.Name()) + + // todo, and now how to get access to the Component props? + return &blockchain.Output{ + Type: input.BlockchainInput.Type, + Family: "evm", + ChainID: input.BlockchainInput.ChainID, + Nodes: []*blockchain.Node{ + { // todo: + ExternalWSUrl: "", + ExternalHTTPUrl: "", + InternalWSUrl: "", + InternalHTTPUrl: "", + }, + }, + }, nil + +} + +func DeployDons(input *types.DeployCribDonsInput) ([]*types.CapabilitiesAwareNodeSet, error) { + ctx := context.Background() + + nodeset := anvilv1.Component(&nodesetv1.Props{ + Namespace: input.Namespace, + // Requirements: + // - image with tag + // - config override files for bt (0-n) and worker nodes (0-n) + // WORKFLOW_DON and GATEWAY_DON + // 3 topologie, + // 1) 1 Don, with one bootstrap which is also a gateway node + // bootstrap and worker nodes are variable + // note: impossible to do because of DON_TYPE hardcoded things in the chart + // this the highest value, as currently it is not possible at all, it is the fastest to deploy and provide a feedback loop to dev + // 2) workflow don + // separate don which is just a gateway + // 3) same as 2) plus capability DON + + // Copying binaries to pod, handle it later, in sandbox there is an image which has all plugins + // it would be nice for feature parity with docker + // low value, high complexity + + }) + plan := crib.NewPlan( + "nodesetv1", + crib.Namespace(input.Namespace), + crib.ComponentSet( + nodeset, ), ) @@ -30,5 +93,6 @@ func DeployBlockchain(input *types.DeployCribBlockchainInput) (*blockchain.Outpu fmt.Printf("Successfully applied plan: %s\n", plan.Name()) // todo, and now how to get access to the Component props? + return } diff --git a/system-tests/lib/cre/crib/v2/job_deployer.go b/system-tests/lib/cre/crib/v2/job_deployer.go new file mode 100644 index 00000000000..38c7615533f --- /dev/null +++ b/system-tests/lib/cre/crib/v2/job_deployer.go @@ -0,0 +1,15 @@ +package cribv2 + +import ( + "context" + "github.com/smartcontractkit/crib-sdk/crib" +) + +// Component returns a new Anvil composite component. +func Component(props *crib.Props, opts ...PropOpt) crib.ComponentFunc { + return func(ctx context.Context) (crib.Component, error) { + // remote execution here + // deploy jobs + return + } +} diff --git a/system-tests/lib/cre/types/keystone.go b/system-tests/lib/cre/types/keystone.go index 51c5e857669..d7976fcc878 100644 --- a/system-tests/lib/cre/types/keystone.go +++ b/system-tests/lib/cre/types/keystone.go @@ -482,6 +482,7 @@ type DeployCribDonsInput struct { NodeSetInputs []*CapabilitiesAwareNodeSet NixShell *nix.Shell CribConfigsDir string + Namespace string } func (d *DeployCribDonsInput) Validate() error { @@ -526,6 +527,7 @@ type DeployCribBlockchainInput struct { BlockchainInput *blockchain.Input NixShell *nix.Shell CribConfigsDir string + Namespace string } func (d *DeployCribBlockchainInput) Validate() error { diff --git a/system-tests/tests/go.mod b/system-tests/tests/go.mod index b640e1ea828..6975654aaff 100644 --- a/system-tests/tests/go.mod +++ b/system-tests/tests/go.mod @@ -1,6 +1,6 @@ module github.com/smartcontractkit/chainlink/system-tests/tests -go 1.24.2 +go 1.24.3 // Using a separate `require` here to avoid surrounding line changes // creating potential merge conflicts. @@ -17,7 +17,7 @@ require ( github.com/ethereum/go-ethereum v1.15.7 github.com/gin-gonic/gin v1.10.0 github.com/go-playground/universal-translator v0.18.1 - github.com/go-playground/validator/v10 v10.25.0 + github.com/go-playground/validator/v10 v10.26.0 github.com/google/uuid v1.6.0 github.com/pkg/errors v0.9.1 github.com/rs/zerolog v1.33.0 @@ -100,7 +100,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.6 // indirect github.com/aws/aws-sdk-go-v2/service/sts v1.33.2 // indirect github.com/aws/constructs-go/constructs/v10 v10.4.2 // indirect - github.com/aws/jsii-runtime-go v1.104.0 // indirect + github.com/aws/jsii-runtime-go v1.112.0 // indirect github.com/aws/smithy-go v1.22.1 // indirect github.com/aybabtme/rgbterm v0.0.0-20170906152045-cc83f3b3ce59 // indirect github.com/bahlo/generic-list-go v0.2.0 // indirect @@ -123,7 +123,7 @@ require ( github.com/bytedance/sonic v1.12.3 // indirect github.com/bytedance/sonic/loader v0.2.0 // indirect github.com/c2h5oh/datasize v0.0.0-20231215233829-aa82cc1e6500 // indirect - github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.7.5 // indirect + github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.73 // indirect github.com/cenkalti/backoff v2.2.1+incompatible // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect @@ -227,7 +227,7 @@ require ( github.com/go-webauthn/webauthn v0.9.4 // indirect github.com/go-webauthn/x v0.1.5 // indirect github.com/goccy/go-json v0.10.5 // indirect - github.com/goccy/go-yaml v1.12.0 // indirect + github.com/goccy/go-yaml v1.18.0 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect github.com/gofrs/flock v0.12.1 // indirect github.com/gogo/googleapis v1.4.1 // indirect @@ -539,13 +539,13 @@ require ( golang.org/x/crypto v0.38.0 // indirect golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 // indirect golang.org/x/mod v0.24.0 // indirect - golang.org/x/net v0.39.0 // indirect + golang.org/x/net v0.40.0 // indirect golang.org/x/oauth2 v0.27.0 // indirect golang.org/x/sys v0.33.0 // indirect golang.org/x/term v0.32.0 // indirect golang.org/x/text v0.25.0 // indirect golang.org/x/time v0.10.0 // indirect - golang.org/x/tools v0.32.0 // indirect + golang.org/x/tools v0.33.0 // indirect golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect gonum.org/v1/gonum v0.15.1 // indirect diff --git a/system-tests/tests/go.sum b/system-tests/tests/go.sum index 24721ee27f4..71f5e8a4e45 100644 --- a/system-tests/tests/go.sum +++ b/system-tests/tests/go.sum @@ -209,6 +209,7 @@ github.com/aws/constructs-go/constructs/v10 v10.4.2 h1:+hDLTsFGLJmKIn0Dg20vWpKBr github.com/aws/constructs-go/constructs/v10 v10.4.2/go.mod h1:cXsNCKDV+9eR9zYYfwy6QuE4uPFp6jsq6TtH1MwBx9w= github.com/aws/jsii-runtime-go v1.104.0 h1:651Sh6J2FtatfnVzlOQ3/Ye1WWPAseZ6E/tSQxEKdSI= github.com/aws/jsii-runtime-go v1.104.0/go.mod h1:7ZmQXxV0AAhhvv/GaHX4n6zbgA1tSRVdnQYAJbIhXHk= +github.com/aws/jsii-runtime-go v1.112.0/go.mod h1:jiAbLN2Hz+7At3C59LsQyv8gK3HvfNYF2YFPkWLHll8= github.com/aws/smithy-go v1.22.1 h1:/HPHZQ0g7f4eUeK6HKglFz8uwVfZKgoI25rb/J+dnro= github.com/aws/smithy-go v1.22.1/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= github.com/aybabtme/rgbterm v0.0.0-20170906152045-cc83f3b3ce59 h1:WWB576BN5zNSZc/M9d/10pqEx5VHNhaQ/yOVAkmj5Yo= @@ -289,6 +290,7 @@ github.com/c2h5oh/datasize v0.0.0-20231215233829-aa82cc1e6500 h1:6lhrsTEnloDPXye github.com/c2h5oh/datasize v0.0.0-20231215233829-aa82cc1e6500/go.mod h1:S/7n9copUssQ56c7aAgHqftWO4LTf4xY6CGWt8Bc+3M= github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.7.5 h1:rvc39Ol6z3MvaBzXkxFC6Nfsnixq/dRypushKDd7Nc0= github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.7.5/go.mod h1:R/pdNYDYFQk+tuuOo7QES1kkv6OLmp5ze2XBZQIVffM= +github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.73/go.mod h1:JFGcyqRE2qXgHsBw27/L0D1uEJtLhUm2Vqx4dFOHSzA= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= @@ -602,6 +604,7 @@ github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJn github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= github.com/go-playground/validator/v10 v10.25.0 h1:5Dh7cjvzR7BRZadnsVOzPhWsrwUr0nmsZJxEAnFLNO8= github.com/go-playground/validator/v10 v10.25.0/go.mod h1:GGzBIJMuE98Ic/kJsBXbz1x/7cByt++cQ+YOuDM5wus= +github.com/go-playground/validator/v10 v10.26.0/go.mod h1:I5QpIEbmr8On7W0TktmJAumgzX4CA1XNl4ZmDuVHKKo= github.com/go-redis/redis v6.15.9+incompatible h1:K0pv1D7EQUjfyoMql+r/jZqCLizCGKFlFgcHWWmHQjg= github.com/go-redis/redis v6.15.9+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= github.com/go-redis/redis/v7 v7.4.1 h1:PASvf36gyUpr2zdOUS/9Zqc80GbM+9BDyiJSJDDOrTI= @@ -631,6 +634,7 @@ github.com/goccy/go-json v0.10.5 h1:Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4= github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= github.com/goccy/go-yaml v1.12.0 h1:/1WHjnMsI1dlIBQutrvSMGZRQufVO3asrHfTwfACoPM= github.com/goccy/go-yaml v1.12.0/go.mod h1:wKnAMd44+9JAAnGQpWVEgBzGt3YuTaQ4uXoHvE4m7WU= +github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= @@ -1938,6 +1942,7 @@ golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY= golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E= +golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds= 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= @@ -2176,6 +2181,7 @@ golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58 golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU= golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s= +golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= From c39d0e20479fb6063bc3bb6d1a855a94002955ad Mon Sep 17 00:00:00 2001 From: Radek Scheibinger Date: Fri, 27 Jun 2025 13:21:02 +0200 Subject: [PATCH 03/37] update go mods --- core/scripts/go.mod | 32 ++++++++++---------- core/scripts/go.sum | 62 +++++++++++++++++---------------------- system-tests/lib/go.mod | 28 +++++++++--------- system-tests/lib/go.sum | 13 ++++++++ system-tests/tests/go.mod | 28 +++++++++--------- system-tests/tests/go.sum | 56 ++++++++++++++++------------------- 6 files changed, 109 insertions(+), 110 deletions(-) diff --git a/core/scripts/go.mod b/core/scripts/go.mod index 07585370a73..821242461f6 100644 --- a/core/scripts/go.mod +++ b/core/scripts/go.mod @@ -20,7 +20,7 @@ require ( github.com/docker/docker v28.0.4+incompatible github.com/docker/go-connections v0.5.0 github.com/ethereum/go-ethereum v1.15.11 - github.com/gkampitakis/go-snaps v0.5.4 + github.com/gkampitakis/go-snaps v0.5.13 github.com/google/go-cmp v0.7.0 github.com/google/uuid v1.6.0 github.com/jmoiron/sqlx v1.4.0 @@ -71,7 +71,7 @@ require ( cosmossdk.io/math v1.4.0 // indirect cosmossdk.io/store v1.1.1 // indirect cosmossdk.io/x/tx v0.13.7 // indirect - dario.cat/mergo v1.0.1 // indirect + dario.cat/mergo v1.0.2 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.1 // indirect @@ -111,7 +111,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.2 // indirect github.com/aws/aws-sdk-go-v2/service/sts v1.32.2 // indirect github.com/aws/constructs-go/constructs/v10 v10.4.2 // indirect - github.com/aws/jsii-runtime-go v1.104.0 // indirect + github.com/aws/jsii-runtime-go v1.112.0 // indirect github.com/aws/smithy-go v1.22.0 // indirect github.com/aybabtme/rgbterm v0.0.0-20170906152045-cc83f3b3ce59 // indirect github.com/bahlo/generic-list-go v0.2.0 // indirect @@ -132,7 +132,7 @@ require ( github.com/bytecodealliance/wasmtime-go/v28 v28.0.0 // indirect github.com/bytedance/sonic v1.12.3 // indirect github.com/bytedance/sonic/loader v0.2.0 // indirect - github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.7.5 // indirect + github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.74 // indirect github.com/cenkalti/backoff v2.2.1+incompatible // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect @@ -194,7 +194,7 @@ require ( github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.8.0 // indirect github.com/fxamacker/cbor/v2 v2.7.0 // indirect - github.com/gabriel-vasile/mimetype v1.4.8 // indirect + github.com/gabriel-vasile/mimetype v1.4.9 // indirect github.com/gagliardetto/binary v0.8.0 // indirect github.com/gagliardetto/solana-go v1.12.0 // indirect github.com/gagliardetto/treeout v0.1.4 // indirect @@ -207,7 +207,7 @@ require ( github.com/gin-contrib/size v0.0.0-20230212012657-e14a14094dc4 // indirect github.com/gin-contrib/sse v0.1.0 // indirect github.com/gin-gonic/gin v1.10.0 // indirect - github.com/gkampitakis/ciinfo v0.3.0 // indirect + github.com/gkampitakis/ciinfo v0.3.2 // indirect github.com/gkampitakis/go-diff v1.3.2 // indirect github.com/go-asn1-ber/asn1-ber v1.5.5 // indirect github.com/go-chi/chi v1.5.5 // indirect @@ -225,13 +225,13 @@ require ( github.com/go-openapi/swag v0.23.0 // 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.25.0 // indirect + github.com/go-playground/validator/v10 v10.26.0 // indirect github.com/go-resty/resty/v2 v2.16.3 // indirect github.com/go-viper/mapstructure/v2 v2.3.0 // indirect github.com/go-webauthn/webauthn v0.9.4 // indirect github.com/go-webauthn/x v0.1.5 // indirect github.com/goccy/go-json v0.10.5 // indirect - github.com/goccy/go-yaml v1.12.0 // indirect + github.com/goccy/go-yaml v1.18.0 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect github.com/gofrs/flock v0.12.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect @@ -373,7 +373,7 @@ require ( github.com/prometheus/prometheus v0.302.0 // indirect github.com/rivo/uniseg v0.4.7 // indirect github.com/robfig/cron/v3 v3.0.1 // indirect - github.com/rogpeppe/go-internal v1.13.1 // indirect + github.com/rogpeppe/go-internal v1.14.1 // indirect github.com/rs/cors v1.11.1 // indirect github.com/rs/xid v1.5.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect @@ -415,7 +415,7 @@ require ( github.com/smartcontractkit/wsrpc v0.8.5-0.20250502134807-c57d3d995945 // indirect github.com/sourcegraph/conc v0.3.0 // indirect github.com/spf13/afero v1.12.0 // indirect - github.com/spf13/cast v1.7.1 // indirect + github.com/spf13/cast v1.9.2 // indirect github.com/spf13/pflag v1.0.6 // indirect github.com/stephenlacy/go-ethereum-hdwallet v0.0.0-20230913225845-a4fa94429863 // indirect github.com/streamingfast/logging v0.0.0-20230608130331-f22c91403091 // indirect @@ -482,17 +482,17 @@ require ( go.uber.org/multierr v1.11.0 // indirect go.uber.org/ratelimit v0.3.1 // indirect golang.org/x/arch v0.11.0 // indirect - golang.org/x/crypto v0.38.0 // indirect + golang.org/x/crypto v0.39.0 // indirect golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 // indirect - golang.org/x/mod v0.24.0 // indirect - golang.org/x/net v0.39.0 // indirect + golang.org/x/mod v0.25.0 // indirect + golang.org/x/net v0.41.0 // indirect golang.org/x/oauth2 v0.27.0 // indirect - golang.org/x/sync v0.14.0 // indirect + golang.org/x/sync v0.15.0 // indirect golang.org/x/sys v0.33.0 // indirect golang.org/x/term v0.32.0 // indirect - golang.org/x/text v0.25.0 // indirect + golang.org/x/text v0.26.0 // indirect golang.org/x/time v0.10.0 // indirect - golang.org/x/tools v0.32.0 // indirect + golang.org/x/tools v0.34.0 // indirect golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect gonum.org/v1/gonum v0.15.1 // indirect diff --git a/core/scripts/go.sum b/core/scripts/go.sum index 6c0674af8eb..ed5ab886bbb 100644 --- a/core/scripts/go.sum +++ b/core/scripts/go.sum @@ -54,8 +54,8 @@ cosmossdk.io/store v1.1.1 h1:NA3PioJtWDVU7cHHeyvdva5J/ggyLDkyH0hGHl2804Y= cosmossdk.io/store v1.1.1/go.mod h1:8DwVTz83/2PSI366FERGbWSH7hL6sB7HbYp8bqksNwM= cosmossdk.io/x/tx v0.13.7 h1:8WSk6B/OHJLYjiZeMKhq7DK7lHDMyK0UfDbBMxVmeOI= cosmossdk.io/x/tx v0.13.7/go.mod h1:V6DImnwJMTq5qFjeGWpXNiT/fjgE4HtmclRmTqRVM3w= -dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s= -dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= +dario.cat/mergo v1.0.2 h1:85+piFYR1tMbRrLcDwR18y4UKJ3aH1Tbzi24VRW1TK8= +dario.cat/mergo v1.0.2/go.mod h1:E/hbnu0NxMFBjpMIE34DRGLWqDy0g5FuKDhCb31ngxA= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= @@ -172,8 +172,7 @@ github.com/aws/aws-sdk-go-v2/service/sts v1.32.2 h1:CiS7i0+FUe+/YY1GvIBLLrR/XNGZ github.com/aws/aws-sdk-go-v2/service/sts v1.32.2/go.mod h1:HtaiBI8CjYoNVde8arShXb94UbQQi9L4EMr6D+xGBwo= github.com/aws/constructs-go/constructs/v10 v10.4.2 h1:+hDLTsFGLJmKIn0Dg20vWpKBrVnFrEWYgTEY5UiTEG8= github.com/aws/constructs-go/constructs/v10 v10.4.2/go.mod h1:cXsNCKDV+9eR9zYYfwy6QuE4uPFp6jsq6TtH1MwBx9w= -github.com/aws/jsii-runtime-go v1.104.0 h1:651Sh6J2FtatfnVzlOQ3/Ye1WWPAseZ6E/tSQxEKdSI= -github.com/aws/jsii-runtime-go v1.104.0/go.mod h1:7ZmQXxV0AAhhvv/GaHX4n6zbgA1tSRVdnQYAJbIhXHk= +github.com/aws/jsii-runtime-go v1.112.0 h1:7jusWZUgSTuSPLa2ZRv+siGuyoFSzFNk/TaHqlcFe6Y= github.com/aws/jsii-runtime-go v1.112.0/go.mod h1:jiAbLN2Hz+7At3C59LsQyv8gK3HvfNYF2YFPkWLHll8= github.com/aws/smithy-go v1.22.0 h1:uunKnWlcoL3zO7q+gG2Pk53joueEOsnNB28QdMsmiMM= github.com/aws/smithy-go v1.22.0/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= @@ -247,9 +246,8 @@ github.com/bytedance/sonic v1.12.3/go.mod h1:B8Gt/XvtZ3Fqj+iSKMypzymZxw/FVwgIGKz github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= github.com/bytedance/sonic/loader v0.2.0 h1:zNprn+lsIP06C/IqCHs3gPQIvnvpKbbxyXQP1iU4kWM= github.com/bytedance/sonic/loader v0.2.0/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= -github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.7.5 h1:rvc39Ol6z3MvaBzXkxFC6Nfsnixq/dRypushKDd7Nc0= -github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.7.5/go.mod h1:R/pdNYDYFQk+tuuOo7QES1kkv6OLmp5ze2XBZQIVffM= -github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.73/go.mod h1:JFGcyqRE2qXgHsBw27/L0D1uEJtLhUm2Vqx4dFOHSzA= +github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.74 h1:bEcaS0Vqt1urlk2vrI0NN/2iu0yjeU+O3bPQCnbD+Qw= +github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.74/go.mod h1:JFGcyqRE2qXgHsBw27/L0D1uEJtLhUm2Vqx4dFOHSzA= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= @@ -458,8 +456,8 @@ github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/ github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E= github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ= -github.com/gabriel-vasile/mimetype v1.4.8 h1:FfZ3gj38NjllZIeJAmMhr+qKL8Wu+nOoI3GqacKw1NM= -github.com/gabriel-vasile/mimetype v1.4.8/go.mod h1:ByKUIKGjh1ODkGM1asKUbQZOLGrPjydw3hYPU2YU9t8= +github.com/gabriel-vasile/mimetype v1.4.9 h1:5k+WDwEsD9eTLL8Tz3L0VnmVh9QxGjRmjBvAG7U/oYY= +github.com/gabriel-vasile/mimetype v1.4.9/go.mod h1:WnSQhFKJuBlRyLiKohA/2DtIlPFAbguNaG7QCHcyGok= github.com/gagliardetto/binary v0.8.0 h1:U9ahc45v9HW0d15LoN++vIXSJyqR/pWw8DDlhd7zvxg= github.com/gagliardetto/binary v0.8.0/go.mod h1:2tfj51g5o9dnvsc+fL3Jxr22MuWzYXwx9wEoN0XQ7/c= github.com/gagliardetto/gofuzz v1.2.2 h1:XL/8qDMzcgvR4+CyRQW9UGdwPRPMHVJfqQ/uMvSUuQw= @@ -493,13 +491,11 @@ github.com/gin-gonic/gin v1.4.0/go.mod h1:OW2EZn3DO8Ln9oIKOvM++LBO+5UPHJJDH72/q/ github.com/gin-gonic/gin v1.8.1/go.mod h1:ji8BvRH1azfM+SYow9zQ6SZMvR8qOMZHmsCuWR9tTTk= github.com/gin-gonic/gin v1.10.0 h1:nTuyha1TYqgedzytsKYqna+DfLos46nTv2ygFy86HFU= github.com/gin-gonic/gin v1.10.0/go.mod h1:4PMNQiOhvDRa013RKVbsiNwoyezlm2rm0uX/T7kzp5Y= -github.com/gkampitakis/ciinfo v0.3.0 h1:gWZlOC2+RYYttL0hBqcoQhM7h1qNkVqvRCV1fOvpAv8= -github.com/gkampitakis/ciinfo v0.3.0/go.mod h1:1NIwaOcFChN4fa/B0hEBdAb6npDlFL8Bwx4dfRLRqAo= +github.com/gkampitakis/ciinfo v0.3.2 h1:JcuOPk8ZU7nZQjdUhctuhQofk7BGHuIy0c9Ez8BNhXs= github.com/gkampitakis/ciinfo v0.3.2/go.mod h1:1NIwaOcFChN4fa/B0hEBdAb6npDlFL8Bwx4dfRLRqAo= github.com/gkampitakis/go-diff v1.3.2 h1:Qyn0J9XJSDTgnsgHRdz9Zp24RaJeKMUHg2+PDZZdC4M= github.com/gkampitakis/go-diff v1.3.2/go.mod h1:LLgOrpqleQe26cte8s36HTWcTmMEur6OPYerdAAS9tk= -github.com/gkampitakis/go-snaps v0.5.4 h1:GX+dkKmVsRenz7SoTbdIEL4KQARZctkMiZ8ZKprRwT8= -github.com/gkampitakis/go-snaps v0.5.4/go.mod h1:ZABkO14uCuVxBHAXAfKG+bqNz+aa1bGPAg8jkI0Nk8Y= +github.com/gkampitakis/go-snaps v0.5.13 h1:Hhjmvv1WboSCxkR9iU2mj5PQ8tsz/y8ECGrIbjjPF8Q= github.com/gkampitakis/go-snaps v0.5.13/go.mod h1:HNpx/9GoKisdhw9AFOBT1N7DBs9DiHo/hGheFGBZ+mc= github.com/go-asn1-ber/asn1-ber v1.5.5 h1:MNHlNMBDgEKD4TcKr36vQN68BA00aDfjIt3/bD50WnA= github.com/go-asn1-ber/asn1-ber v1.5.5/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= @@ -553,8 +549,7 @@ github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= github.com/go-playground/validator/v10 v10.10.0/go.mod h1:74x4gJWsvQexRdW8Pn3dXSGrTK4nAUsbPlLADvpJkos= -github.com/go-playground/validator/v10 v10.25.0 h1:5Dh7cjvzR7BRZadnsVOzPhWsrwUr0nmsZJxEAnFLNO8= -github.com/go-playground/validator/v10 v10.25.0/go.mod h1:GGzBIJMuE98Ic/kJsBXbz1x/7cByt++cQ+YOuDM5wus= +github.com/go-playground/validator/v10 v10.26.0 h1:SP05Nqhjcvz81uJaRfEV0YBSSSGMc/iMaVtFbr3Sw2k= github.com/go-playground/validator/v10 v10.26.0/go.mod h1:I5QpIEbmr8On7W0TktmJAumgzX4CA1XNl4ZmDuVHKKo= github.com/go-resty/resty/v2 v2.16.3 h1:zacNT7lt4b8M/io2Ahj6yPypL7bqx9n1iprfQuodV+E= github.com/go-resty/resty/v2 v2.16.3/go.mod h1:hkJtXbA2iKHzJheXYvQ8snQES5ZLGKMwQ07xAwp/fiA= @@ -574,8 +569,7 @@ github.com/go-webauthn/x v0.1.5/go.mod h1:qbzWwcFcv4rTwtCLOZd+icnr6B7oSsAGZJqlt8 github.com/goccy/go-json v0.9.7/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/goccy/go-json v0.10.5 h1:Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4= github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= -github.com/goccy/go-yaml v1.12.0 h1:/1WHjnMsI1dlIBQutrvSMGZRQufVO3asrHfTwfACoPM= -github.com/goccy/go-yaml v1.12.0/go.mod h1:wKnAMd44+9JAAnGQpWVEgBzGt3YuTaQ4uXoHvE4m7WU= +github.com/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw= github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= @@ -1216,8 +1210,8 @@ github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFR github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= -github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= -github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= +github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= +github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= @@ -1361,8 +1355,8 @@ github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z github.com/spf13/afero v1.12.0 h1:UcOPyRBYczmFn6yvphxkn9ZEOY65cpwGKb5mL36mrqs= github.com/spf13/afero v1.12.0/go.mod h1:ZTlWwG4/ahT8W7T0WQ5uYmjI9duaLQGy3Q2OAl4sk/4= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y= -github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= +github.com/spf13/cast v1.9.2 h1:SsGfm7M8QOFtEzumm7UZrZdLLquNdzFYfIbEXntcFbE= +github.com/spf13/cast v1.9.2/go.mod h1:jNfB8QC9IA6ZuY2ZjDp0KtFO2LZZlg4S/7bzP6qqeHo= github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo= github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0= @@ -1622,8 +1616,8 @@ golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliY golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.20.0/go.mod h1:Xwo95rrVNIoSMx9wa1JroENMToLWn3RNVrTBpLHgZPQ= -golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8= -golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw= +golang.org/x/crypto v0.39.0 h1:SHs+kF4LP+f+p14esP5jAoDpHU8Gu/v9lFRK6IT5imM= +golang.org/x/crypto v0.39.0/go.mod h1:L+Xg3Wf6HoL4Bn4238Z6ft6KfEpN0tJGo53AAPC632U= 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= @@ -1664,8 +1658,8 @@ golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU= -golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= +golang.org/x/mod v0.25.0 h1:n7a+ZbQKQA/Ysbyb0/6IbB1H/X41mKgbhfv7AfG/44w= +golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1723,9 +1717,8 @@ golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY= -golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E= -golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds= +golang.org/x/net v0.41.0 h1:vBTly1HeNPEn3wtREYfy4GZ/NECgw2Cnl+nK6Nz3uvw= +golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA= 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= @@ -1753,8 +1746,8 @@ golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ= -golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.15.0 h1:KWH3jNZsfyT6xfAfKiz6MRNmd46ByHDYaZ7KSkCtdW8= +golang.org/x/sync v0.15.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1875,8 +1868,8 @@ golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4= -golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA= +golang.org/x/text v0.26.0 h1:P42AVeLghgTYr4+xUnTRKDMqpar+PtX7KWuNQL21L8M= +golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA= 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= @@ -1944,9 +1937,8 @@ golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= -golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU= -golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s= -golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI= +golang.org/x/tools v0.34.0 h1:qIpSLOxeCYGg9TrcJokLBG4KFA6d795g0xkBkiESGlo= +golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/system-tests/lib/go.mod b/system-tests/lib/go.mod index 8c3dfe22410..c13f8df06f4 100644 --- a/system-tests/lib/go.mod +++ b/system-tests/lib/go.mod @@ -31,9 +31,9 @@ require ( github.com/smartcontractkit/chainlink-testing-framework/lib v1.54.3 github.com/smartcontractkit/chainlink-testing-framework/seth v1.51.2 github.com/smartcontractkit/chainlink/deployment v0.0.0-00010101000000-000000000000 - github.com/smartcontractkit/crib-sdk v0.0.0-00010101000000-000000000000 + github.com/smartcontractkit/crib-sdk v0.0.0-20250622214554-fbaddd1c519b go.uber.org/ratelimit v0.3.1 - golang.org/x/sync v0.14.0 + golang.org/x/sync v0.15.0 google.golang.org/grpc v1.72.0 google.golang.org/protobuf v1.36.6 gopkg.in/yaml.v3 v3.0.1 @@ -49,7 +49,7 @@ require ( cosmossdk.io/math v1.4.0 // indirect cosmossdk.io/store v1.1.1 // indirect cosmossdk.io/x/tx v0.13.7 // indirect - dario.cat/mergo v1.0.1 // indirect + dario.cat/mergo v1.0.2 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.1 // indirect @@ -109,8 +109,8 @@ require ( github.com/bytecodealliance/wasmtime-go/v28 v28.0.0 // indirect github.com/bytedance/sonic v1.12.3 // indirect github.com/bytedance/sonic/loader v0.2.0 // indirect - github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.73 // indirect - github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.6 // indirect + github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.74 // indirect + github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.7 // indirect github.com/cenkalti/backoff v2.2.1+incompatible // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect @@ -174,7 +174,7 @@ require ( github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.8.0 // indirect github.com/fxamacker/cbor/v2 v2.7.0 // indirect - github.com/gabriel-vasile/mimetype v1.4.8 // indirect + github.com/gabriel-vasile/mimetype v1.4.9 // indirect github.com/gagliardetto/binary v0.8.0 // indirect github.com/gagliardetto/solana-go v1.12.0 // indirect github.com/gagliardetto/treeout v0.1.4 // indirect @@ -350,12 +350,12 @@ require ( github.com/prometheus/procfs v0.16.0 // indirect github.com/rivo/uniseg v0.4.7 // indirect github.com/robfig/cron/v3 v3.0.1 // indirect - github.com/rogpeppe/go-internal v1.13.1 // indirect + github.com/rogpeppe/go-internal v1.14.1 // indirect github.com/rs/cors v1.11.1 // indirect github.com/rs/xid v1.5.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/ryanuber/go-glob v1.0.0 // indirect - github.com/samber/lo v1.50.0 // indirect + github.com/samber/lo v1.51.0 // indirect github.com/sanity-io/litter v1.5.5 // indirect github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // indirect github.com/sasha-s/go-deadlock v0.3.5 // indirect @@ -392,7 +392,7 @@ require ( github.com/smartcontractkit/tdh2/go/ocr2/decryptionplugin v0.0.0-20241009055228-33d0c0bf38de // indirect github.com/smartcontractkit/tdh2/go/tdh2 v0.0.0-20241009055228-33d0c0bf38de // indirect github.com/smartcontractkit/wsrpc v0.8.5-0.20250502134807-c57d3d995945 // indirect - github.com/spf13/cast v1.7.1 // indirect + github.com/spf13/cast v1.9.2 // indirect github.com/spf13/cobra v1.9.1 // indirect github.com/spf13/pflag v1.0.6 // indirect github.com/stephenlacy/go-ethereum-hdwallet v0.0.0-20230913225845-a4fa94429863 // indirect @@ -457,16 +457,16 @@ require ( go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect golang.org/x/arch v0.11.0 // indirect - golang.org/x/crypto v0.38.0 // indirect + golang.org/x/crypto v0.39.0 // indirect golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 // indirect - golang.org/x/mod v0.24.0 // indirect - golang.org/x/net v0.40.0 // indirect + golang.org/x/mod v0.25.0 // indirect + golang.org/x/net v0.41.0 // indirect golang.org/x/oauth2 v0.27.0 // indirect golang.org/x/sys v0.33.0 // indirect golang.org/x/term v0.32.0 // indirect - golang.org/x/text v0.25.0 // indirect + golang.org/x/text v0.26.0 // indirect golang.org/x/time v0.10.0 // indirect - golang.org/x/tools v0.33.0 // indirect + golang.org/x/tools v0.34.0 // indirect golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect gonum.org/v1/gonum v0.15.1 // indirect diff --git a/system-tests/lib/go.sum b/system-tests/lib/go.sum index 8b721656d6c..6c4e52e3d29 100644 --- a/system-tests/lib/go.sum +++ b/system-tests/lib/go.sum @@ -56,6 +56,7 @@ cosmossdk.io/x/tx v0.13.7 h1:8WSk6B/OHJLYjiZeMKhq7DK7lHDMyK0UfDbBMxVmeOI= cosmossdk.io/x/tx v0.13.7/go.mod h1:V6DImnwJMTq5qFjeGWpXNiT/fjgE4HtmclRmTqRVM3w= dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s= dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= +dario.cat/mergo v1.0.2/go.mod h1:E/hbnu0NxMFBjpMIE34DRGLWqDy0g5FuKDhCb31ngxA= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= @@ -246,8 +247,10 @@ github.com/bytedance/sonic/loader v0.2.0 h1:zNprn+lsIP06C/IqCHs3gPQIvnvpKbbxyXQP github.com/bytedance/sonic/loader v0.2.0/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.73 h1:8DD5JI0T5tb9jKFWvQwXV0tZdrSVWv+p1WGKTXznN0s= github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.73/go.mod h1:JFGcyqRE2qXgHsBw27/L0D1uEJtLhUm2Vqx4dFOHSzA= +github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.74/go.mod h1:JFGcyqRE2qXgHsBw27/L0D1uEJtLhUm2Vqx4dFOHSzA= github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.6 h1:lrg95282nlRQ5WmJdpZWM0BiYrY4blu+NsXGHFeFVkM= github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.6/go.mod h1:8oqg/vflmZjILCuV1ffX/wKcHo886Z8D+CYiEH7vvXk= +github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.7/go.mod h1:gJ0mPHXXdG3Do/pp+cum2igViikdjPUZWzzwtnJvzQ4= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= @@ -455,6 +458,7 @@ github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ= github.com/gabriel-vasile/mimetype v1.4.8 h1:FfZ3gj38NjllZIeJAmMhr+qKL8Wu+nOoI3GqacKw1NM= github.com/gabriel-vasile/mimetype v1.4.8/go.mod h1:ByKUIKGjh1ODkGM1asKUbQZOLGrPjydw3hYPU2YU9t8= +github.com/gabriel-vasile/mimetype v1.4.9/go.mod h1:WnSQhFKJuBlRyLiKohA/2DtIlPFAbguNaG7QCHcyGok= github.com/gagliardetto/binary v0.8.0 h1:U9ahc45v9HW0d15LoN++vIXSJyqR/pWw8DDlhd7zvxg= github.com/gagliardetto/binary v0.8.0/go.mod h1:2tfj51g5o9dnvsc+fL3Jxr22MuWzYXwx9wEoN0XQ7/c= github.com/gagliardetto/gofuzz v1.2.2 h1:XL/8qDMzcgvR4+CyRQW9UGdwPRPMHVJfqQ/uMvSUuQw= @@ -1189,6 +1193,7 @@ github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFR github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= +github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= @@ -1210,6 +1215,7 @@ github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6g github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= github.com/samber/lo v1.50.0 h1:XrG0xOeHs+4FQ8gJR97zDz5uOFMW7OwFWiFVzqopKgY= github.com/samber/lo v1.50.0/go.mod h1:RjZyNk6WSnUFRKK6EyOhsRJMqft3G+pg7dCWHQCWvsc= +github.com/samber/lo v1.51.0/go.mod h1:4+MXEGsJzbKGaUEQFKBq2xtfuznW9oz/WrgyzMzRoM0= github.com/sanity-io/litter v1.5.5 h1:iE+sBxPBzoK6uaEP5Lt3fHNgpKcHXc/A2HGETy0uJQo= github.com/sanity-io/litter v1.5.5/go.mod h1:9gzJgR2i4ZpjZHsKvUXIRQVk7P+yM3e+jAF7bU2UI5U= github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 h1:lZUw3E0/J3roVtGQ+SCrUrg3ON6NgVqpn3+iol9aGu4= @@ -1336,6 +1342,7 @@ github.com/spf13/afero v1.12.0/go.mod h1:ZTlWwG4/ahT8W7T0WQ5uYmjI9duaLQGy3Q2OAl4 github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y= github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= +github.com/spf13/cast v1.9.2/go.mod h1:jNfB8QC9IA6ZuY2ZjDp0KtFO2LZZlg4S/7bzP6qqeHo= github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo= github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0= @@ -1592,6 +1599,7 @@ golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDf golang.org/x/crypto v0.20.0/go.mod h1:Xwo95rrVNIoSMx9wa1JroENMToLWn3RNVrTBpLHgZPQ= golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8= golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw= +golang.org/x/crypto v0.39.0/go.mod h1:L+Xg3Wf6HoL4Bn4238Z6ft6KfEpN0tJGo53AAPC632U= 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= @@ -1635,6 +1643,7 @@ golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU= golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= +golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1694,6 +1703,7 @@ golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY= golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds= +golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA= 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= @@ -1723,6 +1733,7 @@ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ= golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.15.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1844,6 +1855,7 @@ golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4= golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA= +golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA= 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= @@ -1913,6 +1925,7 @@ golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= golang.org/x/tools v0.33.0 h1:4qz2S3zmRxbGIhDIAgjxvFutSvH5EfnsYrRBj0UI0bc= golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI= +golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/system-tests/tests/go.mod b/system-tests/tests/go.mod index 890b0675918..e40d031d3da 100644 --- a/system-tests/tests/go.mod +++ b/system-tests/tests/go.mod @@ -17,7 +17,7 @@ require ( github.com/ethereum/go-ethereum v1.15.7 github.com/gin-gonic/gin v1.10.0 github.com/go-playground/universal-translator v0.18.1 - github.com/go-playground/validator/v10 v10.25.0 + github.com/go-playground/validator/v10 v10.26.0 github.com/google/uuid v1.6.0 github.com/pkg/errors v0.9.1 github.com/rs/zerolog v1.33.0 @@ -38,7 +38,7 @@ require ( github.com/smartcontractkit/libocr v0.0.0-20250604151357-2fe8c61bbf2e github.com/spf13/cobra v1.9.1 github.com/stretchr/testify v1.10.0 - golang.org/x/sync v0.14.0 + golang.org/x/sync v0.15.0 ) require ( @@ -54,7 +54,7 @@ require ( cosmossdk.io/math v1.4.0 // indirect cosmossdk.io/store v1.1.1 // indirect cosmossdk.io/x/tx v0.13.7 // indirect - dario.cat/mergo v1.0.1 // indirect + dario.cat/mergo v1.0.2 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.1 // indirect @@ -101,7 +101,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.6 // indirect github.com/aws/aws-sdk-go-v2/service/sts v1.33.2 // indirect github.com/aws/constructs-go/constructs/v10 v10.4.2 // indirect - github.com/aws/jsii-runtime-go v1.104.0 // indirect + github.com/aws/jsii-runtime-go v1.112.0 // indirect github.com/aws/smithy-go v1.22.1 // indirect github.com/aybabtme/rgbterm v0.0.0-20170906152045-cc83f3b3ce59 // indirect github.com/bahlo/generic-list-go v0.2.0 // indirect @@ -124,7 +124,7 @@ require ( github.com/bytedance/sonic v1.12.3 // indirect github.com/bytedance/sonic/loader v0.2.0 // indirect github.com/c2h5oh/datasize v0.0.0-20231215233829-aa82cc1e6500 // indirect - github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.7.5 // indirect + github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.74 // indirect github.com/cenkalti/backoff v2.2.1+incompatible // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect @@ -193,7 +193,7 @@ require ( github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.8.0 // indirect github.com/fxamacker/cbor/v2 v2.7.0 // indirect - github.com/gabriel-vasile/mimetype v1.4.8 // indirect + github.com/gabriel-vasile/mimetype v1.4.9 // indirect github.com/gagliardetto/binary v0.8.0 // indirect github.com/gagliardetto/solana-go v1.12.0 // indirect github.com/gagliardetto/treeout v0.1.4 // indirect @@ -228,7 +228,7 @@ require ( github.com/go-webauthn/webauthn v0.9.4 // indirect github.com/go-webauthn/x v0.1.5 // indirect github.com/goccy/go-json v0.10.5 // indirect - github.com/goccy/go-yaml v1.12.0 // indirect + github.com/goccy/go-yaml v1.18.0 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect github.com/gofrs/flock v0.12.1 // indirect github.com/gogo/googleapis v1.4.1 // indirect @@ -413,7 +413,7 @@ require ( github.com/redis/go-redis/v9 v9.7.0 // indirect github.com/rivo/uniseg v0.4.7 // indirect github.com/robfig/cron/v3 v3.0.1 // indirect - github.com/rogpeppe/go-internal v1.13.1 // indirect + github.com/rogpeppe/go-internal v1.14.1 // indirect github.com/rs/cors v1.11.1 // indirect github.com/rs/xid v1.6.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect @@ -457,7 +457,7 @@ require ( github.com/smartcontractkit/tdh2/go/tdh2 v0.0.0-20241009055228-33d0c0bf38de // indirect github.com/smartcontractkit/wsrpc v0.8.5-0.20250502134807-c57d3d995945 // indirect github.com/sony/gobreaker/v2 v2.1.0 // indirect - github.com/spf13/cast v1.7.1 // indirect + github.com/spf13/cast v1.9.2 // indirect github.com/spf13/pflag v1.0.6 // indirect github.com/stephenlacy/go-ethereum-hdwallet v0.0.0-20230913225845-a4fa94429863 // indirect github.com/streamingfast/logging v0.0.0-20230608130331-f22c91403091 // indirect @@ -536,16 +536,16 @@ require ( go.uber.org/zap v1.27.0 // indirect go4.org/netipx v0.0.0-20230125063823-8449b0a6169f // indirect golang.org/x/arch v0.11.0 // indirect - golang.org/x/crypto v0.38.0 // indirect + golang.org/x/crypto v0.39.0 // indirect golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 // indirect - golang.org/x/mod v0.24.0 // indirect - golang.org/x/net v0.39.0 // indirect + golang.org/x/mod v0.25.0 // indirect + golang.org/x/net v0.41.0 // indirect golang.org/x/oauth2 v0.27.0 // indirect golang.org/x/sys v0.33.0 // indirect golang.org/x/term v0.32.0 // indirect - golang.org/x/text v0.25.0 // indirect + golang.org/x/text v0.26.0 // indirect golang.org/x/time v0.10.0 // indirect - golang.org/x/tools v0.32.0 // indirect + golang.org/x/tools v0.34.0 // indirect golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect gonum.org/v1/gonum v0.15.1 // indirect diff --git a/system-tests/tests/go.sum b/system-tests/tests/go.sum index 3842f701ee4..4cb20e06d3c 100644 --- a/system-tests/tests/go.sum +++ b/system-tests/tests/go.sum @@ -61,8 +61,8 @@ cosmossdk.io/store v1.1.1 h1:NA3PioJtWDVU7cHHeyvdva5J/ggyLDkyH0hGHl2804Y= cosmossdk.io/store v1.1.1/go.mod h1:8DwVTz83/2PSI366FERGbWSH7hL6sB7HbYp8bqksNwM= cosmossdk.io/x/tx v0.13.7 h1:8WSk6B/OHJLYjiZeMKhq7DK7lHDMyK0UfDbBMxVmeOI= cosmossdk.io/x/tx v0.13.7/go.mod h1:V6DImnwJMTq5qFjeGWpXNiT/fjgE4HtmclRmTqRVM3w= -dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s= -dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= +dario.cat/mergo v1.0.2 h1:85+piFYR1tMbRrLcDwR18y4UKJ3aH1Tbzi24VRW1TK8= +dario.cat/mergo v1.0.2/go.mod h1:E/hbnu0NxMFBjpMIE34DRGLWqDy0g5FuKDhCb31ngxA= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= @@ -207,8 +207,7 @@ github.com/aws/aws-sdk-go-v2/service/sts v1.33.2 h1:s4074ZO1Hk8qv65GqNXqDjmkf4HS github.com/aws/aws-sdk-go-v2/service/sts v1.33.2/go.mod h1:mVggCnIWoM09jP71Wh+ea7+5gAp53q+49wDFs1SW5z8= github.com/aws/constructs-go/constructs/v10 v10.4.2 h1:+hDLTsFGLJmKIn0Dg20vWpKBrVnFrEWYgTEY5UiTEG8= github.com/aws/constructs-go/constructs/v10 v10.4.2/go.mod h1:cXsNCKDV+9eR9zYYfwy6QuE4uPFp6jsq6TtH1MwBx9w= -github.com/aws/jsii-runtime-go v1.104.0 h1:651Sh6J2FtatfnVzlOQ3/Ye1WWPAseZ6E/tSQxEKdSI= -github.com/aws/jsii-runtime-go v1.104.0/go.mod h1:7ZmQXxV0AAhhvv/GaHX4n6zbgA1tSRVdnQYAJbIhXHk= +github.com/aws/jsii-runtime-go v1.112.0 h1:7jusWZUgSTuSPLa2ZRv+siGuyoFSzFNk/TaHqlcFe6Y= github.com/aws/jsii-runtime-go v1.112.0/go.mod h1:jiAbLN2Hz+7At3C59LsQyv8gK3HvfNYF2YFPkWLHll8= github.com/aws/smithy-go v1.22.1 h1:/HPHZQ0g7f4eUeK6HKglFz8uwVfZKgoI25rb/J+dnro= github.com/aws/smithy-go v1.22.1/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= @@ -288,9 +287,8 @@ github.com/bytedance/sonic/loader v0.2.0 h1:zNprn+lsIP06C/IqCHs3gPQIvnvpKbbxyXQP github.com/bytedance/sonic/loader v0.2.0/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= github.com/c2h5oh/datasize v0.0.0-20231215233829-aa82cc1e6500 h1:6lhrsTEnloDPXyeZBvSYvQf8u86jbKehZPVDDlkgDl4= github.com/c2h5oh/datasize v0.0.0-20231215233829-aa82cc1e6500/go.mod h1:S/7n9copUssQ56c7aAgHqftWO4LTf4xY6CGWt8Bc+3M= -github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.7.5 h1:rvc39Ol6z3MvaBzXkxFC6Nfsnixq/dRypushKDd7Nc0= -github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.7.5/go.mod h1:R/pdNYDYFQk+tuuOo7QES1kkv6OLmp5ze2XBZQIVffM= -github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.73/go.mod h1:JFGcyqRE2qXgHsBw27/L0D1uEJtLhUm2Vqx4dFOHSzA= +github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.74 h1:bEcaS0Vqt1urlk2vrI0NN/2iu0yjeU+O3bPQCnbD+Qw= +github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.74/go.mod h1:JFGcyqRE2qXgHsBw27/L0D1uEJtLhUm2Vqx4dFOHSzA= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= @@ -515,8 +513,8 @@ github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/ github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E= github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ= -github.com/gabriel-vasile/mimetype v1.4.8 h1:FfZ3gj38NjllZIeJAmMhr+qKL8Wu+nOoI3GqacKw1NM= -github.com/gabriel-vasile/mimetype v1.4.8/go.mod h1:ByKUIKGjh1ODkGM1asKUbQZOLGrPjydw3hYPU2YU9t8= +github.com/gabriel-vasile/mimetype v1.4.9 h1:5k+WDwEsD9eTLL8Tz3L0VnmVh9QxGjRmjBvAG7U/oYY= +github.com/gabriel-vasile/mimetype v1.4.9/go.mod h1:WnSQhFKJuBlRyLiKohA/2DtIlPFAbguNaG7QCHcyGok= github.com/gagliardetto/binary v0.8.0 h1:U9ahc45v9HW0d15LoN++vIXSJyqR/pWw8DDlhd7zvxg= github.com/gagliardetto/binary v0.8.0/go.mod h1:2tfj51g5o9dnvsc+fL3Jxr22MuWzYXwx9wEoN0XQ7/c= github.com/gagliardetto/gofuzz v1.2.2 h1:XL/8qDMzcgvR4+CyRQW9UGdwPRPMHVJfqQ/uMvSUuQw= @@ -602,8 +600,7 @@ github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/o github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= -github.com/go-playground/validator/v10 v10.25.0 h1:5Dh7cjvzR7BRZadnsVOzPhWsrwUr0nmsZJxEAnFLNO8= -github.com/go-playground/validator/v10 v10.25.0/go.mod h1:GGzBIJMuE98Ic/kJsBXbz1x/7cByt++cQ+YOuDM5wus= +github.com/go-playground/validator/v10 v10.26.0 h1:SP05Nqhjcvz81uJaRfEV0YBSSSGMc/iMaVtFbr3Sw2k= github.com/go-playground/validator/v10 v10.26.0/go.mod h1:I5QpIEbmr8On7W0TktmJAumgzX4CA1XNl4ZmDuVHKKo= github.com/go-redis/redis v6.15.9+incompatible h1:K0pv1D7EQUjfyoMql+r/jZqCLizCGKFlFgcHWWmHQjg= github.com/go-redis/redis v6.15.9+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= @@ -632,8 +629,7 @@ github.com/go-zookeeper/zk v1.0.4 h1:DPzxraQx7OrPyXq2phlGlNSIyWEsAox0RJmjTseMV6I github.com/go-zookeeper/zk v1.0.4/go.mod h1:nOB03cncLtlp4t+UAkGSV+9beXP/akpekBwL+UX1Qcw= github.com/goccy/go-json v0.10.5 h1:Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4= github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= -github.com/goccy/go-yaml v1.12.0 h1:/1WHjnMsI1dlIBQutrvSMGZRQufVO3asrHfTwfACoPM= -github.com/goccy/go-yaml v1.12.0/go.mod h1:wKnAMd44+9JAAnGQpWVEgBzGt3YuTaQ4uXoHvE4m7WU= +github.com/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw= github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= @@ -1367,8 +1363,8 @@ github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6L github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= -github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= +github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= +github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= @@ -1524,8 +1520,8 @@ github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z github.com/spf13/afero v1.12.0 h1:UcOPyRBYczmFn6yvphxkn9ZEOY65cpwGKb5mL36mrqs= github.com/spf13/afero v1.12.0/go.mod h1:ZTlWwG4/ahT8W7T0WQ5uYmjI9duaLQGy3Q2OAl4sk/4= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y= -github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= +github.com/spf13/cast v1.9.2 h1:SsGfm7M8QOFtEzumm7UZrZdLLquNdzFYfIbEXntcFbE= +github.com/spf13/cast v1.9.2/go.mod h1:jNfB8QC9IA6ZuY2ZjDp0KtFO2LZZlg4S/7bzP6qqeHo= github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo= github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0= @@ -1834,8 +1830,8 @@ golang.org/x/crypto v0.20.0/go.mod h1:Xwo95rrVNIoSMx9wa1JroENMToLWn3RNVrTBpLHgZP golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= -golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8= -golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw= +golang.org/x/crypto v0.39.0 h1:SHs+kF4LP+f+p14esP5jAoDpHU8Gu/v9lFRK6IT5imM= +golang.org/x/crypto v0.39.0/go.mod h1:L+Xg3Wf6HoL4Bn4238Z6ft6KfEpN0tJGo53AAPC632U= 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= @@ -1879,8 +1875,8 @@ golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU= -golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= +golang.org/x/mod v0.25.0 h1:n7a+ZbQKQA/Ysbyb0/6IbB1H/X41mKgbhfv7AfG/44w= +golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1941,9 +1937,8 @@ golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= -golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY= -golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E= -golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds= +golang.org/x/net v0.41.0 h1:vBTly1HeNPEn3wtREYfy4GZ/NECgw2Cnl+nK6Nz3uvw= +golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA= 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= @@ -1977,8 +1972,8 @@ golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ= -golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.15.0 h1:KWH3jNZsfyT6xfAfKiz6MRNmd46ByHDYaZ7KSkCtdW8= +golang.org/x/sync v0.15.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -2108,8 +2103,8 @@ golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= -golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4= -golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA= +golang.org/x/text v0.26.0 h1:P42AVeLghgTYr4+xUnTRKDMqpar+PtX7KWuNQL21L8M= +golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA= 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= @@ -2180,9 +2175,8 @@ golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= -golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU= -golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s= -golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI= +golang.org/x/tools v0.34.0 h1:qIpSLOxeCYGg9TrcJokLBG4KFA6d795g0xkBkiESGlo= +golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= From f8ebbedaafed5c640cdf21f5f01486298bd24683 Mon Sep 17 00:00:00 2001 From: Radek Scheibinger Date: Mon, 30 Jun 2025 13:55:53 +0200 Subject: [PATCH 04/37] use blockchain component from crib v2 --- core/scripts/go.mod | 40 +++--- core/scripts/go.sum | 12 ++ system-tests/lib/cre/crib/crib.go | 6 +- system-tests/lib/cre/crib/v2/crib.go | 131 +++++++++--------- system-tests/lib/cre/crib/v2/job_deployer.go | 21 ++- system-tests/lib/cre/don/don.go | 14 -- .../lib/cre/environment/environment.go | 4 +- system-tests/lib/cre/types/keystone.go | 3 + 8 files changed, 123 insertions(+), 108 deletions(-) diff --git a/core/scripts/go.mod b/core/scripts/go.mod index ddcfe7afd9a..5ae5ea1f8ce 100644 --- a/core/scripts/go.mod +++ b/core/scripts/go.mod @@ -9,6 +9,8 @@ replace github.com/smartcontractkit/chainlink/deployment => ../../deployment replace github.com/smartcontractkit/chainlink/system-tests/lib => ../../system-tests/lib +replace github.com/smartcontractkit/crib-sdk => ../../../crib-sdk + // Using a separate `require` here to avoid surrounding line changes // creating potential merge conflicts. require ( @@ -21,7 +23,7 @@ require ( github.com/docker/docker v28.0.4+incompatible github.com/docker/go-connections v0.5.0 github.com/ethereum/go-ethereum v1.15.11 - github.com/gkampitakis/go-snaps v0.5.4 + github.com/gkampitakis/go-snaps v0.5.13 github.com/google/go-cmp v0.7.0 github.com/google/uuid v1.6.0 github.com/jmoiron/sqlx v1.4.0 @@ -56,7 +58,7 @@ require ( github.com/umbracle/fastrlp v0.0.0-20220527094140-59d5dd30e722 github.com/urfave/cli v1.22.16 go.uber.org/zap v1.27.0 - golang.org/x/text v0.25.0 + golang.org/x/text v0.26.0 google.golang.org/protobuf v1.36.6 gopkg.in/yaml.v3 v3.0.1 k8s.io/api v0.31.3 @@ -74,7 +76,7 @@ require ( cosmossdk.io/math v1.4.0 // indirect cosmossdk.io/store v1.1.1 // indirect cosmossdk.io/x/tx v0.13.7 // indirect - dario.cat/mergo v1.0.1 // indirect + dario.cat/mergo v1.0.2 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.1 // indirect @@ -113,7 +115,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.2 // indirect github.com/aws/aws-sdk-go-v2/service/sts v1.32.2 // indirect github.com/aws/constructs-go/constructs/v10 v10.4.2 // indirect - github.com/aws/jsii-runtime-go v1.104.0 // indirect + github.com/aws/jsii-runtime-go v1.112.0 // indirect github.com/aws/smithy-go v1.22.0 // indirect github.com/aybabtme/rgbterm v0.0.0-20170906152045-cc83f3b3ce59 // indirect github.com/bahlo/generic-list-go v0.2.0 // indirect @@ -134,7 +136,8 @@ require ( github.com/bytecodealliance/wasmtime-go/v28 v28.0.0 // indirect github.com/bytedance/sonic v1.12.3 // indirect github.com/bytedance/sonic/loader v0.2.0 // indirect - github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.7.5 // indirect + github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.74 // indirect + github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.7 // indirect github.com/cenkalti/backoff v2.2.1+incompatible // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect @@ -169,6 +172,7 @@ require ( github.com/cpuguy83/go-md2man/v2 v2.0.6 // indirect github.com/crate-crypto/go-eth-kzg v1.3.0 // indirect github.com/crate-crypto/go-ipa v0.0.0-20240724233137-53bbb0ceb27a // indirect + github.com/creasty/defaults v1.8.0 // indirect github.com/danieljoos/wincred v1.2.1 // indirect github.com/danielkov/gin-helmet v0.0.0-20171108135313-1387e224435e // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect @@ -196,7 +200,7 @@ require ( github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.8.0 // indirect github.com/fxamacker/cbor/v2 v2.7.0 // indirect - github.com/gabriel-vasile/mimetype v1.4.8 // indirect + github.com/gabriel-vasile/mimetype v1.4.9 // indirect github.com/gagliardetto/binary v0.8.0 // indirect github.com/gagliardetto/solana-go v1.12.0 // indirect github.com/gagliardetto/treeout v0.1.4 // indirect @@ -209,7 +213,7 @@ require ( github.com/gin-contrib/size v0.0.0-20230212012657-e14a14094dc4 // indirect github.com/gin-contrib/sse v0.1.0 // indirect github.com/gin-gonic/gin v1.10.0 // indirect - github.com/gkampitakis/ciinfo v0.3.0 // indirect + github.com/gkampitakis/ciinfo v0.3.2 // indirect github.com/gkampitakis/go-diff v1.3.2 // indirect github.com/go-asn1-ber/asn1-ber v1.5.5 // indirect github.com/go-chi/chi v1.5.5 // indirect @@ -227,13 +231,13 @@ require ( github.com/go-openapi/swag v0.23.0 // 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.25.0 // indirect + github.com/go-playground/validator/v10 v10.26.0 // indirect github.com/go-resty/resty/v2 v2.16.3 // indirect github.com/go-viper/mapstructure/v2 v2.3.0 // indirect github.com/go-webauthn/webauthn v0.9.4 // indirect github.com/go-webauthn/x v0.1.5 // indirect github.com/goccy/go-json v0.10.5 // indirect - github.com/goccy/go-yaml v1.12.0 // indirect + github.com/goccy/go-yaml v1.18.0 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect github.com/gofrs/flock v0.12.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect @@ -375,13 +379,14 @@ require ( github.com/prometheus/prometheus v0.302.0 // indirect github.com/rivo/uniseg v0.4.7 // indirect github.com/robfig/cron/v3 v3.0.1 // indirect - github.com/rogpeppe/go-internal v1.13.1 // indirect + github.com/rogpeppe/go-internal v1.14.1 // indirect github.com/rs/cors v1.11.1 // indirect github.com/rs/xid v1.5.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/ryanuber/go-glob v1.0.0 // indirect github.com/sagikazarmark/locafero v0.4.0 // indirect github.com/sagikazarmark/slog-shim v0.1.0 // indirect + github.com/samber/lo v1.51.0 // indirect github.com/sanity-io/litter v1.5.5 // indirect github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // indirect github.com/sasha-s/go-deadlock v0.3.5 // indirect @@ -409,6 +414,7 @@ require ( github.com/smartcontractkit/chainlink-solana v1.1.2-0.20250625213849-112165c2aed3 // indirect github.com/smartcontractkit/chainlink-testing-framework/parrot v0.6.2 // indirect github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20250528121202-292529af39df // indirect + github.com/smartcontractkit/crib-sdk v0.0.0-20250622214554-fbaddd1c519b // indirect github.com/smartcontractkit/freeport v0.1.1 // indirect github.com/smartcontractkit/grpc-proxy v0.0.0-20240830132753-a7e17fec5ab7 // indirect github.com/smartcontractkit/mcms v0.19.2 // indirect @@ -417,7 +423,7 @@ require ( github.com/smartcontractkit/wsrpc v0.8.5-0.20250502134807-c57d3d995945 // indirect github.com/sourcegraph/conc v0.3.0 // indirect github.com/spf13/afero v1.12.0 // indirect - github.com/spf13/cast v1.7.1 // indirect + github.com/spf13/cast v1.9.2 // indirect github.com/spf13/pflag v1.0.6 // indirect github.com/stephenlacy/go-ethereum-hdwallet v0.0.0-20230913225845-a4fa94429863 // indirect github.com/streamingfast/logging v0.0.0-20230608130331-f22c91403091 // indirect @@ -446,6 +452,7 @@ require ( github.com/xlab/treeprint v1.2.0 // indirect github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 // indirect github.com/xssnick/tonutils-go v1.13.0 // indirect + github.com/yuin/goldmark v1.7.12 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect github.com/zeebo/xxh3 v1.0.2 // indirect github.com/zksync-sdk/zksync2-go v1.1.1-0.20250620124214-2c742ee399c6 // indirect @@ -483,16 +490,17 @@ require ( go.uber.org/multierr v1.11.0 // indirect go.uber.org/ratelimit v0.3.1 // indirect golang.org/x/arch v0.11.0 // indirect - golang.org/x/crypto v0.38.0 // indirect + golang.org/x/crypto v0.39.0 // indirect golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 // indirect - golang.org/x/mod v0.24.0 // indirect - golang.org/x/net v0.39.0 // indirect + golang.org/x/lint v0.0.0-20241112194109-818c5a804067 // indirect + golang.org/x/mod v0.25.0 // indirect + golang.org/x/net v0.41.0 // indirect golang.org/x/oauth2 v0.27.0 // indirect - golang.org/x/sync v0.14.0 // indirect + golang.org/x/sync v0.15.0 // indirect golang.org/x/sys v0.33.0 // indirect golang.org/x/term v0.32.0 // indirect golang.org/x/time v0.10.0 // indirect - golang.org/x/tools v0.32.0 // indirect + golang.org/x/tools v0.34.0 // indirect golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect gonum.org/v1/gonum v0.15.1 // indirect diff --git a/core/scripts/go.sum b/core/scripts/go.sum index c3cbcf0817c..ca27dc84a66 100644 --- a/core/scripts/go.sum +++ b/core/scripts/go.sum @@ -201,6 +201,8 @@ github.com/blendle/zapdriver v1.3.1 h1:C3dydBOWYRiOk+B8X9IVZ5IOe+7cl+tGOexN4QqHf github.com/blendle/zapdriver v1.3.1/go.mod h1:mdXfREi6u5MArG4j9fewC+FGnXaBR+T4Ox4J2u4eHCc= github.com/block-vision/sui-go-sdk v1.0.6 h1:FysCc4TJC8v4BEBbCjJPDR4iR5eKqJT1dxGwsT67etg= github.com/block-vision/sui-go-sdk v1.0.6/go.mod h1:FyK1vGE8lWm9QA1fdQpf1agfXQSMbPT8AV1BICgx6d8= +github.com/brianvoe/gofakeit/v7 v7.2.1 h1:AGojgaaCdgq4Adzrd2uWdbGNDyX6MWNhHdQBraNfOHI= +github.com/brianvoe/gofakeit/v7 v7.2.1/go.mod h1:QXuPeBw164PJCzCUZVmgpgHJ3Llj49jSLVkKPMtxtxA= github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= github.com/btcsuite/btcd v0.22.0-beta.0.20220111032746-97732e52810c/go.mod h1:tjmYdS6MLJ5/s0Fj4DbLgSbDHbEqLJrtnHecBFkdz5M= github.com/btcsuite/btcd v0.23.5-0.20231215221805-96c9fd8078fd/go.mod h1:nm3Bko6zh6bWP60UxwoT5LzdGJsQJaPo6HjduXq9p6A= @@ -248,6 +250,8 @@ github.com/bytedance/sonic/loader v0.2.0 h1:zNprn+lsIP06C/IqCHs3gPQIvnvpKbbxyXQP github.com/bytedance/sonic/loader v0.2.0/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.74 h1:bEcaS0Vqt1urlk2vrI0NN/2iu0yjeU+O3bPQCnbD+Qw= github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.74/go.mod h1:JFGcyqRE2qXgHsBw27/L0D1uEJtLhUm2Vqx4dFOHSzA= +github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.7 h1:ncFEqvXSAY/lmMGLLr0+4rel92HH0SUytpCodAicmpQ= +github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.7/go.mod h1:gJ0mPHXXdG3Do/pp+cum2igViikdjPUZWzzwtnJvzQ4= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= @@ -355,6 +359,8 @@ github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7Do github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.24 h1:bJrF4RRfyJnbTJqzRLHzcGaZK1NeM5kTC9jGgovnR1s= github.com/creack/pty v1.1.24/go.mod h1:08sCNb52WyoAwi2QDyzUCTgcvVFhUzewun7wtTfvcwE= +github.com/creasty/defaults v1.8.0 h1:z27FJxCAa0JKt3utc0sCImAEb+spPucmKoOdLHvHYKk= +github.com/creasty/defaults v1.8.0/go.mod h1:iGzKe6pbEHnpMPtfDXZEr0NVxWnPTjb1bbDy08fPzYM= github.com/cucumber/gherkin/go/v26 v26.2.0 h1:EgIjePLWiPeslwIWmNQ3XHcypPsWAHoMCz/YEBKP4GI= github.com/cucumber/gherkin/go/v26 v26.2.0/go.mod h1:t2GAPnB8maCT4lkHL99BDCVNzCh1d7dBhCLt150Nr/0= github.com/cucumber/godog v0.15.0 h1:51AL8lBXF3f0cyA5CV4TnJFCTHpgiy+1x1Hb3TtZUmo= @@ -1231,6 +1237,8 @@ github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6ke github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4= github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= +github.com/samber/lo v1.51.0 h1:kysRYLbHy/MB7kQZf5DSN50JHmMsNEdeY24VzJFu7wI= +github.com/samber/lo v1.51.0/go.mod h1:4+MXEGsJzbKGaUEQFKBq2xtfuznW9oz/WrgyzMzRoM0= github.com/sanity-io/litter v1.5.5 h1:iE+sBxPBzoK6uaEP5Lt3fHNgpKcHXc/A2HGETy0uJQo= github.com/sanity-io/litter v1.5.5/go.mod h1:9gzJgR2i4ZpjZHsKvUXIRQVk7P+yM3e+jAF7bU2UI5U= github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 h1:lZUw3E0/J3roVtGQ+SCrUrg3ON6NgVqpn3+iol9aGu4= @@ -1475,6 +1483,8 @@ github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +github.com/yuin/goldmark v1.7.12 h1:YwGP/rrea2/CnCtUHgjuolG/PnMxdQtPMO5PvaE2/nY= +github.com/yuin/goldmark v1.7.12/go.mod h1:ip/1k0VRfGynBgxOz0yCqHrbZXhcjxyuS66Brc7iBKg= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ= @@ -1644,6 +1654,8 @@ golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPI golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20241112194109-818c5a804067 h1:adDmSQyFTCiv19j015EGKJBoaa7ElV0Q1Wovb/4G7NA= +golang.org/x/lint v0.0.0-20241112194109-818c5a804067/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= diff --git a/system-tests/lib/cre/crib/crib.go b/system-tests/lib/cre/crib/crib.go index 05f0b80a7eb..c286e375b80 100644 --- a/system-tests/lib/cre/crib/crib.go +++ b/system-tests/lib/cre/crib/crib.go @@ -279,7 +279,11 @@ func DeployDons(input *types.DeployCribDonsInput) ([]*types.CapabilitiesAwareNod if err != nil { return nil, errors.Wrapf(pathErr, "failed to get absolute path to capability %s", capability) } - + // ensure +x chmod in capability binary before copying to pods + err := os.Chmod(capability, 0755) + if err != nil { + return nil, errors.Wrapf(err, "failed to chmod capability %s", capability) + } destination := filepath.Join(destinationDir, filepath.Base(capability)) _, copyErr := input.NixShell.RunCommand(fmt.Sprintf("devspace run copy-to-pods --no-warn --var POD_NAME_PATTERN=%s --var SOURCE=%s --var DESTINATION=%s", podNamePattern, absSource, destination)) if copyErr != nil { diff --git a/system-tests/lib/cre/crib/v2/crib.go b/system-tests/lib/cre/crib/v2/crib.go index 2867c1a9d33..26b08a6409e 100644 --- a/system-tests/lib/cre/crib/v2/crib.go +++ b/system-tests/lib/cre/crib/v2/crib.go @@ -3,6 +3,7 @@ package cribv2 import ( "context" "fmt" + "github.com/pkg/errors" "github.com/smartcontractkit/chainlink-testing-framework/framework/components/blockchain" "github.com/smartcontractkit/chainlink/system-tests/lib/cre/types" "github.com/smartcontractkit/crib-sdk/crib" @@ -10,16 +11,18 @@ import ( ) func DeployBlockchain(input *types.DeployCribBlockchainInput) (*blockchain.Output, error) { + err := input.Validate() + if err != nil { + return nil, errors.Wrapf(err, "invalid input for deploying blockchain") + } + ctx := context.Background() anvil := anvilv1.Component(&anvilv1.Props{ Namespace: input.Namespace, ChainID: input.BlockchainInput.ChainID, - // startUp cmd -> to co w entrypoint, args to anvil binary configurable - RemoteFunc: func() error { - // - }, }) + plan := crib.NewPlan( "anvilv1", crib.Namespace(input.Namespace), @@ -28,71 +31,73 @@ func DeployBlockchain(input *types.DeployCribBlockchainInput) (*blockchain.Outpu ), ) - appliedPlan, err := plan.Apply(ctx) - if err := nil { - fmt.Printf("Error applying plan: %v\n", err) + result, err := plan.Apply(ctx) + if err != nil { + return nil, errors.Wrap(err, "failed to apply a plan") } - anvilComponent, err := appliedPlan.GetComponentByName("anvil") - - anvilComponent - - fmt.Printf("Successfully applied plan: %s\n", plan.Name()) - - // todo, and now how to get access to the Component props? - return &blockchain.Output{ - Type: input.BlockchainInput.Type, - Family: "evm", - ChainID: input.BlockchainInput.ChainID, - Nodes: []*blockchain.Node{ - { // todo: - ExternalWSUrl: "", - ExternalHTTPUrl: "", - InternalWSUrl: "", - InternalHTTPUrl: "", + anvilComponents := result.ComponentByName("sdk.AnvilCompositeV1") + + for component := range anvilComponents { + res := crib.ComponentState[*anvilv1.Result](component) + fmt.Printf("The args used: %v\n", res.InternalWSUrl()) + + return &blockchain.Output{ + Type: input.BlockchainInput.Type, + Family: "evm", + ChainID: input.BlockchainInput.ChainID, + Nodes: []*blockchain.Node{ + { + ExternalWSUrl: "todo, requires telepresence", + ExternalHTTPUrl: "todo, requires telepresence", + InternalWSUrl: res.InternalWSUrl(), + InternalHTTPUrl: "do we need that?", + }, }, - }, - }, nil + }, nil + } + + return nil, errors.New("failed to find a valid component") } func DeployDons(input *types.DeployCribDonsInput) ([]*types.CapabilitiesAwareNodeSet, error) { - ctx := context.Background() - - nodeset := anvilv1.Component(&nodesetv1.Props{ - Namespace: input.Namespace, - // Requirements: - // - image with tag - // - config override files for bt (0-n) and worker nodes (0-n) - // WORKFLOW_DON and GATEWAY_DON - // 3 topologie, - // 1) 1 Don, with one bootstrap which is also a gateway node - // bootstrap and worker nodes are variable - // note: impossible to do because of DON_TYPE hardcoded things in the chart - // this the highest value, as currently it is not possible at all, it is the fastest to deploy and provide a feedback loop to dev - // 2) workflow don - // separate don which is just a gateway - // 3) same as 2) plus capability DON - - // Copying binaries to pod, handle it later, in sandbox there is an image which has all plugins - // it would be nice for feature parity with docker - // low value, high complexity - - }) - plan := crib.NewPlan( - "nodesetv1", - crib.Namespace(input.Namespace), - crib.ComponentSet( - nodeset, - ), - ) - - if err := plan.Apply(ctx); err != nil { - fmt.Printf("Error applying plan: %v\n", err) - } - fmt.Printf("Successfully applied plan: %s\n", plan.Name()) - - // todo, and now how to get access to the Component props? - return + //ctx := context.Background() + // + //nodeset := anvilv1.Component(&nodesetv1.Props{ + // Namespace: input.Namespace, + // // Requirements: + // // - image with tag + // // - config override files for bt (0-n) and worker nodes (0-n) + // // WORKFLOW_DON and GATEWAY_DON + // // 3 topologie, + // // 1) 1 Don, with one bootstrap which is also a gateway node + // // bootstrap and worker nodes are variable + // // note: impossible to do because of DON_TYPE hardcoded things in the chart + // // this the highest value, as currently it is not possible at all, it is the fastest to deploy and provide a feedback loop to dev + // // 2) workflow don + // // separate don which is just a gateway + // // 3) same as 2) plus capability DON + // + // // Copying binaries to pod, handle it later, in sandbox there is an image which has all plugins + // // it would be nice for feature parity with docker + // // low value, high complexity + // + //}) + //plan := crib.NewPlan( + // "nodesetv1", + // crib.Namespace(input.Namespace), + // crib.ComponentSet( + // nodeset, + // ), + //) + // + //if err := plan.Apply(ctx); err != nil { + // fmt.Printf("Error applying plan: %v\n", err) + //} + //fmt.Printf("Successfully applied plan: %s\n", plan.Name()) + // + //// todo, and now how to get access to the Component props? + return make([]*types.CapabilitiesAwareNodeSet, 0), nil } diff --git a/system-tests/lib/cre/crib/v2/job_deployer.go b/system-tests/lib/cre/crib/v2/job_deployer.go index 38c7615533f..ac2acd77a29 100644 --- a/system-tests/lib/cre/crib/v2/job_deployer.go +++ b/system-tests/lib/cre/crib/v2/job_deployer.go @@ -1,15 +1,10 @@ package cribv2 -import ( - "context" - "github.com/smartcontractkit/crib-sdk/crib" -) - -// Component returns a new Anvil composite component. -func Component(props *crib.Props, opts ...PropOpt) crib.ComponentFunc { - return func(ctx context.Context) (crib.Component, error) { - // remote execution here - // deploy jobs - return - } -} +//// Component returns a new Anvil composite component. +//func Component(props *crib.Props, opts ...PropOpt) crib.ComponentFunc { +// return func(ctx context.Context) (crib.Component, error) { +// // remote execution here +// // deploy jobs +// return +// } +//} diff --git a/system-tests/lib/cre/don/don.go b/system-tests/lib/cre/don/don.go index 43b62d6537c..0c84d5f9527 100644 --- a/system-tests/lib/cre/don/don.go +++ b/system-tests/lib/cre/don/don.go @@ -37,20 +37,6 @@ func CreateJobs(ctx context.Context, testLogger zerolog.Logger, input cretypes.C } func ValidateTopology(nodeSetInput []*cretypes.CapabilitiesAwareNodeSet, infraInput types.InfraInput) error { - if infraInput.InfraType == types.CRIB { - if len(nodeSetInput) == 1 && slices.Contains(nodeSetInput[0].DONTypes, cretypes.GatewayDON) { - if len(nodeSetInput[0].Capabilities) > 1 { - return errors.New("you must use at least 2 nodeSets when using CRIB and gateway DON. Gateway DON must be in a separate nodeSet and it must be named 'gateway'. Try using 'full' topology by passing '-t full' to the CLI") - } - } - - for _, nodeSet := range nodeSetInput { - if infraInput.InfraType == types.CRIB && slices.Contains(nodeSetInput[0].DONTypes, cretypes.GatewayDON) && nodeSet.Name != "gateway" { - return errors.New("when using CRIB gateway nodeSet with the Gateway DON must be named 'gateway', but got " + nodeSet.Name) - } - } - } - hasAtLeastOneBootstrapNode := false for _, nodeSet := range nodeSetInput { if nodeSet.BootstrapNodeIndex != -1 { diff --git a/system-tests/lib/cre/environment/environment.go b/system-tests/lib/cre/environment/environment.go index 05d733dc9f2..1b93fea3e60 100644 --- a/system-tests/lib/cre/environment/environment.go +++ b/system-tests/lib/cre/environment/environment.go @@ -48,6 +48,7 @@ import ( libcaps "github.com/smartcontractkit/chainlink/system-tests/lib/cre/capabilities" libcontracts "github.com/smartcontractkit/chainlink/system-tests/lib/cre/contracts" "github.com/smartcontractkit/chainlink/system-tests/lib/cre/crib" + cribv2 "github.com/smartcontractkit/chainlink/system-tests/lib/cre/crib/v2" libdevenv "github.com/smartcontractkit/chainlink/system-tests/lib/cre/devenv" libdon "github.com/smartcontractkit/chainlink/system-tests/lib/cre/don" creconfig "github.com/smartcontractkit/chainlink/system-tests/lib/cre/don/config" @@ -786,8 +787,9 @@ func CreateBlockchains( BlockchainInput: bi, NixShell: input.nixShell, CribConfigsDir: cribConfigsDir, + Namespace: input.infra.CRIB.Namespace, } - bcOut, bcErr = crib.DeployBlockchain(deployCribBlockchainInput) + bcOut, bcErr = cribv2.DeployBlockchain(deployCribBlockchainInput) if bcErr != nil { return nil, pkgerrors.Wrap(bcErr, "failed to deploy blockchain") } diff --git a/system-tests/lib/cre/types/keystone.go b/system-tests/lib/cre/types/keystone.go index d7976fcc878..1b212dbfc0c 100644 --- a/system-tests/lib/cre/types/keystone.go +++ b/system-tests/lib/cre/types/keystone.go @@ -540,6 +540,9 @@ func (d *DeployCribBlockchainInput) Validate() error { if d.CribConfigsDir == "" { return errors.New("crib configs dir not set") } + if d.Namespace == "" { + return errors.New("namespace not set") + } return nil } From 562b83d8aa3f688b02a46cc0f7926182fda99da8 Mon Sep 17 00:00:00 2001 From: Radek Scheibinger Date: Mon, 30 Jun 2025 16:02:01 +0200 Subject: [PATCH 05/37] create namespace --- system-tests/lib/cre/crib/v2/crib.go | 29 ++++++++++++++----- .../lib/cre/environment/environment.go | 6 ++++ 2 files changed, 28 insertions(+), 7 deletions(-) diff --git a/system-tests/lib/cre/crib/v2/crib.go b/system-tests/lib/cre/crib/v2/crib.go index 26b08a6409e..1bfe3432673 100644 --- a/system-tests/lib/cre/crib/v2/crib.go +++ b/system-tests/lib/cre/crib/v2/crib.go @@ -2,14 +2,31 @@ package cribv2 import ( "context" - "fmt" "github.com/pkg/errors" "github.com/smartcontractkit/chainlink-testing-framework/framework/components/blockchain" "github.com/smartcontractkit/chainlink/system-tests/lib/cre/types" + libtypes "github.com/smartcontractkit/chainlink/system-tests/lib/types" "github.com/smartcontractkit/crib-sdk/crib" anvilv1 "github.com/smartcontractkit/crib-sdk/crib/composite/anvil/v1" + namespacev1 "github.com/smartcontractkit/crib-sdk/crib/scalar/k8s/namespace/v1" ) +func CreateNamespace(infraInput *libtypes.InfraInput) error { + plan := crib.NewPlan( + "namespace", + crib.Namespace(infraInput.CRIB.Namespace), + crib.ComponentSet( + namespacev1.Component(infraInput.CRIB.Namespace), + ), + ) + _, err := plan.Apply(context.Background()) + if err != nil { + return errors.Wrap(err, "failed to apply plan") + } + + return nil +} + func DeployBlockchain(input *types.DeployCribBlockchainInput) (*blockchain.Output, error) { err := input.Validate() if err != nil { @@ -39,8 +56,7 @@ func DeployBlockchain(input *types.DeployCribBlockchainInput) (*blockchain.Outpu anvilComponents := result.ComponentByName("sdk.AnvilCompositeV1") for component := range anvilComponents { - res := crib.ComponentState[*anvilv1.Result](component) - fmt.Printf("The args used: %v\n", res.InternalWSUrl()) + res := crib.ComponentState[anvilv1.Result](component) return &blockchain.Output{ Type: input.BlockchainInput.Type, @@ -48,10 +64,8 @@ func DeployBlockchain(input *types.DeployCribBlockchainInput) (*blockchain.Outpu ChainID: input.BlockchainInput.ChainID, Nodes: []*blockchain.Node{ { - ExternalWSUrl: "todo, requires telepresence", - ExternalHTTPUrl: "todo, requires telepresence", - InternalWSUrl: res.InternalWSUrl(), - InternalHTTPUrl: "do we need that?", + InternalWSUrl: res.RPCWebsocketURL(), + InternalHTTPUrl: res.RPCHTTPURL(), }, }, }, nil @@ -98,6 +112,7 @@ func DeployDons(input *types.DeployCribDonsInput) ([]*types.CapabilitiesAwareNod //fmt.Printf("Successfully applied plan: %s\n", plan.Name()) // //// todo, and now how to get access to the Component props? + return make([]*types.CapabilitiesAwareNodeSet, 0), nil } diff --git a/system-tests/lib/cre/environment/environment.go b/system-tests/lib/cre/environment/environment.go index 1b93fea3e60..36c5bfdebcb 100644 --- a/system-tests/lib/cre/environment/environment.go +++ b/system-tests/lib/cre/environment/environment.go @@ -123,6 +123,11 @@ func SetupTestEnvironment( if nixErr != nil { return nil, pkgerrors.Wrap(nixErr, "failed to start nix shell") } + // In CRIB v2 we no longer rely on devspace to create a namespace so we need to do it before deploying + err := cribv2.CreateNamespace(&input.InfraInput) + if err != nil { + return nil, pkgerrors.Wrap(err, "failed to create namespace") + } } defer func() { @@ -793,6 +798,7 @@ func CreateBlockchains( if bcErr != nil { return nil, pkgerrors.Wrap(bcErr, "failed to deploy blockchain") } + // todo: replace with internal URL call, once telepresence is set up err := libinfra.WaitForRPCEndpoint(testLogger, bcOut.Nodes[0].ExternalHTTPUrl, 10*time.Minute) if err != nil { return nil, pkgerrors.Wrap(err, "RPC endpoint is not available") From 6bb7e3fb8575fcb5a495159a11df364328a9c26f Mon Sep 17 00:00:00 2001 From: Radek Scheibinger Date: Mon, 30 Jun 2025 17:24:26 +0200 Subject: [PATCH 06/37] initial try to integrate with node v1 component --- system-tests/lib/cre/crib/crib.go | 125 +++++++++++++----- system-tests/lib/cre/crib/v2/crib.go | 5 +- .../lib/cre/environment/environment.go | 2 +- 3 files changed, 97 insertions(+), 35 deletions(-) diff --git a/system-tests/lib/cre/crib/crib.go b/system-tests/lib/cre/crib/crib.go index c286e375b80..2fb8cd03286 100644 --- a/system-tests/lib/cre/crib/crib.go +++ b/system-tests/lib/cre/crib/crib.go @@ -1,7 +1,10 @@ package crib import ( + "context" "fmt" + "github.com/smartcontractkit/crib-sdk/crib" + nodev1 "github.com/smartcontractkit/crib-sdk/crib/composite/chainlink/node/v1" "os" "path/filepath" "regexp" @@ -122,20 +125,9 @@ func DeployDons(input *types.DeployCribDonsInput) ([]*types.CapabilitiesAwareNod return nil, errors.Wrapf(err, "failed to create crib configs directory '%s' for %s", cribConfigsDirAbs, donMetadata.Name) } - // validate that all nodes in the same node set use the same Docker image - dockerImage, dockerImagesErr := nodesetDockerImage(input.NodeSetInputs[j]) - if dockerImagesErr != nil { - return nil, errors.Wrap(dockerImagesErr, "failed to validate node set Docker images") - } - - imageName, imageErr := dockerImageName(dockerImage) - if imageErr != nil { - return nil, errors.Wrap(imageErr, "failed to get image name") - } - - imageTag, imageErr := dockerImageTag(dockerImage) - if imageErr != nil { - return nil, errors.Wrap(imageErr, "failed to get image tag") + imageName, imageTag, err := imageNameAndTag(input, j) + if err != nil { + return nil, errors.Wrapf(err, "failed to get image name and tag for %s", donMetadata.Name) } deployDonEnvVars["DEVSPACE_IMAGE"] = imageName @@ -146,22 +138,6 @@ func DeployDons(input *types.DeployCribDonsInput) ([]*types.CapabilitiesAwareNod return nil, errors.Wrap(err, "failed to find bootstrap nodes") } - var cleanToml = func(tomlStr string) ([]byte, error) { - // unmarshall and marshall to conver it into proper multi-line string - // that will be correctly serliazed to YAML - var data interface{} - tomlErr := toml.Unmarshal([]byte(tomlStr), &data) - if tomlErr != nil { - return nil, errors.Wrapf(tomlErr, "failed to unmarshal toml: %s", tomlStr) - } - newTOMLBytes, marshallErr := toml.Marshal(data) - if marshallErr != nil { - return nil, errors.Wrap(marshallErr, "failed to marshal toml") - } - - return newTOMLBytes, nil - } - var writeOverrides = func(nodeMetadata *types.NodeMetadata, i int, nodeType types.NodeType) error { nodeIndexStr, findErr := libnode.FindLabelValue(nodeMetadata, libnode.IndexKey) if findErr != nil { @@ -173,7 +149,7 @@ func DeployDons(input *types.DeployCribDonsInput) ([]*types.CapabilitiesAwareNod return errors.Wrapf(convErr, "failed to convert node index '%s' to int for %s node %d in nodeset %s", nodeIndexStr, nodeType, i, donMetadata.Name) } - cleanToml, tomlErr := cleanToml(input.NodeSetInputs[j].NodeSpecs[nodeIndex].Node.TestConfigOverrides) + cleanedToml, tomlErr := cleanToml(input.NodeSetInputs[j].NodeSpecs[nodeIndex].Node.TestConfigOverrides) if tomlErr != nil { return errors.Wrap(tomlErr, "failed to clean TOML") } @@ -186,7 +162,7 @@ func DeployDons(input *types.DeployCribDonsInput) ([]*types.CapabilitiesAwareNod secretsFileMask = "secrets-override-%d.toml" } - writeErr := os.WriteFile(filepath.Join(cribConfigsDirAbs, fmt.Sprintf(configFileMask, i)), cleanToml, 0600) + writeErr := os.WriteFile(filepath.Join(cribConfigsDirAbs, fmt.Sprintf(configFileMask, i)), cleanedToml, 0600) if writeErr != nil { return errors.Wrapf(writeErr, "failed to write config override for bootstrap node %d to file", i) } @@ -302,6 +278,91 @@ func DeployDons(input *types.DeployCribDonsInput) ([]*types.CapabilitiesAwareNod return input.NodeSetInputs, nil } +func imageNameAndTag(input *types.DeployCribDonsInput, j int) (string, string, error) { + // validate that all nodes in the same node set use the same Docker image + dockerImage, dockerImagesErr := nodesetDockerImage(input.NodeSetInputs[j]) + if dockerImagesErr != nil { + return "", "", errors.Wrap(dockerImagesErr, "failed to validate node set Docker images") + } + + imageName, imageErr := dockerImageName(dockerImage) + if imageErr != nil { + return "", "", errors.Wrap(imageErr, "failed to get image name") + } + + imageTag, imageErr := dockerImageTag(dockerImage) + if imageErr != nil { + return "", "", errors.Wrap(imageErr, "failed to get image tag") + } + return imageName, imageTag, nil +} + +func cleanToml(tomlStr string) ([]byte, error) { + // unmarshall and marshall to conver it into proper multi-line string + // that will be correctly serliazed to YAML + var data interface{} + tomlErr := toml.Unmarshal([]byte(tomlStr), &data) + if tomlErr != nil { + return nil, errors.Wrapf(tomlErr, "failed to unmarshal toml: %s", tomlStr) + } + newTOMLBytes, marshallErr := toml.Marshal(data) + if marshallErr != nil { + return nil, errors.Wrap(marshallErr, "failed to marshal toml") + } + + return newTOMLBytes, nil +} + +// todo: after it's done it will replace DeployDonsCrib +func DeployDonsCribV2(input *types.DeployCribDonsInput) ([]*types.CapabilitiesAwareNodeSet, error) { + if input == nil { + return nil, errors.New("DeployCribDonsInput is nil") + } + + if valErr := input.Validate(); valErr != nil { + return nil, errors.Wrap(valErr, "input validation failed") + } + + // component funcs with all nodes from all nodesets + componentFuncs := make([]crib.ComponentFunc, 0) + + for j, donMetadata := range input.Topology.DonsMetadata { + nodesCount := len(input.NodeSetInputs[j].NodeSpecs) + + imageName, imageTag, err := imageNameAndTag(input, j) + if err != nil { + return nil, errors.Wrapf(err, "failed to get image name and tag for %s", donMetadata.Name) + } + + for i := 0; i < nodesCount; i++ { + component := nodev1.Component(&nodev1.Props{ + Image: fmt.Sprintf("%s:%s", imageName, imageTag), + ReleaseName: fmt.Sprintf("%s-%d", donMetadata.Name, i), + // todo: set remaining fields based on the input + }) + componentFuncs = append(componentFuncs, component) + } + } + + plan := crib.NewPlan( + "dons", + crib.Namespace(input.Namespace), + crib.ComponentSet( + componentFuncs..., + ), + ) + + planState, err := plan.Apply(context.Background()) + if err != nil { + return nil, errors.Wrap(err, "failed to apply plan") + } + + // todo: set outputs basd on the plan results + planState.ComponentByName("todo") + + return input.NodeSetInputs, nil +} + func DeployJd(input *types.DeployCribJdInput) (*jd.Output, error) { if input == nil { return nil, errors.New("DeployCribJdInput is nil") diff --git a/system-tests/lib/cre/crib/v2/crib.go b/system-tests/lib/cre/crib/v2/crib.go index 1bfe3432673..0d0dbeef7df 100644 --- a/system-tests/lib/cre/crib/v2/crib.go +++ b/system-tests/lib/cre/crib/v2/crib.go @@ -11,12 +11,13 @@ import ( namespacev1 "github.com/smartcontractkit/crib-sdk/crib/scalar/k8s/namespace/v1" ) -func CreateNamespace(infraInput *libtypes.InfraInput) error { +func Bootstrap(infraInput *libtypes.InfraInput) error { plan := crib.NewPlan( "namespace", crib.Namespace(infraInput.CRIB.Namespace), crib.ComponentSet( namespacev1.Component(infraInput.CRIB.Namespace), + // todo: add telepresence install here for now ), ) _, err := plan.Apply(context.Background()) @@ -76,7 +77,7 @@ func DeployBlockchain(input *types.DeployCribBlockchainInput) (*blockchain.Outpu } func DeployDons(input *types.DeployCribDonsInput) ([]*types.CapabilitiesAwareNodeSet, error) { - //ctx := context.Background() + // //nodeset := anvilv1.Component(&nodesetv1.Props{ // Namespace: input.Namespace, diff --git a/system-tests/lib/cre/environment/environment.go b/system-tests/lib/cre/environment/environment.go index 36c5bfdebcb..fb6319315a6 100644 --- a/system-tests/lib/cre/environment/environment.go +++ b/system-tests/lib/cre/environment/environment.go @@ -124,7 +124,7 @@ func SetupTestEnvironment( return nil, pkgerrors.Wrap(nixErr, "failed to start nix shell") } // In CRIB v2 we no longer rely on devspace to create a namespace so we need to do it before deploying - err := cribv2.CreateNamespace(&input.InfraInput) + err := cribv2.Bootstrap(&input.InfraInput) if err != nil { return nil, pkgerrors.Wrap(err, "failed to create namespace") } From 05376255dd047f0149a47e9c878b883bc2061b4a Mon Sep 17 00:00:00 2001 From: Radek Scheibinger Date: Mon, 30 Jun 2025 17:25:31 +0200 Subject: [PATCH 07/37] rename --- system-tests/lib/cre/crib/crib.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system-tests/lib/cre/crib/crib.go b/system-tests/lib/cre/crib/crib.go index 2fb8cd03286..4cfc4949418 100644 --- a/system-tests/lib/cre/crib/crib.go +++ b/system-tests/lib/cre/crib/crib.go @@ -314,7 +314,7 @@ func cleanToml(tomlStr string) ([]byte, error) { } // todo: after it's done it will replace DeployDonsCrib -func DeployDonsCribV2(input *types.DeployCribDonsInput) ([]*types.CapabilitiesAwareNodeSet, error) { +func DeployDonsWithCribSDK(input *types.DeployCribDonsInput) ([]*types.CapabilitiesAwareNodeSet, error) { if input == nil { return nil, errors.New("DeployCribDonsInput is nil") } From 2888377acbccd37813f3d64a54b89c0d2a0f0607 Mon Sep 17 00:00:00 2001 From: Radek Scheibinger Date: Tue, 1 Jul 2025 16:20:01 +0200 Subject: [PATCH 08/37] deploy nodes via crib-sdk --- core/scripts/cre/environment/docs.md | 4 +- core/scripts/go.mod | 2 +- core/scripts/go.sum | 8 +- system-tests/lib/cre/crib/crib.go | 309 +++++++----------- system-tests/lib/cre/crib/crib_v2.go | 143 ++++++++ system-tests/lib/cre/crib/v2/crib.go | 119 ------- system-tests/lib/cre/crib/v2/job_deployer.go | 10 - .../lib/cre/environment/environment.go | 15 +- system-tests/lib/go.mod | 4 +- system-tests/lib/go.sum | 52 ++- 10 files changed, 306 insertions(+), 360 deletions(-) create mode 100644 system-tests/lib/cre/crib/crib_v2.go delete mode 100644 system-tests/lib/cre/crib/v2/crib.go delete mode 100644 system-tests/lib/cre/crib/v2/job_deployer.go diff --git a/core/scripts/cre/environment/docs.md b/core/scripts/cre/environment/docs.md index 9a760be36a2..cbb21e157d5 100644 --- a/core/scripts/cre/environment/docs.md +++ b/core/scripts/cre/environment/docs.md @@ -32,9 +32,11 @@ The CLI manages CRE test environments. It is located in `core/scripts/cre/enviro 3. **gh cli** - To pull the `cre` cli. Minimum version `v.2.50.0` - [See more for configuring AWS in CLL](https://smartcontract-it.atlassian.net/wiki/spaces/INFRA/pages/1045495923/Configure+the+AWS+CLI) +## Prerequisites For CRIB ### +1. kubefwd installed: `brew install kubefwd` +2. TBD: not sure when kubefwd should be started # QUICKSTART ``` diff --git a/core/scripts/go.mod b/core/scripts/go.mod index 5ae5ea1f8ce..79779f50a18 100644 --- a/core/scripts/go.mod +++ b/core/scripts/go.mod @@ -137,7 +137,7 @@ require ( github.com/bytedance/sonic v1.12.3 // indirect github.com/bytedance/sonic/loader v0.2.0 // indirect github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.74 // indirect - github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.7 // indirect + github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.8 // indirect github.com/cenkalti/backoff v2.2.1+incompatible // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect diff --git a/core/scripts/go.sum b/core/scripts/go.sum index ca27dc84a66..229d992566f 100644 --- a/core/scripts/go.sum +++ b/core/scripts/go.sum @@ -201,8 +201,8 @@ github.com/blendle/zapdriver v1.3.1 h1:C3dydBOWYRiOk+B8X9IVZ5IOe+7cl+tGOexN4QqHf github.com/blendle/zapdriver v1.3.1/go.mod h1:mdXfREi6u5MArG4j9fewC+FGnXaBR+T4Ox4J2u4eHCc= github.com/block-vision/sui-go-sdk v1.0.6 h1:FysCc4TJC8v4BEBbCjJPDR4iR5eKqJT1dxGwsT67etg= github.com/block-vision/sui-go-sdk v1.0.6/go.mod h1:FyK1vGE8lWm9QA1fdQpf1agfXQSMbPT8AV1BICgx6d8= -github.com/brianvoe/gofakeit/v7 v7.2.1 h1:AGojgaaCdgq4Adzrd2uWdbGNDyX6MWNhHdQBraNfOHI= -github.com/brianvoe/gofakeit/v7 v7.2.1/go.mod h1:QXuPeBw164PJCzCUZVmgpgHJ3Llj49jSLVkKPMtxtxA= +github.com/brianvoe/gofakeit/v7 v7.3.0 h1:TWStf7/lLpAjKw+bqwzeORo9jvrxToWEwp9b1J2vApQ= +github.com/brianvoe/gofakeit/v7 v7.3.0/go.mod h1:QXuPeBw164PJCzCUZVmgpgHJ3Llj49jSLVkKPMtxtxA= github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= github.com/btcsuite/btcd v0.22.0-beta.0.20220111032746-97732e52810c/go.mod h1:tjmYdS6MLJ5/s0Fj4DbLgSbDHbEqLJrtnHecBFkdz5M= github.com/btcsuite/btcd v0.23.5-0.20231215221805-96c9fd8078fd/go.mod h1:nm3Bko6zh6bWP60UxwoT5LzdGJsQJaPo6HjduXq9p6A= @@ -250,8 +250,8 @@ github.com/bytedance/sonic/loader v0.2.0 h1:zNprn+lsIP06C/IqCHs3gPQIvnvpKbbxyXQP github.com/bytedance/sonic/loader v0.2.0/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.74 h1:bEcaS0Vqt1urlk2vrI0NN/2iu0yjeU+O3bPQCnbD+Qw= github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.74/go.mod h1:JFGcyqRE2qXgHsBw27/L0D1uEJtLhUm2Vqx4dFOHSzA= -github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.7 h1:ncFEqvXSAY/lmMGLLr0+4rel92HH0SUytpCodAicmpQ= -github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.7/go.mod h1:gJ0mPHXXdG3Do/pp+cum2igViikdjPUZWzzwtnJvzQ4= +github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.8 h1:vtT/G9hb1fstaeS52wcSYDKmZY0qExoroP5lhiFQe8U= +github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.8/go.mod h1:7uUKWwq8GOkVQFkVH9ymTajphRFJM6HeHhIQ3S/tFJw= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= diff --git a/system-tests/lib/cre/crib/crib.go b/system-tests/lib/cre/crib/crib.go index 4cfc4949418..df27418812d 100644 --- a/system-tests/lib/cre/crib/crib.go +++ b/system-tests/lib/cre/crib/crib.go @@ -1,10 +1,8 @@ package crib import ( - "context" "fmt" - "github.com/smartcontractkit/crib-sdk/crib" - nodev1 "github.com/smartcontractkit/crib-sdk/crib/composite/chainlink/node/v1" + crecaps "github.com/smartcontractkit/chainlink/system-tests/lib/cre/capabilities" "os" "path/filepath" "regexp" @@ -15,9 +13,7 @@ import ( "github.com/pelletier/go-toml/v2" "github.com/pkg/errors" - "github.com/smartcontractkit/chainlink-testing-framework/framework/components/blockchain" "github.com/smartcontractkit/chainlink-testing-framework/framework/components/jd" - crecaps "github.com/smartcontractkit/chainlink/system-tests/lib/cre/capabilities" libnode "github.com/smartcontractkit/chainlink/system-tests/lib/cre/don/node" "github.com/smartcontractkit/chainlink/system-tests/lib/cre/types" "github.com/smartcontractkit/chainlink/system-tests/lib/infra" @@ -75,39 +71,6 @@ func StartNixShell(input *types.StartNixShellInput) (*nix.Shell, error) { return nixShell, nil } -func DeployBlockchain(input *types.DeployCribBlockchainInput) (*blockchain.Output, error) { - if input == nil { - return nil, errors.New("DeployCribBlockchainInput is nil") - } - - if valErr := input.Validate(); valErr != nil { - return nil, errors.Wrap(valErr, "input validation failed") - } - - gethChainEnvVars := map[string]string{ - "CHAIN_ID": input.BlockchainInput.ChainID, - } - - // crib init is required to create necessary Kubernetes resources (like configmaps) and set up proper permissions - _, err := input.NixShell.RunCommand("crib init") - if err != nil { - return nil, errors.Wrap(err, "failed to run crib init") - } - - _, err = input.NixShell.RunCommandWithEnvVars("devspace run deploy-custom-geth-chain --no-warn", gethChainEnvVars) - if err != nil { - return nil, errors.Wrap(err, "failed to run devspace run deploy-custom-geth-chain --no-warn") - } - - // TODO chain family should be dynamic, but currently we don't have in the input (it's set in the output depending on blockchain type) - blockchainOut, err := infra.ReadBlockchainURL(filepath.Join(".", input.CribConfigsDir), "evm", input.BlockchainInput.ChainID) - if err != nil { - return nil, errors.Wrap(err, "failed to read blockchain URLs") - } - - return blockchainOut, nil -} - func DeployDons(input *types.DeployCribDonsInput) ([]*types.CapabilitiesAwareNodeSet, error) { if input == nil { return nil, errors.New("DeployCribDonsInput is nil") @@ -138,45 +101,8 @@ func DeployDons(input *types.DeployCribDonsInput) ([]*types.CapabilitiesAwareNod return nil, errors.Wrap(err, "failed to find bootstrap nodes") } - var writeOverrides = func(nodeMetadata *types.NodeMetadata, i int, nodeType types.NodeType) error { - nodeIndexStr, findErr := libnode.FindLabelValue(nodeMetadata, libnode.IndexKey) - if findErr != nil { - return errors.Wrapf(findErr, "failed to find node index for %s node %d in nodeset %s", nodeType, i, donMetadata.Name) - } - - nodeIndex, convErr := strconv.Atoi(nodeIndexStr) - if convErr != nil { - return errors.Wrapf(convErr, "failed to convert node index '%s' to int for %s node %d in nodeset %s", nodeIndexStr, nodeType, i, donMetadata.Name) - } - - cleanedToml, tomlErr := cleanToml(input.NodeSetInputs[j].NodeSpecs[nodeIndex].Node.TestConfigOverrides) - if tomlErr != nil { - return errors.Wrap(tomlErr, "failed to clean TOML") - } - - configFileMask := "config-override-bt-%d.toml" - secretsFileMask := "secrets-override-bt-%d.toml" - - if nodeType != types.BootstrapNode { - configFileMask = "config-override-%d.toml" - secretsFileMask = "secrets-override-%d.toml" - } - - writeErr := os.WriteFile(filepath.Join(cribConfigsDirAbs, fmt.Sprintf(configFileMask, i)), cleanedToml, 0600) - if writeErr != nil { - return errors.Wrapf(writeErr, "failed to write config override for bootstrap node %d to file", i) - } - - writeErr = os.WriteFile(filepath.Join(cribConfigsDirAbs, fmt.Sprintf(secretsFileMask, i)), []byte(input.NodeSetInputs[j].NodeSpecs[nodeIndex].Node.TestSecretsOverrides), 0600) - if writeErr != nil { - return errors.Wrapf(writeErr, "failed to write secrets override for bootstrap node %d to file", i) - } - - return nil - } - for i, btNode := range bootstrapNodes { - writeErr := writeOverrides(btNode, i, types.BootstrapNode) + writeErr := writeOverrides(btNode, i, types.BootstrapNode, j, input, donMetadata, cribConfigsDirAbs) if writeErr != nil { return nil, writeErr } @@ -188,7 +114,7 @@ func DeployDons(input *types.DeployCribDonsInput) ([]*types.CapabilitiesAwareNod } for i, workerNode := range workerNodes { - writeErr := writeOverrides(workerNode, i, types.WorkerNode) + writeErr := writeOverrides(workerNode, i, types.WorkerNode, j, input, donMetadata, cribConfigsDirAbs) if writeErr != nil { return nil, writeErr } @@ -204,78 +130,143 @@ func DeployDons(input *types.DeployCribDonsInput) ([]*types.CapabilitiesAwareNod return nil, errors.Wrap(deployErr, "failed to run devspace run deploy-don") } - // validate capabilities-related configuration and copy capabilities to pods - podNamePattern := input.NodeSetInputs[j].Name + `-\\d+` - _, regErr := regexp.Compile(podNamePattern) - if regErr != nil { - return nil, errors.Wrapf(regErr, "failed to compile regex for pod name pattern %s", podNamePattern) + nsOutput, err := infra.ReadNodeSetURL(filepath.Join(".", input.CribConfigsDir), donMetadata) + if err != nil { + return nil, errors.Wrap(err, "failed to read node set URLs from file") } - capabilitiesFound := map[string]int{} - capabilitiesDirs := []string{} - capabilitiesDirsFound := map[string]int{} - - // make sure all worker nodes in DON have the same set of capabilities - // in the future we might want to allow different capabilities for different nodes - // but for now we require all worker nodes in the same DON to have the same capabilities - for _, nodeSpec := range input.NodeSetInputs[j].NodeSpecs { - for _, capabilityBinaryPath := range nodeSpec.Node.CapabilitiesBinaryPaths { - capabilitiesFound[capabilityBinaryPath]++ - } - if nodeSpec.Node.CapabilityContainerDir != "" { - capabilitiesDirs = append(capabilitiesDirs, nodeSpec.Node.CapabilityContainerDir) - capabilitiesDirsFound[nodeSpec.Node.CapabilityContainerDir]++ - } - } + input.NodeSetInputs[j].Out = nsOutput + } - for capability, count := range capabilitiesFound { - // we only care about worker nodes, because bootstrap nodes cannot execute any workflows, so they don't need capabilities - if count != len(workerNodes) { - return nil, fmt.Errorf("capability %s wasn't defined for all worker nodes in nodeset %s. All worker nodes in the same nodeset must have the same capabilities", capability, input.NodeSetInputs[j].Name) - } + return input.NodeSetInputs, nil +} + +func getConfigAndSecretsForNode(nodeMetadata *types.NodeMetadata, donIndex int, input *types.DeployCribDonsInput, donMetadata *types.DonMetadata) (*string, *string, error) { + nodeIndexStr, findErr := libnode.FindLabelValue(nodeMetadata, libnode.IndexKey) + if findErr != nil { + return nil, nil, errors.Wrapf(findErr, "failed to find node index in nodeset %s", donMetadata.Name) + } + + nodeIndex, convErr := strconv.Atoi(nodeIndexStr) + if convErr != nil { + return nil, nil, errors.Wrapf(convErr, "failed to convert node index '%s' to int in nodeset %s", nodeIndexStr, donMetadata.Name) + } + + cleanedToml, tomlErr := cleanToml(input.NodeSetInputs[donIndex].NodeSpecs[nodeIndex].Node.TestConfigOverrides) + if tomlErr != nil { + return nil, nil, errors.Wrap(tomlErr, "failed to clean TOML") + } + + secretsFileBytes := []byte(input.NodeSetInputs[donIndex].NodeSpecs[nodeIndex].Node.TestSecretsOverrides) + + tomlString := string(cleanedToml) + secretsString := string(secretsFileBytes) + return &tomlString, &secretsString, nil +} + +func writeOverrides(nodeMetadata *types.NodeMetadata, i int, nodeType types.NodeType, donIndex int, input *types.DeployCribDonsInput, donMetadata *types.DonMetadata, cribConfigsDirAbs string) error { + nodeIndexStr, findErr := libnode.FindLabelValue(nodeMetadata, libnode.IndexKey) + if findErr != nil { + return errors.Wrapf(findErr, "failed to find node index for %s node %d in nodeset %s", nodeType, i, donMetadata.Name) + } + + nodeIndex, convErr := strconv.Atoi(nodeIndexStr) + if convErr != nil { + return errors.Wrapf(convErr, "failed to convert node index '%s' to int for %s node %d in nodeset %s", nodeIndexStr, nodeType, i, donMetadata.Name) + } + + cleanedToml, tomlErr := cleanToml(input.NodeSetInputs[donIndex].NodeSpecs[nodeIndex].Node.TestConfigOverrides) + if tomlErr != nil { + return errors.Wrap(tomlErr, "failed to clean TOML") + } + + configFileMask := "config-override-bt-%d.toml" + secretsFileMask := "secrets-override-bt-%d.toml" + + if nodeType != types.BootstrapNode { + configFileMask = "config-override-%d.toml" + secretsFileMask = "secrets-override-%d.toml" + } + + writeErr := os.WriteFile(filepath.Join(cribConfigsDirAbs, fmt.Sprintf(configFileMask, i)), cleanedToml, 0600) + if writeErr != nil { + return errors.Wrapf(writeErr, "failed to write config override for bootstrap node %d to file", i) + } + + writeErr = os.WriteFile(filepath.Join(cribConfigsDirAbs, fmt.Sprintf(secretsFileMask, i)), []byte(input.NodeSetInputs[donIndex].NodeSpecs[nodeIndex].Node.TestSecretsOverrides), 0600) + if writeErr != nil { + return errors.Wrapf(writeErr, "failed to write secrets override for bootstrap node %d to file", i) + } + + return nil +} + +// note: for now we don't need to set capabilities (high complexity, low impact) we'll rely on plugins image which contains all required capabilities +func setCapabilities(input *types.DeployCribDonsInput, donIndex int, workerNodes []*types.NodeMetadata) error { + // validate capabilities-related configuration and copy capabilities to pods + podNamePattern := input.NodeSetInputs[donIndex].Name + `-\\d+` + _, regErr := regexp.Compile(podNamePattern) + if regErr != nil { + return errors.Wrapf(regErr, "failed to compile regex for pod name pattern %s", podNamePattern) + } + + capabilitiesFound := map[string]int{} + capabilitiesDirs := []string{} + capabilitiesDirsFound := map[string]int{} + + // make sure all worker nodes in DON have the same set of capabilities + // in the future we might want to allow different capabilities for different nodes + // but for now we require all worker nodes in the same DON to have the same capabilities + for _, nodeSpec := range input.NodeSetInputs[donIndex].NodeSpecs { + for _, capabilityBinaryPath := range nodeSpec.Node.CapabilitiesBinaryPaths { + capabilitiesFound[capabilityBinaryPath]++ } - destinationDir, err := crecaps.DefaultContainerDirectory(libtypes.CRIB) - if err != nil { - return nil, errors.Wrap(err, "failed to get default directory for capabilities in CRIB") + if nodeSpec.Node.CapabilityContainerDir != "" { + capabilitiesDirs = append(capabilitiesDirs, nodeSpec.Node.CapabilityContainerDir) + capabilitiesDirsFound[nodeSpec.Node.CapabilityContainerDir]++ } + } - // all of them need to use the same capabilities directory inside the container - if len(capabilitiesDirs) > 1 { - for capabilityDir, count := range capabilitiesDirsFound { - if count != len(workerNodes) { - return nil, fmt.Errorf("the same capability container dir %s wasn't defined for all worker nodes in nodeset %s. All worker nodes in the same nodeset must have the same capability container dir", capabilityDir, input.NodeSetInputs[j].Name) - } - } - destinationDir = capabilitiesDirs[0] + for capability, count := range capabilitiesFound { + // we only care about worker nodes, because bootstrap nodes cannot execute any workflows, so they don't need capabilities + if count != len(workerNodes) { + return fmt.Errorf("capability %s wasn't defined for all worker nodes in nodeset %s. All worker nodes in the same nodeset must have the same capabilities", capability, input.NodeSetInputs[donIndex].Name) } + } - for capability := range capabilitiesFound { - absSource, pathErr := filepath.Abs(capability) - if err != nil { - return nil, errors.Wrapf(pathErr, "failed to get absolute path to capability %s", capability) - } - // ensure +x chmod in capability binary before copying to pods - err := os.Chmod(capability, 0755) - if err != nil { - return nil, errors.Wrapf(err, "failed to chmod capability %s", capability) - } - destination := filepath.Join(destinationDir, filepath.Base(capability)) - _, copyErr := input.NixShell.RunCommand(fmt.Sprintf("devspace run copy-to-pods --no-warn --var POD_NAME_PATTERN=%s --var SOURCE=%s --var DESTINATION=%s", podNamePattern, absSource, destination)) - if copyErr != nil { - return nil, errors.Wrap(copyErr, "failed to copy capability to pods") + destinationDir, err := crecaps.DefaultContainerDirectory(libtypes.CRIB) + if err != nil { + return errors.Wrap(err, "failed to get default directory for capabilities in CRIB") + } + + // all of them need to use the same capabilities directory inside the container + if len(capabilitiesDirs) > 1 { + for capabilityDir, count := range capabilitiesDirsFound { + if count != len(workerNodes) { + return fmt.Errorf("the same capability container dir %s wasn't defined for all worker nodes in nodeset %s. All worker nodes in the same nodeset must have the same capability container dir", capabilityDir, input.NodeSetInputs[donIndex].Name) } } + destinationDir = capabilitiesDirs[0] + } - nsOutput, err := infra.ReadNodeSetURL(filepath.Join(".", input.CribConfigsDir), donMetadata) + for capability := range capabilitiesFound { + absSource, pathErr := filepath.Abs(capability) + if pathErr != nil { + return errors.Wrapf(pathErr, "failed to get absolute path to capability %s", capability) + } + // ensure +x chmod in capability binary before copying to pods + err := os.Chmod(capability, 0755) if err != nil { - return nil, errors.Wrap(err, "failed to read node set URLs from file") + return errors.Wrapf(err, "failed to chmod capability %s", capability) + } + destination := filepath.Join(destinationDir, filepath.Base(capability)) + _, copyErr := input.NixShell.RunCommand(fmt.Sprintf("devspace run copy-to-pods --no-warn --var POD_NAME_PATTERN=%s --var SOURCE=%s --var DESTINATION=%s", podNamePattern, absSource, destination)) + if copyErr != nil { + return errors.Wrap(copyErr, "failed to copy capability to pods") } - - input.NodeSetInputs[j].Out = nsOutput } - - return input.NodeSetInputs, nil + return nil } func imageNameAndTag(input *types.DeployCribDonsInput, j int) (string, string, error) { @@ -313,56 +304,6 @@ func cleanToml(tomlStr string) ([]byte, error) { return newTOMLBytes, nil } -// todo: after it's done it will replace DeployDonsCrib -func DeployDonsWithCribSDK(input *types.DeployCribDonsInput) ([]*types.CapabilitiesAwareNodeSet, error) { - if input == nil { - return nil, errors.New("DeployCribDonsInput is nil") - } - - if valErr := input.Validate(); valErr != nil { - return nil, errors.Wrap(valErr, "input validation failed") - } - - // component funcs with all nodes from all nodesets - componentFuncs := make([]crib.ComponentFunc, 0) - - for j, donMetadata := range input.Topology.DonsMetadata { - nodesCount := len(input.NodeSetInputs[j].NodeSpecs) - - imageName, imageTag, err := imageNameAndTag(input, j) - if err != nil { - return nil, errors.Wrapf(err, "failed to get image name and tag for %s", donMetadata.Name) - } - - for i := 0; i < nodesCount; i++ { - component := nodev1.Component(&nodev1.Props{ - Image: fmt.Sprintf("%s:%s", imageName, imageTag), - ReleaseName: fmt.Sprintf("%s-%d", donMetadata.Name, i), - // todo: set remaining fields based on the input - }) - componentFuncs = append(componentFuncs, component) - } - } - - plan := crib.NewPlan( - "dons", - crib.Namespace(input.Namespace), - crib.ComponentSet( - componentFuncs..., - ), - ) - - planState, err := plan.Apply(context.Background()) - if err != nil { - return nil, errors.Wrap(err, "failed to apply plan") - } - - // todo: set outputs basd on the plan results - planState.ComponentByName("todo") - - return input.NodeSetInputs, nil -} - func DeployJd(input *types.DeployCribJdInput) (*jd.Output, error) { if input == nil { return nil, errors.New("DeployCribJdInput is nil") diff --git a/system-tests/lib/cre/crib/crib_v2.go b/system-tests/lib/cre/crib/crib_v2.go new file mode 100644 index 00000000000..4a8b8bd347f --- /dev/null +++ b/system-tests/lib/cre/crib/crib_v2.go @@ -0,0 +1,143 @@ +package crib + +import ( + "context" + "fmt" + "github.com/pkg/errors" + "github.com/smartcontractkit/chainlink-testing-framework/framework/components/blockchain" + "github.com/smartcontractkit/chainlink/system-tests/lib/cre/types" + libtypes "github.com/smartcontractkit/chainlink/system-tests/lib/types" + "github.com/smartcontractkit/crib-sdk/crib" + anvilv1 "github.com/smartcontractkit/crib-sdk/crib/composite/anvil/v1" + nodev1 "github.com/smartcontractkit/crib-sdk/crib/composite/chainlink/node/v1" + namespacev1 "github.com/smartcontractkit/crib-sdk/crib/scalar/k8s/namespace/v1" +) + +func Bootstrap(infraInput *libtypes.InfraInput) error { + plan := crib.NewPlan( + "namespace", + crib.Namespace(infraInput.CRIB.Namespace), + crib.ComponentSet( + namespacev1.Component(infraInput.CRIB.Namespace), + // todo: add telepresence install here for now + ), + ) + _, err := plan.Apply(context.Background()) + if err != nil { + return errors.Wrap(err, "failed to apply plan") + } + + return nil +} + +func DeployBlockchain(input *types.DeployCribBlockchainInput) (*blockchain.Output, error) { + err := input.Validate() + if err != nil { + return nil, errors.Wrapf(err, "invalid input for deploying blockchain") + } + + ctx := context.Background() + + anvil := anvilv1.Component(&anvilv1.Props{ + Namespace: input.Namespace, + ChainID: input.BlockchainInput.ChainID, + }) + + plan := crib.NewPlan( + "anvilv1", + crib.Namespace(input.Namespace), + crib.ComponentSet( + anvil, + ), + ) + + result, err := plan.Apply(ctx) + if err != nil { + return nil, errors.Wrap(err, "failed to apply a plan") + } + + anvilComponents := result.ComponentByName("sdk.AnvilCompositeV1") + + for component := range anvilComponents { + res := crib.ComponentState[anvilv1.Result](component) + + return &blockchain.Output{ + Type: input.BlockchainInput.Type, + Family: "evm", + ChainID: input.BlockchainInput.ChainID, + Nodes: []*blockchain.Node{ + { + InternalWSUrl: res.RPCWebsocketURL(), + ExternalWSUrl: res.RPCWebsocketURL(), + InternalHTTPUrl: res.RPCHTTPURL(), + ExternalHTTPUrl: res.RPCHTTPURL(), + }, + }, + }, nil + } + + return nil, errors.New("failed to find a valid component") + +} + +// todo: after it's done it will replace DeployDonsCrib +func DeployDonsWithCribSDK(input *types.DeployCribDonsInput) ([]*types.CapabilitiesAwareNodeSet, error) { + if input == nil { + return nil, errors.New("DeployCribDonsInput is nil") + } + + if valErr := input.Validate(); valErr != nil { + return nil, errors.Wrap(valErr, "input validation failed") + } + + // component funcs with all nodes from all nodesets + componentFuncs := make([]crib.ComponentFunc, 0) + + for j, donMetadata := range input.Topology.DonsMetadata { + + imageName, imageTag, err := imageNameAndTag(input, j) + if err != nil { + return nil, errors.Wrapf(err, "failed to get image name and tag for %s", donMetadata.Name) + } + + for i, nodeMetadata := range donMetadata.NodesMetadata { + configToml, secrets, confSecretsErr := getConfigAndSecretsForNode(nodeMetadata, j, input, donMetadata) + if confSecretsErr != nil { + return nil, confSecretsErr + } + component := nodev1.Component(&nodev1.Props{ + Image: fmt.Sprintf("%s:%s", imageName, imageTag), + ReleaseName: fmt.Sprintf("%s-%d", donMetadata.Name, i), + // passing as config not as override + Config: *configToml, + SecretsOverrides: map[string]string{ + "overrides": *secrets, + }, + }) + componentFuncs = append(componentFuncs, component) + } + } + + plan := crib.NewPlan( + "dons", + crib.Namespace(input.Namespace), + crib.ComponentSet( + componentFuncs..., + ), + ) + + planState, err := plan.Apply(context.Background()) + if err != nil { + return nil, errors.Wrap(err, "failed to apply plan") + } + + // todo: set outputs basd on the plan results + nodeComponents := planState.ComponentByName(nodev1.ComponentName) + + for component := range nodeComponents { + res := crib.ComponentState[nodev1.Result](component) + fmt.Printf("result: %v\n", res) + } + + return input.NodeSetInputs, nil +} diff --git a/system-tests/lib/cre/crib/v2/crib.go b/system-tests/lib/cre/crib/v2/crib.go deleted file mode 100644 index 0d0dbeef7df..00000000000 --- a/system-tests/lib/cre/crib/v2/crib.go +++ /dev/null @@ -1,119 +0,0 @@ -package cribv2 - -import ( - "context" - "github.com/pkg/errors" - "github.com/smartcontractkit/chainlink-testing-framework/framework/components/blockchain" - "github.com/smartcontractkit/chainlink/system-tests/lib/cre/types" - libtypes "github.com/smartcontractkit/chainlink/system-tests/lib/types" - "github.com/smartcontractkit/crib-sdk/crib" - anvilv1 "github.com/smartcontractkit/crib-sdk/crib/composite/anvil/v1" - namespacev1 "github.com/smartcontractkit/crib-sdk/crib/scalar/k8s/namespace/v1" -) - -func Bootstrap(infraInput *libtypes.InfraInput) error { - plan := crib.NewPlan( - "namespace", - crib.Namespace(infraInput.CRIB.Namespace), - crib.ComponentSet( - namespacev1.Component(infraInput.CRIB.Namespace), - // todo: add telepresence install here for now - ), - ) - _, err := plan.Apply(context.Background()) - if err != nil { - return errors.Wrap(err, "failed to apply plan") - } - - return nil -} - -func DeployBlockchain(input *types.DeployCribBlockchainInput) (*blockchain.Output, error) { - err := input.Validate() - if err != nil { - return nil, errors.Wrapf(err, "invalid input for deploying blockchain") - } - - ctx := context.Background() - - anvil := anvilv1.Component(&anvilv1.Props{ - Namespace: input.Namespace, - ChainID: input.BlockchainInput.ChainID, - }) - - plan := crib.NewPlan( - "anvilv1", - crib.Namespace(input.Namespace), - crib.ComponentSet( - anvil, - ), - ) - - result, err := plan.Apply(ctx) - if err != nil { - return nil, errors.Wrap(err, "failed to apply a plan") - } - - anvilComponents := result.ComponentByName("sdk.AnvilCompositeV1") - - for component := range anvilComponents { - res := crib.ComponentState[anvilv1.Result](component) - - return &blockchain.Output{ - Type: input.BlockchainInput.Type, - Family: "evm", - ChainID: input.BlockchainInput.ChainID, - Nodes: []*blockchain.Node{ - { - InternalWSUrl: res.RPCWebsocketURL(), - InternalHTTPUrl: res.RPCHTTPURL(), - }, - }, - }, nil - } - - return nil, errors.New("failed to find a valid component") - -} - -func DeployDons(input *types.DeployCribDonsInput) ([]*types.CapabilitiesAwareNodeSet, error) { - - // - //nodeset := anvilv1.Component(&nodesetv1.Props{ - // Namespace: input.Namespace, - // // Requirements: - // // - image with tag - // // - config override files for bt (0-n) and worker nodes (0-n) - // // WORKFLOW_DON and GATEWAY_DON - // // 3 topologie, - // // 1) 1 Don, with one bootstrap which is also a gateway node - // // bootstrap and worker nodes are variable - // // note: impossible to do because of DON_TYPE hardcoded things in the chart - // // this the highest value, as currently it is not possible at all, it is the fastest to deploy and provide a feedback loop to dev - // // 2) workflow don - // // separate don which is just a gateway - // // 3) same as 2) plus capability DON - // - // // Copying binaries to pod, handle it later, in sandbox there is an image which has all plugins - // // it would be nice for feature parity with docker - // // low value, high complexity - // - //}) - //plan := crib.NewPlan( - // "nodesetv1", - // crib.Namespace(input.Namespace), - // crib.ComponentSet( - // nodeset, - // ), - //) - // - //if err := plan.Apply(ctx); err != nil { - // fmt.Printf("Error applying plan: %v\n", err) - //} - //fmt.Printf("Successfully applied plan: %s\n", plan.Name()) - // - //// todo, and now how to get access to the Component props? - - return make([]*types.CapabilitiesAwareNodeSet, 0), nil - -} diff --git a/system-tests/lib/cre/crib/v2/job_deployer.go b/system-tests/lib/cre/crib/v2/job_deployer.go deleted file mode 100644 index ac2acd77a29..00000000000 --- a/system-tests/lib/cre/crib/v2/job_deployer.go +++ /dev/null @@ -1,10 +0,0 @@ -package cribv2 - -//// Component returns a new Anvil composite component. -//func Component(props *crib.Props, opts ...PropOpt) crib.ComponentFunc { -// return func(ctx context.Context) (crib.Component, error) { -// // remote execution here -// // deploy jobs -// return -// } -//} diff --git a/system-tests/lib/cre/environment/environment.go b/system-tests/lib/cre/environment/environment.go index fb6319315a6..c4ecc3e65b2 100644 --- a/system-tests/lib/cre/environment/environment.go +++ b/system-tests/lib/cre/environment/environment.go @@ -48,7 +48,6 @@ import ( libcaps "github.com/smartcontractkit/chainlink/system-tests/lib/cre/capabilities" libcontracts "github.com/smartcontractkit/chainlink/system-tests/lib/cre/contracts" "github.com/smartcontractkit/chainlink/system-tests/lib/cre/crib" - cribv2 "github.com/smartcontractkit/chainlink/system-tests/lib/cre/crib/v2" libdevenv "github.com/smartcontractkit/chainlink/system-tests/lib/cre/devenv" libdon "github.com/smartcontractkit/chainlink/system-tests/lib/cre/don" creconfig "github.com/smartcontractkit/chainlink/system-tests/lib/cre/don/config" @@ -124,7 +123,7 @@ func SetupTestEnvironment( return nil, pkgerrors.Wrap(nixErr, "failed to start nix shell") } // In CRIB v2 we no longer rely on devspace to create a namespace so we need to do it before deploying - err := cribv2.Bootstrap(&input.InfraInput) + err := crib.Bootstrap(&input.InfraInput) if err != nil { return nil, pkgerrors.Wrap(err, "failed to create namespace") } @@ -506,10 +505,10 @@ func SetupTestEnvironment( CribConfigsDir: cribConfigsDir, } - var devspaceErr error - input.CapabilitiesAwareNodeSets, devspaceErr = crib.DeployDons(deployCribDonsInput) - if devspaceErr != nil { - return nil, pkgerrors.Wrap(devspaceErr, "failed to deploy Dons with devspace") + var cribErr error + input.CapabilitiesAwareNodeSets, cribErr = crib.DeployDonsWithCribSDK(deployCribDonsInput) + if cribErr != nil { + return nil, pkgerrors.Wrap(cribErr, "failed to deploy Dons with devspace") } } @@ -794,12 +793,12 @@ func CreateBlockchains( CribConfigsDir: cribConfigsDir, Namespace: input.infra.CRIB.Namespace, } - bcOut, bcErr = cribv2.DeployBlockchain(deployCribBlockchainInput) + bcOut, bcErr = crib.DeployBlockchain(deployCribBlockchainInput) if bcErr != nil { return nil, pkgerrors.Wrap(bcErr, "failed to deploy blockchain") } // todo: replace with internal URL call, once telepresence is set up - err := libinfra.WaitForRPCEndpoint(testLogger, bcOut.Nodes[0].ExternalHTTPUrl, 10*time.Minute) + err := libinfra.WaitForRPCEndpoint(testLogger, bcOut.Nodes[0].InternalWSUrl, 10*time.Minute) if err != nil { return nil, pkgerrors.Wrap(err, "RPC endpoint is not available") } diff --git a/system-tests/lib/go.mod b/system-tests/lib/go.mod index edfe1f1c9c4..ce8a49b5f5c 100644 --- a/system-tests/lib/go.mod +++ b/system-tests/lib/go.mod @@ -110,7 +110,7 @@ require ( github.com/bytedance/sonic v1.12.3 // indirect github.com/bytedance/sonic/loader v0.2.0 // indirect github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.74 // indirect - github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.7 // indirect + github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.8 // indirect github.com/cenkalti/backoff v2.2.1+incompatible // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect @@ -421,6 +421,7 @@ require ( github.com/xlab/treeprint v1.2.0 // indirect github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 // indirect github.com/xssnick/tonutils-go v1.13.0 // indirect + github.com/yuin/goldmark v1.7.12 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect github.com/zeebo/xxh3 v1.0.2 // indirect github.com/zksync-sdk/zksync2-go v1.1.1-0.20250620124214-2c742ee399c6 // indirect @@ -459,6 +460,7 @@ require ( golang.org/x/arch v0.11.0 // indirect golang.org/x/crypto v0.39.0 // indirect golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 // indirect + golang.org/x/lint v0.0.0-20241112194109-818c5a804067 // indirect golang.org/x/mod v0.25.0 // indirect golang.org/x/net v0.41.0 // indirect golang.org/x/oauth2 v0.27.0 // indirect diff --git a/system-tests/lib/go.sum b/system-tests/lib/go.sum index 4a3d692d6cc..a118f666b4f 100644 --- a/system-tests/lib/go.sum +++ b/system-tests/lib/go.sum @@ -54,8 +54,7 @@ cosmossdk.io/store v1.1.1 h1:NA3PioJtWDVU7cHHeyvdva5J/ggyLDkyH0hGHl2804Y= cosmossdk.io/store v1.1.1/go.mod h1:8DwVTz83/2PSI366FERGbWSH7hL6sB7HbYp8bqksNwM= cosmossdk.io/x/tx v0.13.7 h1:8WSk6B/OHJLYjiZeMKhq7DK7lHDMyK0UfDbBMxVmeOI= cosmossdk.io/x/tx v0.13.7/go.mod h1:V6DImnwJMTq5qFjeGWpXNiT/fjgE4HtmclRmTqRVM3w= -dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s= -dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= +dario.cat/mergo v1.0.2 h1:85+piFYR1tMbRrLcDwR18y4UKJ3aH1Tbzi24VRW1TK8= dario.cat/mergo v1.0.2/go.mod h1:E/hbnu0NxMFBjpMIE34DRGLWqDy0g5FuKDhCb31ngxA= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= @@ -198,8 +197,8 @@ github.com/blendle/zapdriver v1.3.1 h1:C3dydBOWYRiOk+B8X9IVZ5IOe+7cl+tGOexN4QqHf github.com/blendle/zapdriver v1.3.1/go.mod h1:mdXfREi6u5MArG4j9fewC+FGnXaBR+T4Ox4J2u4eHCc= github.com/block-vision/sui-go-sdk v1.0.6 h1:FysCc4TJC8v4BEBbCjJPDR4iR5eKqJT1dxGwsT67etg= github.com/block-vision/sui-go-sdk v1.0.6/go.mod h1:FyK1vGE8lWm9QA1fdQpf1agfXQSMbPT8AV1BICgx6d8= -github.com/brianvoe/gofakeit/v7 v7.2.1 h1:AGojgaaCdgq4Adzrd2uWdbGNDyX6MWNhHdQBraNfOHI= -github.com/brianvoe/gofakeit/v7 v7.2.1/go.mod h1:QXuPeBw164PJCzCUZVmgpgHJ3Llj49jSLVkKPMtxtxA= +github.com/brianvoe/gofakeit/v7 v7.3.0 h1:TWStf7/lLpAjKw+bqwzeORo9jvrxToWEwp9b1J2vApQ= +github.com/brianvoe/gofakeit/v7 v7.3.0/go.mod h1:QXuPeBw164PJCzCUZVmgpgHJ3Llj49jSLVkKPMtxtxA= github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= github.com/btcsuite/btcd v0.22.0-beta.0.20220111032746-97732e52810c/go.mod h1:tjmYdS6MLJ5/s0Fj4DbLgSbDHbEqLJrtnHecBFkdz5M= github.com/btcsuite/btcd v0.23.5-0.20231215221805-96c9fd8078fd/go.mod h1:nm3Bko6zh6bWP60UxwoT5LzdGJsQJaPo6HjduXq9p6A= @@ -245,12 +244,10 @@ github.com/bytedance/sonic v1.12.3/go.mod h1:B8Gt/XvtZ3Fqj+iSKMypzymZxw/FVwgIGKz github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= github.com/bytedance/sonic/loader v0.2.0 h1:zNprn+lsIP06C/IqCHs3gPQIvnvpKbbxyXQP1iU4kWM= github.com/bytedance/sonic/loader v0.2.0/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= -github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.73 h1:8DD5JI0T5tb9jKFWvQwXV0tZdrSVWv+p1WGKTXznN0s= -github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.73/go.mod h1:JFGcyqRE2qXgHsBw27/L0D1uEJtLhUm2Vqx4dFOHSzA= +github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.74 h1:bEcaS0Vqt1urlk2vrI0NN/2iu0yjeU+O3bPQCnbD+Qw= github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.74/go.mod h1:JFGcyqRE2qXgHsBw27/L0D1uEJtLhUm2Vqx4dFOHSzA= -github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.6 h1:lrg95282nlRQ5WmJdpZWM0BiYrY4blu+NsXGHFeFVkM= -github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.6/go.mod h1:8oqg/vflmZjILCuV1ffX/wKcHo886Z8D+CYiEH7vvXk= -github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.7/go.mod h1:gJ0mPHXXdG3Do/pp+cum2igViikdjPUZWzzwtnJvzQ4= +github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.8 h1:vtT/G9hb1fstaeS52wcSYDKmZY0qExoroP5lhiFQe8U= +github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.8/go.mod h1:7uUKWwq8GOkVQFkVH9ymTajphRFJM6HeHhIQ3S/tFJw= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= @@ -456,8 +453,7 @@ github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/ github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E= github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ= -github.com/gabriel-vasile/mimetype v1.4.8 h1:FfZ3gj38NjllZIeJAmMhr+qKL8Wu+nOoI3GqacKw1NM= -github.com/gabriel-vasile/mimetype v1.4.8/go.mod h1:ByKUIKGjh1ODkGM1asKUbQZOLGrPjydw3hYPU2YU9t8= +github.com/gabriel-vasile/mimetype v1.4.9 h1:5k+WDwEsD9eTLL8Tz3L0VnmVh9QxGjRmjBvAG7U/oYY= github.com/gabriel-vasile/mimetype v1.4.9/go.mod h1:WnSQhFKJuBlRyLiKohA/2DtIlPFAbguNaG7QCHcyGok= github.com/gagliardetto/binary v0.8.0 h1:U9ahc45v9HW0d15LoN++vIXSJyqR/pWw8DDlhd7zvxg= github.com/gagliardetto/binary v0.8.0/go.mod h1:2tfj51g5o9dnvsc+fL3Jxr22MuWzYXwx9wEoN0XQ7/c= @@ -1191,8 +1187,7 @@ github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzG github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= -github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= -github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= +github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= @@ -1213,8 +1208,7 @@ github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6ke github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4= github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= -github.com/samber/lo v1.50.0 h1:XrG0xOeHs+4FQ8gJR97zDz5uOFMW7OwFWiFVzqopKgY= -github.com/samber/lo v1.50.0/go.mod h1:RjZyNk6WSnUFRKK6EyOhsRJMqft3G+pg7dCWHQCWvsc= +github.com/samber/lo v1.51.0 h1:kysRYLbHy/MB7kQZf5DSN50JHmMsNEdeY24VzJFu7wI= github.com/samber/lo v1.51.0/go.mod h1:4+MXEGsJzbKGaUEQFKBq2xtfuznW9oz/WrgyzMzRoM0= github.com/sanity-io/litter v1.5.5 h1:iE+sBxPBzoK6uaEP5Lt3fHNgpKcHXc/A2HGETy0uJQo= github.com/sanity-io/litter v1.5.5/go.mod h1:9gzJgR2i4ZpjZHsKvUXIRQVk7P+yM3e+jAF7bU2UI5U= @@ -1340,8 +1334,7 @@ github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z github.com/spf13/afero v1.12.0 h1:UcOPyRBYczmFn6yvphxkn9ZEOY65cpwGKb5mL36mrqs= github.com/spf13/afero v1.12.0/go.mod h1:ZTlWwG4/ahT8W7T0WQ5uYmjI9duaLQGy3Q2OAl4sk/4= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y= -github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= +github.com/spf13/cast v1.9.2 h1:SsGfm7M8QOFtEzumm7UZrZdLLquNdzFYfIbEXntcFbE= github.com/spf13/cast v1.9.2/go.mod h1:jNfB8QC9IA6ZuY2ZjDp0KtFO2LZZlg4S/7bzP6qqeHo= github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo= @@ -1458,8 +1451,8 @@ github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -github.com/yuin/goldmark v1.6.0 h1:boZcn2GTjpsynOsC0iJHnBWa4Bi0qzfJjthwauItG68= -github.com/yuin/goldmark v1.6.0/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +github.com/yuin/goldmark v1.7.12 h1:YwGP/rrea2/CnCtUHgjuolG/PnMxdQtPMO5PvaE2/nY= +github.com/yuin/goldmark v1.7.12/go.mod h1:ip/1k0VRfGynBgxOz0yCqHrbZXhcjxyuS66Brc7iBKg= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ= @@ -1597,8 +1590,7 @@ golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliY golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.20.0/go.mod h1:Xwo95rrVNIoSMx9wa1JroENMToLWn3RNVrTBpLHgZPQ= -golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8= -golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw= +golang.org/x/crypto v0.39.0 h1:SHs+kF4LP+f+p14esP5jAoDpHU8Gu/v9lFRK6IT5imM= golang.org/x/crypto v0.39.0/go.mod h1:L+Xg3Wf6HoL4Bn4238Z6ft6KfEpN0tJGo53AAPC632U= 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= @@ -1625,8 +1617,9 @@ golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRu golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 h1:VLliZ0d+/avPrXXH+OakdXhpJuEoBZuwh1m2j7U6Iug= golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20241112194109-818c5a804067 h1:adDmSQyFTCiv19j015EGKJBoaa7ElV0Q1Wovb/4G7NA= +golang.org/x/lint v0.0.0-20241112194109-818c5a804067/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= @@ -1641,8 +1634,7 @@ golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU= -golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= +golang.org/x/mod v0.25.0 h1:n7a+ZbQKQA/Ysbyb0/6IbB1H/X41mKgbhfv7AfG/44w= golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1701,8 +1693,7 @@ golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY= -golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds= +golang.org/x/net v0.41.0 h1:vBTly1HeNPEn3wtREYfy4GZ/NECgw2Cnl+nK6Nz3uvw= golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA= 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= @@ -1731,8 +1722,7 @@ golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ= -golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.15.0 h1:KWH3jNZsfyT6xfAfKiz6MRNmd46ByHDYaZ7KSkCtdW8= golang.org/x/sync v0.15.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1853,8 +1843,7 @@ golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4= -golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA= +golang.org/x/text v0.26.0 h1:P42AVeLghgTYr4+xUnTRKDMqpar+PtX7KWuNQL21L8M= golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA= 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= @@ -1923,8 +1912,7 @@ golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= -golang.org/x/tools v0.33.0 h1:4qz2S3zmRxbGIhDIAgjxvFutSvH5EfnsYrRBj0UI0bc= -golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI= +golang.org/x/tools v0.34.0 h1:qIpSLOxeCYGg9TrcJokLBG4KFA6d795g0xkBkiESGlo= golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= From 015fda6954fbf242fa0bddabbf441fd45a8133a2 Mon Sep 17 00:00:00 2001 From: Radek Scheibinger Date: Wed, 2 Jul 2025 16:25:03 +0200 Subject: [PATCH 09/37] fix anvil component name --- system-tests/lib/cre/crib/crib_v2.go | 40 +++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/system-tests/lib/cre/crib/crib_v2.go b/system-tests/lib/cre/crib/crib_v2.go index 4a8b8bd347f..5d18fb50f32 100644 --- a/system-tests/lib/cre/crib/crib_v2.go +++ b/system-tests/lib/cre/crib/crib_v2.go @@ -5,12 +5,16 @@ import ( "fmt" "github.com/pkg/errors" "github.com/smartcontractkit/chainlink-testing-framework/framework/components/blockchain" + "github.com/smartcontractkit/chainlink-testing-framework/framework/components/jd" "github.com/smartcontractkit/chainlink/system-tests/lib/cre/types" + "github.com/smartcontractkit/chainlink/system-tests/lib/infra" libtypes "github.com/smartcontractkit/chainlink/system-tests/lib/types" "github.com/smartcontractkit/crib-sdk/crib" anvilv1 "github.com/smartcontractkit/crib-sdk/crib/composite/anvil/v1" + jdv1 "github.com/smartcontractkit/crib-sdk/crib/composite/chainlink/jd/v1" nodev1 "github.com/smartcontractkit/crib-sdk/crib/composite/chainlink/node/v1" namespacev1 "github.com/smartcontractkit/crib-sdk/crib/scalar/k8s/namespace/v1" + "path/filepath" ) func Bootstrap(infraInput *libtypes.InfraInput) error { @@ -56,7 +60,7 @@ func DeployBlockchain(input *types.DeployCribBlockchainInput) (*blockchain.Outpu return nil, errors.Wrap(err, "failed to apply a plan") } - anvilComponents := result.ComponentByName("sdk.AnvilCompositeV1") + anvilComponents := result.ComponentByName(anvilv1.ComponentName) for component := range anvilComponents { res := crib.ComponentState[anvilv1.Result](component) @@ -77,7 +81,41 @@ func DeployBlockchain(input *types.DeployCribBlockchainInput) (*blockchain.Outpu } return nil, errors.New("failed to find a valid component") +} + +func DeployJdWithCRIBSDK(input *types.DeployCribJdInput) (*jd.Output, error) { + if input == nil { + return nil, errors.New("DeployCribJdInput is nil") + } + + if valErr := input.Validate(); valErr != nil { + return nil, errors.Wrap(valErr, "input validation failed") + } + + imgTagIndex, err := dockerImageTag(input.JDInput.Image) + if err != nil { + return nil, errors.Wrap(err, "failed to get image tag") + } + + jdv1.Component(&jdv1.Props{ + JD: jdv1.JDProps{}, + DB: jdv1.DBProps{}, + }) + + jdEnvVars := map[string]string{ + "JOB_DISTRIBUTOR_IMAGE_TAG": imgTagIndex, + } + _, err = input.NixShell.RunCommandWithEnvVars("devspace run deploy-jd --no-warn", jdEnvVars) + if err != nil { + return nil, errors.Wrap(err, "failed to run devspace run deploy-jd") + } + + jdOut, err := infra.ReadJdURL(filepath.Join(".", input.CribConfigsDir)) + if err != nil { + return nil, errors.Wrap(err, "failed to read JD URL from file") + } + return jdOut, nil } // todo: after it's done it will replace DeployDonsCrib From 2eadf60b91d8445ab2266ff3b1091b0fe88cabb6 Mon Sep 17 00:00:00 2001 From: Radek Scheibinger Date: Thu, 3 Jul 2025 17:16:22 +0200 Subject: [PATCH 10/37] update api --- system-tests/lib/cre/crib/crib_v2.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/system-tests/lib/cre/crib/crib_v2.go b/system-tests/lib/cre/crib/crib_v2.go index 5d18fb50f32..08b71112bda 100644 --- a/system-tests/lib/cre/crib/crib_v2.go +++ b/system-tests/lib/cre/crib/crib_v2.go @@ -98,8 +98,11 @@ func DeployJdWithCRIBSDK(input *types.DeployCribJdInput) (*jd.Output, error) { } jdv1.Component(&jdv1.Props{ - JD: jdv1.JDProps{}, - DB: jdv1.DBProps{}, + JD: jdv1.JDProps{ + Image: input.JDInput.Image, + CSAEncryptionKey: input.JDInput.CSAEncryptionKey, + }, + WaitForRollout: true, }) jdEnvVars := map[string]string{ From 9814b4b91a8cd949fe496dd4d725fff829bea2be Mon Sep 17 00:00:00 2001 From: Radek Scheibinger Date: Fri, 4 Jul 2025 13:03:16 +0200 Subject: [PATCH 11/37] jd is working now --- core/scripts/cre/environment/.tool-versions | 1 + .../environment/configs/single-don-crib.toml | 46 +++++++++++++++++++ core/scripts/go.mod | 7 +++ core/scripts/go.sum | 16 +++++++ system-tests/lib/cre/crib/crib_v2.go | 46 +++++++++++-------- .../lib/cre/environment/environment.go | 5 +- system-tests/lib/cre/types/keystone.go | 1 + 7 files changed, 102 insertions(+), 20 deletions(-) create mode 100644 core/scripts/cre/environment/.tool-versions create mode 100644 core/scripts/cre/environment/configs/single-don-crib.toml diff --git a/core/scripts/cre/environment/.tool-versions b/core/scripts/cre/environment/.tool-versions new file mode 100644 index 00000000000..421e398dffd --- /dev/null +++ b/core/scripts/cre/environment/.tool-versions @@ -0,0 +1 @@ +helm 3.17.3 \ No newline at end of file diff --git a/core/scripts/cre/environment/configs/single-don-crib.toml b/core/scripts/cre/environment/configs/single-don-crib.toml new file mode 100644 index 00000000000..f10b43f1c35 --- /dev/null +++ b/core/scripts/cre/environment/configs/single-don-crib.toml @@ -0,0 +1,46 @@ +[[blockchains]] + chain_id = "1337" + docker_cmd_params = ["-b", "5"] + type = "anvil" + +[infra] + type = "crib" + + [infra.crib] + folder_location = "/your/absolute/path/to/crib/deployments/cre" + namespace = "crib-local" + provider = "kind" + + # Fields below are required, check guidelines.md for details + # [infra.crib.team_input] + # team = "your-team" + # product = "product-name" + # component = "crib" + # cost_center = "crib" + +[jd] + csa_encryption_key = "d1093c0060d50a3c89c189b2e485da5a3ce57f3dcb38ab7e2c0d5f0bb2314a44" + image = "localhost:5001/job-distributor:0.12.7" + +[[nodesets]] + http_port_range_start = 10100 + name = "workflow" + nodes = 5 + override_mode = "all" + + [nodesets.db] + image = "postgres:12.0" + port = 13000 + + [[nodesets.node_specs]] + + [nodesets.node_specs.node] + image = "localhost:5001/chainlink:nightly-20250624-plugins" + user_config_overrides = """ + [Log] + Level = 'debug' + JSONConsole = true + """ + + [nodesets.node_specs.node.env_vars] + CL_EVM_CMD = "" diff --git a/core/scripts/go.mod b/core/scripts/go.mod index 79779f50a18..59e418aa220 100644 --- a/core/scripts/go.mod +++ b/core/scripts/go.mod @@ -87,6 +87,8 @@ require ( github.com/Depado/ginprom v1.8.0 // indirect github.com/Khan/genqlient v0.7.0 // indirect github.com/MakeNowJust/heredoc v1.0.0 // indirect + github.com/Masterminds/goutils v1.1.1 // indirect + github.com/Masterminds/sprig/v3 v3.3.0 // indirect github.com/Microsoft/go-winio v0.6.2 // indirect github.com/NethermindEth/juno v0.12.5 // indirect github.com/NethermindEth/starknet.go v0.8.0 // indirect @@ -126,6 +128,7 @@ require ( github.com/blang/semver/v4 v4.0.0 // indirect github.com/blendle/zapdriver v1.3.1 // indirect github.com/block-vision/sui-go-sdk v1.0.6 // indirect + github.com/brianvoe/gofakeit/v7 v7.3.0 // indirect github.com/btcsuite/btcd v0.24.2 // indirect github.com/btcsuite/btcd/btcec/v2 v2.3.4 // indirect github.com/btcsuite/btcd/btcutil v1.1.6 // indirect @@ -193,6 +196,7 @@ require ( github.com/ethereum/go-verkle v0.2.2 // indirect github.com/evanphx/json-patch/v5 v5.9.0 // indirect github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f // indirect + github.com/expr-lang/expr v1.17.5 // indirect github.com/fardream/go-bcs v0.7.0 // indirect github.com/fatih/camelcase v1.0.0 // indirect github.com/fatih/color v1.18.0 // indirect @@ -286,6 +290,7 @@ require ( github.com/holiman/billy v0.0.0-20240216141850-2abb0c79d3c4 // indirect github.com/holiman/bloomfilter/v2 v2.0.3 // indirect github.com/holiman/uint256 v1.3.2 // indirect + github.com/huandu/xstrings v1.5.0 // indirect github.com/huin/goupnp v1.3.0 // indirect github.com/iancoleman/strcase v0.3.0 // indirect github.com/imdario/mergo v0.3.16 // indirect @@ -328,12 +333,14 @@ require ( github.com/mattn/go-runewidth v0.0.16 // indirect github.com/mfridman/interpolate v0.0.2 // indirect github.com/miekg/dns v1.1.63 // indirect + github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/mitchellh/go-testing-interface v1.14.1 // indirect github.com/mitchellh/go-wordwrap v1.0.1 // indirect github.com/mitchellh/hashstructure/v2 v2.0.2 // indirect github.com/mitchellh/mapstructure v1.5.1-0.20220423185008-bf980b35cac4 // indirect github.com/mitchellh/pointerstructure v1.2.0 // indirect + github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/mmcloughlin/addchain v0.4.0 // indirect github.com/moby/docker-image-spec v1.3.1 // indirect github.com/moby/patternmatcher v0.6.0 // indirect diff --git a/core/scripts/go.sum b/core/scripts/go.sum index 229d992566f..457387dbd2a 100644 --- a/core/scripts/go.sum +++ b/core/scripts/go.sum @@ -85,9 +85,13 @@ github.com/Khan/genqlient v0.7.0 h1:GZ1meyRnzcDTK48EjqB8t3bcfYvHArCUUvgOwpz1D4w= github.com/Khan/genqlient v0.7.0/go.mod h1:HNyy3wZvuYwmW3Y7mkoQLZsa/R5n5yIRajS1kPBvSFM= github.com/MakeNowJust/heredoc v1.0.0 h1:cXCdzVdstXyiTqTvfqk9SDHpKNjxuom+DOlyEeQ4pzQ= github.com/MakeNowJust/heredoc v1.0.0/go.mod h1:mG5amYoWBHf8vpLOuehzbGGw0EHxpZZ6lCpQ4fNJ8LE= +github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI= +github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= github.com/Masterminds/semver/v3 v3.3.1 h1:QtNSWtVZ3nBfk8mAOu/B6v7FMJ+NHTIgUPi7rj+4nv4= github.com/Masterminds/semver/v3 v3.3.1/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM= +github.com/Masterminds/sprig/v3 v3.3.0 h1:mQh0Yrg1XPo6vjYXgtf5OtijNAKJRNcTdOOGZe3tPhs= +github.com/Masterminds/sprig/v3 v3.3.0/go.mod h1:Zy1iXRYNqNLUolqCpL4uhk6SHUMAOSCzdgBfDb35Lz0= github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= github.com/NethermindEth/juno v0.12.5 h1:a+KYQg8MxzNJIbbqGHq+vU9nTyuWu3acbyXxcUPUDOY= @@ -112,6 +116,10 @@ github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b h1:mimo19zliBX/vS github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b/go.mod h1:fvzegU4vN3H1qMT+8wDmzjAcDONcgo2/SZ/TyfdUOFs= github.com/alexbrainman/sspi v0.0.0-20210105120005-909beea2cc74 h1:Kk6a4nehpJ3UuJRqlA3JxYxBZEqCeOmATOvrbT4p9RA= github.com/alexbrainman/sspi v0.0.0-20210105120005-909beea2cc74/go.mod h1:cEWa1LVoE5KvSD9ONXsZrj0z6KqySlCCNKHlLzbqAt4= +github.com/alexflint/go-arg v1.5.1 h1:nBuWUCpuRy0snAG+uIJ6N0UvYxpxA0/ghA/AaHxlT8Y= +github.com/alexflint/go-arg v1.5.1/go.mod h1:A7vTJzvjoaSTypg4biM5uYNTkJ27SkNTArtYXnlqVO8= +github.com/alexflint/go-scalar v1.2.0 h1:WR7JPKkeNpnYIOfHRa7ivM21aWAdHD0gEWHCx+WQBRw= +github.com/alexflint/go-scalar v1.2.0/go.mod h1:LoFvNMqS1CPrMVltza4LvnGKhaSpc3oyLEBUZVhhS2o= github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM= github.com/allegro/bigcache v1.2.1 h1:hg1sY1raCwic3Vnsvje6TT7/pnZba83LeFck5NrFKSc= github.com/allegro/bigcache v1.2.1/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM= @@ -439,6 +447,8 @@ github.com/evanphx/json-patch/v5 v5.9.0 h1:kcBlZQbplgElYIlo/n1hJbls2z/1awpXxpRi0 github.com/evanphx/json-patch/v5 v5.9.0/go.mod h1:VNkHZ/282BpEyt/tObQO8s5CMPmYYq14uClGH4abBuQ= github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f h1:Wl78ApPPB2Wvf/TIe2xdyJxTlb6obmF18d8QdkxNDu4= github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f/go.mod h1:OSYXu++VVOHnXeitef/D8n/6y4QV8uLHSFXX4NeXMGc= +github.com/expr-lang/expr v1.17.5 h1:i1WrMvcdLF249nSNlpQZN1S6NXuW9WaOfF5tPi3aw3k= +github.com/expr-lang/expr v1.17.5/go.mod h1:8/vRC7+7HBzESEqt5kKpYXxrxkr31SaO8r40VO/1IT4= github.com/fardream/go-bcs v0.7.0 h1:4YIiCXrtUFiRT86TsvUx+tIennZBRXQCzrgt8xC2g0c= github.com/fardream/go-bcs v0.7.0/go.mod h1:UsoxhIoe2GsVexX0s5NDLIChxeb/JUbjw7IWzzgF3Xk= github.com/fatih/camelcase v1.0.0 h1:hxNvNX/xYBp0ovncs8WyWZrOrpBNub/JfaMvbURyft8= @@ -798,6 +808,8 @@ github.com/holiman/uint256 v1.3.2/go.mod h1:EOMSn4q6Nyt9P6efbI3bueV4e1b3dGlUCXei github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/huandu/skiplist v1.2.0 h1:gox56QD77HzSC0w+Ws3MH3iie755GBJU1OER3h5VsYw= github.com/huandu/skiplist v1.2.0/go.mod h1:7v3iFjLcSAzO4fN5B8dvebvo/qsfumiLiDXMrPiHF9w= +github.com/huandu/xstrings v1.5.0 h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI= +github.com/huandu/xstrings v1.5.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/huin/goupnp v1.3.0 h1:UvLUlWDNpoUdYzb2TCn+MuTWtcjXKSza2n6CBdQ0xXc= github.com/huin/goupnp v1.3.0/go.mod h1:gnGPsThkYa7bFi/KWmEysQRf48l2dvR5bxr2OFckNX8= github.com/iancoleman/strcase v0.3.0 h1:nTXanmYxhfFAMjZL34Ov6gkzEsSJZ5DbhxWjvSASxEI= @@ -1011,6 +1023,8 @@ github.com/minio/highwayhash v1.0.3/go.mod h1:GGYsuwP/fPD6Y9hMiXuapVvlIUEhFhMTh0 github.com/minio/sha256-simd v1.0.1 h1:6kaan5IFmwTNynnKKpDHe6FWHohJOHhCPchzK49dzMM= github.com/minio/sha256-simd v1.0.1/go.mod h1:Pz6AKMiUdngCLpeTL/RJY1M9rUuPMYujV5xJjtbRSN8= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= +github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= +github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= @@ -1030,6 +1044,8 @@ github.com/mitchellh/mapstructure v1.5.1-0.20220423185008-bf980b35cac4 h1:BpfhmL github.com/mitchellh/mapstructure v1.5.1-0.20220423185008-bf980b35cac4/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/pointerstructure v1.2.0 h1:O+i9nHnXS3l/9Wu7r4NrEdwA2VFTicjUEN1uBnDo34A= github.com/mitchellh/pointerstructure v1.2.0/go.mod h1:BRAsLI5zgXmw97Lf6s25bs8ohIXc3tViBH44KcwB2g4= +github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= +github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/mmcloughlin/addchain v0.4.0 h1:SobOdjm2xLj1KkXN5/n0xTIWyZA2+s99UCY1iPfkHRY= github.com/mmcloughlin/addchain v0.4.0/go.mod h1:A86O+tHqZLMNO4w6ZZ4FlVQEadcoqkyU72HC5wJ4RlU= github.com/mmcloughlin/profile v0.1.1/go.mod h1:IhHD7q1ooxgwTgjxQYkACGA77oFTDdFVejUS1/tS/qU= diff --git a/system-tests/lib/cre/crib/crib_v2.go b/system-tests/lib/cre/crib/crib_v2.go index 08b71112bda..7c7c1f600a4 100644 --- a/system-tests/lib/cre/crib/crib_v2.go +++ b/system-tests/lib/cre/crib/crib_v2.go @@ -7,14 +7,12 @@ import ( "github.com/smartcontractkit/chainlink-testing-framework/framework/components/blockchain" "github.com/smartcontractkit/chainlink-testing-framework/framework/components/jd" "github.com/smartcontractkit/chainlink/system-tests/lib/cre/types" - "github.com/smartcontractkit/chainlink/system-tests/lib/infra" libtypes "github.com/smartcontractkit/chainlink/system-tests/lib/types" "github.com/smartcontractkit/crib-sdk/crib" - anvilv1 "github.com/smartcontractkit/crib-sdk/crib/composite/anvil/v1" + anvilv1 "github.com/smartcontractkit/crib-sdk/crib/composite/blockchain/anvil/v1" jdv1 "github.com/smartcontractkit/crib-sdk/crib/composite/chainlink/jd/v1" nodev1 "github.com/smartcontractkit/crib-sdk/crib/composite/chainlink/node/v1" namespacev1 "github.com/smartcontractkit/crib-sdk/crib/scalar/k8s/namespace/v1" - "path/filepath" ) func Bootstrap(infraInput *libtypes.InfraInput) error { @@ -83,6 +81,10 @@ func DeployBlockchain(input *types.DeployCribBlockchainInput) (*blockchain.Outpu return nil, errors.New("failed to find a valid component") } +func ApplyPlanWithSingleComponent() { + // todo +} + func DeployJdWithCRIBSDK(input *types.DeployCribJdInput) (*jd.Output, error) { if input == nil { return nil, errors.New("DeployCribJdInput is nil") @@ -92,12 +94,8 @@ func DeployJdWithCRIBSDK(input *types.DeployCribJdInput) (*jd.Output, error) { return nil, errors.Wrap(valErr, "input validation failed") } - imgTagIndex, err := dockerImageTag(input.JDInput.Image) - if err != nil { - return nil, errors.Wrap(err, "failed to get image tag") - } - - jdv1.Component(&jdv1.Props{ + jdComponent := jdv1.Component(&jdv1.Props{ + Namespace: input.Namespace, JD: jdv1.JDProps{ Image: input.JDInput.Image, CSAEncryptionKey: input.JDInput.CSAEncryptionKey, @@ -105,20 +103,32 @@ func DeployJdWithCRIBSDK(input *types.DeployCribJdInput) (*jd.Output, error) { WaitForRollout: true, }) - jdEnvVars := map[string]string{ - "JOB_DISTRIBUTOR_IMAGE_TAG": imgTagIndex, - } - _, err = input.NixShell.RunCommandWithEnvVars("devspace run deploy-jd --no-warn", jdEnvVars) + plan := crib.NewPlan( + "jd", + crib.Namespace(input.Namespace), + crib.ComponentSet( + jdComponent, + ), + ) + + planState, err := plan.Apply(context.Background()) if err != nil { - return nil, errors.Wrap(err, "failed to run devspace run deploy-jd") + return nil, errors.Wrap(err, "failed to apply a plan") } - jdOut, err := infra.ReadJdURL(filepath.Join(".", input.CribConfigsDir)) - if err != nil { - return nil, errors.Wrap(err, "failed to read JD URL from file") + for component := range planState.ComponentByName(jdv1.ComponentName) { + jdResult := crib.ComponentState[jdv1.Result](component) + + out := &jd.Output{} + out.UseCache = true + out.ExternalGRPCUrl = jdResult.GRPCHostURL() + out.InternalGRPCUrl = jdResult.GRPCHostURL() + out.InternalWSRPCUrl = jdResult.WSRPCHostURL() + + return out, nil } - return jdOut, nil + return nil, errors.New("failed to find a valid jd component in results") } // todo: after it's done it will replace DeployDonsCrib diff --git a/system-tests/lib/cre/environment/environment.go b/system-tests/lib/cre/environment/environment.go index c4ecc3e65b2..15e872bdf44 100644 --- a/system-tests/lib/cre/environment/environment.go +++ b/system-tests/lib/cre/environment/environment.go @@ -463,12 +463,13 @@ func SetupTestEnvironment( JDInput: &input.JdInput, NixShell: nixShell, CribConfigsDir: cribConfigsDir, + Namespace: input.InfraInput.CRIB.Namespace, } var jdErr error - input.JdInput.Out, jdErr = crib.DeployJd(deployCribJdInput) + input.JdInput.Out, jdErr = crib.DeployJdWithCRIBSDK(deployCribJdInput) if jdErr != nil { - return nil, pkgerrors.Wrap(jdErr, "failed to deploy JD with devspace") + return nil, pkgerrors.Wrap(jdErr, "failed to deploy JD with crib-sdk") } } diff --git a/system-tests/lib/cre/types/keystone.go b/system-tests/lib/cre/types/keystone.go index 1b212dbfc0c..875861b1937 100644 --- a/system-tests/lib/cre/types/keystone.go +++ b/system-tests/lib/cre/types/keystone.go @@ -508,6 +508,7 @@ type DeployCribJdInput struct { JDInput *jd.Input NixShell *nix.Shell CribConfigsDir string + Namespace string } func (d *DeployCribJdInput) Validate() error { From 01f6c9071032088c922a66fc6afefb28cdb502de Mon Sep 17 00:00:00 2001 From: Radek Scheibinger Date: Fri, 4 Jul 2025 13:24:51 +0200 Subject: [PATCH 12/37] move functions to crib.go --- system-tests/lib/cre/crib/crib.go | 114 ++++++++++++++-- system-tests/lib/cre/crib/crib_v2.go | 122 ------------------ .../lib/cre/environment/environment.go | 2 +- 3 files changed, 102 insertions(+), 136 deletions(-) diff --git a/system-tests/lib/cre/crib/crib.go b/system-tests/lib/cre/crib/crib.go index df27418812d..6879f529b0c 100644 --- a/system-tests/lib/cre/crib/crib.go +++ b/system-tests/lib/cre/crib/crib.go @@ -1,8 +1,14 @@ package crib import ( + "context" "fmt" + "github.com/smartcontractkit/chainlink-testing-framework/framework/components/blockchain" crecaps "github.com/smartcontractkit/chainlink/system-tests/lib/cre/capabilities" + "github.com/smartcontractkit/crib-sdk/crib" + anvilv1 "github.com/smartcontractkit/crib-sdk/crib/composite/blockchain/anvil/v1" + jdv1 "github.com/smartcontractkit/crib-sdk/crib/composite/chainlink/jd/v1" + namespacev1 "github.com/smartcontractkit/crib-sdk/crib/scalar/k8s/namespace/v1" "os" "path/filepath" "regexp" @@ -71,6 +77,72 @@ func StartNixShell(input *types.StartNixShellInput) (*nix.Shell, error) { return nixShell, nil } +func Bootstrap(infraInput *libtypes.InfraInput) error { + plan := crib.NewPlan( + "namespace", + crib.Namespace(infraInput.CRIB.Namespace), + crib.ComponentSet( + namespacev1.Component(infraInput.CRIB.Namespace), + // todo: add telepresence install here for now + ), + ) + _, err := plan.Apply(context.Background()) + if err != nil { + return errors.Wrap(err, "failed to apply plan") + } + + return nil +} + +func DeployBlockchain(input *types.DeployCribBlockchainInput) (*blockchain.Output, error) { + err := input.Validate() + if err != nil { + return nil, errors.Wrapf(err, "invalid input for deploying blockchain") + } + + ctx := context.Background() + + anvil := anvilv1.Component(&anvilv1.Props{ + Namespace: input.Namespace, + ChainID: input.BlockchainInput.ChainID, + }) + + plan := crib.NewPlan( + "anvilv1", + crib.Namespace(input.Namespace), + crib.ComponentSet( + anvil, + ), + ) + + result, err := plan.Apply(ctx) + if err != nil { + return nil, errors.Wrap(err, "failed to apply a plan") + } + + anvilComponents := result.ComponentByName(anvilv1.ComponentName) + + for component := range anvilComponents { + res := crib.ComponentState[anvilv1.Result](component) + + return &blockchain.Output{ + Type: input.BlockchainInput.Type, + Family: "evm", + ChainID: input.BlockchainInput.ChainID, + Nodes: []*blockchain.Node{ + { + InternalWSUrl: res.RPCWebsocketURL(), + ExternalWSUrl: res.RPCWebsocketURL(), + InternalHTTPUrl: res.RPCHTTPURL(), + ExternalHTTPUrl: res.RPCHTTPURL(), + }, + }, + }, nil + } + + return nil, errors.New("failed to find a valid component") +} + func DeployDons(input *types.DeployCribDonsInput) ([]*types.CapabilitiesAwareNodeSet, error) { if input == nil { return nil, errors.New("DeployCribDonsInput is nil") @@ -313,25 +385,41 @@ func DeployJd(input *types.DeployCribJdInput) (*jd.Output, error) { return nil, errors.Wrap(valErr, "input validation failed") } - imgTagIndex, err := dockerImageTag(input.JDInput.Image) + jdComponent := jdv1.Component(&jdv1.Props{ + Namespace: input.Namespace, + JD: jdv1.JDProps{ + Image: input.JDInput.Image, + CSAEncryptionKey: input.JDInput.CSAEncryptionKey, + }, + WaitForRollout: true, + }) + + plan := crib.NewPlan( + "jd", + crib.Namespace(input.Namespace), + crib.ComponentSet( + jdComponent, + ), + ) + + planState, err := plan.Apply(context.Background()) if err != nil { - return nil, errors.Wrap(err, "failed to get image tag") + return nil, errors.Wrap(err, "failed to apply a plan") } - jdEnvVars := map[string]string{ - "JOB_DISTRIBUTOR_IMAGE_TAG": imgTagIndex, - } - _, err = input.NixShell.RunCommandWithEnvVars("devspace run deploy-jd --no-warn", jdEnvVars) - if err != nil { - return nil, errors.Wrap(err, "failed to run devspace run deploy-jd") - } + for component := range planState.ComponentByName(jdv1.ComponentName) { + jdResult := crib.ComponentState[jdv1.Result](component) - jdOut, err := infra.ReadJdURL(filepath.Join(".", input.CribConfigsDir)) - if err != nil { - return nil, errors.Wrap(err, "failed to read JD URL from file") + out := &jd.Output{} + out.UseCache = true + out.ExternalGRPCUrl = jdResult.GRPCHostURL() + out.InternalGRPCUrl = jdResult.GRPCHostURL() + out.InternalWSRPCUrl = jdResult.WSRPCHostURL() + + return out, nil } - return jdOut, nil + return nil, errors.New("failed to find a valid jd component in results") } func nodesetDockerImage(nodeSet *types.CapabilitiesAwareNodeSet) (string, error) { diff --git a/system-tests/lib/cre/crib/crib_v2.go b/system-tests/lib/cre/crib/crib_v2.go index 7c7c1f600a4..05822e6e4d8 100644 --- a/system-tests/lib/cre/crib/crib_v2.go +++ b/system-tests/lib/cre/crib/crib_v2.go @@ -4,133 +4,11 @@ import ( "context" "fmt" "github.com/pkg/errors" - "github.com/smartcontractkit/chainlink-testing-framework/framework/components/blockchain" - "github.com/smartcontractkit/chainlink-testing-framework/framework/components/jd" "github.com/smartcontractkit/chainlink/system-tests/lib/cre/types" - libtypes "github.com/smartcontractkit/chainlink/system-tests/lib/types" "github.com/smartcontractkit/crib-sdk/crib" - anvilv1 "github.com/smartcontractkit/crib-sdk/crib/composite/blockchain/anvil/v1" - jdv1 "github.com/smartcontractkit/crib-sdk/crib/composite/chainlink/jd/v1" nodev1 "github.com/smartcontractkit/crib-sdk/crib/composite/chainlink/node/v1" - namespacev1 "github.com/smartcontractkit/crib-sdk/crib/scalar/k8s/namespace/v1" ) -func Bootstrap(infraInput *libtypes.InfraInput) error { - plan := crib.NewPlan( - "namespace", - crib.Namespace(infraInput.CRIB.Namespace), - crib.ComponentSet( - namespacev1.Component(infraInput.CRIB.Namespace), - // todo: add telepresence install here for now - ), - ) - _, err := plan.Apply(context.Background()) - if err != nil { - return errors.Wrap(err, "failed to apply plan") - } - - return nil -} - -func DeployBlockchain(input *types.DeployCribBlockchainInput) (*blockchain.Output, error) { - err := input.Validate() - if err != nil { - return nil, errors.Wrapf(err, "invalid input for deploying blockchain") - } - - ctx := context.Background() - - anvil := anvilv1.Component(&anvilv1.Props{ - Namespace: input.Namespace, - ChainID: input.BlockchainInput.ChainID, - }) - - plan := crib.NewPlan( - "anvilv1", - crib.Namespace(input.Namespace), - crib.ComponentSet( - anvil, - ), - ) - - result, err := plan.Apply(ctx) - if err != nil { - return nil, errors.Wrap(err, "failed to apply a plan") - } - - anvilComponents := result.ComponentByName(anvilv1.ComponentName) - - for component := range anvilComponents { - res := crib.ComponentState[anvilv1.Result](component) - - return &blockchain.Output{ - Type: input.BlockchainInput.Type, - Family: "evm", - ChainID: input.BlockchainInput.ChainID, - Nodes: []*blockchain.Node{ - { - InternalWSUrl: res.RPCWebsocketURL(), - ExternalWSUrl: res.RPCWebsocketURL(), - InternalHTTPUrl: res.RPCHTTPURL(), - ExternalHTTPUrl: res.RPCHTTPURL(), - }, - }, - }, nil - } - - return nil, errors.New("failed to find a valid component") -} - -func ApplyPlanWithSingleComponent() { - // todo -} - -func DeployJdWithCRIBSDK(input *types.DeployCribJdInput) (*jd.Output, error) { - if input == nil { - return nil, errors.New("DeployCribJdInput is nil") - } - - if valErr := input.Validate(); valErr != nil { - return nil, errors.Wrap(valErr, "input validation failed") - } - - jdComponent := jdv1.Component(&jdv1.Props{ - Namespace: input.Namespace, - JD: jdv1.JDProps{ - Image: input.JDInput.Image, - CSAEncryptionKey: input.JDInput.CSAEncryptionKey, - }, - WaitForRollout: true, - }) - - plan := crib.NewPlan( - "jd", - crib.Namespace(input.Namespace), - crib.ComponentSet( - jdComponent, - ), - ) - - planState, err := plan.Apply(context.Background()) - if err != nil { - return nil, errors.Wrap(err, "failed to apply a plan") - } - - for component := range planState.ComponentByName(jdv1.ComponentName) { - jdResult := crib.ComponentState[jdv1.Result](component) - - out := &jd.Output{} - out.UseCache = true - out.ExternalGRPCUrl = jdResult.GRPCHostURL() - out.InternalGRPCUrl = jdResult.GRPCHostURL() - out.InternalWSRPCUrl = jdResult.WSRPCHostURL() - - return out, nil - } - - return nil, errors.New("failed to find a valid jd component in results") -} - // todo: after it's done it will replace DeployDonsCrib func DeployDonsWithCribSDK(input *types.DeployCribDonsInput) ([]*types.CapabilitiesAwareNodeSet, error) { if input == nil { diff --git a/system-tests/lib/cre/environment/environment.go b/system-tests/lib/cre/environment/environment.go index 15e872bdf44..60c5ccb1e78 100644 --- a/system-tests/lib/cre/environment/environment.go +++ b/system-tests/lib/cre/environment/environment.go @@ -467,7 +467,7 @@ func SetupTestEnvironment( } var jdErr error - input.JdInput.Out, jdErr = crib.DeployJdWithCRIBSDK(deployCribJdInput) + input.JdInput.Out, jdErr = crib.DeployJd(deployCribJdInput) if jdErr != nil { return nil, pkgerrors.Wrap(jdErr, "failed to deploy JD with crib-sdk") } From d327b19f85c007736d52f363c9198b7d49c77fd1 Mon Sep 17 00:00:00 2001 From: Radek Scheibinger Date: Mon, 7 Jul 2025 12:44:47 +0200 Subject: [PATCH 13/37] use nodeset component --- system-tests/lib/cre/crib/crib_v2.go | 24 ++++++++++++------- .../lib/cre/environment/environment.go | 3 ++- system-tests/lib/cre/types/keystone.go | 15 +++++++----- 3 files changed, 26 insertions(+), 16 deletions(-) diff --git a/system-tests/lib/cre/crib/crib_v2.go b/system-tests/lib/cre/crib/crib_v2.go index 05822e6e4d8..729dd7d221c 100644 --- a/system-tests/lib/cre/crib/crib_v2.go +++ b/system-tests/lib/cre/crib/crib_v2.go @@ -7,6 +7,7 @@ import ( "github.com/smartcontractkit/chainlink/system-tests/lib/cre/types" "github.com/smartcontractkit/crib-sdk/crib" nodev1 "github.com/smartcontractkit/crib-sdk/crib/composite/chainlink/node/v1" + nodesetv1 "github.com/smartcontractkit/crib-sdk/crib/composite/chainlink/nodeset/v1" ) // todo: after it's done it will replace DeployDonsCrib @@ -19,8 +20,7 @@ func DeployDonsWithCribSDK(input *types.DeployCribDonsInput) ([]*types.Capabilit return nil, errors.Wrap(valErr, "input validation failed") } - // component funcs with all nodes from all nodesets - componentFuncs := make([]crib.ComponentFunc, 0) + propsSlice := make([]*nodev1.Props, 0) for j, donMetadata := range input.Topology.DonsMetadata { @@ -34,24 +34,30 @@ func DeployDonsWithCribSDK(input *types.DeployCribDonsInput) ([]*types.Capabilit if confSecretsErr != nil { return nil, confSecretsErr } - component := nodev1.Component(&nodev1.Props{ - Image: fmt.Sprintf("%s:%s", imageName, imageTag), - ReleaseName: fmt.Sprintf("%s-%d", donMetadata.Name, i), + props := &nodev1.Props{ + Image: fmt.Sprintf("%s:%s", imageName, imageTag), + AppInstanceName: fmt.Sprintf("%s-%d", donMetadata.Name, i), // passing as config not as override Config: *configToml, SecretsOverrides: map[string]string{ "overrides": *secrets, }, - }) - componentFuncs = append(componentFuncs, component) + } + propsSlice = append(propsSlice, props) } } + component := nodesetv1.Component(&nodesetv1.Props{ + Namespace: input.Namespace, + NodeProps: propsSlice, + Size: len(propsSlice), + }) + plan := crib.NewPlan( - "dons", + "nodesets", crib.Namespace(input.Namespace), crib.ComponentSet( - componentFuncs..., + component, ), ) diff --git a/system-tests/lib/cre/environment/environment.go b/system-tests/lib/cre/environment/environment.go index 60c5ccb1e78..6b8c3176ecf 100644 --- a/system-tests/lib/cre/environment/environment.go +++ b/system-tests/lib/cre/environment/environment.go @@ -504,12 +504,13 @@ func SetupTestEnvironment( NodeSetInputs: input.CapabilitiesAwareNodeSets, NixShell: nixShell, CribConfigsDir: cribConfigsDir, + Namespace: input.InfraInput.CRIB.Namespace, } var cribErr error input.CapabilitiesAwareNodeSets, cribErr = crib.DeployDonsWithCribSDK(deployCribDonsInput) if cribErr != nil { - return nil, pkgerrors.Wrap(cribErr, "failed to deploy Dons with devspace") + return nil, pkgerrors.Wrap(cribErr, "failed to deploy Dons with crib-sdk") } } diff --git a/system-tests/lib/cre/types/keystone.go b/system-tests/lib/cre/types/keystone.go index 875861b1937..2c6df838c6c 100644 --- a/system-tests/lib/cre/types/keystone.go +++ b/system-tests/lib/cre/types/keystone.go @@ -478,8 +478,9 @@ type FullCLDEnvironmentOutput struct { } type DeployCribDonsInput struct { - Topology *Topology - NodeSetInputs []*CapabilitiesAwareNodeSet + Topology *Topology + NodeSetInputs []*CapabilitiesAwareNodeSet + // todo cleanup this NixShell *nix.Shell CribConfigsDir string Namespace string @@ -505,7 +506,8 @@ func (d *DeployCribDonsInput) Validate() error { } type DeployCribJdInput struct { - JDInput *jd.Input + JDInput *jd.Input + // todo: cleanup this NixShell *nix.Shell CribConfigsDir string Namespace string @@ -526,9 +528,10 @@ func (d *DeployCribJdInput) Validate() error { type DeployCribBlockchainInput struct { BlockchainInput *blockchain.Input - NixShell *nix.Shell - CribConfigsDir string - Namespace string + // todo: cleanup this + NixShell *nix.Shell + CribConfigsDir string + Namespace string } func (d *DeployCribBlockchainInput) Validate() error { From c011a19566a55d1020f9708bc23f717757082092 Mon Sep 17 00:00:00 2001 From: Radek Scheibinger Date: Mon, 7 Jul 2025 14:37:48 +0200 Subject: [PATCH 14/37] fix crib deploys after refactor, pass namespace within infraInput --- .../lib/cre/environment/blockchains.go | 1 + system-tests/lib/cre/environment/dons.go | 16 +++++----------- .../lib/cre/environment/environment.go | 2 +- system-tests/lib/cre/environment/jobs.go | 19 ++++++------------- 4 files changed, 13 insertions(+), 25 deletions(-) diff --git a/system-tests/lib/cre/environment/blockchains.go b/system-tests/lib/cre/environment/blockchains.go index d113aa1353b..9e8f1e165d6 100644 --- a/system-tests/lib/cre/environment/blockchains.go +++ b/system-tests/lib/cre/environment/blockchains.go @@ -63,6 +63,7 @@ func CreateBlockchains( BlockchainInput: bi, NixShell: input.nixShell, CribConfigsDir: cribConfigsDir, + Namespace: input.infra.CRIB.Namespace, } bcOut, bcErr = crib.DeployBlockchain(deployCribBlockchainInput) if bcErr != nil { diff --git a/system-tests/lib/cre/environment/dons.go b/system-tests/lib/cre/environment/dons.go index 3d682ce1162..e54df660c98 100644 --- a/system-tests/lib/cre/environment/dons.go +++ b/system-tests/lib/cre/environment/dons.go @@ -15,30 +15,24 @@ import ( libtypes "github.com/smartcontractkit/chainlink/system-tests/lib/types" ) -func StartDONs( - lggr zerolog.Logger, - nixShell *nix.Shell, - topology *cretypes.Topology, - infraType libtypes.InfraType, - registryChainBlockchainOutput *blockchain.Output, - capabilitiesAwareNodeSets []*cretypes.CapabilitiesAwareNodeSet, -) ([]*cretypes.WrappedNodeOutput, error) { +func StartDONs(lggr zerolog.Logger, nixShell *nix.Shell, topology *cretypes.Topology, infraInput libtypes.InfraInput, registryChainBlockchainOutput *blockchain.Output, capabilitiesAwareNodeSets []*cretypes.CapabilitiesAwareNodeSet, ) ([]*cretypes.WrappedNodeOutput, error) { startTime := time.Now() lggr.Info().Msgf("Starting %d DONs", len(capabilitiesAwareNodeSets)) - if infraType == libtypes.CRIB { + if infraInput.InfraType == libtypes.CRIB { lggr.Info().Msg("Saving node configs and secret overrides") deployCribDonsInput := &cretypes.DeployCribDonsInput{ Topology: topology, NodeSetInputs: capabilitiesAwareNodeSets, NixShell: nixShell, CribConfigsDir: cribConfigsDir, + Namespace: infraInput.CRIB.Namespace, } var devspaceErr error - capabilitiesAwareNodeSets, devspaceErr = crib.DeployDons(deployCribDonsInput) + capabilitiesAwareNodeSets, devspaceErr = crib.DeployDonsWithCribSDK(deployCribDonsInput) if devspaceErr != nil { - return nil, pkgerrors.Wrap(devspaceErr, "failed to deploy Dons with devspace") + return nil, pkgerrors.Wrap(devspaceErr, "failed to deploy Dons with crib-sdk") } } diff --git a/system-tests/lib/cre/environment/environment.go b/system-tests/lib/cre/environment/environment.go index 108b07783b9..1c6ab07497c 100644 --- a/system-tests/lib/cre/environment/environment.go +++ b/system-tests/lib/cre/environment/environment.go @@ -290,7 +290,7 @@ func SetupTestEnvironment( nixShell, homeChainOutput.BlockchainOutput, topology, - input.InfraInput.InfraType, + input.InfraInput, updatedNodeSets, ) if jobsSeqErr != nil { diff --git a/system-tests/lib/cre/environment/jobs.go b/system-tests/lib/cre/environment/jobs.go index 42fdba893c8..8861e7b8cf0 100644 --- a/system-tests/lib/cre/environment/jobs.go +++ b/system-tests/lib/cre/environment/jobs.go @@ -19,16 +19,17 @@ import ( libtypes "github.com/smartcontractkit/chainlink/system-tests/lib/types" ) -func StartJD(lggr zerolog.Logger, nixShell *nix.Shell, jdInput jd.Input, infraType libtypes.InfraType) (*jd.Output, error) { +func StartJD(lggr zerolog.Logger, nixShell *nix.Shell, jdInput jd.Input, infraInput libtypes.InfraInput) (*jd.Output, error) { startTime := time.Now() lggr.Info().Msg("Starting Jod Distributor") var jdOutput *jd.Output - if infraType == libtypes.CRIB { + if infraInput.InfraType == libtypes.CRIB { deployCribJdInput := &cretypes.DeployCribJdInput{ JDInput: &jdInput, NixShell: nixShell, CribConfigsDir: cribConfigsDir, + Namespace: infraInput.CRIB.Namespace, } var jdErr error @@ -55,21 +56,13 @@ func StartJD(lggr zerolog.Logger, nixShell *nix.Shell, jdInput jd.Input, infraTy return jdOutput, nil } -func SetupJobs( - lggr zerolog.Logger, - jdInput jd.Input, - nixShell *nix.Shell, - registryChainBlockchainOutput *blockchain.Output, - topology *cretypes.Topology, - infraType libtypes.InfraType, - capabilitiesAwareNodeSets []*cretypes.CapabilitiesAwareNodeSet, -) (*jd.Output, []*cretypes.WrappedNodeOutput, error) { +func SetupJobs(lggr zerolog.Logger, jdInput jd.Input, nixShell *nix.Shell, registryChainBlockchainOutput *blockchain.Output, topology *cretypes.Topology, infraInput libtypes.InfraInput, capabilitiesAwareNodeSets []*cretypes.CapabilitiesAwareNodeSet, ) (*jd.Output, []*cretypes.WrappedNodeOutput, error) { var jdOutput *jd.Output jdAndDonsErrGroup := &errgroup.Group{} jdAndDonsErrGroup.Go(func() error { var startJDErr error - jdOutput, startJDErr = StartJD(lggr, nixShell, jdInput, infraType) + jdOutput, startJDErr = StartJD(lggr, nixShell, jdInput, infraInput) if startJDErr != nil { return pkgerrors.Wrap(startJDErr, "failed to start Job Distributor") } @@ -81,7 +74,7 @@ func SetupJobs( jdAndDonsErrGroup.Go(func() error { var startDonsErr error - nodeSetOutput, startDonsErr = StartDONs(lggr, nixShell, topology, infraType, registryChainBlockchainOutput, capabilitiesAwareNodeSets) + nodeSetOutput, startDonsErr = StartDONs(lggr, nixShell, topology, infraInput, registryChainBlockchainOutput, capabilitiesAwareNodeSets) if startDonsErr != nil { return pkgerrors.Wrap(startDonsErr, "failed to start DONs") } From 269f80210b448079cae025da8cdffad7c9ec17bb Mon Sep 17 00:00:00 2001 From: Radek Scheibinger Date: Mon, 7 Jul 2025 16:25:07 +0200 Subject: [PATCH 15/37] set outputs from plan results --- system-tests/lib/cre/crib/crib_v2.go | 31 ++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/system-tests/lib/cre/crib/crib_v2.go b/system-tests/lib/cre/crib/crib_v2.go index 729dd7d221c..96b5e7fa7a4 100644 --- a/system-tests/lib/cre/crib/crib_v2.go +++ b/system-tests/lib/cre/crib/crib_v2.go @@ -4,13 +4,15 @@ import ( "context" "fmt" "github.com/pkg/errors" + "github.com/smartcontractkit/chainlink-testing-framework/framework/components/clnode" + ns "github.com/smartcontractkit/chainlink-testing-framework/framework/components/simple_node_set" "github.com/smartcontractkit/chainlink/system-tests/lib/cre/types" "github.com/smartcontractkit/crib-sdk/crib" nodev1 "github.com/smartcontractkit/crib-sdk/crib/composite/chainlink/node/v1" nodesetv1 "github.com/smartcontractkit/crib-sdk/crib/composite/chainlink/nodeset/v1" ) -// todo: after it's done it will replace DeployDonsCrib +// todo: after it's done it will replace crib.DeployDons func DeployDonsWithCribSDK(input *types.DeployCribDonsInput) ([]*types.CapabilitiesAwareNodeSet, error) { if input == nil { return nil, errors.New("DeployCribDonsInput is nil") @@ -66,12 +68,37 @@ func DeployDonsWithCribSDK(input *types.DeployCribDonsInput) ([]*types.Capabilit return nil, errors.Wrap(err, "failed to apply plan") } - // todo: set outputs basd on the plan results + // Setting outputs based on the Plan Results nodeComponents := planState.ComponentByName(nodev1.ComponentName) + var nodeResults []nodev1.Result + for component := range nodeComponents { res := crib.ComponentState[nodev1.Result](component) fmt.Printf("result: %v\n", res) + nodeResults = append(nodeResults, res) + } + + // setting outputs in a similar way as in func ReadNodeSetURL + for j, _ := range input.Topology.DonsMetadata { + out := &ns.Output{} + out.CLNodes = []*clnode.Output{} + // todo: for now this is hardcoded for a single don, we need to group results for each don + for _, res := range nodeResults { + out.CLNodes = append(out.CLNodes, &clnode.Output{ + UseCache: true, + Node: &clnode.NodeOut{ + APIAuthUser: res.APICredentials.UserName, + APIAuthPassword: res.APICredentials.Password, + ExternalURL: res.APIUrl(), + InternalURL: res.APIUrl(), + // todo: this should be simplified in the CTF types, we should just pass P2P port + InternalP2PUrl: fmt.Sprintf("http://%s:%d", res.HostName(), res.P2PPort), + InternalIP: res.HostName(), + }, + }) + } + input.NodeSetInputs[j].Out = out } return input.NodeSetInputs, nil From c80d5f65e212b8a3d6802b4f977d273c162d76c2 Mon Sep 17 00:00:00 2001 From: Radek Scheibinger Date: Tue, 8 Jul 2025 10:35:24 +0200 Subject: [PATCH 16/37] Add instructions about images and kubefwd --- system-tests/lib/infra/crib.go | 45 ---------------------- system-tests/tests/smoke/cre/guidelines.md | 30 ++++++++++++--- 2 files changed, 25 insertions(+), 50 deletions(-) diff --git a/system-tests/lib/infra/crib.go b/system-tests/lib/infra/crib.go index f84fed7595b..56cf32b697d 100644 --- a/system-tests/lib/infra/crib.go +++ b/system-tests/lib/infra/crib.go @@ -9,58 +9,13 @@ import ( "github.com/pkg/errors" - "github.com/smartcontractkit/chainlink-testing-framework/framework/components/blockchain" "github.com/smartcontractkit/chainlink-testing-framework/framework/components/clnode" - "github.com/smartcontractkit/chainlink-testing-framework/framework/components/jd" ns "github.com/smartcontractkit/chainlink-testing-framework/framework/components/simple_node_set" libnode "github.com/smartcontractkit/chainlink/system-tests/lib/cre/don/node" cretypes "github.com/smartcontractkit/chainlink/system-tests/lib/cre/types" "github.com/smartcontractkit/chainlink/system-tests/lib/types" ) -func ReadBlockchainURL(cribConfigsDir, chainType, chainID string) (*blockchain.Output, error) { - fileName := filepath.Join(cribConfigsDir, fmt.Sprintf("chain-%s-urls.json", chainID)) - chainURLs := types.ChainURLs{} - err := readAndUnmarshalJSON(fileName, &chainURLs) - if err != nil { - return nil, errors.Wrap(err, "failed to read and unmarshal chain URLs JSON") - } - - out := &blockchain.Output{} - out.UseCache = true - out.ChainID = chainID - out.Family = chainType - out.Nodes = []*blockchain.Node{ - { - ExternalWSUrl: chainURLs.WSExternalURL, - ExternalHTTPUrl: chainURLs.HTTPExternalURL, - InternalWSUrl: chainURLs.WSInternalURL, - InternalHTTPUrl: chainURLs.HTTPInternalURL, - }, - } - - return out, nil -} - -func ReadJdURL(cribConfigsDir string) (*jd.Output, error) { - fileName := filepath.Join(cribConfigsDir, "jd-urls.json") - - jdURLs := types.JdURLs{} - err := readAndUnmarshalJSON(fileName, &jdURLs) - if err != nil { - return nil, errors.Wrap(err, "failed to read and unmarshal JD URLs JSON") - } - - out := &jd.Output{} - out.UseCache = true - out.ExternalGRPCUrl = jdURLs.GRPCExternalURL - out.ExternalWSRPCUrl = jdURLs.WSExternalURL - out.InternalGRPCUrl = jdURLs.GRCPInternalURL - out.InternalWSRPCUrl = jdURLs.WSInternalURL - - return out, nil -} - func ReadNodeSetURL(cribConfigsDir string, donMetadata *cretypes.DonMetadata) (*ns.Output, error) { // read DON URLs donFileName := filepath.Join(cribConfigsDir, fmt.Sprintf("don-%s-urls.json", donMetadata.Name)) diff --git a/system-tests/tests/smoke/cre/guidelines.md b/system-tests/tests/smoke/cre/guidelines.md index 568105fa5ce..9938bd309c7 100644 --- a/system-tests/tests/smoke/cre/guidelines.md +++ b/system-tests/tests/smoke/cre/guidelines.md @@ -300,6 +300,16 @@ Before using CRIB, ensure the following: 7. **Connect VPN** (for AWS provider only) +8. **Start `kubefwd`** +After initializing CRIB with `crib init` you will need to start kubefwd process to enable connectivity to the kubernetes environment. It is required for both kind and aws provider. + +```bash +sudo kubefwd -n crib-namespace svc +``` + +The command above will enable connectivity to services deployed within `crib-namespace` namespace. +If you switch the namespace you will need to re-run the command. + --- ## 5. Setting Docker Images for CRIB Execution @@ -339,19 +349,29 @@ docker build -t localhost:5001/chainlink:> --build-arg CHAINLINK_USER= - You must specify an image tag explicitly (e.g., `:v1.2.3`). ### Job Distributor (JD) Image in CRIB - -CRIB extracts only the image **tag** from your TOML: +#### AWS Provider +If you're working with AWS you will need to set the JD image URL in the `overrides.toml` ```toml [jd] - image = "jd-test-1:my-awesome-tag" + image = "/job-distributor:0.12.7" ``` -If you leave off the tag, CRIB will fail: +Replace `` placeholder with the actual value. + +#### Kind Provider +When working with kind provider, it will require pulling and pushing an image to local registry, similar as with CL node explained before. + +```shell +docker pull /job-distributor:0.12.7 +docker tag /job-distributor:0.12.7 localhost:5001/job-distributor:0.12.7 +docker push localhost:5001/job-distributor:0.12.7 +``` +Now, you can set: ```toml [jd] - image = "jd-test-1" # ❌ This will fail + image = "localhost:5001/job-distributor:0.12.7" ``` --- From fb0bab7badcbd8b7574879df0a7bac9308689e1f Mon Sep 17 00:00:00 2001 From: george-dorin Date: Tue, 8 Jul 2025 17:59:54 +0300 Subject: [PATCH 17/37] Merge node toml user config overrides --- system-tests/lib/cre/crib/crib.go | 70 +++++++++++++++++++++++++++---- 1 file changed, 63 insertions(+), 7 deletions(-) diff --git a/system-tests/lib/cre/crib/crib.go b/system-tests/lib/cre/crib/crib.go index 6879f529b0c..73a4cfd7ed2 100644 --- a/system-tests/lib/cre/crib/crib.go +++ b/system-tests/lib/cre/crib/crib.go @@ -3,12 +3,6 @@ package crib import ( "context" "fmt" - "github.com/smartcontractkit/chainlink-testing-framework/framework/components/blockchain" - crecaps "github.com/smartcontractkit/chainlink/system-tests/lib/cre/capabilities" - "github.com/smartcontractkit/crib-sdk/crib" - anvilv1 "github.com/smartcontractkit/crib-sdk/crib/composite/blockchain/anvil/v1" - jdv1 "github.com/smartcontractkit/crib-sdk/crib/composite/chainlink/jd/v1" - namespacev1 "github.com/smartcontractkit/crib-sdk/crib/scalar/k8s/namespace/v1" "os" "path/filepath" "regexp" @@ -16,6 +10,14 @@ import ( "strconv" "strings" + "github.com/smartcontractkit/crib-sdk/crib" + anvilv1 "github.com/smartcontractkit/crib-sdk/crib/composite/blockchain/anvil/v1" + jdv1 "github.com/smartcontractkit/crib-sdk/crib/composite/chainlink/jd/v1" + namespacev1 "github.com/smartcontractkit/crib-sdk/crib/scalar/k8s/namespace/v1" + + "github.com/smartcontractkit/chainlink-testing-framework/framework/components/blockchain" + crecaps "github.com/smartcontractkit/chainlink/system-tests/lib/cre/capabilities" + "github.com/pelletier/go-toml/v2" "github.com/pkg/errors" @@ -229,9 +231,20 @@ func getConfigAndSecretsForNode(nodeMetadata *types.NodeMetadata, donIndex int, return nil, nil, errors.Wrap(tomlErr, "failed to clean TOML") } + // Merge user overrides + cleanedUserToml, tomlErr := cleanToml(input.NodeSetInputs[donIndex].NodeSpecs[nodeIndex].Node.UserConfigOverrides) + if tomlErr != nil { + return nil, nil, errors.Wrap(tomlErr, "failed to clean user TOML") + } + + finalToml, err := mergeToml(cleanedToml, cleanedUserToml) + if err != nil { + return nil, nil, errors.Wrap(err, "failed to merge TOML") + } + secretsFileBytes := []byte(input.NodeSetInputs[donIndex].NodeSpecs[nodeIndex].Node.TestSecretsOverrides) - tomlString := string(cleanedToml) + tomlString := string(finalToml) secretsString := string(secretsFileBytes) return &tomlString, &secretsString, nil } @@ -376,6 +389,49 @@ func cleanToml(tomlStr string) ([]byte, error) { return newTOMLBytes, nil } +// mergeToml merges two TOML configurations. +// It takes base TOML content (tomlOne) and overlay TOML content (tomlTwo) as byte slices, +// and combines them with the overlay values taking precedence over the base values. +func mergeToml(tomlOne []byte, tomlTwo []byte) ([]byte, error) { + // Parse the first TOML + var baseConfig map[string]interface{} + if err := toml.Unmarshal(tomlOne, &baseConfig); err != nil { + return nil, errors.Wrap(err, "failed to unmarshal first TOML") + } + + // Parse the second TOML + var overlayConfig map[string]interface{} + if err := toml.Unmarshal(tomlTwo, &overlayConfig); err != nil { + return nil, errors.Wrap(err, "failed to unmarshal second TOML") + } + + // Deep merge the maps + for k, v := range overlayConfig { + // If both values are maps, merge them recursively + if baseVal, ok := baseConfig[k]; ok { + if baseMap, isBaseMap := baseVal.(map[string]interface{}); isBaseMap { + if overlayMap, isOverlayMap := v.(map[string]interface{}); isOverlayMap { + // Recursively merge nested maps + for nestedKey, nestedVal := range overlayMap { + baseMap[nestedKey] = nestedVal + } + continue + } + } + } + // Otherwise, override the value + baseConfig[k] = v + } + + // Marshal back to TOML + result, err := toml.Marshal(baseConfig) + if err != nil { + return nil, errors.Wrap(err, "failed to marshal merged config") + } + + return result, nil +} + func DeployJd(input *types.DeployCribJdInput) (*jd.Output, error) { if input == nil { return nil, errors.New("DeployCribJdInput is nil") From 791c0ee473abbca99b858efebe28f53d99513805 Mon Sep 17 00:00:00 2001 From: george-dorin Date: Wed, 9 Jul 2025 18:25:31 +0300 Subject: [PATCH 18/37] Add port forward script --- core/scripts/cre/environment/README.md | 4 +- core/scripts/cre/environment/port-forward.sh | 86 ++++++++++++++++++++ 2 files changed, 88 insertions(+), 2 deletions(-) create mode 100755 core/scripts/cre/environment/port-forward.sh diff --git a/core/scripts/cre/environment/README.md b/core/scripts/cre/environment/README.md index c1c0d4a2a3d..d19733f79b9 100644 --- a/core/scripts/cre/environment/README.md +++ b/core/scripts/cre/environment/README.md @@ -36,8 +36,8 @@ The CLI manages CRE test environments. It is located in `core/scripts/cre/enviro ## Prerequisites For CRIB ### -1. kubefwd installed: `brew install kubefwd` -2. TBD: not sure when kubefwd should be started +1. kubefwd installed: `brew install txn2/tap/kubefwd` +2. Start the port forward script `sudo ./port-forward.sh ` # QUICKSTART diff --git a/core/scripts/cre/environment/port-forward.sh b/core/scripts/cre/environment/port-forward.sh new file mode 100755 index 00000000000..c2042da2699 --- /dev/null +++ b/core/scripts/cre/environment/port-forward.sh @@ -0,0 +1,86 @@ +#!/usr/bin/env bash +set -eo pipefail + +# Usage: ./live-kubefwd.sh +if [ -z "$1" ]; then + echo "Usage: $0 " + exit 1 +fi + +NAMESPACE="$1" +KUBEFWD_CMD="sudo kubefwd svc -n $NAMESPACE" +LAST_SVCS="" +KPID="" + +log() { + echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" +} + +# Clean up function +cleanup() { + log "Cleaning up..." + [ -n "$KPID" ] && { kill $KPID 2>/dev/null || true; } + [ -n "$WATCH_PID" ] && { kill $WATCH_PID 2>/dev/null || true; } + exit 0 +} + +# Set up signal handlers +trap cleanup INT TERM EXIT + +# Function to list services (by name) sorted +list_svcs() { + kubectl get svc -n "$NAMESPACE" --no-headers 2>/dev/null \ + | awk '{print $1}' \ + | sort \ + | tr '\n' ' ' || echo "Error fetching services" +} + +# Function to start kubefwd +start_kubefwd() { + if [ -n "$KPID" ]; then + log "Stopping previous kubefwd (PID: $KPID)" + kill $KPID 2>/dev/null || true + sleep 1 + fi + + log "Starting kubefwd for namespace '$NAMESPACE'" + $KUBEFWD_CMD & + KPID=$! + sleep 2 + + if ! ps -p $KPID > /dev/null; then + log "Failed to start kubefwd" + exit 1 + fi + + log "kubefwd started successfully (PID: $KPID)" +} + +# Initial launch +LAST_SVCS=$(list_svcs) +start_kubefwd + +log "Watching namespace '$NAMESPACE' for services: $LAST_SVCS" +LAST_RESTART=$(date +%s) + +# Use polling approach instead of --watch +while true; do + NEW_SVCS=$(list_svcs) + CURRENT_TIME=$(date +%s) + + if [[ "$NEW_SVCS" != "$LAST_SVCS" ]]; then + if (( CURRENT_TIME - LAST_RESTART >= 5 )); then + log "Service list changed:" + log " before: $LAST_SVCS" + log " after: $NEW_SVCS" + start_kubefwd + LAST_SVCS=$NEW_SVCS + LAST_RESTART=$CURRENT_TIME + else + log "Service change detected, but throttling restarts. Will update shortly." + fi + fi + + # Poll every 2 seconds + sleep 2 +done \ No newline at end of file From 5a8935781f58e186e0361a3e263ee20fa69c0bed Mon Sep 17 00:00:00 2001 From: george-dorin Date: Wed, 9 Jul 2025 18:30:07 +0300 Subject: [PATCH 19/37] Rename forward script and update README.md --- core/scripts/cre/environment/README.md | 2 +- .../{port-forward.sh => dynamic-kubefwd.sh} | 20 +++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) rename core/scripts/cre/environment/{port-forward.sh => dynamic-kubefwd.sh} (68%) diff --git a/core/scripts/cre/environment/README.md b/core/scripts/cre/environment/README.md index d19733f79b9..04b4867da9b 100644 --- a/core/scripts/cre/environment/README.md +++ b/core/scripts/cre/environment/README.md @@ -37,7 +37,7 @@ The CLI manages CRE test environments. It is located in `core/scripts/cre/enviro ## Prerequisites For CRIB ### 1. kubefwd installed: `brew install txn2/tap/kubefwd` -2. Start the port forward script `sudo ./port-forward.sh ` +2. Start the port forward script `sudo ./dynamic-kubefwd.sh ` # QUICKSTART diff --git a/core/scripts/cre/environment/port-forward.sh b/core/scripts/cre/environment/dynamic-kubefwd.sh similarity index 68% rename from core/scripts/cre/environment/port-forward.sh rename to core/scripts/cre/environment/dynamic-kubefwd.sh index c2042da2699..26d0b017c40 100755 --- a/core/scripts/cre/environment/port-forward.sh +++ b/core/scripts/cre/environment/dynamic-kubefwd.sh @@ -1,4 +1,24 @@ #!/usr/bin/env bash +# dynamic-kubefwd.sh +# +# Automatically manages port-forwarding to Kubernetes services using kubefwd, +# with real-time detection and adaptation to service changes. When services +# are added, removed, or modified in the specified namespace, this script +# automatically restarts the port forwarding to reflect the changes. +# +# Features: +# - Continuous monitoring of Kubernetes services in a namespace +# - Automatic restart of kubefwd when service definitions change +# - Clean process management with proper signal handling +# - Throttled restarts to prevent rapid fluctuations +# - Detailed logging of service changes and forwarding status +# +# Requirements: +# - kubectl configured with access to the target cluster +# - kubefwd installed (https://github.com/txn2/kubefwd) +# - sudo access (required by kubefwd) +# +# Usage: ./dynamic-kubefwd.sh set -eo pipefail # Usage: ./live-kubefwd.sh From e9c3de9cafe3a1407a1800113a3198f6a0817bc1 Mon Sep 17 00:00:00 2001 From: Radek Scheibinger Date: Mon, 14 Jul 2025 13:43:06 +0200 Subject: [PATCH 20/37] deploy individual nodes with each having its own DB --- core/scripts/go.mod | 4 ++-- core/scripts/go.sum | 8 +++---- system-tests/lib/cre/crib/crib_v2.go | 31 ++++++++++++++-------------- 3 files changed, 21 insertions(+), 22 deletions(-) diff --git a/core/scripts/go.mod b/core/scripts/go.mod index 7ee2e96fa8a..d1909809ebd 100644 --- a/core/scripts/go.mod +++ b/core/scripts/go.mod @@ -147,7 +147,7 @@ require ( github.com/bytecodealliance/wasmtime-go/v28 v28.0.0 // indirect github.com/bytedance/sonic v1.12.3 // indirect github.com/bytedance/sonic/loader v0.2.0 // indirect - github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.74 // indirect + github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.76 // indirect github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.8 // indirect github.com/cenkalti/backoff v2.2.1+incompatible // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect @@ -266,7 +266,7 @@ require ( github.com/go-openapi/swag v0.23.0 // 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.26.0 // indirect + github.com/go-playground/validator/v10 v10.27.0 // indirect github.com/go-resty/resty/v2 v2.16.3 // indirect github.com/go-viper/mapstructure/v2 v2.3.0 // indirect github.com/go-webauthn/webauthn v0.9.4 // indirect diff --git a/core/scripts/go.sum b/core/scripts/go.sum index 9cf7f2385c4..661c1298e33 100644 --- a/core/scripts/go.sum +++ b/core/scripts/go.sum @@ -288,8 +288,8 @@ github.com/bytedance/sonic v1.12.3/go.mod h1:B8Gt/XvtZ3Fqj+iSKMypzymZxw/FVwgIGKz github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= github.com/bytedance/sonic/loader v0.2.0 h1:zNprn+lsIP06C/IqCHs3gPQIvnvpKbbxyXQP1iU4kWM= github.com/bytedance/sonic/loader v0.2.0/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= -github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.74 h1:bEcaS0Vqt1urlk2vrI0NN/2iu0yjeU+O3bPQCnbD+Qw= -github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.74/go.mod h1:JFGcyqRE2qXgHsBw27/L0D1uEJtLhUm2Vqx4dFOHSzA= +github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.76 h1:3p3ygjYCNZ9wqPbbQ7oeDZEhY7xX8UPJs/pOuhxBP+E= +github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.76/go.mod h1:JFGcyqRE2qXgHsBw27/L0D1uEJtLhUm2Vqx4dFOHSzA= github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.8 h1:vtT/G9hb1fstaeS52wcSYDKmZY0qExoroP5lhiFQe8U= github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.8/go.mod h1:7uUKWwq8GOkVQFkVH9ymTajphRFJM6HeHhIQ3S/tFJw= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= @@ -675,8 +675,8 @@ github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= github.com/go-playground/validator/v10 v10.10.0/go.mod h1:74x4gJWsvQexRdW8Pn3dXSGrTK4nAUsbPlLADvpJkos= -github.com/go-playground/validator/v10 v10.26.0 h1:SP05Nqhjcvz81uJaRfEV0YBSSSGMc/iMaVtFbr3Sw2k= -github.com/go-playground/validator/v10 v10.26.0/go.mod h1:I5QpIEbmr8On7W0TktmJAumgzX4CA1XNl4ZmDuVHKKo= +github.com/go-playground/validator/v10 v10.27.0 h1:w8+XrWVMhGkxOaaowyKH35gFydVHOvC0/uWoy2Fzwn4= +github.com/go-playground/validator/v10 v10.27.0/go.mod h1:I5QpIEbmr8On7W0TktmJAumgzX4CA1XNl4ZmDuVHKKo= github.com/go-resty/resty/v2 v2.16.3 h1:zacNT7lt4b8M/io2Ahj6yPypL7bqx9n1iprfQuodV+E= github.com/go-resty/resty/v2 v2.16.3/go.mod h1:hkJtXbA2iKHzJheXYvQ8snQES5ZLGKMwQ07xAwp/fiA= github.com/go-sql-driver/mysql v1.3.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= diff --git a/system-tests/lib/cre/crib/crib_v2.go b/system-tests/lib/cre/crib/crib_v2.go index 96b5e7fa7a4..9b278f0fed6 100644 --- a/system-tests/lib/cre/crib/crib_v2.go +++ b/system-tests/lib/cre/crib/crib_v2.go @@ -9,7 +9,6 @@ import ( "github.com/smartcontractkit/chainlink/system-tests/lib/cre/types" "github.com/smartcontractkit/crib-sdk/crib" nodev1 "github.com/smartcontractkit/crib-sdk/crib/composite/chainlink/node/v1" - nodesetv1 "github.com/smartcontractkit/crib-sdk/crib/composite/chainlink/nodeset/v1" ) // todo: after it's done it will replace crib.DeployDons @@ -22,7 +21,7 @@ func DeployDonsWithCribSDK(input *types.DeployCribDonsInput) ([]*types.Capabilit return nil, errors.Wrap(valErr, "input validation failed") } - propsSlice := make([]*nodev1.Props, 0) + componentFuncs := make([]crib.ComponentFunc, 0) for j, donMetadata := range input.Topology.DonsMetadata { @@ -36,7 +35,8 @@ func DeployDonsWithCribSDK(input *types.DeployCribDonsInput) ([]*types.Capabilit if confSecretsErr != nil { return nil, confSecretsErr } - props := &nodev1.Props{ + cFunc := nodev1.Component(&nodev1.Props{ + Namespace: input.Namespace, Image: fmt.Sprintf("%s:%s", imageName, imageTag), AppInstanceName: fmt.Sprintf("%s-%d", donMetadata.Name, i), // passing as config not as override @@ -44,22 +44,16 @@ func DeployDonsWithCribSDK(input *types.DeployCribDonsInput) ([]*types.Capabilit SecretsOverrides: map[string]string{ "overrides": *secrets, }, - } - propsSlice = append(propsSlice, props) + }) + componentFuncs = append(componentFuncs, cFunc) } } - component := nodesetv1.Component(&nodesetv1.Props{ - Namespace: input.Namespace, - NodeProps: propsSlice, - Size: len(propsSlice), - }) - plan := crib.NewPlan( "nodesets", crib.Namespace(input.Namespace), crib.ComponentSet( - component, + componentFuncs..., ), ) @@ -75,17 +69,22 @@ func DeployDonsWithCribSDK(input *types.DeployCribDonsInput) ([]*types.Capabilit for component := range nodeComponents { res := crib.ComponentState[nodev1.Result](component) - fmt.Printf("result: %v\n", res) nodeResults = append(nodeResults, res) + fmt.Printf("Node API URL: %s\n", res.APIUrl()) + fmt.Printf("API Credentials: username: %s , password: %s\n", res.APICredentials.UserName, res.APICredentials.Password) } // setting outputs in a similar way as in func ReadNodeSetURL - for j, _ := range input.Topology.DonsMetadata { - out := &ns.Output{} - out.CLNodes = []*clnode.Output{} + for j := range input.Topology.DonsMetadata { + out := &ns.Output{ + // UseCache: true will disable deploying docker containers via CTF + UseCache: true, + CLNodes: []*clnode.Output{}, + } // todo: for now this is hardcoded for a single don, we need to group results for each don for _, res := range nodeResults { out.CLNodes = append(out.CLNodes, &clnode.Output{ + // UseCache: true will disable deploying docker containers via CTF UseCache: true, Node: &clnode.NodeOut{ APIAuthUser: res.APICredentials.UserName, From f8c32cfbae7cd804985d140d11591f825d41c564 Mon Sep 17 00:00:00 2001 From: george-dorin Date: Mon, 14 Jul 2025 17:59:07 +0300 Subject: [PATCH 21/37] Remove TLS --- system-tests/lib/cre/environment/environment.go | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/system-tests/lib/cre/environment/environment.go b/system-tests/lib/cre/environment/environment.go index 1c6ab07497c..fe7cc513821 100644 --- a/system-tests/lib/cre/environment/environment.go +++ b/system-tests/lib/cre/environment/environment.go @@ -2,7 +2,6 @@ package environment import ( "context" - "crypto/tls" "fmt" "math/big" "os" @@ -17,7 +16,6 @@ import ( "github.com/rs/zerolog" "github.com/scylladb/go-reflectx" "golang.org/x/sync/errgroup" - "google.golang.org/grpc/credentials" "google.golang.org/grpc/credentials/insecure" jobv1 "github.com/smartcontractkit/chainlink-protos/job-distributor/v1/job" @@ -310,17 +308,7 @@ func SetupTestEnvironment( OperationsBundle: allChainsCLDEnvironment.OperationsBundle, } - // We need to use TLS for CRIB, because it exposes HTTPS endpoints - var creds credentials.TransportCredentials - if input.InfraInput.InfraType == libtypes.CRIB { - creds = credentials.NewTLS(&tls.Config{ - MinVersion: tls.VersionTLS12, - }) - } else { - creds = insecure.NewCredentials() - } - - fullCldOutput, cldErr := libdevenv.BuildFullCLDEnvironment(ctx, singleFileLogger, fullCldInput, creds) + fullCldOutput, cldErr := libdevenv.BuildFullCLDEnvironment(ctx, singleFileLogger, fullCldInput, insecure.NewCredentials()) if cldErr != nil { return nil, pkgerrors.Wrap(cldErr, "failed to build full CLD environment") } From d3f2f24224b378254e1a870eb51cce3a7f9d9e31 Mon Sep 17 00:00:00 2001 From: Radek Scheibinger Date: Tue, 15 Jul 2025 11:37:23 +0200 Subject: [PATCH 22/37] replace kubefwd with telepresence --- core/scripts/cre/environment/README.md | 5 +- .../cre/environment/dynamic-kubefwd.sh | 106 ------------------ system-tests/lib/cre/crib/crib.go | 5 +- system-tests/lib/go.mod | 4 +- system-tests/lib/go.sum | 2 + system-tests/tests/smoke/cre/guidelines.md | 10 +- 6 files changed, 11 insertions(+), 121 deletions(-) delete mode 100755 core/scripts/cre/environment/dynamic-kubefwd.sh diff --git a/core/scripts/cre/environment/README.md b/core/scripts/cre/environment/README.md index 04b4867da9b..97d383a75a4 100644 --- a/core/scripts/cre/environment/README.md +++ b/core/scripts/cre/environment/README.md @@ -36,9 +36,8 @@ The CLI manages CRE test environments. It is located in `core/scripts/cre/enviro ## Prerequisites For CRIB ### -1. kubefwd installed: `brew install txn2/tap/kubefwd` -2. Start the port forward script `sudo ./dynamic-kubefwd.sh ` - +1. telepresence installed: `brew install telepresenceio/telepresence/telepresence-oss` +2. Telepresence will update the /etc/resolver configs and will require to enter sudo password the first time you run it # QUICKSTART ``` diff --git a/core/scripts/cre/environment/dynamic-kubefwd.sh b/core/scripts/cre/environment/dynamic-kubefwd.sh deleted file mode 100755 index 26d0b017c40..00000000000 --- a/core/scripts/cre/environment/dynamic-kubefwd.sh +++ /dev/null @@ -1,106 +0,0 @@ -#!/usr/bin/env bash -# dynamic-kubefwd.sh -# -# Automatically manages port-forwarding to Kubernetes services using kubefwd, -# with real-time detection and adaptation to service changes. When services -# are added, removed, or modified in the specified namespace, this script -# automatically restarts the port forwarding to reflect the changes. -# -# Features: -# - Continuous monitoring of Kubernetes services in a namespace -# - Automatic restart of kubefwd when service definitions change -# - Clean process management with proper signal handling -# - Throttled restarts to prevent rapid fluctuations -# - Detailed logging of service changes and forwarding status -# -# Requirements: -# - kubectl configured with access to the target cluster -# - kubefwd installed (https://github.com/txn2/kubefwd) -# - sudo access (required by kubefwd) -# -# Usage: ./dynamic-kubefwd.sh -set -eo pipefail - -# Usage: ./live-kubefwd.sh -if [ -z "$1" ]; then - echo "Usage: $0 " - exit 1 -fi - -NAMESPACE="$1" -KUBEFWD_CMD="sudo kubefwd svc -n $NAMESPACE" -LAST_SVCS="" -KPID="" - -log() { - echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" -} - -# Clean up function -cleanup() { - log "Cleaning up..." - [ -n "$KPID" ] && { kill $KPID 2>/dev/null || true; } - [ -n "$WATCH_PID" ] && { kill $WATCH_PID 2>/dev/null || true; } - exit 0 -} - -# Set up signal handlers -trap cleanup INT TERM EXIT - -# Function to list services (by name) sorted -list_svcs() { - kubectl get svc -n "$NAMESPACE" --no-headers 2>/dev/null \ - | awk '{print $1}' \ - | sort \ - | tr '\n' ' ' || echo "Error fetching services" -} - -# Function to start kubefwd -start_kubefwd() { - if [ -n "$KPID" ]; then - log "Stopping previous kubefwd (PID: $KPID)" - kill $KPID 2>/dev/null || true - sleep 1 - fi - - log "Starting kubefwd for namespace '$NAMESPACE'" - $KUBEFWD_CMD & - KPID=$! - sleep 2 - - if ! ps -p $KPID > /dev/null; then - log "Failed to start kubefwd" - exit 1 - fi - - log "kubefwd started successfully (PID: $KPID)" -} - -# Initial launch -LAST_SVCS=$(list_svcs) -start_kubefwd - -log "Watching namespace '$NAMESPACE' for services: $LAST_SVCS" -LAST_RESTART=$(date +%s) - -# Use polling approach instead of --watch -while true; do - NEW_SVCS=$(list_svcs) - CURRENT_TIME=$(date +%s) - - if [[ "$NEW_SVCS" != "$LAST_SVCS" ]]; then - if (( CURRENT_TIME - LAST_RESTART >= 5 )); then - log "Service list changed:" - log " before: $LAST_SVCS" - log " after: $NEW_SVCS" - start_kubefwd - LAST_SVCS=$NEW_SVCS - LAST_RESTART=$CURRENT_TIME - else - log "Service change detected, but throttling restarts. Will update shortly." - fi - fi - - # Poll every 2 seconds - sleep 2 -done \ No newline at end of file diff --git a/system-tests/lib/cre/crib/crib.go b/system-tests/lib/cre/crib/crib.go index 73a4cfd7ed2..6909a58d608 100644 --- a/system-tests/lib/cre/crib/crib.go +++ b/system-tests/lib/cre/crib/crib.go @@ -13,6 +13,7 @@ import ( "github.com/smartcontractkit/crib-sdk/crib" anvilv1 "github.com/smartcontractkit/crib-sdk/crib/composite/blockchain/anvil/v1" jdv1 "github.com/smartcontractkit/crib-sdk/crib/composite/chainlink/jd/v1" + telepresencev1 "github.com/smartcontractkit/crib-sdk/crib/composite/cluster-services/telepresence/v1" namespacev1 "github.com/smartcontractkit/crib-sdk/crib/scalar/k8s/namespace/v1" "github.com/smartcontractkit/chainlink-testing-framework/framework/components/blockchain" @@ -85,7 +86,9 @@ func Bootstrap(infraInput *libtypes.InfraInput) error { crib.Namespace(infraInput.CRIB.Namespace), crib.ComponentSet( namespacev1.Component(infraInput.CRIB.Namespace), - // todo: add telepresence install here for now + telepresencev1.Component(&telepresencev1.Props{ + Namespace: infraInput.CRIB.Namespace, + }), ), ) _, err := plan.Apply(context.Background()) diff --git a/system-tests/lib/go.mod b/system-tests/lib/go.mod index da5868c0154..301186b2792 100644 --- a/system-tests/lib/go.mod +++ b/system-tests/lib/go.mod @@ -112,7 +112,7 @@ require ( github.com/bytecodealliance/wasmtime-go/v28 v28.0.0 // indirect github.com/bytedance/sonic v1.12.3 // indirect github.com/bytedance/sonic/loader v0.2.0 // indirect - github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.74 // indirect + github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.76 // indirect github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.8 // indirect github.com/cenkalti/backoff v2.2.1+incompatible // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect @@ -208,7 +208,7 @@ require ( github.com/go-openapi/swag v0.23.0 // 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.26.0 // indirect + github.com/go-playground/validator/v10 v10.27.0 // indirect github.com/go-resty/resty/v2 v2.16.3 // indirect github.com/go-viper/mapstructure/v2 v2.3.0 // indirect github.com/go-webauthn/webauthn v0.9.4 // indirect diff --git a/system-tests/lib/go.sum b/system-tests/lib/go.sum index bb95b3318b1..a64c31cd08e 100644 --- a/system-tests/lib/go.sum +++ b/system-tests/lib/go.sum @@ -254,6 +254,7 @@ github.com/bytedance/sonic/loader v0.2.0 h1:zNprn+lsIP06C/IqCHs3gPQIvnvpKbbxyXQP github.com/bytedance/sonic/loader v0.2.0/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.74 h1:bEcaS0Vqt1urlk2vrI0NN/2iu0yjeU+O3bPQCnbD+Qw= github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.74/go.mod h1:JFGcyqRE2qXgHsBw27/L0D1uEJtLhUm2Vqx4dFOHSzA= +github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.76/go.mod h1:JFGcyqRE2qXgHsBw27/L0D1uEJtLhUm2Vqx4dFOHSzA= github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.8 h1:vtT/G9hb1fstaeS52wcSYDKmZY0qExoroP5lhiFQe8U= github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.8/go.mod h1:7uUKWwq8GOkVQFkVH9ymTajphRFJM6HeHhIQ3S/tFJw= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= @@ -554,6 +555,7 @@ github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJn github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= github.com/go-playground/validator/v10 v10.26.0 h1:SP05Nqhjcvz81uJaRfEV0YBSSSGMc/iMaVtFbr3Sw2k= github.com/go-playground/validator/v10 v10.26.0/go.mod h1:I5QpIEbmr8On7W0TktmJAumgzX4CA1XNl4ZmDuVHKKo= +github.com/go-playground/validator/v10 v10.27.0/go.mod h1:I5QpIEbmr8On7W0TktmJAumgzX4CA1XNl4ZmDuVHKKo= github.com/go-resty/resty/v2 v2.16.3 h1:zacNT7lt4b8M/io2Ahj6yPypL7bqx9n1iprfQuodV+E= github.com/go-resty/resty/v2 v2.16.3/go.mod h1:hkJtXbA2iKHzJheXYvQ8snQES5ZLGKMwQ07xAwp/fiA= github.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpvNJ1Y= diff --git a/system-tests/tests/smoke/cre/guidelines.md b/system-tests/tests/smoke/cre/guidelines.md index 9938bd309c7..03403e87e51 100644 --- a/system-tests/tests/smoke/cre/guidelines.md +++ b/system-tests/tests/smoke/cre/guidelines.md @@ -300,15 +300,7 @@ Before using CRIB, ensure the following: 7. **Connect VPN** (for AWS provider only) -8. **Start `kubefwd`** -After initializing CRIB with `crib init` you will need to start kubefwd process to enable connectivity to the kubernetes environment. It is required for both kind and aws provider. - -```bash -sudo kubefwd -n crib-namespace svc -``` - -The command above will enable connectivity to services deployed within `crib-namespace` namespace. -If you switch the namespace you will need to re-run the command. +8. **Install `telepresence`**. CRIB requires telepresence for connecting to the services deployed within a cluster. You can install it with `brew install telepresenceio/telepresence/telepresence-oss` or with [other methods listed here](https://telepresence.io/docs/install/client#install-with-brew) --- From adc5a2fa69f03ab71ff46e7be531f69ea9910321 Mon Sep 17 00:00:00 2001 From: Radek Scheibinger Date: Tue, 15 Jul 2025 12:36:08 +0200 Subject: [PATCH 23/37] pass env vars from nodeSpec --- system-tests/lib/cre/crib/crib.go | 140 ++++++++++++++--------- system-tests/lib/cre/crib/crib_v2.go | 104 ----------------- system-tests/lib/cre/environment/dons.go | 2 +- 3 files changed, 88 insertions(+), 158 deletions(-) delete mode 100644 system-tests/lib/cre/crib/crib_v2.go diff --git a/system-tests/lib/cre/crib/crib.go b/system-tests/lib/cre/crib/crib.go index 6909a58d608..505f9c0d5b3 100644 --- a/system-tests/lib/cre/crib/crib.go +++ b/system-tests/lib/cre/crib/crib.go @@ -3,6 +3,9 @@ package crib import ( "context" "fmt" + "github.com/smartcontractkit/chainlink-testing-framework/framework/components/clnode" + ns "github.com/smartcontractkit/chainlink-testing-framework/framework/components/simple_node_set" + nodev1 "github.com/smartcontractkit/crib-sdk/crib/composite/chainlink/node/v1" "os" "path/filepath" "regexp" @@ -16,16 +19,13 @@ import ( telepresencev1 "github.com/smartcontractkit/crib-sdk/crib/composite/cluster-services/telepresence/v1" namespacev1 "github.com/smartcontractkit/crib-sdk/crib/scalar/k8s/namespace/v1" - "github.com/smartcontractkit/chainlink-testing-framework/framework/components/blockchain" - crecaps "github.com/smartcontractkit/chainlink/system-tests/lib/cre/capabilities" - "github.com/pelletier/go-toml/v2" "github.com/pkg/errors" - + "github.com/smartcontractkit/chainlink-testing-framework/framework/components/blockchain" "github.com/smartcontractkit/chainlink-testing-framework/framework/components/jd" + crecaps "github.com/smartcontractkit/chainlink/system-tests/lib/cre/capabilities" libnode "github.com/smartcontractkit/chainlink/system-tests/lib/cre/don/node" "github.com/smartcontractkit/chainlink/system-tests/lib/cre/types" - "github.com/smartcontractkit/chainlink/system-tests/lib/infra" "github.com/smartcontractkit/chainlink/system-tests/lib/nix" libtypes "github.com/smartcontractkit/chainlink/system-tests/lib/types" ) @@ -147,7 +147,6 @@ func DeployBlockchain(input *types.DeployCribBlockchainInput) (*blockchain.Outpu return nil, errors.New("failed to find a valid component") } - func DeployDons(input *types.DeployCribDonsInput) ([]*types.CapabilitiesAwareNodeSet, error) { if input == nil { return nil, errors.New("DeployCribDonsInput is nil") @@ -157,85 +156,120 @@ func DeployDons(input *types.DeployCribDonsInput) ([]*types.CapabilitiesAwareNod return nil, errors.Wrap(valErr, "input validation failed") } + componentFuncs := make([]crib.ComponentFunc, 0) + for j, donMetadata := range input.Topology.DonsMetadata { - deployDonEnvVars := map[string]string{} - cribConfigsDirAbs := filepath.Join(".", input.CribConfigsDir, donMetadata.Name) - err := os.MkdirAll(cribConfigsDirAbs, os.ModePerm) - if err != nil { - return nil, errors.Wrapf(err, "failed to create crib configs directory '%s' for %s", cribConfigsDirAbs, donMetadata.Name) - } imageName, imageTag, err := imageNameAndTag(input, j) if err != nil { return nil, errors.Wrapf(err, "failed to get image name and tag for %s", donMetadata.Name) } - deployDonEnvVars["DEVSPACE_IMAGE"] = imageName - deployDonEnvVars["DEVSPACE_IMAGE_TAG"] = imageTag - - bootstrapNodes, err := libnode.FindManyWithLabel(donMetadata.NodesMetadata, &types.Label{Key: libnode.NodeTypeKey, Value: types.BootstrapNode}, libnode.EqualLabels) - if err != nil { - return nil, errors.Wrap(err, "failed to find bootstrap nodes") - } - - for i, btNode := range bootstrapNodes { - writeErr := writeOverrides(btNode, i, types.BootstrapNode, j, input, donMetadata, cribConfigsDirAbs) - if writeErr != nil { - return nil, writeErr + for i, nodeMetadata := range donMetadata.NodesMetadata { + configToml, secrets, confSecretsErr := getConfigAndSecretsForNode(nodeMetadata, j, input, donMetadata) + if confSecretsErr != nil { + return nil, confSecretsErr } + nodeSpec, confSecretsErr := getNodeSpecForNode(nodeMetadata, j, input, donMetadata) + if confSecretsErr != nil { + return nil, errors.Wrapf(confSecretsErr, "failed to get node spec for %s", donMetadata.Name) + } + cFunc := nodev1.Component(&nodev1.Props{ + Namespace: input.Namespace, + Image: fmt.Sprintf("%s:%s", imageName, imageTag), + AppInstanceName: fmt.Sprintf("%s-%d", donMetadata.Name, i), + // passing as config not as override + Config: *configToml, + SecretsOverrides: map[string]string{ + "overrides": *secrets, + }, + EnvVars: nodeSpec.Node.EnvVars, + }) + componentFuncs = append(componentFuncs, cFunc) } + } - workerNodes, err := libnode.FindManyWithLabel(donMetadata.NodesMetadata, &types.Label{Key: libnode.NodeTypeKey, Value: types.WorkerNode}, libnode.EqualLabels) - if err != nil { - return nil, errors.Wrap(err, "failed to find worker nodes") - } + plan := crib.NewPlan( + "nodesets", + crib.Namespace(input.Namespace), + crib.ComponentSet( + componentFuncs..., + ), + ) - for i, workerNode := range workerNodes { - writeErr := writeOverrides(workerNode, i, types.WorkerNode, j, input, donMetadata, cribConfigsDirAbs) - if writeErr != nil { - return nil, writeErr - } - } + planState, err := plan.Apply(context.Background()) + if err != nil { + return nil, errors.Wrap(err, "failed to apply plan") + } - deployDonEnvVars["DON_BOOT_NODE_COUNT"] = strconv.Itoa(len(bootstrapNodes)) - deployDonEnvVars["DON_NODE_COUNT"] = strconv.Itoa(len(workerNodes)) - // IMPORTANT: CRIB will deploy gateway only if don_type == "gateway", in other cases the DON_TYPE value has no other impact than being uses in release/service/etc names - deployDonEnvVars["DON_TYPE"] = donMetadata.Name + // Setting outputs based on the Plan Results + nodeComponents := planState.ComponentByName(nodev1.ComponentName) - _, deployErr := input.NixShell.RunCommandWithEnvVars("devspace run deploy-don --no-warn", deployDonEnvVars) - if deployErr != nil { - return nil, errors.Wrap(deployErr, "failed to run devspace run deploy-don") - } + var nodeResults []nodev1.Result - nsOutput, err := infra.ReadNodeSetURL(filepath.Join(".", input.CribConfigsDir), donMetadata) - if err != nil { - return nil, errors.Wrap(err, "failed to read node set URLs from file") - } + for component := range nodeComponents { + res := crib.ComponentState[nodev1.Result](component) + nodeResults = append(nodeResults, res) + fmt.Printf("Node API URL: %s\n", res.APIUrl()) + fmt.Printf("API Credentials: username: %s , password: %s\n", res.APICredentials.UserName, res.APICredentials.Password) + } - input.NodeSetInputs[j].Out = nsOutput + // setting outputs in a similar way as in func ReadNodeSetURL + for j := range input.Topology.DonsMetadata { + out := &ns.Output{ + // UseCache: true will disable deploying docker containers via CTF + UseCache: true, + CLNodes: []*clnode.Output{}, + } + // todo: for now this is hardcoded for a single don, we need to group results for each don + for _, res := range nodeResults { + out.CLNodes = append(out.CLNodes, &clnode.Output{ + // UseCache: true will disable deploying docker containers via CTF + UseCache: true, + Node: &clnode.NodeOut{ + APIAuthUser: res.APICredentials.UserName, + APIAuthPassword: res.APICredentials.Password, + ExternalURL: res.APIUrl(), + InternalURL: res.APIUrl(), + // todo: this should be simplified in the CTF types, we should just pass P2P port + InternalP2PUrl: fmt.Sprintf("http://%s:%d", res.HostName(), res.P2PPort), + InternalIP: res.HostName(), + }, + }) + } + input.NodeSetInputs[j].Out = out } return input.NodeSetInputs, nil } -func getConfigAndSecretsForNode(nodeMetadata *types.NodeMetadata, donIndex int, input *types.DeployCribDonsInput, donMetadata *types.DonMetadata) (*string, *string, error) { +func getNodeSpecForNode(nodeMetadata *types.NodeMetadata, donIndex int, input *types.DeployCribDonsInput, donMetadata *types.DonMetadata) (*clnode.Input, error) { nodeIndexStr, findErr := libnode.FindLabelValue(nodeMetadata, libnode.IndexKey) if findErr != nil { - return nil, nil, errors.Wrapf(findErr, "failed to find node index in nodeset %s", donMetadata.Name) + return nil, errors.Wrapf(findErr, "failed to find node index in nodeset %s", donMetadata.Name) } nodeIndex, convErr := strconv.Atoi(nodeIndexStr) if convErr != nil { - return nil, nil, errors.Wrapf(convErr, "failed to convert node index '%s' to int in nodeset %s", nodeIndexStr, donMetadata.Name) + return nil, errors.Wrapf(convErr, "failed to convert node index '%s' to int in nodeset %s", nodeIndexStr, donMetadata.Name) } - cleanedToml, tomlErr := cleanToml(input.NodeSetInputs[donIndex].NodeSpecs[nodeIndex].Node.TestConfigOverrides) + nodeSpec := input.NodeSetInputs[donIndex].NodeSpecs[nodeIndex] + return nodeSpec, nil +} + +func getConfigAndSecretsForNode(nodeMetadata *types.NodeMetadata, donIndex int, input *types.DeployCribDonsInput, donMetadata *types.DonMetadata) (*string, *string, error) { + nodeSpec, err := getNodeSpecForNode(nodeMetadata, donIndex, input, donMetadata) + if err != nil { + return nil, nil, errors.Wrap(err, "failed to get node spec") + } + cleanedToml, tomlErr := cleanToml(nodeSpec.Node.TestConfigOverrides) if tomlErr != nil { return nil, nil, errors.Wrap(tomlErr, "failed to clean TOML") } // Merge user overrides - cleanedUserToml, tomlErr := cleanToml(input.NodeSetInputs[donIndex].NodeSpecs[nodeIndex].Node.UserConfigOverrides) + cleanedUserToml, tomlErr := cleanToml(nodeSpec.Node.UserConfigOverrides) if tomlErr != nil { return nil, nil, errors.Wrap(tomlErr, "failed to clean user TOML") } @@ -245,7 +279,7 @@ func getConfigAndSecretsForNode(nodeMetadata *types.NodeMetadata, donIndex int, return nil, nil, errors.Wrap(err, "failed to merge TOML") } - secretsFileBytes := []byte(input.NodeSetInputs[donIndex].NodeSpecs[nodeIndex].Node.TestSecretsOverrides) + secretsFileBytes := []byte(nodeSpec.Node.TestSecretsOverrides) tomlString := string(finalToml) secretsString := string(secretsFileBytes) diff --git a/system-tests/lib/cre/crib/crib_v2.go b/system-tests/lib/cre/crib/crib_v2.go deleted file mode 100644 index 9b278f0fed6..00000000000 --- a/system-tests/lib/cre/crib/crib_v2.go +++ /dev/null @@ -1,104 +0,0 @@ -package crib - -import ( - "context" - "fmt" - "github.com/pkg/errors" - "github.com/smartcontractkit/chainlink-testing-framework/framework/components/clnode" - ns "github.com/smartcontractkit/chainlink-testing-framework/framework/components/simple_node_set" - "github.com/smartcontractkit/chainlink/system-tests/lib/cre/types" - "github.com/smartcontractkit/crib-sdk/crib" - nodev1 "github.com/smartcontractkit/crib-sdk/crib/composite/chainlink/node/v1" -) - -// todo: after it's done it will replace crib.DeployDons -func DeployDonsWithCribSDK(input *types.DeployCribDonsInput) ([]*types.CapabilitiesAwareNodeSet, error) { - if input == nil { - return nil, errors.New("DeployCribDonsInput is nil") - } - - if valErr := input.Validate(); valErr != nil { - return nil, errors.Wrap(valErr, "input validation failed") - } - - componentFuncs := make([]crib.ComponentFunc, 0) - - for j, donMetadata := range input.Topology.DonsMetadata { - - imageName, imageTag, err := imageNameAndTag(input, j) - if err != nil { - return nil, errors.Wrapf(err, "failed to get image name and tag for %s", donMetadata.Name) - } - - for i, nodeMetadata := range donMetadata.NodesMetadata { - configToml, secrets, confSecretsErr := getConfigAndSecretsForNode(nodeMetadata, j, input, donMetadata) - if confSecretsErr != nil { - return nil, confSecretsErr - } - cFunc := nodev1.Component(&nodev1.Props{ - Namespace: input.Namespace, - Image: fmt.Sprintf("%s:%s", imageName, imageTag), - AppInstanceName: fmt.Sprintf("%s-%d", donMetadata.Name, i), - // passing as config not as override - Config: *configToml, - SecretsOverrides: map[string]string{ - "overrides": *secrets, - }, - }) - componentFuncs = append(componentFuncs, cFunc) - } - } - - plan := crib.NewPlan( - "nodesets", - crib.Namespace(input.Namespace), - crib.ComponentSet( - componentFuncs..., - ), - ) - - planState, err := plan.Apply(context.Background()) - if err != nil { - return nil, errors.Wrap(err, "failed to apply plan") - } - - // Setting outputs based on the Plan Results - nodeComponents := planState.ComponentByName(nodev1.ComponentName) - - var nodeResults []nodev1.Result - - for component := range nodeComponents { - res := crib.ComponentState[nodev1.Result](component) - nodeResults = append(nodeResults, res) - fmt.Printf("Node API URL: %s\n", res.APIUrl()) - fmt.Printf("API Credentials: username: %s , password: %s\n", res.APICredentials.UserName, res.APICredentials.Password) - } - - // setting outputs in a similar way as in func ReadNodeSetURL - for j := range input.Topology.DonsMetadata { - out := &ns.Output{ - // UseCache: true will disable deploying docker containers via CTF - UseCache: true, - CLNodes: []*clnode.Output{}, - } - // todo: for now this is hardcoded for a single don, we need to group results for each don - for _, res := range nodeResults { - out.CLNodes = append(out.CLNodes, &clnode.Output{ - // UseCache: true will disable deploying docker containers via CTF - UseCache: true, - Node: &clnode.NodeOut{ - APIAuthUser: res.APICredentials.UserName, - APIAuthPassword: res.APICredentials.Password, - ExternalURL: res.APIUrl(), - InternalURL: res.APIUrl(), - // todo: this should be simplified in the CTF types, we should just pass P2P port - InternalP2PUrl: fmt.Sprintf("http://%s:%d", res.HostName(), res.P2PPort), - InternalIP: res.HostName(), - }, - }) - } - input.NodeSetInputs[j].Out = out - } - - return input.NodeSetInputs, nil -} diff --git a/system-tests/lib/cre/environment/dons.go b/system-tests/lib/cre/environment/dons.go index e54df660c98..62362084024 100644 --- a/system-tests/lib/cre/environment/dons.go +++ b/system-tests/lib/cre/environment/dons.go @@ -30,7 +30,7 @@ func StartDONs(lggr zerolog.Logger, nixShell *nix.Shell, topology *cretypes.Topo } var devspaceErr error - capabilitiesAwareNodeSets, devspaceErr = crib.DeployDonsWithCribSDK(deployCribDonsInput) + capabilitiesAwareNodeSets, devspaceErr = crib.DeployDons(deployCribDonsInput) if devspaceErr != nil { return nil, pkgerrors.Wrap(devspaceErr, "failed to deploy Dons with crib-sdk") } From 5463ede1c29fd6240500e5b16e7d724ffc8e1994 Mon Sep 17 00:00:00 2001 From: Radek Scheibinger Date: Tue, 15 Jul 2025 13:30:51 +0200 Subject: [PATCH 24/37] update go.mods using gomod-local-update tool --- core/scripts/go.mod | 6 ++---- system-tests/lib/go.mod | 6 +++--- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/core/scripts/go.mod b/core/scripts/go.mod index d1909809ebd..e4c4ebdade3 100644 --- a/core/scripts/go.mod +++ b/core/scripts/go.mod @@ -9,12 +9,10 @@ replace github.com/smartcontractkit/chainlink/deployment => ../../deployment replace github.com/smartcontractkit/chainlink/system-tests/lib => ../../system-tests/lib -replace github.com/smartcontractkit/crib-sdk => ../../../crib-sdk - // Using a separate `require` here to avoid surrounding line changes // creating potential merge conflicts. require ( - github.com/smartcontractkit/chainlink/deployment v0.0.0-20250402195829-918b2a02a926 + github.com/smartcontractkit/chainlink/deployment v0.0.0-20250715014601-155615a8074c github.com/smartcontractkit/chainlink/v2 v2.22.1-por-beta.5.0.20250430150202-611699e34308 ) @@ -51,7 +49,7 @@ require ( github.com/smartcontractkit/chainlink-testing-framework/framework/components/dockercompose v0.1.2 github.com/smartcontractkit/chainlink-testing-framework/lib v1.54.3 github.com/smartcontractkit/chainlink-testing-framework/seth v1.51.2 - github.com/smartcontractkit/chainlink/system-tests/lib v0.0.0-00010101000000-000000000000 + github.com/smartcontractkit/chainlink/system-tests/lib v0.0.0-20250715014601-155615a8074c github.com/smartcontractkit/libocr v0.0.0-20250604151357-2fe8c61bbf2e github.com/spf13/cobra v1.9.1 github.com/spf13/viper v1.19.0 diff --git a/system-tests/lib/go.mod b/system-tests/lib/go.mod index 301186b2792..552057844cc 100644 --- a/system-tests/lib/go.mod +++ b/system-tests/lib/go.mod @@ -4,7 +4,7 @@ go 1.24.4 // Using a separate `require` here to avoid surrounding line changes // creating potential merge conflicts. -require github.com/smartcontractkit/chainlink/v2 v2.22.1-por-beta.5.0.20250430150202-611699e34308 +require github.com/smartcontractkit/chainlink/v2 v2.0.0-20250715014601-155615a8074c // Make sure we're working with the latest chainlink libs replace github.com/smartcontractkit/chainlink/v2 => ../../ @@ -31,8 +31,8 @@ require ( github.com/smartcontractkit/chainlink-testing-framework/framework v0.9.9 github.com/smartcontractkit/chainlink-testing-framework/lib v1.54.3 github.com/smartcontractkit/chainlink-testing-framework/seth v1.51.2 - github.com/smartcontractkit/chainlink/deployment v0.0.0-00010101000000-000000000000 - github.com/smartcontractkit/crib-sdk v0.0.0-20250622214554-fbaddd1c519b + github.com/smartcontractkit/chainlink/deployment v0.0.0-20250715014601-155615a8074c + github.com/smartcontractkit/crib-sdk v0.0.0-20250715014601-155615a8074c go.uber.org/ratelimit v0.3.1 golang.org/x/sync v0.15.0 google.golang.org/grpc v1.72.0 From 6ebcc98f9238319e2926aef1c80ec9213ad259ea Mon Sep 17 00:00:00 2001 From: Radek Scheibinger Date: Tue, 15 Jul 2025 13:52:33 +0200 Subject: [PATCH 25/37] update crib-sdk refs and go mod tidy --- core/scripts/go.mod | 2 +- core/scripts/go.sum | 2 ++ system-tests/lib/go.mod | 6 ++---- system-tests/lib/go.sum | 8 ++++---- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/core/scripts/go.mod b/core/scripts/go.mod index e4c4ebdade3..a22738ccfcc 100644 --- a/core/scripts/go.mod +++ b/core/scripts/go.mod @@ -476,7 +476,7 @@ require ( github.com/smartcontractkit/chainlink-solana v1.1.2-0.20250702130714-144d99d2d871 // indirect github.com/smartcontractkit/chainlink-testing-framework/parrot v0.6.2 // indirect github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20250528121202-292529af39df // indirect - github.com/smartcontractkit/crib-sdk v0.0.0-20250622214554-fbaddd1c519b // indirect + github.com/smartcontractkit/crib-sdk v0.0.0-20250714190505-2cad28190e21 // indirect github.com/smartcontractkit/freeport v0.1.1 // indirect github.com/smartcontractkit/grpc-proxy v0.0.0-20240830132753-a7e17fec5ab7 // indirect github.com/smartcontractkit/mcms v0.19.2 // indirect diff --git a/core/scripts/go.sum b/core/scripts/go.sum index 661c1298e33..60e276af323 100644 --- a/core/scripts/go.sum +++ b/core/scripts/go.sum @@ -1585,6 +1585,8 @@ github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20250528121202-2925 github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20250528121202-292529af39df/go.mod h1:EQl7VcrSvpSNOL8qWkc2CV/2cOII5CIkKTeIqzqCWKk= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20250422175525-b7575d96bd4d h1:qLmSOOtB/Ogn79eIDkuujOu8M5Jd747V1H7Brk/nTvo= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20250422175525-b7575d96bd4d/go.mod h1:4WhGgCA0smBbBud5mK+jnDb2wwndMvoqaWBJ3OV/7Bw= +github.com/smartcontractkit/crib-sdk v0.0.0-20250714190505-2cad28190e21 h1:4NEKF/xXWrP/Tv3ekgo5XgI0NnBPBFkiuVUnyIrgcDI= +github.com/smartcontractkit/crib-sdk v0.0.0-20250714190505-2cad28190e21/go.mod h1:S7GYRcDSKifBeFR1Z3/nl1UNr8M0n694SPP6kTg95qM= github.com/smartcontractkit/freeport v0.1.1 h1:B5fhEtmgomdIhw03uPVbVTP6oPv27fBhZsoZZMSIS8I= github.com/smartcontractkit/freeport v0.1.1/go.mod h1:T4zH9R8R8lVWKfU7tUvYz2o2jMv1OpGCdpY2j2QZXzU= github.com/smartcontractkit/grpc-proxy v0.0.0-20240830132753-a7e17fec5ab7 h1:12ijqMM9tvYVEm+nR826WsrNi6zCKpwBhuApq127wHs= diff --git a/system-tests/lib/go.mod b/system-tests/lib/go.mod index 552057844cc..89481aac944 100644 --- a/system-tests/lib/go.mod +++ b/system-tests/lib/go.mod @@ -4,15 +4,13 @@ go 1.24.4 // Using a separate `require` here to avoid surrounding line changes // creating potential merge conflicts. -require github.com/smartcontractkit/chainlink/v2 v2.0.0-20250715014601-155615a8074c +require github.com/smartcontractkit/chainlink/v2 v2.22.1-por-beta.5.0.20250430150202-611699e34308 // Make sure we're working with the latest chainlink libs replace github.com/smartcontractkit/chainlink/v2 => ../../ replace github.com/smartcontractkit/chainlink/deployment => ../../deployment -replace github.com/smartcontractkit/crib-sdk => ../../../crib-sdk - require ( github.com/Masterminds/semver/v3 v3.3.1 github.com/ethereum/go-ethereum v1.15.7 @@ -32,7 +30,7 @@ require ( github.com/smartcontractkit/chainlink-testing-framework/lib v1.54.3 github.com/smartcontractkit/chainlink-testing-framework/seth v1.51.2 github.com/smartcontractkit/chainlink/deployment v0.0.0-20250715014601-155615a8074c - github.com/smartcontractkit/crib-sdk v0.0.0-20250715014601-155615a8074c + github.com/smartcontractkit/crib-sdk v0.0.0-20250714190505-2cad28190e21 go.uber.org/ratelimit v0.3.1 golang.org/x/sync v0.15.0 google.golang.org/grpc v1.72.0 diff --git a/system-tests/lib/go.sum b/system-tests/lib/go.sum index a64c31cd08e..427523dd4bc 100644 --- a/system-tests/lib/go.sum +++ b/system-tests/lib/go.sum @@ -252,8 +252,7 @@ github.com/bytedance/sonic v1.12.3/go.mod h1:B8Gt/XvtZ3Fqj+iSKMypzymZxw/FVwgIGKz github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= github.com/bytedance/sonic/loader v0.2.0 h1:zNprn+lsIP06C/IqCHs3gPQIvnvpKbbxyXQP1iU4kWM= github.com/bytedance/sonic/loader v0.2.0/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= -github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.74 h1:bEcaS0Vqt1urlk2vrI0NN/2iu0yjeU+O3bPQCnbD+Qw= -github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.74/go.mod h1:JFGcyqRE2qXgHsBw27/L0D1uEJtLhUm2Vqx4dFOHSzA= +github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.76 h1:3p3ygjYCNZ9wqPbbQ7oeDZEhY7xX8UPJs/pOuhxBP+E= github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.76/go.mod h1:JFGcyqRE2qXgHsBw27/L0D1uEJtLhUm2Vqx4dFOHSzA= github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.8 h1:vtT/G9hb1fstaeS52wcSYDKmZY0qExoroP5lhiFQe8U= github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.8/go.mod h1:7uUKWwq8GOkVQFkVH9ymTajphRFJM6HeHhIQ3S/tFJw= @@ -553,8 +552,7 @@ github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/o github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= -github.com/go-playground/validator/v10 v10.26.0 h1:SP05Nqhjcvz81uJaRfEV0YBSSSGMc/iMaVtFbr3Sw2k= -github.com/go-playground/validator/v10 v10.26.0/go.mod h1:I5QpIEbmr8On7W0TktmJAumgzX4CA1XNl4ZmDuVHKKo= +github.com/go-playground/validator/v10 v10.27.0 h1:w8+XrWVMhGkxOaaowyKH35gFydVHOvC0/uWoy2Fzwn4= github.com/go-playground/validator/v10 v10.27.0/go.mod h1:I5QpIEbmr8On7W0TktmJAumgzX4CA1XNl4ZmDuVHKKo= github.com/go-resty/resty/v2 v2.16.3 h1:zacNT7lt4b8M/io2Ahj6yPypL7bqx9n1iprfQuodV+E= github.com/go-resty/resty/v2 v2.16.3/go.mod h1:hkJtXbA2iKHzJheXYvQ8snQES5ZLGKMwQ07xAwp/fiA= @@ -1339,6 +1337,8 @@ github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20250528121202-2925 github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20250528121202-292529af39df/go.mod h1:EQl7VcrSvpSNOL8qWkc2CV/2cOII5CIkKTeIqzqCWKk= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20250422175525-b7575d96bd4d h1:qLmSOOtB/Ogn79eIDkuujOu8M5Jd747V1H7Brk/nTvo= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20250422175525-b7575d96bd4d/go.mod h1:4WhGgCA0smBbBud5mK+jnDb2wwndMvoqaWBJ3OV/7Bw= +github.com/smartcontractkit/crib-sdk v0.0.0-20250714190505-2cad28190e21 h1:4NEKF/xXWrP/Tv3ekgo5XgI0NnBPBFkiuVUnyIrgcDI= +github.com/smartcontractkit/crib-sdk v0.0.0-20250714190505-2cad28190e21/go.mod h1:S7GYRcDSKifBeFR1Z3/nl1UNr8M0n694SPP6kTg95qM= github.com/smartcontractkit/freeport v0.1.1 h1:B5fhEtmgomdIhw03uPVbVTP6oPv27fBhZsoZZMSIS8I= github.com/smartcontractkit/freeport v0.1.1/go.mod h1:T4zH9R8R8lVWKfU7tUvYz2o2jMv1OpGCdpY2j2QZXzU= github.com/smartcontractkit/grpc-proxy v0.0.0-20240830132753-a7e17fec5ab7 h1:12ijqMM9tvYVEm+nR826WsrNi6zCKpwBhuApq127wHs= From e30c82563812b46806b7725c763365fbd73c3cd1 Mon Sep 17 00:00:00 2001 From: Radek Scheibinger Date: Tue, 15 Jul 2025 14:06:57 +0200 Subject: [PATCH 26/37] info about local replace --- system-tests/lib/go.mod | 3 +++ 1 file changed, 3 insertions(+) diff --git a/system-tests/lib/go.mod b/system-tests/lib/go.mod index 89481aac944..0569827f974 100644 --- a/system-tests/lib/go.mod +++ b/system-tests/lib/go.mod @@ -11,6 +11,9 @@ replace github.com/smartcontractkit/chainlink/v2 => ../../ replace github.com/smartcontractkit/chainlink/deployment => ../../deployment +// Uncomment to work with local version of crib-sdk +// replace github.com/smartcontractkit/crib-sdk => ../../../crib-sdk + require ( github.com/Masterminds/semver/v3 v3.3.1 github.com/ethereum/go-ethereum v1.15.7 From a2c1fabcf2bbb1b3e1b9935011d73dd428b38dc8 Mon Sep 17 00:00:00 2001 From: Radek Scheibinger Date: Mon, 21 Jul 2025 09:36:41 +0200 Subject: [PATCH 27/37] gomods -w gomod-local-update --- core/scripts/go.mod | 6 +++--- deployment/go.mod | 2 +- integration-tests/go.mod | 4 ++-- integration-tests/load/go.mod | 6 +++--- system-tests/lib/go.mod | 4 ++-- system-tests/tests/go.mod | 6 +++--- 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/core/scripts/go.mod b/core/scripts/go.mod index 93b36521df2..4faa3b5eadb 100644 --- a/core/scripts/go.mod +++ b/core/scripts/go.mod @@ -12,8 +12,8 @@ replace github.com/smartcontractkit/chainlink/system-tests/lib => ../../system-t // Using a separate `require` here to avoid surrounding line changes // creating potential merge conflicts. require ( - github.com/smartcontractkit/chainlink/deployment v0.0.0-20250715014601-155615a8074c - github.com/smartcontractkit/chainlink/v2 v2.22.1-por-beta.5.0.20250430150202-611699e34308 + github.com/smartcontractkit/chainlink/deployment v0.0.0-20250718211650-37ca415e72a0 + github.com/smartcontractkit/chainlink/v2 v2.0.0-20250718211650-37ca415e72a0 ) require ( @@ -49,7 +49,7 @@ require ( github.com/smartcontractkit/chainlink-testing-framework/framework/components/dockercompose v0.1.2 github.com/smartcontractkit/chainlink-testing-framework/lib v1.54.4 github.com/smartcontractkit/chainlink-testing-framework/seth v1.51.2 - github.com/smartcontractkit/chainlink/system-tests/lib v0.0.0-00010101000000-000000000000 + github.com/smartcontractkit/chainlink/system-tests/lib v0.0.0-20250718211650-37ca415e72a0 github.com/smartcontractkit/libocr v0.0.0-20250703184212-d054fa589c01 github.com/spf13/cobra v1.9.1 github.com/spf13/viper v1.19.0 diff --git a/deployment/go.mod b/deployment/go.mod index 1362bc77c9c..c519e0d6d66 100644 --- a/deployment/go.mod +++ b/deployment/go.mod @@ -7,7 +7,7 @@ replace github.com/smartcontractkit/chainlink/v2 => ../ // Using a separate inline `require` here to avoid surrounding line changes // creating potential merge conflicts. -require github.com/smartcontractkit/chainlink/v2 v2.22.1-por-beta.5.0.20250430150202-611699e34308 +require github.com/smartcontractkit/chainlink/v2 v2.0.0-20250718211650-37ca415e72a0 require ( dario.cat/mergo v1.0.1 diff --git a/integration-tests/go.mod b/integration-tests/go.mod index 187cc48df64..78028f9bebc 100644 --- a/integration-tests/go.mod +++ b/integration-tests/go.mod @@ -10,8 +10,8 @@ replace github.com/smartcontractkit/chainlink/deployment => ../deployment // Using a separate `require` here to avoid surrounding line changes // creating potential merge conflicts. require ( - github.com/smartcontractkit/chainlink/deployment v0.0.0-20250402195829-918b2a02a926 - github.com/smartcontractkit/chainlink/v2 v2.22.1-por-beta.5.0.20250430150202-611699e34308 + github.com/smartcontractkit/chainlink/deployment v0.0.0-20250718211650-37ca415e72a0 + github.com/smartcontractkit/chainlink/v2 v2.0.0-20250718211650-37ca415e72a0 ) require ( diff --git a/integration-tests/load/go.mod b/integration-tests/load/go.mod index f42ff308e6a..44d8523a2e8 100644 --- a/integration-tests/load/go.mod +++ b/integration-tests/load/go.mod @@ -12,9 +12,9 @@ replace github.com/smartcontractkit/chainlink/integration-tests => ../ // Using a separate `require` here to avoid surrounding line changes // creating potential merge conflicts. require ( - github.com/smartcontractkit/chainlink/deployment v0.0.0-20250402195829-918b2a02a926 - github.com/smartcontractkit/chainlink/integration-tests v0.0.0-20250221184958-34c2d51a64bc - github.com/smartcontractkit/chainlink/v2 v2.22.1-por-beta.5.0.20250430150202-611699e34308 + github.com/smartcontractkit/chainlink/deployment v0.0.0-20250718211650-37ca415e72a0 + github.com/smartcontractkit/chainlink/integration-tests v0.0.0-20250718211650-37ca415e72a0 + github.com/smartcontractkit/chainlink/v2 v2.0.0-20250718211650-37ca415e72a0 ) require ( diff --git a/system-tests/lib/go.mod b/system-tests/lib/go.mod index c09b18a9a7f..b4267991b32 100644 --- a/system-tests/lib/go.mod +++ b/system-tests/lib/go.mod @@ -4,7 +4,7 @@ go 1.24.4 // Using a separate `require` here to avoid surrounding line changes // creating potential merge conflicts. -require github.com/smartcontractkit/chainlink/v2 v2.22.1-por-beta.5.0.20250430150202-611699e34308 +require github.com/smartcontractkit/chainlink/v2 v2.0.0-20250718211650-37ca415e72a0 // Make sure we're working with the latest chainlink libs replace github.com/smartcontractkit/chainlink/v2 => ../../ @@ -34,7 +34,7 @@ require ( github.com/smartcontractkit/chainlink-testing-framework/framework v0.9.9 github.com/smartcontractkit/chainlink-testing-framework/lib v1.54.4 github.com/smartcontractkit/chainlink-testing-framework/seth v1.51.2 - github.com/smartcontractkit/chainlink/deployment v0.0.0-20250715014601-155615a8074c + github.com/smartcontractkit/chainlink/deployment v0.0.0-20250718211650-37ca415e72a0 github.com/smartcontractkit/crib-sdk v0.0.0-20250714190505-2cad28190e21 go.uber.org/ratelimit v0.3.1 golang.org/x/sync v0.16.0 diff --git a/system-tests/tests/go.mod b/system-tests/tests/go.mod index 98f305aaa81..2df2829ea62 100644 --- a/system-tests/tests/go.mod +++ b/system-tests/tests/go.mod @@ -4,7 +4,7 @@ go 1.24.4 // Using a separate `require` here to avoid surrounding line changes // creating potential merge conflicts. -require github.com/smartcontractkit/chainlink/v2 v2.22.1-por-beta.5.0.20250430150202-611699e34308 +require github.com/smartcontractkit/chainlink/v2 v2.0.0-20250718211650-37ca415e72a0 // Make sure we're working with the latest chainlink libs replace github.com/smartcontractkit/chainlink/v2 => ../../ @@ -34,8 +34,8 @@ require ( github.com/smartcontractkit/chainlink-testing-framework/lib v1.54.4 github.com/smartcontractkit/chainlink-testing-framework/seth v1.51.2 github.com/smartcontractkit/chainlink-testing-framework/wasp v1.51.1 - github.com/smartcontractkit/chainlink/deployment v0.0.0-00010101000000-000000000000 - github.com/smartcontractkit/chainlink/system-tests/lib v0.0.0-20250402195829-918b2a02a926 + github.com/smartcontractkit/chainlink/deployment v0.0.0-20250718211650-37ca415e72a0 + github.com/smartcontractkit/chainlink/system-tests/lib v0.0.0-20250718211650-37ca415e72a0 github.com/smartcontractkit/libocr v0.0.0-20250703184212-d054fa589c01 github.com/spf13/cobra v1.9.1 github.com/stretchr/testify v1.10.0 From 93382de41a20463bb752d07479237766e4df4cc3 Mon Sep 17 00:00:00 2001 From: Radek Scheibinger Date: Mon, 21 Jul 2025 09:59:41 +0200 Subject: [PATCH 28/37] update go mods after making crib-sdk public --- core/scripts/go.mod | 13 ++++--- core/scripts/go.sum | 83 ++++++++++++++++++++++++++------------- system-tests/lib/go.mod | 6 ++- system-tests/lib/go.sum | 86 ++++++++++++++++++++++++++++++----------- 4 files changed, 131 insertions(+), 57 deletions(-) diff --git a/core/scripts/go.mod b/core/scripts/go.mod index 4faa3b5eadb..f72f28efddb 100644 --- a/core/scripts/go.mod +++ b/core/scripts/go.mod @@ -52,7 +52,7 @@ require ( github.com/smartcontractkit/chainlink/system-tests/lib v0.0.0-20250718211650-37ca415e72a0 github.com/smartcontractkit/libocr v0.0.0-20250703184212-d054fa589c01 github.com/spf13/cobra v1.9.1 - github.com/spf13/viper v1.19.0 + github.com/spf13/viper v1.20.1 github.com/stretchr/testify v1.10.0 github.com/tidwall/gjson v1.18.0 github.com/umbracle/ethgo v0.1.3 @@ -263,7 +263,7 @@ require ( github.com/go-openapi/swag v0.23.0 // 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.25.0 // indirect + github.com/go-playground/validator/v10 v10.27.0 // indirect github.com/go-resty/resty/v2 v2.16.5 // indirect github.com/go-viper/mapstructure/v2 v2.3.0 // indirect github.com/go-webauthn/webauthn v0.9.4 // indirect @@ -314,7 +314,6 @@ require ( github.com/hashicorp/go-retryablehttp v0.7.7 // indirect github.com/hashicorp/go-version v1.7.0 // indirect github.com/hashicorp/golang-lru v1.0.2 // indirect - github.com/hashicorp/hcl v1.0.0 // indirect github.com/hashicorp/yamux v0.1.2 // indirect github.com/hasura/go-graphql-client v0.13.1 // indirect github.com/hdevalence/ed25519consensus v0.2.0 // indirect @@ -380,6 +379,7 @@ require ( github.com/mitchellh/hashstructure/v2 v2.0.2 // indirect github.com/mitchellh/mapstructure v1.5.1-0.20220423185008-bf980b35cac4 // indirect github.com/mitchellh/pointerstructure v1.2.0 // indirect + github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/moby/buildkit v0.20.1 // indirect github.com/moby/docker-image-spec v1.3.1 // indirect github.com/moby/go-archive v0.1.0 // indirect @@ -438,8 +438,7 @@ require ( github.com/rs/xid v1.5.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/ryanuber/go-glob v1.0.0 // indirect - github.com/sagikazarmark/locafero v0.4.0 // indirect - github.com/sagikazarmark/slog-shim v0.1.0 // indirect + github.com/sagikazarmark/locafero v0.7.0 // indirect github.com/samber/lo v1.51.0 // indirect github.com/sanity-io/litter v1.5.5 // indirect github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // indirect @@ -474,7 +473,7 @@ require ( github.com/smartcontractkit/chainlink-solana v1.1.2-0.20250708220600-853616d583f4 // indirect github.com/smartcontractkit/chainlink-testing-framework/parrot v0.6.2 // indirect github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20250701132001-f8be142155b6 // indirect - github.com/smartcontractkit/crib-sdk v0.0.0-20250714190505-2cad28190e21 // indirect + github.com/smartcontractkit/crib-sdk v0.1.1-0.20250718222656-11e009265e26 // indirect github.com/smartcontractkit/freeport v0.1.1 // indirect github.com/smartcontractkit/grpc-proxy v0.0.0-20240830132753-a7e17fec5ab7 // indirect github.com/smartcontractkit/mcms v0.20.2 // indirect @@ -494,6 +493,7 @@ require ( github.com/tendermint/go-amino v0.16.0 // indirect github.com/testcontainers/testcontainers-go v0.37.0 // indirect github.com/testcontainers/testcontainers-go/modules/compose v0.37.0 // indirect + github.com/theckman/yacspin v0.13.12 // indirect github.com/theodesp/go-heaps v0.0.0-20190520121037-88e35354fe0a // indirect github.com/theupdateframework/notary v0.7.0 // indirect github.com/tidwall/match v1.1.1 // indirect @@ -567,6 +567,7 @@ require ( golang.org/x/arch v0.11.0 // indirect golang.org/x/crypto v0.40.0 // indirect golang.org/x/exp v0.0.0-20250711185948-6ae5c78190dc // indirect + golang.org/x/lint v0.0.0-20241112194109-818c5a804067 // indirect golang.org/x/mod v0.26.0 // indirect golang.org/x/net v0.42.0 // indirect golang.org/x/sync v0.16.0 // indirect diff --git a/core/scripts/go.sum b/core/scripts/go.sum index 2b218694398..805b72a5e32 100644 --- a/core/scripts/go.sum +++ b/core/scripts/go.sum @@ -54,8 +54,8 @@ cosmossdk.io/store v1.1.1 h1:NA3PioJtWDVU7cHHeyvdva5J/ggyLDkyH0hGHl2804Y= cosmossdk.io/store v1.1.1/go.mod h1:8DwVTz83/2PSI366FERGbWSH7hL6sB7HbYp8bqksNwM= cosmossdk.io/x/tx v0.13.7 h1:8WSk6B/OHJLYjiZeMKhq7DK7lHDMyK0UfDbBMxVmeOI= cosmossdk.io/x/tx v0.13.7/go.mod h1:V6DImnwJMTq5qFjeGWpXNiT/fjgE4HtmclRmTqRVM3w= -dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s= -dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= +dario.cat/mergo v1.0.2 h1:85+piFYR1tMbRrLcDwR18y4UKJ3aH1Tbzi24VRW1TK8= +dario.cat/mergo v1.0.2/go.mod h1:E/hbnu0NxMFBjpMIE34DRGLWqDy0g5FuKDhCb31ngxA= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= @@ -91,9 +91,13 @@ github.com/Khan/genqlient v0.7.0 h1:GZ1meyRnzcDTK48EjqB8t3bcfYvHArCUUvgOwpz1D4w= github.com/Khan/genqlient v0.7.0/go.mod h1:HNyy3wZvuYwmW3Y7mkoQLZsa/R5n5yIRajS1kPBvSFM= github.com/MakeNowJust/heredoc v1.0.0 h1:cXCdzVdstXyiTqTvfqk9SDHpKNjxuom+DOlyEeQ4pzQ= github.com/MakeNowJust/heredoc v1.0.0/go.mod h1:mG5amYoWBHf8vpLOuehzbGGw0EHxpZZ6lCpQ4fNJ8LE= +github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI= +github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= github.com/Masterminds/semver/v3 v3.3.1 h1:QtNSWtVZ3nBfk8mAOu/B6v7FMJ+NHTIgUPi7rj+4nv4= github.com/Masterminds/semver/v3 v3.3.1/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM= +github.com/Masterminds/sprig/v3 v3.3.0 h1:mQh0Yrg1XPo6vjYXgtf5OtijNAKJRNcTdOOGZe3tPhs= +github.com/Masterminds/sprig/v3 v3.3.0/go.mod h1:Zy1iXRYNqNLUolqCpL4uhk6SHUMAOSCzdgBfDb35Lz0= github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= github.com/Microsoft/hcsshim v0.12.9 h1:2zJy5KA+l0loz1HzEGqyNnjd3fyZA31ZBCGKacp6lLg= @@ -130,6 +134,10 @@ github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b h1:mimo19zliBX/vS github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b/go.mod h1:fvzegU4vN3H1qMT+8wDmzjAcDONcgo2/SZ/TyfdUOFs= github.com/alexbrainman/sspi v0.0.0-20210105120005-909beea2cc74 h1:Kk6a4nehpJ3UuJRqlA3JxYxBZEqCeOmATOvrbT4p9RA= github.com/alexbrainman/sspi v0.0.0-20210105120005-909beea2cc74/go.mod h1:cEWa1LVoE5KvSD9ONXsZrj0z6KqySlCCNKHlLzbqAt4= +github.com/alexflint/go-arg v1.5.1 h1:nBuWUCpuRy0snAG+uIJ6N0UvYxpxA0/ghA/AaHxlT8Y= +github.com/alexflint/go-arg v1.5.1/go.mod h1:A7vTJzvjoaSTypg4biM5uYNTkJ27SkNTArtYXnlqVO8= +github.com/alexflint/go-scalar v1.2.0 h1:WR7JPKkeNpnYIOfHRa7ivM21aWAdHD0gEWHCx+WQBRw= +github.com/alexflint/go-scalar v1.2.0/go.mod h1:LoFvNMqS1CPrMVltza4LvnGKhaSpc3oyLEBUZVhhS2o= github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM= github.com/allegro/bigcache v1.2.1 h1:hg1sY1raCwic3Vnsvje6TT7/pnZba83LeFck5NrFKSc= github.com/allegro/bigcache v1.2.1/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM= @@ -194,8 +202,8 @@ github.com/aws/aws-sdk-go-v2/service/sts v1.32.2 h1:CiS7i0+FUe+/YY1GvIBLLrR/XNGZ github.com/aws/aws-sdk-go-v2/service/sts v1.32.2/go.mod h1:HtaiBI8CjYoNVde8arShXb94UbQQi9L4EMr6D+xGBwo= github.com/aws/constructs-go/constructs/v10 v10.4.2 h1:+hDLTsFGLJmKIn0Dg20vWpKBrVnFrEWYgTEY5UiTEG8= github.com/aws/constructs-go/constructs/v10 v10.4.2/go.mod h1:cXsNCKDV+9eR9zYYfwy6QuE4uPFp6jsq6TtH1MwBx9w= -github.com/aws/jsii-runtime-go v1.104.0 h1:651Sh6J2FtatfnVzlOQ3/Ye1WWPAseZ6E/tSQxEKdSI= -github.com/aws/jsii-runtime-go v1.104.0/go.mod h1:7ZmQXxV0AAhhvv/GaHX4n6zbgA1tSRVdnQYAJbIhXHk= +github.com/aws/jsii-runtime-go v1.112.0 h1:7jusWZUgSTuSPLa2ZRv+siGuyoFSzFNk/TaHqlcFe6Y= +github.com/aws/jsii-runtime-go v1.112.0/go.mod h1:jiAbLN2Hz+7At3C59LsQyv8gK3HvfNYF2YFPkWLHll8= github.com/aws/smithy-go v1.22.0 h1:uunKnWlcoL3zO7q+gG2Pk53joueEOsnNB28QdMsmiMM= github.com/aws/smithy-go v1.22.0/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= github.com/aybabtme/rgbterm v0.0.0-20170906152045-cc83f3b3ce59 h1:WWB576BN5zNSZc/M9d/10pqEx5VHNhaQ/yOVAkmj5Yo= @@ -227,6 +235,8 @@ github.com/blendle/zapdriver v1.3.1/go.mod h1:mdXfREi6u5MArG4j9fewC+FGnXaBR+T4Ox github.com/block-vision/sui-go-sdk v1.0.6 h1:FysCc4TJC8v4BEBbCjJPDR4iR5eKqJT1dxGwsT67etg= github.com/block-vision/sui-go-sdk v1.0.6/go.mod h1:FyK1vGE8lWm9QA1fdQpf1agfXQSMbPT8AV1BICgx6d8= github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= +github.com/brianvoe/gofakeit/v7 v7.3.0 h1:TWStf7/lLpAjKw+bqwzeORo9jvrxToWEwp9b1J2vApQ= +github.com/brianvoe/gofakeit/v7 v7.3.0/go.mod h1:QXuPeBw164PJCzCUZVmgpgHJ3Llj49jSLVkKPMtxtxA= github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= github.com/btcsuite/btcd v0.22.0-beta.0.20220111032746-97732e52810c/go.mod h1:tjmYdS6MLJ5/s0Fj4DbLgSbDHbEqLJrtnHecBFkdz5M= github.com/btcsuite/btcd v0.23.5-0.20231215221805-96c9fd8078fd/go.mod h1:nm3Bko6zh6bWP60UxwoT5LzdGJsQJaPo6HjduXq9p6A= @@ -278,8 +288,10 @@ github.com/bytedance/sonic v1.12.3/go.mod h1:B8Gt/XvtZ3Fqj+iSKMypzymZxw/FVwgIGKz github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= github.com/bytedance/sonic/loader v0.2.0 h1:zNprn+lsIP06C/IqCHs3gPQIvnvpKbbxyXQP1iU4kWM= github.com/bytedance/sonic/loader v0.2.0/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= -github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.7.5 h1:rvc39Ol6z3MvaBzXkxFC6Nfsnixq/dRypushKDd7Nc0= -github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.7.5/go.mod h1:R/pdNYDYFQk+tuuOo7QES1kkv6OLmp5ze2XBZQIVffM= +github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.76 h1:3p3ygjYCNZ9wqPbbQ7oeDZEhY7xX8UPJs/pOuhxBP+E= +github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.76/go.mod h1:JFGcyqRE2qXgHsBw27/L0D1uEJtLhUm2Vqx4dFOHSzA= +github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.8 h1:vtT/G9hb1fstaeS52wcSYDKmZY0qExoroP5lhiFQe8U= +github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.8/go.mod h1:7uUKWwq8GOkVQFkVH9ymTajphRFJM6HeHhIQ3S/tFJw= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= @@ -426,6 +438,8 @@ github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ3 github.com/creack/pty v1.1.17/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/creack/pty v1.1.24 h1:bJrF4RRfyJnbTJqzRLHzcGaZK1NeM5kTC9jGgovnR1s= github.com/creack/pty v1.1.24/go.mod h1:08sCNb52WyoAwi2QDyzUCTgcvVFhUzewun7wtTfvcwE= +github.com/creasty/defaults v1.8.0 h1:z27FJxCAa0JKt3utc0sCImAEb+spPucmKoOdLHvHYKk= +github.com/creasty/defaults v1.8.0/go.mod h1:iGzKe6pbEHnpMPtfDXZEr0NVxWnPTjb1bbDy08fPzYM= github.com/cucumber/gherkin/go/v26 v26.2.0 h1:EgIjePLWiPeslwIWmNQ3XHcypPsWAHoMCz/YEBKP4GI= github.com/cucumber/gherkin/go/v26 v26.2.0/go.mod h1:t2GAPnB8maCT4lkHL99BDCVNzCh1d7dBhCLt150Nr/0= github.com/cucumber/godog v0.15.0 h1:51AL8lBXF3f0cyA5CV4TnJFCTHpgiy+1x1Hb3TtZUmo= @@ -531,6 +545,8 @@ github.com/evanphx/json-patch/v5 v5.9.0 h1:kcBlZQbplgElYIlo/n1hJbls2z/1awpXxpRi0 github.com/evanphx/json-patch/v5 v5.9.0/go.mod h1:VNkHZ/282BpEyt/tObQO8s5CMPmYYq14uClGH4abBuQ= github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f h1:Wl78ApPPB2Wvf/TIe2xdyJxTlb6obmF18d8QdkxNDu4= github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f/go.mod h1:OSYXu++VVOHnXeitef/D8n/6y4QV8uLHSFXX4NeXMGc= +github.com/expr-lang/expr v1.17.5 h1:i1WrMvcdLF249nSNlpQZN1S6NXuW9WaOfF5tPi3aw3k= +github.com/expr-lang/expr v1.17.5/go.mod h1:8/vRC7+7HBzESEqt5kKpYXxrxkr31SaO8r40VO/1IT4= github.com/fardream/go-bcs v0.7.0 h1:4YIiCXrtUFiRT86TsvUx+tIennZBRXQCzrgt8xC2g0c= github.com/fardream/go-bcs v0.7.0/go.mod h1:UsoxhIoe2GsVexX0s5NDLIChxeb/JUbjw7IWzzgF3Xk= github.com/fatih/camelcase v1.0.0 h1:hxNvNX/xYBp0ovncs8WyWZrOrpBNub/JfaMvbURyft8= @@ -562,8 +578,8 @@ github.com/fvbommel/sortorder v1.1.0 h1:fUmoe+HLsBTctBDoaBwpQo5N+nrCp8g/BjKb/6ZQ github.com/fvbommel/sortorder v1.1.0/go.mod h1:uk88iVf1ovNn1iLfgUVU2F9o5eO30ui720w+kxuqRs0= github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E= github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ= -github.com/gabriel-vasile/mimetype v1.4.8 h1:FfZ3gj38NjllZIeJAmMhr+qKL8Wu+nOoI3GqacKw1NM= -github.com/gabriel-vasile/mimetype v1.4.8/go.mod h1:ByKUIKGjh1ODkGM1asKUbQZOLGrPjydw3hYPU2YU9t8= +github.com/gabriel-vasile/mimetype v1.4.9 h1:5k+WDwEsD9eTLL8Tz3L0VnmVh9QxGjRmjBvAG7U/oYY= +github.com/gabriel-vasile/mimetype v1.4.9/go.mod h1:WnSQhFKJuBlRyLiKohA/2DtIlPFAbguNaG7QCHcyGok= github.com/gagliardetto/binary v0.8.0 h1:U9ahc45v9HW0d15LoN++vIXSJyqR/pWw8DDlhd7zvxg= github.com/gagliardetto/binary v0.8.0/go.mod h1:2tfj51g5o9dnvsc+fL3Jxr22MuWzYXwx9wEoN0XQ7/c= github.com/gagliardetto/gofuzz v1.2.2 h1:XL/8qDMzcgvR4+CyRQW9UGdwPRPMHVJfqQ/uMvSUuQw= @@ -597,12 +613,12 @@ github.com/gin-gonic/gin v1.4.0/go.mod h1:OW2EZn3DO8Ln9oIKOvM++LBO+5UPHJJDH72/q/ github.com/gin-gonic/gin v1.8.1/go.mod h1:ji8BvRH1azfM+SYow9zQ6SZMvR8qOMZHmsCuWR9tTTk= github.com/gin-gonic/gin v1.10.0 h1:nTuyha1TYqgedzytsKYqna+DfLos46nTv2ygFy86HFU= github.com/gin-gonic/gin v1.10.0/go.mod h1:4PMNQiOhvDRa013RKVbsiNwoyezlm2rm0uX/T7kzp5Y= -github.com/gkampitakis/ciinfo v0.3.0 h1:gWZlOC2+RYYttL0hBqcoQhM7h1qNkVqvRCV1fOvpAv8= -github.com/gkampitakis/ciinfo v0.3.0/go.mod h1:1NIwaOcFChN4fa/B0hEBdAb6npDlFL8Bwx4dfRLRqAo= +github.com/gkampitakis/ciinfo v0.3.2 h1:JcuOPk8ZU7nZQjdUhctuhQofk7BGHuIy0c9Ez8BNhXs= +github.com/gkampitakis/ciinfo v0.3.2/go.mod h1:1NIwaOcFChN4fa/B0hEBdAb6npDlFL8Bwx4dfRLRqAo= github.com/gkampitakis/go-diff v1.3.2 h1:Qyn0J9XJSDTgnsgHRdz9Zp24RaJeKMUHg2+PDZZdC4M= github.com/gkampitakis/go-diff v1.3.2/go.mod h1:LLgOrpqleQe26cte8s36HTWcTmMEur6OPYerdAAS9tk= -github.com/gkampitakis/go-snaps v0.5.4 h1:GX+dkKmVsRenz7SoTbdIEL4KQARZctkMiZ8ZKprRwT8= -github.com/gkampitakis/go-snaps v0.5.4/go.mod h1:ZABkO14uCuVxBHAXAfKG+bqNz+aa1bGPAg8jkI0Nk8Y= +github.com/gkampitakis/go-snaps v0.5.13 h1:Hhjmvv1WboSCxkR9iU2mj5PQ8tsz/y8ECGrIbjjPF8Q= +github.com/gkampitakis/go-snaps v0.5.13/go.mod h1:HNpx/9GoKisdhw9AFOBT1N7DBs9DiHo/hGheFGBZ+mc= github.com/go-asn1-ber/asn1-ber v1.5.5 h1:MNHlNMBDgEKD4TcKr36vQN68BA00aDfjIt3/bD50WnA= github.com/go-asn1-ber/asn1-ber v1.5.5/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= github.com/go-chi/chi v1.5.5 h1:vOB/HbEMt9QqBqErz07QehcOKHaWFtuj87tTDVz2qXE= @@ -657,8 +673,8 @@ github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= github.com/go-playground/validator/v10 v10.10.0/go.mod h1:74x4gJWsvQexRdW8Pn3dXSGrTK4nAUsbPlLADvpJkos= -github.com/go-playground/validator/v10 v10.25.0 h1:5Dh7cjvzR7BRZadnsVOzPhWsrwUr0nmsZJxEAnFLNO8= -github.com/go-playground/validator/v10 v10.25.0/go.mod h1:GGzBIJMuE98Ic/kJsBXbz1x/7cByt++cQ+YOuDM5wus= +github.com/go-playground/validator/v10 v10.27.0 h1:w8+XrWVMhGkxOaaowyKH35gFydVHOvC0/uWoy2Fzwn4= +github.com/go-playground/validator/v10 v10.27.0/go.mod h1:I5QpIEbmr8On7W0TktmJAumgzX4CA1XNl4ZmDuVHKKo= github.com/go-resty/resty/v2 v2.16.5 h1:hBKqmWrr7uRc3euHVqmh1HTHcKn99Smr7o5spptdhTM= github.com/go-resty/resty/v2 v2.16.5/go.mod h1:hkJtXbA2iKHzJheXYvQ8snQES5ZLGKMwQ07xAwp/fiA= github.com/go-sql-driver/mysql v1.3.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= @@ -678,8 +694,8 @@ github.com/go-webauthn/x v0.1.5/go.mod h1:qbzWwcFcv4rTwtCLOZd+icnr6B7oSsAGZJqlt8 github.com/goccy/go-json v0.9.7/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/goccy/go-json v0.10.5 h1:Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4= github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= -github.com/goccy/go-yaml v1.12.0 h1:/1WHjnMsI1dlIBQutrvSMGZRQufVO3asrHfTwfACoPM= -github.com/goccy/go-yaml v1.12.0/go.mod h1:wKnAMd44+9JAAnGQpWVEgBzGt3YuTaQ4uXoHvE4m7WU= +github.com/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw= +github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= @@ -900,7 +916,6 @@ github.com/hashicorp/golang-lru v1.0.2 h1:dV3g9Z/unq5DpblPpw+Oqcv4dU/1omnb4Ok8iP github.com/hashicorp/golang-lru v1.0.2/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k= github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= -github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= @@ -924,6 +939,8 @@ github.com/holiman/uint256 v1.3.2/go.mod h1:EOMSn4q6Nyt9P6efbI3bueV4e1b3dGlUCXei github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/huandu/skiplist v1.2.0 h1:gox56QD77HzSC0w+Ws3MH3iie755GBJU1OER3h5VsYw= github.com/huandu/skiplist v1.2.0/go.mod h1:7v3iFjLcSAzO4fN5B8dvebvo/qsfumiLiDXMrPiHF9w= +github.com/huandu/xstrings v1.5.0 h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI= +github.com/huandu/xstrings v1.5.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/huin/goupnp v1.3.0 h1:UvLUlWDNpoUdYzb2TCn+MuTWtcjXKSza2n6CBdQ0xXc= github.com/huin/goupnp v1.3.0/go.mod h1:gnGPsThkYa7bFi/KWmEysQRf48l2dvR5bxr2OFckNX8= github.com/iancoleman/orderedmap v0.0.0-20190318233801-ac98e3ecb4b0/go.mod h1:N0Wam8K1arqPXNWjMo21EXnBPOPp36vB07FNRdD2geA= @@ -1183,6 +1200,8 @@ github.com/minio/minio-go/v7 v7.0.68/go.mod h1:XAvOPJQ5Xlzk5o3o/ArO2NMbhSGkimC+b github.com/minio/sha256-simd v1.0.1 h1:6kaan5IFmwTNynnKKpDHe6FWHohJOHhCPchzK49dzMM= github.com/minio/sha256-simd v1.0.1/go.mod h1:Pz6AKMiUdngCLpeTL/RJY1M9rUuPMYujV5xJjtbRSN8= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= +github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= +github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= @@ -1203,6 +1222,8 @@ github.com/mitchellh/mapstructure v1.5.1-0.20220423185008-bf980b35cac4 h1:BpfhmL github.com/mitchellh/mapstructure v1.5.1-0.20220423185008-bf980b35cac4/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/pointerstructure v1.2.0 h1:O+i9nHnXS3l/9Wu7r4NrEdwA2VFTicjUEN1uBnDo34A= github.com/mitchellh/pointerstructure v1.2.0/go.mod h1:BRAsLI5zgXmw97Lf6s25bs8ohIXc3tViBH44KcwB2g4= +github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= +github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/moby/buildkit v0.20.1 h1:sT0ZXhhNo5rVbMcYfgttma3TdUHfO5JjFA0UAL8p9fY= github.com/moby/buildkit v0.20.1/go.mod h1:Rq9nB/fJImdk6QeM0niKtOHJqwKeYMrK847hTTDVuA4= github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0= @@ -1424,8 +1445,8 @@ github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFR github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= -github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= -github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= +github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= +github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= @@ -1441,10 +1462,10 @@ github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQD github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/go-glob v1.0.0 h1:iQh3xXAumdQ+4Ufa5b25cRpC5TYKlno6hsv6Cb3pkBk= github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc= -github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ= -github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4= -github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= -github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= +github.com/sagikazarmark/locafero v0.7.0 h1:5MqpDsTGNDhY8sGp0Aowyf0qKsPrhewaLSsFaodPcyo= +github.com/sagikazarmark/locafero v0.7.0/go.mod h1:2za3Cg5rMaTMoG/2Ulr9AwtFaIppKXTRYnozin4aB5k= +github.com/samber/lo v1.51.0 h1:kysRYLbHy/MB7kQZf5DSN50JHmMsNEdeY24VzJFu7wI= +github.com/samber/lo v1.51.0/go.mod h1:4+MXEGsJzbKGaUEQFKBq2xtfuznW9oz/WrgyzMzRoM0= github.com/sanity-io/litter v1.5.5 h1:iE+sBxPBzoK6uaEP5Lt3fHNgpKcHXc/A2HGETy0uJQo= github.com/sanity-io/litter v1.5.5/go.mod h1:9gzJgR2i4ZpjZHsKvUXIRQVk7P+yM3e+jAF7bU2UI5U= github.com/santhosh-tekuri/jsonschema/v5 v5.0.0/go.mod h1:FKdcjfQW6rpZSnxxUvEA5H/cDPdvJ/SZJQLWWXWGrZ0= @@ -1563,6 +1584,8 @@ github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.202504221 github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20250422175525-b7575d96bd4d/go.mod h1:4WhGgCA0smBbBud5mK+jnDb2wwndMvoqaWBJ3OV/7Bw= github.com/smartcontractkit/cre-sdk-go v0.2.1-0.20250717171236-d30449588a62 h1:/+gWJQYyFLwKiwyMUb8VxsI0yyEIf+a7KgIkPf6b3Ro= github.com/smartcontractkit/cre-sdk-go v0.2.1-0.20250717171236-d30449588a62/go.mod h1:XFQ3osQZZHjL4E1Q61WZuBh5JfJcVGRdeyLFvdb85dM= +github.com/smartcontractkit/crib-sdk v0.1.1-0.20250718222656-11e009265e26 h1:EiR535ZzJ8GpWH7ZI4v55mGgJFS05JhLxMBIcI7pHx8= +github.com/smartcontractkit/crib-sdk v0.1.1-0.20250718222656-11e009265e26/go.mod h1:ZIiufiewpxifpGNvAEvMQX87FC9ImdVVtSS8fab4QXU= github.com/smartcontractkit/freeport v0.1.1 h1:B5fhEtmgomdIhw03uPVbVTP6oPv27fBhZsoZZMSIS8I= github.com/smartcontractkit/freeport v0.1.1/go.mod h1:T4zH9R8R8lVWKfU7tUvYz2o2jMv1OpGCdpY2j2QZXzU= github.com/smartcontractkit/grpc-proxy v0.0.0-20240830132753-a7e17fec5ab7 h1:12ijqMM9tvYVEm+nR826WsrNi6zCKpwBhuApq127wHs= @@ -1590,8 +1613,8 @@ github.com/spf13/afero v1.12.0 h1:UcOPyRBYczmFn6yvphxkn9ZEOY65cpwGKb5mL36mrqs= github.com/spf13/afero v1.12.0/go.mod h1:ZTlWwG4/ahT8W7T0WQ5uYmjI9duaLQGy3Q2OAl4sk/4= github.com/spf13/cast v0.0.0-20150508191742-4d07383ffe94/go.mod h1:r2rcYCSwa1IExKTDiTfzaxqT2FNHs8hODu4LnUfgKEg= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y= -github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= +github.com/spf13/cast v1.9.2 h1:SsGfm7M8QOFtEzumm7UZrZdLLquNdzFYfIbEXntcFbE= +github.com/spf13/cast v1.9.2/go.mod h1:jNfB8QC9IA6ZuY2ZjDp0KtFO2LZZlg4S/7bzP6qqeHo= github.com/spf13/cobra v0.0.1/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo= @@ -1604,8 +1627,8 @@ github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o= github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v0.0.0-20150530192845-be5ff3e4840c/go.mod h1:A8kyI5cUJhb8N+3pkfONlcEcZbueH6nhAm0Fq7SrnBM= github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= -github.com/spf13/viper v1.19.0 h1:RWq5SEjt8o25SROyN3z2OrDB9l7RPd3lwTWU8EcEdcI= -github.com/spf13/viper v1.19.0/go.mod h1:GQUN9bilAbhU/jgc1bKs99f/suXKeUMct8Adx5+Ntkg= +github.com/spf13/viper v1.20.1 h1:ZMi+z/lvLyPSCoNtFCpqjy0S4kPbirhpTMwl8BkW9X4= +github.com/spf13/viper v1.20.1/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4= github.com/stephenlacy/go-ethereum-hdwallet v0.0.0-20230913225845-a4fa94429863 h1:ba4VRWSkRzgdP5hB5OxexIzBXZbSwgcw8bEu06ivGQI= github.com/stephenlacy/go-ethereum-hdwallet v0.0.0-20230913225845-a4fa94429863/go.mod h1:oPTjPNrRucLv9mU27iNPj6n0CWWcNFhoXFOLVGJwHCA= github.com/streamingfast/logging v0.0.0-20230608130331-f22c91403091 h1:RN5mrigyirb8anBEtdjtHFIufXdacyTi6i4KBfeNXeo= @@ -1650,6 +1673,8 @@ github.com/testcontainers/testcontainers-go v0.37.0 h1:L2Qc0vkTw2EHWQ08djon0D2uw github.com/testcontainers/testcontainers-go v0.37.0/go.mod h1:QPzbxZhQ6Bclip9igjLFj6z0hs01bU8lrl2dHQmgFGM= github.com/testcontainers/testcontainers-go/modules/compose v0.37.0 h1:AE6XYnyUMkiyuo8GZ3B36d0i4L/HMSjaQ6QtAffkD4k= github.com/testcontainers/testcontainers-go/modules/compose v0.37.0/go.mod h1:fgzGeGw5iVyzS6qWOAYDbvv3iWp/wCtqWNSH4Aev8hs= +github.com/theckman/yacspin v0.13.12 h1:CdZ57+n0U6JMuh2xqjnjRq5Haj6v1ner2djtLQRzJr4= +github.com/theckman/yacspin v0.13.12/go.mod h1:Rd2+oG2LmQi5f3zC3yeZAOl245z8QOvrH4OPOJNZxLg= github.com/theodesp/go-heaps v0.0.0-20190520121037-88e35354fe0a h1:YuO+afVc3eqrjiCUizNCxI53bl/BnPiVwXqLzqYTqgU= github.com/theodesp/go-heaps v0.0.0-20190520121037-88e35354fe0a/go.mod h1:/sfW47zCZp9FrtGcWyo1VjbgDaodxX9ovZvgLb/MxaA= github.com/theupdateframework/notary v0.7.0 h1:QyagRZ7wlSpjT5N2qQAh/pN+DVqgekv4DzbAiAiEL3c= @@ -1742,6 +1767,8 @@ github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +github.com/yuin/goldmark v1.7.12 h1:YwGP/rrea2/CnCtUHgjuolG/PnMxdQtPMO5PvaE2/nY= +github.com/yuin/goldmark v1.7.12/go.mod h1:ip/1k0VRfGynBgxOz0yCqHrbZXhcjxyuS66Brc7iBKg= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= github.com/zclconf/go-cty v1.16.0 h1:xPKEhst+BW5D0wxebMZkxgapvOE/dw7bFTlgSc9nD6w= @@ -1923,6 +1950,8 @@ golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPI golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20241112194109-818c5a804067 h1:adDmSQyFTCiv19j015EGKJBoaa7ElV0Q1Wovb/4G7NA= +golang.org/x/lint v0.0.0-20241112194109-818c5a804067/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= diff --git a/system-tests/lib/go.mod b/system-tests/lib/go.mod index b4267991b32..c8d7759a3f0 100644 --- a/system-tests/lib/go.mod +++ b/system-tests/lib/go.mod @@ -35,7 +35,7 @@ require ( github.com/smartcontractkit/chainlink-testing-framework/lib v1.54.4 github.com/smartcontractkit/chainlink-testing-framework/seth v1.51.2 github.com/smartcontractkit/chainlink/deployment v0.0.0-20250718211650-37ca415e72a0 - github.com/smartcontractkit/crib-sdk v0.0.0-20250714190505-2cad28190e21 + github.com/smartcontractkit/crib-sdk v0.1.1-0.20250718222656-11e009265e26 go.uber.org/ratelimit v0.3.1 golang.org/x/sync v0.16.0 google.golang.org/grpc v1.72.1 @@ -300,6 +300,7 @@ require ( github.com/magiconair/properties v1.8.10 // indirect github.com/mailru/easyjson v0.9.0 // indirect github.com/marcboeker/go-duckdb v1.8.5 // indirect + github.com/maruel/natural v1.1.1 // indirect github.com/mattn/go-colorable v0.1.14 // indirect github.com/mattn/go-isatty v0.0.20 // indirect github.com/mattn/go-runewidth v0.0.16 // indirect @@ -315,6 +316,7 @@ require ( github.com/mitchellh/hashstructure/v2 v2.0.2 // indirect github.com/mitchellh/mapstructure v1.5.1-0.20220423185008-bf980b35cac4 // indirect github.com/mitchellh/pointerstructure v1.2.0 // indirect + github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/moby/docker-image-spec v1.3.1 // indirect github.com/moby/patternmatcher v0.6.0 // indirect github.com/moby/spdystream v0.4.0 // indirect @@ -415,6 +417,7 @@ require ( github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d // indirect github.com/tendermint/go-amino v0.16.0 // indirect github.com/testcontainers/testcontainers-go v0.37.0 // indirect + github.com/theckman/yacspin v0.13.12 // indirect github.com/theodesp/go-heaps v0.0.0-20190520121037-88e35354fe0a // indirect github.com/tidwall/gjson v1.18.0 // indirect github.com/tidwall/match v1.1.1 // indirect @@ -472,6 +475,7 @@ require ( golang.org/x/arch v0.11.0 // indirect golang.org/x/crypto v0.40.0 // indirect golang.org/x/exp v0.0.0-20250711185948-6ae5c78190dc // indirect + golang.org/x/lint v0.0.0-20241112194109-818c5a804067 // indirect golang.org/x/mod v0.26.0 // indirect golang.org/x/net v0.42.0 // indirect golang.org/x/oauth2 v0.30.0 // indirect diff --git a/system-tests/lib/go.sum b/system-tests/lib/go.sum index 48eab9fb054..9f263d4e835 100644 --- a/system-tests/lib/go.sum +++ b/system-tests/lib/go.sum @@ -54,8 +54,8 @@ cosmossdk.io/store v1.1.1 h1:NA3PioJtWDVU7cHHeyvdva5J/ggyLDkyH0hGHl2804Y= cosmossdk.io/store v1.1.1/go.mod h1:8DwVTz83/2PSI366FERGbWSH7hL6sB7HbYp8bqksNwM= cosmossdk.io/x/tx v0.13.7 h1:8WSk6B/OHJLYjiZeMKhq7DK7lHDMyK0UfDbBMxVmeOI= cosmossdk.io/x/tx v0.13.7/go.mod h1:V6DImnwJMTq5qFjeGWpXNiT/fjgE4HtmclRmTqRVM3w= -dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s= -dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= +dario.cat/mergo v1.0.2 h1:85+piFYR1tMbRrLcDwR18y4UKJ3aH1Tbzi24VRW1TK8= +dario.cat/mergo v1.0.2/go.mod h1:E/hbnu0NxMFBjpMIE34DRGLWqDy0g5FuKDhCb31ngxA= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= @@ -85,9 +85,13 @@ github.com/Khan/genqlient v0.7.0 h1:GZ1meyRnzcDTK48EjqB8t3bcfYvHArCUUvgOwpz1D4w= github.com/Khan/genqlient v0.7.0/go.mod h1:HNyy3wZvuYwmW3Y7mkoQLZsa/R5n5yIRajS1kPBvSFM= github.com/MakeNowJust/heredoc v1.0.0 h1:cXCdzVdstXyiTqTvfqk9SDHpKNjxuom+DOlyEeQ4pzQ= github.com/MakeNowJust/heredoc v1.0.0/go.mod h1:mG5amYoWBHf8vpLOuehzbGGw0EHxpZZ6lCpQ4fNJ8LE= +github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI= +github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= github.com/Masterminds/semver/v3 v3.3.1 h1:QtNSWtVZ3nBfk8mAOu/B6v7FMJ+NHTIgUPi7rj+4nv4= github.com/Masterminds/semver/v3 v3.3.1/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM= +github.com/Masterminds/sprig/v3 v3.3.0 h1:mQh0Yrg1XPo6vjYXgtf5OtijNAKJRNcTdOOGZe3tPhs= +github.com/Masterminds/sprig/v3 v3.3.0/go.mod h1:Zy1iXRYNqNLUolqCpL4uhk6SHUMAOSCzdgBfDb35Lz0= github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= github.com/NethermindEth/juno v0.12.5 h1:a+KYQg8MxzNJIbbqGHq+vU9nTyuWu3acbyXxcUPUDOY= @@ -110,6 +114,10 @@ github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b h1:mimo19zliBX/vS github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b/go.mod h1:fvzegU4vN3H1qMT+8wDmzjAcDONcgo2/SZ/TyfdUOFs= github.com/alexbrainman/sspi v0.0.0-20210105120005-909beea2cc74 h1:Kk6a4nehpJ3UuJRqlA3JxYxBZEqCeOmATOvrbT4p9RA= github.com/alexbrainman/sspi v0.0.0-20210105120005-909beea2cc74/go.mod h1:cEWa1LVoE5KvSD9ONXsZrj0z6KqySlCCNKHlLzbqAt4= +github.com/alexflint/go-arg v1.5.1 h1:nBuWUCpuRy0snAG+uIJ6N0UvYxpxA0/ghA/AaHxlT8Y= +github.com/alexflint/go-arg v1.5.1/go.mod h1:A7vTJzvjoaSTypg4biM5uYNTkJ27SkNTArtYXnlqVO8= +github.com/alexflint/go-scalar v1.2.0 h1:WR7JPKkeNpnYIOfHRa7ivM21aWAdHD0gEWHCx+WQBRw= +github.com/alexflint/go-scalar v1.2.0/go.mod h1:LoFvNMqS1CPrMVltza4LvnGKhaSpc3oyLEBUZVhhS2o= github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM= github.com/allegro/bigcache v1.2.1 h1:hg1sY1raCwic3Vnsvje6TT7/pnZba83LeFck5NrFKSc= github.com/allegro/bigcache v1.2.1/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM= @@ -168,8 +176,8 @@ github.com/aws/aws-sdk-go-v2/service/sts v1.32.2 h1:CiS7i0+FUe+/YY1GvIBLLrR/XNGZ github.com/aws/aws-sdk-go-v2/service/sts v1.32.2/go.mod h1:HtaiBI8CjYoNVde8arShXb94UbQQi9L4EMr6D+xGBwo= github.com/aws/constructs-go/constructs/v10 v10.4.2 h1:+hDLTsFGLJmKIn0Dg20vWpKBrVnFrEWYgTEY5UiTEG8= github.com/aws/constructs-go/constructs/v10 v10.4.2/go.mod h1:cXsNCKDV+9eR9zYYfwy6QuE4uPFp6jsq6TtH1MwBx9w= -github.com/aws/jsii-runtime-go v1.104.0 h1:651Sh6J2FtatfnVzlOQ3/Ye1WWPAseZ6E/tSQxEKdSI= -github.com/aws/jsii-runtime-go v1.104.0/go.mod h1:7ZmQXxV0AAhhvv/GaHX4n6zbgA1tSRVdnQYAJbIhXHk= +github.com/aws/jsii-runtime-go v1.112.0 h1:7jusWZUgSTuSPLa2ZRv+siGuyoFSzFNk/TaHqlcFe6Y= +github.com/aws/jsii-runtime-go v1.112.0/go.mod h1:jiAbLN2Hz+7At3C59LsQyv8gK3HvfNYF2YFPkWLHll8= github.com/aws/smithy-go v1.22.0 h1:uunKnWlcoL3zO7q+gG2Pk53joueEOsnNB28QdMsmiMM= github.com/aws/smithy-go v1.22.0/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= github.com/aybabtme/rgbterm v0.0.0-20170906152045-cc83f3b3ce59 h1:WWB576BN5zNSZc/M9d/10pqEx5VHNhaQ/yOVAkmj5Yo= @@ -197,6 +205,8 @@ github.com/blendle/zapdriver v1.3.1 h1:C3dydBOWYRiOk+B8X9IVZ5IOe+7cl+tGOexN4QqHf github.com/blendle/zapdriver v1.3.1/go.mod h1:mdXfREi6u5MArG4j9fewC+FGnXaBR+T4Ox4J2u4eHCc= github.com/block-vision/sui-go-sdk v1.0.6 h1:FysCc4TJC8v4BEBbCjJPDR4iR5eKqJT1dxGwsT67etg= github.com/block-vision/sui-go-sdk v1.0.6/go.mod h1:FyK1vGE8lWm9QA1fdQpf1agfXQSMbPT8AV1BICgx6d8= +github.com/brianvoe/gofakeit/v7 v7.3.0 h1:TWStf7/lLpAjKw+bqwzeORo9jvrxToWEwp9b1J2vApQ= +github.com/brianvoe/gofakeit/v7 v7.3.0/go.mod h1:QXuPeBw164PJCzCUZVmgpgHJ3Llj49jSLVkKPMtxtxA= github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= github.com/btcsuite/btcd v0.22.0-beta.0.20220111032746-97732e52810c/go.mod h1:tjmYdS6MLJ5/s0Fj4DbLgSbDHbEqLJrtnHecBFkdz5M= github.com/btcsuite/btcd v0.23.5-0.20231215221805-96c9fd8078fd/go.mod h1:nm3Bko6zh6bWP60UxwoT5LzdGJsQJaPo6HjduXq9p6A= @@ -242,8 +252,10 @@ github.com/bytedance/sonic v1.12.3/go.mod h1:B8Gt/XvtZ3Fqj+iSKMypzymZxw/FVwgIGKz github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= github.com/bytedance/sonic/loader v0.2.0 h1:zNprn+lsIP06C/IqCHs3gPQIvnvpKbbxyXQP1iU4kWM= github.com/bytedance/sonic/loader v0.2.0/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= -github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.7.5 h1:rvc39Ol6z3MvaBzXkxFC6Nfsnixq/dRypushKDd7Nc0= -github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.7.5/go.mod h1:R/pdNYDYFQk+tuuOo7QES1kkv6OLmp5ze2XBZQIVffM= +github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.76 h1:3p3ygjYCNZ9wqPbbQ7oeDZEhY7xX8UPJs/pOuhxBP+E= +github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.76/go.mod h1:JFGcyqRE2qXgHsBw27/L0D1uEJtLhUm2Vqx4dFOHSzA= +github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.8 h1:vtT/G9hb1fstaeS52wcSYDKmZY0qExoroP5lhiFQe8U= +github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.8/go.mod h1:7uUKWwq8GOkVQFkVH9ymTajphRFJM6HeHhIQ3S/tFJw= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= @@ -346,6 +358,8 @@ github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7Do github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.24 h1:bJrF4RRfyJnbTJqzRLHzcGaZK1NeM5kTC9jGgovnR1s= github.com/creack/pty v1.1.24/go.mod h1:08sCNb52WyoAwi2QDyzUCTgcvVFhUzewun7wtTfvcwE= +github.com/creasty/defaults v1.8.0 h1:z27FJxCAa0JKt3utc0sCImAEb+spPucmKoOdLHvHYKk= +github.com/creasty/defaults v1.8.0/go.mod h1:iGzKe6pbEHnpMPtfDXZEr0NVxWnPTjb1bbDy08fPzYM= github.com/cucumber/gherkin/go/v26 v26.2.0 h1:EgIjePLWiPeslwIWmNQ3XHcypPsWAHoMCz/YEBKP4GI= github.com/cucumber/gherkin/go/v26 v26.2.0/go.mod h1:t2GAPnB8maCT4lkHL99BDCVNzCh1d7dBhCLt150Nr/0= github.com/cucumber/godog v0.15.0 h1:51AL8lBXF3f0cyA5CV4TnJFCTHpgiy+1x1Hb3TtZUmo= @@ -424,6 +438,8 @@ github.com/evanphx/json-patch/v5 v5.9.0 h1:kcBlZQbplgElYIlo/n1hJbls2z/1awpXxpRi0 github.com/evanphx/json-patch/v5 v5.9.0/go.mod h1:VNkHZ/282BpEyt/tObQO8s5CMPmYYq14uClGH4abBuQ= github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f h1:Wl78ApPPB2Wvf/TIe2xdyJxTlb6obmF18d8QdkxNDu4= github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f/go.mod h1:OSYXu++VVOHnXeitef/D8n/6y4QV8uLHSFXX4NeXMGc= +github.com/expr-lang/expr v1.17.5 h1:i1WrMvcdLF249nSNlpQZN1S6NXuW9WaOfF5tPi3aw3k= +github.com/expr-lang/expr v1.17.5/go.mod h1:8/vRC7+7HBzESEqt5kKpYXxrxkr31SaO8r40VO/1IT4= github.com/fardream/go-bcs v0.7.0 h1:4YIiCXrtUFiRT86TsvUx+tIennZBRXQCzrgt8xC2g0c= github.com/fardream/go-bcs v0.7.0/go.mod h1:UsoxhIoe2GsVexX0s5NDLIChxeb/JUbjw7IWzzgF3Xk= github.com/fatih/camelcase v1.0.0 h1:hxNvNX/xYBp0ovncs8WyWZrOrpBNub/JfaMvbURyft8= @@ -447,8 +463,8 @@ github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/ github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E= github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ= -github.com/gabriel-vasile/mimetype v1.4.8 h1:FfZ3gj38NjllZIeJAmMhr+qKL8Wu+nOoI3GqacKw1NM= -github.com/gabriel-vasile/mimetype v1.4.8/go.mod h1:ByKUIKGjh1ODkGM1asKUbQZOLGrPjydw3hYPU2YU9t8= +github.com/gabriel-vasile/mimetype v1.4.9 h1:5k+WDwEsD9eTLL8Tz3L0VnmVh9QxGjRmjBvAG7U/oYY= +github.com/gabriel-vasile/mimetype v1.4.9/go.mod h1:WnSQhFKJuBlRyLiKohA/2DtIlPFAbguNaG7QCHcyGok= github.com/gagliardetto/binary v0.8.0 h1:U9ahc45v9HW0d15LoN++vIXSJyqR/pWw8DDlhd7zvxg= github.com/gagliardetto/binary v0.8.0/go.mod h1:2tfj51g5o9dnvsc+fL3Jxr22MuWzYXwx9wEoN0XQ7/c= github.com/gagliardetto/gofuzz v1.2.2 h1:XL/8qDMzcgvR4+CyRQW9UGdwPRPMHVJfqQ/uMvSUuQw= @@ -479,6 +495,12 @@ github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.10.0 h1:nTuyha1TYqgedzytsKYqna+DfLos46nTv2ygFy86HFU= github.com/gin-gonic/gin v1.10.0/go.mod h1:4PMNQiOhvDRa013RKVbsiNwoyezlm2rm0uX/T7kzp5Y= +github.com/gkampitakis/ciinfo v0.3.2 h1:JcuOPk8ZU7nZQjdUhctuhQofk7BGHuIy0c9Ez8BNhXs= +github.com/gkampitakis/ciinfo v0.3.2/go.mod h1:1NIwaOcFChN4fa/B0hEBdAb6npDlFL8Bwx4dfRLRqAo= +github.com/gkampitakis/go-diff v1.3.2 h1:Qyn0J9XJSDTgnsgHRdz9Zp24RaJeKMUHg2+PDZZdC4M= +github.com/gkampitakis/go-diff v1.3.2/go.mod h1:LLgOrpqleQe26cte8s36HTWcTmMEur6OPYerdAAS9tk= +github.com/gkampitakis/go-snaps v0.5.13 h1:Hhjmvv1WboSCxkR9iU2mj5PQ8tsz/y8ECGrIbjjPF8Q= +github.com/gkampitakis/go-snaps v0.5.13/go.mod h1:HNpx/9GoKisdhw9AFOBT1N7DBs9DiHo/hGheFGBZ+mc= github.com/go-asn1-ber/asn1-ber v1.5.5 h1:MNHlNMBDgEKD4TcKr36vQN68BA00aDfjIt3/bD50WnA= github.com/go-asn1-ber/asn1-ber v1.5.5/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= github.com/go-chi/chi v1.5.5 h1:vOB/HbEMt9QqBqErz07QehcOKHaWFtuj87tTDVz2qXE= @@ -528,8 +550,8 @@ github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/o github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= -github.com/go-playground/validator/v10 v10.25.0 h1:5Dh7cjvzR7BRZadnsVOzPhWsrwUr0nmsZJxEAnFLNO8= -github.com/go-playground/validator/v10 v10.25.0/go.mod h1:GGzBIJMuE98Ic/kJsBXbz1x/7cByt++cQ+YOuDM5wus= +github.com/go-playground/validator/v10 v10.27.0 h1:w8+XrWVMhGkxOaaowyKH35gFydVHOvC0/uWoy2Fzwn4= +github.com/go-playground/validator/v10 v10.27.0/go.mod h1:I5QpIEbmr8On7W0TktmJAumgzX4CA1XNl4ZmDuVHKKo= github.com/go-resty/resty/v2 v2.16.3 h1:zacNT7lt4b8M/io2Ahj6yPypL7bqx9n1iprfQuodV+E= github.com/go-resty/resty/v2 v2.16.3/go.mod h1:hkJtXbA2iKHzJheXYvQ8snQES5ZLGKMwQ07xAwp/fiA= github.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpvNJ1Y= @@ -547,8 +569,8 @@ github.com/go-webauthn/x v0.1.5 h1:V2TCzDU2TGLd0kSZOXdrqDVV5JB9ILnKxA9S53CSBw0= github.com/go-webauthn/x v0.1.5/go.mod h1:qbzWwcFcv4rTwtCLOZd+icnr6B7oSsAGZJqlt8cukqY= github.com/goccy/go-json v0.10.5 h1:Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4= github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= -github.com/goccy/go-yaml v1.12.0 h1:/1WHjnMsI1dlIBQutrvSMGZRQufVO3asrHfTwfACoPM= -github.com/goccy/go-yaml v1.12.0/go.mod h1:wKnAMd44+9JAAnGQpWVEgBzGt3YuTaQ4uXoHvE4m7WU= +github.com/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw= +github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= @@ -749,7 +771,6 @@ github.com/hashicorp/golang-lru v1.0.2 h1:dV3g9Z/unq5DpblPpw+Oqcv4dU/1omnb4Ok8iP github.com/hashicorp/golang-lru v1.0.2/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k= github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= -github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= @@ -770,6 +791,8 @@ github.com/holiman/uint256 v1.3.2/go.mod h1:EOMSn4q6Nyt9P6efbI3bueV4e1b3dGlUCXei github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/huandu/skiplist v1.2.0 h1:gox56QD77HzSC0w+Ws3MH3iie755GBJU1OER3h5VsYw= github.com/huandu/skiplist v1.2.0/go.mod h1:7v3iFjLcSAzO4fN5B8dvebvo/qsfumiLiDXMrPiHF9w= +github.com/huandu/xstrings v1.5.0 h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI= +github.com/huandu/xstrings v1.5.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/huin/goupnp v1.3.0 h1:UvLUlWDNpoUdYzb2TCn+MuTWtcjXKSza2n6CBdQ0xXc= github.com/huin/goupnp v1.3.0/go.mod h1:gnGPsThkYa7bFi/KWmEysQRf48l2dvR5bxr2OFckNX8= github.com/iancoleman/strcase v0.3.0 h1:nTXanmYxhfFAMjZL34Ov6gkzEsSJZ5DbhxWjvSASxEI= @@ -941,6 +964,8 @@ github.com/manyminds/api2go v0.0.0-20171030193247-e7b693844a6f h1:tVvGiZQFjOXP+9 github.com/manyminds/api2go v0.0.0-20171030193247-e7b693844a6f/go.mod h1:Z60vy0EZVSu0bOugCHdcN5ZxFMKSpjRgsnh0XKPFqqk= github.com/marcboeker/go-duckdb v1.8.5 h1:tkYp+TANippy0DaIOP5OEfBEwbUINqiFqgwMQ44jME0= github.com/marcboeker/go-duckdb v1.8.5/go.mod h1:6mK7+WQE4P4u5AFLvVBmhFxY5fvhymFptghgJX6B+/8= +github.com/maruel/natural v1.1.1 h1:Hja7XhhmvEFhcByqDoHz9QZbkWey+COd9xWfCfn1ioo= +github.com/maruel/natural v1.1.1/go.mod h1:v+Rfd79xlw1AgVBjbO0BEQmptqb5HvL/k9GRHB7ZKEg= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= @@ -984,6 +1009,8 @@ github.com/minio/minio-go/v7 v7.0.68/go.mod h1:XAvOPJQ5Xlzk5o3o/ArO2NMbhSGkimC+b github.com/minio/sha256-simd v1.0.1 h1:6kaan5IFmwTNynnKKpDHe6FWHohJOHhCPchzK49dzMM= github.com/minio/sha256-simd v1.0.1/go.mod h1:Pz6AKMiUdngCLpeTL/RJY1M9rUuPMYujV5xJjtbRSN8= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= +github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= +github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= @@ -1003,6 +1030,8 @@ github.com/mitchellh/mapstructure v1.5.1-0.20220423185008-bf980b35cac4 h1:BpfhmL github.com/mitchellh/mapstructure v1.5.1-0.20220423185008-bf980b35cac4/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/pointerstructure v1.2.0 h1:O+i9nHnXS3l/9Wu7r4NrEdwA2VFTicjUEN1uBnDo34A= github.com/mitchellh/pointerstructure v1.2.0/go.mod h1:BRAsLI5zgXmw97Lf6s25bs8ohIXc3tViBH44KcwB2g4= +github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= +github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0= github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo= github.com/moby/patternmatcher v0.6.0 h1:GmP9lR19aU5GqSSFko+5pRqHi+Ohk1O69aFiKkVGiPk= @@ -1178,8 +1207,8 @@ github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzG github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= -github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= -github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= +github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= +github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= @@ -1195,10 +1224,10 @@ github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQD github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/go-glob v1.0.0 h1:iQh3xXAumdQ+4Ufa5b25cRpC5TYKlno6hsv6Cb3pkBk= github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc= -github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ= -github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4= -github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= -github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= +github.com/sagikazarmark/locafero v0.7.0 h1:5MqpDsTGNDhY8sGp0Aowyf0qKsPrhewaLSsFaodPcyo= +github.com/sagikazarmark/locafero v0.7.0/go.mod h1:2za3Cg5rMaTMoG/2Ulr9AwtFaIppKXTRYnozin4aB5k= +github.com/samber/lo v1.51.0 h1:kysRYLbHy/MB7kQZf5DSN50JHmMsNEdeY24VzJFu7wI= +github.com/samber/lo v1.51.0/go.mod h1:4+MXEGsJzbKGaUEQFKBq2xtfuznW9oz/WrgyzMzRoM0= github.com/sanity-io/litter v1.5.5 h1:iE+sBxPBzoK6uaEP5Lt3fHNgpKcHXc/A2HGETy0uJQo= github.com/sanity-io/litter v1.5.5/go.mod h1:9gzJgR2i4ZpjZHsKvUXIRQVk7P+yM3e+jAF7bU2UI5U= github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 h1:lZUw3E0/J3roVtGQ+SCrUrg3ON6NgVqpn3+iol9aGu4= @@ -1305,6 +1334,8 @@ github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.202504221 github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20250422175525-b7575d96bd4d/go.mod h1:4WhGgCA0smBbBud5mK+jnDb2wwndMvoqaWBJ3OV/7Bw= github.com/smartcontractkit/cre-sdk-go v0.2.1-0.20250717171236-d30449588a62 h1:/+gWJQYyFLwKiwyMUb8VxsI0yyEIf+a7KgIkPf6b3Ro= github.com/smartcontractkit/cre-sdk-go v0.2.1-0.20250717171236-d30449588a62/go.mod h1:XFQ3osQZZHjL4E1Q61WZuBh5JfJcVGRdeyLFvdb85dM= +github.com/smartcontractkit/crib-sdk v0.1.1-0.20250718222656-11e009265e26 h1:EiR535ZzJ8GpWH7ZI4v55mGgJFS05JhLxMBIcI7pHx8= +github.com/smartcontractkit/crib-sdk v0.1.1-0.20250718222656-11e009265e26/go.mod h1:ZIiufiewpxifpGNvAEvMQX87FC9ImdVVtSS8fab4QXU= github.com/smartcontractkit/freeport v0.1.1 h1:B5fhEtmgomdIhw03uPVbVTP6oPv27fBhZsoZZMSIS8I= github.com/smartcontractkit/freeport v0.1.1/go.mod h1:T4zH9R8R8lVWKfU7tUvYz2o2jMv1OpGCdpY2j2QZXzU= github.com/smartcontractkit/grpc-proxy v0.0.0-20240830132753-a7e17fec5ab7 h1:12ijqMM9tvYVEm+nR826WsrNi6zCKpwBhuApq127wHs= @@ -1329,8 +1360,8 @@ github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z github.com/spf13/afero v1.12.0 h1:UcOPyRBYczmFn6yvphxkn9ZEOY65cpwGKb5mL36mrqs= github.com/spf13/afero v1.12.0/go.mod h1:ZTlWwG4/ahT8W7T0WQ5uYmjI9duaLQGy3Q2OAl4sk/4= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y= -github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= +github.com/spf13/cast v1.9.2 h1:SsGfm7M8QOFtEzumm7UZrZdLLquNdzFYfIbEXntcFbE= +github.com/spf13/cast v1.9.2/go.mod h1:jNfB8QC9IA6ZuY2ZjDp0KtFO2LZZlg4S/7bzP6qqeHo= github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo= github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0= @@ -1339,8 +1370,8 @@ github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o= github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= -github.com/spf13/viper v1.19.0 h1:RWq5SEjt8o25SROyN3z2OrDB9l7RPd3lwTWU8EcEdcI= -github.com/spf13/viper v1.19.0/go.mod h1:GQUN9bilAbhU/jgc1bKs99f/suXKeUMct8Adx5+Ntkg= +github.com/spf13/viper v1.20.1 h1:ZMi+z/lvLyPSCoNtFCpqjy0S4kPbirhpTMwl8BkW9X4= +github.com/spf13/viper v1.20.1/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4= github.com/stephenlacy/go-ethereum-hdwallet v0.0.0-20230913225845-a4fa94429863 h1:ba4VRWSkRzgdP5hB5OxexIzBXZbSwgcw8bEu06ivGQI= github.com/stephenlacy/go-ethereum-hdwallet v0.0.0-20230913225845-a4fa94429863/go.mod h1:oPTjPNrRucLv9mU27iNPj6n0CWWcNFhoXFOLVGJwHCA= github.com/streamingfast/logging v0.0.0-20230608130331-f22c91403091 h1:RN5mrigyirb8anBEtdjtHFIufXdacyTi6i4KBfeNXeo= @@ -1382,10 +1413,13 @@ github.com/test-go/testify v1.1.4 h1:Tf9lntrKUMHiXQ07qBScBTSA0dhYQlu83hswqelv1iE github.com/test-go/testify v1.1.4/go.mod h1:rH7cfJo/47vWGdi4GPj16x3/t1xGOj2YxzmNQzk2ghU= github.com/testcontainers/testcontainers-go v0.37.0 h1:L2Qc0vkTw2EHWQ08djon0D2uw7Z/PtHS/QzZZ5Ra/hg= github.com/testcontainers/testcontainers-go v0.37.0/go.mod h1:QPzbxZhQ6Bclip9igjLFj6z0hs01bU8lrl2dHQmgFGM= +github.com/theckman/yacspin v0.13.12 h1:CdZ57+n0U6JMuh2xqjnjRq5Haj6v1ner2djtLQRzJr4= +github.com/theckman/yacspin v0.13.12/go.mod h1:Rd2+oG2LmQi5f3zC3yeZAOl245z8QOvrH4OPOJNZxLg= github.com/theodesp/go-heaps v0.0.0-20190520121037-88e35354fe0a h1:YuO+afVc3eqrjiCUizNCxI53bl/BnPiVwXqLzqYTqgU= github.com/theodesp/go-heaps v0.0.0-20190520121037-88e35354fe0a/go.mod h1:/sfW47zCZp9FrtGcWyo1VjbgDaodxX9ovZvgLb/MxaA= github.com/tidwall/btree v1.7.0 h1:L1fkJH/AuEh5zBnnBbmTwQ5Lt+bRJ5A8EWecslvo9iI= github.com/tidwall/btree v1.7.0/go.mod h1:twD9XRA5jj9VUQGELzDO4HPQTNJsoWWfYEL+EUQ2cKY= +github.com/tidwall/gjson v1.14.2/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= github.com/tidwall/gjson v1.18.0 h1:FIDeeyB800efLX89e5a8Y0BNH+LOngJyGrIWxG2FKQY= github.com/tidwall/gjson v1.18.0/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA= @@ -1393,6 +1427,8 @@ github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JT github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= github.com/tidwall/pretty v1.2.1 h1:qjsOFOWWQl+N3RsoF5/ssm1pHmJJwhjlSbZ51I6wMl4= github.com/tidwall/pretty v1.2.1/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= +github.com/tidwall/sjson v1.2.5 h1:kLy8mja+1c9jlljvWTlSazM7cKDRfJuR/bOJhcY5NcY= +github.com/tidwall/sjson v1.2.5/go.mod h1:Fvgq9kS/6ociJEDnK0Fk1cpYF4FIW6ZF7LAe+6jwd28= github.com/tklauser/go-sysconf v0.3.12/go.mod h1:Ho14jnntGE1fpdOqQEEaiKRpvIavV0hSfmBq8nJbHYI= github.com/tklauser/go-sysconf v0.3.15 h1:VE89k0criAymJ/Os65CSn1IXaol+1wrsFHEB8Ol49K4= github.com/tklauser/go-sysconf v0.3.15/go.mod h1:Dmjwr6tYFIseJw7a3dRLJfsHAMXZ3nEnL/aZY+0IuI4= @@ -1443,6 +1479,8 @@ github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +github.com/yuin/goldmark v1.7.12 h1:YwGP/rrea2/CnCtUHgjuolG/PnMxdQtPMO5PvaE2/nY= +github.com/yuin/goldmark v1.7.12/go.mod h1:ip/1k0VRfGynBgxOz0yCqHrbZXhcjxyuS66Brc7iBKg= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ= @@ -1610,6 +1648,8 @@ golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPI golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20241112194109-818c5a804067 h1:adDmSQyFTCiv19j015EGKJBoaa7ElV0Q1Wovb/4G7NA= +golang.org/x/lint v0.0.0-20241112194109-818c5a804067/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= From e19d675c916b2ae7d4bbe6e1d49f378ccbb422c0 Mon Sep 17 00:00:00 2001 From: Radek Scheibinger Date: Mon, 21 Jul 2025 10:07:01 +0200 Subject: [PATCH 29/37] make gomodtidy --- system-tests/tests/go.mod | 12 ++++--- system-tests/tests/go.sum | 72 +++++++++++++++++++++++++++------------ 2 files changed, 59 insertions(+), 25 deletions(-) diff --git a/system-tests/tests/go.mod b/system-tests/tests/go.mod index 2df2829ea62..59b57ebd1fb 100644 --- a/system-tests/tests/go.mod +++ b/system-tests/tests/go.mod @@ -17,7 +17,7 @@ require ( github.com/ethereum/go-ethereum v1.15.7 github.com/gin-gonic/gin v1.10.0 github.com/go-playground/universal-translator v0.18.1 - github.com/go-playground/validator/v10 v10.26.0 + github.com/go-playground/validator/v10 v10.27.0 github.com/google/uuid v1.6.0 github.com/pkg/errors v0.9.1 github.com/prometheus/common v0.65.0 @@ -102,7 +102,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ssooidc v1.30.1 // indirect github.com/aws/aws-sdk-go-v2/service/sts v1.33.19 // indirect github.com/aws/constructs-go/constructs/v10 v10.4.2 // indirect - github.com/aws/jsii-runtime-go v1.104.0 // indirect + github.com/aws/jsii-runtime-go v1.112.0 // indirect github.com/aws/smithy-go v1.22.3 // indirect github.com/aybabtme/rgbterm v0.0.0-20170906152045-cc83f3b3ce59 // indirect github.com/bahlo/generic-list-go v0.2.0 // indirect @@ -126,7 +126,7 @@ require ( github.com/bytedance/sonic v1.12.3 // indirect github.com/bytedance/sonic/loader v0.2.0 // indirect github.com/c2h5oh/datasize v0.0.0-20231215233829-aa82cc1e6500 // indirect - github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.74 // indirect + github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.76 // indirect github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.8 // indirect github.com/cenkalti/backoff v2.2.1+incompatible // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect @@ -355,6 +355,7 @@ require ( github.com/magiconair/properties v1.8.10 // indirect github.com/mailru/easyjson v0.9.0 // indirect github.com/marcboeker/go-duckdb v1.8.5 // indirect + github.com/maruel/natural v1.1.1 // indirect github.com/mattn/go-colorable v0.1.14 // indirect github.com/mattn/go-isatty v0.0.20 // indirect github.com/mattn/go-runewidth v0.0.16 // indirect @@ -477,7 +478,7 @@ require ( github.com/smartcontractkit/chainlink-testing-framework/lib/grafana v1.50.0 // indirect github.com/smartcontractkit/chainlink-testing-framework/parrot v0.6.2 // indirect github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20250701132001-f8be142155b6 // indirect - github.com/smartcontractkit/crib-sdk v0.0.0-20250707103804-cfad62202c95 // indirect + github.com/smartcontractkit/crib-sdk v0.1.1-0.20250718222656-11e009265e26 // indirect github.com/smartcontractkit/freeport v0.1.1 // indirect github.com/smartcontractkit/grpc-proxy v0.0.0-20240830132753-a7e17fec5ab7 // indirect github.com/smartcontractkit/mcms v0.20.2 // indirect @@ -495,10 +496,12 @@ require ( github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d // indirect github.com/tendermint/go-amino v0.16.0 // indirect github.com/testcontainers/testcontainers-go v0.37.0 // indirect + github.com/theckman/yacspin v0.13.12 // indirect github.com/theodesp/go-heaps v0.0.0-20190520121037-88e35354fe0a // indirect github.com/tidwall/gjson v1.18.0 // indirect github.com/tidwall/match v1.1.1 // indirect github.com/tidwall/pretty v1.2.1 // indirect + github.com/tidwall/sjson v1.2.5 // indirect github.com/tinylib/msgp v1.3.0 // indirect github.com/tjhop/slog-gokit v0.1.4 // indirect github.com/tklauser/go-sysconf v0.3.15 // indirect @@ -579,6 +582,7 @@ require ( golang.org/x/arch v0.11.0 // indirect golang.org/x/crypto v0.40.0 // indirect golang.org/x/exp v0.0.0-20250711185948-6ae5c78190dc // indirect + golang.org/x/lint v0.0.0-20241112194109-818c5a804067 // indirect golang.org/x/mod v0.26.0 // indirect golang.org/x/net v0.42.0 // indirect golang.org/x/oauth2 v0.30.0 // indirect diff --git a/system-tests/tests/go.sum b/system-tests/tests/go.sum index c00f081fdd5..cd4c2ac6775 100644 --- a/system-tests/tests/go.sum +++ b/system-tests/tests/go.sum @@ -142,6 +142,10 @@ github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b h1:mimo19zliBX/vS github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b/go.mod h1:fvzegU4vN3H1qMT+8wDmzjAcDONcgo2/SZ/TyfdUOFs= github.com/alexbrainman/sspi v0.0.0-20210105120005-909beea2cc74 h1:Kk6a4nehpJ3UuJRqlA3JxYxBZEqCeOmATOvrbT4p9RA= github.com/alexbrainman/sspi v0.0.0-20210105120005-909beea2cc74/go.mod h1:cEWa1LVoE5KvSD9ONXsZrj0z6KqySlCCNKHlLzbqAt4= +github.com/alexflint/go-arg v1.5.1 h1:nBuWUCpuRy0snAG+uIJ6N0UvYxpxA0/ghA/AaHxlT8Y= +github.com/alexflint/go-arg v1.5.1/go.mod h1:A7vTJzvjoaSTypg4biM5uYNTkJ27SkNTArtYXnlqVO8= +github.com/alexflint/go-scalar v1.2.0 h1:WR7JPKkeNpnYIOfHRa7ivM21aWAdHD0gEWHCx+WQBRw= +github.com/alexflint/go-scalar v1.2.0/go.mod h1:LoFvNMqS1CPrMVltza4LvnGKhaSpc3oyLEBUZVhhS2o= github.com/alicebob/miniredis v2.5.0+incompatible h1:yBHoLpsyjupjz3NL3MhKMVkR41j82Yjf3KFv7ApYzUI= github.com/alicebob/miniredis/v2 v2.35.0 h1:QwLphYqCEAo1eu1TqPRN2jgVMPBweeQcR21jeqDCONI= github.com/alicebob/miniredis/v2 v2.35.0/go.mod h1:TcL7YfarKPGDAthEtl5NBeHZfeUQj6OXMm/+iu5cLMM= @@ -206,8 +210,8 @@ github.com/aws/aws-sdk-go-v2/service/sts v1.33.19 h1:1XuUZ8mYJw9B6lzAkXhqHlJd/Xv github.com/aws/aws-sdk-go-v2/service/sts v1.33.19/go.mod h1:cQnB8CUnxbMU82JvlqjKR2HBOm3fe9pWorWBza6MBJ4= github.com/aws/constructs-go/constructs/v10 v10.4.2 h1:+hDLTsFGLJmKIn0Dg20vWpKBrVnFrEWYgTEY5UiTEG8= github.com/aws/constructs-go/constructs/v10 v10.4.2/go.mod h1:cXsNCKDV+9eR9zYYfwy6QuE4uPFp6jsq6TtH1MwBx9w= -github.com/aws/jsii-runtime-go v1.104.0 h1:651Sh6J2FtatfnVzlOQ3/Ye1WWPAseZ6E/tSQxEKdSI= -github.com/aws/jsii-runtime-go v1.104.0/go.mod h1:7ZmQXxV0AAhhvv/GaHX4n6zbgA1tSRVdnQYAJbIhXHk= +github.com/aws/jsii-runtime-go v1.112.0 h1:7jusWZUgSTuSPLa2ZRv+siGuyoFSzFNk/TaHqlcFe6Y= +github.com/aws/jsii-runtime-go v1.112.0/go.mod h1:jiAbLN2Hz+7At3C59LsQyv8gK3HvfNYF2YFPkWLHll8= github.com/aws/smithy-go v1.22.3 h1:Z//5NuZCSW6R4PhQ93hShNbyBbn8BWCmCVCt+Q8Io5k= github.com/aws/smithy-go v1.22.3/go.mod h1:t1ufH5HMublsJYulve2RKmHDC15xu1f26kHCp/HgceI= github.com/aybabtme/rgbterm v0.0.0-20170906152045-cc83f3b3ce59 h1:WWB576BN5zNSZc/M9d/10pqEx5VHNhaQ/yOVAkmj5Yo= @@ -237,6 +241,8 @@ github.com/blendle/zapdriver v1.3.1 h1:C3dydBOWYRiOk+B8X9IVZ5IOe+7cl+tGOexN4QqHf github.com/blendle/zapdriver v1.3.1/go.mod h1:mdXfREi6u5MArG4j9fewC+FGnXaBR+T4Ox4J2u4eHCc= github.com/block-vision/sui-go-sdk v1.0.6 h1:FysCc4TJC8v4BEBbCjJPDR4iR5eKqJT1dxGwsT67etg= github.com/block-vision/sui-go-sdk v1.0.6/go.mod h1:FyK1vGE8lWm9QA1fdQpf1agfXQSMbPT8AV1BICgx6d8= +github.com/brianvoe/gofakeit/v7 v7.3.0 h1:TWStf7/lLpAjKw+bqwzeORo9jvrxToWEwp9b1J2vApQ= +github.com/brianvoe/gofakeit/v7 v7.3.0/go.mod h1:QXuPeBw164PJCzCUZVmgpgHJ3Llj49jSLVkKPMtxtxA= github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs= github.com/bsm/ginkgo/v2 v2.12.0/go.mod h1:SwYbGRRDovPVboqFv0tPTcG1sN61LM1Z4ARdbAV9g4c= github.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA= @@ -288,8 +294,10 @@ github.com/bytedance/sonic/loader v0.2.0 h1:zNprn+lsIP06C/IqCHs3gPQIvnvpKbbxyXQP github.com/bytedance/sonic/loader v0.2.0/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= github.com/c2h5oh/datasize v0.0.0-20231215233829-aa82cc1e6500 h1:6lhrsTEnloDPXyeZBvSYvQf8u86jbKehZPVDDlkgDl4= github.com/c2h5oh/datasize v0.0.0-20231215233829-aa82cc1e6500/go.mod h1:S/7n9copUssQ56c7aAgHqftWO4LTf4xY6CGWt8Bc+3M= -github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.7.5 h1:rvc39Ol6z3MvaBzXkxFC6Nfsnixq/dRypushKDd7Nc0= -github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.7.5/go.mod h1:R/pdNYDYFQk+tuuOo7QES1kkv6OLmp5ze2XBZQIVffM= +github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.76 h1:3p3ygjYCNZ9wqPbbQ7oeDZEhY7xX8UPJs/pOuhxBP+E= +github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.76/go.mod h1:JFGcyqRE2qXgHsBw27/L0D1uEJtLhUm2Vqx4dFOHSzA= +github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.8 h1:vtT/G9hb1fstaeS52wcSYDKmZY0qExoroP5lhiFQe8U= +github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.8/go.mod h1:7uUKWwq8GOkVQFkVH9ymTajphRFJM6HeHhIQ3S/tFJw= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= @@ -403,6 +411,8 @@ github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7Do github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.24 h1:bJrF4RRfyJnbTJqzRLHzcGaZK1NeM5kTC9jGgovnR1s= github.com/creack/pty v1.1.24/go.mod h1:08sCNb52WyoAwi2QDyzUCTgcvVFhUzewun7wtTfvcwE= +github.com/creasty/defaults v1.8.0 h1:z27FJxCAa0JKt3utc0sCImAEb+spPucmKoOdLHvHYKk= +github.com/creasty/defaults v1.8.0/go.mod h1:iGzKe6pbEHnpMPtfDXZEr0NVxWnPTjb1bbDy08fPzYM= github.com/cucumber/gherkin/go/v26 v26.2.0 h1:EgIjePLWiPeslwIWmNQ3XHcypPsWAHoMCz/YEBKP4GI= github.com/cucumber/gherkin/go/v26 v26.2.0/go.mod h1:t2GAPnB8maCT4lkHL99BDCVNzCh1d7dBhCLt150Nr/0= github.com/cucumber/godog v0.15.0 h1:51AL8lBXF3f0cyA5CV4TnJFCTHpgiy+1x1Hb3TtZUmo= @@ -494,6 +504,8 @@ github.com/evanphx/json-patch/v5 v5.9.0 h1:kcBlZQbplgElYIlo/n1hJbls2z/1awpXxpRi0 github.com/evanphx/json-patch/v5 v5.9.0/go.mod h1:VNkHZ/282BpEyt/tObQO8s5CMPmYYq14uClGH4abBuQ= github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f h1:Wl78ApPPB2Wvf/TIe2xdyJxTlb6obmF18d8QdkxNDu4= github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f/go.mod h1:OSYXu++VVOHnXeitef/D8n/6y4QV8uLHSFXX4NeXMGc= +github.com/expr-lang/expr v1.17.5 h1:i1WrMvcdLF249nSNlpQZN1S6NXuW9WaOfF5tPi3aw3k= +github.com/expr-lang/expr v1.17.5/go.mod h1:8/vRC7+7HBzESEqt5kKpYXxrxkr31SaO8r40VO/1IT4= github.com/facette/natsort v0.0.0-20181210072756-2cd4dd1e2dcb h1:IT4JYU7k4ikYg1SCxNI1/Tieq/NFvh6dzLdgi7eu0tM= github.com/facette/natsort v0.0.0-20181210072756-2cd4dd1e2dcb/go.mod h1:bH6Xx7IW64qjjJq8M2u4dxNaBiDfKK+z/3eGDpXEQhc= github.com/fardream/go-bcs v0.7.0 h1:4YIiCXrtUFiRT86TsvUx+tIennZBRXQCzrgt8xC2g0c= @@ -519,8 +531,8 @@ github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E= github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ= -github.com/gabriel-vasile/mimetype v1.4.8 h1:FfZ3gj38NjllZIeJAmMhr+qKL8Wu+nOoI3GqacKw1NM= -github.com/gabriel-vasile/mimetype v1.4.8/go.mod h1:ByKUIKGjh1ODkGM1asKUbQZOLGrPjydw3hYPU2YU9t8= +github.com/gabriel-vasile/mimetype v1.4.9 h1:5k+WDwEsD9eTLL8Tz3L0VnmVh9QxGjRmjBvAG7U/oYY= +github.com/gabriel-vasile/mimetype v1.4.9/go.mod h1:WnSQhFKJuBlRyLiKohA/2DtIlPFAbguNaG7QCHcyGok= github.com/gagliardetto/binary v0.8.0 h1:U9ahc45v9HW0d15LoN++vIXSJyqR/pWw8DDlhd7zvxg= github.com/gagliardetto/binary v0.8.0/go.mod h1:2tfj51g5o9dnvsc+fL3Jxr22MuWzYXwx9wEoN0XQ7/c= github.com/gagliardetto/gofuzz v1.2.2 h1:XL/8qDMzcgvR4+CyRQW9UGdwPRPMHVJfqQ/uMvSUuQw= @@ -551,6 +563,12 @@ github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.10.0 h1:nTuyha1TYqgedzytsKYqna+DfLos46nTv2ygFy86HFU= github.com/gin-gonic/gin v1.10.0/go.mod h1:4PMNQiOhvDRa013RKVbsiNwoyezlm2rm0uX/T7kzp5Y= +github.com/gkampitakis/ciinfo v0.3.2 h1:JcuOPk8ZU7nZQjdUhctuhQofk7BGHuIy0c9Ez8BNhXs= +github.com/gkampitakis/ciinfo v0.3.2/go.mod h1:1NIwaOcFChN4fa/B0hEBdAb6npDlFL8Bwx4dfRLRqAo= +github.com/gkampitakis/go-diff v1.3.2 h1:Qyn0J9XJSDTgnsgHRdz9Zp24RaJeKMUHg2+PDZZdC4M= +github.com/gkampitakis/go-diff v1.3.2/go.mod h1:LLgOrpqleQe26cte8s36HTWcTmMEur6OPYerdAAS9tk= +github.com/gkampitakis/go-snaps v0.5.13 h1:Hhjmvv1WboSCxkR9iU2mj5PQ8tsz/y8ECGrIbjjPF8Q= +github.com/gkampitakis/go-snaps v0.5.13/go.mod h1:HNpx/9GoKisdhw9AFOBT1N7DBs9DiHo/hGheFGBZ+mc= github.com/go-asn1-ber/asn1-ber v1.5.5 h1:MNHlNMBDgEKD4TcKr36vQN68BA00aDfjIt3/bD50WnA= github.com/go-asn1-ber/asn1-ber v1.5.5/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= github.com/go-chi/chi v1.5.5 h1:vOB/HbEMt9QqBqErz07QehcOKHaWFtuj87tTDVz2qXE= @@ -615,8 +633,8 @@ github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/o github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= -github.com/go-playground/validator/v10 v10.26.0 h1:SP05Nqhjcvz81uJaRfEV0YBSSSGMc/iMaVtFbr3Sw2k= -github.com/go-playground/validator/v10 v10.26.0/go.mod h1:I5QpIEbmr8On7W0TktmJAumgzX4CA1XNl4ZmDuVHKKo= +github.com/go-playground/validator/v10 v10.27.0 h1:w8+XrWVMhGkxOaaowyKH35gFydVHOvC0/uWoy2Fzwn4= +github.com/go-playground/validator/v10 v10.27.0/go.mod h1:I5QpIEbmr8On7W0TktmJAumgzX4CA1XNl4ZmDuVHKKo= github.com/go-redis/redis v6.15.9+incompatible h1:K0pv1D7EQUjfyoMql+r/jZqCLizCGKFlFgcHWWmHQjg= github.com/go-redis/redis v6.15.9+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= github.com/go-redis/redis/v7 v7.4.1 h1:PASvf36gyUpr2zdOUS/9Zqc80GbM+9BDyiJSJDDOrTI= @@ -644,8 +662,8 @@ github.com/go-zookeeper/zk v1.0.4 h1:DPzxraQx7OrPyXq2phlGlNSIyWEsAox0RJmjTseMV6I github.com/go-zookeeper/zk v1.0.4/go.mod h1:nOB03cncLtlp4t+UAkGSV+9beXP/akpekBwL+UX1Qcw= github.com/goccy/go-json v0.10.5 h1:Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4= github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= -github.com/goccy/go-yaml v1.12.0 h1:/1WHjnMsI1dlIBQutrvSMGZRQufVO3asrHfTwfACoPM= -github.com/goccy/go-yaml v1.12.0/go.mod h1:wKnAMd44+9JAAnGQpWVEgBzGt3YuTaQ4uXoHvE4m7WU= +github.com/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw= +github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= @@ -891,7 +909,6 @@ github.com/hashicorp/golang-lru v1.0.2 h1:dV3g9Z/unq5DpblPpw+Oqcv4dU/1omnb4Ok8iP github.com/hashicorp/golang-lru v1.0.2/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k= github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= -github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= @@ -1110,6 +1127,8 @@ github.com/manyminds/api2go v0.0.0-20171030193247-e7b693844a6f h1:tVvGiZQFjOXP+9 github.com/manyminds/api2go v0.0.0-20171030193247-e7b693844a6f/go.mod h1:Z60vy0EZVSu0bOugCHdcN5ZxFMKSpjRgsnh0XKPFqqk= github.com/marcboeker/go-duckdb v1.8.5 h1:tkYp+TANippy0DaIOP5OEfBEwbUINqiFqgwMQ44jME0= github.com/marcboeker/go-duckdb v1.8.5/go.mod h1:6mK7+WQE4P4u5AFLvVBmhFxY5fvhymFptghgJX6B+/8= +github.com/maruel/natural v1.1.1 h1:Hja7XhhmvEFhcByqDoHz9QZbkWey+COd9xWfCfn1ioo= +github.com/maruel/natural v1.1.1/go.mod h1:v+Rfd79xlw1AgVBjbO0BEQmptqb5HvL/k9GRHB7ZKEg= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= @@ -1403,8 +1422,8 @@ github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzG github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= -github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= -github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= +github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= +github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= @@ -1421,10 +1440,10 @@ github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQD github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/go-glob v1.0.0 h1:iQh3xXAumdQ+4Ufa5b25cRpC5TYKlno6hsv6Cb3pkBk= github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc= -github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ= -github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4= -github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= -github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= +github.com/sagikazarmark/locafero v0.7.0 h1:5MqpDsTGNDhY8sGp0Aowyf0qKsPrhewaLSsFaodPcyo= +github.com/sagikazarmark/locafero v0.7.0/go.mod h1:2za3Cg5rMaTMoG/2Ulr9AwtFaIppKXTRYnozin4aB5k= +github.com/samber/lo v1.51.0 h1:kysRYLbHy/MB7kQZf5DSN50JHmMsNEdeY24VzJFu7wI= +github.com/samber/lo v1.51.0/go.mod h1:4+MXEGsJzbKGaUEQFKBq2xtfuznW9oz/WrgyzMzRoM0= github.com/sanity-io/litter v1.5.5 h1:iE+sBxPBzoK6uaEP5Lt3fHNgpKcHXc/A2HGETy0uJQo= github.com/sanity-io/litter v1.5.5/go.mod h1:9gzJgR2i4ZpjZHsKvUXIRQVk7P+yM3e+jAF7bU2UI5U= github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 h1:lZUw3E0/J3roVtGQ+SCrUrg3ON6NgVqpn3+iol9aGu4= @@ -1542,6 +1561,8 @@ github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.202504221 github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20250422175525-b7575d96bd4d/go.mod h1:4WhGgCA0smBbBud5mK+jnDb2wwndMvoqaWBJ3OV/7Bw= github.com/smartcontractkit/cre-sdk-go v0.2.1-0.20250717171236-d30449588a62 h1:/+gWJQYyFLwKiwyMUb8VxsI0yyEIf+a7KgIkPf6b3Ro= github.com/smartcontractkit/cre-sdk-go v0.2.1-0.20250717171236-d30449588a62/go.mod h1:XFQ3osQZZHjL4E1Q61WZuBh5JfJcVGRdeyLFvdb85dM= +github.com/smartcontractkit/crib-sdk v0.1.1-0.20250718222656-11e009265e26 h1:EiR535ZzJ8GpWH7ZI4v55mGgJFS05JhLxMBIcI7pHx8= +github.com/smartcontractkit/crib-sdk v0.1.1-0.20250718222656-11e009265e26/go.mod h1:ZIiufiewpxifpGNvAEvMQX87FC9ImdVVtSS8fab4QXU= github.com/smartcontractkit/freeport v0.1.1 h1:B5fhEtmgomdIhw03uPVbVTP6oPv27fBhZsoZZMSIS8I= github.com/smartcontractkit/freeport v0.1.1/go.mod h1:T4zH9R8R8lVWKfU7tUvYz2o2jMv1OpGCdpY2j2QZXzU= github.com/smartcontractkit/grpc-proxy v0.0.0-20240830132753-a7e17fec5ab7 h1:12ijqMM9tvYVEm+nR826WsrNi6zCKpwBhuApq127wHs= @@ -1568,8 +1589,8 @@ github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z github.com/spf13/afero v1.14.0 h1:9tH6MapGnn/j0eb0yIXiLjERO8RB6xIVZRDCX7PtqWA= github.com/spf13/afero v1.14.0/go.mod h1:acJQ8t0ohCGuMN3O+Pv0V0hgMxNYDlvdk+VTfyZmbYo= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y= -github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= +github.com/spf13/cast v1.9.2 h1:SsGfm7M8QOFtEzumm7UZrZdLLquNdzFYfIbEXntcFbE= +github.com/spf13/cast v1.9.2/go.mod h1:jNfB8QC9IA6ZuY2ZjDp0KtFO2LZZlg4S/7bzP6qqeHo= github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo= github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0= @@ -1578,8 +1599,8 @@ github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o= github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= -github.com/spf13/viper v1.19.0 h1:RWq5SEjt8o25SROyN3z2OrDB9l7RPd3lwTWU8EcEdcI= -github.com/spf13/viper v1.19.0/go.mod h1:GQUN9bilAbhU/jgc1bKs99f/suXKeUMct8Adx5+Ntkg= +github.com/spf13/viper v1.20.1 h1:ZMi+z/lvLyPSCoNtFCpqjy0S4kPbirhpTMwl8BkW9X4= +github.com/spf13/viper v1.20.1/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4= github.com/stephenlacy/go-ethereum-hdwallet v0.0.0-20230913225845-a4fa94429863 h1:ba4VRWSkRzgdP5hB5OxexIzBXZbSwgcw8bEu06ivGQI= github.com/stephenlacy/go-ethereum-hdwallet v0.0.0-20230913225845-a4fa94429863/go.mod h1:oPTjPNrRucLv9mU27iNPj6n0CWWcNFhoXFOLVGJwHCA= github.com/streamingfast/logging v0.0.0-20230608130331-f22c91403091 h1:RN5mrigyirb8anBEtdjtHFIufXdacyTi6i4KBfeNXeo= @@ -1623,10 +1644,13 @@ github.com/test-go/testify v1.1.4 h1:Tf9lntrKUMHiXQ07qBScBTSA0dhYQlu83hswqelv1iE github.com/test-go/testify v1.1.4/go.mod h1:rH7cfJo/47vWGdi4GPj16x3/t1xGOj2YxzmNQzk2ghU= github.com/testcontainers/testcontainers-go v0.37.0 h1:L2Qc0vkTw2EHWQ08djon0D2uw7Z/PtHS/QzZZ5Ra/hg= github.com/testcontainers/testcontainers-go v0.37.0/go.mod h1:QPzbxZhQ6Bclip9igjLFj6z0hs01bU8lrl2dHQmgFGM= +github.com/theckman/yacspin v0.13.12 h1:CdZ57+n0U6JMuh2xqjnjRq5Haj6v1ner2djtLQRzJr4= +github.com/theckman/yacspin v0.13.12/go.mod h1:Rd2+oG2LmQi5f3zC3yeZAOl245z8QOvrH4OPOJNZxLg= github.com/theodesp/go-heaps v0.0.0-20190520121037-88e35354fe0a h1:YuO+afVc3eqrjiCUizNCxI53bl/BnPiVwXqLzqYTqgU= github.com/theodesp/go-heaps v0.0.0-20190520121037-88e35354fe0a/go.mod h1:/sfW47zCZp9FrtGcWyo1VjbgDaodxX9ovZvgLb/MxaA= github.com/tidwall/btree v1.7.0 h1:L1fkJH/AuEh5zBnnBbmTwQ5Lt+bRJ5A8EWecslvo9iI= github.com/tidwall/btree v1.7.0/go.mod h1:twD9XRA5jj9VUQGELzDO4HPQTNJsoWWfYEL+EUQ2cKY= +github.com/tidwall/gjson v1.14.2/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= github.com/tidwall/gjson v1.18.0 h1:FIDeeyB800efLX89e5a8Y0BNH+LOngJyGrIWxG2FKQY= github.com/tidwall/gjson v1.18.0/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA= @@ -1634,6 +1658,8 @@ github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JT github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= github.com/tidwall/pretty v1.2.1 h1:qjsOFOWWQl+N3RsoF5/ssm1pHmJJwhjlSbZ51I6wMl4= github.com/tidwall/pretty v1.2.1/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= +github.com/tidwall/sjson v1.2.5 h1:kLy8mja+1c9jlljvWTlSazM7cKDRfJuR/bOJhcY5NcY= +github.com/tidwall/sjson v1.2.5/go.mod h1:Fvgq9kS/6ociJEDnK0Fk1cpYF4FIW6ZF7LAe+6jwd28= github.com/tinylib/msgp v1.3.0 h1:ULuf7GPooDaIlbyvgAxBV/FI7ynli6LZ1/nVUNu+0ww= github.com/tinylib/msgp v1.3.0/go.mod h1:ykjzy2wzgrlvpDCRc4LA8UXy6D8bzMSuAF3WD57Gok0= github.com/tjhop/slog-gokit v0.1.4 h1:uj/vbDt3HaF0Py8bHPV4ti/s0utnO0miRbO277FLBKM= @@ -1694,6 +1720,8 @@ github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +github.com/yuin/goldmark v1.7.12 h1:YwGP/rrea2/CnCtUHgjuolG/PnMxdQtPMO5PvaE2/nY= +github.com/yuin/goldmark v1.7.12/go.mod h1:ip/1k0VRfGynBgxOz0yCqHrbZXhcjxyuS66Brc7iBKg= github.com/yuin/gopher-lua v1.1.1 h1:kYKnWBjvbNP4XLT3+bPEwAXJx262OhaHDWDVOPjL46M= github.com/yuin/gopher-lua v1.1.1/go.mod h1:GBR0iDaNXjAgGg9zfCvksxSRnQx76gclCIb7kdAd1Pw= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= @@ -1929,6 +1957,8 @@ golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPI golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20241112194109-818c5a804067 h1:adDmSQyFTCiv19j015EGKJBoaa7ElV0Q1Wovb/4G7NA= +golang.org/x/lint v0.0.0-20241112194109-818c5a804067/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= From e4537e5cdb8392f4c782663ffa1c1dee5ec43d2f Mon Sep 17 00:00:00 2001 From: Radek Scheibinger Date: Mon, 21 Jul 2025 10:24:04 +0200 Subject: [PATCH 30/37] make generate --- go.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/go.md b/go.md index 3d8809cb757..c05bffab800 100644 --- a/go.md +++ b/go.md @@ -288,6 +288,7 @@ flowchart LR chainlink/load-tests --> chainlink/integration-tests click chainlink/load-tests href "https://github.com/smartcontractkit/chainlink" chainlink/system-tests/lib --> chainlink/deployment + chainlink/system-tests/lib --> crib-sdk click chainlink/system-tests/lib href "https://github.com/smartcontractkit/chainlink" chainlink/system-tests/tests --> chainlink-testing-framework/havoc chainlink/system-tests/tests --> chainlink-testing-framework/wasp @@ -310,6 +311,8 @@ flowchart LR click cre-sdk-go/capabilities/networking/http href "https://github.com/smartcontractkit/cre-sdk-go" cre-sdk-go/capabilities/scheduler/cron --> cre-sdk-go click cre-sdk-go/capabilities/scheduler/cron href "https://github.com/smartcontractkit/cre-sdk-go" + crib-sdk + click crib-sdk href "https://github.com/smartcontractkit/crib-sdk" freeport click freeport href "https://github.com/smartcontractkit/freeport" grpc-proxy From 75759ed7c1aa2d6e484d7f600f9fddd3cc60a01d Mon Sep 17 00:00:00 2001 From: Radek Scheibinger Date: Mon, 21 Jul 2025 10:33:17 +0200 Subject: [PATCH 31/37] fix golangci-lint --- system-tests/lib/cre/crib/crib.go | 52 +++++-------------------------- 1 file changed, 7 insertions(+), 45 deletions(-) diff --git a/system-tests/lib/cre/crib/crib.go b/system-tests/lib/cre/crib/crib.go index 505f9c0d5b3..614fd1b516a 100644 --- a/system-tests/lib/cre/crib/crib.go +++ b/system-tests/lib/cre/crib/crib.go @@ -3,9 +3,6 @@ package crib import ( "context" "fmt" - "github.com/smartcontractkit/chainlink-testing-framework/framework/components/clnode" - ns "github.com/smartcontractkit/chainlink-testing-framework/framework/components/simple_node_set" - nodev1 "github.com/smartcontractkit/crib-sdk/crib/composite/chainlink/node/v1" "os" "path/filepath" "regexp" @@ -13,16 +10,19 @@ import ( "strconv" "strings" + "github.com/pelletier/go-toml/v2" + "github.com/pkg/errors" "github.com/smartcontractkit/crib-sdk/crib" anvilv1 "github.com/smartcontractkit/crib-sdk/crib/composite/blockchain/anvil/v1" jdv1 "github.com/smartcontractkit/crib-sdk/crib/composite/chainlink/jd/v1" + nodev1 "github.com/smartcontractkit/crib-sdk/crib/composite/chainlink/node/v1" telepresencev1 "github.com/smartcontractkit/crib-sdk/crib/composite/cluster-services/telepresence/v1" namespacev1 "github.com/smartcontractkit/crib-sdk/crib/scalar/k8s/namespace/v1" - "github.com/pelletier/go-toml/v2" - "github.com/pkg/errors" "github.com/smartcontractkit/chainlink-testing-framework/framework/components/blockchain" + "github.com/smartcontractkit/chainlink-testing-framework/framework/components/clnode" "github.com/smartcontractkit/chainlink-testing-framework/framework/components/jd" + ns "github.com/smartcontractkit/chainlink-testing-framework/framework/components/simple_node_set" crecaps "github.com/smartcontractkit/chainlink/system-tests/lib/cre/capabilities" libnode "github.com/smartcontractkit/chainlink/system-tests/lib/cre/don/node" "github.com/smartcontractkit/chainlink/system-tests/lib/cre/types" @@ -159,7 +159,6 @@ func DeployDons(input *types.DeployCribDonsInput) ([]*types.CapabilitiesAwareNod componentFuncs := make([]crib.ComponentFunc, 0) for j, donMetadata := range input.Topology.DonsMetadata { - imageName, imageTag, err := imageNameAndTag(input, j) if err != nil { return nil, errors.Wrapf(err, "failed to get image name and tag for %s", donMetadata.Name) @@ -205,7 +204,7 @@ func DeployDons(input *types.DeployCribDonsInput) ([]*types.CapabilitiesAwareNod // Setting outputs based on the Plan Results nodeComponents := planState.ComponentByName(nodev1.ComponentName) - var nodeResults []nodev1.Result + nodeResults := make([]nodev1.Result, 0) for component := range nodeComponents { res := crib.ComponentState[nodev1.Result](component) @@ -286,44 +285,7 @@ func getConfigAndSecretsForNode(nodeMetadata *types.NodeMetadata, donIndex int, return &tomlString, &secretsString, nil } -func writeOverrides(nodeMetadata *types.NodeMetadata, i int, nodeType types.NodeType, donIndex int, input *types.DeployCribDonsInput, donMetadata *types.DonMetadata, cribConfigsDirAbs string) error { - nodeIndexStr, findErr := libnode.FindLabelValue(nodeMetadata, libnode.IndexKey) - if findErr != nil { - return errors.Wrapf(findErr, "failed to find node index for %s node %d in nodeset %s", nodeType, i, donMetadata.Name) - } - - nodeIndex, convErr := strconv.Atoi(nodeIndexStr) - if convErr != nil { - return errors.Wrapf(convErr, "failed to convert node index '%s' to int for %s node %d in nodeset %s", nodeIndexStr, nodeType, i, donMetadata.Name) - } - - cleanedToml, tomlErr := cleanToml(input.NodeSetInputs[donIndex].NodeSpecs[nodeIndex].Node.TestConfigOverrides) - if tomlErr != nil { - return errors.Wrap(tomlErr, "failed to clean TOML") - } - - configFileMask := "config-override-bt-%d.toml" - secretsFileMask := "secrets-override-bt-%d.toml" - - if nodeType != types.BootstrapNode { - configFileMask = "config-override-%d.toml" - secretsFileMask = "secrets-override-%d.toml" - } - - writeErr := os.WriteFile(filepath.Join(cribConfigsDirAbs, fmt.Sprintf(configFileMask, i)), cleanedToml, 0600) - if writeErr != nil { - return errors.Wrapf(writeErr, "failed to write config override for bootstrap node %d to file", i) - } - - writeErr = os.WriteFile(filepath.Join(cribConfigsDirAbs, fmt.Sprintf(secretsFileMask, i)), []byte(input.NodeSetInputs[donIndex].NodeSpecs[nodeIndex].Node.TestSecretsOverrides), 0600) - if writeErr != nil { - return errors.Wrapf(writeErr, "failed to write secrets override for bootstrap node %d to file", i) - } - - return nil -} - -// note: for now we don't need to set capabilities (high complexity, low impact) we'll rely on plugins image which contains all required capabilities +//nolint:unused // for now we don't need to set capabilities (high complexity, low impact) we'll rely on plugins image which contains all required capabilities func setCapabilities(input *types.DeployCribDonsInput, donIndex int, workerNodes []*types.NodeMetadata) error { // validate capabilities-related configuration and copy capabilities to pods podNamePattern := input.NodeSetInputs[donIndex].Name + `-\\d+` From 9a4ba371ea5f44091f1146d6f68ec9d159280a2e Mon Sep 17 00:00:00 2001 From: Radek Scheibinger Date: Mon, 21 Jul 2025 10:41:14 +0200 Subject: [PATCH 32/37] Added changeset --- .changeset/yummy-toys-strive.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/yummy-toys-strive.md diff --git a/.changeset/yummy-toys-strive.md b/.changeset/yummy-toys-strive.md new file mode 100644 index 00000000000..f84c9c3c448 --- /dev/null +++ b/.changeset/yummy-toys-strive.md @@ -0,0 +1,5 @@ +--- +"chainlink": minor +--- + +#internal Replaced CRE devspace invocation with crib-sdk From 94fc30c98763534c13737402be38a7e1b7f87a9a Mon Sep 17 00:00:00 2001 From: Radek Scheibinger Date: Mon, 21 Jul 2025 10:48:39 +0200 Subject: [PATCH 33/37] fix fmt --- system-tests/lib/cre/environment/dons.go | 2 +- system-tests/lib/cre/environment/jobs.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/system-tests/lib/cre/environment/dons.go b/system-tests/lib/cre/environment/dons.go index 62362084024..1e2d58a5b2a 100644 --- a/system-tests/lib/cre/environment/dons.go +++ b/system-tests/lib/cre/environment/dons.go @@ -15,7 +15,7 @@ import ( libtypes "github.com/smartcontractkit/chainlink/system-tests/lib/types" ) -func StartDONs(lggr zerolog.Logger, nixShell *nix.Shell, topology *cretypes.Topology, infraInput libtypes.InfraInput, registryChainBlockchainOutput *blockchain.Output, capabilitiesAwareNodeSets []*cretypes.CapabilitiesAwareNodeSet, ) ([]*cretypes.WrappedNodeOutput, error) { +func StartDONs(lggr zerolog.Logger, nixShell *nix.Shell, topology *cretypes.Topology, infraInput libtypes.InfraInput, registryChainBlockchainOutput *blockchain.Output, capabilitiesAwareNodeSets []*cretypes.CapabilitiesAwareNodeSet) ([]*cretypes.WrappedNodeOutput, error) { startTime := time.Now() lggr.Info().Msgf("Starting %d DONs", len(capabilitiesAwareNodeSets)) diff --git a/system-tests/lib/cre/environment/jobs.go b/system-tests/lib/cre/environment/jobs.go index 8861e7b8cf0..59e54439527 100644 --- a/system-tests/lib/cre/environment/jobs.go +++ b/system-tests/lib/cre/environment/jobs.go @@ -56,7 +56,7 @@ func StartJD(lggr zerolog.Logger, nixShell *nix.Shell, jdInput jd.Input, infraIn return jdOutput, nil } -func SetupJobs(lggr zerolog.Logger, jdInput jd.Input, nixShell *nix.Shell, registryChainBlockchainOutput *blockchain.Output, topology *cretypes.Topology, infraInput libtypes.InfraInput, capabilitiesAwareNodeSets []*cretypes.CapabilitiesAwareNodeSet, ) (*jd.Output, []*cretypes.WrappedNodeOutput, error) { +func SetupJobs(lggr zerolog.Logger, jdInput jd.Input, nixShell *nix.Shell, registryChainBlockchainOutput *blockchain.Output, topology *cretypes.Topology, infraInput libtypes.InfraInput, capabilitiesAwareNodeSets []*cretypes.CapabilitiesAwareNodeSet) (*jd.Output, []*cretypes.WrappedNodeOutput, error) { var jdOutput *jd.Output jdAndDonsErrGroup := &errgroup.Group{} From b6354ced2a527b452338617f91185d445be7b8eb Mon Sep 17 00:00:00 2001 From: Radek Scheibinger Date: Tue, 22 Jul 2025 13:06:00 +0200 Subject: [PATCH 34/37] Switch crib-sdk to released version --- core/scripts/go.mod | 5 ++--- core/scripts/go.sum | 10 ++++------ system-tests/lib/go.mod | 5 ++--- system-tests/lib/go.sum | 10 ++++------ 4 files changed, 12 insertions(+), 18 deletions(-) diff --git a/core/scripts/go.mod b/core/scripts/go.mod index f72f28efddb..99e57bb5059 100644 --- a/core/scripts/go.mod +++ b/core/scripts/go.mod @@ -145,7 +145,7 @@ require ( github.com/bytecodealliance/wasmtime-go/v28 v28.0.0 // indirect github.com/bytedance/sonic v1.12.3 // indirect github.com/bytedance/sonic/loader v0.2.0 // indirect - github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.76 // indirect + github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.70.2 // indirect github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.8 // indirect github.com/cenkalti/backoff v2.2.1+incompatible // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect @@ -473,7 +473,7 @@ require ( github.com/smartcontractkit/chainlink-solana v1.1.2-0.20250708220600-853616d583f4 // indirect github.com/smartcontractkit/chainlink-testing-framework/parrot v0.6.2 // indirect github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20250701132001-f8be142155b6 // indirect - github.com/smartcontractkit/crib-sdk v0.1.1-0.20250718222656-11e009265e26 // indirect + github.com/smartcontractkit/crib-sdk v0.3.0 // indirect github.com/smartcontractkit/freeport v0.1.1 // indirect github.com/smartcontractkit/grpc-proxy v0.0.0-20240830132753-a7e17fec5ab7 // indirect github.com/smartcontractkit/mcms v0.20.2 // indirect @@ -493,7 +493,6 @@ require ( github.com/tendermint/go-amino v0.16.0 // indirect github.com/testcontainers/testcontainers-go v0.37.0 // indirect github.com/testcontainers/testcontainers-go/modules/compose v0.37.0 // indirect - github.com/theckman/yacspin v0.13.12 // indirect github.com/theodesp/go-heaps v0.0.0-20190520121037-88e35354fe0a // indirect github.com/theupdateframework/notary v0.7.0 // indirect github.com/tidwall/match v1.1.1 // indirect diff --git a/core/scripts/go.sum b/core/scripts/go.sum index 805b72a5e32..8c3917307c5 100644 --- a/core/scripts/go.sum +++ b/core/scripts/go.sum @@ -288,8 +288,8 @@ github.com/bytedance/sonic v1.12.3/go.mod h1:B8Gt/XvtZ3Fqj+iSKMypzymZxw/FVwgIGKz github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= github.com/bytedance/sonic/loader v0.2.0 h1:zNprn+lsIP06C/IqCHs3gPQIvnvpKbbxyXQP1iU4kWM= github.com/bytedance/sonic/loader v0.2.0/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= -github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.76 h1:3p3ygjYCNZ9wqPbbQ7oeDZEhY7xX8UPJs/pOuhxBP+E= -github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.76/go.mod h1:JFGcyqRE2qXgHsBw27/L0D1uEJtLhUm2Vqx4dFOHSzA= +github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.70.2 h1:6khni3TG7XJsyXgg5gdbY/IZCiBnpAi8XVZZUBizGUc= +github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.70.2/go.mod h1:JFGcyqRE2qXgHsBw27/L0D1uEJtLhUm2Vqx4dFOHSzA= github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.8 h1:vtT/G9hb1fstaeS52wcSYDKmZY0qExoroP5lhiFQe8U= github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.8/go.mod h1:7uUKWwq8GOkVQFkVH9ymTajphRFJM6HeHhIQ3S/tFJw= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= @@ -1584,8 +1584,8 @@ github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.202504221 github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20250422175525-b7575d96bd4d/go.mod h1:4WhGgCA0smBbBud5mK+jnDb2wwndMvoqaWBJ3OV/7Bw= github.com/smartcontractkit/cre-sdk-go v0.2.1-0.20250717171236-d30449588a62 h1:/+gWJQYyFLwKiwyMUb8VxsI0yyEIf+a7KgIkPf6b3Ro= github.com/smartcontractkit/cre-sdk-go v0.2.1-0.20250717171236-d30449588a62/go.mod h1:XFQ3osQZZHjL4E1Q61WZuBh5JfJcVGRdeyLFvdb85dM= -github.com/smartcontractkit/crib-sdk v0.1.1-0.20250718222656-11e009265e26 h1:EiR535ZzJ8GpWH7ZI4v55mGgJFS05JhLxMBIcI7pHx8= -github.com/smartcontractkit/crib-sdk v0.1.1-0.20250718222656-11e009265e26/go.mod h1:ZIiufiewpxifpGNvAEvMQX87FC9ImdVVtSS8fab4QXU= +github.com/smartcontractkit/crib-sdk v0.3.0 h1:JkLFOFOHXSfM9bvjdvdmE3LvN0KP+GrldgBWmoUBBtU= +github.com/smartcontractkit/crib-sdk v0.3.0/go.mod h1:OivLdEg6CRlC2aDJVOnAoS+4+QKIDL33tCY2siHsuVc= github.com/smartcontractkit/freeport v0.1.1 h1:B5fhEtmgomdIhw03uPVbVTP6oPv27fBhZsoZZMSIS8I= github.com/smartcontractkit/freeport v0.1.1/go.mod h1:T4zH9R8R8lVWKfU7tUvYz2o2jMv1OpGCdpY2j2QZXzU= github.com/smartcontractkit/grpc-proxy v0.0.0-20240830132753-a7e17fec5ab7 h1:12ijqMM9tvYVEm+nR826WsrNi6zCKpwBhuApq127wHs= @@ -1673,8 +1673,6 @@ github.com/testcontainers/testcontainers-go v0.37.0 h1:L2Qc0vkTw2EHWQ08djon0D2uw github.com/testcontainers/testcontainers-go v0.37.0/go.mod h1:QPzbxZhQ6Bclip9igjLFj6z0hs01bU8lrl2dHQmgFGM= github.com/testcontainers/testcontainers-go/modules/compose v0.37.0 h1:AE6XYnyUMkiyuo8GZ3B36d0i4L/HMSjaQ6QtAffkD4k= github.com/testcontainers/testcontainers-go/modules/compose v0.37.0/go.mod h1:fgzGeGw5iVyzS6qWOAYDbvv3iWp/wCtqWNSH4Aev8hs= -github.com/theckman/yacspin v0.13.12 h1:CdZ57+n0U6JMuh2xqjnjRq5Haj6v1ner2djtLQRzJr4= -github.com/theckman/yacspin v0.13.12/go.mod h1:Rd2+oG2LmQi5f3zC3yeZAOl245z8QOvrH4OPOJNZxLg= github.com/theodesp/go-heaps v0.0.0-20190520121037-88e35354fe0a h1:YuO+afVc3eqrjiCUizNCxI53bl/BnPiVwXqLzqYTqgU= github.com/theodesp/go-heaps v0.0.0-20190520121037-88e35354fe0a/go.mod h1:/sfW47zCZp9FrtGcWyo1VjbgDaodxX9ovZvgLb/MxaA= github.com/theupdateframework/notary v0.7.0 h1:QyagRZ7wlSpjT5N2qQAh/pN+DVqgekv4DzbAiAiEL3c= diff --git a/system-tests/lib/go.mod b/system-tests/lib/go.mod index c8d7759a3f0..324709907a1 100644 --- a/system-tests/lib/go.mod +++ b/system-tests/lib/go.mod @@ -35,7 +35,7 @@ require ( github.com/smartcontractkit/chainlink-testing-framework/lib v1.54.4 github.com/smartcontractkit/chainlink-testing-framework/seth v1.51.2 github.com/smartcontractkit/chainlink/deployment v0.0.0-20250718211650-37ca415e72a0 - github.com/smartcontractkit/crib-sdk v0.1.1-0.20250718222656-11e009265e26 + github.com/smartcontractkit/crib-sdk v0.3.0 go.uber.org/ratelimit v0.3.1 golang.org/x/sync v0.16.0 google.golang.org/grpc v1.72.1 @@ -114,7 +114,7 @@ require ( github.com/bytecodealliance/wasmtime-go/v28 v28.0.0 // indirect github.com/bytedance/sonic v1.12.3 // indirect github.com/bytedance/sonic/loader v0.2.0 // indirect - github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.76 // indirect + github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.70.2 // indirect github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.8 // indirect github.com/cenkalti/backoff v2.2.1+incompatible // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect @@ -417,7 +417,6 @@ require ( github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d // indirect github.com/tendermint/go-amino v0.16.0 // indirect github.com/testcontainers/testcontainers-go v0.37.0 // indirect - github.com/theckman/yacspin v0.13.12 // indirect github.com/theodesp/go-heaps v0.0.0-20190520121037-88e35354fe0a // indirect github.com/tidwall/gjson v1.18.0 // indirect github.com/tidwall/match v1.1.1 // indirect diff --git a/system-tests/lib/go.sum b/system-tests/lib/go.sum index 9f263d4e835..7d9b618d1f9 100644 --- a/system-tests/lib/go.sum +++ b/system-tests/lib/go.sum @@ -252,8 +252,8 @@ github.com/bytedance/sonic v1.12.3/go.mod h1:B8Gt/XvtZ3Fqj+iSKMypzymZxw/FVwgIGKz github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= github.com/bytedance/sonic/loader v0.2.0 h1:zNprn+lsIP06C/IqCHs3gPQIvnvpKbbxyXQP1iU4kWM= github.com/bytedance/sonic/loader v0.2.0/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= -github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.76 h1:3p3ygjYCNZ9wqPbbQ7oeDZEhY7xX8UPJs/pOuhxBP+E= -github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.76/go.mod h1:JFGcyqRE2qXgHsBw27/L0D1uEJtLhUm2Vqx4dFOHSzA= +github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.70.2 h1:6khni3TG7XJsyXgg5gdbY/IZCiBnpAi8XVZZUBizGUc= +github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.70.2/go.mod h1:JFGcyqRE2qXgHsBw27/L0D1uEJtLhUm2Vqx4dFOHSzA= github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.8 h1:vtT/G9hb1fstaeS52wcSYDKmZY0qExoroP5lhiFQe8U= github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.8/go.mod h1:7uUKWwq8GOkVQFkVH9ymTajphRFJM6HeHhIQ3S/tFJw= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= @@ -1334,8 +1334,8 @@ github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.202504221 github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20250422175525-b7575d96bd4d/go.mod h1:4WhGgCA0smBbBud5mK+jnDb2wwndMvoqaWBJ3OV/7Bw= github.com/smartcontractkit/cre-sdk-go v0.2.1-0.20250717171236-d30449588a62 h1:/+gWJQYyFLwKiwyMUb8VxsI0yyEIf+a7KgIkPf6b3Ro= github.com/smartcontractkit/cre-sdk-go v0.2.1-0.20250717171236-d30449588a62/go.mod h1:XFQ3osQZZHjL4E1Q61WZuBh5JfJcVGRdeyLFvdb85dM= -github.com/smartcontractkit/crib-sdk v0.1.1-0.20250718222656-11e009265e26 h1:EiR535ZzJ8GpWH7ZI4v55mGgJFS05JhLxMBIcI7pHx8= -github.com/smartcontractkit/crib-sdk v0.1.1-0.20250718222656-11e009265e26/go.mod h1:ZIiufiewpxifpGNvAEvMQX87FC9ImdVVtSS8fab4QXU= +github.com/smartcontractkit/crib-sdk v0.3.0 h1:JkLFOFOHXSfM9bvjdvdmE3LvN0KP+GrldgBWmoUBBtU= +github.com/smartcontractkit/crib-sdk v0.3.0/go.mod h1:OivLdEg6CRlC2aDJVOnAoS+4+QKIDL33tCY2siHsuVc= github.com/smartcontractkit/freeport v0.1.1 h1:B5fhEtmgomdIhw03uPVbVTP6oPv27fBhZsoZZMSIS8I= github.com/smartcontractkit/freeport v0.1.1/go.mod h1:T4zH9R8R8lVWKfU7tUvYz2o2jMv1OpGCdpY2j2QZXzU= github.com/smartcontractkit/grpc-proxy v0.0.0-20240830132753-a7e17fec5ab7 h1:12ijqMM9tvYVEm+nR826WsrNi6zCKpwBhuApq127wHs= @@ -1413,8 +1413,6 @@ github.com/test-go/testify v1.1.4 h1:Tf9lntrKUMHiXQ07qBScBTSA0dhYQlu83hswqelv1iE github.com/test-go/testify v1.1.4/go.mod h1:rH7cfJo/47vWGdi4GPj16x3/t1xGOj2YxzmNQzk2ghU= github.com/testcontainers/testcontainers-go v0.37.0 h1:L2Qc0vkTw2EHWQ08djon0D2uw7Z/PtHS/QzZZ5Ra/hg= github.com/testcontainers/testcontainers-go v0.37.0/go.mod h1:QPzbxZhQ6Bclip9igjLFj6z0hs01bU8lrl2dHQmgFGM= -github.com/theckman/yacspin v0.13.12 h1:CdZ57+n0U6JMuh2xqjnjRq5Haj6v1ner2djtLQRzJr4= -github.com/theckman/yacspin v0.13.12/go.mod h1:Rd2+oG2LmQi5f3zC3yeZAOl245z8QOvrH4OPOJNZxLg= github.com/theodesp/go-heaps v0.0.0-20190520121037-88e35354fe0a h1:YuO+afVc3eqrjiCUizNCxI53bl/BnPiVwXqLzqYTqgU= github.com/theodesp/go-heaps v0.0.0-20190520121037-88e35354fe0a/go.mod h1:/sfW47zCZp9FrtGcWyo1VjbgDaodxX9ovZvgLb/MxaA= github.com/tidwall/btree v1.7.0 h1:L1fkJH/AuEh5zBnnBbmTwQ5Lt+bRJ5A8EWecslvo9iI= From a956ce8dd83a8782750fc802959b7dfae2a53db3 Mon Sep 17 00:00:00 2001 From: Radek Scheibinger Date: Tue, 22 Jul 2025 13:07:53 +0200 Subject: [PATCH 35/37] make gomodtidy --- system-tests/tests/go.mod | 5 ++--- system-tests/tests/go.sum | 10 ++++------ 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/system-tests/tests/go.mod b/system-tests/tests/go.mod index 59b57ebd1fb..8583cd85fc9 100644 --- a/system-tests/tests/go.mod +++ b/system-tests/tests/go.mod @@ -126,7 +126,7 @@ require ( github.com/bytedance/sonic v1.12.3 // indirect github.com/bytedance/sonic/loader v0.2.0 // indirect github.com/c2h5oh/datasize v0.0.0-20231215233829-aa82cc1e6500 // indirect - github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.76 // indirect + github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.70.2 // indirect github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.8 // indirect github.com/cenkalti/backoff v2.2.1+incompatible // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect @@ -478,7 +478,7 @@ require ( github.com/smartcontractkit/chainlink-testing-framework/lib/grafana v1.50.0 // indirect github.com/smartcontractkit/chainlink-testing-framework/parrot v0.6.2 // indirect github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20250701132001-f8be142155b6 // indirect - github.com/smartcontractkit/crib-sdk v0.1.1-0.20250718222656-11e009265e26 // indirect + github.com/smartcontractkit/crib-sdk v0.3.0 // indirect github.com/smartcontractkit/freeport v0.1.1 // indirect github.com/smartcontractkit/grpc-proxy v0.0.0-20240830132753-a7e17fec5ab7 // indirect github.com/smartcontractkit/mcms v0.20.2 // indirect @@ -496,7 +496,6 @@ require ( github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d // indirect github.com/tendermint/go-amino v0.16.0 // indirect github.com/testcontainers/testcontainers-go v0.37.0 // indirect - github.com/theckman/yacspin v0.13.12 // indirect github.com/theodesp/go-heaps v0.0.0-20190520121037-88e35354fe0a // indirect github.com/tidwall/gjson v1.18.0 // indirect github.com/tidwall/match v1.1.1 // indirect diff --git a/system-tests/tests/go.sum b/system-tests/tests/go.sum index cd4c2ac6775..d801831f674 100644 --- a/system-tests/tests/go.sum +++ b/system-tests/tests/go.sum @@ -294,8 +294,8 @@ github.com/bytedance/sonic/loader v0.2.0 h1:zNprn+lsIP06C/IqCHs3gPQIvnvpKbbxyXQP github.com/bytedance/sonic/loader v0.2.0/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= github.com/c2h5oh/datasize v0.0.0-20231215233829-aa82cc1e6500 h1:6lhrsTEnloDPXyeZBvSYvQf8u86jbKehZPVDDlkgDl4= github.com/c2h5oh/datasize v0.0.0-20231215233829-aa82cc1e6500/go.mod h1:S/7n9copUssQ56c7aAgHqftWO4LTf4xY6CGWt8Bc+3M= -github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.76 h1:3p3ygjYCNZ9wqPbbQ7oeDZEhY7xX8UPJs/pOuhxBP+E= -github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.69.76/go.mod h1:JFGcyqRE2qXgHsBw27/L0D1uEJtLhUm2Vqx4dFOHSzA= +github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.70.2 h1:6khni3TG7XJsyXgg5gdbY/IZCiBnpAi8XVZZUBizGUc= +github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.70.2/go.mod h1:JFGcyqRE2qXgHsBw27/L0D1uEJtLhUm2Vqx4dFOHSzA= github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.8 h1:vtT/G9hb1fstaeS52wcSYDKmZY0qExoroP5lhiFQe8U= github.com/cdk8s-team/cdk8s-plus-go/cdk8splus30/v2 v2.4.8/go.mod h1:7uUKWwq8GOkVQFkVH9ymTajphRFJM6HeHhIQ3S/tFJw= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= @@ -1561,8 +1561,8 @@ github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.202504221 github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20250422175525-b7575d96bd4d/go.mod h1:4WhGgCA0smBbBud5mK+jnDb2wwndMvoqaWBJ3OV/7Bw= github.com/smartcontractkit/cre-sdk-go v0.2.1-0.20250717171236-d30449588a62 h1:/+gWJQYyFLwKiwyMUb8VxsI0yyEIf+a7KgIkPf6b3Ro= github.com/smartcontractkit/cre-sdk-go v0.2.1-0.20250717171236-d30449588a62/go.mod h1:XFQ3osQZZHjL4E1Q61WZuBh5JfJcVGRdeyLFvdb85dM= -github.com/smartcontractkit/crib-sdk v0.1.1-0.20250718222656-11e009265e26 h1:EiR535ZzJ8GpWH7ZI4v55mGgJFS05JhLxMBIcI7pHx8= -github.com/smartcontractkit/crib-sdk v0.1.1-0.20250718222656-11e009265e26/go.mod h1:ZIiufiewpxifpGNvAEvMQX87FC9ImdVVtSS8fab4QXU= +github.com/smartcontractkit/crib-sdk v0.3.0 h1:JkLFOFOHXSfM9bvjdvdmE3LvN0KP+GrldgBWmoUBBtU= +github.com/smartcontractkit/crib-sdk v0.3.0/go.mod h1:OivLdEg6CRlC2aDJVOnAoS+4+QKIDL33tCY2siHsuVc= github.com/smartcontractkit/freeport v0.1.1 h1:B5fhEtmgomdIhw03uPVbVTP6oPv27fBhZsoZZMSIS8I= github.com/smartcontractkit/freeport v0.1.1/go.mod h1:T4zH9R8R8lVWKfU7tUvYz2o2jMv1OpGCdpY2j2QZXzU= github.com/smartcontractkit/grpc-proxy v0.0.0-20240830132753-a7e17fec5ab7 h1:12ijqMM9tvYVEm+nR826WsrNi6zCKpwBhuApq127wHs= @@ -1644,8 +1644,6 @@ github.com/test-go/testify v1.1.4 h1:Tf9lntrKUMHiXQ07qBScBTSA0dhYQlu83hswqelv1iE github.com/test-go/testify v1.1.4/go.mod h1:rH7cfJo/47vWGdi4GPj16x3/t1xGOj2YxzmNQzk2ghU= github.com/testcontainers/testcontainers-go v0.37.0 h1:L2Qc0vkTw2EHWQ08djon0D2uw7Z/PtHS/QzZZ5Ra/hg= github.com/testcontainers/testcontainers-go v0.37.0/go.mod h1:QPzbxZhQ6Bclip9igjLFj6z0hs01bU8lrl2dHQmgFGM= -github.com/theckman/yacspin v0.13.12 h1:CdZ57+n0U6JMuh2xqjnjRq5Haj6v1ner2djtLQRzJr4= -github.com/theckman/yacspin v0.13.12/go.mod h1:Rd2+oG2LmQi5f3zC3yeZAOl245z8QOvrH4OPOJNZxLg= github.com/theodesp/go-heaps v0.0.0-20190520121037-88e35354fe0a h1:YuO+afVc3eqrjiCUizNCxI53bl/BnPiVwXqLzqYTqgU= github.com/theodesp/go-heaps v0.0.0-20190520121037-88e35354fe0a/go.mod h1:/sfW47zCZp9FrtGcWyo1VjbgDaodxX9ovZvgLb/MxaA= github.com/tidwall/btree v1.7.0 h1:L1fkJH/AuEh5zBnnBbmTwQ5Lt+bRJ5A8EWecslvo9iI= From 9bb36027af4ad38eacb92184fb832deaffc20d45 Mon Sep 17 00:00:00 2001 From: Radek Scheibinger Date: Tue, 22 Jul 2025 13:19:36 +0200 Subject: [PATCH 36/37] bump crib-sdk --- core/scripts/go.mod | 4 ++-- core/scripts/go.sum | 11 ++++++----- system-tests/lib/go.mod | 4 ++-- system-tests/lib/go.sum | 11 ++++++----- system-tests/tests/go.mod | 4 ++-- system-tests/tests/go.sum | 11 ++++++----- 6 files changed, 24 insertions(+), 21 deletions(-) diff --git a/core/scripts/go.mod b/core/scripts/go.mod index 99e57bb5059..4ea92e59a57 100644 --- a/core/scripts/go.mod +++ b/core/scripts/go.mod @@ -473,7 +473,7 @@ require ( github.com/smartcontractkit/chainlink-solana v1.1.2-0.20250708220600-853616d583f4 // indirect github.com/smartcontractkit/chainlink-testing-framework/parrot v0.6.2 // indirect github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20250701132001-f8be142155b6 // indirect - github.com/smartcontractkit/crib-sdk v0.3.0 // indirect + github.com/smartcontractkit/crib-sdk v0.4.0 // indirect github.com/smartcontractkit/freeport v0.1.1 // indirect github.com/smartcontractkit/grpc-proxy v0.0.0-20240830132753-a7e17fec5ab7 // indirect github.com/smartcontractkit/mcms v0.20.2 // indirect @@ -483,7 +483,7 @@ require ( github.com/sourcegraph/conc v0.3.0 // indirect github.com/spf13/afero v1.12.0 // indirect github.com/spf13/cast v1.9.2 // indirect - github.com/spf13/pflag v1.0.6 // indirect + github.com/spf13/pflag v1.0.7 // indirect github.com/stephenlacy/go-ethereum-hdwallet v0.0.0-20230913225845-a4fa94429863 // indirect github.com/streamingfast/logging v0.0.0-20230608130331-f22c91403091 // indirect github.com/stretchr/objx v0.5.2 // indirect diff --git a/core/scripts/go.sum b/core/scripts/go.sum index 8c3917307c5..fbbeec4f6c6 100644 --- a/core/scripts/go.sum +++ b/core/scripts/go.sum @@ -134,8 +134,8 @@ github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b h1:mimo19zliBX/vS github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b/go.mod h1:fvzegU4vN3H1qMT+8wDmzjAcDONcgo2/SZ/TyfdUOFs= github.com/alexbrainman/sspi v0.0.0-20210105120005-909beea2cc74 h1:Kk6a4nehpJ3UuJRqlA3JxYxBZEqCeOmATOvrbT4p9RA= github.com/alexbrainman/sspi v0.0.0-20210105120005-909beea2cc74/go.mod h1:cEWa1LVoE5KvSD9ONXsZrj0z6KqySlCCNKHlLzbqAt4= -github.com/alexflint/go-arg v1.5.1 h1:nBuWUCpuRy0snAG+uIJ6N0UvYxpxA0/ghA/AaHxlT8Y= -github.com/alexflint/go-arg v1.5.1/go.mod h1:A7vTJzvjoaSTypg4biM5uYNTkJ27SkNTArtYXnlqVO8= +github.com/alexflint/go-arg v1.6.0 h1:wPP9TwTPO54fUVQl4nZoxbFfKCcy5E6HBCumj1XVRSo= +github.com/alexflint/go-arg v1.6.0/go.mod h1:A7vTJzvjoaSTypg4biM5uYNTkJ27SkNTArtYXnlqVO8= github.com/alexflint/go-scalar v1.2.0 h1:WR7JPKkeNpnYIOfHRa7ivM21aWAdHD0gEWHCx+WQBRw= github.com/alexflint/go-scalar v1.2.0/go.mod h1:LoFvNMqS1CPrMVltza4LvnGKhaSpc3oyLEBUZVhhS2o= github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM= @@ -1584,8 +1584,8 @@ github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.202504221 github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20250422175525-b7575d96bd4d/go.mod h1:4WhGgCA0smBbBud5mK+jnDb2wwndMvoqaWBJ3OV/7Bw= github.com/smartcontractkit/cre-sdk-go v0.2.1-0.20250717171236-d30449588a62 h1:/+gWJQYyFLwKiwyMUb8VxsI0yyEIf+a7KgIkPf6b3Ro= github.com/smartcontractkit/cre-sdk-go v0.2.1-0.20250717171236-d30449588a62/go.mod h1:XFQ3osQZZHjL4E1Q61WZuBh5JfJcVGRdeyLFvdb85dM= -github.com/smartcontractkit/crib-sdk v0.3.0 h1:JkLFOFOHXSfM9bvjdvdmE3LvN0KP+GrldgBWmoUBBtU= -github.com/smartcontractkit/crib-sdk v0.3.0/go.mod h1:OivLdEg6CRlC2aDJVOnAoS+4+QKIDL33tCY2siHsuVc= +github.com/smartcontractkit/crib-sdk v0.4.0 h1:in97WjiveVY1cz1LZOcLGVwnkRucfCipPeOpjkJ1QJM= +github.com/smartcontractkit/crib-sdk v0.4.0/go.mod h1:L8/7tmnAwtgfaXGPgq4Ujrlkevd7rfqS7Zf3wgE84bk= github.com/smartcontractkit/freeport v0.1.1 h1:B5fhEtmgomdIhw03uPVbVTP6oPv27fBhZsoZZMSIS8I= github.com/smartcontractkit/freeport v0.1.1/go.mod h1:T4zH9R8R8lVWKfU7tUvYz2o2jMv1OpGCdpY2j2QZXzU= github.com/smartcontractkit/grpc-proxy v0.0.0-20240830132753-a7e17fec5ab7 h1:12ijqMM9tvYVEm+nR826WsrNi6zCKpwBhuApq127wHs= @@ -1623,8 +1623,9 @@ github.com/spf13/jwalterweatherman v0.0.0-20141219030609-3d60171a6431/go.mod h1: github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/pflag v1.0.0/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o= github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/pflag v1.0.7 h1:vN6T9TfwStFPFM5XzjsvmzZkLuaLX+HS+0SeFLRgU6M= +github.com/spf13/pflag v1.0.7/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v0.0.0-20150530192845-be5ff3e4840c/go.mod h1:A8kyI5cUJhb8N+3pkfONlcEcZbueH6nhAm0Fq7SrnBM= github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= github.com/spf13/viper v1.20.1 h1:ZMi+z/lvLyPSCoNtFCpqjy0S4kPbirhpTMwl8BkW9X4= diff --git a/system-tests/lib/go.mod b/system-tests/lib/go.mod index 324709907a1..4b060e5d59d 100644 --- a/system-tests/lib/go.mod +++ b/system-tests/lib/go.mod @@ -35,7 +35,7 @@ require ( github.com/smartcontractkit/chainlink-testing-framework/lib v1.54.4 github.com/smartcontractkit/chainlink-testing-framework/seth v1.51.2 github.com/smartcontractkit/chainlink/deployment v0.0.0-20250718211650-37ca415e72a0 - github.com/smartcontractkit/crib-sdk v0.3.0 + github.com/smartcontractkit/crib-sdk v0.4.0 go.uber.org/ratelimit v0.3.1 golang.org/x/sync v0.16.0 google.golang.org/grpc v1.72.1 @@ -408,7 +408,7 @@ require ( github.com/sourcegraph/conc v0.3.0 // indirect github.com/spf13/cast v1.9.2 // indirect github.com/spf13/cobra v1.9.1 // indirect - github.com/spf13/pflag v1.0.6 // indirect + github.com/spf13/pflag v1.0.7 // indirect github.com/stephenlacy/go-ethereum-hdwallet v0.0.0-20230913225845-a4fa94429863 // indirect github.com/streamingfast/logging v0.0.0-20230608130331-f22c91403091 // indirect github.com/stretchr/objx v0.5.2 // indirect diff --git a/system-tests/lib/go.sum b/system-tests/lib/go.sum index 7d9b618d1f9..1b354bcbb64 100644 --- a/system-tests/lib/go.sum +++ b/system-tests/lib/go.sum @@ -114,8 +114,8 @@ github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b h1:mimo19zliBX/vS github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b/go.mod h1:fvzegU4vN3H1qMT+8wDmzjAcDONcgo2/SZ/TyfdUOFs= github.com/alexbrainman/sspi v0.0.0-20210105120005-909beea2cc74 h1:Kk6a4nehpJ3UuJRqlA3JxYxBZEqCeOmATOvrbT4p9RA= github.com/alexbrainman/sspi v0.0.0-20210105120005-909beea2cc74/go.mod h1:cEWa1LVoE5KvSD9ONXsZrj0z6KqySlCCNKHlLzbqAt4= -github.com/alexflint/go-arg v1.5.1 h1:nBuWUCpuRy0snAG+uIJ6N0UvYxpxA0/ghA/AaHxlT8Y= -github.com/alexflint/go-arg v1.5.1/go.mod h1:A7vTJzvjoaSTypg4biM5uYNTkJ27SkNTArtYXnlqVO8= +github.com/alexflint/go-arg v1.6.0 h1:wPP9TwTPO54fUVQl4nZoxbFfKCcy5E6HBCumj1XVRSo= +github.com/alexflint/go-arg v1.6.0/go.mod h1:A7vTJzvjoaSTypg4biM5uYNTkJ27SkNTArtYXnlqVO8= github.com/alexflint/go-scalar v1.2.0 h1:WR7JPKkeNpnYIOfHRa7ivM21aWAdHD0gEWHCx+WQBRw= github.com/alexflint/go-scalar v1.2.0/go.mod h1:LoFvNMqS1CPrMVltza4LvnGKhaSpc3oyLEBUZVhhS2o= github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM= @@ -1334,8 +1334,8 @@ github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.202504221 github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20250422175525-b7575d96bd4d/go.mod h1:4WhGgCA0smBbBud5mK+jnDb2wwndMvoqaWBJ3OV/7Bw= github.com/smartcontractkit/cre-sdk-go v0.2.1-0.20250717171236-d30449588a62 h1:/+gWJQYyFLwKiwyMUb8VxsI0yyEIf+a7KgIkPf6b3Ro= github.com/smartcontractkit/cre-sdk-go v0.2.1-0.20250717171236-d30449588a62/go.mod h1:XFQ3osQZZHjL4E1Q61WZuBh5JfJcVGRdeyLFvdb85dM= -github.com/smartcontractkit/crib-sdk v0.3.0 h1:JkLFOFOHXSfM9bvjdvdmE3LvN0KP+GrldgBWmoUBBtU= -github.com/smartcontractkit/crib-sdk v0.3.0/go.mod h1:OivLdEg6CRlC2aDJVOnAoS+4+QKIDL33tCY2siHsuVc= +github.com/smartcontractkit/crib-sdk v0.4.0 h1:in97WjiveVY1cz1LZOcLGVwnkRucfCipPeOpjkJ1QJM= +github.com/smartcontractkit/crib-sdk v0.4.0/go.mod h1:L8/7tmnAwtgfaXGPgq4Ujrlkevd7rfqS7Zf3wgE84bk= github.com/smartcontractkit/freeport v0.1.1 h1:B5fhEtmgomdIhw03uPVbVTP6oPv27fBhZsoZZMSIS8I= github.com/smartcontractkit/freeport v0.1.1/go.mod h1:T4zH9R8R8lVWKfU7tUvYz2o2jMv1OpGCdpY2j2QZXzU= github.com/smartcontractkit/grpc-proxy v0.0.0-20240830132753-a7e17fec5ab7 h1:12ijqMM9tvYVEm+nR826WsrNi6zCKpwBhuApq127wHs= @@ -1367,8 +1367,9 @@ github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo= github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o= github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/pflag v1.0.7 h1:vN6T9TfwStFPFM5XzjsvmzZkLuaLX+HS+0SeFLRgU6M= +github.com/spf13/pflag v1.0.7/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= github.com/spf13/viper v1.20.1 h1:ZMi+z/lvLyPSCoNtFCpqjy0S4kPbirhpTMwl8BkW9X4= github.com/spf13/viper v1.20.1/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4= diff --git a/system-tests/tests/go.mod b/system-tests/tests/go.mod index 8583cd85fc9..5b1c3554a59 100644 --- a/system-tests/tests/go.mod +++ b/system-tests/tests/go.mod @@ -478,7 +478,7 @@ require ( github.com/smartcontractkit/chainlink-testing-framework/lib/grafana v1.50.0 // indirect github.com/smartcontractkit/chainlink-testing-framework/parrot v0.6.2 // indirect github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20250701132001-f8be142155b6 // indirect - github.com/smartcontractkit/crib-sdk v0.3.0 // indirect + github.com/smartcontractkit/crib-sdk v0.4.0 // indirect github.com/smartcontractkit/freeport v0.1.1 // indirect github.com/smartcontractkit/grpc-proxy v0.0.0-20240830132753-a7e17fec5ab7 // indirect github.com/smartcontractkit/mcms v0.20.2 // indirect @@ -488,7 +488,7 @@ require ( github.com/sony/gobreaker/v2 v2.1.0 // indirect github.com/sourcegraph/conc v0.3.0 // indirect github.com/spf13/cast v1.9.2 // indirect - github.com/spf13/pflag v1.0.6 // indirect + github.com/spf13/pflag v1.0.7 // indirect github.com/stephenlacy/go-ethereum-hdwallet v0.0.0-20230913225845-a4fa94429863 // indirect github.com/streamingfast/logging v0.0.0-20230608130331-f22c91403091 // indirect github.com/stretchr/objx v0.5.2 // indirect diff --git a/system-tests/tests/go.sum b/system-tests/tests/go.sum index d801831f674..837d6fc8fd5 100644 --- a/system-tests/tests/go.sum +++ b/system-tests/tests/go.sum @@ -142,8 +142,8 @@ github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b h1:mimo19zliBX/vS github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b/go.mod h1:fvzegU4vN3H1qMT+8wDmzjAcDONcgo2/SZ/TyfdUOFs= github.com/alexbrainman/sspi v0.0.0-20210105120005-909beea2cc74 h1:Kk6a4nehpJ3UuJRqlA3JxYxBZEqCeOmATOvrbT4p9RA= github.com/alexbrainman/sspi v0.0.0-20210105120005-909beea2cc74/go.mod h1:cEWa1LVoE5KvSD9ONXsZrj0z6KqySlCCNKHlLzbqAt4= -github.com/alexflint/go-arg v1.5.1 h1:nBuWUCpuRy0snAG+uIJ6N0UvYxpxA0/ghA/AaHxlT8Y= -github.com/alexflint/go-arg v1.5.1/go.mod h1:A7vTJzvjoaSTypg4biM5uYNTkJ27SkNTArtYXnlqVO8= +github.com/alexflint/go-arg v1.6.0 h1:wPP9TwTPO54fUVQl4nZoxbFfKCcy5E6HBCumj1XVRSo= +github.com/alexflint/go-arg v1.6.0/go.mod h1:A7vTJzvjoaSTypg4biM5uYNTkJ27SkNTArtYXnlqVO8= github.com/alexflint/go-scalar v1.2.0 h1:WR7JPKkeNpnYIOfHRa7ivM21aWAdHD0gEWHCx+WQBRw= github.com/alexflint/go-scalar v1.2.0/go.mod h1:LoFvNMqS1CPrMVltza4LvnGKhaSpc3oyLEBUZVhhS2o= github.com/alicebob/miniredis v2.5.0+incompatible h1:yBHoLpsyjupjz3NL3MhKMVkR41j82Yjf3KFv7ApYzUI= @@ -1561,8 +1561,8 @@ github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.202504221 github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20250422175525-b7575d96bd4d/go.mod h1:4WhGgCA0smBbBud5mK+jnDb2wwndMvoqaWBJ3OV/7Bw= github.com/smartcontractkit/cre-sdk-go v0.2.1-0.20250717171236-d30449588a62 h1:/+gWJQYyFLwKiwyMUb8VxsI0yyEIf+a7KgIkPf6b3Ro= github.com/smartcontractkit/cre-sdk-go v0.2.1-0.20250717171236-d30449588a62/go.mod h1:XFQ3osQZZHjL4E1Q61WZuBh5JfJcVGRdeyLFvdb85dM= -github.com/smartcontractkit/crib-sdk v0.3.0 h1:JkLFOFOHXSfM9bvjdvdmE3LvN0KP+GrldgBWmoUBBtU= -github.com/smartcontractkit/crib-sdk v0.3.0/go.mod h1:OivLdEg6CRlC2aDJVOnAoS+4+QKIDL33tCY2siHsuVc= +github.com/smartcontractkit/crib-sdk v0.4.0 h1:in97WjiveVY1cz1LZOcLGVwnkRucfCipPeOpjkJ1QJM= +github.com/smartcontractkit/crib-sdk v0.4.0/go.mod h1:L8/7tmnAwtgfaXGPgq4Ujrlkevd7rfqS7Zf3wgE84bk= github.com/smartcontractkit/freeport v0.1.1 h1:B5fhEtmgomdIhw03uPVbVTP6oPv27fBhZsoZZMSIS8I= github.com/smartcontractkit/freeport v0.1.1/go.mod h1:T4zH9R8R8lVWKfU7tUvYz2o2jMv1OpGCdpY2j2QZXzU= github.com/smartcontractkit/grpc-proxy v0.0.0-20240830132753-a7e17fec5ab7 h1:12ijqMM9tvYVEm+nR826WsrNi6zCKpwBhuApq127wHs= @@ -1596,8 +1596,9 @@ github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo= github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o= github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/pflag v1.0.7 h1:vN6T9TfwStFPFM5XzjsvmzZkLuaLX+HS+0SeFLRgU6M= +github.com/spf13/pflag v1.0.7/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= github.com/spf13/viper v1.20.1 h1:ZMi+z/lvLyPSCoNtFCpqjy0S4kPbirhpTMwl8BkW9X4= github.com/spf13/viper v1.20.1/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4= From f40ac064268273f113382922cfd87ad44c89b5e2 Mon Sep 17 00:00:00 2001 From: Radek Scheibinger Date: Tue, 22 Jul 2025 13:21:48 +0200 Subject: [PATCH 37/37] quit existing telepresence processess --- core/scripts/go.mod | 3 +++ system-tests/lib/cre/crib/crib.go | 3 ++- system-tests/lib/cre/environment/jobs.go | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/core/scripts/go.mod b/core/scripts/go.mod index 4ea92e59a57..5fd087ee0da 100644 --- a/core/scripts/go.mod +++ b/core/scripts/go.mod @@ -9,6 +9,9 @@ replace github.com/smartcontractkit/chainlink/deployment => ../../deployment replace github.com/smartcontractkit/chainlink/system-tests/lib => ../../system-tests/lib +// Uncomment to work with local version of crib-sdk +// replace github.com/smartcontractkit/crib-sdk => ../../../crib-sdk + // Using a separate `require` here to avoid surrounding line changes // creating potential merge conflicts. require ( diff --git a/system-tests/lib/cre/crib/crib.go b/system-tests/lib/cre/crib/crib.go index 614fd1b516a..42886c3da98 100644 --- a/system-tests/lib/cre/crib/crib.go +++ b/system-tests/lib/cre/crib/crib.go @@ -87,7 +87,8 @@ func Bootstrap(infraInput *libtypes.InfraInput) error { crib.ComponentSet( namespacev1.Component(infraInput.CRIB.Namespace), telepresencev1.Component(&telepresencev1.Props{ - Namespace: infraInput.CRIB.Namespace, + Namespace: infraInput.CRIB.Namespace, + QuitBeforeRunning: true, }), ), ) diff --git a/system-tests/lib/cre/environment/jobs.go b/system-tests/lib/cre/environment/jobs.go index 59e54439527..8db4e1222af 100644 --- a/system-tests/lib/cre/environment/jobs.go +++ b/system-tests/lib/cre/environment/jobs.go @@ -21,7 +21,7 @@ import ( func StartJD(lggr zerolog.Logger, nixShell *nix.Shell, jdInput jd.Input, infraInput libtypes.InfraInput) (*jd.Output, error) { startTime := time.Now() - lggr.Info().Msg("Starting Jod Distributor") + lggr.Info().Msg("Starting Job Distributor") var jdOutput *jd.Output if infraInput.InfraType == libtypes.CRIB {