diff --git a/cmd/chainlink-ton/lock.nix b/cmd/chainlink-ton/lock.nix index 6fc19aa4d..b2b9fc95a 100644 --- a/cmd/chainlink-ton/lock.nix +++ b/cmd/chainlink-ton/lock.nix @@ -1,5 +1,5 @@ # Notice: `pkgs.lib.fakeHash` can be used as a placeholder, # but `lock-nix-tidy` will only replace actual hashes. {pkgs}: { - chainlink-ton = "sha256-mVAaO/QcPhHwJp5MvAmENYAcsScZ87mZNfTmQH0sD80="; + chainlink-ton = "sha256-eJfe7EaeYj/q/s/Ph68sc6XDv4VT5MTqMRsYbD026/w="; } diff --git a/deployment/go.mod b/deployment/go.mod index a697aebde..263af7907 100644 --- a/deployment/go.mod +++ b/deployment/go.mod @@ -2,7 +2,7 @@ module github.com/smartcontractkit/chainlink-ton/deployment go 1.25.3 -require github.com/hashicorp/go-plugin v1.6.3 // indirect +require github.com/hashicorp/go-plugin v1.7.0 // indirect replace github.com/smartcontractkit/chainlink-ton => ../ @@ -12,7 +12,7 @@ require ( github.com/smartcontractkit/chain-selectors v1.0.83 github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20251027185542-babb09e5363e github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20251027185542-babb09e5363e - github.com/smartcontractkit/chainlink-common v0.9.6-0.20251023193345-8f2c4380a62c + github.com/smartcontractkit/chainlink-common v0.9.6-0.20251215152504-b1e41f508340 github.com/smartcontractkit/chainlink-deployments-framework v0.67.1-0.20251120111322-7760d1301f77 github.com/smartcontractkit/chainlink-ton v0.0.0-20250904183752-4ea5c19ee886 github.com/smartcontractkit/mcms v0.30.2 @@ -159,8 +159,8 @@ require ( github.com/smartcontractkit/chainlink-aptos v0.0.0-20251024142440-51f2ad2652a2 // indirect github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250908144012-8184001834b5 // indirect github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20250908144012-8184001834b5 // indirect - github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.9-0.20251020164035-ab562b473fe2 // indirect - github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20251021010742-3f8d3dba17d8 // indirect + github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.10 // indirect + github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20251124151448-0448aefdaab9 // indirect github.com/smartcontractkit/chainlink-protos/job-distributor v0.17.0 // indirect github.com/smartcontractkit/chainlink-protos/linking-service/go v0.0.0-20251002192024-d2ad9222409b // indirect github.com/smartcontractkit/chainlink-sui v0.0.0-20251104205009-00bd79b81471 // indirect diff --git a/deployment/go.sum b/deployment/go.sum index e8d7701a6..0cf50998c 100644 --- a/deployment/go.sum +++ b/deployment/go.sum @@ -338,8 +338,8 @@ github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJ github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-memdb v1.3.5 h1:b3taDMxCBCBVgyRrS1AZVHO14ubMYZB++QpNhBg+Nyo= github.com/hashicorp/go-memdb v1.3.5/go.mod h1:8IVKKBkVe+fxFgdFOYxzQQNjz+sWCyHCdIC/+5+Vy1Y= -github.com/hashicorp/go-plugin v1.6.3 h1:xgHB+ZUSYeuJi96WtxEjzi23uh7YQpznjGh0U0UUrwg= -github.com/hashicorp/go-plugin v1.6.3/go.mod h1:MRobyh+Wc/nYy1V4KAXUiYfzxoYhs7V1mlH1Z7iY2h0= +github.com/hashicorp/go-plugin v1.7.0 h1:YghfQH/0QmPNc/AZMTFE3ac8fipZyZECHdDPshfk+mA= +github.com/hashicorp/go-plugin v1.7.0/go.mod h1:BExt6KEaIYx804z8k4gRzRLEvxKVb+kn0NMcihqOqb8= github.com/hashicorp/golang-lru v1.0.2 h1:dV3g9Z/unq5DpblPpw+Oqcv4dU/1omnb4Ok8iPY6p1c= github.com/hashicorp/golang-lru v1.0.2/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/yamux v0.1.2 h1:XtB8kyFOyHXYVFnwT5C3+Bdo8gArse7j2AQ0DA0Uey8= @@ -420,8 +420,8 @@ github.com/jackpal/go-nat-pmp v1.0.2 h1:KzKSgb7qkJvOUTqYl9/Hg/me3pWgBmERKrTGD7Bd github.com/jackpal/go-nat-pmp v1.0.2/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jhump/protoreflect v1.15.3 h1:6SFRuqU45u9hIZPJAoZ8c28T3nK64BNdp9w6jFonzls= -github.com/jhump/protoreflect v1.15.3/go.mod h1:4ORHmSBmlCW8fh3xHmJMGyul1zNqZK4Elxc8qKP+p1k= +github.com/jhump/protoreflect v1.17.0 h1:qOEr613fac2lOuTgWN4tPAtLL7fUSbuJL5X5XumQh94= +github.com/jhump/protoreflect v1.17.0/go.mod h1:h9+vUUL38jiBzck8ck+6G/aeMX8Z4QUY/NiJPwPNi+8= github.com/jinzhu/copier v0.4.0 h1:w3ciUoD19shMCRargcpm0cm91ytaBhDvuRpz1ODO/U8= github.com/jinzhu/copier v0.4.0/go.mod h1:DfbEm0FYsaqBcKcFuvmOZb218JkPGtvSHsKg8S8hyyg= github.com/jmoiron/sqlx v1.4.0 h1:1PLqN7S1UYp5t4SrVVnt4nUVNemrDAtxlulVe+Qgm3o= @@ -634,14 +634,14 @@ github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20250 github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20250908144012-8184001834b5/go.mod h1:xtZNi6pOKdC3sLvokDvXOhgHzT+cyBqH/gWwvxTxqrg= github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20251027185542-babb09e5363e h1:hQEOz6nRQgIQf0HS3EsjS22cAwejLa6q4nCyFGYrb/s= github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20251027185542-babb09e5363e/go.mod h1:IaoLCQE1miX3iUlQNxOPcVrXrshcO/YsFpxnFuhG9DM= -github.com/smartcontractkit/chainlink-common v0.9.6-0.20251023193345-8f2c4380a62c h1:NbbTzAMIFv0x8I+Mq7NZGDZe45Kxv0wrjvzEy60TzRU= -github.com/smartcontractkit/chainlink-common v0.9.6-0.20251023193345-8f2c4380a62c/go.mod h1:bweMpOLYCumPXnYBIPRAH4dbvVRtPmyVB+8TSzh0ILY= -github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.9-0.20251020164035-ab562b473fe2 h1:p79eZtyBbZYumftwZGCkyKSNDvUralW7lqcTD99Ovmw= -github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.9-0.20251020164035-ab562b473fe2/go.mod h1:oiDa54M0FwxevWwyAX773lwdWvFYYlYHHQV1LQ5HpWY= +github.com/smartcontractkit/chainlink-common v0.9.6-0.20251215152504-b1e41f508340 h1:VdiOm0ITLLGmkvALxKo/qvfDqgV5tFJwr8O+Bts4mOc= +github.com/smartcontractkit/chainlink-common v0.9.6-0.20251215152504-b1e41f508340/go.mod h1:ra9yvW8HbLgtXY0fHgnVdA5SjZ06v2/TNyTfPEJzsqo= +github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.10 h1:FJAFgXS9oqASnkS03RE1HQwYQQxrO4l46O5JSzxqLgg= +github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.10/go.mod h1:oiDa54M0FwxevWwyAX773lwdWvFYYlYHHQV1LQ5HpWY= github.com/smartcontractkit/chainlink-deployments-framework v0.67.1-0.20251120111322-7760d1301f77 h1:EP9eHLDPjLQevF59U2jkkQDB3IB44dzbgv55/FVMNGs= github.com/smartcontractkit/chainlink-deployments-framework v0.67.1-0.20251120111322-7760d1301f77/go.mod h1:vE/dMQyTOnS+T4sXqcTbSR7THlHhT/xlHiOumReMYFk= -github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20251021010742-3f8d3dba17d8 h1:hPeEwcvRVtwhyNXH45qbzqmscqlbygu94cROwbjyzNQ= -github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20251021010742-3f8d3dba17d8/go.mod h1:jUC52kZzEnWF9tddHh85zolKybmLpbQ1oNA4FjOHt1Q= +github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20251124151448-0448aefdaab9 h1:QRWXJusIj/IRY5Pl3JclNvDre0cZPd/5NbILwc4RV2M= +github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20251124151448-0448aefdaab9/go.mod h1:jUC52kZzEnWF9tddHh85zolKybmLpbQ1oNA4FjOHt1Q= github.com/smartcontractkit/chainlink-protos/job-distributor v0.17.0 h1:xHPmFDhff7QpeFxKsZfk+24j4AlnQiFjjRh5O87Peu4= github.com/smartcontractkit/chainlink-protos/job-distributor v0.17.0/go.mod h1:/dVVLXrsp+V0AbcYGJo3XMzKg3CkELsweA/TTopCsKE= github.com/smartcontractkit/chainlink-protos/linking-service/go v0.0.0-20251002192024-d2ad9222409b h1:QuI6SmQFK/zyUlVWEf0GMkiUYBPY4lssn26nKSd/bOM= diff --git a/go.md b/go.md index b9ce25f60..967036ada 100644 --- a/go.md +++ b/go.md @@ -12,6 +12,7 @@ flowchart LR chainlink-common --> chainlink-common/pkg/chipingress chainlink-common --> chainlink-protos/billing/go chainlink-common --> chainlink-protos/cre/go + chainlink-common --> chainlink-protos/linking-service/go chainlink-common --> chainlink-protos/storage-service chainlink-common --> chainlink-protos/workflows/go chainlink-common --> freeport @@ -20,12 +21,19 @@ flowchart LR click chainlink-common href "https://github.com/smartcontractkit/chainlink-common" chainlink-common/pkg/chipingress click chainlink-common/pkg/chipingress href "https://github.com/smartcontractkit/chainlink-common" + chainlink-common/pkg/monitoring --> chainlink-common + chainlink-common/pkg/monitoring --> chainlink-common/pkg/values + click chainlink-common/pkg/monitoring href "https://github.com/smartcontractkit/chainlink-common" + chainlink-common/pkg/values + click chainlink-common/pkg/values href "https://github.com/smartcontractkit/chainlink-common" chainlink-framework/metrics --> chainlink-common click chainlink-framework/metrics href "https://github.com/smartcontractkit/chainlink-framework" chainlink-protos/billing/go click chainlink-protos/billing/go href "https://github.com/smartcontractkit/chainlink-protos" chainlink-protos/cre/go click chainlink-protos/cre/go href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/linking-service/go + click chainlink-protos/linking-service/go href "https://github.com/smartcontractkit/chainlink-protos" chainlink-protos/rmn/v1.6/go click chainlink-protos/rmn/v1.6/go href "https://github.com/smartcontractkit/chainlink-protos" chainlink-protos/storage-service @@ -33,6 +41,7 @@ flowchart LR chainlink-protos/workflows/go click chainlink-protos/workflows/go href "https://github.com/smartcontractkit/chainlink-protos" chainlink-ton --> chainlink-ccip + chainlink-ton --> chainlink-common/pkg/monitoring chainlink-ton --> chainlink-framework/metrics click chainlink-ton href "https://github.com/smartcontractkit/chainlink-ton" freeport @@ -45,12 +54,15 @@ flowchart LR subgraph chainlink-common-repo[chainlink-common] chainlink-common chainlink-common/pkg/chipingress + chainlink-common/pkg/monitoring + chainlink-common/pkg/values end click chainlink-common-repo href "https://github.com/smartcontractkit/chainlink-common" subgraph chainlink-protos-repo[chainlink-protos] chainlink-protos/billing/go chainlink-protos/cre/go + chainlink-protos/linking-service/go chainlink-protos/rmn/v1.6/go chainlink-protos/storage-service chainlink-protos/workflows/go @@ -106,6 +118,9 @@ flowchart LR click chainlink-common/keystore href "https://github.com/smartcontractkit/chainlink-common" chainlink-common/pkg/chipingress click chainlink-common/pkg/chipingress href "https://github.com/smartcontractkit/chainlink-common" + chainlink-common/pkg/monitoring --> chainlink-common + chainlink-common/pkg/monitoring --> chainlink-common/pkg/values + click chainlink-common/pkg/monitoring href "https://github.com/smartcontractkit/chainlink-common" chainlink-common/pkg/values click chainlink-common/pkg/values href "https://github.com/smartcontractkit/chainlink-common" chainlink-data-streams @@ -181,6 +196,7 @@ flowchart LR chainlink-testing-framework/wasp click chainlink-testing-framework/wasp href "https://github.com/smartcontractkit/chainlink-testing-framework" chainlink-ton --> chainlink-ccip + chainlink-ton --> chainlink-common/pkg/monitoring chainlink-ton --> chainlink-framework/metrics click chainlink-ton href "https://github.com/smartcontractkit/chainlink-ton" chainlink-ton/deployment --> chainlink-ccip/deployment @@ -270,6 +286,7 @@ flowchart LR chainlink-common chainlink-common/keystore chainlink-common/pkg/chipingress + chainlink-common/pkg/monitoring chainlink-common/pkg/values end click chainlink-common-repo href "https://github.com/smartcontractkit/chainlink-common" diff --git a/go.mod b/go.mod index 1aa8d61b4..ca2c1859b 100644 --- a/go.mod +++ b/go.mod @@ -2,7 +2,7 @@ module github.com/smartcontractkit/chainlink-ton go 1.25.3 -require github.com/hashicorp/go-plugin v1.6.3 +require github.com/hashicorp/go-plugin v1.7.0 require ( github.com/Masterminds/semver/v3 v3.4.0 @@ -13,14 +13,15 @@ require ( github.com/prometheus/client_golang v1.23.0 github.com/smartcontractkit/chain-selectors v1.0.72 github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20251024142759-093ed1b4017f - github.com/smartcontractkit/chainlink-common v0.9.6-0.20251003171904-99a82a53b142 + github.com/smartcontractkit/chainlink-common v0.9.6-0.20251215152504-b1e41f508340 + github.com/smartcontractkit/chainlink-common/pkg/monitoring v0.0.0-20251215152504-b1e41f508340 github.com/smartcontractkit/chainlink-framework/metrics v0.0.0-20251206233640-139a324649d9 - github.com/smartcontractkit/libocr v0.0.0-20250905115425-2785a5cee79d + github.com/smartcontractkit/libocr v0.0.0-20250912173940-f3ab0246e23d github.com/spf13/cobra v1.10.1 github.com/stretchr/testify v1.11.1 github.com/xssnick/tonutils-go v1.14.1 - go.opentelemetry.io/otel v1.37.0 - go.opentelemetry.io/otel/metric v1.37.0 + go.opentelemetry.io/otel v1.38.0 + go.opentelemetry.io/otel/metric v1.38.0 go.uber.org/zap v1.27.0 golang.org/x/exp v0.0.0-20250711185948-6ae5c78190dc golang.org/x/sync v0.19.0 @@ -99,8 +100,9 @@ require ( github.com/scylladb/go-reflectx v1.0.1 // indirect github.com/shopspring/decimal v1.4.0 // indirect github.com/sigurn/crc16 v0.0.0-20211026045750-20ab5afb07e3 // indirect - github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.4 // indirect - github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20250911124514-5874cc6d62b2 // indirect + github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.10 // indirect + github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20251124151448-0448aefdaab9 // indirect + github.com/smartcontractkit/chainlink-protos/linking-service/go v0.0.0-20251002192024-d2ad9222409b // indirect github.com/smartcontractkit/freeport v0.1.3-0.20250716200817-cb5dfd0e369e // indirect github.com/smartcontractkit/grpc-proxy v0.0.0-20240830132753-a7e17fec5ab7 // indirect github.com/spf13/pflag v1.0.10 // indirect @@ -110,7 +112,7 @@ require ( github.com/x448/float16 v0.8.4 // indirect go.mongodb.org/mongo-driver v1.17.2 // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.61.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.63.0 // indirect go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.12.2 // indirect go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.12.2 // indirect go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.36.0 // indirect @@ -122,10 +124,10 @@ require ( go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.36.0 // indirect go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.36.0 // indirect go.opentelemetry.io/otel/log v0.13.0 // indirect - go.opentelemetry.io/otel/sdk v1.37.0 // indirect + go.opentelemetry.io/otel/sdk v1.38.0 // indirect go.opentelemetry.io/otel/sdk/log v0.13.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.37.0 // indirect - go.opentelemetry.io/otel/trace v1.37.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.38.0 // indirect + go.opentelemetry.io/otel/trace v1.38.0 // indirect go.opentelemetry.io/proto/otlp v1.6.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/crypto v0.45.0 // indirect @@ -136,10 +138,10 @@ require ( golang.org/x/term v0.37.0 // indirect golang.org/x/text v0.31.0 // indirect golang.org/x/time v0.12.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20250528174236-200df99c418a // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822 // indirect - google.golang.org/grpc v1.74.2 // indirect - google.golang.org/protobuf v1.36.7 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20250707201910-8d1bb00bc6a7 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250825161204-c5933d9347a5 // indirect + google.golang.org/grpc v1.75.0 // indirect + google.golang.org/protobuf v1.36.8 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index 0c22c999b..2e918b58e 100644 --- a/go.sum +++ b/go.sum @@ -130,8 +130,8 @@ github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 h1:5ZPtiqj0JL5oKWmcsq4VMaAW5uk github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3/go.mod h1:ndYquD05frm2vACXE1nsccT4oJzjhw2arTS2cpUD1PI= github.com/hashicorp/go-hclog v1.6.3 h1:Qr2kF+eVWjTiYmU7Y31tYlP1h0q/X3Nl3tPGdaB11/k= github.com/hashicorp/go-hclog v1.6.3/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= -github.com/hashicorp/go-plugin v1.6.3 h1:xgHB+ZUSYeuJi96WtxEjzi23uh7YQpznjGh0U0UUrwg= -github.com/hashicorp/go-plugin v1.6.3/go.mod h1:MRobyh+Wc/nYy1V4KAXUiYfzxoYhs7V1mlH1Z7iY2h0= +github.com/hashicorp/go-plugin v1.7.0 h1:YghfQH/0QmPNc/AZMTFE3ac8fipZyZECHdDPshfk+mA= +github.com/hashicorp/go-plugin v1.7.0/go.mod h1:BExt6KEaIYx804z8k4gRzRLEvxKVb+kn0NMcihqOqb8= github.com/hashicorp/yamux v0.1.2 h1:XtB8kyFOyHXYVFnwT5C3+Bdo8gArse7j2AQ0DA0Uey8= github.com/hashicorp/yamux v0.1.2/go.mod h1:C+zze2n6e/7wshOZep2A70/aQU6QBRWJO/G6FT1wIns= github.com/holiman/uint256 v1.3.2 h1:a9EgMPSC1AAaj1SZL5zIQD3WbwTuHrMGOerLjGmM/TA= @@ -191,8 +191,8 @@ github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0f github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v1.1.3/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v1.3.0/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= -github.com/jhump/protoreflect v1.15.3 h1:6SFRuqU45u9hIZPJAoZ8c28T3nK64BNdp9w6jFonzls= -github.com/jhump/protoreflect v1.15.3/go.mod h1:4ORHmSBmlCW8fh3xHmJMGyul1zNqZK4Elxc8qKP+p1k= +github.com/jhump/protoreflect v1.17.0 h1:qOEr613fac2lOuTgWN4tPAtLL7fUSbuJL5X5XumQh94= +github.com/jhump/protoreflect v1.17.0/go.mod h1:h9+vUUL38jiBzck8ck+6G/aeMX8Z4QUY/NiJPwPNi+8= github.com/jmank88/gomods v0.1.6 h1:HNHM9x2QPdF7R72pm83MZpori5AlPiXiukTdLqrUJYE= github.com/jmank88/gomods v0.1.6/go.mod h1:mFFORqytinYpCj2zbyAqAka1R8LZOG9N34uvMzKVSyA= github.com/jmank88/modgraph v0.1.1 h1:Lz9XlGbsb//zsHRDPq+fbU28NaSgUwUY/1PjbOMLnew= @@ -312,20 +312,24 @@ github.com/smartcontractkit/chain-selectors v1.0.72 h1:AExF2H3mABdLCN0QZd+IjU8Ck github.com/smartcontractkit/chain-selectors v1.0.72/go.mod h1:xsKM0aN3YGcQKTPRPDDtPx2l4mlTN1Djmg0VVXV40b8= github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20251024142759-093ed1b4017f h1:jP2BHA7+QSp5IzWykT8KunThNbSwEM9j6lCXwEoxTIc= github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20251024142759-093ed1b4017f/go.mod h1:pETrvAF8uvkZgtDgI/oRllZZaC4IpPO26tMxh1u9LC4= -github.com/smartcontractkit/chainlink-common v0.9.6-0.20251003171904-99a82a53b142 h1:xyGWWEwIwZv4wflEA12TDBGKEa86tDEECzl3n1Az2m0= -github.com/smartcontractkit/chainlink-common v0.9.6-0.20251003171904-99a82a53b142/go.mod h1:1r3aM96KHAESfnayJ3BTHCkP1qJS1BEG1r4czeoaXlA= -github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.4 h1:hvqATtrZ0iMRTI80cpBot/3JFbjz2j+2tvpfooVhRHw= -github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.4/go.mod h1:eKGyfTKzr0/PeR7qKN4l2FcW9p+HzyKUwAfGhm/5YZc= +github.com/smartcontractkit/chainlink-common v0.9.6-0.20251215152504-b1e41f508340 h1:VdiOm0ITLLGmkvALxKo/qvfDqgV5tFJwr8O+Bts4mOc= +github.com/smartcontractkit/chainlink-common v0.9.6-0.20251215152504-b1e41f508340/go.mod h1:ra9yvW8HbLgtXY0fHgnVdA5SjZ06v2/TNyTfPEJzsqo= +github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.10 h1:FJAFgXS9oqASnkS03RE1HQwYQQxrO4l46O5JSzxqLgg= +github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.10/go.mod h1:oiDa54M0FwxevWwyAX773lwdWvFYYlYHHQV1LQ5HpWY= +github.com/smartcontractkit/chainlink-common/pkg/monitoring v0.0.0-20251215152504-b1e41f508340 h1:PsjEI+5jZIz9AS4eOsLS5VpSWJINf38clXV3wryPyMk= +github.com/smartcontractkit/chainlink-common/pkg/monitoring v0.0.0-20251215152504-b1e41f508340/go.mod h1:P/0OSXUlFaxxD4B/P6HWbxYtIRmmWGDJAvanq19879c= github.com/smartcontractkit/chainlink-framework/metrics v0.0.0-20251206233640-139a324649d9 h1:TAVreQK5eP63a0zu5Qe34i4pYGGo5x8zgfJ1NVVo6K4= github.com/smartcontractkit/chainlink-framework/metrics v0.0.0-20251206233640-139a324649d9/go.mod h1:HG/aei0MgBOpsyRLexdKGtOUO8yjSJO3iUu0Uu8KBm4= -github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20250911124514-5874cc6d62b2 h1:1/KdO5AbUr3CmpLjMPuJXPo2wHMbfB8mldKLsg7D4M8= -github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20250911124514-5874cc6d62b2/go.mod h1:jUC52kZzEnWF9tddHh85zolKybmLpbQ1oNA4FjOHt1Q= +github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20251124151448-0448aefdaab9 h1:QRWXJusIj/IRY5Pl3JclNvDre0cZPd/5NbILwc4RV2M= +github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20251124151448-0448aefdaab9/go.mod h1:jUC52kZzEnWF9tddHh85zolKybmLpbQ1oNA4FjOHt1Q= +github.com/smartcontractkit/chainlink-protos/linking-service/go v0.0.0-20251002192024-d2ad9222409b h1:QuI6SmQFK/zyUlVWEf0GMkiUYBPY4lssn26nKSd/bOM= +github.com/smartcontractkit/chainlink-protos/linking-service/go v0.0.0-20251002192024-d2ad9222409b/go.mod h1:qSTSwX3cBP3FKQwQacdjArqv0g6QnukjV4XuzO6UyoY= github.com/smartcontractkit/freeport v0.1.3-0.20250716200817-cb5dfd0e369e h1:Hv9Mww35LrufCdM9wtS9yVi/rEWGI1UnjHbcKKU0nVY= github.com/smartcontractkit/freeport v0.1.3-0.20250716200817-cb5dfd0e369e/go.mod h1:T4zH9R8R8lVWKfU7tUvYz2o2jMv1OpGCdpY2j2QZXzU= github.com/smartcontractkit/grpc-proxy v0.0.0-20240830132753-a7e17fec5ab7 h1:12ijqMM9tvYVEm+nR826WsrNi6zCKpwBhuApq127wHs= github.com/smartcontractkit/grpc-proxy v0.0.0-20240830132753-a7e17fec5ab7/go.mod h1:FX7/bVdoep147QQhsOPkYsPEXhGZjeYx6lBSaSXtZOA= -github.com/smartcontractkit/libocr v0.0.0-20250905115425-2785a5cee79d h1:/0/80Ic6wpKH5F1nwDoRj9+70IxXunvCyNcCkA+9ik0= -github.com/smartcontractkit/libocr v0.0.0-20250905115425-2785a5cee79d/go.mod h1:Acy3BTBxou83ooMESLO90s8PKSu7RvLCzwSTbxxfOK0= +github.com/smartcontractkit/libocr v0.0.0-20250912173940-f3ab0246e23d h1:LokA9PoCNb8mm8mDT52c3RECPMRsGz1eCQORq+J3n74= +github.com/smartcontractkit/libocr v0.0.0-20250912173940-f3ab0246e23d/go.mod h1:Acy3BTBxou83ooMESLO90s8PKSu7RvLCzwSTbxxfOK0= github.com/spf13/cobra v1.10.1 h1:lJeBwCfmrnXthfAupyUTzJ/J4Nc1RsHC/mSRU2dll/s= github.com/spf13/cobra v1.10.1/go.mod h1:7SmJGaTHFVBY0jW4NXGluQoLvhqFQM+6XSKD+P4XaB0= github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= @@ -371,10 +375,10 @@ go.mongodb.org/mongo-driver v1.17.2 h1:gvZyk8352qSfzyZ2UMWcpDpMSGEr1eqE4T793Sqyh go.mongodb.org/mongo-driver v1.17.2/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ= go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.61.0 h1:q4XOmH/0opmeuJtPsbFNivyl7bCt7yRBbeEm2sC/XtQ= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.61.0/go.mod h1:snMWehoOh2wsEwnvvwtDyFCxVeDAODenXHtn5vzrKjo= -go.opentelemetry.io/otel v1.37.0 h1:9zhNfelUvx0KBfu/gb+ZgeAfAgtWrfHJZcAqFC228wQ= -go.opentelemetry.io/otel v1.37.0/go.mod h1:ehE/umFRLnuLa/vSccNq9oS1ErUlkkK71gMcN34UG8I= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.63.0 h1:YH4g8lQroajqUwWbq/tr2QX1JFmEXaDLgG+ew9bLMWo= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.63.0/go.mod h1:fvPi2qXDqFs8M4B4fmJhE92TyQs9Ydjlg3RvfUp+NbQ= +go.opentelemetry.io/otel v1.38.0 h1:RkfdswUDRimDg0m2Az18RKOsnI8UDzppJAtj01/Ymk8= +go.opentelemetry.io/otel v1.38.0/go.mod h1:zcmtmQ1+YmQM9wrNsTGV/q/uyusom3P8RxwExxkZhjM= go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.12.2 h1:06ZeJRe5BnYXceSM9Vya83XXVaNGe3H1QqsvqRANQq8= go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.12.2/go.mod h1:DvPtKE63knkDVP88qpatBj81JxN+w1bqfVbsbCbj1WY= go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.12.2 h1:tPLwQlXbJ8NSOfZc4OkgU5h2A38M4c9kfHSVc4PFQGs= @@ -397,18 +401,18 @@ go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.36.0 h1:G8Xec/SgZQricwW go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.36.0/go.mod h1:PD57idA/AiFD5aqoxGxCvT/ILJPeHy3MjqU/NS7KogY= go.opentelemetry.io/otel/log v0.13.0 h1:yoxRoIZcohB6Xf0lNv9QIyCzQvrtGZklVbdCoyb7dls= go.opentelemetry.io/otel/log v0.13.0/go.mod h1:INKfG4k1O9CL25BaM1qLe0zIedOpvlS5Z7XgSbmN83E= -go.opentelemetry.io/otel/metric v1.37.0 h1:mvwbQS5m0tbmqML4NqK+e3aDiO02vsf/WgbsdpcPoZE= -go.opentelemetry.io/otel/metric v1.37.0/go.mod h1:04wGrZurHYKOc+RKeye86GwKiTb9FKm1WHtO+4EVr2E= -go.opentelemetry.io/otel/sdk v1.37.0 h1:ItB0QUqnjesGRvNcmAcU0LyvkVyGJ2xftD29bWdDvKI= -go.opentelemetry.io/otel/sdk v1.37.0/go.mod h1:VredYzxUvuo2q3WRcDnKDjbdvmO0sCzOvVAiY+yUkAg= +go.opentelemetry.io/otel/metric v1.38.0 h1:Kl6lzIYGAh5M159u9NgiRkmoMKjvbsKtYRwgfrA6WpA= +go.opentelemetry.io/otel/metric v1.38.0/go.mod h1:kB5n/QoRM8YwmUahxvI3bO34eVtQf2i4utNVLr9gEmI= +go.opentelemetry.io/otel/sdk v1.38.0 h1:l48sr5YbNf2hpCUj/FoGhW9yDkl+Ma+LrVl8qaM5b+E= +go.opentelemetry.io/otel/sdk v1.38.0/go.mod h1:ghmNdGlVemJI3+ZB5iDEuk4bWA3GkTpW+DOoZMYBVVg= go.opentelemetry.io/otel/sdk/log v0.13.0 h1:I3CGUszjM926OphK8ZdzF+kLqFvfRY/IIoFq/TjwfaQ= go.opentelemetry.io/otel/sdk/log v0.13.0/go.mod h1:lOrQyCCXmpZdN7NchXb6DOZZa1N5G1R2tm5GMMTpDBw= go.opentelemetry.io/otel/sdk/log/logtest v0.13.0 h1:9yio6AFZ3QD9j9oqshV1Ibm9gPLlHNxurno5BreMtIA= go.opentelemetry.io/otel/sdk/log/logtest v0.13.0/go.mod h1:QOGiAJHl+fob8Nu85ifXfuQYmJTFAvcrxL6w5/tu168= -go.opentelemetry.io/otel/sdk/metric v1.37.0 h1:90lI228XrB9jCMuSdA0673aubgRobVZFhbjxHHspCPc= -go.opentelemetry.io/otel/sdk/metric v1.37.0/go.mod h1:cNen4ZWfiD37l5NhS+Keb5RXVWZWpRE+9WyVCpbo5ps= -go.opentelemetry.io/otel/trace v1.37.0 h1:HLdcFNbRQBE2imdSEgm/kwqmQj1Or1l/7bW6mxVK7z4= -go.opentelemetry.io/otel/trace v1.37.0/go.mod h1:TlgrlQ+PtQO5XFerSPUYG0JSgGyryXewPGyayAWSBS0= +go.opentelemetry.io/otel/sdk/metric v1.38.0 h1:aSH66iL0aZqo//xXzQLYozmWrXxyFkBJ6qT5wthqPoM= +go.opentelemetry.io/otel/sdk/metric v1.38.0/go.mod h1:dg9PBnW9XdQ1Hd6ZnRz689CbtrUp0wMMs9iPcgT9EZA= +go.opentelemetry.io/otel/trace v1.38.0 h1:Fxk5bKrDZJUH+AMyyIXGcFAPah0oRcT+LuNtJrmcNLE= +go.opentelemetry.io/otel/trace v1.38.0/go.mod h1:j1P9ivuFsTceSWe1oY+EeW3sc+Pp42sO++GHkg4wwhs= go.opentelemetry.io/proto/otlp v1.6.0 h1:jQjP+AQyTf+Fe7OKj/MfkDrmK4MNVtw2NpXsf9fefDI= go.opentelemetry.io/proto/otlp v1.6.0/go.mod h1:cicgGehlFuNdgZkcALOCh3VE6K/u2tAjzlRhDwmVpZc= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= @@ -575,23 +579,25 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da h1:noIWHXmPHxILtqtCOPIhSt0ABwskkZKjD3bXGnZGpNY= golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= +gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk= +gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20210401141331-865547bb08e2/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto/googleapis/api v0.0.0-20250528174236-200df99c418a h1:SGktgSolFCo75dnHJF2yMvnns6jCmHFJ0vE4Vn2JKvQ= -google.golang.org/genproto/googleapis/api v0.0.0-20250528174236-200df99c418a/go.mod h1:a77HrdMjoeKbnd2jmgcWdaS++ZLZAEq3orIOAEIKiVw= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822 h1:fc6jSaCT0vBduLYZHYrBBNY4dsWuvgyff9noRNDdBeE= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A= +google.golang.org/genproto/googleapis/api v0.0.0-20250707201910-8d1bb00bc6a7 h1:FiusG7LWj+4byqhbvmB+Q93B/mOxJLN2DTozDuZm4EU= +google.golang.org/genproto/googleapis/api v0.0.0-20250707201910-8d1bb00bc6a7/go.mod h1:kXqgZtrWaf6qS3jZOCnCH7WYfrvFjkC51bM8fz3RsCA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250825161204-c5933d9347a5 h1:eaY8u2EuxbRv7c3NiGK0/NedzVsCcV6hDuU5qPX5EGE= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250825161204-c5933d9347a5/go.mod h1:M4/wBTSeyLxupu3W3tJtOgB14jILAS/XWPSSa3TAlJc= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.74.2 h1:WoosgB65DlWVC9FqI82dGsZhWFNBSLjQ84bjROOpMu4= -google.golang.org/grpc v1.74.2/go.mod h1:CtQ+BGjaAIXHs/5YS3i473GqwBBa1zGQNevxdeBEXrM= +google.golang.org/grpc v1.75.0 h1:+TW+dqTd2Biwe6KKfhE5JpiYIBWq865PhKGSXiivqt4= +google.golang.org/grpc v1.75.0/go.mod h1:JtPAzKiq4v1xcAB2hydNlWI2RnF85XXcV0mhKXr2ecQ= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -603,8 +609,8 @@ google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpAD google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.7 h1:IgrO7UwFQGJdRNXH/sQux4R1Dj1WAKcLElzeeRaXV2A= -google.golang.org/protobuf v1.36.7/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= +google.golang.org/protobuf v1.36.8 h1:xHScyCOEuuwZEc6UtSOvPbAT4zRh0xcNRYekJwfqyMc= +google.golang.org/protobuf v1.36.8/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= diff --git a/integration-tests/go.mod b/integration-tests/go.mod index eacfad40c..f98ce58be 100644 --- a/integration-tests/go.mod +++ b/integration-tests/go.mod @@ -10,7 +10,8 @@ require ( github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20251128020529-88d93b01d749 github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment v0.0.0-20251027185542-babb09e5363e github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20251027185542-babb09e5363e - github.com/smartcontractkit/chainlink-common v0.9.6-0.20251125103916-0b41e73b80c4 + github.com/smartcontractkit/chainlink-common v0.9.6-0.20251215152504-b1e41f508340 + github.com/smartcontractkit/chainlink-common/pkg/monitoring v0.0.0-20251215152504-b1e41f508340 github.com/smartcontractkit/chainlink-deployments-framework v0.70.0 github.com/smartcontractkit/chainlink-testing-framework/lib v1.54.5 github.com/smartcontractkit/chainlink-ton v0.0.0-20251128154102-ae6a4d19188f diff --git a/integration-tests/go.sum b/integration-tests/go.sum index 6cdd47cab..657a9888f 100644 --- a/integration-tests/go.sum +++ b/integration-tests/go.sum @@ -1138,10 +1138,12 @@ github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20251027185542-babb github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20251027185542-babb09e5363e/go.mod h1:IaoLCQE1miX3iUlQNxOPcVrXrshcO/YsFpxnFuhG9DM= github.com/smartcontractkit/chainlink-ccv v0.0.0-20251127140025-e21beb7b6213 h1:fDrQNm8PIW73j/81fHzSXVJ0VxgRakFXCQqjRC4YZo4= github.com/smartcontractkit/chainlink-ccv v0.0.0-20251127140025-e21beb7b6213/go.mod h1:Dspcf1LYGPDvgUKO09kqfexFvnOFbKfoGz02VwHpuw4= -github.com/smartcontractkit/chainlink-common v0.9.6-0.20251125103916-0b41e73b80c4 h1:2LHrlWAStA2oRcDKrJ9lKOShC9an2Pkis2BwY8J7gDw= -github.com/smartcontractkit/chainlink-common v0.9.6-0.20251125103916-0b41e73b80c4/go.mod h1:uRnGLHKo56QYaPk93z0NRAIgv115lh72rzG40CiE1Mk= +github.com/smartcontractkit/chainlink-common v0.9.6-0.20251215152504-b1e41f508340 h1:VdiOm0ITLLGmkvALxKo/qvfDqgV5tFJwr8O+Bts4mOc= +github.com/smartcontractkit/chainlink-common v0.9.6-0.20251215152504-b1e41f508340/go.mod h1:ra9yvW8HbLgtXY0fHgnVdA5SjZ06v2/TNyTfPEJzsqo= github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.10 h1:FJAFgXS9oqASnkS03RE1HQwYQQxrO4l46O5JSzxqLgg= github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.10/go.mod h1:oiDa54M0FwxevWwyAX773lwdWvFYYlYHHQV1LQ5HpWY= +github.com/smartcontractkit/chainlink-common/pkg/monitoring v0.0.0-20251215152504-b1e41f508340 h1:PsjEI+5jZIz9AS4eOsLS5VpSWJINf38clXV3wryPyMk= +github.com/smartcontractkit/chainlink-common/pkg/monitoring v0.0.0-20251215152504-b1e41f508340/go.mod h1:P/0OSXUlFaxxD4B/P6HWbxYtIRmmWGDJAvanq19879c= github.com/smartcontractkit/chainlink-data-streams v0.1.6 h1:B3cwmJrVYoJVAjPOyQWTNaGD+V30HI1vFHhC2dQpWDo= github.com/smartcontractkit/chainlink-data-streams v0.1.6/go.mod h1:e9jETTzrVO8iu9Zp5gDuTCmBVhSJwUOk6K4Q/VFrJ6o= github.com/smartcontractkit/chainlink-deployments-framework v0.70.0 h1:wo2KL2viGZK/LhHLM8F88sRyhZF9wwWh+YDzW8hS00g= diff --git a/integration-tests/monitor/balance_test.go b/integration-tests/monitor/balance_test.go new file mode 100644 index 000000000..a405d5086 --- /dev/null +++ b/integration-tests/monitor/balance_test.go @@ -0,0 +1,168 @@ +package monitor_test + +import ( + "context" + "sync" + "testing" + "time" + + chainsel "github.com/smartcontractkit/chain-selectors" + "github.com/stretchr/testify/require" + "github.com/xssnick/tonutils-go/tlb" + "github.com/xssnick/tonutils-go/ton" + "github.com/xssnick/tonutils-go/ton/wallet" + + commonconfig "github.com/smartcontractkit/chainlink-common/pkg/config" + "github.com/smartcontractkit/chainlink-common/pkg/logger" + "github.com/smartcontractkit/chainlink-common/pkg/monitoring/balance" + + test_utils "github.com/smartcontractkit/chainlink-ton/deployment/utils" + "github.com/smartcontractkit/chainlink-ton/pkg/relay/monitor" + relayer_utils "github.com/smartcontractkit/chainlink-ton/pkg/relay/testutils" + "github.com/smartcontractkit/chainlink-ton/pkg/ton/tracetracking" + "github.com/smartcontractkit/chainlink-ton/pkg/ton/tvm" +) + +func TestBalanceMonitor_DirectClient(t *testing.T) { + lggr := logger.Test(t) + + var setupOnce sync.Once + tonChain, err := test_utils.StartChain(t, chainsel.TON_LOCALNET.Selector, &setupOnce) + require.NoError(t, err) + + balanceClient := monitor.NewBalanceClient(tonChain.Client) + walletAddr := tonChain.Wallet.WalletAddress().String() + lggr.Infow("Testing balance for wallet", "address", walletAddr) + + // Get the current balance + bal, err := balanceClient.GetAccountBalance(walletAddr) + require.NoError(t, err) + + lggr.Infow("Wallet balance fetched successfully", "address", walletAddr, "balance", bal, "unit", "TON") + + // Verify the balance is exactly 1000 TON (test_utils.StartChain initializes with 1000 TON) + require.InDelta(t, 1000.0, bal, 0.1) +} + +func TestBalanceMonitor_BalanceChanges(t *testing.T) { + lggr := logger.Test(t) + + var setupOnce sync.Once + tonChain, err := test_utils.StartChain(t, chainsel.TON_LOCALNET.Selector, &setupOnce) + require.NoError(t, err) + + balanceClient := monitor.NewBalanceClient(tonChain.Client) + + // Wallet 1: sender, funded with 1000 TON by test_utils.StartChain + senderAddr := tonChain.Wallet.WalletAddress() + senderInitialBalance, err := balanceClient.GetAccountBalance(senderAddr.String()) + require.NoError(t, err) + require.InDelta(t, 1000.0, senderInitialBalance, 0.1, "Sender initial balance should be 1000 TON") + lggr.Infow("Sender initial balance", "address", senderAddr.String(), "balance", senderInitialBalance, "unit", "TON") + + // Wallet 2: recipient wallet, starts with 0 TON + recipientWallet, err := tvm.NewRandomHighloadV3TestWallet(tonChain.Client) + require.NoError(t, err) + recipientAddr := recipientWallet.WalletAddress() + + // Confirm recipient starts with 0 TON + recipientInitialBalance, err := balanceClient.GetAccountBalance(recipientAddr.String()) + require.NoError(t, err) + require.InDelta(t, 0.0, recipientInitialBalance, 0.01) + lggr.Infow("Recipient initial balance", "address", recipientAddr.String(), "balance", recipientInitialBalance, "unit", "TON") + + // Send multiple transactions from sender to recipient + signedClient := tracetracking.NewSignedAPIClient(tonChain.Client, *tonChain.Wallet) + numTxs := 10 + transferAmount := tlb.MustFromTON("5.0") + totalTransferred := float64(numTxs) * 5.0 + for i := 0; i < numTxs; i++ { + lggr.Infow("Sending transaction", "index", i+1, "from", senderAddr.String(), "to", recipientAddr.String(), "amount", "5 TON") + var transfer *wallet.Message + transfer, err = tonChain.Wallet.BuildTransfer(recipientAddr, transferAmount, false, "test transfer") + require.NoError(t, err) + _, err = signedClient.SendAndWaitForTrace(t.Context(), *recipientAddr, transfer) + require.NoError(t, err) + } + + // Check final balances + senderFinalBalance, err := balanceClient.GetAccountBalance(senderAddr.String()) + require.NoError(t, err) + lggr.Infow("Sender final balance", "address", senderAddr.String(), "balance", senderFinalBalance, "unit", "TON") + + recipientFinalBalance, err := balanceClient.GetAccountBalance(recipientAddr.String()) + require.NoError(t, err) + lggr.Infow("Recipient final balance", "address", recipientAddr.String(), "balance", recipientFinalBalance, "unit", "TON") + + // Verify sender balance decreased by transfers + some amount of gas fees + senderDecrease := senderInitialBalance - senderFinalBalance + require.Greater(t, senderDecrease, totalTransferred, "Sender balance should decrease by at least the transfer amount") + require.Less(t, senderDecrease, totalTransferred+1.0, "Sender balance decrease should not exceed transfers + ~1 TON in gas fees") + + // Verify recipient balance increased by exactly the transfer amount + recipientIncrease := recipientFinalBalance - recipientInitialBalance + require.InDelta(t, totalTransferred, recipientIncrease, 0.01, "Recipient should receive exactly the transferred amount") + + lggr.Infow("Balance changes verified", + "senderInitial", senderInitialBalance, + "senderFinal", senderFinalBalance, + "senderDecrease", senderDecrease, + "recipientInitial", recipientInitialBalance, + "recipientFinal", recipientFinalBalance, + "recipientIncrease", recipientIncrease, + "totalTransferred", totalTransferred, + "numTransactions", numTxs, + ) +} + +func TestBalanceMonitor_Polling(t *testing.T) { + lggr := logger.Test(t) + + var setupOnce sync.Once + tonChain, err := test_utils.StartChain(t, chainsel.TON_LOCALNET.Selector, &setupOnce) + require.NoError(t, err) + + keystore := relayer_utils.NewTestKeystore(t) + keystore.AddKey(tonChain.Wallet.PrivateKey()) + require.NotNil(t, keystore) + + opts := monitor.BalanceMonitorOpts{ + ChainInfo: balance.ChainInfo{ + ChainFamilyName: "ton", + ChainID: string(chainsel.TON_LOCALNET.ChainID), + NetworkName: "localnet", + NetworkNameFull: "ton-localnet", + }, + Config: balance.GenericBalanceConfig{ + BalancePollPeriod: *commonconfig.MustNewDuration(1 * time.Minute), + }, + Logger: lggr, + Keystore: keystore, + NewClient: func(ctx context.Context) (*ton.APIClient, error) { + return tonChain.Client, nil + }, + } + + // Create and start balance monitor + balanceMonitor, err := monitor.NewBalanceMonitor(opts) + require.NoError(t, err) + require.NotNil(t, balanceMonitor) + err = balanceMonitor.Start(t.Context()) + require.NoError(t, err) + defer func() { + _ = balanceMonitor.Close() + }() + + // Wait a bit to allow the monitor to poll at least once + time.Sleep(2 * time.Second) + + // Check health report + health := balanceMonitor.HealthReport() + require.NotNil(t, health) + lggr.Infow("Balance monitor health report", "health", health) + + // Verify the monitor is healthy + for name, err := range health { + require.NoError(t, err, "Balance monitor component %s should be healthy", name) + } +} diff --git a/pkg/relay/chain.go b/pkg/relay/chain.go index f81c77b6d..56eff164d 100644 --- a/pkg/relay/chain.go +++ b/pkg/relay/chain.go @@ -17,8 +17,10 @@ import ( "github.com/xssnick/tonutils-go/tvm/cell" "github.com/smartcontractkit/chainlink-common/pkg/chains" + commonconfig "github.com/smartcontractkit/chainlink-common/pkg/config" "github.com/smartcontractkit/chainlink-common/pkg/logger" "github.com/smartcontractkit/chainlink-common/pkg/loop" + "github.com/smartcontractkit/chainlink-common/pkg/monitoring/balance" "github.com/smartcontractkit/chainlink-common/pkg/services" "github.com/smartcontractkit/chainlink-common/pkg/sqlutil" commontypes "github.com/smartcontractkit/chainlink-common/pkg/types" @@ -33,12 +35,17 @@ import ( "github.com/smartcontractkit/chainlink-ton/pkg/logpoller" txloader "github.com/smartcontractkit/chainlink-ton/pkg/logpoller/loader" lppgstore "github.com/smartcontractkit/chainlink-ton/pkg/logpoller/store/postgres" + "github.com/smartcontractkit/chainlink-ton/pkg/relay/monitor" tonchain "github.com/smartcontractkit/chainlink-ton/pkg/ton/chain" tonconfig "github.com/smartcontractkit/chainlink-ton/pkg/ton/config" "github.com/smartcontractkit/chainlink-ton/pkg/ton/tracetracking" "github.com/smartcontractkit/chainlink-ton/pkg/txm" ) +const ( + balancePollPeriod = 1 * time.Minute +) + type Chain interface { commontypes.ChainService @@ -73,6 +80,7 @@ type chain struct { txm *txm.Txm lp logpoller.Service + bm services.Service clientCache map[int]*cachedClient cacheMu sync.RWMutex @@ -147,7 +155,29 @@ func newChain(cfg *config.TOMLConfig, loopKs loop.Keystore, lggr logger.Logger, return nil, fmt.Errorf("failed to create logpoller service: %w", err) } - // TODO: Setup accounts balance monitor + // Setup accounts balance monitor + chainInfo, err := ch.GetChainInfo(context.Background()) + if err != nil { + return nil, fmt.Errorf("failed to get chain info for balance monitor: %w", err) + } + + ch.bm, err = monitor.NewBalanceMonitor(monitor.BalanceMonitorOpts{ + ChainInfo: balance.ChainInfo{ + ChainFamilyName: chainInfo.FamilyName, + ChainID: chainInfo.ChainID, + NetworkName: chainInfo.NetworkName, + NetworkNameFull: chainInfo.NetworkNameFull, + }, + Config: balance.GenericBalanceConfig{ + BalancePollPeriod: *commonconfig.MustNewDuration(balancePollPeriod), + }, + Logger: lggr, + Keystore: loopKs, + NewClient: ch.GetClient, + }) + if err != nil { + return nil, fmt.Errorf("failed to create balance monitor: %w", err) + } return ch, nil } @@ -158,21 +188,26 @@ func (c *chain) Name() string { func (c *chain) Start(ctx context.Context) error { return c.starter.StartOnce("Chain", func() error { - c.lggr.Debug("Starting txm and log poller") + c.lggr.Debug("Starting txm, log poller, and balance monitor") var ms services.MultiStart if err := ms.Start(ctx, c.txm); err != nil { - return err + return errors.New("failed to start txm service") + } + if err := ms.Start(ctx, c.lp); err != nil { + return errors.New("failed to start log poller service") + } + if err := ms.Start(ctx, c.bm); err != nil { + return errors.New("failed to start balance monitor service") } - return ms.Start(ctx, c.lp) + return nil }) } func (c *chain) Close() error { return c.starter.StopOnce("Chain", func() error { - c.lggr.Debug("Stopping") - c.lggr.Debug("Stopping txm") - return services.CloseAll(c.txm, c.lp) + c.lggr.Debug("Stopping txm, log poller, and balance monitor") + return services.CloseAll(c.txm, c.lp, c.bm) }) } @@ -184,7 +219,7 @@ func (c *chain) HealthReport() map[string]error { report := map[string]error{c.Name(): c.starter.Healthy()} services.CopyHealth(report, c.txm.HealthReport()) services.CopyHealth(report, c.lp.HealthReport()) - // TODO: Add balance monitor health report once implemented + services.CopyHealth(report, c.bm.HealthReport()) return report } diff --git a/pkg/relay/monitor/balance.go b/pkg/relay/monitor/balance.go new file mode 100644 index 000000000..9860c5a94 --- /dev/null +++ b/pkg/relay/monitor/balance.go @@ -0,0 +1,132 @@ +package monitor + +import ( + "context" + "crypto/ed25519" + "encoding/hex" + "fmt" + "math/big" + + "github.com/xssnick/tonutils-go/address" + "github.com/xssnick/tonutils-go/ton" + "github.com/xssnick/tonutils-go/ton/wallet" + + "github.com/smartcontractkit/chainlink-common/pkg/logger" + "github.com/smartcontractkit/chainlink-common/pkg/monitoring/balance" + "github.com/smartcontractkit/chainlink-common/pkg/services" + "github.com/smartcontractkit/chainlink-common/pkg/types/core" + + tonconfig "github.com/smartcontractkit/chainlink-ton/pkg/ton/config" +) + +// BalanceMonitorOpts contains the options for creating a new TON account balance monitor. +type BalanceMonitorOpts struct { + ChainInfo balance.ChainInfo + + Config balance.GenericBalanceConfig + Logger logger.Logger + Keystore core.Keystore + NewClient func(context.Context) (*ton.APIClient, error) +} + +// NewBalanceMonitor returns a balance monitoring services.Service which reports balance of all Keystore accounts. +func NewBalanceMonitor(opts BalanceMonitorOpts) (services.Service, error) { + return balance.NewGenericBalanceMonitor(balance.GenericBalanceMonitorOpts{ + ChainInfo: opts.ChainInfo, + ChainNativeCurrency: "TON", + + Config: opts.Config, + Logger: opts.Logger, + Keystore: opts.Keystore, + NewGenericBalanceClient: func() (balance.GenericBalanceClient, error) { + client, err := opts.NewClient(context.Background()) + if err != nil { + return nil, fmt.Errorf("failed to get new client: %w", err) + } + return balanceClient{client}, nil + }, + KeyToAccountMapper: func(ctx context.Context, pk string) (string, error) { + // We need to convert the TON hex-encoded ed25519 public key to a wallet address + return hexPublicKeyToWalletAddress(pk) + }, + }) +} + +// TON balance reader client implementation +type balanceClient struct { + client *ton.APIClient +} + +// NewBalanceClient creates a balance client for testing purposes. +func NewBalanceClient(client *ton.APIClient) balance.GenericBalanceClient { + return balanceClient{client: client} +} + +// GetAccountBalance returns the account balance of addrString in TON. +func (c balanceClient) GetAccountBalance(addrString string) (float64, error) { + ctx := context.Background() + + block, err := c.client.CurrentMasterchainInfo(ctx) + if err != nil { + return -1, fmt.Errorf("failed to get masterchain info: %w", err) + } + + addr, err := address.ParseAddr(addrString) + if err != nil { + return -1, fmt.Errorf("failed to parse address [%s]: %w", addrString, err) + } + + acc, err := c.client.GetAccount(ctx, block, addr) + if err != nil { + return -1, fmt.Errorf("failed to get account: %w", err) + } + + // If account is not active, balance is 0 + if !acc.IsActive || acc.State == nil { + return 0.0, nil + } + + // Get the account balance in nanoTON (10^-9 TON) and convert to TON + bal := acc.State.Balance.Nano() + return nanoTONtoTON(bal), nil +} + +// Convert nanoTON to TON as 1/10^9 TON +func nanoTONtoTON(nanoTON *big.Int) float64 { + tonFloat := new(big.Float).Quo(new(big.Float).SetInt(nanoTON), new(big.Float).SetInt64(1e9)) + result, _ := tonFloat.Float64() + return result +} + +// DecodeHexPublicKey decodes a hex-encoded ed25519 public key and validates its size. +func DecodeHexPublicKey(hexPubKey string) (ed25519.PublicKey, error) { + pubKeyBytes, err := hex.DecodeString(hexPubKey) + if err != nil { + return nil, fmt.Errorf("invalid hex-encoded public key: %w", err) + } + + if len(pubKeyBytes) != ed25519.PublicKeySize { + return nil, fmt.Errorf("invalid public key size: expected %d bytes, got %d", ed25519.PublicKeySize, len(pubKeyBytes)) + } + + return ed25519.PublicKey(pubKeyBytes), nil +} + +// hexPublicKeyToWalletAddress converts a hex-encoded ed25519 public key to a TON wallet address string. +// This should remain a pure cryptographic operation that doesn't require a blockchain client. +func hexPublicKeyToWalletAddress(hexPubKey string) (string, error) { + pubKey, err := DecodeHexPublicKey(hexPubKey) + if err != nil { + return "", err + } + + // Derive the wallet address directly from the public key + // Use DefaultSubwallet to match what wallet.FromSigner() uses for HighloadV3 wallets + // See: tonutils-go/ton/wallet/wallet.go newWallet() - HighloadV3 uses DefaultSubwallet + addr, err := wallet.AddressFromPubKey(pubKey, tonconfig.WalletVersion, wallet.DefaultSubwallet) + if err != nil { + return "", fmt.Errorf("failed to derive wallet address from public key: %w", err) + } + + return addr.String(), nil +} diff --git a/pkg/relay/monitor/balance_test.go b/pkg/relay/monitor/balance_test.go new file mode 100644 index 000000000..874355416 --- /dev/null +++ b/pkg/relay/monitor/balance_test.go @@ -0,0 +1,98 @@ +package monitor + +import ( + "crypto/ed25519" + "encoding/hex" + "testing" + + "github.com/stretchr/testify/require" + "github.com/xssnick/tonutils-go/address" +) + +func TestDecodeHexPublicKey(t *testing.T) { + t.Run("ValidPublicKey", func(t *testing.T) { + testPrivateKey := ed25519.PrivateKey{ + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, + 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, + 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, + 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, + // Public key portion + 0x4d, 0x8e, 0x0a, 0x17, 0x9e, 0x62, 0x62, 0x06, + 0x8f, 0x0a, 0x6f, 0xa9, 0xf7, 0xe6, 0x3e, 0x3a, + 0x4b, 0xaa, 0x7b, 0xe5, 0x2c, 0x68, 0x7f, 0x8e, + 0xe5, 0xb9, 0xa7, 0x3e, 0x02, 0x66, 0x0e, 0x9a, + } + + // Extract and convert the public key + expectedPubKey := testPrivateKey.Public().(ed25519.PublicKey) + hexPubKey := hex.EncodeToString(expectedPubKey) + + // Test the decoding + pubKey, err := DecodeHexPublicKey(hexPubKey) + require.NoError(t, err) + require.NotNil(t, pubKey) + require.Equal(t, expectedPubKey, pubKey, "Decoded public key should match the expected key") + }) + + t.Run("InvalidHexString", func(t *testing.T) { + _, err := DecodeHexPublicKey("not-valid-hex") + require.Error(t, err) + require.Contains(t, err.Error(), "invalid hex-encoded public key") + }) + + t.Run("InvalidKeySize", func(t *testing.T) { + shortHex := "00112233" // Only 4 bytes, not 32 + _, err := DecodeHexPublicKey(shortHex) + require.Error(t, err) + require.Contains(t, err.Error(), "invalid public key size") + }) +} + +func TestHexPublicKeyToWalletAddress(t *testing.T) { + t.Run("ValidPublicKey", func(t *testing.T) { + testPrivateKey := ed25519.PrivateKey{ + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, + 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, + 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, + 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, + // Public key portion + 0x4d, 0x8e, 0x0a, 0x17, 0x9e, 0x62, 0x62, 0x06, + 0x8f, 0x0a, 0x6f, 0xa9, 0xf7, 0xe6, 0x3e, 0x3a, + 0x4b, 0xaa, 0x7b, 0xe5, 0x2c, 0x68, 0x7f, 0x8e, + 0xe5, 0xb9, 0xa7, 0x3e, 0x02, 0x66, 0x0e, 0x9a, + } + + // Extract and convert the public key + pubKey := testPrivateKey.Public().(ed25519.PublicKey) + hexPubKey := hex.EncodeToString(pubKey) + + // Test the conversion (no client needed - pure cryptographic operation) + walletAddr, err := hexPublicKeyToWalletAddress(hexPubKey) + require.NoError(t, err) + require.NotEmpty(t, walletAddr) + + // Expected address for this specific public key using HighloadV3 wallet with DefaultSubwallet + // Public key: 4d8e0a179e6262068f0a6fa9f7e63e3a4baa7be52c687f8ee5b9a73e02660e9a + expectedAddr := "EQDeE2jr_PBefmFsMFbCai1rWy-PkzMdz3CXzW-TadbJ2vvm" + + // Verify the derived address matches exactly + require.Equal(t, expectedAddr, walletAddr, "Address should match the expected deterministic value") + + // Verify we can parse it back (validates it's a proper TON address format) + _, err = address.ParseAddr(walletAddr) + require.NoError(t, err, "Generated address should be parseable as a valid TON address") + }) + + t.Run("InvalidHexString", func(t *testing.T) { + _, err := hexPublicKeyToWalletAddress("not-valid-hex") + require.Error(t, err) + require.Contains(t, err.Error(), "invalid hex-encoded public key") + }) + + t.Run("InvalidKeySize", func(t *testing.T) { + shortHex := "00112233" // Only 4 bytes, not 32 + _, err := hexPublicKeyToWalletAddress(shortHex) + require.Error(t, err) + require.Contains(t, err.Error(), "invalid public key size") + }) +} diff --git a/staging-monitor/go.mod b/staging-monitor/go.mod index 9e92624af..095915687 100644 --- a/staging-monitor/go.mod +++ b/staging-monitor/go.mod @@ -7,7 +7,7 @@ require ( github.com/joho/godotenv v1.5.1 github.com/smartcontractkit/chain-selectors v1.0.83 github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20251027185542-babb09e5363e - github.com/smartcontractkit/chainlink-common v0.9.6-0.20251023193345-8f2c4380a62c + github.com/smartcontractkit/chainlink-common v0.9.6-0.20251215152504-b1e41f508340 github.com/smartcontractkit/chainlink-deployments-framework v0.67.1-0.20251120111322-7760d1301f77 github.com/smartcontractkit/chainlink-ton v0.0.0 github.com/smartcontractkit/chainlink-ton/deployment v0.0.0 @@ -89,7 +89,7 @@ require ( github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.2 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 // indirect github.com/hashicorp/go-hclog v1.6.3 // indirect - github.com/hashicorp/go-plugin v1.6.3 // indirect + github.com/hashicorp/go-plugin v1.7.0 // indirect github.com/hashicorp/yamux v0.1.2 // indirect github.com/hasura/go-graphql-client v0.14.5 // indirect github.com/hdevalence/ed25519consensus v0.2.0 // indirect @@ -156,9 +156,9 @@ require ( github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250908144012-8184001834b5 // indirect github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20250908144012-8184001834b5 // indirect github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20251027185542-babb09e5363e // indirect - github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.9-0.20251020164035-ab562b473fe2 // indirect + github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.10 // indirect github.com/smartcontractkit/chainlink-framework/metrics v0.0.0-20251206233640-139a324649d9 // indirect - github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20251021010742-3f8d3dba17d8 // indirect + github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20251124151448-0448aefdaab9 // indirect github.com/smartcontractkit/chainlink-protos/job-distributor v0.17.0 // indirect github.com/smartcontractkit/chainlink-protos/linking-service/go v0.0.0-20251002192024-d2ad9222409b // indirect github.com/smartcontractkit/chainlink-sui v0.0.0-20251104205009-00bd79b81471 // indirect diff --git a/staging-monitor/go.sum b/staging-monitor/go.sum index aa9b4bd53..05e8dc352 100644 --- a/staging-monitor/go.sum +++ b/staging-monitor/go.sum @@ -338,8 +338,8 @@ github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJ github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-memdb v1.3.5 h1:b3taDMxCBCBVgyRrS1AZVHO14ubMYZB++QpNhBg+Nyo= github.com/hashicorp/go-memdb v1.3.5/go.mod h1:8IVKKBkVe+fxFgdFOYxzQQNjz+sWCyHCdIC/+5+Vy1Y= -github.com/hashicorp/go-plugin v1.6.3 h1:xgHB+ZUSYeuJi96WtxEjzi23uh7YQpznjGh0U0UUrwg= -github.com/hashicorp/go-plugin v1.6.3/go.mod h1:MRobyh+Wc/nYy1V4KAXUiYfzxoYhs7V1mlH1Z7iY2h0= +github.com/hashicorp/go-plugin v1.7.0 h1:YghfQH/0QmPNc/AZMTFE3ac8fipZyZECHdDPshfk+mA= +github.com/hashicorp/go-plugin v1.7.0/go.mod h1:BExt6KEaIYx804z8k4gRzRLEvxKVb+kn0NMcihqOqb8= github.com/hashicorp/golang-lru v1.0.2 h1:dV3g9Z/unq5DpblPpw+Oqcv4dU/1omnb4Ok8iPY6p1c= github.com/hashicorp/golang-lru v1.0.2/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/yamux v0.1.2 h1:XtB8kyFOyHXYVFnwT5C3+Bdo8gArse7j2AQ0DA0Uey8= @@ -420,8 +420,8 @@ github.com/jackpal/go-nat-pmp v1.0.2 h1:KzKSgb7qkJvOUTqYl9/Hg/me3pWgBmERKrTGD7Bd github.com/jackpal/go-nat-pmp v1.0.2/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jhump/protoreflect v1.15.3 h1:6SFRuqU45u9hIZPJAoZ8c28T3nK64BNdp9w6jFonzls= -github.com/jhump/protoreflect v1.15.3/go.mod h1:4ORHmSBmlCW8fh3xHmJMGyul1zNqZK4Elxc8qKP+p1k= +github.com/jhump/protoreflect v1.17.0 h1:qOEr613fac2lOuTgWN4tPAtLL7fUSbuJL5X5XumQh94= +github.com/jhump/protoreflect v1.17.0/go.mod h1:h9+vUUL38jiBzck8ck+6G/aeMX8Z4QUY/NiJPwPNi+8= github.com/jinzhu/copier v0.4.0 h1:w3ciUoD19shMCRargcpm0cm91ytaBhDvuRpz1ODO/U8= github.com/jinzhu/copier v0.4.0/go.mod h1:DfbEm0FYsaqBcKcFuvmOZb218JkPGtvSHsKg8S8hyyg= github.com/jmoiron/sqlx v1.4.0 h1:1PLqN7S1UYp5t4SrVVnt4nUVNemrDAtxlulVe+Qgm3o= @@ -636,16 +636,16 @@ github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20250 github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20250908144012-8184001834b5/go.mod h1:xtZNi6pOKdC3sLvokDvXOhgHzT+cyBqH/gWwvxTxqrg= github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20251027185542-babb09e5363e h1:hQEOz6nRQgIQf0HS3EsjS22cAwejLa6q4nCyFGYrb/s= github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20251027185542-babb09e5363e/go.mod h1:IaoLCQE1miX3iUlQNxOPcVrXrshcO/YsFpxnFuhG9DM= -github.com/smartcontractkit/chainlink-common v0.9.6-0.20251023193345-8f2c4380a62c h1:NbbTzAMIFv0x8I+Mq7NZGDZe45Kxv0wrjvzEy60TzRU= -github.com/smartcontractkit/chainlink-common v0.9.6-0.20251023193345-8f2c4380a62c/go.mod h1:bweMpOLYCumPXnYBIPRAH4dbvVRtPmyVB+8TSzh0ILY= -github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.9-0.20251020164035-ab562b473fe2 h1:p79eZtyBbZYumftwZGCkyKSNDvUralW7lqcTD99Ovmw= -github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.9-0.20251020164035-ab562b473fe2/go.mod h1:oiDa54M0FwxevWwyAX773lwdWvFYYlYHHQV1LQ5HpWY= +github.com/smartcontractkit/chainlink-common v0.9.6-0.20251215152504-b1e41f508340 h1:VdiOm0ITLLGmkvALxKo/qvfDqgV5tFJwr8O+Bts4mOc= +github.com/smartcontractkit/chainlink-common v0.9.6-0.20251215152504-b1e41f508340/go.mod h1:ra9yvW8HbLgtXY0fHgnVdA5SjZ06v2/TNyTfPEJzsqo= +github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.10 h1:FJAFgXS9oqASnkS03RE1HQwYQQxrO4l46O5JSzxqLgg= +github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.10/go.mod h1:oiDa54M0FwxevWwyAX773lwdWvFYYlYHHQV1LQ5HpWY= github.com/smartcontractkit/chainlink-deployments-framework v0.67.1-0.20251120111322-7760d1301f77 h1:EP9eHLDPjLQevF59U2jkkQDB3IB44dzbgv55/FVMNGs= github.com/smartcontractkit/chainlink-deployments-framework v0.67.1-0.20251120111322-7760d1301f77/go.mod h1:vE/dMQyTOnS+T4sXqcTbSR7THlHhT/xlHiOumReMYFk= github.com/smartcontractkit/chainlink-framework/metrics v0.0.0-20251206233640-139a324649d9 h1:TAVreQK5eP63a0zu5Qe34i4pYGGo5x8zgfJ1NVVo6K4= github.com/smartcontractkit/chainlink-framework/metrics v0.0.0-20251206233640-139a324649d9/go.mod h1:HG/aei0MgBOpsyRLexdKGtOUO8yjSJO3iUu0Uu8KBm4= -github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20251021010742-3f8d3dba17d8 h1:hPeEwcvRVtwhyNXH45qbzqmscqlbygu94cROwbjyzNQ= -github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20251021010742-3f8d3dba17d8/go.mod h1:jUC52kZzEnWF9tddHh85zolKybmLpbQ1oNA4FjOHt1Q= +github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20251124151448-0448aefdaab9 h1:QRWXJusIj/IRY5Pl3JclNvDre0cZPd/5NbILwc4RV2M= +github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20251124151448-0448aefdaab9/go.mod h1:jUC52kZzEnWF9tddHh85zolKybmLpbQ1oNA4FjOHt1Q= github.com/smartcontractkit/chainlink-protos/job-distributor v0.17.0 h1:xHPmFDhff7QpeFxKsZfk+24j4AlnQiFjjRh5O87Peu4= github.com/smartcontractkit/chainlink-protos/job-distributor v0.17.0/go.mod h1:/dVVLXrsp+V0AbcYGJo3XMzKg3CkELsweA/TTopCsKE= github.com/smartcontractkit/chainlink-protos/linking-service/go v0.0.0-20251002192024-d2ad9222409b h1:QuI6SmQFK/zyUlVWEf0GMkiUYBPY4lssn26nKSd/bOM=