Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/big-plums-study.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"chainlink": patch
---

#internal changed vault request digest to use jsonrpc2 Digest method
19 changes: 15 additions & 4 deletions core/capabilities/vault/request_authorizer.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ import (
jsonrpc "github.com/smartcontractkit/chainlink-common/pkg/jsonrpc2"
"github.com/smartcontractkit/chainlink-common/pkg/logger"
"github.com/smartcontractkit/chainlink-evm/gethwrappers/workflow/generated/workflow_registry_wrapper_v2"
"github.com/smartcontractkit/chainlink/v2/core/capabilities/vault/vaultutils"
workflowsyncerv2 "github.com/smartcontractkit/chainlink/v2/core/services/workflows/syncer/v2"
)

Expand All @@ -27,14 +26,22 @@ type requestAuthorizer struct {
lggr logger.Logger
}

// AuthorizeRequest authorizes a request based on the request digest and the allowlisted requests.
// It does NOT check if the request method is allowed.
func (r *requestAuthorizer) AuthorizeRequest(ctx context.Context, req jsonrpc.Request[json.RawMessage]) (isAuthorized bool, owner string, err error) {
defer r.clearExpiredAuthorizedRequests()
r.lggr.Infow("AuthorizeRequest", "method", req.Method, "requestID", req.ID)
digest, err := vaultutils.DigestForRequest(req)
requestDigest, err := req.Digest()
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ack, this is the core change. we removed our customized DigestForRequest() and use the default Digest() from jsonrpc.

if err != nil {
r.lggr.Infow("AuthorizeRequest failed to create digest", "method", req.Method, "requestID", req.ID)
return false, "", err
}
requestDigestBytes, err := hex.DecodeString(requestDigest)
if err != nil {
r.lggr.Infow("AuthorizeRequest failed to decode digest", "method", req.Method, "requestID", req.ID)
return false, "", err
}
requestDigestBytes32 := [32]byte(requestDigestBytes)
if r.workflowRegistrySyncer == nil {
r.lggr.Errorw("AuthorizeRequest workflowRegistrySyncer is nil", "method", req.Method, "requestID", req.ID)
return false, "", errors.New("internal error: workflowRegistrySyncer is nil")
Expand All @@ -45,9 +52,13 @@ func (r *requestAuthorizer) AuthorizeRequest(ctx context.Context, req jsonrpc.Re
requestDigests = append(requestDigests, hex.EncodeToString(allowedRequest.RequestDigest[:]))
}
r.lggr.Infow("AuthorizeRequest GetAllowlistedRequests", "method", req.Method, "requestID", req.ID, "allowedRequests", allowedRequests, "requestDigestHexStrs", requestDigests)
allowlistedRequest := r.fetchAllowlistedItem(allowedRequests, digest)
allowlistedRequest := r.fetchAllowlistedItem(allowedRequests, requestDigestBytes32)
if allowlistedRequest == nil {
r.lggr.Infow("AuthorizeRequest fetchAllowlistedItem request not allowlisted", "method", req.Method, "requestID", req.ID, "digestHexStr", hex.EncodeToString(digest[:]), "allowedRequestDigestHexStrs", requestDigests)
r.lggr.Infow("AuthorizeRequest fetchAllowlistedItem request not allowlisted",
"method", req.Method,
"requestID", req.ID,
"digestHexStr", requestDigest,
"allowedRequestDigestHexStrs", requestDigests)
return false, "", errors.New("request not allowlisted")
}
authorizedRequestStr := string(allowlistedRequest.RequestDigest[:]) + "-->" + strconv.FormatUint(uint64(allowlistedRequest.ExpiryTimestamp), 10)
Expand Down
17 changes: 5 additions & 12 deletions core/capabilities/vault/request_authorizer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package vault

import (
"context"
"encoding/hex"
"encoding/json"
"testing"
"time"
Expand All @@ -14,7 +15,6 @@ import (
jsonrpc "github.com/smartcontractkit/chainlink-common/pkg/jsonrpc2"
"github.com/smartcontractkit/chainlink-evm/gethwrappers/workflow/generated/workflow_registry_wrapper_v2"
"github.com/smartcontractkit/chainlink/v2/core/capabilities/vault/vaulttypes"
"github.com/smartcontractkit/chainlink/v2/core/capabilities/vault/vaultutils"
"github.com/smartcontractkit/chainlink/v2/core/logger"
syncerv2mocks "github.com/smartcontractkit/chainlink/v2/core/services/workflows/syncer/v2/mocks"
)
Expand Down Expand Up @@ -153,22 +153,15 @@ func testAuthForRequests(t *testing.T, allowlistedRequest, notAllowlistedRequest
mockSyncer := syncerv2mocks.NewWorkflowRegistrySyncer(t)
auth := NewRequestAuthorizer(lggr, mockSyncer)

// Invalid method
invalidReq := jsonrpc.Request[json.RawMessage]{
Method: "invalid-method",
Params: nil,
}
isAuthorized, _, err := auth.AuthorizeRequest(context.Background(), invalidReq)
require.ErrorContains(t, err, "unauthorized method: invalid-method")
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Whether the method is valid is checked in the handler, not the authorizer.

require.False(t, isAuthorized)

// Happy path
digest, err := vaultutils.DigestForRequest(allowlistedRequest)
digest, err := allowlistedRequest.Digest()
require.NoError(t, err)
digestBytes, err := hex.DecodeString(digest)
require.NoError(t, err)
expiry := uint64(time.Now().UTC().Unix() + 100) //nolint:gosec // it is a safe conversion
allowlisted := []workflow_registry_wrapper_v2.WorkflowRegistryOwnerAllowlistedRequest{
{
RequestDigest: digest,
RequestDigest: [32]byte(digestBytes),
Owner: owner,
ExpiryTimestamp: uint32(expiry), //nolint:gosec // it is a safe conversion
},
Expand Down
68 changes: 14 additions & 54 deletions core/capabilities/vault/vaultutils/json.go
Original file line number Diff line number Diff line change
@@ -1,66 +1,15 @@
package vaultutils

import (
"crypto/sha256"
"encoding/json"
"errors"
"fmt"

"github.com/gibson042/canonicaljson-go"
jsonv2 "github.com/go-json-experiment/json"
"github.com/go-json-experiment/json/jsontext"
"google.golang.org/protobuf/encoding/protojson"
"google.golang.org/protobuf/proto"

vaultcommon "github.com/smartcontractkit/chainlink-common/pkg/capabilities/actions/vault"
jsonrpc "github.com/smartcontractkit/chainlink-common/pkg/jsonrpc2"
"github.com/smartcontractkit/chainlink/v2/core/capabilities/vault/vaulttypes"
)

func DigestForRequest(req jsonrpc.Request[json.RawMessage]) ([32]byte, error) {
var seed proto.Message
switch req.Method {
case vaulttypes.MethodSecretsCreate:
var createSecretsRequests vaultcommon.CreateSecretsRequest
if err := json.Unmarshal(*req.Params, &createSecretsRequests); err != nil {
return [32]byte{}, errors.New("error unmarshalling create secrets request: " + err.Error())
}
seed = &vaultcommon.CreateSecretsRequest{
EncryptedSecrets: createSecretsRequests.EncryptedSecrets,
}
case vaulttypes.MethodSecretsUpdate:
var updateSecretsRequests vaultcommon.UpdateSecretsRequest
if err := json.Unmarshal(*req.Params, &updateSecretsRequests); err != nil {
return [32]byte{}, errors.New("error unmarshalling update secrets request: " + err.Error())
}
seed = &vaultcommon.CreateSecretsRequest{
EncryptedSecrets: updateSecretsRequests.EncryptedSecrets,
}
case vaulttypes.MethodSecretsList:
var listSecretsRequests vaultcommon.ListSecretIdentifiersRequest
if err := json.Unmarshal(*req.Params, &listSecretsRequests); err != nil {
return [32]byte{}, errors.New("error unmarshalling list secrets request: " + err.Error())
}
seed = &vaultcommon.ListSecretIdentifiersRequest{
Owner: listSecretsRequests.Owner,
Namespace: listSecretsRequests.Namespace,
}
case vaulttypes.MethodSecretsDelete:
var deleteSecretsRequests vaultcommon.DeleteSecretsRequest
if err := json.Unmarshal(*req.Params, &deleteSecretsRequests); err != nil {
return [32]byte{}, errors.New("error unmarshalling delete secrets request: " + err.Error())
}
seed = &vaultcommon.DeleteSecretsRequest{
Ids: deleteSecretsRequests.Ids,
}
default:
return [32]byte{}, fmt.Errorf("unauthorized method: %s", req.Method)
}
canonicalSeed, err := ToCanonicalJSON(seed)
if err != nil {
return [32]byte{}, errors.New("error converting request to canonical JSON: " + err.Error())
}
return sha256.Sum256(canonicalSeed), nil
}

// ToCanonicalJSON converts a protobuf message to a stable, deterministic
// representation, including consistent sorting of keys and fields, and
// consistent spacing.
Expand All @@ -80,5 +29,16 @@ func ToCanonicalJSON(msg proto.Message) ([]byte, error) {
return nil, err
}

return canonicaljson.Marshal(jsond)
JSONBytes, err := jsonv2.Marshal(jsond, jsonv2.Deterministic(true))
if err != nil {
return nil, fmt.Errorf("error marshaling JSON: %w", err)
}

canonicalJSONBytes := jsontext.Value(JSONBytes)
err = canonicalJSONBytes.Canonicalize()
if err != nil {
return nil, fmt.Errorf("error canonicalizing JSON: %w", err)
}

return canonicalJSONBytes, nil
}
3 changes: 1 addition & 2 deletions core/scripts/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ require (
github.com/shopspring/decimal v1.4.0
github.com/smartcontractkit/chainlink-automation v0.8.1
github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20251009203201-900123a5c46a
github.com/smartcontractkit/chainlink-common v0.9.6-0.20251010135052-c1f318b35ed1
github.com/smartcontractkit/chainlink-common v0.9.6-0.20251013174613-b1fd7ca40326
github.com/smartcontractkit/chainlink-data-streams v0.1.5
github.com/smartcontractkit/chainlink-deployments-framework v0.54.0
github.com/smartcontractkit/chainlink-evm v0.3.4-0.20251007172225-ba2f4b5ef962
Expand Down Expand Up @@ -257,7 +257,6 @@ require (
github.com/gagliardetto/utilz v0.1.3 // indirect
github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813 // indirect
github.com/getsentry/sentry-go v0.27.0 // indirect
github.com/gibson042/canonicaljson-go v1.0.3 // indirect
github.com/gin-contrib/cors v1.7.2 // indirect
github.com/gin-contrib/expvar v0.0.1 // indirect
github.com/gin-contrib/sessions v0.0.5 // indirect
Expand Down
6 changes: 2 additions & 4 deletions core/scripts/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -636,8 +636,6 @@ github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813/go.mod h1:P+oSoE9y
github.com/getsentry/sentry-go v0.27.0 h1:Pv98CIbtB3LkMWmXi4Joa5OOcwbmnX88sF5qbK3r3Ps=
github.com/getsentry/sentry-go v0.27.0/go.mod h1:lc76E2QywIyW8WuBnwl8Lc4bkmQH4+w1gwTf25trprY=
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
github.com/gibson042/canonicaljson-go v1.0.3 h1:EAyF8L74AWabkyUmrvEFHEt/AGFQeD6RfwbAuf0j1bI=
github.com/gibson042/canonicaljson-go v1.0.3/go.mod h1:DsLpJTThXyGNO+KZlI85C1/KDcImpP67k/RKVjcaEqo=
github.com/gin-contrib/cors v1.7.2 h1:oLDHxdg8W/XDoN/8zamqk/Drgt4oVZDvaV0YmvVICQw=
github.com/gin-contrib/cors v1.7.2/go.mod h1:SUJVARKgQ40dmrzgXEVxj2m7Ig1v1qIboQkPDTQ9t2E=
github.com/gin-contrib/expvar v0.0.1 h1:IuU5ArEgihz50vG8Onrwz22kJr7Mcvgv9xSSpfU5g+w=
Expand Down Expand Up @@ -1601,8 +1599,8 @@ github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250912190424-f
github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250912190424-fd2e35d7deb5/go.mod h1:Ve1xD71bl193YIZQEoJMmBqLGQJdNs29bwbuObwvbhQ=
github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20250912190424-fd2e35d7deb5 h1:Z4t2ZY+ZyGWxtcXvPr11y4o3CGqhg3frJB5jXkCSvWA=
github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20250912190424-fd2e35d7deb5/go.mod h1:xtZNi6pOKdC3sLvokDvXOhgHzT+cyBqH/gWwvxTxqrg=
github.com/smartcontractkit/chainlink-common v0.9.6-0.20251010135052-c1f318b35ed1 h1:CimNNbj4eI40CVpjKeEEw08Nn2qDjzl67RneQoepXME=
github.com/smartcontractkit/chainlink-common v0.9.6-0.20251010135052-c1f318b35ed1/go.mod h1:C2Cy1G4251MUntEQdi9Q2m80tl1j5aEGcNI3qaHpP7w=
github.com/smartcontractkit/chainlink-common v0.9.6-0.20251013174613-b1fd7ca40326 h1:aeqmsmqSU4FcFnyU9vY4SRhWyudq7wiEibhfi1RBWqI=
github.com/smartcontractkit/chainlink-common v0.9.6-0.20251013174613-b1fd7ca40326/go.mod h1:C2Cy1G4251MUntEQdi9Q2m80tl1j5aEGcNI3qaHpP7w=
github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.6 h1:INTd6uKc/QO11B0Vx7Ze17xgW3bqYbWuQcBQa9ixicQ=
github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.6/go.mod h1:eKGyfTKzr0/PeR7qKN4l2FcW9p+HzyKUwAfGhm/5YZc=
github.com/smartcontractkit/chainlink-common/pkg/monitoring v0.0.0-20250415235644-8703639403c7 h1:9wh1G+WbXwPVqf0cfSRSgwIcaXTQgvYezylEAfwmrbw=
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import (
"crypto/rand"
"crypto/sha256"
"encoding/base64"
"encoding/hex"
"encoding/json"
"errors"
"fmt"
Expand Down Expand Up @@ -34,7 +35,6 @@ import (
storage_service "github.com/smartcontractkit/chainlink-protos/storage-service/go"
corecaps "github.com/smartcontractkit/chainlink/v2/core/capabilities"
"github.com/smartcontractkit/chainlink/v2/core/capabilities/vault/vaulttypes"
"github.com/smartcontractkit/chainlink/v2/core/capabilities/vault/vaultutils"
"github.com/smartcontractkit/chainlink/v2/core/internal/testutils/pgtest"
"github.com/smartcontractkit/chainlink/v2/core/logger"
ghcapabilities "github.com/smartcontractkit/chainlink/v2/core/services/gateway/handlers/capabilities"
Expand Down Expand Up @@ -773,12 +773,14 @@ func allowlistRequest(
})
require.NoError(t, err, "failed to get total allowlisted requests")

requestDigest, err := vaultutils.DigestForRequest(input.Request)
requestDigest, err := input.Request.Digest()
require.NoError(t, err)
requestDigestBytes, err := hex.DecodeString(requestDigest)
require.NoError(t, err)

_, err = wfRegC.AllowlistRequest(
th.ContractsOwner,
requestDigest,
[32]byte(requestDigestBytes),
uint32(input.ExpiryTimestamp.Unix()), //nolint:gosec // safe conversion
)
require.NoError(t, err, "failed to register allowlisted request")
Expand Down
3 changes: 1 addition & 2 deletions deployment/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ require (
github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20251009203201-900123a5c46a
github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250912190424-fd2e35d7deb5
github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20250912190424-fd2e35d7deb5
github.com/smartcontractkit/chainlink-common v0.9.6-0.20251010135052-c1f318b35ed1
github.com/smartcontractkit/chainlink-common v0.9.6-0.20251013174613-b1fd7ca40326
github.com/smartcontractkit/chainlink-deployments-framework v0.54.0
github.com/smartcontractkit/chainlink-evm v0.3.4-0.20251007172225-ba2f4b5ef962
github.com/smartcontractkit/chainlink-evm/gethwrappers v0.0.0-20251003185510-17234095940f
Expand Down Expand Up @@ -221,7 +221,6 @@ require (
github.com/gagliardetto/treeout v0.1.4 // indirect
github.com/gagliardetto/utilz v0.1.3 // indirect
github.com/getsentry/sentry-go v0.27.0 // indirect
github.com/gibson042/canonicaljson-go v1.0.3 // indirect
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
Expand Down
6 changes: 2 additions & 4 deletions deployment/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -524,8 +524,6 @@ github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813/go.mod h1:P+oSoE9y
github.com/getsentry/sentry-go v0.27.0 h1:Pv98CIbtB3LkMWmXi4Joa5OOcwbmnX88sF5qbK3r3Ps=
github.com/getsentry/sentry-go v0.27.0/go.mod h1:lc76E2QywIyW8WuBnwl8Lc4bkmQH4+w1gwTf25trprY=
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
github.com/gibson042/canonicaljson-go v1.0.3 h1:EAyF8L74AWabkyUmrvEFHEt/AGFQeD6RfwbAuf0j1bI=
github.com/gibson042/canonicaljson-go v1.0.3/go.mod h1:DsLpJTThXyGNO+KZlI85C1/KDcImpP67k/RKVjcaEqo=
github.com/gin-contrib/cors v1.7.2 h1:oLDHxdg8W/XDoN/8zamqk/Drgt4oVZDvaV0YmvVICQw=
github.com/gin-contrib/cors v1.7.2/go.mod h1:SUJVARKgQ40dmrzgXEVxj2m7Ig1v1qIboQkPDTQ9t2E=
github.com/gin-contrib/expvar v0.0.1 h1:IuU5ArEgihz50vG8Onrwz22kJr7Mcvgv9xSSpfU5g+w=
Expand Down Expand Up @@ -1338,8 +1336,8 @@ github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250912190424-f
github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250912190424-fd2e35d7deb5/go.mod h1:Ve1xD71bl193YIZQEoJMmBqLGQJdNs29bwbuObwvbhQ=
github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20250912190424-fd2e35d7deb5 h1:Z4t2ZY+ZyGWxtcXvPr11y4o3CGqhg3frJB5jXkCSvWA=
github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20250912190424-fd2e35d7deb5/go.mod h1:xtZNi6pOKdC3sLvokDvXOhgHzT+cyBqH/gWwvxTxqrg=
github.com/smartcontractkit/chainlink-common v0.9.6-0.20251010135052-c1f318b35ed1 h1:CimNNbj4eI40CVpjKeEEw08Nn2qDjzl67RneQoepXME=
github.com/smartcontractkit/chainlink-common v0.9.6-0.20251010135052-c1f318b35ed1/go.mod h1:C2Cy1G4251MUntEQdi9Q2m80tl1j5aEGcNI3qaHpP7w=
github.com/smartcontractkit/chainlink-common v0.9.6-0.20251013174613-b1fd7ca40326 h1:aeqmsmqSU4FcFnyU9vY4SRhWyudq7wiEibhfi1RBWqI=
github.com/smartcontractkit/chainlink-common v0.9.6-0.20251013174613-b1fd7ca40326/go.mod h1:C2Cy1G4251MUntEQdi9Q2m80tl1j5aEGcNI3qaHpP7w=
github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.6 h1:INTd6uKc/QO11B0Vx7Ze17xgW3bqYbWuQcBQa9ixicQ=
github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.6/go.mod h1:eKGyfTKzr0/PeR7qKN4l2FcW9p+HzyKUwAfGhm/5YZc=
github.com/smartcontractkit/chainlink-common/pkg/monitoring v0.0.0-20250415235644-8703639403c7 h1:9wh1G+WbXwPVqf0cfSRSgwIcaXTQgvYezylEAfwmrbw=
Expand Down
5 changes: 2 additions & 3 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,12 @@ require (
github.com/gagliardetto/binary v0.8.0
github.com/gagliardetto/solana-go v1.13.0
github.com/getsentry/sentry-go v0.27.0
github.com/gibson042/canonicaljson-go v1.0.3
github.com/gin-contrib/cors v1.7.2
github.com/gin-contrib/expvar v0.0.1
github.com/gin-contrib/sessions v0.0.5
github.com/gin-contrib/size v0.0.0-20230212012657-e14a14094dc4
github.com/gin-gonic/gin v1.10.0
github.com/go-json-experiment/json v0.0.0-20250223041408-d3c622f1b874
github.com/go-ldap/ldap/v3 v3.4.6
github.com/go-viper/mapstructure/v2 v2.4.0
github.com/go-webauthn/webauthn v0.9.4
Expand Down Expand Up @@ -85,7 +85,7 @@ require (
github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20251009203201-900123a5c46a
github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250912190424-fd2e35d7deb5
github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20250912190424-fd2e35d7deb5
github.com/smartcontractkit/chainlink-common v0.9.6-0.20251010135052-c1f318b35ed1
github.com/smartcontractkit/chainlink-common v0.9.6-0.20251013174613-b1fd7ca40326
github.com/smartcontractkit/chainlink-data-streams v0.1.5
github.com/smartcontractkit/chainlink-evm v0.3.4-0.20251007172225-ba2f4b5ef962
github.com/smartcontractkit/chainlink-evm/gethwrappers v0.0.0-20251003185510-17234095940f
Expand Down Expand Up @@ -238,7 +238,6 @@ require (
github.com/gin-contrib/sse v0.1.0 // indirect
github.com/go-asn1-ber/asn1-ber v1.5.5 // indirect
github.com/go-jose/go-jose/v4 v4.0.5 // indirect
github.com/go-json-experiment/json v0.0.0-20250223041408-d3c622f1b874 // indirect
github.com/go-kit/kit v0.13.0 // indirect
github.com/go-kit/log v0.2.1 // indirect
github.com/go-logfmt/logfmt v0.6.0 // indirect
Expand Down
6 changes: 2 additions & 4 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -393,8 +393,6 @@ github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813/go.mod h1:P+oSoE9y
github.com/getsentry/sentry-go v0.27.0 h1:Pv98CIbtB3LkMWmXi4Joa5OOcwbmnX88sF5qbK3r3Ps=
github.com/getsentry/sentry-go v0.27.0/go.mod h1:lc76E2QywIyW8WuBnwl8Lc4bkmQH4+w1gwTf25trprY=
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
github.com/gibson042/canonicaljson-go v1.0.3 h1:EAyF8L74AWabkyUmrvEFHEt/AGFQeD6RfwbAuf0j1bI=
github.com/gibson042/canonicaljson-go v1.0.3/go.mod h1:DsLpJTThXyGNO+KZlI85C1/KDcImpP67k/RKVjcaEqo=
github.com/gin-contrib/cors v1.7.2 h1:oLDHxdg8W/XDoN/8zamqk/Drgt4oVZDvaV0YmvVICQw=
github.com/gin-contrib/cors v1.7.2/go.mod h1:SUJVARKgQ40dmrzgXEVxj2m7Ig1v1qIboQkPDTQ9t2E=
github.com/gin-contrib/expvar v0.0.1 h1:IuU5ArEgihz50vG8Onrwz22kJr7Mcvgv9xSSpfU5g+w=
Expand Down Expand Up @@ -1115,8 +1113,8 @@ github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250912190424-f
github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250912190424-fd2e35d7deb5/go.mod h1:Ve1xD71bl193YIZQEoJMmBqLGQJdNs29bwbuObwvbhQ=
github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20250912190424-fd2e35d7deb5 h1:Z4t2ZY+ZyGWxtcXvPr11y4o3CGqhg3frJB5jXkCSvWA=
github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20250912190424-fd2e35d7deb5/go.mod h1:xtZNi6pOKdC3sLvokDvXOhgHzT+cyBqH/gWwvxTxqrg=
github.com/smartcontractkit/chainlink-common v0.9.6-0.20251010135052-c1f318b35ed1 h1:CimNNbj4eI40CVpjKeEEw08Nn2qDjzl67RneQoepXME=
github.com/smartcontractkit/chainlink-common v0.9.6-0.20251010135052-c1f318b35ed1/go.mod h1:C2Cy1G4251MUntEQdi9Q2m80tl1j5aEGcNI3qaHpP7w=
github.com/smartcontractkit/chainlink-common v0.9.6-0.20251013174613-b1fd7ca40326 h1:aeqmsmqSU4FcFnyU9vY4SRhWyudq7wiEibhfi1RBWqI=
github.com/smartcontractkit/chainlink-common v0.9.6-0.20251013174613-b1fd7ca40326/go.mod h1:C2Cy1G4251MUntEQdi9Q2m80tl1j5aEGcNI3qaHpP7w=
github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.6 h1:INTd6uKc/QO11B0Vx7Ze17xgW3bqYbWuQcBQa9ixicQ=
github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.6/go.mod h1:eKGyfTKzr0/PeR7qKN4l2FcW9p+HzyKUwAfGhm/5YZc=
github.com/smartcontractkit/chainlink-common/pkg/monitoring v0.0.0-20250415235644-8703639403c7 h1:9wh1G+WbXwPVqf0cfSRSgwIcaXTQgvYezylEAfwmrbw=
Expand Down
Loading
Loading