Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Display order price event attribute in JSON #1057

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

cosmic-vagabond
Copy link
Contributor

@cosmic-vagabond cosmic-vagabond commented Dec 10, 2024

  • Updated the NextVersion constant in setup_handlers.go to v1.0.1.
  • Improved the TestMsgServerExecuteOrder in msg_server_execute_order_test.go by adding post-requisite functions for better event validation and ensuring correct order execution of both spot and perpetual orders.
  • Modified the Execute*Order functions in pending_spot_order.go to include MaxAmount for better order handling.
  • Enhanced event creation in events.go to serialize order prices as JSON for improved clarity in emitted events.
  • Updated the NewExecuteLimitOpenPerpetualOrderEvt function in events.go to serialize the trigger price as a JSON string for better clarity in emitted events.

These changes improve the testing framework and enhance the functionality of order execution in the Tradeshield module.

Description

Closes:

What has Changed?

What specific problem were you aiming to address, and how did you successfully resolve it? If tests were not uploaded for this pull request or if coverage decreased, please provide an explanation for the change.


Author Checklist

All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.

I have...

  • included the correct type prefix in the PR title
  • added ! to the type prefix if API or client breaking change
  • targeted the correct branch (see PR Targeting)
  • provided a link to the relevant issue or specification
  • followed the guidelines for building modules
  • included the necessary unit and integration tests
  • included comments for documenting Go code
  • updated the relevant documentation or specification
  • reviewed "Files changed" and left comments if necessary
  • confirmed all CI checks have passed

Reviewers Checklist

All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.

I have...

  • confirmed the correct type prefix in the PR title
  • confirmed ! in the type prefix if API or client breaking change
  • confirmed all author checklist items have been addressed
  • reviewed state machine logic
  • reviewed API design and naming
  • reviewed documentation is accurate
  • reviewed tests and test coverage
  • manually tested (if applicable)

Deployment Notes

Are there any specific considerations to take into account when deploying these changes? This may include new dependencies, scripts that need to be executed, or any aspects that can only be evaluated in a deployed environment.

Screenshots and Videos

Please provide any relevant before and after screenshots by uploading them here. Additionally, demo videos can be highly beneficial in demonstrating the process.

- Updated the NextVersion constant in setup_handlers.go to v1.1.0.
- Improved the TestMsgServerExecuteOrder in msg_server_execute_order_test.go by adding post-requisite functions for better event validation and ensuring correct order execution.
- Modified the Execute*Order functions in pending_spot_order.go to include MaxAmount for better order handling.
- Enhanced event creation in events.go to serialize order prices as JSON for improved clarity in emitted events.

These changes improve the testing framework and enhance the functionality of order execution in the Tradeshield module.
- Improved the TestMsgServerExecuteOrder in msg_server_execute_order_test.go by adding event validation to ensure the correct execution of limit open perpetual orders.
- Updated the NewExecuteLimitOpenPerpetualOrderEvt function in events.go to serialize the trigger price as a JSON string for better clarity in emitted events.

These changes strengthen the testing framework and improve the accuracy of event emissions in the Tradeshield module.
- Changed the NextVersion constant from v1.1.0 to v1.0.1 to reflect the correct versioning for the application.
- This update ensures that the versioning is consistent with the intended release cycle.
@cosmic-vagabond cosmic-vagabond changed the title feat: Display order price event attribute in JSON fix: Display order price event attribute in JSON Dec 10, 2024
Copy link

codecov bot commented Dec 10, 2024

Codecov Report

Attention: Patch coverage is 19.10112% with 72 lines in your changes missing coverage. Please review.

Project coverage is 45.81%. Comparing base (0a03ecb) to head (1bc9722).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1057      +/-   ##
==========================================
- Coverage   45.87%   45.81%   -0.07%     
==========================================
  Files         939      939              
  Lines       35829    35906      +77     
==========================================
+ Hits        16438    16450      +12     
- Misses      18103    18168      +65     
  Partials     1288     1288              
