Skip to content

Commit e975376

Browse files
authored
Updated Solana ChainWriter configs (smartcontractkit#16470)
* Updated commit account configs * Fixed gas prices chain selector path * Updated Solana ChainWriter ArgsTransform config * Fixed linting * Updated chainlink-solana dependency * Tidied go mod * Marked Solana ChainWriter execute method lookup table and ATA lookup as optional * Fixed execute method UserAccounts locations * Removed router IDL since ArgsTransform no longer needs it * Updated chainlink-solana dependency * Fixed linting * Updated chainlink-solana dependency * Fixed Solana ChainWriter config err check * Updated chainlink-solana dependency * Fixed merge conflict error * Updated ReceiverAssociatedTokenAccount config seeds in Solana ChainWriter configs * Updated chainlink-solana dependency and fixed Solana CW config * Updated price updates path for Solana ChainWriter config * Updated Solana CW commit and execute accounts for RMN remote * Fixed router IDL validation and linting * Fixed price updates paths * Updated configs based on E2E testing * Updated chainlink-solana dependency * Fixed linting
1 parent 38fa56e commit e975376

File tree

17 files changed

+104
-56
lines changed

17 files changed

+104
-56
lines changed

core/capabilities/ccip/configs/solana/chain_writer.go

+81-31
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package solana
22

33
import (
4-
"encoding/binary"
54
"encoding/json"
65
"errors"
76
"fmt"
@@ -21,15 +20,13 @@ var ccipRouterIDL = idl.FetchCCIPRouterIDL()
2120

2221
const (
2322
sourceChainSelectorPath = "Info.AbstractReports.Messages.Header.SourceChainSelector"
24-
destChainSelectorPath = "Info.AbstractReports.Messages.Header.DestChainSelector"
2523
destTokenAddress = "Info.AbstractReports.Messages.TokenAmounts.DestTokenAddress"
2624
receiverAddress = "Info.AbstractReports.Messages.Receiver"
2725
merkleRootSourceChainSelector = "Info.MerkleRoots.ChainSel"
2826
merkleRoot = "Info.MerkleRoots.MerkleRoot"
2927
)
3028

31-
func getCommitMethodConfig(fromAddress string, offrampProgramAddress string, destChainSelector uint64, priceOnly bool) chainwriter.MethodConfig {
32-
destChainSelectorBytes := binary.LittleEndian.AppendUint64([]byte{}, destChainSelector)
29+
func getCommitMethodConfig(fromAddress string, offrampProgramAddress string, priceOnly bool) chainwriter.MethodConfig {
3330
chainSpecificName := "commit"
3431
if priceOnly {
3532
chainSpecificName = "commitPriceOnly"
@@ -45,17 +42,18 @@ func getCommitMethodConfig(fromAddress string, offrampProgramAddress string, des
4542
},
4643
},
4744
ChainSpecificName: chainSpecificName,
45+
ArgsTransform: "CCIPCommit",
4846
LookupTables: chainwriter.LookupTables{
4947
DerivedLookupTables: []chainwriter.DerivedLookupTable{
5048
getCommonAddressLookupTableConfig(offrampProgramAddress),
5149
},
5250
},
53-
Accounts: buildCommitAccountsList(fromAddress, offrampProgramAddress, destChainSelectorBytes, priceOnly),
51+
Accounts: buildCommitAccountsList(fromAddress, offrampProgramAddress, priceOnly),
5452
DebugIDLocation: "",
5553
}
5654
}
5755

58-
func buildCommitAccountsList(fromAddress, offrampProgramAddress string, destChainSelectorBytes []byte, priceOnly bool) []chainwriter.Lookup {
56+
func buildCommitAccountsList(fromAddress, offrampProgramAddress string, priceOnly bool) []chainwriter.Lookup {
5957
accounts := []chainwriter.Lookup{}
6058
accounts = append(accounts,
6159
getOfframpAccountConfig(offrampProgramAddress),
@@ -98,9 +96,12 @@ func buildCommitAccountsList(fromAddress, offrampProgramAddress string, destChai
9896
getFeeQuoterProgramAccount(offrampProgramAddress),
9997
getFeeQuoterAllowedPriceUpdater(offrampProgramAddress),
10098
getFeeQuoterConfigLookup(offrampProgramAddress),
99+
getRMNRemoteProgramAccount(offrampProgramAddress),
100+
getRMNRemoteCursesLookup(offrampProgramAddress),
101+
getRMNRemoteConfigLookup(offrampProgramAddress),
101102
getGlobalStateConfig(offrampProgramAddress),
102103
getBillingTokenConfig(offrampProgramAddress),
103-
getChainConfigGasPriceConfig(offrampProgramAddress, destChainSelectorBytes),
104+
getChainConfigGasPriceConfig(offrampProgramAddress),
104105
)
105106
return accounts
106107
}
@@ -117,7 +118,7 @@ func getExecuteMethodConfig(fromAddress string, offrampProgramAddress string) ch
117118
},
118119
},
119120
ChainSpecificName: "execute",
120-
ArgsTransform: "CCIP",
121+
ArgsTransform: "CCIPExecute",
121122
LookupTables: chainwriter.LookupTables{
122123
DerivedLookupTables: []chainwriter.DerivedLookupTable{
123124
{
@@ -140,6 +141,7 @@ func getExecuteMethodConfig(fromAddress string, offrampProgramAddress string) ch
140141
},
141142
},
142143
},
144+
Optional: true, // Lookup table is optional if DestTokenAddress is not present in report
143145
},
144146
getCommonAddressLookupTableConfig(offrampProgramAddress),
145147
},
@@ -155,6 +157,7 @@ func getExecuteMethodConfig(fromAddress string, offrampProgramAddress string) ch
155157
},
156158
},
157159
MintAddress: chainwriter.Lookup{AccountLookup: &chainwriter.AccountLookup{Location: destTokenAddress}},
160+
Optional: true, // ATA lookup is optional if DestTokenAddress is not present in report
158161
},
159162
},
160163
Accounts: []chainwriter.Lookup{
@@ -229,11 +232,14 @@ func getExecuteMethodConfig(fromAddress string, offrampProgramAddress string) ch
229232
IsWritable: false,
230233
},
231234
},
235+
getRMNRemoteProgramAccount(offrampProgramAddress),
236+
getRMNRemoteCursesLookup(offrampProgramAddress),
237+
getRMNRemoteConfigLookup(offrampProgramAddress),
232238
{
233239
AccountLookup: &chainwriter.AccountLookup{
234240
Name: "UserAccounts",
235-
Location: "Info.AbstractReports.Message.ExtraArgsDecoded.Accounts",
236-
IsWritable: chainwriter.MetaBool{BitmapLocation: "Info.AbstractReports.Message.ExtraArgsDecoded.IsWritableBitmap"},
241+
Location: "Info.AbstractReports.Messages.ExtraArgsDecoded.Accounts",
242+
IsWritable: chainwriter.MetaBool{BitmapLocation: "Info.AbstractReports.Messages.ExtraArgsDecoded.IsWritableBitmap"},
237243
IsSigner: chainwriter.MetaBool{Value: false},
238244
},
239245
Optional: true,
@@ -247,18 +253,18 @@ func getExecuteMethodConfig(fromAddress string, offrampProgramAddress string) ch
247253
},
248254
},
249255
Seeds: []chainwriter.Seed{
250-
{Static: []byte(fromAddress)},
251256
{Dynamic: chainwriter.Lookup{AccountLookup: &chainwriter.AccountLookup{Location: "Info.AbstractReports.Messages.Receiver"}}},
257+
// Token Program stored in PoolLookupTable
252258
{Dynamic: chainwriter.Lookup{
253259
AccountsFromLookupTable: &chainwriter.AccountsFromLookupTable{
254260
LookupTableName: "PoolLookupTable",
255261
IncludeIndexes: []int{6},
256-
}},
257-
},
262+
},
263+
}},
258264
{Dynamic: chainwriter.Lookup{AccountLookup: &chainwriter.AccountLookup{Location: destTokenAddress}}},
259265
},
260266
IsSigner: false,
261-
IsWritable: false,
267+
IsWritable: true,
262268
},
263269
Optional: true,
264270
},
@@ -268,7 +274,7 @@ func getExecuteMethodConfig(fromAddress string, offrampProgramAddress string) ch
268274
PublicKey: getFeeQuoterProgramAccount(offrampProgramAddress),
269275
Seeds: []chainwriter.Seed{
270276
{Static: []byte("per_chain_per_token_config")},
271-
{Dynamic: chainwriter.Lookup{AccountLookup: &chainwriter.AccountLookup{Location: destChainSelectorPath}}},
277+
{Dynamic: chainwriter.Lookup{AccountLookup: &chainwriter.AccountLookup{Location: sourceChainSelectorPath}}},
272278
{Dynamic: chainwriter.Lookup{AccountLookup: &chainwriter.AccountLookup{Location: destTokenAddress}}},
273279
},
274280
IsSigner: false,
@@ -287,11 +293,11 @@ func getExecuteMethodConfig(fromAddress string, offrampProgramAddress string) ch
287293
},
288294
Seeds: []chainwriter.Seed{
289295
{Static: []byte("ccip_tokenpool_chainconfig")},
290-
{Dynamic: chainwriter.Lookup{AccountLookup: &chainwriter.AccountLookup{Location: destChainSelectorPath}}},
296+
{Dynamic: chainwriter.Lookup{AccountLookup: &chainwriter.AccountLookup{Location: sourceChainSelectorPath}}},
291297
{Dynamic: chainwriter.Lookup{AccountLookup: &chainwriter.AccountLookup{Location: destTokenAddress}}},
292298
},
293299
IsSigner: false,
294-
IsWritable: false,
300+
IsWritable: true,
295301
},
296302
Optional: true,
297303
},
@@ -307,7 +313,7 @@ func getExecuteMethodConfig(fromAddress string, offrampProgramAddress string) ch
307313
}
308314
}
309315

