From 3f36991b4fe1ae4a9b94b7750efe04567dc71843 Mon Sep 17 00:00:00 2001 From: Tony Stark Date: Mon, 10 Feb 2025 17:25:13 +0530 Subject: [PATCH] chore: remove unused code --- x/node/types/v2/node.go | 104 ---- x/node/types/v2/node_test.go | 684 ------------------------ x/node/types/v2/querier.go | 33 -- x/node/types/v2/querier_test.go | 66 --- x/session/types/v2/querier.go | 48 -- x/session/types/v2/querier_test.go | 168 ------ x/session/types/v2/session.go | 56 -- x/subscription/types/v2/payout.go | 37 -- x/subscription/types/v2/payout_test.go | 163 ------ x/subscription/types/v2/querier.go | 61 --- x/subscription/types/v2/querier_test.go | 181 ------- x/subscription/types/v2/subscription.go | 79 --- 12 files changed, 1680 deletions(-) delete mode 100644 x/node/types/v2/node.go delete mode 100644 x/node/types/v2/node_test.go delete mode 100644 x/node/types/v2/querier.go delete mode 100644 x/node/types/v2/querier_test.go delete mode 100644 x/session/types/v2/querier_test.go delete mode 100644 x/session/types/v2/session.go delete mode 100644 x/subscription/types/v2/payout.go delete mode 100644 x/subscription/types/v2/payout_test.go delete mode 100644 x/subscription/types/v2/querier_test.go diff --git a/x/node/types/v2/node.go b/x/node/types/v2/node.go deleted file mode 100644 index c674612e..00000000 --- a/x/node/types/v2/node.go +++ /dev/null @@ -1,104 +0,0 @@ -package v2 - -import ( - "fmt" - "net/url" - - sdkerrors "cosmossdk.io/errors" - sdkmath "cosmossdk.io/math" - sdk "github.com/cosmos/cosmos-sdk/types" - - base "github.com/sentinel-official/hub/v12/types" - v1base "github.com/sentinel-official/hub/v12/types/v1" -) - -func (m *Node) Validate() error { - if m.Address == "" { - return fmt.Errorf("address cannot be empty") - } - if _, err := base.NodeAddressFromBech32(m.Address); err != nil { - return sdkerrors.Wrapf(err, "invalid address %s", m.Address) - } - if m.GigabytePrices == nil { - return fmt.Errorf("gigabyte_prices cannot be nil") - } - if m.GigabytePrices.Len() == 0 { - return fmt.Errorf("gigabyte_prices cannot be empty") - } - if m.GigabytePrices.IsAnyNil() { - return fmt.Errorf("gigabyte_prices cannot contain nil") - } - if !m.GigabytePrices.IsValid() { - return fmt.Errorf("gigabyte_prices must be valid") - } - if m.HourlyPrices == nil { - return fmt.Errorf("hourly_prices cannot be nil") - } - if m.HourlyPrices.Len() == 0 { - return fmt.Errorf("hourly_prices cannot be empty") - } - if m.HourlyPrices.IsAnyNil() { - return fmt.Errorf("hourly_prices cannot contain nil") - } - if !m.HourlyPrices.IsValid() { - return fmt.Errorf("hourly_prices must be valid") - } - if m.RemoteURL == "" { - return fmt.Errorf("remote_url cannot be empty") - } - if len(m.RemoteURL) > 64 { - return fmt.Errorf("remote_url length cannot be greater than %d chars", 64) - } - - remoteURL, err := url.ParseRequestURI(m.RemoteURL) - if err != nil { - return sdkerrors.Wrapf(err, "invalid remote_url %s", m.RemoteURL) - } - if remoteURL.Scheme != "https" { - return fmt.Errorf("remote_url scheme must be https") - } - if remoteURL.Port() == "" { - return fmt.Errorf("remote_url port cannot be empty") - } - - if m.InactiveAt.IsZero() { - if !m.Status.Equal(v1base.StatusInactive) { - return fmt.Errorf("invalid inactive_at %s; expected positive", m.InactiveAt) - } - } - if !m.InactiveAt.IsZero() { - if !m.Status.Equal(v1base.StatusActive) { - return fmt.Errorf("invalid inactive_at %s; expected zero", m.InactiveAt) - } - } - if !m.Status.IsOneOf(v1base.StatusActive, v1base.StatusInactive) { - return fmt.Errorf("status must be one of [active, inactive]") - } - if m.StatusAt.IsZero() { - return fmt.Errorf("status_at cannot be zero") - } - - return nil -} - -func (m *Node) GigabytePrice(denom string) (sdk.Coin, bool) { - for _, v := range m.GigabytePrices { - if v.Denom == denom { - return v, true - } - } - - // If there are no prices and denom is empty, return a zero amount coin and true - return sdk.Coin{Amount: sdkmath.ZeroInt()}, m.GigabytePrices.Len() == 0 && denom == "" -} - -func (m *Node) HourlyPrice(denom string) (sdk.Coin, bool) { - for _, v := range m.HourlyPrices { - if v.Denom == denom { - return v, true - } - } - - // If there are no prices and denom is empty, return a zero amount coin and true - return sdk.Coin{Amount: sdkmath.ZeroInt()}, m.HourlyPrices.Len() == 0 && denom == "" -} diff --git a/x/node/types/v2/node_test.go b/x/node/types/v2/node_test.go deleted file mode 100644 index cfab3537..00000000 --- a/x/node/types/v2/node_test.go +++ /dev/null @@ -1,684 +0,0 @@ -package v2 - -import ( - "reflect" - "strings" - "testing" - "time" - - sdk "github.com/cosmos/cosmos-sdk/types" - - base "github.com/sentinel-official/hub/v12/types" - v1base "github.com/sentinel-official/hub/v12/types/v1" -) - -func TestNode_GigabytePrice(t *testing.T) { - type fields struct { - GigabytePrices sdk.Coins - } - type args struct { - denom string - } - tests := []struct { - name string - fields fields - args args - want sdk.Coin - want1 bool - }{ - { - "gigabyte_prices nil and denom empty", - fields{ - GigabytePrices: base.TestCoinsNil, - }, - args{ - denom: base.TestDenomEmpty, - }, - base.TestCoinEmptyZero, - true, - }, - { - "gigabyte_prices empty and denom empty", - fields{ - GigabytePrices: base.TestCoinsEmpty, - }, - args{ - denom: base.TestDenomEmpty, - }, - base.TestCoinEmptyZero, - true, - }, - { - "gigabyte_prices 1000one and denom empty", - fields{ - GigabytePrices: base.TestCoinsOnePos, - }, - args{ - denom: base.TestDenomEmpty, - }, - base.TestCoinEmptyZero, - false, - }, - { - "gigabyte_prices nil and denom one", - fields{ - GigabytePrices: base.TestCoinsNil, - }, - args{ - denom: base.TestDenomOne, - }, - base.TestCoinEmptyZero, - false, - }, - { - "gigabyte_prices empty and denom one", - fields{ - GigabytePrices: base.TestCoinsEmpty, - }, - args{ - denom: base.TestDenomOne, - }, - base.TestCoinEmptyZero, - false, - }, - { - "gigabyte_prices 1000one and denom one", - fields{ - GigabytePrices: base.TestCoinsOnePos, - }, - args{ - denom: base.TestDenomOne, - }, - base.TestCoinOnePos, - true, - }, - { - "gigabyte_prices nil and denom two", - fields{ - GigabytePrices: base.TestCoinsNil, - }, - args{ - denom: base.TestDenomTwo, - }, - base.TestCoinEmptyZero, - false, - }, - { - "gigabyte_prices empty and denom two", - fields{ - GigabytePrices: base.TestCoinsEmpty, - }, - args{ - denom: base.TestDenomTwo, - }, - base.TestCoinEmptyZero, - false, - }, - { - "gigabyte_prices 1000one and denom two", - fields{ - GigabytePrices: base.TestCoinsOnePos, - }, - args{ - denom: base.TestDenomTwo, - }, - base.TestCoinEmptyZero, - false, - }, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - m := &Node{ - GigabytePrices: tt.fields.GigabytePrices, - } - got, got1 := m.GigabytePrice(tt.args.denom) - if !reflect.DeepEqual(got, tt.want) { - t.Errorf("GigabytePrice() got = %v, want %v", got, tt.want) - } - if got1 != tt.want1 { - t.Errorf("GigabytePrice() got1 = %v, want %v", got1, tt.want1) - } - }) - } -} - -func TestNode_HourlyPrice(t *testing.T) { - type fields struct { - HourlyPrices sdk.Coins - } - type args struct { - denom string - } - tests := []struct { - name string - fields fields - args args - want sdk.Coin - want1 bool - }{ - { - "hourly_prices nil and denom empty", - fields{ - HourlyPrices: base.TestCoinsNil, - }, - args{ - denom: base.TestDenomEmpty, - }, - base.TestCoinEmptyZero, - true, - }, - { - "hourly_prices empty and denom empty", - fields{ - HourlyPrices: base.TestCoinsEmpty, - }, - args{ - denom: base.TestDenomEmpty, - }, - base.TestCoinEmptyZero, - true, - }, - { - "hourly_prices 1000one and denom empty", - fields{ - HourlyPrices: base.TestCoinsOnePos, - }, - args{ - denom: base.TestDenomEmpty, - }, - base.TestCoinEmptyZero, - false, - }, - { - "hourly_prices nil and denom one", - fields{ - HourlyPrices: nil, - }, - args{ - denom: base.TestDenomOne, - }, - base.TestCoinEmptyZero, - false, - }, - { - "hourly_prices empty and denom one", - fields{ - HourlyPrices: base.TestCoinsEmpty, - }, - args{ - denom: base.TestDenomOne, - }, - base.TestCoinEmptyZero, - false, - }, - { - "hourly_prices 1000one and denom one", - fields{ - HourlyPrices: base.TestCoinsOnePos, - }, - args{ - denom: base.TestDenomOne, - }, - base.TestCoinOnePos, - true, - }, - { - "hourly_prices nil and denom two", - fields{ - HourlyPrices: nil, - }, - args{ - denom: base.TestDenomTwo, - }, - base.TestCoinEmptyZero, - false, - }, - { - "hourly_prices empty and denom two", - fields{ - HourlyPrices: base.TestCoinsEmpty, - }, - args{ - denom: base.TestDenomTwo, - }, - base.TestCoinEmptyZero, - false, - }, - { - "hourly_prices 1000one and denom two", - fields{ - HourlyPrices: base.TestCoinsOnePos, - }, - args{ - denom: base.TestDenomTwo, - }, - base.TestCoinEmptyZero, - false, - }, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - m := &Node{ - HourlyPrices: tt.fields.HourlyPrices, - } - got, got1 := m.HourlyPrice(tt.args.denom) - if !reflect.DeepEqual(got, tt.want) { - t.Errorf("HourlyPrice() got = %v, want %v", got, tt.want) - } - if got1 != tt.want1 { - t.Errorf("HourlyPrice() got1 = %v, want %v", got1, tt.want1) - } - }) - } -} - -func TestNode_Validate(t *testing.T) { - type fields struct { - Address string - GigabytePrices sdk.Coins - HourlyPrices sdk.Coins - RemoteURL string - InactiveAt time.Time - Status v1base.Status - StatusAt time.Time - } - tests := []struct { - name string - fields fields - wantErr bool - }{ - { - "address empty", - fields{ - Address: base.TestAddrEmpty, - }, - true, - }, - { - "address invalid", - fields{ - Address: base.TestAddrInvalid, - }, - true, - }, - { - "address invalid prefix", - fields{ - Address: base.TestBech32AccAddr20Bytes, - }, - true, - }, - { - "address 10 bytes", - fields{ - Address: base.TestBech32NodeAddr10Bytes, - GigabytePrices: base.TestCoinsOnePos, - HourlyPrices: base.TestCoinsOnePos, - RemoteURL: "https://remote.url:443", - InactiveAt: base.TestTimeNow, - Status: v1base.StatusActive, - StatusAt: base.TestTimeNow, - }, - false, - }, - { - "address 20 bytes", - fields{ - Address: base.TestBech32NodeAddr20Bytes, - GigabytePrices: base.TestCoinsOnePos, - HourlyPrices: base.TestCoinsOnePos, - RemoteURL: "https://remote.url:443", - InactiveAt: base.TestTimeNow, - Status: v1base.StatusActive, - StatusAt: base.TestTimeNow, - }, - false, - }, - { - "address 30 bytes", - fields{ - Address: base.TestBech32NodeAddr30Bytes, - GigabytePrices: base.TestCoinsOnePos, - HourlyPrices: base.TestCoinsOnePos, - RemoteURL: "https://remote.url:443", - InactiveAt: base.TestTimeNow, - Status: v1base.StatusActive, - StatusAt: base.TestTimeNow, - }, - false, - }, - { - "gigabyte_prices nil", - fields{ - Address: base.TestBech32NodeAddr20Bytes, - GigabytePrices: base.TestCoinsNil, - HourlyPrices: base.TestCoinsOnePos, - RemoteURL: "https://remote.url:443", - InactiveAt: base.TestTimeNow, - Status: v1base.StatusActive, - StatusAt: base.TestTimeNow, - }, - true, - }, - { - "gigabyte_prices empty", - fields{ - Address: base.TestBech32NodeAddr20Bytes, - GigabytePrices: base.TestCoinsEmpty, - }, - true, - }, - { - "gigabyte_prices empty denom", - fields{ - Address: base.TestBech32NodeAddr20Bytes, - GigabytePrices: base.TestCoinsEmptyPos, - }, - true, - }, - { - "gigabyte_prices invalid denom", - fields{ - Address: base.TestBech32NodeAddr20Bytes, - GigabytePrices: base.TestCoinsInvalidPos, - }, - true, - }, - { - "gigabyte_prices empty amount", - fields{ - Address: base.TestBech32NodeAddr20Bytes, - GigabytePrices: base.TestCoinsOneEmpty, - }, - true, - }, - { - "gigabyte_prices negative amount", - fields{ - Address: base.TestBech32NodeAddr20Bytes, - GigabytePrices: base.TestCoinsOneNeg, - }, - true, - }, - { - "gigabyte_prices zero amount", - fields{ - Address: base.TestBech32NodeAddr20Bytes, - GigabytePrices: base.TestCoinsOneZero, - }, - true, - }, - { - "gigabyte_prices positive amount", - fields{ - Address: base.TestBech32NodeAddr20Bytes, - GigabytePrices: base.TestCoinsOnePos, - HourlyPrices: base.TestCoinsOnePos, - RemoteURL: "https://remote.url:443", - InactiveAt: base.TestTimeNow, - Status: v1base.StatusActive, - StatusAt: base.TestTimeNow, - }, - false, - }, - { - "hourly_prices nil", - fields{ - Address: base.TestBech32NodeAddr20Bytes, - GigabytePrices: base.TestCoinsOnePos, - HourlyPrices: base.TestCoinsNil, - RemoteURL: "https://remote.url:443", - InactiveAt: base.TestTimeNow, - Status: v1base.StatusActive, - StatusAt: base.TestTimeNow, - }, - true, - }, - { - "hourly_prices empty", - fields{ - Address: base.TestBech32NodeAddr20Bytes, - GigabytePrices: base.TestCoinsOnePos, - HourlyPrices: base.TestCoinsEmpty, - }, - true, - }, - { - "hourly_prices empty denom", - fields{ - Address: base.TestBech32NodeAddr20Bytes, - GigabytePrices: base.TestCoinsOnePos, - HourlyPrices: base.TestCoinsEmptyPos, - }, - true, - }, - { - "hourly_prices invalid denom", - fields{ - Address: base.TestBech32NodeAddr20Bytes, - GigabytePrices: base.TestCoinsOnePos, - HourlyPrices: base.TestCoinsInvalidPos, - }, - true, - }, - { - "hourly_prices empty amount", - fields{ - Address: base.TestBech32NodeAddr20Bytes, - GigabytePrices: base.TestCoinsOnePos, - HourlyPrices: base.TestCoinsOneEmpty, - }, - true, - }, - { - "hourly_prices negative amount", - fields{ - Address: base.TestBech32NodeAddr20Bytes, - GigabytePrices: base.TestCoinsOnePos, - HourlyPrices: base.TestCoinsOneNeg, - }, - true, - }, - { - "hourly_prices zero amount", - fields{ - Address: base.TestBech32NodeAddr20Bytes, - GigabytePrices: base.TestCoinsOnePos, - HourlyPrices: base.TestCoinsOneZero, - }, - true, - }, - { - "hourly_prices positive amount", - fields{ - Address: base.TestBech32NodeAddr20Bytes, - GigabytePrices: base.TestCoinsOnePos, - HourlyPrices: base.TestCoinsOnePos, - RemoteURL: "https://remote.url:443", - InactiveAt: base.TestTimeNow, - Status: v1base.StatusActive, - StatusAt: base.TestTimeNow, - }, - false, - }, - { - "remote_url empty", - fields{ - Address: base.TestBech32NodeAddr20Bytes, - GigabytePrices: base.TestCoinsOnePos, - HourlyPrices: base.TestCoinsOnePos, - RemoteURL: "", - }, - true, - }, - { - "remote_url 72 chars", - fields{ - Address: base.TestBech32NodeAddr20Bytes, - GigabytePrices: base.TestCoinsOnePos, - HourlyPrices: base.TestCoinsOnePos, - RemoteURL: strings.Repeat("r", 72), - }, - true, - }, - { - "remote_url invalid", - fields{ - Address: base.TestBech32NodeAddr20Bytes, - GigabytePrices: base.TestCoinsOnePos, - HourlyPrices: base.TestCoinsOnePos, - RemoteURL: "invalid", - }, - true, - }, - { - "remote_url invalid scheme", - fields{ - Address: base.TestBech32NodeAddr20Bytes, - GigabytePrices: base.TestCoinsOnePos, - HourlyPrices: base.TestCoinsOnePos, - RemoteURL: "tcp://remote.url:80", - }, - true, - }, - { - "remote_url without port", - fields{ - Address: base.TestBech32NodeAddr20Bytes, - GigabytePrices: base.TestCoinsOnePos, - HourlyPrices: base.TestCoinsOnePos, - RemoteURL: "https://remote.url", - }, - true, - }, - { - "remote_url with port", - fields{ - Address: base.TestBech32NodeAddr20Bytes, - GigabytePrices: base.TestCoinsOnePos, - HourlyPrices: base.TestCoinsOnePos, - RemoteURL: "https://remote.url:443", - InactiveAt: base.TestTimeNow, - Status: v1base.StatusActive, - StatusAt: base.TestTimeNow, - }, - false, - }, - { - "inactive_at empty", - fields{ - Address: base.TestBech32NodeAddr20Bytes, - GigabytePrices: base.TestCoinsOnePos, - HourlyPrices: base.TestCoinsOnePos, - RemoteURL: "https://remote.url:443", - InactiveAt: base.TestTimeZero, - }, - true, - }, - { - "inactive_at now", - fields{ - Address: base.TestBech32NodeAddr20Bytes, - GigabytePrices: base.TestCoinsOnePos, - HourlyPrices: base.TestCoinsOnePos, - RemoteURL: "https://remote.url:443", - InactiveAt: base.TestTimeNow, - Status: v1base.StatusActive, - StatusAt: base.TestTimeNow, - }, - false, - }, - { - "status unspecified", - fields{ - Address: base.TestBech32NodeAddr20Bytes, - GigabytePrices: base.TestCoinsOnePos, - HourlyPrices: base.TestCoinsOnePos, - RemoteURL: "https://remote.url:443", - InactiveAt: base.TestTimeNow, - Status: v1base.StatusUnspecified, - }, - true, - }, - { - "status active", - fields{ - Address: base.TestBech32NodeAddr20Bytes, - GigabytePrices: base.TestCoinsOnePos, - HourlyPrices: base.TestCoinsOnePos, - RemoteURL: "https://remote.url:443", - InactiveAt: base.TestTimeNow, - Status: v1base.StatusActive, - StatusAt: base.TestTimeNow, - }, - false, - }, - { - "status inactive_pending", - fields{ - Address: base.TestBech32NodeAddr20Bytes, - GigabytePrices: base.TestCoinsOnePos, - HourlyPrices: base.TestCoinsOnePos, - RemoteURL: "https://remote.url:443", - InactiveAt: base.TestTimeNow, - Status: v1base.StatusInactivePending, - }, - true, - }, - { - "status inactive", - fields{ - Address: base.TestBech32NodeAddr20Bytes, - GigabytePrices: base.TestCoinsOnePos, - HourlyPrices: base.TestCoinsOnePos, - RemoteURL: "https://remote.url:443", - InactiveAt: base.TestTimeZero, - Status: v1base.StatusInactive, - StatusAt: base.TestTimeNow, - }, - false, - }, - { - "status_at empty", - fields{ - Address: base.TestBech32NodeAddr20Bytes, - GigabytePrices: base.TestCoinsOnePos, - HourlyPrices: base.TestCoinsOnePos, - RemoteURL: "https://remote.url:443", - InactiveAt: base.TestTimeNow, - Status: v1base.StatusActive, - StatusAt: base.TestTimeZero, - }, - true, - }, - { - "status_at now", - fields{ - Address: base.TestBech32NodeAddr20Bytes, - GigabytePrices: base.TestCoinsOnePos, - HourlyPrices: base.TestCoinsOnePos, - RemoteURL: "https://remote.url:443", - InactiveAt: base.TestTimeNow, - Status: v1base.StatusActive, - StatusAt: base.TestTimeNow, - }, - false, - }, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - m := &Node{ - Address: tt.fields.Address, - GigabytePrices: tt.fields.GigabytePrices, - HourlyPrices: tt.fields.HourlyPrices, - RemoteURL: tt.fields.RemoteURL, - InactiveAt: tt.fields.InactiveAt, - Status: tt.fields.Status, - StatusAt: tt.fields.StatusAt, - } - if err := m.Validate(); (err != nil) != tt.wantErr { - t.Errorf("Validate() error = %v, wantErr %v", err, tt.wantErr) - } - }) - } -} diff --git a/x/node/types/v2/querier.go b/x/node/types/v2/querier.go deleted file mode 100644 index 14fdf2a8..00000000 --- a/x/node/types/v2/querier.go +++ /dev/null @@ -1,33 +0,0 @@ -package v2 - -import ( - sdkquery "github.com/cosmos/cosmos-sdk/types/query" - - base "github.com/sentinel-official/hub/v12/types" - v1base "github.com/sentinel-official/hub/v12/types/v1" -) - -func NewQueryNodeRequest(addr base.NodeAddress) *QueryNodeRequest { - return &QueryNodeRequest{ - Address: addr.String(), - } -} - -func NewQueryNodesRequest(status v1base.Status, pagination *sdkquery.PageRequest) *QueryNodesRequest { - return &QueryNodesRequest{ - Status: status, - Pagination: pagination, - } -} - -func NewQueryNodesForPlanRequest(id uint64, status v1base.Status, pagination *sdkquery.PageRequest) *QueryNodesForPlanRequest { - return &QueryNodesForPlanRequest{ - Id: id, - Status: status, - Pagination: pagination, - } -} - -func NewQueryParamsRequest() *QueryParamsRequest { - return &QueryParamsRequest{} -} diff --git a/x/node/types/v2/querier_test.go b/x/node/types/v2/querier_test.go deleted file mode 100644 index 0081af76..00000000 --- a/x/node/types/v2/querier_test.go +++ /dev/null @@ -1,66 +0,0 @@ -package v2 - -import ( - "crypto/rand" - "testing" - - sdkquery "github.com/cosmos/cosmos-sdk/types/query" - "github.com/stretchr/testify/require" - - base "github.com/sentinel-official/hub/v12/types" - v1base "github.com/sentinel-official/hub/v12/types/v1" -) - -func TestNewQueryNodeRequest(t *testing.T) { - var ( - addr []byte - ) - - for i := 1; i <= 256; i += 64 { - addr = make([]byte, i) - _, _ = rand.Read(addr) - - require.Equal( - t, - &QueryNodeRequest{ - Address: base.NodeAddress(addr).String(), - }, - NewQueryNodeRequest(addr), - ) - } -} - -func TestNewQueryNodesRequest(t *testing.T) { - var ( - status v1base.Status - pagination *sdkquery.PageRequest - ) - - for i := 1; i <= 16; i++ { - status = v1base.Status(i % 4) - pagination = &sdkquery.PageRequest{ - Key: make([]byte, i), - Offset: uint64(i), - Limit: uint64(i), - CountTotal: i/2 == 0, - } - - _, _ = rand.Read(pagination.Key) - - require.Equal( - t, - &QueryNodesRequest{ - Status: status, - Pagination: pagination, - }, - NewQueryNodesRequest(status, pagination), - ) - } -} - -func TestNewQueryParamsRequest(t *testing.T) { - require.Equal(t, - &QueryParamsRequest{}, - NewQueryParamsRequest(), - ) -} diff --git a/x/session/types/v2/querier.go b/x/session/types/v2/querier.go index 361f08e8..542f4d71 100644 --- a/x/session/types/v2/querier.go +++ b/x/session/types/v2/querier.go @@ -1,53 +1,5 @@ package v2 -import ( - sdk "github.com/cosmos/cosmos-sdk/types" - sdkquery "github.com/cosmos/cosmos-sdk/types/query" - - base "github.com/sentinel-official/hub/v12/types" -) - -func NewQuerySessionRequest(id uint64) *QuerySessionRequest { - return &QuerySessionRequest{ - Id: id, - } -} - -func NewQuerySessionsRequest(pagination *sdkquery.PageRequest) *QuerySessionsRequest { - return &QuerySessionsRequest{ - Pagination: pagination, - } -} - -func NewQuerySessionsForAccountRequest(addr sdk.AccAddress, pagination *sdkquery.PageRequest) *QuerySessionsForAccountRequest { - return &QuerySessionsForAccountRequest{ - Address: addr.String(), - Pagination: pagination, - } -} - -func NewQuerySessionsForNodeRequest(addr base.NodeAddress, pagination *sdkquery.PageRequest) *QuerySessionsForNodeRequest { - return &QuerySessionsForNodeRequest{ - Address: addr.String(), - Pagination: pagination, - } -} - -func NewQuerySessionsForSubscriptionRequest(id uint64, pagination *sdkquery.PageRequest) *QuerySessionsForSubscriptionRequest { - return &QuerySessionsForSubscriptionRequest{ - Id: id, - Pagination: pagination, - } -} - -func NewQuerySessionsForAllocationRequest(id uint64, addr sdk.AccAddress, pagination *sdkquery.PageRequest) *QuerySessionsForAllocationRequest { - return &QuerySessionsForAllocationRequest{ - Id: id, - Address: addr.String(), - Pagination: pagination, - } -} - func NewQueryParamsRequest() *QueryParamsRequest { return &QueryParamsRequest{} } diff --git a/x/session/types/v2/querier_test.go b/x/session/types/v2/querier_test.go deleted file mode 100644 index 46802706..00000000 --- a/x/session/types/v2/querier_test.go +++ /dev/null @@ -1,168 +0,0 @@ -package v2 - -import ( - "crypto/rand" - "testing" - - sdk "github.com/cosmos/cosmos-sdk/types" - sdkquery "github.com/cosmos/cosmos-sdk/types/query" - "github.com/stretchr/testify/require" - - base "github.com/sentinel-official/hub/v12/types" -) - -func TestNewQueryParamsRequest(t *testing.T) { - require.Equal(t, - &QueryParamsRequest{}, - NewQueryParamsRequest(), - ) -} - -func TestNewQuerySessionRequest(t *testing.T) { - for i := 0; i < 20; i++ { - require.Equal( - t, - &QuerySessionRequest{ - Id: uint64(i), - }, - NewQuerySessionRequest(uint64(i)), - ) - } -} - -func TestNewQuerySessionsForAccountRequest(t *testing.T) { - var ( - addr []byte - pagination *sdkquery.PageRequest - ) - - for i := 0; i < 40; i++ { - addr = make([]byte, i) - pagination = &sdkquery.PageRequest{ - Key: make([]byte, i), - Offset: uint64(i), - Limit: uint64(i), - CountTotal: i/2 == 0, - } - - _, _ = rand.Read(addr) - _, _ = rand.Read(pagination.Key) - - require.Equal( - t, - &QuerySessionsForAccountRequest{ - Address: sdk.AccAddress(addr).String(), - Pagination: pagination, - }, - NewQuerySessionsForAccountRequest(addr, pagination), - ) - } -} - -func TestNewQuerySessionsRequest(t *testing.T) { - var ( - pagination *sdkquery.PageRequest - ) - - for i := 0; i < 20; i++ { - pagination = &sdkquery.PageRequest{ - Key: make([]byte, i), - Offset: uint64(i), - Limit: uint64(i), - CountTotal: i/2 == 0, - } - - require.Equal( - t, - &QuerySessionsRequest{ - Pagination: pagination, - }, - NewQuerySessionsRequest(pagination), - ) - } -} - -func TestNewQuerySessionsForNodeRequest(t *testing.T) { - var ( - addr []byte - pagination *sdkquery.PageRequest - ) - - for i := 0; i < 40; i++ { - addr = make([]byte, i) - pagination = &sdkquery.PageRequest{ - Key: make([]byte, i), - Offset: uint64(i), - Limit: uint64(i), - CountTotal: i/2 == 0, - } - - _, _ = rand.Read(addr) - _, _ = rand.Read(pagination.Key) - - require.Equal( - t, - &QuerySessionsForNodeRequest{ - Address: base.NodeAddress(addr).String(), - Pagination: pagination, - }, - NewQuerySessionsForNodeRequest(addr, pagination), - ) - } -} - -func TestNewQuerySessionsForAllocationRequest(t *testing.T) { - var ( - addr []byte - pagination *sdkquery.PageRequest - ) - - for i := 0; i < 40; i++ { - addr = make([]byte, i) - pagination = &sdkquery.PageRequest{ - Key: make([]byte, i), - Offset: uint64(i), - Limit: uint64(i), - CountTotal: i/2 == 0, - } - - _, _ = rand.Read(addr) - _, _ = rand.Read(pagination.Key) - - require.Equal( - t, - &QuerySessionsForAllocationRequest{ - Id: uint64(i), - Address: sdk.AccAddress(addr).String(), - Pagination: pagination, - }, - NewQuerySessionsForAllocationRequest(uint64(i), addr, pagination), - ) - } -} - -func TestNewQuerySessionsForSubscriptionRequest(t *testing.T) { - var ( - pagination *sdkquery.PageRequest - ) - - for i := 0; i < 40; i++ { - pagination = &sdkquery.PageRequest{ - Key: make([]byte, i), - Offset: uint64(i), - Limit: uint64(i), - CountTotal: i/2 == 0, - } - - _, _ = rand.Read(pagination.Key) - - require.Equal( - t, - &QuerySessionsForSubscriptionRequest{ - Id: uint64(i), - Pagination: pagination, - }, - NewQuerySessionsForSubscriptionRequest(uint64(i), pagination), - ) - } -} diff --git a/x/session/types/v2/session.go b/x/session/types/v2/session.go deleted file mode 100644 index 60e9e40b..00000000 --- a/x/session/types/v2/session.go +++ /dev/null @@ -1,56 +0,0 @@ -package v2 - -import ( - "fmt" - - sdkerrors "cosmossdk.io/errors" - sdk "github.com/cosmos/cosmos-sdk/types" - - base "github.com/sentinel-official/hub/v12/types" - v1base "github.com/sentinel-official/hub/v12/types/v1" -) - -func (m *Session) Validate() error { - if m.ID == 0 { - return fmt.Errorf("id cannot be zero") - } - if m.SubscriptionID == 0 { - return fmt.Errorf("subscription_id cannot be zero") - } - if m.NodeAddress == "" { - return fmt.Errorf("node_address cannot be empty") - } - if _, err := base.NodeAddressFromBech32(m.NodeAddress); err != nil { - return sdkerrors.Wrapf(err, "invalid node_address %s", m.NodeAddress) - } - if m.Address == "" { - return fmt.Errorf("address cannot be empty") - } - if _, err := sdk.AccAddressFromBech32(m.Address); err != nil { - return sdkerrors.Wrapf(err, "invalid address %s", m.Address) - } - if m.Bandwidth.IsAnyNil() { - return fmt.Errorf("bandwidth cannot be empty") - } - if m.Bandwidth.IsAnyNegative() { - return fmt.Errorf("bandwidth cannot be negative") - } - if m.Duration < 0 { - return fmt.Errorf("duration cannot be negative") - } - if m.InactiveAt.IsZero() { - return fmt.Errorf("inactive_at cannot be zero") - } - if !m.Status.IsOneOf(v1base.StatusActive, v1base.StatusInactivePending) { - return fmt.Errorf("status must be oneof [active, inactive_pending]") - } - if m.StatusAt.IsZero() { - return fmt.Errorf("status_at cannot be zero") - } - - return nil -} - -type ( - Sessions []Session -) diff --git a/x/subscription/types/v2/payout.go b/x/subscription/types/v2/payout.go deleted file mode 100644 index 653265c8..00000000 --- a/x/subscription/types/v2/payout.go +++ /dev/null @@ -1,37 +0,0 @@ -package v2 - -import ( - "fmt" -) - -func (p *Payout) Validate() error { - if p.ID == 0 { - return fmt.Errorf("id cannot be zero") - } - if p.Hours < 0 { - return fmt.Errorf("hours cannot be negative") - } - if p.Hours == 0 { - if !p.NextAt.IsZero() { - return fmt.Errorf("hours cannot be zero") - } - } - if p.Price.IsNil() { - return fmt.Errorf("price cannot be nil") - } - if p.Price.IsNegative() { - return fmt.Errorf("price cannot be negative") - } - if p.Price.IsZero() { - return fmt.Errorf("price cannot be zero") - } - if !p.Price.IsValid() { - return fmt.Errorf("price must be valid") - } - - return nil -} - -type ( - Payouts []Payout -) diff --git a/x/subscription/types/v2/payout_test.go b/x/subscription/types/v2/payout_test.go deleted file mode 100644 index 7ed8b702..00000000 --- a/x/subscription/types/v2/payout_test.go +++ /dev/null @@ -1,163 +0,0 @@ -package v2 - -import ( - "testing" - "time" - - sdk "github.com/cosmos/cosmos-sdk/types" - - base "github.com/sentinel-official/hub/v12/types" -) - -func TestPayout_Validate(t *testing.T) { - type fields struct { - ID uint64 - Hours int64 - Price sdk.Coin - NextAt time.Time - } - tests := []struct { - name string - fields fields - wantErr bool - }{ - { - "id zero", - fields{ - ID: 0, - }, - true, - }, - { - "id positive", - fields{ - ID: 1000, - Hours: 1000, - Price: base.TestCoinOnePos, - NextAt: base.TestTimeNow, - }, - false, - }, - { - "hours negative", - fields{ - ID: 1000, - Hours: -1000, - }, - true, - }, - { - "hours zero", - fields{ - ID: 1000, - Hours: 0, - }, - true, - }, - { - "hours positive", - fields{ - ID: 1000, - Hours: 1000, - Price: base.TestCoinOnePos, - }, - false, - }, - { - "price empty", - fields{ - ID: 1000, - Hours: 1000, - Price: base.TestCoinEmptyZero, - }, - true, - }, - { - "price empty denom", - fields{ - ID: 1000, - Hours: 1000, - Price: base.TestCoinEmptyZero, - }, - true, - }, - { - "price invalid denom", - fields{ - ID: 1000, - Hours: 1000, - Price: base.TestCoinInvalidPos, - }, - true, - }, - { - "price empty amount", - fields{ - ID: 1000, - Hours: 1000, - Price: base.TestCoinOneEmpty, - }, - true, - }, - { - "price negative amount", - fields{ - ID: 1000, - Hours: 1000, - Price: base.TestCoinOneNeg, - }, - true, - }, - { - "price zero amount", - fields{ - ID: 1000, - Hours: 1000, - Price: base.TestCoinOneZero, - }, - true, - }, - { - "price positive amount", - fields{ - ID: 1000, - Hours: 1000, - Price: base.TestCoinOnePos, - }, - false, - }, - { - "next_at zero", - fields{ - ID: 1000, - Hours: 1000, - Price: base.TestCoinOnePos, - NextAt: base.TestTimeZero, - }, - false, - }, - { - "next_at positive", - fields{ - ID: 1000, - Hours: 1000, - Price: base.TestCoinOnePos, - NextAt: base.TestTimeNow, - }, - false, - }, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - l := &Payout{ - ID: tt.fields.ID, - Hours: tt.fields.Hours, - Price: tt.fields.Price, - NextAt: tt.fields.NextAt, - } - if err := l.Validate(); (err != nil) != tt.wantErr { - t.Errorf("Validate() error = %v, wantErr %v", err, tt.wantErr) - } - }) - } -} diff --git a/x/subscription/types/v2/querier.go b/x/subscription/types/v2/querier.go index c02eecee..2db7954e 100644 --- a/x/subscription/types/v2/querier.go +++ b/x/subscription/types/v2/querier.go @@ -3,43 +3,8 @@ package v2 import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkquery "github.com/cosmos/cosmos-sdk/types/query" - - base "github.com/sentinel-official/hub/v12/types" ) -func NewQuerySubscriptionRequest(id uint64) *QuerySubscriptionRequest { - return &QuerySubscriptionRequest{ - Id: id, - } -} - -func NewQuerySubscriptionsRequest(pagination *sdkquery.PageRequest) *QuerySubscriptionsRequest { - return &QuerySubscriptionsRequest{ - Pagination: pagination, - } -} - -func NewQuerySubscriptionsForAccountRequest(addr sdk.AccAddress, pagination *sdkquery.PageRequest) *QuerySubscriptionsForAccountRequest { - return &QuerySubscriptionsForAccountRequest{ - Address: addr.String(), - Pagination: pagination, - } -} - -func NewQuerySubscriptionsForNodeRequest(addr base.NodeAddress, pagination *sdkquery.PageRequest) *QuerySubscriptionsForNodeRequest { - return &QuerySubscriptionsForNodeRequest{ - Address: addr.String(), - Pagination: pagination, - } -} - -func NewQuerySubscriptionsForPlanRequest(id uint64, pagination *sdkquery.PageRequest) *QuerySubscriptionsForPlanRequest { - return &QuerySubscriptionsForPlanRequest{ - Id: id, - Pagination: pagination, - } -} - func NewQueryAllocationRequest(id uint64, addr sdk.AccAddress) *QueryAllocationRequest { return &QueryAllocationRequest{ Id: id, @@ -54,32 +19,6 @@ func NewQueryAllocationsRequest(id uint64, pagination *sdkquery.PageRequest) *Qu } } -func NewQueryPayoutRequest(id uint64) *QueryPayoutRequest { - return &QueryPayoutRequest{ - Id: id, - } -} - -func NewQueryPayoutsRequest(pagination *sdkquery.PageRequest) *QueryPayoutsRequest { - return &QueryPayoutsRequest{ - Pagination: pagination, - } -} - -func NewQueryPayoutsForAccountRequest(addr sdk.AccAddress, pagination *sdkquery.PageRequest) *QueryPayoutsForAccountRequest { - return &QueryPayoutsForAccountRequest{ - Address: addr.String(), - Pagination: pagination, - } -} - -func NewQueryPayoutsForNodeRequest(addr base.NodeAddress, pagination *sdkquery.PageRequest) *QueryPayoutsForNodeRequest { - return &QueryPayoutsForNodeRequest{ - Address: addr.String(), - Pagination: pagination, - } -} - func NewQueryParamsRequest() *QueryParamsRequest { return &QueryParamsRequest{} } diff --git a/x/subscription/types/v2/querier_test.go b/x/subscription/types/v2/querier_test.go deleted file mode 100644 index 4aba9741..00000000 --- a/x/subscription/types/v2/querier_test.go +++ /dev/null @@ -1,181 +0,0 @@ -package v2 - -import ( - "crypto/rand" - "testing" - - sdk "github.com/cosmos/cosmos-sdk/types" - sdkquery "github.com/cosmos/cosmos-sdk/types/query" - "github.com/stretchr/testify/require" - - base "github.com/sentinel-official/hub/v12/types" -) - -func TestNewQueryParamsRequest(t *testing.T) { - require.Equal(t, - &QueryParamsRequest{}, - NewQueryParamsRequest(), - ) -} - -func TestNewQueryAllocationRequest(t *testing.T) { - var ( - addr []byte - ) - - for i := 0; i < 512; i += 64 { - addr = make([]byte, i) - _, _ = rand.Read(addr) - - require.Equal( - t, - &QueryAllocationRequest{ - Id: uint64(i), - Address: sdk.AccAddress(addr).String(), - }, - NewQueryAllocationRequest(uint64(i), addr), - ) - } -} - -func TestNewQueryAllocationsRequest(t *testing.T) { - var ( - pagination *sdkquery.PageRequest - ) - - for i := 0; i < 512; i += 64 { - pagination = &sdkquery.PageRequest{ - Key: make([]byte, i), - Offset: uint64(i), - Limit: uint64(i), - CountTotal: i/2 == 0, - } - - require.Equal( - t, - &QueryAllocationsRequest{ - Id: uint64(i), - Pagination: pagination, - }, - NewQueryAllocationsRequest(uint64(i), pagination), - ) - } -} - -func TestNewQuerySubscriptionRequest(t *testing.T) { - for i := 0; i < 512; i += 64 { - require.Equal( - t, - &QuerySubscriptionRequest{ - Id: uint64(i), - }, - NewQuerySubscriptionRequest(uint64(i)), - ) - } -} - -func TestNewQuerySubscriptionsForAccountRequest(t *testing.T) { - var ( - addr []byte - pagination *sdkquery.PageRequest - ) - - for i := 0; i < 512; i += 64 { - addr = make([]byte, i) - pagination = &sdkquery.PageRequest{ - Key: make([]byte, i), - Offset: uint64(i), - Limit: uint64(i), - CountTotal: i/2 == 0, - } - - _, _ = rand.Read(addr) - _, _ = rand.Read(pagination.Key) - - require.Equal( - t, - &QuerySubscriptionsForAccountRequest{ - Address: sdk.AccAddress(addr).String(), - Pagination: pagination, - }, - NewQuerySubscriptionsForAccountRequest(addr, pagination), - ) - } -} - -func TestNewQuerySubscriptionsForNodeRequest(t *testing.T) { - var ( - addr []byte - pagination *sdkquery.PageRequest - ) - - for i := 0; i < 512; i += 64 { - addr = make([]byte, i) - pagination = &sdkquery.PageRequest{ - Key: make([]byte, i), - Offset: uint64(i), - Limit: uint64(i), - CountTotal: i/2 == 0, - } - - _, _ = rand.Read(addr) - _, _ = rand.Read(pagination.Key) - - require.Equal( - t, - &QuerySubscriptionsForNodeRequest{ - Address: base.NodeAddress(addr).String(), - Pagination: pagination, - }, - NewQuerySubscriptionsForNodeRequest(addr, pagination), - ) - } -} - -func TestNewQuerySubscriptionsForPlanRequest(t *testing.T) { - var ( - pagination *sdkquery.PageRequest - ) - - for i := 0; i < 512; i += 64 { - pagination = &sdkquery.PageRequest{ - Key: make([]byte, i), - Offset: uint64(i), - Limit: uint64(i), - CountTotal: i/2 == 0, - } - _, _ = rand.Read(pagination.Key) - - require.Equal( - t, - &QuerySubscriptionsForPlanRequest{ - Id: uint64(i), - Pagination: pagination, - }, - NewQuerySubscriptionsForPlanRequest(uint64(i), pagination), - ) - } -} - -func TestNewQuerySubscriptionsRequest(t *testing.T) { - var ( - pagination *sdkquery.PageRequest - ) - - for i := 0; i < 512; i += 64 { - pagination = &sdkquery.PageRequest{ - Key: make([]byte, i), - Offset: uint64(i), - Limit: uint64(i), - CountTotal: i/2 == 0, - } - - require.Equal( - t, - &QuerySubscriptionsRequest{ - Pagination: pagination, - }, - NewQuerySubscriptionsRequest(pagination), - ) - } -} diff --git a/x/subscription/types/v2/subscription.go b/x/subscription/types/v2/subscription.go index 143c5c5a..865e0b4f 100644 --- a/x/subscription/types/v2/subscription.go +++ b/x/subscription/types/v2/subscription.go @@ -1,14 +1,11 @@ package v2 import ( - "fmt" "time" - sdkerrors "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/gogo/protobuf/proto" - base "github.com/sentinel-official/hub/v12/types" v1base "github.com/sentinel-official/hub/v12/types/v1" ) @@ -57,25 +54,6 @@ func (s *BaseSubscription) SetStatus(v v1base.Status) { s.Status = v } func (s *BaseSubscription) SetStatusAt(v time.Time) { s.StatusAt = v } func (s *BaseSubscription) Validate() error { - if s.ID == 0 { - return fmt.Errorf("id cannot be zero") - } - if s.Address == "" { - return fmt.Errorf("address cannot be empty") - } - if _, err := sdk.AccAddressFromBech32(s.Address); err != nil { - return sdkerrors.Wrapf(err, "invalid address %s", s.Address) - } - if s.InactiveAt.IsZero() { - return fmt.Errorf("inactive_at cannot be zero") - } - if !s.Status.IsValid() { - return fmt.Errorf("status must be valid") - } - if s.StatusAt.IsZero() { - return fmt.Errorf("status_at cannot be zero") - } - return nil } @@ -84,47 +62,6 @@ func (s *NodeSubscription) Type() SubscriptionType { } func (s *NodeSubscription) Validate() error { - if s.BaseSubscription == nil { - return fmt.Errorf("base_subscription cannot be nil") - } - if err := s.BaseSubscription.Validate(); err != nil { - return err - } - if s.NodeAddress == "" { - return fmt.Errorf("node_address cannot be empty") - } - if _, err := base.NodeAddressFromBech32(s.NodeAddress); err != nil { - return sdkerrors.Wrapf(err, "invalid node_address %s", s.NodeAddress) - } - if s.Gigabytes == 0 && s.Hours == 0 { - return fmt.Errorf("[gigabytes, hours] cannot be empty") - } - if s.Gigabytes != 0 && s.Hours != 0 { - return fmt.Errorf("[gigabytes, hours] cannot be non-empty") - } - if s.Gigabytes != 0 { - if s.Gigabytes < 0 { - return fmt.Errorf("gigabytes cannot be negative") - } - } - if s.Hours != 0 { - if s.Hours < 0 { - return fmt.Errorf("hours cannot be negative") - } - } - if s.Deposit.IsNil() { - return fmt.Errorf("deposit cannot be nil") - } - if s.Deposit.IsNegative() { - return fmt.Errorf("deposit cannot be negative") - } - if s.Deposit.IsZero() { - return fmt.Errorf("deposit cannot be zero") - } - if !s.Deposit.IsValid() { - return fmt.Errorf("deposit must be valid") - } - return nil } @@ -133,21 +70,5 @@ func (s *PlanSubscription) Type() SubscriptionType { } func (s *PlanSubscription) Validate() error { - if s.BaseSubscription == nil { - return fmt.Errorf("base_subscription cannot be nil") - } - if err := s.BaseSubscription.Validate(); err != nil { - return err - } - if s.PlanID == 0 { - return fmt.Errorf("plan_id cannot be zero") - } - if s.Denom == "" { - return fmt.Errorf("denom cannot be empty") - } - if err := sdk.ValidateDenom(s.Denom); err != nil { - return sdkerrors.Wrapf(err, "invalid denom %s", s.Denom) - } - return nil }