-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
[TT-1847] ocr3 keystone por test broken #15948
base: develop
Are you sure you want to change the base?
Changes from 6 commits
460f04c
5d7ffe2
ef63e87
1c13aff
4eb030f
85b3d62
a62699d
025aa34
4ea8c76
2979ad8
68c6dfc
8909ec5
c77aa78
0615056
cdd5670
91886b3
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
GETH_VERSION: 1.14.11 | ||
capabilities_registry: ../../../contracts/solc/v0.8.24/CapabilitiesRegistry/CapabilitiesRegistry.abi ../../../contracts/solc/v0.8.24/CapabilitiesRegistry/CapabilitiesRegistry.bin 07e0115065e833b29352017fe808dd149952b0b7fe73d0af87020966d2ece57c | ||
feeds_consumer: ../../../contracts/solc/v0.8.24/KeystoneFeedsConsumer/KeystoneFeedsConsumer.abi ../../../contracts/solc/v0.8.24/KeystoneFeedsConsumer/KeystoneFeedsConsumer.bin 6ac5b12eff3b022a35c3c40d5ed0285bf9bfec0e3669a4b12307332a216048ca | ||
feeds_consumer: ../../../contracts/solc/v0.8.24/KeystoneFeedsConsumer/KeystoneFeedsConsumer.abi ../../../contracts/solc/v0.8.24/KeystoneFeedsConsumer/KeystoneFeedsConsumer.bin 52760e0160e12ec83122fbff83d597cc1f9382f4dee1cf03c3fb089cc58897a4 | ||
forwarder: ../../../contracts/solc/v0.8.24/KeystoneForwarder/KeystoneForwarder.abi ../../../contracts/solc/v0.8.24/KeystoneForwarder/KeystoneForwarder.bin cb728d316f6392ae0d07e6ad94ec93897a4706f6ced7120f79f7e61282ef8152 | ||
ocr3_capability: ../../../contracts/solc/v0.8.24/OCR3Capability/OCR3Capability.abi ../../../contracts/solc/v0.8.24/OCR3Capability/OCR3Capability.bin a0adf579d004fe4d4116539cf4bc52d6b1cca9626e91329f552d04f89de9dc84 |
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. why? please don't commit binary files |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
package capabilities_registry | ||
|
||
import ( | ||
"context" | ||
"fmt" | ||
|
||
"github.com/ethereum/go-ethereum/accounts/abi/bind" | ||
"github.com/ethereum/go-ethereum/common" | ||
|
||
"github.com/smartcontractkit/chainlink-testing-framework/seth" | ||
cr "github.com/smartcontractkit/chainlink/v2/core/gethwrappers/keystone/generated/capabilities_registry" | ||
) | ||
|
||
type CapabilitiesRegistryInstance struct { | ||
Address common.Address | ||
Contract *cr.CapabilitiesRegistry | ||
sc *seth.Client | ||
ExistingHashedCapabilitiesIDs [][32]byte | ||
} | ||
|
||
func Deploy(sc *seth.Client) (*CapabilitiesRegistryInstance, error) { | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. why are we writing this code? we have logic in |
||
capabilitiesRegistryAddress, tx, capabilitiesRegistryContract, err := cr.DeployCapabilitiesRegistry( | ||
sc.NewTXOpts(), | ||
sc.Client, | ||
) | ||
if err != nil { | ||
return nil, err | ||
} | ||
|
||
_, err = bind.WaitMined(context.Background(), sc.Client, tx) | ||
if err != nil { | ||
return nil, err | ||
} | ||
|
||
fmt.Printf("🚀 Deployed \033[1mcapabilities_registry\033[0m contract at \033[1m%s\033[0m\n", capabilitiesRegistryAddress) | ||
return &CapabilitiesRegistryInstance{ | ||
sc: sc, | ||
Address: capabilitiesRegistryAddress, | ||
Contract: capabilitiesRegistryContract, | ||
}, nil | ||
} | ||
|
||
func (cr *CapabilitiesRegistryInstance) AddCapabilities(capabilities []cr.CapabilitiesRegistryCapability) error { | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. please reuse the existing code or enhance or come up with a design were we can reuse and leverage existing work |
||
tx, err := cr.Contract.AddCapabilities( | ||
cr.sc.NewTXOpts(), | ||
capabilities, | ||
) | ||
if err != nil { | ||
return err | ||
} | ||
|
||
_, err = bind.WaitMined(context.Background(), cr.sc.Client, tx) | ||
if err != nil { | ||
return err | ||
} | ||
|
||
for _, capability := range capabilities { | ||
hashedCapabilityID, err := cr.Contract.GetHashedCapabilityId( | ||
cr.sc.NewCallOpts(), | ||
capability.LabelledName, | ||
capability.Version, | ||
) | ||
if err != nil { | ||
return err | ||
} | ||
cr.ExistingHashedCapabilitiesIDs = append(cr.ExistingHashedCapabilitiesIDs, hashedCapabilityID) | ||
} | ||
|
||
return nil | ||
} |
Large diffs are not rendered by default.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
package forwarder | ||
|
||
import ( | ||
"context" | ||
"fmt" | ||
|
||
"github.com/ethereum/go-ethereum/accounts/abi/bind" | ||
"github.com/ethereum/go-ethereum/common" | ||
|
||
"github.com/smartcontractkit/chainlink-testing-framework/seth" | ||
|
||
forwarder_wrapper "github.com/smartcontractkit/chainlink/v2/core/gethwrappers/keystone/generated/forwarder" | ||
) | ||
|
||
type ForwarderInstance struct { | ||
Check failure on line 15 in integration-tests/capabilities/components/evmcontracts/forwarder/forwarder.go GitHub Actions / GolangCI Lint (integration-tests)
|
||
Address common.Address | ||
Contract *forwarder_wrapper.KeystoneForwarder | ||
sc *seth.Client | ||
ExistingHashedCapabilitiesIDs [][32]byte | ||
} | ||
|
||
func Deploy(sc *seth.Client) (*ForwarderInstance, error) { | ||
forwarderAddress, tx, forwarderContract, err := forwarder_wrapper.DeployKeystoneForwarder( | ||
sc.NewTXOpts(), | ||
sc.Client, | ||
) | ||
if err != nil { | ||
return nil, err | ||
} | ||
|
||
_, err = bind.WaitMined(context.Background(), sc.Client, tx) | ||
if err != nil { | ||
return nil, err | ||
} | ||
|
||
fmt.Printf("🚀 Deployed \033[1mforwarder\033[0m contract at \033[1m%s\033[0m\n", forwarderAddress) | ||
return &ForwarderInstance{ | ||
sc: sc, | ||
Address: forwarderAddress, | ||
Contract: forwarderContract, | ||
}, nil | ||
} | ||
|
||
func (i *ForwarderInstance) SetConfig( | ||
donID uint32, | ||
configVersion uint32, | ||
f uint8, | ||
signers []common.Address, | ||
) error { | ||
tx, err := i.Contract.SetConfig( | ||
i.sc.NewTXOpts(), | ||
donID, | ||
configVersion, | ||
f, | ||
signers, | ||
) | ||
if err != nil { | ||
return err | ||
} | ||
|
||
_, err = bind.WaitMined(context.Background(), i.sc.Client, tx) | ||
if err != nil { | ||
return err | ||
} | ||
|
||
return nil | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
package onchain | ||
|
||
import ( | ||
"context" | ||
"crypto/ecdsa" | ||
"errors" | ||
"fmt" | ||
"math/big" | ||
|
||
"github.com/ethereum/go-ethereum/common" | ||
"github.com/ethereum/go-ethereum/core/types" | ||
"github.com/ethereum/go-ethereum/crypto" | ||
"github.com/ethereum/go-ethereum/ethclient" | ||
|
||
"github.com/smartcontractkit/chainlink-testing-framework/framework" | ||
"github.com/smartcontractkit/chainlink-testing-framework/framework/clclient" | ||
"github.com/smartcontractkit/chainlink-testing-framework/seth" | ||
) | ||
|
||
func SendETH(client *ethclient.Client, privateKeyHex string, toAddress string, amount *big.Float) error { | ||
privateKey, err := crypto.HexToECDSA(privateKeyHex) | ||
if err != nil { | ||
return fmt.Errorf("failed to parse private key: %w", err) | ||
} | ||
wei := new(big.Int) | ||
amountWei := new(big.Float).Mul(amount, big.NewFloat(1e18)) | ||
amountWei.Int(wei) | ||
|
||
publicKey := privateKey.Public() | ||
publicKeyECDSA, ok := publicKey.(*ecdsa.PublicKey) | ||
if !ok { | ||
return fmt.Errorf("error casting public key to ECDSA") | ||
} | ||
fromAddress := crypto.PubkeyToAddress(*publicKeyECDSA) | ||
|
||
nonce, err := client.PendingNonceAt(context.Background(), fromAddress) | ||
if err != nil { | ||
return fmt.Errorf("failed to fetch nonce: %w", err) | ||
} | ||
|
||
gasPrice, err := client.SuggestGasPrice(context.Background()) | ||
if err != nil { | ||
return fmt.Errorf("failed to fetch gas price: %w", err) | ||
} | ||
gasLimit := uint64(21000) // Standard gas limit for ETH transfer | ||
|
||
tx := types.NewTransaction(nonce, common.HexToAddress(toAddress), wei, gasLimit, gasPrice, nil) | ||
|
||
chainID, err := client.NetworkID(context.Background()) | ||
if err != nil { | ||
return fmt.Errorf("failed to fetch chain ID: %w", err) | ||
} | ||
signedTx, err := types.SignTx(tx, types.NewEIP155Signer(chainID), privateKey) | ||
if err != nil { | ||
return fmt.Errorf("failed to sign transaction: %w", err) | ||
} | ||
|
||
err = client.SendTransaction(context.Background(), signedTx) | ||
if err != nil { | ||
return fmt.Errorf("failed to send transaction: %w", err) | ||
} | ||
framework.L.Info().Msgf("Transaction sent: %s", signedTx.Hash().Hex()) | ||
return nil | ||
} | ||
|
||
func FundNodes(sc *seth.Client, nodes []*clclient.ChainlinkClient, pkey string, ethAmount float64) error { | ||
if ethAmount == 0 { | ||
return errors.New("funds_eth is 0, set some value in config, ex.: funds_eth = 30.0") | ||
} | ||
for _, cl := range nodes { | ||
ek, err := cl.ReadPrimaryETHKey(fmt.Sprint(sc.Cfg.Network.ChainID)) | ||
if err != nil { | ||
return err | ||
} | ||
if err := SendETH(sc.Client, pkey, ek.Attributes.Address, big.NewFloat(ethAmount)); err != nil { | ||
return fmt.Errorf("failed to fund CL node %s: %w", ek.Attributes.Address, err) | ||
} | ||
} | ||
return nil | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,128 @@ | ||
[blockchain_a] | ||
type = 'anvil' | ||
image = 'f4hrenh9it/foundry:latest' | ||
pull_image = false | ||
port = '8545' | ||
port_ws = '' | ||
chain_id = '1337' | ||
docker_cmd_params = ['-b', '5'] | ||
public_key = '' | ||
contracts_dir = '' | ||
|
||
[blockchain_a.out] | ||
use_cache = true | ||
family = 'evm' | ||
container_name = 'blockchain-node-35764' | ||
chain_id = '1337' | ||
|
||
[[blockchain_a.out.nodes]] | ||
ws_url = 'ws://127.0.0.1:8545' | ||
http_url = 'http://127.0.0.1:8545' | ||
docker_internal_ws_url = 'ws://blockchain-node-35764:8545' | ||
docker_internal_http_url = 'http://blockchain-node-35764:8545' | ||
|
||
[nodeset] | ||
nodes = 5 | ||
http_port_range_start = 0 | ||
p2p_port_range_start = 0 | ||
dlv_port_range_start = 0 | ||
override_mode = 'each' | ||
|
||
[nodeset.db] | ||
image = 'postgres:15.6' | ||
port = 0 | ||
name = '' | ||
volume_name = '' | ||
databases = 5 | ||
jd_database = false | ||
pull_image = false | ||
|
||
[[nodeset.node_specs]] | ||
[nodeset.node_specs.node] | ||
image = '' | ||
name = '' | ||
docker_file = 'plugins/chainlink.Dockerfile' | ||
docker_ctx = '../..' | ||
pull_image = false | ||
capabilities = [] | ||
capabilities_container_dir = '' | ||
test_config_overrides = "\n\t\t\t\t[Feature]\n\t\t\t\tLogPoller = true\n\n\t\t\t\t[OCR2]\n\t\t\t\tEnabled = true\n\t\t\t\tDatabaseTimeout = '1s'\n\n\t\t\t\t[P2P.V2]\n\t\t\t\tEnabled = true\n\t\t\t\tListenAddresses = ['0.0.0.0:5001']\n\t\t\t\tDefaultBootstrappers = ['12D3KooWP6kD9RrEcFWFLKNrZtufX6pEPSsrGJqWVZn7Czygr9Ch@localhost:5001']\n\n\t\t\t\t[Capabilities.Peering.V2]\n\t\t\t\tEnabled = true\n\t\t\t\tListenAddresses = ['0.0.0.0:6690']\n\t\t\t\tDefaultBootstrappers = ['12D3KooWP6kD9RrEcFWFLKNrZtufX6pEPSsrGJqWVZn7Czygr9Ch@localhost:6690']\n\n\t\t\t\t# This is needed for the target capability to be initialized\n\t\t\t\t[[EVM]]\n\t\t\t\tChainID = '1337'\n\n\t\t\t\t[[EVM.Nodes]]\n\t\t\t\tName = 'anvil'\n\t\t\t\tWSURL = 'ws://blockchain-node-35764:8545'\n\t\t\t\tHTTPURL = 'http://blockchain-node-35764:8545'\n\t\t\t" | ||
user_config_overrides = " [Feature]\n\t\t\tLogPoller = true\n\n\t\t\t[OCR2]\n\t\t\tEnabled = true\n\t\t\tDatabaseTimeout = '1s'\n\n\t\t\t[P2P.V2]\n\t\t\tEnabled = true\n\t\t\tListenAddresses = ['0.0.0.0:5001']\n " | ||
test_secrets_overrides = '' | ||
user_secrets_overrides = '' | ||
port = 0 | ||
p2p_port = 0 | ||
custom_ports = [] | ||
debugger_port = 0 | ||
|
||
[[nodeset.node_specs]] | ||
[nodeset.node_specs.node] | ||
image = '' | ||
name = '' | ||
docker_file = 'plugins/chainlink.Dockerfile' | ||
docker_ctx = '../..' | ||
pull_image = false | ||
capabilities = ['./streams-linux-amd64', './cron-linux-amd64'] | ||
capabilities_container_dir = '' | ||
test_config_overrides = "\n\t\t\t\t[Feature]\n\t\t\t\tLogPoller = true\n\n\t\t\t\t[OCR2]\n\t\t\t\tEnabled = true\n\t\t\t\tDatabaseTimeout = '1s'\n\n\t\t\t\t[P2P.V2]\n\t\t\t\tEnabled = true\n\t\t\t\tListenAddresses = ['0.0.0.0:5001']\n\t\t\t\t# assuming that node0 is the bootstrap node\n\t\t\t\tDefaultBootstrappers = ['12D3KooWP6kD9RrEcFWFLKNrZtufX6pEPSsrGJqWVZn7Czygr9Ch@node0:5001']\n\n\t\t\t\t[Capabilities.Peering.V2]\n\t\t\t\tEnabled = true\n\t\t\t\tListenAddresses = ['0.0.0.0:6690']\n\t\t\t\t# assuming that node0 is the bootstrap node\n\t\t\t\tDefaultBootstrappers = ['12D3KooWP6kD9RrEcFWFLKNrZtufX6pEPSsrGJqWVZn7Czygr9Ch@node0:6690']\n\n\t\t\t\t# This is needed for the target capability to be initialized\n\t\t\t\t[[EVM]]\n\t\t\t\tChainID = '1337'\n\n\t\t\t\t[[EVM.Nodes]]\n\t\t\t\tName = 'anvil'\n\t\t\t\tWSURL = 'ws://blockchain-node-35764:8545'\n\t\t\t\tHTTPURL = 'http://blockchain-node-35764:8545'\n\n\t\t\t\t[EVM.Workflow]\n\t\t\t\tFromAddress = '0x61bf8A16f5A774Bd1244B0e42a89713ed356c21d'\n\t\t\t\tForwarderAddress = '0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9'\n\t\t\t\tGasLimitDefault = 400_000\n\n\t\t\t\t[Capabilities.ExternalRegistry]\n\t\t\t\tAddress = '0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512'\n\t\t\t\tNetworkID = 'evm'\n\t\t\t\tChainID = '1337'\n\n\t\t\t\t[Capabilities.WorkflowRegistry]\n\t\t\t\tAddress = \"0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9\"\n\t\t\t\tNetworkID = \"evm\"\n\t\t\t\tChainID = \"1337\"\n\t\t\t" | ||
user_config_overrides = " [Feature]\n\t\t\tLogPoller = true\n\n\t\t\t[OCR2]\n\t\t\tEnabled = true\n\t\t\tDatabaseTimeout = '1s'\n\n\t\t\t[P2P.V2]\n\t\t\tEnabled = true\n\t\t\tListenAddresses = ['0.0.0.0:5001']\n " | ||
test_secrets_overrides = '' | ||
user_secrets_overrides = '' | ||
port = 0 | ||
p2p_port = 0 | ||
custom_ports = [] | ||
debugger_port = 0 | ||
|
||
[[nodeset.node_specs]] | ||
[nodeset.node_specs.node] | ||
image = '' | ||
name = '' | ||
docker_file = 'plugins/chainlink.Dockerfile' | ||
docker_ctx = '../..' | ||
pull_image = false | ||
capabilities = ['./streams-linux-amd64', './cron-linux-amd64'] | ||
capabilities_container_dir = '' | ||
test_config_overrides = "\n\t\t\t\t[Feature]\n\t\t\t\tLogPoller = true\n\n\t\t\t\t[OCR2]\n\t\t\t\tEnabled = true\n\t\t\t\tDatabaseTimeout = '1s'\n\n\t\t\t\t[P2P.V2]\n\t\t\t\tEnabled = true\n\t\t\t\tListenAddresses = ['0.0.0.0:5001']\n\t\t\t\t# assuming that node0 is the bootstrap node\n\t\t\t\tDefaultBootstrappers = ['12D3KooWP6kD9RrEcFWFLKNrZtufX6pEPSsrGJqWVZn7Czygr9Ch@node0:5001']\n\n\t\t\t\t[Capabilities.Peering.V2]\n\t\t\t\tEnabled = true\n\t\t\t\tListenAddresses = ['0.0.0.0:6690']\n\t\t\t\t# assuming that node0 is the bootstrap node\n\t\t\t\tDefaultBootstrappers = ['12D3KooWP6kD9RrEcFWFLKNrZtufX6pEPSsrGJqWVZn7Czygr9Ch@node0:6690']\n\n\t\t\t\t# This is needed for the target capability to be initialized\n\t\t\t\t[[EVM]]\n\t\t\t\tChainID = '1337'\n\n\t\t\t\t[[EVM.Nodes]]\n\t\t\t\tName = 'anvil'\n\t\t\t\tWSURL = 'ws://blockchain-node-35764:8545'\n\t\t\t\tHTTPURL = 'http://blockchain-node-35764:8545'\n\n\t\t\t\t[EVM.Workflow]\n\t\t\t\tFromAddress = '0x80d8bF53d12927Bd76813b809eD29d2949Cab16b'\n\t\t\t\tForwarderAddress = '0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9'\n\t\t\t\tGasLimitDefault = 400_000\n\n\t\t\t\t[Capabilities.ExternalRegistry]\n\t\t\t\tAddress = '0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512'\n\t\t\t\tNetworkID = 'evm'\n\t\t\t\tChainID = '1337'\n\n\t\t\t\t[Capabilities.WorkflowRegistry]\n\t\t\t\tAddress = \"0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9\"\n\t\t\t\tNetworkID = \"evm\"\n\t\t\t\tChainID = \"1337\"\n\t\t\t" | ||
user_config_overrides = " [Feature]\n\t\t\tLogPoller = true\n\n\t\t\t[OCR2]\n\t\t\tEnabled = true\n\t\t\tDatabaseTimeout = '1s'\n\n\t\t\t[P2P.V2]\n\t\t\tEnabled = true\n\t\t\tListenAddresses = ['0.0.0.0:5001']\n " | ||
test_secrets_overrides = '' | ||
user_secrets_overrides = '' | ||
port = 0 | ||
p2p_port = 0 | ||
custom_ports = [] | ||
debugger_port = 0 | ||
|
||
[[nodeset.node_specs]] | ||
[nodeset.node_specs.node] | ||
image = '' | ||
name = '' | ||
docker_file = 'plugins/chainlink.Dockerfile' | ||
docker_ctx = '../..' | ||
pull_image = false | ||
capabilities = ['./streams-linux-amd64', './cron-linux-amd64'] | ||
capabilities_container_dir = '' | ||
test_config_overrides = "\n\t\t\t\t[Feature]\n\t\t\t\tLogPoller = true\n\n\t\t\t\t[OCR2]\n\t\t\t\tEnabled = true\n\t\t\t\tDatabaseTimeout = '1s'\n\n\t\t\t\t[P2P.V2]\n\t\t\t\tEnabled = true\n\t\t\t\tListenAddresses = ['0.0.0.0:5001']\n\t\t\t\t# assuming that node0 is the bootstrap node\n\t\t\t\tDefaultBootstrappers = ['12D3KooWP6kD9RrEcFWFLKNrZtufX6pEPSsrGJqWVZn7Czygr9Ch@node0:5001']\n\n\t\t\t\t[Capabilities.Peering.V2]\n\t\t\t\tEnabled = true\n\t\t\t\tListenAddresses = ['0.0.0.0:6690']\n\t\t\t\t# assuming that node0 is the bootstrap node\n\t\t\t\tDefaultBootstrappers = ['12D3KooWP6kD9RrEcFWFLKNrZtufX6pEPSsrGJqWVZn7Czygr9Ch@node0:6690']\n\n\t\t\t\t# This is needed for the target capability to be initialized\n\t\t\t\t[[EVM]]\n\t\t\t\tChainID = '1337'\n\n\t\t\t\t[[EVM.Nodes]]\n\t\t\t\tName = 'anvil'\n\t\t\t\tWSURL = 'ws://blockchain-node-35764:8545'\n\t\t\t\tHTTPURL = 'http://blockchain-node-35764:8545'\n\n\t\t\t\t[EVM.Workflow]\n\t\t\t\tFromAddress = '0xAaC1812F3e4912EDeB50CD30805fB35B87d87eE0'\n\t\t\t\tForwarderAddress = '0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9'\n\t\t\t\tGasLimitDefault = 400_000\n\n\t\t\t\t[Capabilities.ExternalRegistry]\n\t\t\t\tAddress = '0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512'\n\t\t\t\tNetworkID = 'evm'\n\t\t\t\tChainID = '1337'\n\n\t\t\t\t[Capabilities.WorkflowRegistry]\n\t\t\t\tAddress = \"0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9\"\n\t\t\t\tNetworkID = \"evm\"\n\t\t\t\tChainID = \"1337\"\n\t\t\t" | ||
user_config_overrides = " [Feature]\n\t\t\tLogPoller = true\n\n\t\t\t[OCR2]\n\t\t\tEnabled = true\n\t\t\tDatabaseTimeout = '1s'\n\n\t\t\t[P2P.V2]\n\t\t\tEnabled = true\n\t\t\tListenAddresses = ['0.0.0.0:5001']\n " | ||
test_secrets_overrides = '' | ||
user_secrets_overrides = '' | ||
port = 0 | ||
p2p_port = 0 | ||
custom_ports = [] | ||
debugger_port = 0 | ||
|
||
[[nodeset.node_specs]] | ||
[nodeset.node_specs.node] | ||
image = '' | ||
name = '' | ||
docker_file = 'plugins/chainlink.Dockerfile' | ||
docker_ctx = '../..' | ||
pull_image = false | ||
capabilities = ['./streams-linux-amd64', './cron-linux-amd64'] | ||
capabilities_container_dir = '' | ||
test_config_overrides = "\n\t\t\t\t[Feature]\n\t\t\t\tLogPoller = true\n\n\t\t\t\t[OCR2]\n\t\t\t\tEnabled = true\n\t\t\t\tDatabaseTimeout = '1s'\n\n\t\t\t\t[P2P.V2]\n\t\t\t\tEnabled = true\n\t\t\t\tListenAddresses = ['0.0.0.0:5001']\n\t\t\t\t# assuming that node0 is the bootstrap node\n\t\t\t\tDefaultBootstrappers = ['12D3KooWP6kD9RrEcFWFLKNrZtufX6pEPSsrGJqWVZn7Czygr9Ch@node0:5001']\n\n\t\t\t\t[Capabilities.Peering.V2]\n\t\t\t\tEnabled = true\n\t\t\t\tListenAddresses = ['0.0.0.0:6690']\n\t\t\t\t# assuming that node0 is the bootstrap node\n\t\t\t\tDefaultBootstrappers = ['12D3KooWP6kD9RrEcFWFLKNrZtufX6pEPSsrGJqWVZn7Czygr9Ch@node0:6690']\n\n\t\t\t\t# This is needed for the target capability to be initialized\n\t\t\t\t[[EVM]]\n\t\t\t\tChainID = '1337'\n\n\t\t\t\t[[EVM.Nodes]]\n\t\t\t\tName = 'anvil'\n\t\t\t\tWSURL = 'ws://blockchain-node-35764:8545'\n\t\t\t\tHTTPURL = 'http://blockchain-node-35764:8545'\n\n\t\t\t\t[EVM.Workflow]\n\t\t\t\tFromAddress = '0xcBcDCF01BA7f35D9EeFA88360c099B1dd301F506'\n\t\t\t\tForwarderAddress = '0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9'\n\t\t\t\tGasLimitDefault = 400_000\n\n\t\t\t\t[Capabilities.ExternalRegistry]\n\t\t\t\tAddress = '0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512'\n\t\t\t\tNetworkID = 'evm'\n\t\t\t\tChainID = '1337'\n\n\t\t\t\t[Capabilities.WorkflowRegistry]\n\t\t\t\tAddress = \"0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9\"\n\t\t\t\tNetworkID = \"evm\"\n\t\t\t\tChainID = \"1337\"\n\t\t\t" | ||
user_config_overrides = " [Feature]\n\t\t\tLogPoller = true\n\n\t\t\t[OCR2]\n\t\t\tEnabled = true\n\t\t\tDatabaseTimeout = '1s'\n\n\t\t\t[P2P.V2]\n\t\t\tEnabled = true\n\t\t\tListenAddresses = ['0.0.0.0:5001']\n " | ||
test_secrets_overrides = '' | ||
user_secrets_overrides = '' | ||
port = 0 | ||
p2p_port = 0 | ||
custom_ports = [] | ||
debugger_port = 0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why is the contract changing? implies many downstream changes to deployments and is unreasonable if the purpose of this PR is to fix a test, which is my understanding give the (limited) name and no description
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is not a real PR, I created it share the code with other people. I added that method to figure out why I couldn't fetch the price, even though
feedId
seemed correct and even though the report was correctly sent toKeeperConsumer