310-
func GetSolanaChainWriterConfig(offrampProgramAddress string, fromAddress string, destChainSelector uint64) (chainwriter.ChainWriterConfig, error) {
316+
func GetSolanaChainWriterConfig(offrampProgramAddress string, fromAddress string) (chainwriter.ChainWriterConfig, error) {
311317
// check fromAddress
312318
pk, err := solana.PublicKeyFromBase58(fromAddress)
313319
if err != nil {
@@ -325,23 +331,19 @@ func GetSolanaChainWriterConfig(offrampProgramAddress string, fromAddress string
325331
}
326332
// validate CCIP Router IDL, errors not expected
327333
var routerIDL solanacodec.IDL
328-
if err = json.Unmarshal([]byte(ccipOfframpIDL), &routerIDL); err != nil {
334+
if err = json.Unmarshal([]byte(ccipRouterIDL), &routerIDL); err != nil {
329335
return chainwriter.ChainWriterConfig{}, fmt.Errorf("unexpected error: invalid CCIP Router IDL, error: %w", err)
330336
}
331337
solConfig := chainwriter.ChainWriterConfig{
332338
Programs: map[string]chainwriter.ProgramConfig{
333339
ccipconsts.ContractNameOffRamp: {
334340
Methods: map[string]chainwriter.MethodConfig{
335341
ccipconsts.MethodExecute: getExecuteMethodConfig(fromAddress, offrampProgramAddress),
336-
ccipconsts.MethodCommit: getCommitMethodConfig(fromAddress, offrampProgramAddress, destChainSelector, false),
337-
ccipconsts.MethodCommitPriceOnly: getCommitMethodConfig(fromAddress, offrampProgramAddress, destChainSelector, true),
342+
ccipconsts.MethodCommit: getCommitMethodConfig(fromAddress, offrampProgramAddress, false),
343+
ccipconsts.MethodCommitPriceOnly: getCommitMethodConfig(fromAddress, offrampProgramAddress, true),
338344
},
339345
IDL: ccipOfframpIDL,
340346
},
341-
// Required for the CCIP args transform configured for the execute method which relies on the TokenAdminRegistry stored in the router
342-
ccipconsts.ContractNameRouter: {
343-
IDL: ccipRouterIDL,
344-
},
345347
},
346348
}
347349

@@ -475,6 +477,54 @@ func getFeeQuoterConfigLookup(offrampProgramAddress string) chainwriter.Lookup {
475477
}
476478
}
477479

480+
func getRMNRemoteProgramAccount(offrampProgramAddress string) chainwriter.Lookup {
481+
return chainwriter.Lookup{
482+
PDALookups: &chainwriter.PDALookups{
483+
Name: ccipconsts.ContractNameRMNRemote,
484+
PublicKey: getAddressConstant(offrampProgramAddress),
485+
Seeds: []chainwriter.Seed{
486+
{Static: []byte("reference_addresses")},
487+
},
488+
IsSigner: false,
489+
IsWritable: false,
490+
// Reads the address from the reference addresses account
491+
InternalField: chainwriter.InternalField{
492+
TypeName: "ReferenceAddresses",
493+
Location: "RmnRemote",
494+
IDL: ccipOfframpIDL,
495+
},
496+
},
497+
}
498+
}
499+
500+
func getRMNRemoteCursesLookup(offrampProgramAddress string) chainwriter.Lookup {
501+
return chainwriter.Lookup{
502+
PDALookups: &chainwriter.PDALookups{
503+
Name: "RMNRemoteCurses",
504+
PublicKey: getRMNRemoteProgramAccount(offrampProgramAddress),
505+
Seeds: []chainwriter.Seed{
506+
{Static: []byte("curses")},
507+
},
508+
IsSigner: false,
509+
IsWritable: false,
510+
},
511+
}
512+
}
513+
514+
func getRMNRemoteConfigLookup(offrampProgramAddress string) chainwriter.Lookup {
515+
return chainwriter.Lookup{
516+
PDALookups: &chainwriter.PDALookups{
517+
Name: "RMNRemoteConfig",
518+
PublicKey: getRMNRemoteProgramAccount(offrampProgramAddress),
519+
Seeds: []chainwriter.Seed{
520+
{Static: []byte("config")},
521+
},
522+
IsSigner: false,
523+
IsWritable: false,
524+
},
525+
}
526+
}
527+
478528
func getGlobalStateConfig(offrampProgramAddress string) chainwriter.Lookup {
479529
return chainwriter.Lookup{
480530
PDALookups: &chainwriter.PDALookups{
@@ -484,7 +534,7 @@ func getGlobalStateConfig(offrampProgramAddress string) chainwriter.Lookup {
484534
{Static: []byte("state")},
485535
},
486536
IsSigner: false,
487-
IsWritable: false,
537+
IsWritable: true,
488538
},
489539
Optional: true,
490540
}
@@ -497,26 +547,26 @@ func getBillingTokenConfig(offrampProgramAddress string) chainwriter.Lookup {
497547
PublicKey: getFeeQuoterProgramAccount(offrampProgramAddress),
498548
Seeds: []chainwriter.Seed{
499549
{Static: []byte("fee_billing_token_config")},
500-
{Dynamic: chainwriter.Lookup{AccountLookup: &chainwriter.AccountLookup{Location: "Info.TokenPrices.TokenID"}}},
550+
{Dynamic: chainwriter.Lookup{AccountLookup: &chainwriter.AccountLookup{Location: "Info.TokenPriceUpdates.TokenID"}}},
501551
},
502552
IsSigner: false,
503-
IsWritable: false,
553+
IsWritable: true,
504554
},
505555
Optional: true,
506556
}
507557
}
508558

509-
func getChainConfigGasPriceConfig(offrampProgramAddress string, destChainSelector []byte) chainwriter.Lookup {
559+
func getChainConfigGasPriceConfig(offrampProgramAddress string) chainwriter.Lookup {
510560
return chainwriter.Lookup{
511561
PDALookups: &chainwriter.PDALookups{
512562
Name: "ChainConfigGasPrice",
513563
PublicKey: getFeeQuoterProgramAccount(offrampProgramAddress),
514564
Seeds: []chainwriter.Seed{
515565
{Static: []byte("dest_chain")},
516-
{Static: destChainSelector},
566+
{Dynamic: chainwriter.Lookup{AccountLookup: &chainwriter.AccountLookup{Location: "Info.GasPriceUpdates.ChainSel"}}},
517567
},
518568
IsSigner: false,
519-
IsWritable: false,
569+
IsWritable: true,
520570
},
521571
Optional: true,
522572
}

core/capabilities/ccip/configs/solana/chain_writer_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ func TestChainWriterConfigRaw(t *testing.T) {
3030

3131
for _, tt := range tests {
3232
t.Run(tt.name, func(t *testing.T) {
33-
config, err := GetSolanaChainWriterConfig("4Nn9dsYBcSTzRbK9hg9kzCUdrCSkMZq1UR6Vw1Tkaf6H", tt.fromAddress, 0)
33+
config, err := GetSolanaChainWriterConfig("4Nn9dsYBcSTzRbK9hg9kzCUdrCSkMZq1UR6Vw1Tkaf6H", tt.fromAddress)
3434
if tt.expectedError != "" {
3535
assert.EqualError(t, err, tt.expectedError)
3636
} else {

core/capabilities/ccip/oraclecreator/plugin.go

+1-3
Original file line numberDiff line numberDiff line change
@@ -468,7 +468,6 @@ func (i *pluginOracleCreator) createReadersAndWriters(
468468
execBatchGasLimit,
469469
relayChainFamily,
470470
config.Config.OfframpAddress,
471-
chainDetails.ChainSelector,
472471
)
473472
if err1 != nil {
474473
return nil, nil, err1
@@ -596,7 +595,6 @@ func createChainWriter(
596595
execBatchGasLimit uint64,
597596
chainFamily string,
598597
offrampProgramAddress []byte,
599-
destChainSelector uint64,
600598
) (types.ContractWriter, error) {
601599
var err error
602600
var chainWriterConfig []byte
@@ -609,7 +607,7 @@ func createChainWriter(
609607
return nil, fmt.Errorf("invalid offrampProgramAddress length: %d", len(offrampProgramAddress))
610608
}
611609
offrampAddress := solana.PublicKeyFromBytes(offrampProgramAddress)
612-
if solConfig, err = solanaconfig.GetSolanaChainWriterConfig(offrampAddress.String(), transmitter[0], destChainSelector); err != nil {
610+
if solConfig, err = solanaconfig.GetSolanaChainWriterConfig(offrampAddress.String(), transmitter[0]); err != nil {
613611
return nil, fmt.Errorf("failed to get Solana chain writer config: %w", err)
614612
}
615613
if chainWriterConfig, err = json.Marshal(solConfig); err != nil {

core/scripts/go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -351,7 +351,7 @@ require (
351351
github.com/smartcontractkit/chainlink-protos/orchestrator v0.5.0 // indirect
352352
github.com/smartcontractkit/chainlink-protos/rmn/v1.6/go v0.0.0-20250131130834-15e0d4cde2a6 // indirect
353353
github.com/smartcontractkit/chainlink-protos/svr v1.1.0 // indirect
354-
github.com/smartcontractkit/chainlink-solana v1.1.2-0.20250219165127-be60782e4448 // indirect
354+
github.com/smartcontractkit/chainlink-solana v1.1.2-0.20250311160533-b2a6d2b7857d // indirect
355355
github.com/smartcontractkit/chainlink-testing-framework/framework v0.5.3 // indirect
356356
github.com/smartcontractkit/grpc-proxy v0.0.0-20240830132753-a7e17fec5ab7 // indirect
357357
github.com/smartcontractkit/mcms v0.13.0 // indirect

core/scripts/go.sum

+2-2
Original file line numberDiff line numberDiff line change
@@ -1142,8 +1142,8 @@ github.com/smartcontractkit/chainlink-protos/rmn/v1.6/go v0.0.0-20250131130834-1
11421142
github.com/smartcontractkit/chainlink-protos/rmn/v1.6/go v0.0.0-20250131130834-15e0d4cde2a6/go.mod h1:FRwzI3hGj4CJclNS733gfcffmqQ62ONCkbGi49s658w=
11431143
github.com/smartcontractkit/chainlink-protos/svr v1.1.0 h1:79Z9N9dMbMVRGaLoDPAQ+vOwbM+Hnx8tIN2xCPG8H4o=
11441144
github.com/smartcontractkit/chainlink-protos/svr v1.1.0/go.mod h1:TcOliTQU6r59DwG4lo3U+mFM9WWyBHGuFkkxQpvSujo=
1145-
github.com/smartcontractkit/chainlink-solana v1.1.2-0.20250219165127-be60782e4448 h1:AlnRJ3c4TNuZQWNrwgc7Zq+Y+ylJhZ1ZtSmWlPt3SXo=
1146-
github.com/smartcontractkit/chainlink-solana v1.1.2-0.20250219165127-be60782e4448/go.mod h1:aFm1QC/n99mVeBDtv0SE0co56+IECY6Y1fR3OfNYy3c=
1145+
github.com/smartcontractkit/chainlink-solana v1.1.2-0.20250311160533-b2a6d2b7857d h1:wi8cL16jGwOwc3qbzFUQ74woQ/dMHB3DzGuV6e5cHDM=
1146+
github.com/smartcontractkit/chainlink-solana v1.1.2-0.20250311160533-b2a6d2b7857d/go.mod h1:zlzii+FxYq0YLdESBei19MAtyuaHpwDldb/ohhXOqw8=
11471147
github.com/smartcontractkit/chainlink-testing-framework/framework v0.5.3 h1:CeZqFz/si4YBnYE1118mtc4FBLs2Za1qohYAeLZTI+o=
11481148
github.com/smartcontractkit/chainlink-testing-framework/framework v0.5.3/go.mod h1:9b5ugzYeKkwbxZ9yMOoxUaPiONDLC/QLCncarDFnhwk=
11491149
github.com/smartcontractkit/chainlink-testing-framework/lib v1.50.22 h1:W3doYLVoZN8VwJb/kAZsbDjW+6cgZPgNTcQHJUH9JrA=

deployment/go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ require (
3838
github.com/smartcontractkit/chainlink-integrations/evm v0.0.0-20250304212534-9eff2fa32bea
3939
github.com/smartcontractkit/chainlink-protos/job-distributor v0.9.0
4040
github.com/smartcontractkit/chainlink-protos/orchestrator v0.5.0
41-
github.com/smartcontractkit/chainlink-solana v1.1.2-0.20250219165127-be60782e4448
41+
github.com/smartcontractkit/chainlink-solana v1.1.2-0.20250311160533-b2a6d2b7857d
4242
github.com/smartcontractkit/chainlink-testing-framework/framework v0.5.3
4343
github.com/smartcontractkit/chainlink-testing-framework/lib v1.50.22
4444
github.com/smartcontractkit/libocr v0.0.0-20250220133800-f3b940c4f298

deployment/go.sum

+2-2
Original file line numberDiff line numberDiff line change
@@ -1188,8 +1188,8 @@ github.com/smartcontractkit/chainlink-protos/rmn/v1.6/go v0.0.0-20250131130834-1
11881188
github.com/smartcontractkit/chainlink-protos/rmn/v1.6/go v0.0.0-20250131130834-15e0d4cde2a6/go.mod h1:FRwzI3hGj4CJclNS733gfcffmqQ62ONCkbGi49s658w=
11891189
github.com/smartcontractkit/chainlink-protos/svr v1.1.0 h1:79Z9N9dMbMVRGaLoDPAQ+vOwbM+Hnx8tIN2xCPG8H4o=
11901190
github.com/smartcontractkit/chainlink-protos/svr v1.1.0/go.mod h1:TcOliTQU6r59DwG4lo3U+mFM9WWyBHGuFkkxQpvSujo=
1191-
github.com/smartcontractkit/chainlink-solana v1.1.2-0.20250219165127-be60782e4448 h1:AlnRJ3c4TNuZQWNrwgc7Zq+Y+ylJhZ1ZtSmWlPt3SXo=
1192-
github.com/smartcontractkit/chainlink-solana v1.1.2-0.20250219165127-be60782e4448/go.mod h1:aFm1QC/n99mVeBDtv0SE0co56+IECY6Y1fR3OfNYy3c=
1191+
github.com/smartcontractkit/chainlink-solana v1.1.2-0.20250311160533-b2a6d2b7857d h1:wi8cL16jGwOwc3qbzFUQ74woQ/dMHB3DzGuV6e5cHDM=
1192+
github.com/smartcontractkit/chainlink-solana v1.1.2-0.20250311160533-b2a6d2b7857d/go.mod h1:zlzii+FxYq0YLdESBei19MAtyuaHpwDldb/ohhXOqw8=
11931193
github.com/smartcontractkit/chainlink-testing-framework/framework v0.5.3 h1:CeZqFz/si4YBnYE1118mtc4FBLs2Za1qohYAeLZTI+o=
11941194
github.com/smartcontractkit/chainlink-testing-framework/framework v0.5.3/go.mod h1:9b5ugzYeKkwbxZ9yMOoxUaPiONDLC/QLCncarDFnhwk=
11951195
github.com/smartcontractkit/chainlink-testing-framework/lib v1.50.22 h1:W3doYLVoZN8VwJb/kAZsbDjW+6cgZPgNTcQHJUH9JrA=

go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ require (
8585
github.com/smartcontractkit/chainlink-integrations/evm v0.0.0-20250304212534-9eff2fa32bea
8686
github.com/smartcontractkit/chainlink-protos/orchestrator v0.5.0
8787
github.com/smartcontractkit/chainlink-protos/svr v1.1.0
88-
github.com/smartcontractkit/chainlink-solana v1.1.2-0.20250219165127-be60782e4448
88+
github.com/smartcontractkit/chainlink-solana v1.1.2-0.20250311160533-b2a6d2b7857d
8989
github.com/smartcontractkit/libocr v0.0.0-20250220133800-f3b940c4f298
9090
github.com/smartcontractkit/tdh2/go/ocr2/decryptionplugin v0.0.0-20241009055228-33d0c0bf38de
9191
github.com/smartcontractkit/tdh2/go/tdh2 v0.0.0-20241009055228-33d0c0bf38de

go.sum

+2-2
Original file line numberDiff line numberDiff line change
@@ -1039,8 +1039,8 @@ github.com/smartcontractkit/chainlink-protos/rmn/v1.6/go v0.0.0-20250131130834-1
10391039
github.com/smartcontractkit/chainlink-protos/rmn/v1.6/go v0.0.0-20250131130834-15e0d4cde2a6/go.mod h1:FRwzI3hGj4CJclNS733gfcffmqQ62ONCkbGi49s658w=
10401040
github.com/smartcontractkit/chainlink-protos/svr v1.1.0 h1:79Z9N9dMbMVRGaLoDPAQ+vOwbM+Hnx8tIN2xCPG8H4o=
10411041
github.com/smartcontractkit/chainlink-protos/svr v1.1.0/go.mod h1:TcOliTQU6r59DwG4lo3U+mFM9WWyBHGuFkkxQpvSujo=
1042-
github.com/smartcontractkit/chainlink-solana v1.1.2-0.20250219165127-be60782e4448 h1:AlnRJ3c4TNuZQWNrwgc7Zq+Y+ylJhZ1ZtSmWlPt3SXo=
1043-
github.com/smartcontractkit/chainlink-solana v1.1.2-0.20250219165127-be60782e4448/go.mod h1:aFm1QC/n99mVeBDtv0SE0co56+IECY6Y1fR3OfNYy3c=
1042+
github.com/smartcontractkit/chainlink-solana v1.1.2-0.20250311160533-b2a6d2b7857d h1:wi8cL16jGwOwc3qbzFUQ74woQ/dMHB3DzGuV6e5cHDM=
1043+
github.com/smartcontractkit/chainlink-solana v1.1.2-0.20250311160533-b2a6d2b7857d/go.mod h1:zlzii+FxYq0YLdESBei19MAtyuaHpwDldb/ohhXOqw8=
10441044
github.com/smartcontractkit/grpc-proxy v0.0.0-20240830132753-a7e17fec5ab7 h1:12ijqMM9tvYVEm+nR826WsrNi6zCKpwBhuApq127wHs=
10451045
github.com/smartcontractkit/grpc-proxy v0.0.0-20240830132753-a7e17fec5ab7/go.mod h1:FX7/bVdoep147QQhsOPkYsPEXhGZjeYx6lBSaSXtZOA=
10461046
github.com/smartcontractkit/libocr v0.0.0-20250220133800-f3b940c4f298 h1:PKiqnVOTChlH4a4ljJKL3OKGRgYfIpJS4YD1daAIKks=

integration-tests/go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -446,7 +446,7 @@ require (
446446
github.com/smartcontractkit/chainlink-protos/orchestrator v0.5.0 // indirect
447447
github.com/smartcontractkit/chainlink-protos/rmn/v1.6/go v0.0.0-20250131130834-15e0d4cde2a6 // indirect
448448
github.com/smartcontractkit/chainlink-protos/svr v1.1.0 // indirect
449-
github.com/smartcontractkit/chainlink-solana v1.1.2-0.20250219165127-be60782e4448 // indirect
449+
github.com/smartcontractkit/chainlink-solana v1.1.2-0.20250311160533-b2a6d2b7857d // indirect
450450
github.com/smartcontractkit/chainlink-testing-framework/framework v0.5.8-0.20250225210020-fc215b29321e // indirect
451451
github.com/smartcontractkit/grpc-proxy v0.0.0-20240830132753-a7e17fec5ab7 // indirect
452452
github.com/smartcontractkit/mcms v0.13.0 // indirect

0 commit comments

Comments
 (0)