From 7c46cc6e48525d71b5ec828137a1aef8bd3fec2c Mon Sep 17 00:00:00 2001 From: Cjpotter10 Date: Thu, 6 Jun 2024 07:09:39 -0500 Subject: [PATCH 1/9] tested DivvyingTips --- x/reporter/keeper/distribution_test.go | 73 ++++++++++++++++++++++++++ x/reporter/keeper/jail.go | 2 +- x/reporter/keeper/jail_test.go | 62 ++++++++++++++++++++++ x/reporter/keeper/msg_server.go | 2 +- 4 files changed, 137 insertions(+), 2 deletions(-) create mode 100644 x/reporter/keeper/distribution_test.go create mode 100644 x/reporter/keeper/jail_test.go diff --git a/x/reporter/keeper/distribution_test.go b/x/reporter/keeper/distribution_test.go new file mode 100644 index 000000000..2a12f268a --- /dev/null +++ b/x/reporter/keeper/distribution_test.go @@ -0,0 +1,73 @@ +package keeper_test + +import ( + "fmt" + "testing" + "time" + + "cosmossdk.io/collections" + "cosmossdk.io/math" + simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/stretchr/testify/require" + keepertest "github.com/tellor-io/layer/testutil/keeper" + "github.com/tellor-io/layer/testutil/sample" + "github.com/tellor-io/layer/x/reporter/types" +) + +func TestDivvyingTips(t *testing.T) { + k, _, _, ctx := keepertest.ReporterKeeper(t) + height := int64(10) + val1Address := sample.AccAddressBytes() + vals := simtestutil.ConvertAddrsToValAddrs([]sdk.AccAddress{val1Address}) + val1 := vals[0] + addr := sample.AccAddressBytes() + addr2 := sample.AccAddressBytes() + updatedAt := time.Now().UTC() + commission := types.NewCommissionWithTime(types.DefaultMinCommissionRate, types.DefaultMinCommissionRate.MulInt(math.NewInt(2)), types.DefaultMinCommissionRate, updatedAt) + reporter1 := types.NewOracleReporter(addr.String(), math.NewInt(2000*1e6), &commission) + //reporter2 := types.NewOracleReporter(addr2.String(), math.NewInt(1000*1e6), &commission) + ctx = ctx.WithBlockHeight(height) + + err := k.Reporters.Set(ctx, addr, reporter1) + require.NoError(t, err) + + tokenOrigin1 := &types.TokenOriginInfo{ + DelegatorAddress: addr.Bytes(), + ValidatorAddress: val1.Bytes(), + Amount: math.NewInt(1000 * 1e6), + } + + tokenOrigin2 := &types.TokenOriginInfo{ + DelegatorAddress: addr2.Bytes(), + ValidatorAddress: val1.Bytes(), + Amount: math.NewInt(1000 * 1e6), + } + tokenOrigins := []*types.TokenOriginInfo{tokenOrigin1, tokenOrigin2} + total := tokenOrigin1.Amount.Add(tokenOrigin2.Amount) + + delegationAmounts := types.DelegationsAmounts{TokenOrigins: tokenOrigins, Total: total} + + err = k.Report.Set(ctx, collections.Join(addr.Bytes(), height), delegationAmounts) + require.NoError(t, err) + + ctx = ctx.WithBlockHeight(12) + err = k.DivvyingTips(ctx, addr, math.NewInt(10*1e6), 10) + require.NoError(t, err) + + ctx = ctx.WithBlockHeight(13) + del1, err := k.DelegatorTips.Get(ctx, addr.Bytes()) + require.NoError(t, err) + del2, err := k.DelegatorTips.Get(ctx, addr2.Bytes()) + + fmt.Printf("delegator1: %v, delegator2: %v\r", del1, del2) + require.Equal(t, math.NewInt(5*1e6), del1) + + require.NoError(t, err) + require.Equal(t, math.NewInt(5*1e6), del2) +} + +// func TestReturnSlashedTokens(t *testing.T) { +// k, _, _, ctx := keepertest.ReporterKeeper(t) + +// } diff --git a/x/reporter/keeper/jail.go b/x/reporter/keeper/jail.go index 8349f49d5..33086f48b 100644 --- a/x/reporter/keeper/jail.go +++ b/x/reporter/keeper/jail.go @@ -37,7 +37,7 @@ func (k Keeper) JailReporter(ctx context.Context, reporterAddr sdk.AccAddress, j } // remove a reporter from jail -func (k Keeper) unjailReporter(ctx context.Context, reporterAddr sdk.AccAddress, reporter types.OracleReporter) error { +func (k Keeper) UnjailReporter(ctx context.Context, reporterAddr sdk.AccAddress, reporter types.OracleReporter) error { if !reporter.Jailed { return types.ErrReporterNotJailed.Wrapf("cannot unjail already unjailed reporter, %v", reporter) } diff --git a/x/reporter/keeper/jail_test.go b/x/reporter/keeper/jail_test.go new file mode 100644 index 000000000..e9be334a8 --- /dev/null +++ b/x/reporter/keeper/jail_test.go @@ -0,0 +1,62 @@ +package keeper_test + +import ( + "testing" + "time" + + "cosmossdk.io/math" + "github.com/stretchr/testify/require" + keepertest "github.com/tellor-io/layer/testutil/keeper" + "github.com/tellor-io/layer/testutil/sample" + "github.com/tellor-io/layer/x/reporter/types" +) + +func TestJailReporter(t *testing.T) { + k, _, _, ctx := keepertest.ReporterKeeper(t) + addr := sample.AccAddressBytes() + updatedAt := time.Now().UTC() + commission := types.NewCommissionWithTime(types.DefaultMinCommissionRate, types.DefaultMinCommissionRate.MulInt(math.NewInt(2)), types.DefaultMinCommissionRate, updatedAt) + reporter := types.NewOracleReporter(addr.String(), math.NewInt(1000*1e6), &commission) + + err := k.Reporters.Set(ctx, addr, reporter) + require.NoError(t, err) + + ctx = ctx.WithBlockTime(updatedAt.Add(time.Second * 10)) + jailedDuration := int64(100) + + err = k.JailReporter(ctx, addr, jailedDuration) + require.NoError(t, err) + + ctx = ctx.WithBlockTime(updatedAt.Add(time.Second * 15)) + updatedReporter, err := k.Reporters.Get(ctx, addr) + require.NoError(t, err) + require.Equal(t, true, updatedReporter.Jailed) + require.Equal(t, updatedAt.Add(time.Second*110), updatedReporter.JailedUntil) +} + +func TestUnJailReporter(t *testing.T) { + k, _, _, ctx := keepertest.ReporterKeeper(t) + addr := sample.AccAddressBytes() + jailedAt := time.Now().UTC() + commission := types.NewCommissionWithTime(types.DefaultMinCommissionRate, types.DefaultMinCommissionRate.MulInt(math.NewInt(2)), types.DefaultMinCommissionRate, jailedAt) + reporter := types.NewOracleReporter(addr.String(), math.NewInt(1000*1e6), &commission) + reporter.Jailed = true + reporter.JailedUntil = jailedAt.Add(time.Second * 100) + ctx = ctx.WithBlockTime(jailedAt.Add(time.Second * 50)) + + // test unjailing reporter before the JailedUntil time + err := k.UnjailReporter(ctx, addr, reporter) + require.Error(t, err) + + // test unjailing after enough time has passed + ctx = ctx.WithBlockTime(jailedAt.Add(time.Second * 505)) + err = k.UnjailReporter(ctx, addr, reporter) + require.NoError(t, err) + + updatedReporter, err := k.Reporters.Get(ctx, addr) + require.NoError(t, err) + require.Equal(t, false, updatedReporter.Jailed) + + err = k.UnjailReporter(ctx, addr, updatedReporter) + require.Error(t, err) +} diff --git a/x/reporter/keeper/msg_server.go b/x/reporter/keeper/msg_server.go index 92a8a738b..49e98940f 100644 --- a/x/reporter/keeper/msg_server.go +++ b/x/reporter/keeper/msg_server.go @@ -141,7 +141,7 @@ func (k msgServer) UnjailReporter(goCtx context.Context, msg *types.MsgUnjailRep return nil, err } - if err := k.Keeper.unjailReporter(ctx, reporterAddr, reporter); err != nil { + if err := k.Keeper.UnjailReporter(ctx, reporterAddr, reporter); err != nil { return nil, err } From 81a323b1c0a25e5efe80a63f551f4fdb7e6d1e2c Mon Sep 17 00:00:00 2001 From: Cjpotter10 Date: Thu, 6 Jun 2024 08:21:28 -0500 Subject: [PATCH 2/9] updated main readme --- README.md | 44 +++++++++++++++----------------------------- 1 file changed, 15 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index 7bd5ba3b6..0d62ff89e 100644 --- a/README.md +++ b/README.md @@ -17,35 +17,21 @@ crypto-economically incentivized to honestly report requested data. For more in-depth information, checkout the [Tellor Layer tech paper](https://github.com/tellor-io/layer/blob/main/TellorLayer%20-%20tech.pdf) and our [ADRs](https://github.com/tellor-io/layer/tree/main/adr). -## Starting the Chain (Without Ignite): - -1) Remove old test chains (if present): -`rm -rf ~/.layer` -2) Go build layerd: -`go build ./cmd/layerd` -3) Initialize the chain: -`./layerd init layer --chain-id layer-test-1` -4) Add a validator account: -`./layerd keys add alice` -5) Create a tx to Give the alice loyas to stake: -`./layerd genesis add-genesis-account alice 10000000000000loya` -6) Create a tx to Stake some loyas for alice: -`./layerd genesis gentx alice 1000000000000loya --chain-id layer-test-1` -7) Add the transactions to the genesis block: -`./layerd genesis collect-gentxs` -8) Start the chain: -`./layerd start` - -## Starting the Chain With Ignite CLI: - -To start the chain locally with Ignite CLI: -`ignite chain serve` - -To create a transaction, in another terminal: -`layerd tx [command]` - -To see all available commands: -`layerd` +## Starting a New Chain: + +1) Select the start script that works for you + - `start_one_node.sh` is for those who want to run a chain with a single validator in a mac environment + - `start_one_node_aws.sh` is for those who want a chain with a single validator and the option to import a faucet account from a seed phrase to be used in a linux environment + - `start_two_chains.sh` (mac environment) sets up two nodes/validators and starts one of them from this script. Then to start the other validator you would run the `start_bill.sh` script + +2) Run the selected script from the base layer folder: +`sh ./start_scripts/{selected_script}` + +## Joining a Running Chain: + +To find more information please go to the layer_scripts folder. + +Here you will find a detailed breakdown for how to join a chain as a node and how to create a new validator for the chain ## Tests From 3c8a56843a0b378fc308577e2e8796b1b0bce5c7 Mon Sep 17 00:00:00 2001 From: Cjpotter10 Date: Thu, 6 Jun 2024 08:29:37 -0500 Subject: [PATCH 3/9] got rid of unfinished test --- x/reporter/keeper/distribution_test.go | 30 +++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/x/reporter/keeper/distribution_test.go b/x/reporter/keeper/distribution_test.go index 2a12f268a..5e27f2813 100644 --- a/x/reporter/keeper/distribution_test.go +++ b/x/reporter/keeper/distribution_test.go @@ -68,6 +68,34 @@ func TestDivvyingTips(t *testing.T) { } // func TestReturnSlashedTokens(t *testing.T) { -// k, _, _, ctx := keepertest.ReporterKeeper(t) +// k, sk, bk, ctx := keepertest.ReporterKeeper(t) +// val1Address := sample.AccAddressBytes() +// vals := simtestutil.ConvertAddrsToValAddrs([]sdk.AccAddress{val1Address}) +// val1 := vals[0] +// addr := sample.AccAddressBytes() +// addr2 := sample.AccAddressBytes() +// updatedAt := time.Now().UTC() +// commission := types.NewCommissionWithTime(types.DefaultMinCommissionRate, types.DefaultMinCommissionRate.MulInt(math.NewInt(2)), types.DefaultMinCommissionRate, updatedAt) +// reporter1 := types.NewOracleReporter(addr.String(), math.NewInt(2000*1e6), &commission) +// //reporter2 := types.NewOracleReporter(addr2.String(), math.NewInt(1000*1e6), &commission) + +// err := k.Reporters.Set(ctx, addr, reporter1) +// require.NoError(t, err) + +// tokenOrigin1 := &types.TokenOriginInfo{ +// DelegatorAddress: addr.Bytes(), +// ValidatorAddress: val1.Bytes(), +// Amount: math.NewInt(1000 * 1e6), +// } + +// tokenOrigin2 := &types.TokenOriginInfo{ +// DelegatorAddress: addr2.Bytes(), +// ValidatorAddress: val1.Bytes(), +// Amount: math.NewInt(1000 * 1e6), +// } +// tokenOrigins := []*types.TokenOriginInfo{tokenOrigin1, tokenOrigin2} +// total := tokenOrigin1.Amount.Add(tokenOrigin2.Amount) + +// delegationAmounts := types.DelegationsAmounts{TokenOrigins: tokenOrigins, Total: total} // } From 622a63921a6244af28d1ba636988114d03d52822 Mon Sep 17 00:00:00 2001 From: themandalore Date: Thu, 6 Jun 2024 09:33:49 -0400 Subject: [PATCH 4/9] Update README.md --- README.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/README.md b/README.md index 0d62ff89e..50fa3b493 100644 --- a/README.md +++ b/README.md @@ -63,7 +63,3 @@ Check out our issues log here on Github or feel free to reach out anytime [info@ ## Copyright Tellor Inc. 2024 - -### Tools - -1. Install [golangci-lint](https://golangci-lint.run/usage/install/) 1.55.2 From 520b2f2b73b113eeac32756b6251ab3780986262 Mon Sep 17 00:00:00 2001 From: Cjpotter10 Date: Thu, 6 Jun 2024 08:38:20 -0500 Subject: [PATCH 5/9] make lint is now running with no errors. so linting issues are good now --- x/reporter/keeper/distribution_test.go | 11 ++++++----- x/reporter/keeper/jail_test.go | 3 ++- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/x/reporter/keeper/distribution_test.go b/x/reporter/keeper/distribution_test.go index 5e27f2813..cd8af945f 100644 --- a/x/reporter/keeper/distribution_test.go +++ b/x/reporter/keeper/distribution_test.go @@ -5,14 +5,16 @@ import ( "testing" "time" - "cosmossdk.io/collections" - "cosmossdk.io/math" - simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" - sdk "github.com/cosmos/cosmos-sdk/types" "github.com/stretchr/testify/require" keepertest "github.com/tellor-io/layer/testutil/keeper" "github.com/tellor-io/layer/testutil/sample" "github.com/tellor-io/layer/x/reporter/types" + + "cosmossdk.io/collections" + "cosmossdk.io/math" + + simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" + sdk "github.com/cosmos/cosmos-sdk/types" ) func TestDivvyingTips(t *testing.T) { @@ -26,7 +28,6 @@ func TestDivvyingTips(t *testing.T) { updatedAt := time.Now().UTC() commission := types.NewCommissionWithTime(types.DefaultMinCommissionRate, types.DefaultMinCommissionRate.MulInt(math.NewInt(2)), types.DefaultMinCommissionRate, updatedAt) reporter1 := types.NewOracleReporter(addr.String(), math.NewInt(2000*1e6), &commission) - //reporter2 := types.NewOracleReporter(addr2.String(), math.NewInt(1000*1e6), &commission) ctx = ctx.WithBlockHeight(height) err := k.Reporters.Set(ctx, addr, reporter1) diff --git a/x/reporter/keeper/jail_test.go b/x/reporter/keeper/jail_test.go index e9be334a8..403ca8ae2 100644 --- a/x/reporter/keeper/jail_test.go +++ b/x/reporter/keeper/jail_test.go @@ -4,11 +4,12 @@ import ( "testing" "time" - "cosmossdk.io/math" "github.com/stretchr/testify/require" keepertest "github.com/tellor-io/layer/testutil/keeper" "github.com/tellor-io/layer/testutil/sample" "github.com/tellor-io/layer/x/reporter/types" + + "cosmossdk.io/math" ) func TestJailReporter(t *testing.T) { From 7d4714782f69e6931bac00e0844d39b153ea4087 Mon Sep 17 00:00:00 2001 From: Cjpotter10 Date: Thu, 6 Jun 2024 07:09:39 -0500 Subject: [PATCH 6/9] tested DivvyingTips --- x/reporter/keeper/distribution_test.go | 73 ++++++++++++++++++++++++++ x/reporter/keeper/jail.go | 2 +- x/reporter/keeper/jail_test.go | 62 ++++++++++++++++++++++ x/reporter/keeper/msg_server.go | 2 +- 4 files changed, 137 insertions(+), 2 deletions(-) create mode 100644 x/reporter/keeper/distribution_test.go create mode 100644 x/reporter/keeper/jail_test.go diff --git a/x/reporter/keeper/distribution_test.go b/x/reporter/keeper/distribution_test.go new file mode 100644 index 000000000..2a12f268a --- /dev/null +++ b/x/reporter/keeper/distribution_test.go @@ -0,0 +1,73 @@ +package keeper_test + +import ( + "fmt" + "testing" + "time" + + "cosmossdk.io/collections" + "cosmossdk.io/math" + simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/stretchr/testify/require" + keepertest "github.com/tellor-io/layer/testutil/keeper" + "github.com/tellor-io/layer/testutil/sample" + "github.com/tellor-io/layer/x/reporter/types" +) + +func TestDivvyingTips(t *testing.T) { + k, _, _, ctx := keepertest.ReporterKeeper(t) + height := int64(10) + val1Address := sample.AccAddressBytes() + vals := simtestutil.ConvertAddrsToValAddrs([]sdk.AccAddress{val1Address}) + val1 := vals[0] + addr := sample.AccAddressBytes() + addr2 := sample.AccAddressBytes() + updatedAt := time.Now().UTC() + commission := types.NewCommissionWithTime(types.DefaultMinCommissionRate, types.DefaultMinCommissionRate.MulInt(math.NewInt(2)), types.DefaultMinCommissionRate, updatedAt) + reporter1 := types.NewOracleReporter(addr.String(), math.NewInt(2000*1e6), &commission) + //reporter2 := types.NewOracleReporter(addr2.String(), math.NewInt(1000*1e6), &commission) + ctx = ctx.WithBlockHeight(height) + + err := k.Reporters.Set(ctx, addr, reporter1) + require.NoError(t, err) + + tokenOrigin1 := &types.TokenOriginInfo{ + DelegatorAddress: addr.Bytes(), + ValidatorAddress: val1.Bytes(), + Amount: math.NewInt(1000 * 1e6), + } + + tokenOrigin2 := &types.TokenOriginInfo{ + DelegatorAddress: addr2.Bytes(), + ValidatorAddress: val1.Bytes(), + Amount: math.NewInt(1000 * 1e6), + } + tokenOrigins := []*types.TokenOriginInfo{tokenOrigin1, tokenOrigin2} + total := tokenOrigin1.Amount.Add(tokenOrigin2.Amount) + + delegationAmounts := types.DelegationsAmounts{TokenOrigins: tokenOrigins, Total: total} + + err = k.Report.Set(ctx, collections.Join(addr.Bytes(), height), delegationAmounts) + require.NoError(t, err) + + ctx = ctx.WithBlockHeight(12) + err = k.DivvyingTips(ctx, addr, math.NewInt(10*1e6), 10) + require.NoError(t, err) + + ctx = ctx.WithBlockHeight(13) + del1, err := k.DelegatorTips.Get(ctx, addr.Bytes()) + require.NoError(t, err) + del2, err := k.DelegatorTips.Get(ctx, addr2.Bytes()) + + fmt.Printf("delegator1: %v, delegator2: %v\r", del1, del2) + require.Equal(t, math.NewInt(5*1e6), del1) + + require.NoError(t, err) + require.Equal(t, math.NewInt(5*1e6), del2) +} + +// func TestReturnSlashedTokens(t *testing.T) { +// k, _, _, ctx := keepertest.ReporterKeeper(t) + +// } diff --git a/x/reporter/keeper/jail.go b/x/reporter/keeper/jail.go index 8349f49d5..33086f48b 100644 --- a/x/reporter/keeper/jail.go +++ b/x/reporter/keeper/jail.go @@ -37,7 +37,7 @@ func (k Keeper) JailReporter(ctx context.Context, reporterAddr sdk.AccAddress, j } // remove a reporter from jail -func (k Keeper) unjailReporter(ctx context.Context, reporterAddr sdk.AccAddress, reporter types.OracleReporter) error { +func (k Keeper) UnjailReporter(ctx context.Context, reporterAddr sdk.AccAddress, reporter types.OracleReporter) error { if !reporter.Jailed { return types.ErrReporterNotJailed.Wrapf("cannot unjail already unjailed reporter, %v", reporter) } diff --git a/x/reporter/keeper/jail_test.go b/x/reporter/keeper/jail_test.go new file mode 100644 index 000000000..e9be334a8 --- /dev/null +++ b/x/reporter/keeper/jail_test.go @@ -0,0 +1,62 @@ +package keeper_test + +import ( + "testing" + "time" + + "cosmossdk.io/math" + "github.com/stretchr/testify/require" + keepertest "github.com/tellor-io/layer/testutil/keeper" + "github.com/tellor-io/layer/testutil/sample" + "github.com/tellor-io/layer/x/reporter/types" +) + +func TestJailReporter(t *testing.T) { + k, _, _, ctx := keepertest.ReporterKeeper(t) + addr := sample.AccAddressBytes() + updatedAt := time.Now().UTC() + commission := types.NewCommissionWithTime(types.DefaultMinCommissionRate, types.DefaultMinCommissionRate.MulInt(math.NewInt(2)), types.DefaultMinCommissionRate, updatedAt) + reporter := types.NewOracleReporter(addr.String(), math.NewInt(1000*1e6), &commission) + + err := k.Reporters.Set(ctx, addr, reporter) + require.NoError(t, err) + + ctx = ctx.WithBlockTime(updatedAt.Add(time.Second * 10)) + jailedDuration := int64(100) + + err = k.JailReporter(ctx, addr, jailedDuration) + require.NoError(t, err) + + ctx = ctx.WithBlockTime(updatedAt.Add(time.Second * 15)) + updatedReporter, err := k.Reporters.Get(ctx, addr) + require.NoError(t, err) + require.Equal(t, true, updatedReporter.Jailed) + require.Equal(t, updatedAt.Add(time.Second*110), updatedReporter.JailedUntil) +} + +func TestUnJailReporter(t *testing.T) { + k, _, _, ctx := keepertest.ReporterKeeper(t) + addr := sample.AccAddressBytes() + jailedAt := time.Now().UTC() + commission := types.NewCommissionWithTime(types.DefaultMinCommissionRate, types.DefaultMinCommissionRate.MulInt(math.NewInt(2)), types.DefaultMinCommissionRate, jailedAt) + reporter := types.NewOracleReporter(addr.String(), math.NewInt(1000*1e6), &commission) + reporter.Jailed = true + reporter.JailedUntil = jailedAt.Add(time.Second * 100) + ctx = ctx.WithBlockTime(jailedAt.Add(time.Second * 50)) + + // test unjailing reporter before the JailedUntil time + err := k.UnjailReporter(ctx, addr, reporter) + require.Error(t, err) + + // test unjailing after enough time has passed + ctx = ctx.WithBlockTime(jailedAt.Add(time.Second * 505)) + err = k.UnjailReporter(ctx, addr, reporter) + require.NoError(t, err) + + updatedReporter, err := k.Reporters.Get(ctx, addr) + require.NoError(t, err) + require.Equal(t, false, updatedReporter.Jailed) + + err = k.UnjailReporter(ctx, addr, updatedReporter) + require.Error(t, err) +} diff --git a/x/reporter/keeper/msg_server.go b/x/reporter/keeper/msg_server.go index 0b03d28b3..53d15c3e2 100644 --- a/x/reporter/keeper/msg_server.go +++ b/x/reporter/keeper/msg_server.go @@ -148,7 +148,7 @@ func (k msgServer) UnjailReporter(goCtx context.Context, msg *types.MsgUnjailRep return nil, err } - if err := k.Keeper.unjailReporter(ctx, reporterAddr, reporter); err != nil { + if err := k.Keeper.UnjailReporter(ctx, reporterAddr, reporter); err != nil { return nil, err } From 2223d370b6b73423e68af2d7d890a04bf211878b Mon Sep 17 00:00:00 2001 From: Cjpotter10 Date: Thu, 6 Jun 2024 08:29:37 -0500 Subject: [PATCH 7/9] got rid of unfinished test --- x/reporter/keeper/distribution_test.go | 30 +++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/x/reporter/keeper/distribution_test.go b/x/reporter/keeper/distribution_test.go index 2a12f268a..5e27f2813 100644 --- a/x/reporter/keeper/distribution_test.go +++ b/x/reporter/keeper/distribution_test.go @@ -68,6 +68,34 @@ func TestDivvyingTips(t *testing.T) { } // func TestReturnSlashedTokens(t *testing.T) { -// k, _, _, ctx := keepertest.ReporterKeeper(t) +// k, sk, bk, ctx := keepertest.ReporterKeeper(t) +// val1Address := sample.AccAddressBytes() +// vals := simtestutil.ConvertAddrsToValAddrs([]sdk.AccAddress{val1Address}) +// val1 := vals[0] +// addr := sample.AccAddressBytes() +// addr2 := sample.AccAddressBytes() +// updatedAt := time.Now().UTC() +// commission := types.NewCommissionWithTime(types.DefaultMinCommissionRate, types.DefaultMinCommissionRate.MulInt(math.NewInt(2)), types.DefaultMinCommissionRate, updatedAt) +// reporter1 := types.NewOracleReporter(addr.String(), math.NewInt(2000*1e6), &commission) +// //reporter2 := types.NewOracleReporter(addr2.String(), math.NewInt(1000*1e6), &commission) + +// err := k.Reporters.Set(ctx, addr, reporter1) +// require.NoError(t, err) + +// tokenOrigin1 := &types.TokenOriginInfo{ +// DelegatorAddress: addr.Bytes(), +// ValidatorAddress: val1.Bytes(), +// Amount: math.NewInt(1000 * 1e6), +// } + +// tokenOrigin2 := &types.TokenOriginInfo{ +// DelegatorAddress: addr2.Bytes(), +// ValidatorAddress: val1.Bytes(), +// Amount: math.NewInt(1000 * 1e6), +// } +// tokenOrigins := []*types.TokenOriginInfo{tokenOrigin1, tokenOrigin2} +// total := tokenOrigin1.Amount.Add(tokenOrigin2.Amount) + +// delegationAmounts := types.DelegationsAmounts{TokenOrigins: tokenOrigins, Total: total} // } From 1a34c62fea34700d4b4244ac69421f3e20cb4301 Mon Sep 17 00:00:00 2001 From: Cjpotter10 Date: Thu, 6 Jun 2024 08:38:20 -0500 Subject: [PATCH 8/9] make lint is now running with no errors. so linting issues are good now --- x/reporter/keeper/distribution_test.go | 11 ++++++----- x/reporter/keeper/jail_test.go | 3 ++- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/x/reporter/keeper/distribution_test.go b/x/reporter/keeper/distribution_test.go index 5e27f2813..cd8af945f 100644 --- a/x/reporter/keeper/distribution_test.go +++ b/x/reporter/keeper/distribution_test.go @@ -5,14 +5,16 @@ import ( "testing" "time" - "cosmossdk.io/collections" - "cosmossdk.io/math" - simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" - sdk "github.com/cosmos/cosmos-sdk/types" "github.com/stretchr/testify/require" keepertest "github.com/tellor-io/layer/testutil/keeper" "github.com/tellor-io/layer/testutil/sample" "github.com/tellor-io/layer/x/reporter/types" + + "cosmossdk.io/collections" + "cosmossdk.io/math" + + simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" + sdk "github.com/cosmos/cosmos-sdk/types" ) func TestDivvyingTips(t *testing.T) { @@ -26,7 +28,6 @@ func TestDivvyingTips(t *testing.T) { updatedAt := time.Now().UTC() commission := types.NewCommissionWithTime(types.DefaultMinCommissionRate, types.DefaultMinCommissionRate.MulInt(math.NewInt(2)), types.DefaultMinCommissionRate, updatedAt) reporter1 := types.NewOracleReporter(addr.String(), math.NewInt(2000*1e6), &commission) - //reporter2 := types.NewOracleReporter(addr2.String(), math.NewInt(1000*1e6), &commission) ctx = ctx.WithBlockHeight(height) err := k.Reporters.Set(ctx, addr, reporter1) diff --git a/x/reporter/keeper/jail_test.go b/x/reporter/keeper/jail_test.go index e9be334a8..403ca8ae2 100644 --- a/x/reporter/keeper/jail_test.go +++ b/x/reporter/keeper/jail_test.go @@ -4,11 +4,12 @@ import ( "testing" "time" - "cosmossdk.io/math" "github.com/stretchr/testify/require" keepertest "github.com/tellor-io/layer/testutil/keeper" "github.com/tellor-io/layer/testutil/sample" "github.com/tellor-io/layer/x/reporter/types" + + "cosmossdk.io/math" ) func TestJailReporter(t *testing.T) { From 6b063948d5458614591d95a16ada35e0de161452 Mon Sep 17 00:00:00 2001 From: Cjpotter10 Date: Thu, 6 Jun 2024 08:55:14 -0500 Subject: [PATCH 9/9] added the new param to NewOracleReporter --- x/reporter/keeper/distribution_test.go | 2 +- x/reporter/keeper/jail_test.go | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/x/reporter/keeper/distribution_test.go b/x/reporter/keeper/distribution_test.go index cd8af945f..b727f6ff6 100644 --- a/x/reporter/keeper/distribution_test.go +++ b/x/reporter/keeper/distribution_test.go @@ -27,7 +27,7 @@ func TestDivvyingTips(t *testing.T) { addr2 := sample.AccAddressBytes() updatedAt := time.Now().UTC() commission := types.NewCommissionWithTime(types.DefaultMinCommissionRate, types.DefaultMinCommissionRate.MulInt(math.NewInt(2)), types.DefaultMinCommissionRate, updatedAt) - reporter1 := types.NewOracleReporter(addr.String(), math.NewInt(2000*1e6), &commission) + reporter1 := types.NewOracleReporter(addr.String(), math.NewInt(2000*1e6), &commission, 1) ctx = ctx.WithBlockHeight(height) err := k.Reporters.Set(ctx, addr, reporter1) diff --git a/x/reporter/keeper/jail_test.go b/x/reporter/keeper/jail_test.go index 403ca8ae2..3701231d3 100644 --- a/x/reporter/keeper/jail_test.go +++ b/x/reporter/keeper/jail_test.go @@ -17,7 +17,7 @@ func TestJailReporter(t *testing.T) { addr := sample.AccAddressBytes() updatedAt := time.Now().UTC() commission := types.NewCommissionWithTime(types.DefaultMinCommissionRate, types.DefaultMinCommissionRate.MulInt(math.NewInt(2)), types.DefaultMinCommissionRate, updatedAt) - reporter := types.NewOracleReporter(addr.String(), math.NewInt(1000*1e6), &commission) + reporter := types.NewOracleReporter(addr.String(), math.NewInt(1000*1e6), &commission, 1) err := k.Reporters.Set(ctx, addr, reporter) require.NoError(t, err) @@ -40,7 +40,7 @@ func TestUnJailReporter(t *testing.T) { addr := sample.AccAddressBytes() jailedAt := time.Now().UTC() commission := types.NewCommissionWithTime(types.DefaultMinCommissionRate, types.DefaultMinCommissionRate.MulInt(math.NewInt(2)), types.DefaultMinCommissionRate, jailedAt) - reporter := types.NewOracleReporter(addr.String(), math.NewInt(1000*1e6), &commission) + reporter := types.NewOracleReporter(addr.String(), math.NewInt(1000*1e6), &commission, 1) reporter.Jailed = true reporter.JailedUntil = jailedAt.Add(time.Second * 100) ctx = ctx.WithBlockTime(jailedAt.Add(time.Second * 50))