Skip to content

Commit

Permalink
Merge branch 'develop' into only-fifth-word
Browse files Browse the repository at this point in the history
  • Loading branch information
reductionista authored May 24, 2024
2 parents 3f43e30 + 6bd866a commit 1824971
Show file tree
Hide file tree
Showing 13 changed files with 85 additions and 21 deletions.
2 changes: 1 addition & 1 deletion core/scripts/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,7 @@ require (
github.com/smartcontractkit/chainlink-cosmos v0.4.1-0.20240508101745-af1ed7bc8a69 // indirect
github.com/smartcontractkit/chainlink-data-streams v0.0.0-20240220203239-09be0ea34540 // indirect
github.com/smartcontractkit/chainlink-feeds v0.0.0-20240522213638-159fb2d99917 // indirect
github.com/smartcontractkit/chainlink-solana v1.0.3-0.20240523174813-45db170c1ccc // indirect
github.com/smartcontractkit/chainlink-solana v1.0.3-0.20240524131846-a10ff1f030c9 // indirect
github.com/smartcontractkit/chainlink-starknet/relayer v0.0.1-beta-test.0.20240508155030-1024f2b55c69 // 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
Expand Down
4 changes: 2 additions & 2 deletions core/scripts/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -1193,8 +1193,8 @@ github.com/smartcontractkit/chainlink-data-streams v0.0.0-20240220203239-09be0ea
github.com/smartcontractkit/chainlink-data-streams v0.0.0-20240220203239-09be0ea34540/go.mod h1:sjAmX8K2kbQhvDarZE1ZZgDgmHJ50s0BBc/66vKY2ek=
github.com/smartcontractkit/chainlink-feeds v0.0.0-20240522213638-159fb2d99917 h1:MD80ZRCTvxxJ8PBmhtrKoTnky8cVNYrCrIBLVRbrOM0=
github.com/smartcontractkit/chainlink-feeds v0.0.0-20240522213638-159fb2d99917/go.mod h1:jwVxhctE6BgLOSSsVq9wbREpZ8Ev34H+UBxeUhESZRs=
github.com/smartcontractkit/chainlink-solana v1.0.3-0.20240523174813-45db170c1ccc h1:ZqgatXFWsJR/hkvm2mKAta6ivXZqTw7542Iz9ucoOq0=
github.com/smartcontractkit/chainlink-solana v1.0.3-0.20240523174813-45db170c1ccc/go.mod h1:sR0dMjjpvvEpX3qH8DPRANauPkbO9jgUUGYK95xjLRU=
github.com/smartcontractkit/chainlink-solana v1.0.3-0.20240524131846-a10ff1f030c9 h1:BiOkkTfgn2J0QwOqfuSm1uoojYgKmLqq9dUsq8EnBzs=
github.com/smartcontractkit/chainlink-solana v1.0.3-0.20240524131846-a10ff1f030c9/go.mod h1:sR0dMjjpvvEpX3qH8DPRANauPkbO9jgUUGYK95xjLRU=
github.com/smartcontractkit/chainlink-starknet/relayer v0.0.1-beta-test.0.20240508155030-1024f2b55c69 h1:ssh/w3oXWu+C6bE88GuFRC1+0Bx/4ihsbc80XMLrl2k=
github.com/smartcontractkit/chainlink-starknet/relayer v0.0.1-beta-test.0.20240508155030-1024f2b55c69/go.mod h1:VsfjhvWgjxqWja4q+FlXEtX5lu8BSxn10xRo6gi948g=
github.com/smartcontractkit/chainlink-vrf v0.0.0-20240222010609-cd67d123c772 h1:LQmRsrzzaYYN3wEU1l5tWiccznhvbyGnu2N+wHSXZAo=
Expand Down
4 changes: 1 addition & 3 deletions core/utils/config/validate.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,7 @@ func validate(v reflect.Value, checkInterface bool) (err error) {
if checkInterface {
i := v.Interface()
if vc, ok := i.(Validated); ok {
for _, e := range utils.UnwrapError(vc.ValidateConfig()) {
err = multierr.Append(err, e)
}
err = multierr.Append(err, vc.ValidateConfig())
} else if v.CanAddr() {
i = v.Addr().Interface()
if vc, ok := i.(Validated); ok {
Expand Down
18 changes: 15 additions & 3 deletions core/utils/errors.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ package utils
import (
"fmt"
"strings"

"go.uber.org/multierr"
)

type multiErrorList []error
Expand All @@ -14,7 +12,7 @@ func MultiErrorList(err error) (int, error) {
if err == nil {
return 0, nil
}
errs := multierr.Errors(err)
errs := Flatten(err)
return len(errs), multiErrorList(errs)
}

Expand All @@ -34,3 +32,17 @@ func (m multiErrorList) Error() string {
func (m multiErrorList) Unwrap() []error {
return m
}

// Flatten calls `Unwrap() []error` on each error and subsequent returned error that implement the method, returning a fully flattend sequence.
//
//nolint:errorlint // error type checks will fail on wrapped errors. Disabled since we are not doing checks on error types.
func Flatten(errs ...error) (flat []error) {
for _, err := range errs {
if me, ok := err.(interface{ Unwrap() []error }); ok {
flat = append(flat, Flatten(me.Unwrap()...)...)
continue
}
flat = append(flat, err)
}
return
}
52 changes: 52 additions & 0 deletions core/utils/errors_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
package utils

import (
"errors"
"testing"

"github.com/stretchr/testify/assert"
"go.uber.org/multierr"
)

func TestFlatten(t *testing.T) {
e := []error{
errors.New("0"),
errors.New("1"),
errors.New("2"),
errors.New("3"),
}

// nested errors
// [[[0, 1], 2], 3]
err0 := errors.Join(nil, e[0])
err0 = errors.Join(err0, e[1])
err0 = errors.Join(err0, e[2])
err0 = errors.Join(err0, e[3])

// flat error
err1 := errors.Join(e...)

// multierr provides a flat error
err2 := multierr.Append(nil, e[0])
err2 = multierr.Append(err2, e[1])
err2 = multierr.Append(err2, e[2])
err2 = multierr.Append(err2, e[3])

params := []struct {
name string
err error
out []error
}{
{"errors.Join nested", err0, e},
{"errors.Join flat", err1, e},
{"multierr.Append", err2, e},
{"nil", nil, []error{nil}},
{"single", e[0], []error{e[0]}},
}

for _, p := range params {
t.Run(p.name, func(t *testing.T) {
assert.Equal(t, p.out, Flatten(p.err))
})
}
}
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ require (
github.com/smartcontractkit/chainlink-cosmos v0.4.1-0.20240508101745-af1ed7bc8a69
github.com/smartcontractkit/chainlink-data-streams v0.0.0-20240220203239-09be0ea34540
github.com/smartcontractkit/chainlink-feeds v0.0.0-20240522213638-159fb2d99917
github.com/smartcontractkit/chainlink-solana v1.0.3-0.20240523174813-45db170c1ccc
github.com/smartcontractkit/chainlink-solana v1.0.3-0.20240524131846-a10ff1f030c9
github.com/smartcontractkit/chainlink-starknet/relayer v0.0.1-beta-test.0.20240508155030-1024f2b55c69
github.com/smartcontractkit/chainlink-vrf v0.0.0-20231120191722-fef03814f868
github.com/smartcontractkit/libocr v0.0.0-20240419185742-fd3cab206b2c
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -1179,8 +1179,8 @@ github.com/smartcontractkit/chainlink-data-streams v0.0.0-20240220203239-09be0ea
github.com/smartcontractkit/chainlink-data-streams v0.0.0-20240220203239-09be0ea34540/go.mod h1:sjAmX8K2kbQhvDarZE1ZZgDgmHJ50s0BBc/66vKY2ek=
github.com/smartcontractkit/chainlink-feeds v0.0.0-20240522213638-159fb2d99917 h1:MD80ZRCTvxxJ8PBmhtrKoTnky8cVNYrCrIBLVRbrOM0=
github.com/smartcontractkit/chainlink-feeds v0.0.0-20240522213638-159fb2d99917/go.mod h1:jwVxhctE6BgLOSSsVq9wbREpZ8Ev34H+UBxeUhESZRs=
github.com/smartcontractkit/chainlink-solana v1.0.3-0.20240523174813-45db170c1ccc h1:ZqgatXFWsJR/hkvm2mKAta6ivXZqTw7542Iz9ucoOq0=
github.com/smartcontractkit/chainlink-solana v1.0.3-0.20240523174813-45db170c1ccc/go.mod h1:sR0dMjjpvvEpX3qH8DPRANauPkbO9jgUUGYK95xjLRU=
github.com/smartcontractkit/chainlink-solana v1.0.3-0.20240524131846-a10ff1f030c9 h1:BiOkkTfgn2J0QwOqfuSm1uoojYgKmLqq9dUsq8EnBzs=
github.com/smartcontractkit/chainlink-solana v1.0.3-0.20240524131846-a10ff1f030c9/go.mod h1:sR0dMjjpvvEpX3qH8DPRANauPkbO9jgUUGYK95xjLRU=
github.com/smartcontractkit/chainlink-starknet/relayer v0.0.1-beta-test.0.20240508155030-1024f2b55c69 h1:ssh/w3oXWu+C6bE88GuFRC1+0Bx/4ihsbc80XMLrl2k=
github.com/smartcontractkit/chainlink-starknet/relayer v0.0.1-beta-test.0.20240508155030-1024f2b55c69/go.mod h1:VsfjhvWgjxqWja4q+FlXEtX5lu8BSxn10xRo6gi948g=
github.com/smartcontractkit/chainlink-vrf v0.0.0-20231120191722-fef03814f868 h1:FFdvEzlYwcuVHkdZ8YnZR/XomeMGbz5E2F2HZI3I3w8=
Expand Down
2 changes: 1 addition & 1 deletion integration-tests/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -376,7 +376,7 @@ require (
github.com/smartcontractkit/chainlink-cosmos v0.4.1-0.20240508101745-af1ed7bc8a69 // indirect
github.com/smartcontractkit/chainlink-data-streams v0.0.0-20240220203239-09be0ea34540 // indirect
github.com/smartcontractkit/chainlink-feeds v0.0.0-20240522213638-159fb2d99917 // indirect
github.com/smartcontractkit/chainlink-solana v1.0.3-0.20240523174813-45db170c1ccc // indirect
github.com/smartcontractkit/chainlink-solana v1.0.3-0.20240524131846-a10ff1f030c9 // indirect
github.com/smartcontractkit/chainlink-starknet/relayer v0.0.1-beta-test.0.20240508155030-1024f2b55c69 // indirect
github.com/smartcontractkit/chainlink-testing-framework/grafana v0.0.0-20240328204215-ac91f55f1449 // indirect
github.com/smartcontractkit/tdh2/go/ocr2/decryptionplugin v0.0.0-20230906073235-9e478e5e19f1 // indirect
Expand Down
4 changes: 2 additions & 2 deletions integration-tests/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -1520,8 +1520,8 @@ github.com/smartcontractkit/chainlink-data-streams v0.0.0-20240220203239-09be0ea
github.com/smartcontractkit/chainlink-data-streams v0.0.0-20240220203239-09be0ea34540/go.mod h1:sjAmX8K2kbQhvDarZE1ZZgDgmHJ50s0BBc/66vKY2ek=
github.com/smartcontractkit/chainlink-feeds v0.0.0-20240522213638-159fb2d99917 h1:MD80ZRCTvxxJ8PBmhtrKoTnky8cVNYrCrIBLVRbrOM0=
github.com/smartcontractkit/chainlink-feeds v0.0.0-20240522213638-159fb2d99917/go.mod h1:jwVxhctE6BgLOSSsVq9wbREpZ8Ev34H+UBxeUhESZRs=
github.com/smartcontractkit/chainlink-solana v1.0.3-0.20240523174813-45db170c1ccc h1:ZqgatXFWsJR/hkvm2mKAta6ivXZqTw7542Iz9ucoOq0=
github.com/smartcontractkit/chainlink-solana v1.0.3-0.20240523174813-45db170c1ccc/go.mod h1:sR0dMjjpvvEpX3qH8DPRANauPkbO9jgUUGYK95xjLRU=
github.com/smartcontractkit/chainlink-solana v1.0.3-0.20240524131846-a10ff1f030c9 h1:BiOkkTfgn2J0QwOqfuSm1uoojYgKmLqq9dUsq8EnBzs=
github.com/smartcontractkit/chainlink-solana v1.0.3-0.20240524131846-a10ff1f030c9/go.mod h1:sR0dMjjpvvEpX3qH8DPRANauPkbO9jgUUGYK95xjLRU=
github.com/smartcontractkit/chainlink-starknet/relayer v0.0.1-beta-test.0.20240508155030-1024f2b55c69 h1:ssh/w3oXWu+C6bE88GuFRC1+0Bx/4ihsbc80XMLrl2k=
github.com/smartcontractkit/chainlink-starknet/relayer v0.0.1-beta-test.0.20240508155030-1024f2b55c69/go.mod h1:VsfjhvWgjxqWja4q+FlXEtX5lu8BSxn10xRo6gi948g=
github.com/smartcontractkit/chainlink-testing-framework v1.28.15 h1:mga7N6jtXQ3UOCt43IdsEnCMBh9xjOWPaE9BiM6kr6Q=
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -798,7 +798,7 @@ Test Duration: %s`
if err != nil {
l.Error().Err(err).Msg("Error increasing TTL of namespace")
}
} else if chainClient.Cfg.IsSimulatedNetwork() || *loadedTestConfig.Automation.General.RemoveNamespace {
} else if chainClient.Cfg.IsSimulatedNetwork() && *loadedTestConfig.Automation.General.RemoveNamespace {
err := testEnvironment.Client.RemoveNamespace(testEnvironment.Cfg.Namespace)
if err != nil {
l.Error().Err(err).Msg("Error removing namespace")
Expand Down
2 changes: 1 addition & 1 deletion integration-tests/load/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -369,7 +369,7 @@ require (
github.com/smartcontractkit/chainlink-cosmos v0.4.1-0.20240508101745-af1ed7bc8a69 // indirect
github.com/smartcontractkit/chainlink-data-streams v0.0.0-20240220203239-09be0ea34540 // indirect
github.com/smartcontractkit/chainlink-feeds v0.0.0-20240522213638-159fb2d99917 // indirect
github.com/smartcontractkit/chainlink-solana v1.0.3-0.20240523174813-45db170c1ccc // indirect
github.com/smartcontractkit/chainlink-solana v1.0.3-0.20240524131846-a10ff1f030c9 // indirect
github.com/smartcontractkit/chainlink-starknet/relayer v0.0.1-beta-test.0.20240508155030-1024f2b55c69 // indirect
github.com/smartcontractkit/chainlink-testing-framework/grafana v0.0.0-20240328204215-ac91f55f1449 // indirect
github.com/smartcontractkit/chainlink-vrf v0.0.0-20231120191722-fef03814f868 // indirect
Expand Down
4 changes: 2 additions & 2 deletions integration-tests/load/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -1510,8 +1510,8 @@ github.com/smartcontractkit/chainlink-data-streams v0.0.0-20240220203239-09be0ea
github.com/smartcontractkit/chainlink-data-streams v0.0.0-20240220203239-09be0ea34540/go.mod h1:sjAmX8K2kbQhvDarZE1ZZgDgmHJ50s0BBc/66vKY2ek=
github.com/smartcontractkit/chainlink-feeds v0.0.0-20240522213638-159fb2d99917 h1:MD80ZRCTvxxJ8PBmhtrKoTnky8cVNYrCrIBLVRbrOM0=
github.com/smartcontractkit/chainlink-feeds v0.0.0-20240522213638-159fb2d99917/go.mod h1:jwVxhctE6BgLOSSsVq9wbREpZ8Ev34H+UBxeUhESZRs=
github.com/smartcontractkit/chainlink-solana v1.0.3-0.20240523174813-45db170c1ccc h1:ZqgatXFWsJR/hkvm2mKAta6ivXZqTw7542Iz9ucoOq0=
github.com/smartcontractkit/chainlink-solana v1.0.3-0.20240523174813-45db170c1ccc/go.mod h1:sR0dMjjpvvEpX3qH8DPRANauPkbO9jgUUGYK95xjLRU=
github.com/smartcontractkit/chainlink-solana v1.0.3-0.20240524131846-a10ff1f030c9 h1:BiOkkTfgn2J0QwOqfuSm1uoojYgKmLqq9dUsq8EnBzs=
github.com/smartcontractkit/chainlink-solana v1.0.3-0.20240524131846-a10ff1f030c9/go.mod h1:sR0dMjjpvvEpX3qH8DPRANauPkbO9jgUUGYK95xjLRU=
github.com/smartcontractkit/chainlink-starknet/relayer v0.0.1-beta-test.0.20240508155030-1024f2b55c69 h1:ssh/w3oXWu+C6bE88GuFRC1+0Bx/4ihsbc80XMLrl2k=
github.com/smartcontractkit/chainlink-starknet/relayer v0.0.1-beta-test.0.20240508155030-1024f2b55c69/go.mod h1:VsfjhvWgjxqWja4q+FlXEtX5lu8BSxn10xRo6gi948g=
github.com/smartcontractkit/chainlink-testing-framework v1.28.15 h1:mga7N6jtXQ3UOCt43IdsEnCMBh9xjOWPaE9BiM6kr6Q=
Expand Down
6 changes: 4 additions & 2 deletions integration-tests/testconfig/automation/automation.toml
Original file line number Diff line number Diff line change
Expand Up @@ -102,14 +102,15 @@ block_time=1
spec_type="minimum"
chainlink_node_log_level="info"
use_prometheus=false
remove_namespace = true

# load test specific overrides
[Load.Seth]
ephemeral_addresses_number = 100
root_key_funds_buffer = 1_000_000

[Load.Common]
chainlink_node_funding = 100
remove_namespace = true
chainlink_node_funding = 1000

[Load.Automation]
[Load.Automation.General]
Expand All @@ -119,6 +120,7 @@ block_time=1
spec_type="minimum"
chainlink_node_log_level="info"
use_prometheus=false
remove_namespace = true

[Load.Automation.DataStreams]
enabled=false
Expand Down

0 comments on commit 1824971

Please sign in to comment.