Components Coverage Δ
leveragelp_transactions 80.06% <ø> (ø)
leveragelp_lifecycle 82.72% <ø> (ø)
leveragelp_keeper 85.41% <ø> (ø)
leveragelp_queries 8.94% <ø> (ø)
accountedpool_transactions 100.00% <ø> (ø)
accountedpool_lifecycle ∅ <ø> (∅)
accountedpool_queries 65.04% <ø> (ø)
amm_transactions 80.28% <ø> (ø)
amm_lifecycle 90.66% <ø> (ø)
amm_keeper 73.59% <ø> (ø)
amm_queries 44.75% <ø> (ø)
assetprofile_transactions 76.85% <ø> (ø)
assetprofile_lifecycle ∅ <ø> (∅)
assetprofile_keeper 80.00% <ø> (ø)
assetprofile_queries 60.00% <ø> (ø)
burner_transactions 0.00% <ø> (ø)
burner_lifecycle ∅ <ø> (∅)
burner_keeper 100.00% <ø> (ø)
burner_queries 62.01% <ø> (ø)
commitment_transactions 78.29% <ø> (ø)
commitment_lifecycle ∅ <ø> (∅)
commitment_keeper 86.17% <ø> (ø)
commitment_queries 34.45% <ø> (ø)
epochs_transactions ∅ <ø> (∅)
epochs_lifecycle 92.00% <ø> (ø)
epochs_keeper 84.61% <ø> (ø)
epochs_queries 26.78% <ø> (ø)
estaking_transactions 68.93% <ø> (ø)
estaking_lifecycle 82.60% <ø> (ø)
estaking_keeper 72.80% <ø> (ø)
estaking_queries 32.71% <ø> (ø)
incentive_transactions ∅ <ø> (∅)
incentive_lifecycle ∅ <ø> (∅)
incentive_keeper ∅ <ø> (∅)
incentive_queries ∅ <ø> (∅)
masterchef_transactions 86.85% <ø> (ø)
masterchef_lifecycle 74.87% <ø> (ø)
masterchef_keeper 100.00% <ø> (ø)
masterchef_queries 26.73% <ø> (ø)
oracle_transactions 27.27% <ø> (ø)
oracle_lifecycle 30.00% <ø> (ø)
oracle_keeper 61.11% <ø> (ø)
oracle_queries 12.73% <ø> (ø)
parameter_transactions 18.86% <ø> (ø)
parameter_lifecycle ∅ <ø> (∅)
parameter_keeper 75.00% <ø> (ø)
parameter_queries 57.14% <ø> (ø)
stablestake_transactions 83.20% <ø> (ø)
stablestake_lifecycle 100.00% <ø> (ø)
stablestake_keeper 90.47% <ø> (ø)
stablestake_queries 100.00% <ø> (ø)
perpetual_transactions 82.43% <ø> (ø)
perpetual_lifecycle 90.90% <ø> (ø)
perpetual_keeper 62.38% <ø> (ø)
perpetual_queries 61.32% <ø> (ø)
tier_transactions 100.00% <ø> (ø)
tier_lifecycle 100.00% <ø> (ø)
tier_keeper 90.90% <ø> (ø)
tier_queries 32.82% <ø> (ø)
tokenomics_transactions 71.87% <ø> (ø)
tokenomics_lifecycle ∅ <ø> (∅)
tokenomics_keeper 80.00% <ø> (ø)
tokenomics_queries 69.60% <ø> (ø)
transferhook_transactions ∅ <ø> (∅)
transferhook_lifecycle ∅ <ø> (∅)
transferhook_keeper 100.00% <ø> (ø)
transferhook_queries 11.11% <ø> (ø)
tradeshield_transactions 76.34% <40.00%> (-0.22%) ⬇️
tradeshield_lifecycle ∅ <ø> (∅)
tradeshield_keeper 90.90% <ø> (ø)
tradeshield_queries 21.55% <ø> (ø)

return sdk.NewEvent(TypeEvtExecuteSpotOrder,
sdk.NewAttribute("order_type", order.OrderType.String()),
sdk.NewAttribute("order_id", strconv.FormatInt(int64(order.OrderId), 10)),
sdk.NewAttribute("order_price", order.OrderPrice.String()),
sdk.NewAttribute("order_price", string(orderPrice)),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why can't we add 3 separate events?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@avkr003 lets keep structural changes post launch as it will require to update the offchain agents otherwise

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@cosmic-vagabond This is an event changed, not structural change. This won't change genesis right?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@avkr003 I was referring to our offchain agent that uses the current event structure

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@avkr003 the spot order events were broken down into 4 event types: limit buy, limit sell, stop loss and market buy, please review the changes thanks

return sdk.NewEvent(TypeEvtExecuteLimitOpenPerpetualOrder,
sdk.NewAttribute("order_id", strconv.FormatInt(int64(order.OrderId), 10)),
sdk.NewAttribute("owner_address", order.OwnerAddress),
sdk.NewAttribute("order_type", order.PerpetualOrderType.String()),
sdk.NewAttribute("position", order.Position.String()),
sdk.NewAttribute("position_id", strconv.FormatInt(int64(positionId), 10)),
sdk.NewAttribute("trigger_price", order.TriggerPrice.String()),
sdk.NewAttribute("trigger_price", string(triggerPrice)),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same as above

x/tradeshield/keeper/pending_spot_order.go Show resolved Hide resolved
… module

- Updated event types in events.go to include specific events for limit buy, limit sell, stop loss, and market buy spot orders.
- Modified the TestMsgServerExecuteOrder in msg_server_execute_order_test.go to validate the correct event type for limit buy orders.
- Adjusted the ExecuteOrders function in msg_server_execute_orders.go to remove unused response variables and ensure proper event emissions.
- Enhanced the CreateSpotOrder function in msg_server_spot_order.go to emit the correct event for market buy orders.
- Added event emissions in the Execute*Order functions in pending_spot_order.go to ensure accurate event logging.

These changes improve event handling and enhance the clarity of order execution in the Tradeshield module.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants