Skip to content

Commit

Permalink
move removal reasons to a separate package
Browse files Browse the repository at this point in the history
  • Loading branch information
jayy04 committed Mar 1, 2024
1 parent 1df8a76 commit da98350
Show file tree
Hide file tree
Showing 21 changed files with 104 additions and 98 deletions.
2 changes: 1 addition & 1 deletion proto/dydxprotocol/indexer/shared/removal_reason.proto
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
syntax = "proto3";
package dydxprotocol.indexer.shared;

option go_package = "github.com/dydxprotocol/v4-chain/protocol/indexer/shared";
option go_package = "github.com/dydxprotocol/v4-chain/protocol/indexer/shared/types";

// TODO(DEC-869): Update reasons/statuses for Advanced Orders.

Expand Down
10 changes: 5 additions & 5 deletions protocol/indexer/events/events.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions protocol/indexer/events/stateful_order.go
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package events

import (
"github.com/dydxprotocol/v4-chain/protocol/indexer/protocol/v1"
"github.com/dydxprotocol/v4-chain/protocol/indexer/shared"
v1 "github.com/dydxprotocol/v4-chain/protocol/indexer/protocol/v1"
sharedtypes "github.com/dydxprotocol/v4-chain/protocol/indexer/shared/types"
clobtypes "github.com/dydxprotocol/v4-chain/protocol/x/clob/types"
)

