Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2.15 merge #1401

Merged
merged 35 commits into from
Sep 3, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
2207a38
[AUTO-11176] fix automation chaos test (#13904)
anirudhwarrier Jul 19, 2024
5b668c1
Remove the old log buffer (#13821)
ferglor Jul 19, 2024
4565fef
run tests also if CL image build was skipped (tag), fix notification …
Tofel Jul 19, 2024
518350d
Ukflake TestFunctionsConnectorHandler (#13916)
bolekk Jul 23, 2024
2b09956
fail explicitly if base_ref is empty in PR/MQ (#13910)
Tofel Jul 23, 2024
780d304
Notify slack on new (pre)release tags (#13914)
chainchad Jul 23, 2024
c5224df
add startonce protection to syncer (#13917)
ettec Jul 24, 2024
d777fd8
[KS-370] Pass config from onchain registry to execute calls (#13750)
cedric-cordenier Jul 24, 2024
3ecb954
@chainlink.contracts release v1.2.0 (#13895)
chainchad Jul 24, 2024
e7552f8
Small fixes (#13926)
cedric-cordenier Jul 25, 2024
d6ebada
keystone end to end integration tests (#13838)
ettec Jul 28, 2024
683a12e
FUN-1527 Add updateFromPrevious method to Functions ToS (#13795)
KuphJr Jul 28, 2024
27d9c71
KS-391: Capabilities Registry Fixes (#13937)
cds95 Jul 29, 2024
ca6e1c2
check for nils in log processor call (#13940)
Tofel Jul 29, 2024
d150bc6
bump deps (#13901)
jmank88 Jul 29, 2024
9f850e3
Bump version and update CHANGELOG for core v2.14.0 (#13752)
snehaagni Jul 29, 2024
9bd5793
Bump version and update CHANGELOG fore core v2.15.0
chainchad Jul 29, 2024
e9d23b9
Fix syntax error in workflow (#13952)
chainchad Jul 29, 2024
e12146a
Fix syntax error in workflow (#13952)
chainchad Jul 29, 2024
b028bf5
Bump slack-notify-git-ref action for fixes
chainchad Jul 30, 2024
f5b81f6
Bump slack-notify-git-ref action for fixes
chainchad Jul 30, 2024
136e074
Cleanup old CRIB file
chainchad Jul 31, 2024
d7a70b2
Cleanup accidental CRIB remnant
chainchad Jul 31, 2024
69cccdf
Use changeset github changelog generator
chainchad Aug 1, 2024
96e7bc1
Merge pull request #13991 from smartcontractkit/chore/release/2.15.0-…
chainchad Aug 1, 2024
c919da6
Fix version
chainchad Aug 6, 2024
606cb3f
Fix version
chainchad Aug 6, 2024
883c9f9
Finalize date on changelog for 2.15.0 (#14144)
chainchad Aug 19, 2024
43f261e
Merge tag 'v2.15.0' into 2.15-merge
mateusz-sekara Sep 2, 2024
f105b1b
Post merge fixes
mateusz-sekara Sep 2, 2024
084cfec
Merge f105b1b56a0f3cb312200fe48eba5486ddca95c1 into a793f34cdd1e87b31…
mateusz-sekara Sep 2, 2024
66f42c9
Update gethwrappers
app-token-issuer-infra-releng[bot] Sep 2, 2024
10ecf42
Adding missing prom reporter. Post merge fixes
mateusz-sekara Sep 2, 2024
a9b8f33
Merge branch 'ccip-develop' into 2.15-merge
mateusz-sekara Sep 3, 2024
554f7c7
Removing .swp file, probably accidentally committed
mateusz-sekara Sep 3, 2024
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
77 changes: 70 additions & 7 deletions contracts/src/v0.8/keystone/KeystoneFeedsConsumer.sol
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
// SPDX-License-Identifier: MIT
pragma solidity 0.8.24;

import {IERC165} from "../vendor/openzeppelin-solidity/v4.8.3/contracts/interfaces/IERC165.sol";
import {OwnerIsCreator} from "../shared/access/OwnerIsCreator.sol";
import {IReceiver} from "./interfaces/IReceiver.sol";
import {KeystoneFeedsPermissionHandler} from "./KeystoneFeedsPermissionHandler.sol";
import {KeystoneFeedDefaultMetadataLib} from "./lib/KeystoneFeedDefaultMetadataLib.sol";

contract KeystoneFeedsConsumer is IReceiver, KeystoneFeedsPermissionHandler {
using KeystoneFeedDefaultMetadataLib for bytes;

contract KeystoneFeedsConsumer is IReceiver, OwnerIsCreator, IERC165 {
event FeedReceived(bytes32 indexed feedId, uint224 price, uint32 timestamp);

error UnauthorizedSender(address sender);
error UnauthorizedWorkflowOwner(address workflowOwner);
error UnauthorizedWorkflowName(bytes10 workflowName);
mateusz-sekara marked this conversation as resolved.
Show resolved Hide resolved

struct ReceivedFeedReport {
bytes32 FeedId;
uint224 Price;
Expand All @@ -22,11 +24,53 @@ contract KeystoneFeedsConsumer is IReceiver, KeystoneFeedsPermissionHandler {
}

mapping(bytes32 feedId => StoredFeedReport feedReport) internal s_feedReports;
address[] internal s_allowedSendersList;
mapping(address sender => bool) internal s_allowedSenders;
address[] internal s_allowedWorkflowOwnersList;
mapping(address owner => bool) internal s_allowedWorkflowOwners;
bytes10[] internal s_allowedWorkflowNamesList;
mapping(bytes10 workflowName => bool) internal s_allowedWorkflowNames;

function setConfig(
address[] calldata _allowedSendersList,
address[] calldata _allowedWorkflowOwnersList,
bytes10[] calldata _allowedWorkflowNamesList
) external onlyOwner {
for (uint32 i = 0; i < s_allowedSendersList.length; ++i) {
s_allowedSenders[s_allowedSendersList[i]] = false;
}
for (uint32 i = 0; i < _allowedSendersList.length; ++i) {
s_allowedSenders[_allowedSendersList[i]] = true;
}
s_allowedSendersList = _allowedSendersList;
for (uint32 i = 0; i < s_allowedWorkflowOwnersList.length; ++i) {
s_allowedWorkflowOwners[s_allowedWorkflowOwnersList[i]] = false;
}
for (uint32 i = 0; i < _allowedWorkflowOwnersList.length; ++i) {
s_allowedWorkflowOwners[_allowedWorkflowOwnersList[i]] = true;
}
s_allowedWorkflowOwnersList = _allowedWorkflowOwnersList;
for (uint32 i = 0; i < s_allowedWorkflowNamesList.length; ++i) {
s_allowedWorkflowNames[s_allowedWorkflowNamesList[i]] = false;
}
for (uint32 i = 0; i < _allowedWorkflowNamesList.length; ++i) {
s_allowedWorkflowNames[_allowedWorkflowNamesList[i]] = true;
}
s_allowedWorkflowNamesList = _allowedWorkflowNamesList;
}

function onReport(bytes calldata metadata, bytes calldata rawReport) external {
(bytes10 workflowName, address workflowOwner, bytes2 reportName) = metadata._extractMetadataInfo();
if (!s_allowedSenders[msg.sender]) {
revert UnauthorizedSender(msg.sender);
}

_validateReportPermission(msg.sender, workflowOwner, workflowName, reportName);
(bytes10 workflowName, address workflowOwner) = _getInfo(metadata);
if (!s_allowedWorkflowNames[workflowName]) {
revert UnauthorizedWorkflowName(workflowName);
}
if (!s_allowedWorkflowOwners[workflowOwner]) {
revert UnauthorizedWorkflowOwner(workflowOwner);
}

ReceivedFeedReport[] memory feeds = abi.decode(rawReport, (ReceivedFeedReport[]));
for (uint256 i = 0; i < feeds.length; ++i) {
Expand All @@ -35,8 +79,27 @@ contract KeystoneFeedsConsumer is IReceiver, KeystoneFeedsPermissionHandler {
}
}

// solhint-disable-next-line chainlink-solidity/explicit-returns
function _getInfo(bytes memory metadata) internal pure returns (bytes10 workflowName, address workflowOwner) {
// (first 32 bytes contain length of the byte array)
// workflow_cid // offset 32, size 32
// workflow_name // offset 64, size 10
// workflow_owner // offset 74, size 20
// report_name // offset 94, size 2
assembly {
// no shifting needed for bytes10 type
workflowName := mload(add(metadata, 64))
// shift right by 12 bytes to get the actual value
workflowOwner := shr(mul(12, 8), mload(add(metadata, 74)))
}
}

function getPrice(bytes32 feedId) external view returns (uint224, uint32) {
StoredFeedReport memory report = s_feedReports[feedId];
return (report.Price, report.Timestamp);
}

function supportsInterface(bytes4 interfaceId) public pure override returns (bool) {
return interfaceId == this.onReport.selector;
}
}
1 change: 1 addition & 0 deletions core/capabilities/integration_tests/setup.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import (
ocrTypes "github.com/smartcontractkit/libocr/offchainreporting2plus/types"

"github.com/smartcontractkit/chainlink/v2/core/gethwrappers/keystone/generated/feeds_consumer"
"github.com/smartcontractkit/chainlink/v2/core/utils/testutils/heavyweight"

commoncap "github.com/smartcontractkit/chainlink-common/pkg/capabilities"
"github.com/smartcontractkit/chainlink-common/pkg/capabilities/consensus/ocr3"
Expand Down
2 changes: 0 additions & 2 deletions core/internal/cltest/cltest.go
Original file line number Diff line number Diff line change
Expand Up @@ -461,8 +461,6 @@ func NewApplicationWithConfig(t testing.TB, cfg chainlink.GeneralConfig, flagsAn
LoopRegistry: plugins.NewLoopRegistry(lggr, nil),
MercuryPool: mercuryPool,
CapabilitiesRegistry: capabilitiesRegistry,
CapabilitiesDispatcher: dispatcher,
CapabilitiesPeerWrapper: peerWrapper,
})

require.NoError(t, err)
Expand Down
28 changes: 6 additions & 22 deletions core/services/chainlink/application.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import (
"github.com/smartcontractkit/chainlink-common/pkg/utils"
"github.com/smartcontractkit/chainlink-common/pkg/utils/jsonserializable"
"github.com/smartcontractkit/chainlink-common/pkg/utils/mailbox"

"github.com/smartcontractkit/chainlink/v2/core/capabilities"
"github.com/smartcontractkit/chainlink/v2/core/chains/evm/logpoller"
"github.com/smartcontractkit/chainlink/v2/core/services/standardcapabilities"
Expand All @@ -31,7 +32,6 @@ import (
"github.com/smartcontractkit/chainlink/v2/core/bridges"
"github.com/smartcontractkit/chainlink/v2/core/build"
"github.com/smartcontractkit/chainlink/v2/core/capabilities/remote"
remotetypes "github.com/smartcontractkit/chainlink/v2/core/capabilities/remote/types"
"github.com/smartcontractkit/chainlink/v2/core/chains/evm/txmgr"
evmtypes "github.com/smartcontractkit/chainlink/v2/core/chains/evm/types"
evmutils "github.com/smartcontractkit/chainlink/v2/core/chains/evm/utils"
Expand Down Expand Up @@ -180,8 +180,6 @@ type ApplicationOpts struct {
GRPCOpts loop.GRPCOpts
MercuryPool wsrpc.Pool
CapabilitiesRegistry *capabilities.Registry
CapabilitiesDispatcher remotetypes.Dispatcher
CapabilitiesPeerWrapper p2ptypes.PeerWrapper
}

// NewApplication initializes a new store if one is not already
Expand All @@ -201,29 +199,14 @@ func NewApplication(opts ApplicationOpts) (Application, error) {
restrictedHTTPClient := opts.RestrictedHTTPClient
unrestrictedHTTPClient := opts.UnrestrictedHTTPClient

if opts.CapabilitiesRegistry == nil {
// for tests only, in prod Registry should always be set at this point
if opts.CapabilitiesRegistry == nil { // for tests only, in prod Registry is always set at this point
opts.CapabilitiesRegistry = capabilities.NewRegistry(globalLogger)
}

var externalPeerWrapper p2ptypes.PeerWrapper
if cfg.Capabilities().Peering().Enabled() {
var dispatcher remotetypes.Dispatcher
if opts.CapabilitiesDispatcher == nil {
externalPeer := externalp2p.NewExternalPeerWrapper(keyStore.P2P(), cfg.Capabilities().Peering(), opts.DS, globalLogger)
signer := externalPeer
externalPeerWrapper = externalPeer
remoteDispatcher := remote.NewDispatcher(externalPeerWrapper, signer, opts.CapabilitiesRegistry, globalLogger)
srvcs = append(srvcs, remoteDispatcher)

dispatcher = remoteDispatcher
} else {
dispatcher = opts.CapabilitiesDispatcher
externalPeerWrapper = opts.CapabilitiesPeerWrapper
}

srvcs = append(srvcs, externalPeerWrapper)
var capabilityRegistrySyncer registrysyncer.Syncer
Copy link
Contributor

Choose a reason for hiding this comment

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

Code here is a bit outdated. even if 2.15 is 2 weeks ago I think it was different as most of the part related to the capabilities was last edited first week of August. Can you double check nothing was auto resolved wrongly here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

2.15 was cut on 30th July from develop, which means that code is at least a month behind the current develop


if cfg.Capabilities().ExternalRegistry().Address() != "" {
rid := cfg.Capabilities().ExternalRegistry().RelayID()
registryAddress := cfg.Capabilities().ExternalRegistry().Address()
relayer, err := relayerChainInterops.Get(rid)
Expand Down Expand Up @@ -263,7 +246,8 @@ func NewApplication(opts ApplicationOpts) (Application, error) {
opts.CapabilitiesRegistry,
)

srvcs = append(srvcs, dispatcher, wfLauncher, registrySyncer)
capabilityRegistrySyncer.AddLauncher(wfLauncher)
srvcs = append(srvcs, dispatcher, wfLauncher)
}

// LOOPs can be created as options, in the case of LOOP relayers, or
Expand Down
19 changes: 2 additions & 17 deletions integration-tests/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,9 @@ require (
github.com/smartcontractkit/chain-selectors v1.0.23
github.com/smartcontractkit/chainlink-automation v1.0.4
github.com/smartcontractkit/chainlink-common v0.2.2-0.20240723123524-e407ecd120b1
github.com/smartcontractkit/chainlink-testing-framework v1.34.12
github.com/smartcontractkit/chainlink-testing-framework v1.34.5
github.com/smartcontractkit/chainlink-testing-framework/grafana v0.0.0-20240405215812-5a72bc9af239
github.com/smartcontractkit/chainlink-testing-framework/seth v1.2.1
github.com/smartcontractkit/chainlink/integration-tests v0.0.0-00010101000000-000000000000
github.com/smartcontractkit/chainlink/v2 v2.0.0-00010101000000-000000000000
github.com/smartcontractkit/havoc/k8schaos v0.0.0-20240409145249-e78d20847e37
Expand Down Expand Up @@ -104,22 +105,8 @@ require (
github.com/avast/retry-go v3.0.0+incompatible // indirect
github.com/awalterschulze/gographviz v2.0.3+incompatible // indirect
github.com/aws/aws-sdk-go v1.45.25 // indirect
github.com/aws/aws-sdk-go-v2 v1.30.4 // indirect
github.com/aws/aws-sdk-go-v2/config v1.27.28 // indirect
github.com/aws/aws-sdk-go-v2/credentials v1.17.28 // indirect
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.12 // indirect
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.16 // indirect
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.16 // indirect
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.18 // indirect
github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.32.5 // indirect
github.com/aws/aws-sdk-go-v2/service/sso v1.22.5 // indirect
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.5 // indirect
github.com/aws/aws-sdk-go-v2/service/sts v1.30.4 // indirect
github.com/aws/constructs-go/constructs/v10 v10.1.255 // indirect
github.com/aws/jsii-runtime-go v1.75.0 // indirect
github.com/aws/smithy-go v1.20.4 // indirect
github.com/bahlo/generic-list-go v0.2.0 // indirect
github.com/benbjohnson/clock v1.3.5 // indirect
github.com/beorn7/perks v1.0.1 // indirect
Expand Down Expand Up @@ -409,8 +396,6 @@ require (
github.com/smartcontractkit/chainlink-feeds v0.0.0-20240710170203-5b41615da827 // indirect
github.com/smartcontractkit/chainlink-solana v1.0.3-0.20240712132946-267a37c5ac6e // indirect
github.com/smartcontractkit/chainlink-starknet/relayer v0.0.1-beta-test.0.20240709043547-03612098f799 // indirect
github.com/smartcontractkit/chainlink-testing-framework/seth v1.2.1-0.20240827112945-bd8c580392d6 // indirect
github.com/smartcontractkit/chainlink-testing-framework/wasp v0.4.9 // indirect
github.com/smartcontractkit/tdh2/go/ocr2/decryptionplugin v0.0.0-20230906073235-9e478e5e19f1 // indirect
github.com/smartcontractkit/tdh2/go/tdh2 v0.0.0-20230906073235-9e478e5e19f1 // indirect
github.com/smartcontractkit/wsrpc v0.8.1 // indirect
Expand Down
38 changes: 4 additions & 34 deletions integration-tests/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -215,38 +215,10 @@ github.com/aws/aws-sdk-go v1.23.20/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpi
github.com/aws/aws-sdk-go v1.38.35/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro=
github.com/aws/aws-sdk-go v1.45.25 h1:c4fLlh5sLdK2DCRTY1z0hyuJZU4ygxX8m1FswL6/nF4=
github.com/aws/aws-sdk-go v1.45.25/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI=
github.com/aws/aws-sdk-go-v2 v1.30.4 h1:frhcagrVNrzmT95RJImMHgabt99vkXGslubDaDagTk8=
github.com/aws/aws-sdk-go-v2 v1.30.4/go.mod h1:CT+ZPWXbYrci8chcARI3OmI/qgd+f6WtuLOoaIA8PR0=
github.com/aws/aws-sdk-go-v2/config v1.27.28 h1:OTxWGW/91C61QlneCtnD62NLb4W616/NM1jA8LhJqbg=
github.com/aws/aws-sdk-go-v2/config v1.27.28/go.mod h1:uzVRVtJSU5EFv6Fu82AoVFKozJi2ZCY6WRCXj06rbvs=
github.com/aws/aws-sdk-go-v2/credentials v1.17.28 h1:m8+AHY/ND8CMHJnPoH7PJIRakWGa4gbfbxuY9TGTUXM=
github.com/aws/aws-sdk-go-v2/credentials v1.17.28/go.mod h1:6TF7dSc78ehD1SL6KpRIPKMA1GyyWflIkjqg+qmf4+c=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.12 h1:yjwoSyDZF8Jth+mUk5lSPJCkMC0lMy6FaCD51jm6ayE=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.12/go.mod h1:fuR57fAgMk7ot3WcNQfb6rSEn+SUffl7ri+aa8uKysI=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.16 h1:TNyt/+X43KJ9IJJMjKfa3bNTiZbUP7DeCxfbTROESwY=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.16/go.mod h1:2DwJF39FlNAUiX5pAc0UNeiz16lK2t7IaFcm0LFHEgc=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.16 h1:jYfy8UPmd+6kJW5YhY0L1/KftReOGxI/4NtVSTh9O/I=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.16/go.mod h1:7ZfEPZxkW42Afq4uQB8H2E2e6ebh6mXTueEpYzjCzcs=
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 h1:VaRN3TlFdd6KxX1x3ILT5ynH6HvKgqdiXoTxAF4HQcQ=
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4 h1:KypMCbLPPHEmf9DgMGw51jMj77VfGPAN2Kv4cfhlfgI=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4/go.mod h1:Vz1JQXliGcQktFTN/LN6uGppAIRoLBR2bMvIMP0gOjc=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.18 h1:tJ5RnkHCiSH0jyd6gROjlJtNwov0eGYNz8s8nFcR0jQ=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.18/go.mod h1:++NHzT+nAF7ZPrHPsA+ENvsXkOO8wEu+C6RXltAG4/c=
github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.32.5 h1:UDXu9dqpCZYonj7poM4kFISjzTdWI0v3WUusM+w+Gfc=
github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.32.5/go.mod h1:5NPkI3RsTOhwz1CuG7VVSgJCm3CINKkoIaUbUZWQ67w=
github.com/aws/aws-sdk-go-v2/service/sso v1.22.5 h1:zCsFCKvbj25i7p1u94imVoO447I/sFv8qq+lGJhRN0c=
github.com/aws/aws-sdk-go-v2/service/sso v1.22.5/go.mod h1:ZeDX1SnKsVlejeuz41GiajjZpRSWR7/42q/EyA/QEiM=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.5 h1:SKvPgvdvmiTWoi0GAJ7AsJfOz3ngVkD/ERbs5pUnHNI=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.5/go.mod h1:20sz31hv/WsPa3HhU3hfrIet2kxM4Pe0r20eBZ20Tac=
github.com/aws/aws-sdk-go-v2/service/sts v1.30.4 h1:iAckBT2OeEK/kBDyN/jDtpEExhjeeA/Im2q4X0rJZT8=
github.com/aws/aws-sdk-go-v2/service/sts v1.30.4/go.mod h1:vmSqFK+BVIwVpDAGZB3CoCXHzurt4qBE8lf+I/kRTh0=
github.com/aws/constructs-go/constructs/v10 v10.1.255 h1:5hARfEmhBqHSTQf/C3QLA3sWOxO2Dfja0iA1W7ZcI7g=
github.com/aws/constructs-go/constructs/v10 v10.1.255/go.mod h1:DCdBSjN04Ck2pajCacTD4RKFqSA7Utya8d62XreYctI=
github.com/aws/jsii-runtime-go v1.75.0 h1:NhpUfyiL7/wsRuUekFsz8FFBCYLfPD/l61kKg9kL/a4=
github.com/aws/jsii-runtime-go v1.75.0/go.mod h1:TKCyrtM0pygEPo4rDZzbMSDNCDNTSYSN6/mGyHI6O3I=
github.com/aws/smithy-go v1.20.4 h1:2HK1zBdPgRbjFOHlfeQZfpC4r72MOb9bZkiFwggKO+4=
github.com/aws/smithy-go v1.20.4/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg=
github.com/bahlo/generic-list-go v0.2.0 h1:5sz/EEAK+ls5wF+NeqDpk5+iNdMDXrh3z3nPnH1Wvgk=
github.com/bahlo/generic-list-go v0.2.0/go.mod h1:2KvAjgMlE5NNynlg/5iLrrCCZ2+5xWbdbCW3pNTGyYg=
github.com/barkimedes/go-deepcopy v0.0.0-20220514131651-17c30cfc62df h1:GSoSVRLoBaFpOOds6QyY1L8AX7uoY+Ln3BHc22W40X0=
Expand Down Expand Up @@ -1437,14 +1409,12 @@ github.com/smartcontractkit/chainlink-solana v1.0.3-0.20240712132946-267a37c5ac6
github.com/smartcontractkit/chainlink-solana v1.0.3-0.20240712132946-267a37c5ac6e/go.mod h1:hsFhop+SlQHKD+DEFjZrMJmbauT1A/wvtZIeeo4PxFU=
github.com/smartcontractkit/chainlink-starknet/relayer v0.0.1-beta-test.0.20240709043547-03612098f799 h1:HyLTySm7BR+oNfZqDTkVJ25wnmcTtxBBD31UkFL+kEM=
github.com/smartcontractkit/chainlink-starknet/relayer v0.0.1-beta-test.0.20240709043547-03612098f799/go.mod h1:UVFRacRkP7O7TQAzFmR52v5mUlxf+G1ovMlCQAB/cHU=
github.com/smartcontractkit/chainlink-testing-framework v1.34.12 h1:pI0ESAspOcEqQ1fm53+3o2laGNwP8wbQNAmrGp5Tw1A=
github.com/smartcontractkit/chainlink-testing-framework v1.34.12/go.mod h1:ekYJbRAxXcs/YgOjHsY9/tlvDvXzv3lxcZK2eFUZduc=
github.com/smartcontractkit/chainlink-testing-framework v1.34.5 h1:6itLSDW4NHDDNR+Y+Z8YDzxxCN9SjdKb6SmLCl0vTFM=
github.com/smartcontractkit/chainlink-testing-framework v1.34.5/go.mod h1:hRZEDh2+afO8MSZb9qYNscmWb+3mHZf01J5ACZuIdTQ=
github.com/smartcontractkit/chainlink-testing-framework/grafana v0.0.0-20240405215812-5a72bc9af239 h1:Kk5OVlx/5g9q3Z3lhxytZS4/f8ds1MiNM8yaHgK3Oe8=
github.com/smartcontractkit/chainlink-testing-framework/grafana v0.0.0-20240405215812-5a72bc9af239/go.mod h1:DC8sQMyTlI/44UCTL8QWFwb0bYNoXCfjwCv2hMivYZU=
github.com/smartcontractkit/chainlink-testing-framework/seth v1.2.1-0.20240827112945-bd8c580392d6 h1:ItZ75xmt+VHR/lw+GJwSWj9XICpgZ94dJ+I/5jdet7c=
github.com/smartcontractkit/chainlink-testing-framework/seth v1.2.1-0.20240827112945-bd8c580392d6/go.mod h1:afY3QmNgeR/VI1pRbGH8g3YXGy7C2RrFOwUzEFvL3L8=
github.com/smartcontractkit/chainlink-testing-framework/wasp v0.4.9 h1:zyp3Ic0lvseZEKh4/Afcsjk9RAnnxHEI6ajqNXWbRL0=
github.com/smartcontractkit/chainlink-testing-framework/wasp v0.4.9/go.mod h1:OMadmu2D8J0ju4XZ+tiTX3EOz0QBsfrw1zym+ZXuNVk=
github.com/smartcontractkit/chainlink-testing-framework/seth v1.2.1 h1:GRAAvtn2+jhO/8Z3lig10eQXVcV4VuOI4UgCyoPdJBg=
github.com/smartcontractkit/chainlink-testing-framework/seth v1.2.1/go.mod h1:afY3QmNgeR/VI1pRbGH8g3YXGy7C2RrFOwUzEFvL3L8=
github.com/smartcontractkit/go-plugin v0.0.0-20240208201424-b3b91517de16 h1:TFe+FvzxClblt6qRfqEhUfa4kFQx5UobuoFGO2W4mMo=
github.com/smartcontractkit/go-plugin v0.0.0-20240208201424-b3b91517de16/go.mod h1:lBS5MtSSBZk0SHc66KACcjjlU6WzEVP/8pwz68aMkCI=
github.com/smartcontractkit/grpc-proxy v0.0.0-20230731113816-f1be6620749f h1:hgJif132UCdjo8u43i7iPN1/MFnu49hv7lFGFftCHKU=
Expand Down
Loading
Loading