From 78c9ecd946517d22908b4e5d678dcc3b541c78e8 Mon Sep 17 00:00:00 2001 From: Oliver Townsend Date: Mon, 15 Sep 2025 17:52:06 -0300 Subject: [PATCH 1/8] Bump cl-common import and update CCIPProvider creation --- cmd/chainlink-ton/lock.nix | 2 +- deployment/go.mod | 8 +++---- deployment/go.sum | 16 ++++++------- go.mod | 8 +++---- go.sum | 16 ++++++------- integration-tests/go.mod | 8 +++---- integration-tests/go.sum | 16 ++++++------- pkg/ccip/chainaccessor/ton_accessor.go | 15 ++++++++---- pkg/ccip/codec/executecodec.go | 4 ++-- pkg/ccip/codec/executecodec_test.go | 2 +- pkg/ccip/codec/msghasher.go | 4 ++-- pkg/ccip/codec/msghasher_test.go | 7 +++--- pkg/ccip/ocr/contract_transmitter.go | 3 ++- pkg/ccip/provider/provider.go | 33 +++++++++++++++----------- pkg/relay/relay.go | 11 +++++++-- scripts/.core_version | 2 +- 16 files changed, 88 insertions(+), 67 deletions(-) diff --git a/cmd/chainlink-ton/lock.nix b/cmd/chainlink-ton/lock.nix index 6098f6803..5d7f80974 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 `nix-lock-tidy` will only replace actual hashes. {pkgs}: { - chainlink-ton = "sha256-NVVBA3iQKCeJbm9r1ndPoD+SH2lZxhY1SiM5S0ElkAw="; + chainlink-ton = "sha256-u8GR1FCnDYy32On/hpVoMzuWrJuZO3Jmjh7TFmbV8kU="; } diff --git a/deployment/go.mod b/deployment/go.mod index fb48e3bd2..f4154feb8 100644 --- a/deployment/go.mod +++ b/deployment/go.mod @@ -13,8 +13,8 @@ require ( github.com/hashicorp/consul/sdk v0.16.2 github.com/rs/zerolog v1.33.0 github.com/smartcontractkit/chain-selectors v1.0.67 - github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250910210251-724af8ee41ad - github.com/smartcontractkit/chainlink-common v0.9.5-0.20250910201107-cb4c31b624d3 + github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250919012900-332dc2938bde + github.com/smartcontractkit/chainlink-common v0.9.6-0.20250924222346-3d1af8f11e88 github.com/smartcontractkit/chainlink-deployments-framework v0.42.0 github.com/smartcontractkit/chainlink-testing-framework/framework v0.10.23 github.com/smartcontractkit/chainlink-ton v0.0.0-20250904183752-4ea5c19ee886 @@ -174,8 +174,8 @@ require ( github.com/smartcontractkit/chainlink-aptos v0.0.0-20250818164129-fa2e60d95157 // indirect github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250805210128-7f8a0f403c3a // indirect github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20250805210128-7f8a0f403c3a // indirect - github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.1 // indirect - github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20250905211734-167560f092c1 // 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-protos/job-distributor v0.13.1 // indirect github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20250815105909-75499abc4335 // indirect github.com/smartcontractkit/freeport v0.1.3-0.20250716200817-cb5dfd0e369e // indirect diff --git a/deployment/go.sum b/deployment/go.sum index 35b913788..c5a15b323 100644 --- a/deployment/go.sum +++ b/deployment/go.sum @@ -613,20 +613,20 @@ github.com/smartcontractkit/chain-selectors v1.0.67 h1:gxTqP/JC40KDe3DE1SIsIKSTK github.com/smartcontractkit/chain-selectors v1.0.67/go.mod h1:xsKM0aN3YGcQKTPRPDDtPx2l4mlTN1Djmg0VVXV40b8= github.com/smartcontractkit/chainlink-aptos v0.0.0-20250818164129-fa2e60d95157 h1:jcDGTwLBDGwgBOYFf3FerTh8k2JPHApIg2UDiIKwZRE= github.com/smartcontractkit/chainlink-aptos v0.0.0-20250818164129-fa2e60d95157/go.mod h1:zNZ5rtLkbqsGCjDWb1y8n7BRk2zgflkzmj2GjnLnj08= -github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250910210251-724af8ee41ad h1:d5i6DP5kHf4fg/YLuwxwVQ2U10UON88B51dnYD5ClX0= -github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250910210251-724af8ee41ad/go.mod h1:4djmYiCYf9BfpNcuhANzh/umrMKfhOQRGfnk1ZnL5Io= +github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250919012900-332dc2938bde h1:Op+2l8VwEkWn6W9JnFRouZz4pWxhbOPUM+ig72ZIZJk= +github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250919012900-332dc2938bde/go.mod h1:VoU5lCstXyGCNMCKm6HRPUcL+AL4JOhPFdd1bfm4cWQ= github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250805210128-7f8a0f403c3a h1:kQ8Zs6OzXizScIK8PEb8THxDUziGttGT9D6tTTAwmZk= github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250805210128-7f8a0f403c3a/go.mod h1:Ve1xD71bl193YIZQEoJMmBqLGQJdNs29bwbuObwvbhQ= github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20250805210128-7f8a0f403c3a h1:38dAlTPRUQHZus5dCnBnQyf/V4oYn0p2svWlbPgHDQ4= github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20250805210128-7f8a0f403c3a/go.mod h1:xtZNi6pOKdC3sLvokDvXOhgHzT+cyBqH/gWwvxTxqrg= -github.com/smartcontractkit/chainlink-common v0.9.5-0.20250910201107-cb4c31b624d3 h1:dMvSvJ7nRAQViYSjdfj/vRGLULY7mJ3X4UgsPMmXgOI= -github.com/smartcontractkit/chainlink-common v0.9.5-0.20250910201107-cb4c31b624d3/go.mod h1:1diMLMwfIACeqJFt7ySGaBrJIeUwHTLhVVYlb41EyKk= -github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.1 h1:ca2z5OXgnbBPQRxpwXwBLJsUA1+cAp5ncfW4Ssvd6eY= -github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.1/go.mod h1:NZv/qKYGFRnkjOYBouajnDfFoZ+WDa6H2KNmSf1dnKc= +github.com/smartcontractkit/chainlink-common v0.9.6-0.20250924222346-3d1af8f11e88 h1:InzdBbD/UukRd6p7SCcR9KLE54eDZ33EnmcwYeIAsZw= +github.com/smartcontractkit/chainlink-common v0.9.6-0.20250924222346-3d1af8f11e88/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-deployments-framework v0.42.0 h1:48m4KU+gj9BzehxqKw+GOAwNDh0JxdOx9x3Zmummppo= github.com/smartcontractkit/chainlink-deployments-framework v0.42.0/go.mod h1:pbj+mMphYAKdgQ+oSy0FZN3236wxJnAxCnbgUXJZR8s= -github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20250905211734-167560f092c1 h1:HZt/80mhcNw6/MlYBIRracxfHWNqFF0iZ5nZEVZBUgo= -github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20250905211734-167560f092c1/go.mod h1:jUC52kZzEnWF9tddHh85zolKybmLpbQ1oNA4FjOHt1Q= +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/job-distributor v0.13.1 h1:PWwLGimBt37eDzpbfZ9V/ZkW4oCjcwKjKiAwKlSfPc0= github.com/smartcontractkit/chainlink-protos/job-distributor v0.13.1/go.mod h1:/dVVLXrsp+V0AbcYGJo3XMzKg3CkELsweA/TTopCsKE= github.com/smartcontractkit/chainlink-testing-framework/framework v0.10.23 h1:+L8R3Nn4ZadjGUDUr7HKVMt9I1vv5IS/IzUfQzyNvDw= diff --git a/go.mod b/go.mod index e7fb4098d..38dca3d4f 100644 --- a/go.mod +++ b/go.mod @@ -11,8 +11,8 @@ require ( github.com/gagliardetto/solana-go v1.13.0 github.com/pelletier/go-toml/v2 v2.2.4 github.com/smartcontractkit/chain-selectors v1.0.67 - github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250910210251-724af8ee41ad - github.com/smartcontractkit/chainlink-common v0.9.5-0.20250910201107-cb4c31b624d3 + github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250919012900-332dc2938bde + github.com/smartcontractkit/chainlink-common v0.9.6-0.20250924222346-3d1af8f11e88 github.com/smartcontractkit/libocr v0.0.0-20250905115425-2785a5cee79d github.com/stretchr/testify v1.10.0 github.com/xssnick/tonutils-go v1.14.1 @@ -93,8 +93,8 @@ 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.1 // indirect - github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20250905211734-167560f092c1 // 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/freeport v0.1.3-0.20250716200817-cb5dfd0e369e // indirect github.com/smartcontractkit/grpc-proxy v0.0.0-20240830132753-a7e17fec5ab7 // indirect github.com/streamingfast/logging v0.0.0-20230608130331-f22c91403091 // indirect diff --git a/go.sum b/go.sum index dd6d9084c..ee85b283b 100644 --- a/go.sum +++ b/go.sum @@ -304,14 +304,14 @@ github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMB github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/smartcontractkit/chain-selectors v1.0.67 h1:gxTqP/JC40KDe3DE1SIsIKSTKTZEPyEU1YufO1admnw= github.com/smartcontractkit/chain-selectors v1.0.67/go.mod h1:xsKM0aN3YGcQKTPRPDDtPx2l4mlTN1Djmg0VVXV40b8= -github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250910210251-724af8ee41ad h1:d5i6DP5kHf4fg/YLuwxwVQ2U10UON88B51dnYD5ClX0= -github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250910210251-724af8ee41ad/go.mod h1:4djmYiCYf9BfpNcuhANzh/umrMKfhOQRGfnk1ZnL5Io= -github.com/smartcontractkit/chainlink-common v0.9.5-0.20250910201107-cb4c31b624d3 h1:dMvSvJ7nRAQViYSjdfj/vRGLULY7mJ3X4UgsPMmXgOI= -github.com/smartcontractkit/chainlink-common v0.9.5-0.20250910201107-cb4c31b624d3/go.mod h1:1diMLMwfIACeqJFt7ySGaBrJIeUwHTLhVVYlb41EyKk= -github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.1 h1:ca2z5OXgnbBPQRxpwXwBLJsUA1+cAp5ncfW4Ssvd6eY= -github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.1/go.mod h1:NZv/qKYGFRnkjOYBouajnDfFoZ+WDa6H2KNmSf1dnKc= -github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20250905211734-167560f092c1 h1:HZt/80mhcNw6/MlYBIRracxfHWNqFF0iZ5nZEVZBUgo= -github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20250905211734-167560f092c1/go.mod h1:jUC52kZzEnWF9tddHh85zolKybmLpbQ1oNA4FjOHt1Q= +github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250919012900-332dc2938bde h1:Op+2l8VwEkWn6W9JnFRouZz4pWxhbOPUM+ig72ZIZJk= +github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250919012900-332dc2938bde/go.mod h1:VoU5lCstXyGCNMCKm6HRPUcL+AL4JOhPFdd1bfm4cWQ= +github.com/smartcontractkit/chainlink-common v0.9.6-0.20250924222346-3d1af8f11e88 h1:InzdBbD/UukRd6p7SCcR9KLE54eDZ33EnmcwYeIAsZw= +github.com/smartcontractkit/chainlink-common v0.9.6-0.20250924222346-3d1af8f11e88/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-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/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= diff --git a/integration-tests/go.mod b/integration-tests/go.mod index 704cfa0a6..eb1fcc30a 100644 --- a/integration-tests/go.mod +++ b/integration-tests/go.mod @@ -6,8 +6,8 @@ toolchain go1.24.6 require ( github.com/smartcontractkit/chain-selectors v1.0.67 - github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250910210251-724af8ee41ad - github.com/smartcontractkit/chainlink-common v0.9.5-0.20250910201107-cb4c31b624d3 + github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250919012900-332dc2938bde + github.com/smartcontractkit/chainlink-common v0.9.6-0.20250924222346-3d1af8f11e88 github.com/smartcontractkit/chainlink-deployments-framework v0.44.0 github.com/smartcontractkit/chainlink-ton v0.0.0-20250904183752-4ea5c19ee886 github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20250904183752-4ea5c19ee886 @@ -364,7 +364,7 @@ require ( github.com/smartcontractkit/chainlink-automation v0.8.1 // 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.1 // indirect + github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.4 // indirect github.com/smartcontractkit/chainlink-data-streams v0.1.2 // indirect github.com/smartcontractkit/chainlink-evm v0.3.4-0.20250909183314-c46f62fb74f6 // indirect github.com/smartcontractkit/chainlink-evm/gethwrappers v0.0.0-20250827130336-5922343458be // indirect @@ -374,7 +374,7 @@ require ( github.com/smartcontractkit/chainlink-framework/metrics v0.0.0-20250717121125-2350c82883e2 // indirect github.com/smartcontractkit/chainlink-framework/multinode v0.0.0-20250729142306-508e798f6a5d // indirect github.com/smartcontractkit/chainlink-protos/billing/go v0.0.0-20250722225531-876fd6b94976 // indirect - github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20250908151016-bf310cf85379 // indirect + github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20250911124514-5874cc6d62b2 // indirect github.com/smartcontractkit/chainlink-protos/job-distributor v0.13.1 // indirect github.com/smartcontractkit/chainlink-protos/orchestrator v0.10.0 // indirect github.com/smartcontractkit/chainlink-protos/rmn/v1.6/go v0.0.0-20250131130834-15e0d4cde2a6 // indirect diff --git a/integration-tests/go.sum b/integration-tests/go.sum index 9a5b2e2b0..19c97a64c 100644 --- a/integration-tests/go.sum +++ b/integration-tests/go.sum @@ -1254,16 +1254,16 @@ github.com/smartcontractkit/chainlink-aptos v0.0.0-20250905094443-ac02b032b32b h github.com/smartcontractkit/chainlink-aptos v0.0.0-20250905094443-ac02b032b32b/go.mod h1:zNZ5rtLkbqsGCjDWb1y8n7BRk2zgflkzmj2GjnLnj08= github.com/smartcontractkit/chainlink-automation v0.8.1 h1:sTc9LKpBvcKPc1JDYAmgBc2xpDKBco/Q4h4ydl6+UUU= github.com/smartcontractkit/chainlink-automation v0.8.1/go.mod h1:Iij36PvWZ6blrdC5A/nrQUBuf3MH3JvsBB9sSyc9W08= -github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250910210251-724af8ee41ad h1:d5i6DP5kHf4fg/YLuwxwVQ2U10UON88B51dnYD5ClX0= -github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250910210251-724af8ee41ad/go.mod h1:4djmYiCYf9BfpNcuhANzh/umrMKfhOQRGfnk1ZnL5Io= +github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250919012900-332dc2938bde h1:Op+2l8VwEkWn6W9JnFRouZz4pWxhbOPUM+ig72ZIZJk= +github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250919012900-332dc2938bde/go.mod h1:VoU5lCstXyGCNMCKm6HRPUcL+AL4JOhPFdd1bfm4cWQ= github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250908144012-8184001834b5 h1:GmJQqNrWn5pNc8YTei6l2TOSYjK2fRd4+edFZIifCrU= github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250908144012-8184001834b5/go.mod h1:Ve1xD71bl193YIZQEoJMmBqLGQJdNs29bwbuObwvbhQ= github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20250908144012-8184001834b5 h1:QhcYGEhRLInr1/qh/3RJiVdvJ0nxBHKhPe65WLbSBnU= github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20250908144012-8184001834b5/go.mod h1:xtZNi6pOKdC3sLvokDvXOhgHzT+cyBqH/gWwvxTxqrg= -github.com/smartcontractkit/chainlink-common v0.9.5-0.20250910201107-cb4c31b624d3 h1:dMvSvJ7nRAQViYSjdfj/vRGLULY7mJ3X4UgsPMmXgOI= -github.com/smartcontractkit/chainlink-common v0.9.5-0.20250910201107-cb4c31b624d3/go.mod h1:1diMLMwfIACeqJFt7ySGaBrJIeUwHTLhVVYlb41EyKk= -github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.1 h1:ca2z5OXgnbBPQRxpwXwBLJsUA1+cAp5ncfW4Ssvd6eY= -github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.1/go.mod h1:NZv/qKYGFRnkjOYBouajnDfFoZ+WDa6H2KNmSf1dnKc= +github.com/smartcontractkit/chainlink-common v0.9.6-0.20250924222346-3d1af8f11e88 h1:InzdBbD/UukRd6p7SCcR9KLE54eDZ33EnmcwYeIAsZw= +github.com/smartcontractkit/chainlink-common v0.9.6-0.20250924222346-3d1af8f11e88/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/pkg/monitoring v0.0.0-20250415235644-8703639403c7 h1:9wh1G+WbXwPVqf0cfSRSgwIcaXTQgvYezylEAfwmrbw= github.com/smartcontractkit/chainlink-common/pkg/monitoring v0.0.0-20250415235644-8703639403c7/go.mod h1:yaDOAZF6MNB+NGYpxGCUc+owIdKrjvFW0JODdTcQ3V0= github.com/smartcontractkit/chainlink-data-streams v0.1.2 h1:g/UmFJa/E1Zmc7NO20ob5SijxQen51DhnqTLr2f7BEc= @@ -1286,8 +1286,8 @@ github.com/smartcontractkit/chainlink-framework/multinode v0.0.0-20250729142306- github.com/smartcontractkit/chainlink-framework/multinode v0.0.0-20250729142306-508e798f6a5d/go.mod h1:2JTBNp3FlRdO/nHc4dsc9bfxxMClMO1Qt8sLJgtreBY= github.com/smartcontractkit/chainlink-protos/billing/go v0.0.0-20250722225531-876fd6b94976 h1:mF3FiDUoV0QbJcks9R2y7ydqntNL1Z0VCPBJgx/Ms+0= github.com/smartcontractkit/chainlink-protos/billing/go v0.0.0-20250722225531-876fd6b94976/go.mod h1:HHGeDUpAsPa0pmOx7wrByCitjQ0mbUxf0R9v+g67uCA= -github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20250908151016-bf310cf85379 h1:AeXgr3/rGqQr3XxA0oxdWlTFR1xbpmEkc6sa9Dh4p+w= -github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20250908151016-bf310cf85379/go.mod h1:jUC52kZzEnWF9tddHh85zolKybmLpbQ1oNA4FjOHt1Q= +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/job-distributor v0.13.1 h1:PWwLGimBt37eDzpbfZ9V/ZkW4oCjcwKjKiAwKlSfPc0= github.com/smartcontractkit/chainlink-protos/job-distributor v0.13.1/go.mod h1:/dVVLXrsp+V0AbcYGJo3XMzKg3CkELsweA/TTopCsKE= github.com/smartcontractkit/chainlink-protos/orchestrator v0.10.0 h1:0eroOyBwmdoGUwUdvMI0/J7m5wuzNnJDMglSOK1sfNY= diff --git a/pkg/ccip/chainaccessor/ton_accessor.go b/pkg/ccip/chainaccessor/ton_accessor.go index 1856431fd..174686a41 100644 --- a/pkg/ccip/chainaccessor/ton_accessor.go +++ b/pkg/ccip/chainaccessor/ton_accessor.go @@ -717,8 +717,7 @@ func (a *TONAccessor) GetFeedPricesUSD( func (a *TONAccessor) GetFeeQuoterTokenUpdates( ctx context.Context, - tokens []ccipocr3.UnknownEncodedAddress, - chain ccipocr3.ChainSelector, + tokens []ccipocr3.UnknownAddress, ) (map[ccipocr3.UnknownEncodedAddress]ccipocr3.TimestampedUnixBig, error) { addr, err := a.getBinding(consts.ContractNameFeeQuoter) if err != nil { @@ -733,7 +732,15 @@ func (a *TONAccessor) GetFeeQuoterTokenUpdates( encodedTokens := make([]any, 0, len(tokens)) for _, token := range tokens { - encodedTokens = append(encodedTokens, token) + strAddr, err2 := a.addrCodec.AddressBytesToString(token) + if err2 != nil { + return nil, fmt.Errorf("failed to AddressBytesToString for encodedTokens: %w", err2) + } + addrParsed, err2 := address.ParseAddr(strAddr) + if err2 != nil { + return nil, fmt.Errorf("failed to ParseAddr %s for encodedTokens: %w", strAddr, err2) + } + encodedTokens = append(encodedTokens, addrParsed) } result, err := a.client.RunGetMethod(ctx, block, addr, "tokenPrices", encodedTokens...) // result is a list of TimestampedPrice @@ -767,7 +774,7 @@ func (a *TONAccessor) GetFeeQuoterTokenUpdates( default: return nil, fmt.Errorf("expected either cell or nil, received %T", priceResult) } - prices[token] = price + prices[ccipocr3.UnknownEncodedAddress(token)] = price } return prices, nil } diff --git a/pkg/ccip/codec/executecodec.go b/pkg/ccip/codec/executecodec.go index d15d9e6a9..cd8ab800b 100644 --- a/pkg/ccip/codec/executecodec.go +++ b/pkg/ccip/codec/executecodec.go @@ -23,12 +23,12 @@ import ( // - "OffRamp 1.6.0-dev" type executePluginCodecV1 struct { addressCodec ccipocr3.ChainSpecificAddressCodec - extraDataCodec ccipocr3.ExtraDataCodec + extraDataCodec ccipocr3.ExtraDataCodecBundle } var _ ccipocr3.ExecutePluginCodec = &executePluginCodecV1{} -func NewExecutePluginCodecV1(extraDataCodec ccipocr3.ExtraDataCodec) ccipocr3.ExecutePluginCodec { +func NewExecutePluginCodecV1(extraDataCodec ccipocr3.ExtraDataCodecBundle) ccipocr3.ExecutePluginCodec { return &executePluginCodecV1{ addressCodec: NewAddressCodec(), extraDataCodec: extraDataCodec, diff --git a/pkg/ccip/codec/executecodec_test.go b/pkg/ccip/codec/executecodec_test.go index b81cb82ec..b0f26a9b3 100644 --- a/pkg/ccip/codec/executecodec_test.go +++ b/pkg/ccip/codec/executecodec_test.go @@ -78,7 +78,7 @@ func randomTONExecuteReport(t *testing.T, sourceChainSelector uint64) ccipocr3.E func TestExecutePluginCodecV1_TON(t *testing.T) { ctx := context.Background() mockExtraDataCodec := new(mocks.SourceChainExtraDataCodec) - edc := ccipocr3.ExtraDataCodec(map[string]ccipocr3.SourceChainExtraDataCodec{ + edc := ccipocr3.ExtraDataCodecMap(map[string]ccipocr3.SourceChainExtraDataCodec{ chainsel.FamilyEVM: mockExtraDataCodec, chainsel.FamilySolana: mockExtraDataCodec, chainsel.FamilyTon: mockExtraDataCodec, diff --git a/pkg/ccip/codec/msghasher.go b/pkg/ccip/codec/msghasher.go index ad7225322..ccb278c27 100644 --- a/pkg/ccip/codec/msghasher.go +++ b/pkg/ccip/codec/msghasher.go @@ -21,10 +21,10 @@ var LeafDomainSeparator [32]byte type messageHasherV1 struct { lggr logger.Logger addrCodec addressCodec - extraDataCodec ccipocr3.ExtraDataCodec + extraDataCodec ccipocr3.ExtraDataCodecBundle } -func NewMessageHasherV1(lg logger.Logger, extraDataCodec ccipocr3.ExtraDataCodec) ccipocr3.MessageHasher { +func NewMessageHasherV1(lg logger.Logger, extraDataCodec ccipocr3.ExtraDataCodecBundle) ccipocr3.MessageHasher { return messageHasherV1{ lggr: lg, extraDataCodec: extraDataCodec, diff --git a/pkg/ccip/codec/msghasher_test.go b/pkg/ccip/codec/msghasher_test.go index c062d45aa..ac1607c7a 100644 --- a/pkg/ccip/codec/msghasher_test.go +++ b/pkg/ccip/codec/msghasher_test.go @@ -13,6 +13,7 @@ import ( "github.com/xssnick/tonutils-go/address" chainsel "github.com/smartcontractkit/chain-selectors" + "github.com/smartcontractkit/chainlink-common/pkg/logger" "github.com/smartcontractkit/chainlink-common/pkg/types/ccipocr3" @@ -28,7 +29,7 @@ func randomTONMessage(t *testing.T, sourceChainSelector uint64) ccipocr3.Message func TestMessageHasherV1_TON(t *testing.T) { ctx := context.Background() mockExtraDataCodec := new(mocks.SourceChainExtraDataCodec) - edc := ccipocr3.ExtraDataCodec(map[string]ccipocr3.SourceChainExtraDataCodec{ + edc := ccipocr3.ExtraDataCodecMap(map[string]ccipocr3.SourceChainExtraDataCodec{ chainsel.FamilyEVM: mockExtraDataCodec, }) @@ -129,7 +130,7 @@ func TestMessageHasherV1_TON(t *testing.T) { func TestMessageHasherV1_ErrorCases(t *testing.T) { ctx := context.Background() mockExtraDataCodec := new(mocks.SourceChainExtraDataCodec) - edc := ccipocr3.ExtraDataCodec(map[string]ccipocr3.SourceChainExtraDataCodec{}) + edc := ccipocr3.ExtraDataCodecMap(map[string]ccipocr3.SourceChainExtraDataCodec{}) lg := logger.Test(t) hasher := NewMessageHasherV1(lg, edc) @@ -160,7 +161,7 @@ func TestMessageHasherV1_CrossLanguageCompatibility(t *testing.T) { // Right now the hash from ts and gobinding Any2TVMRamp message generates different msg hash. Need to fix it before running this test ctx := context.Background() mockExtraDataCodec := new(mocks.SourceChainExtraDataCodec) - edc := ccipocr3.ExtraDataCodec(map[string]ccipocr3.SourceChainExtraDataCodec{ + edc := ccipocr3.ExtraDataCodecMap(map[string]ccipocr3.SourceChainExtraDataCodec{ chainsel.FamilyEVM: mockExtraDataCodec, }) diff --git a/pkg/ccip/ocr/contract_transmitter.go b/pkg/ccip/ocr/contract_transmitter.go index 84e432b98..2aac68b55 100644 --- a/pkg/ccip/ocr/contract_transmitter.go +++ b/pkg/ccip/ocr/contract_transmitter.go @@ -7,11 +7,12 @@ import ( "errors" "fmt" - "github.com/smartcontractkit/chainlink-common/pkg/logger" "github.com/smartcontractkit/libocr/offchainreporting2/types" "github.com/smartcontractkit/libocr/offchainreporting2plus/ocr3types" ocrtypes "github.com/smartcontractkit/libocr/offchainreporting2plus/types" + "github.com/smartcontractkit/chainlink-common/pkg/logger" + "github.com/smartcontractkit/chainlink-ton/pkg/ccip/bindings/common" "github.com/smartcontractkit/chainlink-ton/pkg/ccip/bindings/ocr" "github.com/smartcontractkit/chainlink-ton/pkg/ccip/bindings/offramp" diff --git a/pkg/ccip/provider/provider.go b/pkg/ccip/provider/provider.go index 5ac99f377..af2f72d0a 100644 --- a/pkg/ccip/provider/provider.go +++ b/pkg/ccip/provider/provider.go @@ -5,12 +5,13 @@ import ( "fmt" "sync" + "github.com/smartcontractkit/libocr/offchainreporting2plus/ocr3types" + "github.com/xssnick/tonutils-go/ton" + "github.com/smartcontractkit/chainlink-common/pkg/logger" "github.com/smartcontractkit/chainlink-common/pkg/services" commontypes "github.com/smartcontractkit/chainlink-common/pkg/types" "github.com/smartcontractkit/chainlink-common/pkg/types/ccipocr3" - "github.com/smartcontractkit/libocr/offchainreporting2plus/ocr3types" - "github.com/xssnick/tonutils-go/ton" "github.com/smartcontractkit/chainlink-ton/pkg/ccip/chainaccessor" "github.com/smartcontractkit/chainlink-ton/pkg/ccip/codec" @@ -37,37 +38,41 @@ type Provider struct { services.StateMachine } -func NewCCIPProvider(lggr logger.Logger, +func NewCCIPProvider( + lggr logger.Logger, chainSelector ccipocr3.ChainSelector, client ton.APIClientWrapped, txm txm.TxManager, logPoller logpoller.Service, - offRampAddr string, - pluginType uint32) (*Provider, error) { - var err error + cargs commontypes.CCIPProviderArgs, +) (*Provider, error) { + addressCodec := codec.NewAddressCodec() + offRampAddrStr, err := addressCodec.AddressBytesToString(cargs.OffRampAddress) + if err != nil { + return nil, fmt.Errorf("failed to decode offRamp address: %w", err) + } + var ct ocr3types.ContractTransmitter[[]byte] - switch pluginType { + switch cargs.PluginType { case CCIPPluginTypeCommit: - ct, err = ocr.NewCCIPTransmitter(txm, lggr, offRampAddr, ocr.CommitCallData) + ct, err = ocr.NewCCIPTransmitter(txm, lggr, offRampAddrStr, ocr.CommitCallData) if err != nil { return nil, fmt.Errorf("failed to create a CCIP ContractTransmitter for commit plugin: %w", err) } case CCIPPluginTypeExecute: - ct, err = ocr.NewCCIPTransmitter(txm, lggr, offRampAddr, ocr.ExecuteCallData) + ct, err = ocr.NewCCIPTransmitter(txm, lggr, offRampAddrStr, ocr.ExecuteCallData) if err != nil { return nil, fmt.Errorf("failed to create a CCIP ContractTransmitter for execute plugin: %w", err) } default: - return nil, fmt.Errorf("unknown plugin type: %d", pluginType) + return nil, fmt.Errorf("unknown plugin type: %d", cargs.PluginType) } - // TODO this is pretty much ignored in the core, we need to redesign core to resolve the extraDataCodec map issue if we want to use - // this codec c := ccipocr3.Codec{ - ChainSpecificAddressCodec: codec.NewAddressCodec(), + ChainSpecificAddressCodec: addressCodec, CommitPluginCodec: codec.NewCommitPluginCodecV1(), - ExecutePluginCodec: codec.NewExecutePluginCodecV1(nil), // TODO extraDataCodec map can't be empty + ExecutePluginCodec: codec.NewExecutePluginCodecV1(cargs.ExtraDataCodecBundle), TokenDataEncoder: codec.NewTokenDataEncoder(), SourceChainExtraDataCodec: codec.NewExtraDataDecoder(), } diff --git a/pkg/relay/relay.go b/pkg/relay/relay.go index e929ce6bd..00f1ca115 100644 --- a/pkg/relay/relay.go +++ b/pkg/relay/relay.go @@ -114,7 +114,7 @@ func (r *Relayer) TON() (commontypes.TONService, error) { return &r.tonService, nil } -func (r *Relayer) NewCCIPProvider(ctx context.Context, rargs commontypes.CCIPProviderArgs) (commontypes.CCIPProvider, error) { +func (r *Relayer) NewCCIPProvider(ctx context.Context, cargs commontypes.CCIPProviderArgs) (commontypes.CCIPProvider, error) { // TODO: store chainSelector within Chain chainID, err := strconv.ParseInt(r.chain.ID(), 10, 16) if err != nil { @@ -133,5 +133,12 @@ func (r *Relayer) NewCCIPProvider(ctx context.Context, rargs commontypes.CCIPPro } // TODO: check if rargs.ContractID is offramp address ? - return provider.NewCCIPProvider(r.lggr, ccipocr3.ChainSelector(chainSelector), client, r.chain.TxManager(), r.chain.LogPoller(), rargs.OffRampAddress, rargs.PluginType) + return provider.NewCCIPProvider( + r.lggr, + ccipocr3.ChainSelector(chainSelector), + client, + r.chain.TxManager(), + r.chain.LogPoller(), + cargs, + ) } diff --git a/scripts/.core_version b/scripts/.core_version index 66cfd0da3..f2c3beb15 100644 --- a/scripts/.core_version +++ b/scripts/.core_version @@ -1 +1 @@ -77192d2721035b159f3cf46875445bf825971f73 +0eb541a9e3bfcf7c201709b881dc8676fe6d571a From 487ff38b6b56fbf0b37eb3585b734330758a0252 Mon Sep 17 00:00:00 2001 From: Jonghyeon Park Date: Mon, 29 Sep 2025 22:29:56 +0100 Subject: [PATCH 2/8] fix: evm offramp in ton provider (#225) --- pkg/ccip/provider/provider.go | 27 ++++++++++++++++++++++++--- scripts/.core_version | 2 +- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/pkg/ccip/provider/provider.go b/pkg/ccip/provider/provider.go index af2f72d0a..d2e0acb7a 100644 --- a/pkg/ccip/provider/provider.go +++ b/pkg/ccip/provider/provider.go @@ -6,6 +6,7 @@ import ( "sync" "github.com/smartcontractkit/libocr/offchainreporting2plus/ocr3types" + "github.com/xssnick/tonutils-go/address" "github.com/xssnick/tonutils-go/ton" "github.com/smartcontractkit/chainlink-common/pkg/logger" @@ -46,10 +47,30 @@ func NewCCIPProvider( logPoller logpoller.Service, cargs commontypes.CCIPProviderArgs, ) (*Provider, error) { + // TODO: clean up, too verbose + lggr.Info("Creating TON CCIPProvider", "chainSelector", chainSelector, "pluginType", cargs.PluginType, "offRampAddress", cargs.OffRampAddress) + + // Validate offramp address addressCodec := codec.NewAddressCodec() - offRampAddrStr, err := addressCodec.AddressBytesToString(cargs.OffRampAddress) - if err != nil { - return nil, fmt.Errorf("failed to decode offRamp address: %w", err) + var offRampAddrStr string + var err error + + // NOTE: provider can still be initialized with an EVM offramp address, and AddressBytesToString will fail on addresses with len=20 + // technically we only need the chainwriter to do fee estimation so this doesn't matter and we can use a zero address + // TODO: Should we even build the rest of the provider? Or just initialize the accessor with just the estimator. + if len(cargs.OffRampAddress) == 36 { + offRampAddrStr, err = addressCodec.AddressBytesToString(cargs.OffRampAddress) + if err != nil { + return nil, fmt.Errorf("failed to decode TON offRamp address: %w", err) + } + } else { + // TODO: clean up, too verbose + // EVM address provided - use zero address as placeholder + lggr.Warnw("EVM offramp address provided to TON provider, using zero address placeholder", + "providedLength", len(cargs.OffRampAddress), + "expectedLength", 36) + // Use a zero TON address as placeholder + offRampAddrStr = address.MustParseRawAddr("0:0000000000000000000000000000000000000000000000000000000000000000").String() } var ct ocr3types.ContractTransmitter[[]byte] diff --git a/scripts/.core_version b/scripts/.core_version index f2c3beb15..e3e58a63b 100644 --- a/scripts/.core_version +++ b/scripts/.core_version @@ -1 +1 @@ -0eb541a9e3bfcf7c201709b881dc8676fe6d571a +ogt/ccip-add-extradatacodec-registry-oracle-creator-v3 From 5a7f4e4ef952b20da2bb0784a7285c6abc4323a4 Mon Sep 17 00:00:00 2001 From: Oliver Townsend Date: Mon, 29 Sep 2025 14:50:44 -0700 Subject: [PATCH 3/8] use const for addr len --- pkg/ccip/codec/addresscodec.go | 16 ++++++++++++---- pkg/ccip/provider/provider.go | 7 +++---- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/pkg/ccip/codec/addresscodec.go b/pkg/ccip/codec/addresscodec.go index 3cab79f5d..0d39a2615 100644 --- a/pkg/ccip/codec/addresscodec.go +++ b/pkg/ccip/codec/addresscodec.go @@ -5,8 +5,9 @@ import ( "encoding/hex" "fmt" - "github.com/smartcontractkit/chainlink-common/pkg/types/ccipocr3" "github.com/xssnick/tonutils-go/address" + + "github.com/smartcontractkit/chainlink-common/pkg/types/ccipocr3" ) type addressCodec struct{} @@ -19,8 +20,15 @@ var _ ccipocr3.ChainSpecificAddressCodec = &addressCodec{} // For correctness *address.Address should always be compared using .Equals() since user-friendly addresses can represent // the same address with different flags. +const ( + TONAddressLength = 36 + TONZeroAddressStr = "0:0000000000000000000000000000000000000000000000000000000000000000" +) + +var TONZeroAddress = address.MustParseRawAddr(TONZeroAddressStr) + // RawAddr is a fixed-size byte array representing a TON standard address -type RawAddr [36]byte +type RawAddr [TONAddressLength]byte // ToRawAddr converts an address.Address to a RawAddr. func ToRawAddr(addr *address.Address) (rawAddress RawAddr) { @@ -35,8 +43,8 @@ func NewAddressCodec() ccipocr3.ChainSpecificAddressCodec { // AddressBytesToString converts a byte slice representing a TON address into its string representation, only supporting standard TON addresses. func (a addressCodec) AddressBytesToString(bytes []byte) (string, error) { - if len(bytes) != 36 { - return "", fmt.Errorf("invalid address length: expected 36 bytes, got %d", len(bytes)) + if len(bytes) != TONAddressLength { + return "", fmt.Errorf("invalid address length: expected %d bytes, got %d", TONAddressLength, len(bytes)) } var rawAddr RawAddr copy(rawAddr[:], bytes) diff --git a/pkg/ccip/provider/provider.go b/pkg/ccip/provider/provider.go index d2e0acb7a..9c74b38d4 100644 --- a/pkg/ccip/provider/provider.go +++ b/pkg/ccip/provider/provider.go @@ -6,7 +6,6 @@ import ( "sync" "github.com/smartcontractkit/libocr/offchainreporting2plus/ocr3types" - "github.com/xssnick/tonutils-go/address" "github.com/xssnick/tonutils-go/ton" "github.com/smartcontractkit/chainlink-common/pkg/logger" @@ -58,7 +57,7 @@ func NewCCIPProvider( // NOTE: provider can still be initialized with an EVM offramp address, and AddressBytesToString will fail on addresses with len=20 // technically we only need the chainwriter to do fee estimation so this doesn't matter and we can use a zero address // TODO: Should we even build the rest of the provider? Or just initialize the accessor with just the estimator. - if len(cargs.OffRampAddress) == 36 { + if len(cargs.OffRampAddress) == codec.TONAddressLength { offRampAddrStr, err = addressCodec.AddressBytesToString(cargs.OffRampAddress) if err != nil { return nil, fmt.Errorf("failed to decode TON offRamp address: %w", err) @@ -68,9 +67,9 @@ func NewCCIPProvider( // EVM address provided - use zero address as placeholder lggr.Warnw("EVM offramp address provided to TON provider, using zero address placeholder", "providedLength", len(cargs.OffRampAddress), - "expectedLength", 36) + "expectedLength", codec.TONAddressLength) // Use a zero TON address as placeholder - offRampAddrStr = address.MustParseRawAddr("0:0000000000000000000000000000000000000000000000000000000000000000").String() + offRampAddrStr = codec.TONZeroAddressStr } var ct ocr3types.ContractTransmitter[[]byte] From 738f0ad36210c862b33f379327686e39aedd4306 Mon Sep 17 00:00:00 2001 From: Oliver Townsend Date: Tue, 30 Sep 2025 11:53:41 -0700 Subject: [PATCH 4/8] bump cl-common --- deployment/go.mod | 2 +- deployment/go.sum | 4 ++-- go.mod | 2 +- go.sum | 4 ++-- integration-tests/go.mod | 2 +- integration-tests/go.sum | 4 ++-- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/deployment/go.mod b/deployment/go.mod index f4154feb8..9b736c592 100644 --- a/deployment/go.mod +++ b/deployment/go.mod @@ -14,7 +14,7 @@ require ( github.com/rs/zerolog v1.33.0 github.com/smartcontractkit/chain-selectors v1.0.67 github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250919012900-332dc2938bde - github.com/smartcontractkit/chainlink-common v0.9.6-0.20250924222346-3d1af8f11e88 + github.com/smartcontractkit/chainlink-common v0.9.6-0.20250929154511-1f5fbda7ae76 github.com/smartcontractkit/chainlink-deployments-framework v0.42.0 github.com/smartcontractkit/chainlink-testing-framework/framework v0.10.23 github.com/smartcontractkit/chainlink-ton v0.0.0-20250904183752-4ea5c19ee886 diff --git a/deployment/go.sum b/deployment/go.sum index c5a15b323..f1d733321 100644 --- a/deployment/go.sum +++ b/deployment/go.sum @@ -619,8 +619,8 @@ github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250805210128-7 github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250805210128-7f8a0f403c3a/go.mod h1:Ve1xD71bl193YIZQEoJMmBqLGQJdNs29bwbuObwvbhQ= github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20250805210128-7f8a0f403c3a h1:38dAlTPRUQHZus5dCnBnQyf/V4oYn0p2svWlbPgHDQ4= github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20250805210128-7f8a0f403c3a/go.mod h1:xtZNi6pOKdC3sLvokDvXOhgHzT+cyBqH/gWwvxTxqrg= -github.com/smartcontractkit/chainlink-common v0.9.6-0.20250924222346-3d1af8f11e88 h1:InzdBbD/UukRd6p7SCcR9KLE54eDZ33EnmcwYeIAsZw= -github.com/smartcontractkit/chainlink-common v0.9.6-0.20250924222346-3d1af8f11e88/go.mod h1:1r3aM96KHAESfnayJ3BTHCkP1qJS1BEG1r4czeoaXlA= +github.com/smartcontractkit/chainlink-common v0.9.6-0.20250929154511-1f5fbda7ae76 h1:Slnws8RoXRUYGgEMYK6X2yYzjZwNgVb93PxU45VEObQ= +github.com/smartcontractkit/chainlink-common v0.9.6-0.20250929154511-1f5fbda7ae76/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-deployments-framework v0.42.0 h1:48m4KU+gj9BzehxqKw+GOAwNDh0JxdOx9x3Zmummppo= diff --git a/go.mod b/go.mod index 38dca3d4f..3e604d797 100644 --- a/go.mod +++ b/go.mod @@ -12,7 +12,7 @@ require ( github.com/pelletier/go-toml/v2 v2.2.4 github.com/smartcontractkit/chain-selectors v1.0.67 github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250919012900-332dc2938bde - github.com/smartcontractkit/chainlink-common v0.9.6-0.20250924222346-3d1af8f11e88 + github.com/smartcontractkit/chainlink-common v0.9.6-0.20250929154511-1f5fbda7ae76 github.com/smartcontractkit/libocr v0.0.0-20250905115425-2785a5cee79d github.com/stretchr/testify v1.10.0 github.com/xssnick/tonutils-go v1.14.1 diff --git a/go.sum b/go.sum index ee85b283b..d03c14782 100644 --- a/go.sum +++ b/go.sum @@ -306,8 +306,8 @@ github.com/smartcontractkit/chain-selectors v1.0.67 h1:gxTqP/JC40KDe3DE1SIsIKSTK github.com/smartcontractkit/chain-selectors v1.0.67/go.mod h1:xsKM0aN3YGcQKTPRPDDtPx2l4mlTN1Djmg0VVXV40b8= github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250919012900-332dc2938bde h1:Op+2l8VwEkWn6W9JnFRouZz4pWxhbOPUM+ig72ZIZJk= github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250919012900-332dc2938bde/go.mod h1:VoU5lCstXyGCNMCKm6HRPUcL+AL4JOhPFdd1bfm4cWQ= -github.com/smartcontractkit/chainlink-common v0.9.6-0.20250924222346-3d1af8f11e88 h1:InzdBbD/UukRd6p7SCcR9KLE54eDZ33EnmcwYeIAsZw= -github.com/smartcontractkit/chainlink-common v0.9.6-0.20250924222346-3d1af8f11e88/go.mod h1:1r3aM96KHAESfnayJ3BTHCkP1qJS1BEG1r4czeoaXlA= +github.com/smartcontractkit/chainlink-common v0.9.6-0.20250929154511-1f5fbda7ae76 h1:Slnws8RoXRUYGgEMYK6X2yYzjZwNgVb93PxU45VEObQ= +github.com/smartcontractkit/chainlink-common v0.9.6-0.20250929154511-1f5fbda7ae76/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-protos/cre/go v0.0.0-20250911124514-5874cc6d62b2 h1:1/KdO5AbUr3CmpLjMPuJXPo2wHMbfB8mldKLsg7D4M8= diff --git a/integration-tests/go.mod b/integration-tests/go.mod index eb1fcc30a..9fdf39fa4 100644 --- a/integration-tests/go.mod +++ b/integration-tests/go.mod @@ -7,7 +7,7 @@ toolchain go1.24.6 require ( github.com/smartcontractkit/chain-selectors v1.0.67 github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250919012900-332dc2938bde - github.com/smartcontractkit/chainlink-common v0.9.6-0.20250924222346-3d1af8f11e88 + github.com/smartcontractkit/chainlink-common v0.9.6-0.20250929154511-1f5fbda7ae76 github.com/smartcontractkit/chainlink-deployments-framework v0.44.0 github.com/smartcontractkit/chainlink-ton v0.0.0-20250904183752-4ea5c19ee886 github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20250904183752-4ea5c19ee886 diff --git a/integration-tests/go.sum b/integration-tests/go.sum index 19c97a64c..d2b2580a1 100644 --- a/integration-tests/go.sum +++ b/integration-tests/go.sum @@ -1260,8 +1260,8 @@ github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250908144012-8 github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250908144012-8184001834b5/go.mod h1:Ve1xD71bl193YIZQEoJMmBqLGQJdNs29bwbuObwvbhQ= github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20250908144012-8184001834b5 h1:QhcYGEhRLInr1/qh/3RJiVdvJ0nxBHKhPe65WLbSBnU= github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20250908144012-8184001834b5/go.mod h1:xtZNi6pOKdC3sLvokDvXOhgHzT+cyBqH/gWwvxTxqrg= -github.com/smartcontractkit/chainlink-common v0.9.6-0.20250924222346-3d1af8f11e88 h1:InzdBbD/UukRd6p7SCcR9KLE54eDZ33EnmcwYeIAsZw= -github.com/smartcontractkit/chainlink-common v0.9.6-0.20250924222346-3d1af8f11e88/go.mod h1:1r3aM96KHAESfnayJ3BTHCkP1qJS1BEG1r4czeoaXlA= +github.com/smartcontractkit/chainlink-common v0.9.6-0.20250929154511-1f5fbda7ae76 h1:Slnws8RoXRUYGgEMYK6X2yYzjZwNgVb93PxU45VEObQ= +github.com/smartcontractkit/chainlink-common v0.9.6-0.20250929154511-1f5fbda7ae76/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/pkg/monitoring v0.0.0-20250415235644-8703639403c7 h1:9wh1G+WbXwPVqf0cfSRSgwIcaXTQgvYezylEAfwmrbw= From 34e3e1e017f348e6e295807df1661323e2971e91 Mon Sep 17 00:00:00 2001 From: Oliver Townsend Date: Tue, 30 Sep 2025 12:57:04 -0700 Subject: [PATCH 5/8] update vendor hash --- cmd/chainlink-ton/lock.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/chainlink-ton/lock.nix b/cmd/chainlink-ton/lock.nix index 5d7f80974..15fd776aa 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 `nix-lock-tidy` will only replace actual hashes. {pkgs}: { - chainlink-ton = "sha256-u8GR1FCnDYy32On/hpVoMzuWrJuZO3Jmjh7TFmbV8kU="; + chainlink-ton = "sha256-+0xVHDZIh/KjZv3R1fk1cPb/DXEmW3GW8NYEF0FCzKU="; } From 5f88f186f1dac47ca636719c7c1f08158b835193 Mon Sep 17 00:00:00 2001 From: Oliver Townsend Date: Tue, 30 Sep 2025 13:04:54 -0700 Subject: [PATCH 6/8] update core version ref --- scripts/.core_version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/.core_version b/scripts/.core_version index e3e58a63b..b1d14748f 100644 --- a/scripts/.core_version +++ b/scripts/.core_version @@ -1 +1 @@ -ogt/ccip-add-extradatacodec-registry-oracle-creator-v3 +0baca40da5ba0ad76ff942fbdd806ed947bcac7e From 8caef18ac510f67de6ac561e131cd1de96a5198e Mon Sep 17 00:00:00 2001 From: Oliver Townsend Date: Tue, 30 Sep 2025 14:10:14 -0700 Subject: [PATCH 7/8] bump cl-ccip with main tag --- cmd/chainlink-ton/lock.nix | 2 +- deployment/go.mod | 2 +- deployment/go.sum | 4 ++-- go.mod | 2 +- go.sum | 4 ++-- integration-tests/go.mod | 2 +- integration-tests/go.sum | 4 ++-- 7 files changed, 10 insertions(+), 10 deletions(-) diff --git a/cmd/chainlink-ton/lock.nix b/cmd/chainlink-ton/lock.nix index 15fd776aa..f799c9d4c 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 `nix-lock-tidy` will only replace actual hashes. {pkgs}: { - chainlink-ton = "sha256-+0xVHDZIh/KjZv3R1fk1cPb/DXEmW3GW8NYEF0FCzKU="; + chainlink-ton = "sha256-chHJ7gzhbzhtBGDxFnq3cGntacHYksVsktF9a+/zCXc="; } diff --git a/deployment/go.mod b/deployment/go.mod index 9b736c592..b1048e94c 100644 --- a/deployment/go.mod +++ b/deployment/go.mod @@ -13,7 +13,7 @@ require ( github.com/hashicorp/consul/sdk v0.16.2 github.com/rs/zerolog v1.33.0 github.com/smartcontractkit/chain-selectors v1.0.67 - github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250919012900-332dc2938bde + github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250930202440-88c08e65d960 github.com/smartcontractkit/chainlink-common v0.9.6-0.20250929154511-1f5fbda7ae76 github.com/smartcontractkit/chainlink-deployments-framework v0.42.0 github.com/smartcontractkit/chainlink-testing-framework/framework v0.10.23 diff --git a/deployment/go.sum b/deployment/go.sum index f1d733321..e4f9fe51b 100644 --- a/deployment/go.sum +++ b/deployment/go.sum @@ -613,8 +613,8 @@ github.com/smartcontractkit/chain-selectors v1.0.67 h1:gxTqP/JC40KDe3DE1SIsIKSTK github.com/smartcontractkit/chain-selectors v1.0.67/go.mod h1:xsKM0aN3YGcQKTPRPDDtPx2l4mlTN1Djmg0VVXV40b8= github.com/smartcontractkit/chainlink-aptos v0.0.0-20250818164129-fa2e60d95157 h1:jcDGTwLBDGwgBOYFf3FerTh8k2JPHApIg2UDiIKwZRE= github.com/smartcontractkit/chainlink-aptos v0.0.0-20250818164129-fa2e60d95157/go.mod h1:zNZ5rtLkbqsGCjDWb1y8n7BRk2zgflkzmj2GjnLnj08= -github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250919012900-332dc2938bde h1:Op+2l8VwEkWn6W9JnFRouZz4pWxhbOPUM+ig72ZIZJk= -github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250919012900-332dc2938bde/go.mod h1:VoU5lCstXyGCNMCKm6HRPUcL+AL4JOhPFdd1bfm4cWQ= +github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250930202440-88c08e65d960 h1:Lz2/FNeODZr7YGY6uOPf2n87o0rrKfsNxr5Bx6VcQ7I= +github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250930202440-88c08e65d960/go.mod h1:W3d6TbZ4PNLGb8QOK8URc/tVWBhnAOwtAYsQ2iPgwtw= github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250805210128-7f8a0f403c3a h1:kQ8Zs6OzXizScIK8PEb8THxDUziGttGT9D6tTTAwmZk= github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250805210128-7f8a0f403c3a/go.mod h1:Ve1xD71bl193YIZQEoJMmBqLGQJdNs29bwbuObwvbhQ= github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20250805210128-7f8a0f403c3a h1:38dAlTPRUQHZus5dCnBnQyf/V4oYn0p2svWlbPgHDQ4= diff --git a/go.mod b/go.mod index 3e604d797..aaf3773ca 100644 --- a/go.mod +++ b/go.mod @@ -11,7 +11,7 @@ require ( github.com/gagliardetto/solana-go v1.13.0 github.com/pelletier/go-toml/v2 v2.2.4 github.com/smartcontractkit/chain-selectors v1.0.67 - github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250919012900-332dc2938bde + github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250930202440-88c08e65d960 github.com/smartcontractkit/chainlink-common v0.9.6-0.20250929154511-1f5fbda7ae76 github.com/smartcontractkit/libocr v0.0.0-20250905115425-2785a5cee79d github.com/stretchr/testify v1.10.0 diff --git a/go.sum b/go.sum index d03c14782..e946c0c0c 100644 --- a/go.sum +++ b/go.sum @@ -304,8 +304,8 @@ github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMB github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/smartcontractkit/chain-selectors v1.0.67 h1:gxTqP/JC40KDe3DE1SIsIKSTKTZEPyEU1YufO1admnw= github.com/smartcontractkit/chain-selectors v1.0.67/go.mod h1:xsKM0aN3YGcQKTPRPDDtPx2l4mlTN1Djmg0VVXV40b8= -github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250919012900-332dc2938bde h1:Op+2l8VwEkWn6W9JnFRouZz4pWxhbOPUM+ig72ZIZJk= -github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250919012900-332dc2938bde/go.mod h1:VoU5lCstXyGCNMCKm6HRPUcL+AL4JOhPFdd1bfm4cWQ= +github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250930202440-88c08e65d960 h1:Lz2/FNeODZr7YGY6uOPf2n87o0rrKfsNxr5Bx6VcQ7I= +github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250930202440-88c08e65d960/go.mod h1:W3d6TbZ4PNLGb8QOK8URc/tVWBhnAOwtAYsQ2iPgwtw= github.com/smartcontractkit/chainlink-common v0.9.6-0.20250929154511-1f5fbda7ae76 h1:Slnws8RoXRUYGgEMYK6X2yYzjZwNgVb93PxU45VEObQ= github.com/smartcontractkit/chainlink-common v0.9.6-0.20250929154511-1f5fbda7ae76/go.mod h1:1r3aM96KHAESfnayJ3BTHCkP1qJS1BEG1r4czeoaXlA= github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.4 h1:hvqATtrZ0iMRTI80cpBot/3JFbjz2j+2tvpfooVhRHw= diff --git a/integration-tests/go.mod b/integration-tests/go.mod index 9fdf39fa4..85ebc157c 100644 --- a/integration-tests/go.mod +++ b/integration-tests/go.mod @@ -6,7 +6,7 @@ toolchain go1.24.6 require ( github.com/smartcontractkit/chain-selectors v1.0.67 - github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250919012900-332dc2938bde + github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250930202440-88c08e65d960 github.com/smartcontractkit/chainlink-common v0.9.6-0.20250929154511-1f5fbda7ae76 github.com/smartcontractkit/chainlink-deployments-framework v0.44.0 github.com/smartcontractkit/chainlink-ton v0.0.0-20250904183752-4ea5c19ee886 diff --git a/integration-tests/go.sum b/integration-tests/go.sum index d2b2580a1..9d61c4b57 100644 --- a/integration-tests/go.sum +++ b/integration-tests/go.sum @@ -1254,8 +1254,8 @@ github.com/smartcontractkit/chainlink-aptos v0.0.0-20250905094443-ac02b032b32b h github.com/smartcontractkit/chainlink-aptos v0.0.0-20250905094443-ac02b032b32b/go.mod h1:zNZ5rtLkbqsGCjDWb1y8n7BRk2zgflkzmj2GjnLnj08= github.com/smartcontractkit/chainlink-automation v0.8.1 h1:sTc9LKpBvcKPc1JDYAmgBc2xpDKBco/Q4h4ydl6+UUU= github.com/smartcontractkit/chainlink-automation v0.8.1/go.mod h1:Iij36PvWZ6blrdC5A/nrQUBuf3MH3JvsBB9sSyc9W08= -github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250919012900-332dc2938bde h1:Op+2l8VwEkWn6W9JnFRouZz4pWxhbOPUM+ig72ZIZJk= -github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250919012900-332dc2938bde/go.mod h1:VoU5lCstXyGCNMCKm6HRPUcL+AL4JOhPFdd1bfm4cWQ= +github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250930202440-88c08e65d960 h1:Lz2/FNeODZr7YGY6uOPf2n87o0rrKfsNxr5Bx6VcQ7I= +github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250930202440-88c08e65d960/go.mod h1:W3d6TbZ4PNLGb8QOK8URc/tVWBhnAOwtAYsQ2iPgwtw= github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250908144012-8184001834b5 h1:GmJQqNrWn5pNc8YTei6l2TOSYjK2fRd4+edFZIifCrU= github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250908144012-8184001834b5/go.mod h1:Ve1xD71bl193YIZQEoJMmBqLGQJdNs29bwbuObwvbhQ= github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20250908144012-8184001834b5 h1:QhcYGEhRLInr1/qh/3RJiVdvJ0nxBHKhPe65WLbSBnU= From 0f21fca5b219d9498c228a055b1de767a078012b Mon Sep 17 00:00:00 2001 From: Oliver Townsend Date: Tue, 30 Sep 2025 14:40:10 -0700 Subject: [PATCH 8/8] check utf8 string in GetFeeQuoterTokenUpdates --- pkg/ccip/chainaccessor/ton_accessor.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkg/ccip/chainaccessor/ton_accessor.go b/pkg/ccip/chainaccessor/ton_accessor.go index 174686a41..98650b83b 100644 --- a/pkg/ccip/chainaccessor/ton_accessor.go +++ b/pkg/ccip/chainaccessor/ton_accessor.go @@ -9,6 +9,7 @@ import ( "math/big" "sync" "time" + "unicode/utf8" "github.com/xssnick/tonutils-go/address" "github.com/xssnick/tonutils-go/tlb" @@ -774,6 +775,9 @@ func (a *TONAccessor) GetFeeQuoterTokenUpdates( default: return nil, fmt.Errorf("expected either cell or nil, received %T", priceResult) } + if !utf8.ValidString(token.String()) { + return nil, fmt.Errorf("gRPC can't handle non-UTF8 strings: %x", token) + } prices[ccipocr3.UnknownEncodedAddress(token)] = price } return prices, nil