Expand All @@ -22,7 +22,7 @@ func NewLongTermOrderPlacementEvent(

func NewStatefulOrderRemovalEvent(
removedOrderId clobtypes.OrderId,
reason shared.OrderRemovalReason,
reason sharedtypes.OrderRemovalReason,
) *StatefulOrderEventV1 {
orderId := v1.OrderIdToIndexerOrderId(removedOrderId)
orderRemoval := StatefulOrderEventV1_StatefulOrderRemovalV1{
Expand Down
6 changes: 3 additions & 3 deletions protocol/indexer/events/stateful_order_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ import (
"testing"

"github.com/dydxprotocol/v4-chain/protocol/indexer/events"
"github.com/dydxprotocol/v4-chain/protocol/indexer/protocol/v1"
"github.com/dydxprotocol/v4-chain/protocol/indexer/shared"
v1 "github.com/dydxprotocol/v4-chain/protocol/indexer/protocol/v1"
sharedtypes "github.com/dydxprotocol/v4-chain/protocol/indexer/shared/types"
"github.com/dydxprotocol/v4-chain/protocol/testutil/constants"
"github.com/stretchr/testify/require"
)
Expand All @@ -15,7 +15,7 @@ var (
indexerOrder = v1.OrderToIndexerOrder(order)
orderId = constants.OrderId_Alice_Num0_ClientId0_Clob0
indexerOrderId = v1.OrderIdToIndexerOrderId(orderId)
reason = shared.OrderRemovalReason_ORDER_REMOVAL_REASON_REPLACED
reason = sharedtypes.OrderRemovalReason_ORDER_REMOVAL_REASON_REPLACED
)

func TestLongTermOrderPlacementEvent_Success(t *testing.T) {
Expand Down
11 changes: 6 additions & 5 deletions protocol/indexer/off_chain_updates/off_chain_updates.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import (
ocutypes "github.com/dydxprotocol/v4-chain/protocol/indexer/off_chain_updates/types"
v1 "github.com/dydxprotocol/v4-chain/protocol/indexer/protocol/v1"
"github.com/dydxprotocol/v4-chain/protocol/indexer/shared"
sharedtypes "github.com/dydxprotocol/v4-chain/protocol/indexer/shared/types"
"github.com/dydxprotocol/v4-chain/protocol/lib/log"
clobtypes "github.com/dydxprotocol/v4-chain/protocol/x/clob/types"
satypes "github.com/dydxprotocol/v4-chain/protocol/x/subaccounts/types"
Expand Down Expand Up @@ -114,7 +115,7 @@ func CreateOrderUpdateMessage(
func MustCreateOrderRemoveMessageWithReason(
ctx sdk.Context,
orderId clobtypes.OrderId,
reason shared.OrderRemovalReason,
reason sharedtypes.OrderRemovalReason,
removalStatus ocutypes.OrderRemoveV1_OrderRemovalStatus,
) msgsender.Message {
msg, ok := CreateOrderRemoveMessageWithReason(ctx, orderId, reason, removalStatus)
Expand All @@ -129,7 +130,7 @@ func MustCreateOrderRemoveMessageWithReason(
func CreateOrderRemoveMessageWithReason(
ctx sdk.Context,
orderId clobtypes.OrderId,
reason shared.OrderRemovalReason,
reason sharedtypes.OrderRemovalReason,
removalStatus ocutypes.OrderRemoveV1_OrderRemovalStatus,
) (message msgsender.Message, success bool) {
errMessage := "Error creating off-chain update message for removing order."
Expand Down Expand Up @@ -213,9 +214,9 @@ func CreateOrderRemoveMessageWithDefaultReason(
orderStatus clobtypes.OrderStatus,
orderError error,
removalStatus ocutypes.OrderRemoveV1_OrderRemovalStatus,
defaultRemovalReason shared.OrderRemovalReason,
defaultRemovalReason sharedtypes.OrderRemovalReason,
) (message msgsender.Message, success bool) {
if defaultRemovalReason == shared.OrderRemovalReason_ORDER_REMOVAL_REASON_UNSPECIFIED {
if defaultRemovalReason == sharedtypes.OrderRemovalReason_ORDER_REMOVAL_REASON_UNSPECIFIED {
panic(
fmt.Errorf(
"Invalid parameter: " +
Expand Down Expand Up @@ -262,7 +263,7 @@ func newOrderPlaceMessage(
// The `OrderRemove` struct is instantiated with the given orderId, reason and status parameters.
func newOrderRemoveMessage(
orderId clobtypes.OrderId,
reason shared.OrderRemovalReason,
reason sharedtypes.OrderRemovalReason,
status ocutypes.OrderRemoveV1_OrderRemovalStatus,
) ([]byte, error) {
indexerOrderId := v1.OrderIdToIndexerOrderId(orderId)
Expand Down
8 changes: 4 additions & 4 deletions protocol/indexer/off_chain_updates/off_chain_updates_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import (
"github.com/dydxprotocol/v4-chain/protocol/indexer/msgsender"
ocutypes "github.com/dydxprotocol/v4-chain/protocol/indexer/off_chain_updates/types"
v1 "github.com/dydxprotocol/v4-chain/protocol/indexer/protocol/v1"
"github.com/dydxprotocol/v4-chain/protocol/indexer/shared"
sharedtypes "github.com/dydxprotocol/v4-chain/protocol/indexer/shared/types"
"github.com/dydxprotocol/v4-chain/protocol/testutil/constants"
"github.com/dydxprotocol/v4-chain/protocol/testutil/sdk"
clobtypes "github.com/dydxprotocol/v4-chain/protocol/x/clob/types"
Expand All @@ -24,9 +24,9 @@ var (
totalFilledAmount = satypes.BaseQuantums(5)
orderStatus = clobtypes.Undercollateralized
orderError error = nil
reason = shared.OrderRemovalReason_ORDER_REMOVAL_REASON_UNDERCOLLATERALIZED
reason = sharedtypes.OrderRemovalReason_ORDER_REMOVAL_REASON_UNDERCOLLATERALIZED
status = ocutypes.OrderRemoveV1_ORDER_REMOVAL_STATUS_BEST_EFFORT_CANCELED
defaultRemovalReason = shared.OrderRemovalReason_ORDER_REMOVAL_REASON_INTERNAL_ERROR
defaultRemovalReason = sharedtypes.OrderRemovalReason_ORDER_REMOVAL_REASON_INTERNAL_ERROR
offchainUpdateOrderPlace = ocutypes.OffChainUpdateV1{
UpdateMessage: &ocutypes.OffChainUpdateV1_OrderPlace{
OrderPlace: &ocutypes.OrderPlaceV1{
Expand Down Expand Up @@ -178,7 +178,7 @@ func TestCreateOrderRemoveMessageWithDefaultReason_InvalidDefault(t *testing.T)
clobtypes.Success,
orderError,
status,
shared.OrderRemovalReason_ORDER_REMOVAL_REASON_UNSPECIFIED,
sharedtypes.OrderRemovalReason_ORDER_REMOVAL_REASON_UNSPECIFIED,
)
},
)
Expand Down
10 changes: 5 additions & 5 deletions protocol/indexer/off_chain_updates/types/off_chain_updates.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

35 changes: 18 additions & 17 deletions protocol/indexer/shared/order_removal_reason.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import (
"errors"
"fmt"

sharedtypes "github.com/dydxprotocol/v4-chain/protocol/indexer/shared/types"
clobtypes "github.com/dydxprotocol/v4-chain/protocol/x/clob/types"
)

Expand All @@ -12,21 +13,21 @@ import (
// a bulk of order removals and generate offchain updates for each order removal.
func ConvertOrderRemovalReasonToIndexerOrderRemovalReason(
removalReason clobtypes.OrderRemoval_RemovalReason,
) OrderRemovalReason {
var reason OrderRemovalReason
) sharedtypes.OrderRemovalReason {
var reason sharedtypes.OrderRemovalReason
switch removalReason {
case clobtypes.OrderRemoval_REMOVAL_REASON_UNDERCOLLATERALIZED:
reason = OrderRemovalReason_ORDER_REMOVAL_REASON_UNDERCOLLATERALIZED
reason = sharedtypes.OrderRemovalReason_ORDER_REMOVAL_REASON_UNDERCOLLATERALIZED
case clobtypes.OrderRemoval_REMOVAL_REASON_INVALID_REDUCE_ONLY:
reason = OrderRemovalReason_ORDER_REMOVAL_REASON_REDUCE_ONLY_RESIZE
reason = sharedtypes.OrderRemovalReason_ORDER_REMOVAL_REASON_REDUCE_ONLY_RESIZE
case clobtypes.OrderRemoval_REMOVAL_REASON_POST_ONLY_WOULD_CROSS_MAKER_ORDER:
reason = OrderRemovalReason_ORDER_REMOVAL_REASON_POST_ONLY_WOULD_CROSS_MAKER_ORDER
reason = sharedtypes.OrderRemovalReason_ORDER_REMOVAL_REASON_POST_ONLY_WOULD_CROSS_MAKER_ORDER
case clobtypes.OrderRemoval_REMOVAL_REASON_INVALID_SELF_TRADE:
reason = OrderRemovalReason_ORDER_REMOVAL_REASON_SELF_TRADE_ERROR
reason = sharedtypes.OrderRemovalReason_ORDER_REMOVAL_REASON_SELF_TRADE_ERROR
case clobtypes.OrderRemoval_REMOVAL_REASON_CONDITIONAL_FOK_COULD_NOT_BE_FULLY_FILLED:
reason = OrderRemovalReason_ORDER_REMOVAL_REASON_FOK_ORDER_COULD_NOT_BE_FULLY_FULLED
reason = sharedtypes.OrderRemovalReason_ORDER_REMOVAL_REASON_FOK_ORDER_COULD_NOT_BE_FULLY_FULLED
case clobtypes.OrderRemoval_REMOVAL_REASON_CONDITIONAL_IOC_WOULD_REST_ON_BOOK:
reason = OrderRemovalReason_ORDER_REMOVAL_REASON_IMMEDIATE_OR_CANCEL_WOULD_REST_ON_BOOK
reason = sharedtypes.OrderRemovalReason_ORDER_REMOVAL_REASON_IMMEDIATE_OR_CANCEL_WOULD_REST_ON_BOOK
default:
panic("ConvertOrderRemovalReasonToIndexerOrderRemovalReason: unspecified removal reason not allowed")
}
Expand All @@ -38,27 +39,27 @@ func ConvertOrderRemovalReasonToIndexerOrderRemovalReason(
func GetOrderRemovalReason(
orderStatus clobtypes.OrderStatus,
orderError error,
) (OrderRemovalReason, error) {
) (sharedtypes.OrderRemovalReason, error) {
switch {
case errors.Is(orderError, clobtypes.ErrReduceOnlyWouldIncreasePositionSize):
return OrderRemovalReason_ORDER_REMOVAL_REASON_REDUCE_ONLY_RESIZE, nil
return sharedtypes.OrderRemovalReason_ORDER_REMOVAL_REASON_REDUCE_ONLY_RESIZE, nil
case errors.Is(orderError, clobtypes.ErrPostOnlyWouldCrossMakerOrder):
return OrderRemovalReason_ORDER_REMOVAL_REASON_POST_ONLY_WOULD_CROSS_MAKER_ORDER, nil
return sharedtypes.OrderRemovalReason_ORDER_REMOVAL_REASON_POST_ONLY_WOULD_CROSS_MAKER_ORDER, nil
case errors.Is(orderError, clobtypes.ErrFokOrderCouldNotBeFullyFilled):
return OrderRemovalReason_ORDER_REMOVAL_REASON_FOK_ORDER_COULD_NOT_BE_FULLY_FULLED, nil
return sharedtypes.OrderRemovalReason_ORDER_REMOVAL_REASON_FOK_ORDER_COULD_NOT_BE_FULLY_FULLED, nil
case errors.Is(orderError, clobtypes.ErrOrderWouldExceedMaxOpenOrdersEquityTierLimit):
return OrderRemovalReason_ORDER_REMOVAL_REASON_EQUITY_TIER, nil
return sharedtypes.OrderRemovalReason_ORDER_REMOVAL_REASON_EQUITY_TIER, nil
}

switch orderStatus {
case clobtypes.Undercollateralized:
return OrderRemovalReason_ORDER_REMOVAL_REASON_UNDERCOLLATERALIZED, nil
return sharedtypes.OrderRemovalReason_ORDER_REMOVAL_REASON_UNDERCOLLATERALIZED, nil
case clobtypes.InternalError:
return OrderRemovalReason_ORDER_REMOVAL_REASON_INTERNAL_ERROR, nil
return sharedtypes.OrderRemovalReason_ORDER_REMOVAL_REASON_INTERNAL_ERROR, nil
case clobtypes.ImmediateOrCancelWouldRestOnBook:
return OrderRemovalReason_ORDER_REMOVAL_REASON_IMMEDIATE_OR_CANCEL_WOULD_REST_ON_BOOK, nil
return sharedtypes.OrderRemovalReason_ORDER_REMOVAL_REASON_IMMEDIATE_OR_CANCEL_WOULD_REST_ON_BOOK, nil
case clobtypes.ReduceOnlyResized:
return OrderRemovalReason_ORDER_REMOVAL_REASON_REDUCE_ONLY_RESIZE, nil
return sharedtypes.OrderRemovalReason_ORDER_REMOVAL_REASON_REDUCE_ONLY_RESIZE, nil
default:
return 0, fmt.Errorf("unrecognized order status %d and error \"%w\"", orderStatus, orderError)
}
Expand Down
15 changes: 8 additions & 7 deletions protocol/indexer/shared/order_removal_reason_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import (
"testing"

"github.com/dydxprotocol/v4-chain/protocol/indexer/shared"
sharedtypes "github.com/dydxprotocol/v4-chain/protocol/indexer/shared/types"
clobtypes "github.com/dydxprotocol/v4-chain/protocol/x/clob/types"
"github.com/stretchr/testify/require"
)
Expand All @@ -16,37 +17,37 @@ func TestGetOrderRemovalReason_Success(t *testing.T) {
orderError error

// Expectations
expectedReason shared.OrderRemovalReason
expectedReason sharedtypes.OrderRemovalReason
expectedErr error
}{
"Gets order removal reason for order status Undercollateralized": {
orderStatus: clobtypes.Undercollateralized,
expectedReason: shared.OrderRemovalReason_ORDER_REMOVAL_REASON_UNDERCOLLATERALIZED,
expectedReason: sharedtypes.OrderRemovalReason_ORDER_REMOVAL_REASON_UNDERCOLLATERALIZED,
expectedErr: nil,
},
"Gets order removal reason for order status InternalError": {
orderStatus: clobtypes.InternalError,
expectedReason: shared.OrderRemovalReason_ORDER_REMOVAL_REASON_INTERNAL_ERROR,
expectedReason: sharedtypes.OrderRemovalReason_ORDER_REMOVAL_REASON_INTERNAL_ERROR,
expectedErr: nil,
},
"Gets order removal reason for order status ImmediateOrCancelWouldRestOnBook": {
orderStatus: clobtypes.ImmediateOrCancelWouldRestOnBook,
expectedReason: shared.OrderRemovalReason_ORDER_REMOVAL_REASON_IMMEDIATE_OR_CANCEL_WOULD_REST_ON_BOOK,
expectedReason: sharedtypes.OrderRemovalReason_ORDER_REMOVAL_REASON_IMMEDIATE_OR_CANCEL_WOULD_REST_ON_BOOK,
expectedErr: nil,
},
"Gets order removal reason for order error ErrFokOrderCouldNotBeFullyFilled": {
orderError: clobtypes.ErrFokOrderCouldNotBeFullyFilled,
expectedReason: shared.OrderRemovalReason_ORDER_REMOVAL_REASON_FOK_ORDER_COULD_NOT_BE_FULLY_FULLED,
expectedReason: sharedtypes.OrderRemovalReason_ORDER_REMOVAL_REASON_FOK_ORDER_COULD_NOT_BE_FULLY_FULLED,
expectedErr: nil,
},
"Gets order removal reason for order error ErrPostOnlyWouldCrossMakerOrder": {
orderError: clobtypes.ErrPostOnlyWouldCrossMakerOrder,
expectedReason: shared.OrderRemovalReason_ORDER_REMOVAL_REASON_POST_ONLY_WOULD_CROSS_MAKER_ORDER,
expectedReason: sharedtypes.OrderRemovalReason_ORDER_REMOVAL_REASON_POST_ONLY_WOULD_CROSS_MAKER_ORDER,
expectedErr: nil,
},
"Gets order removal reason for order error ErrReduceOnlyWouldIncreasePositionSize": {
orderError: clobtypes.ErrReduceOnlyWouldIncreasePositionSize,
expectedReason: shared.OrderRemovalReason_ORDER_REMOVAL_REASON_REDUCE_ONLY_RESIZE,
expectedReason: sharedtypes.OrderRemovalReason_ORDER_REMOVAL_REASON_REDUCE_ONLY_RESIZE,
expectedErr: nil,
},
"Returns error for order status Success": {
Expand Down
Loading

0 comments on commit da98350

Please sign in to comment.