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

[TRA-86] scaffold x/vault #1148

Merged
merged 2 commits into from
Mar 6, 2024
Merged

[TRA-86] scaffold x/vault #1148

merged 2 commits into from
Mar 6, 2024

Conversation

tqin7
Copy link
Contributor

@tqin7 tqin7 commented Mar 6, 2024

Changelist

scaffold x/vault

Test Plan

[Describe how this PR was tested (if applicable)]

Author/Reviewer Checklist

  • If this PR has changes that result in a different app state given the same prior state and transaction list, manually add the state-breaking label.
  • If the PR has breaking postgres changes to the indexer add the indexer-postgres-breaking label.
  • If this PR isn't state-breaking but has changes that modify behavior in PrepareProposal or ProcessProposal, manually add the label proposal-breaking.
  • If this PR is one of many that implement a specific feature, manually label them all feature:[feature-name].
  • If you wish to for mergify-bot to automatically create a PR to backport your change to a release branch, manually add the label backport/[branch-name].
  • Manually add any of the following labels: refactor, chore, bug.

Copy link

linear bot commented Mar 6, 2024

Copy link
Contributor

coderabbitai bot commented Mar 6, 2024

Important

Auto Review Skipped

Review was skipped due to path filters

Files ignored due to path filters (1)
  • protocol/testing/containertest/preupgrade_genesis.json is excluded by: !**/*.json

Walkthrough

The overall change introduces a new vault module to the dYdX Protocol, encompassing the creation and management of vaults. This includes defining the genesis state, query services, and transaction commands using Protocol Buffers, integrating the module into the application structure, and providing CLI support. Additionally, it establishes a keeper for managing vault operations and sets up the necessary infrastructure for module initialization, state management, and gRPC queries within the Cosmos SDK framework.

Changes

File(s) Change Summary
proto/dydxprotocol/vault/genesis.proto, .../query.proto, .../tx.proto Introduces ProtoBuf files for genesis state, gRPC queries, and transaction commands in vault.
protocol/app/app.go, .../app_test.go Adds vault module functionality and tests to the application structure.
protocol/testutil/constants/genesis.go Adds a vault section to the GenesisState constant.
protocol/x/vault/client/cli/query.go, .../cli/tx.go Defines CLI query and transaction commands for the vault module.
protocol/x/vault/genesis.go, .../module.go, .../types/genesis.go Handles module initialization, state management, and genesis state for vault.
protocol/x/vault/keeper/... (multiple files) Implements the Keeper functionality for vault operations, including gRPC queries.
protocol/x/vault/types/... (multiple files) Defines codecs, keys, and expected keepers for the vault module.

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share

Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit-tests for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit tests for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit tests.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger a review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • The JSON schema for the configuration file is available here.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/coderabbit-overrides.v2.json

CodeRabbit Discord Community

Join our Discord Community to get help, request features, and share feedback.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Review Status

Actionable comments generated: 1

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between 55d0b6d and e22f5b4.
Files ignored due to path filters (5)
  • protocol/app/testdata/default_genesis_state.json is excluded by: !**/*.json
  • protocol/scripts/genesis/sample_pregenesis.json is excluded by: !**/*.json
  • protocol/x/vault/types/genesis.pb.go is excluded by: !**/*.pb.go
  • protocol/x/vault/types/query.pb.go is excluded by: !**/*.pb.go
  • protocol/x/vault/types/tx.pb.go is excluded by: !**/*.pb.go
Files selected for processing (19)
  • proto/dydxprotocol/vault/genesis.proto (1 hunks)
  • proto/dydxprotocol/vault/query.proto (1 hunks)
  • proto/dydxprotocol/vault/tx.proto (1 hunks)
  • protocol/app/app.go (9 hunks)
  • protocol/app/app_test.go (2 hunks)
  • protocol/testutil/constants/genesis.go (1 hunks)
  • protocol/x/vault/client/cli/query.go (1 hunks)
  • protocol/x/vault/client/cli/tx.go (1 hunks)
  • protocol/x/vault/genesis.go (1 hunks)
  • protocol/x/vault/keeper/grpc_query.go (1 hunks)
  • protocol/x/vault/keeper/keeper.go (1 hunks)
  • protocol/x/vault/keeper/keeper_test.go (1 hunks)
  • protocol/x/vault/keeper/msg_server.go (1 hunks)
  • protocol/x/vault/keeper/msg_server_test.go (1 hunks)
  • protocol/x/vault/module.go (1 hunks)
  • protocol/x/vault/types/codec.go (1 hunks)
  • protocol/x/vault/types/expected_keepers.go (1 hunks)
  • protocol/x/vault/types/genesis.go (1 hunks)
  • protocol/x/vault/types/keys.go (1 hunks)
Files not reviewed due to errors (1)
  • protocol/testutil/constants/genesis.go (Error: unable to parse review)
Files skipped from review due to trivial changes (5)
  • protocol/x/vault/keeper/grpc_query.go
  • protocol/x/vault/types/codec.go
  • protocol/x/vault/types/expected_keepers.go
  • protocol/x/vault/types/genesis.go
  • protocol/x/vault/types/keys.go
Additional comments: 36
proto/dydxprotocol/vault/tx.proto (1)
  • 6-8: The Msg service definition is currently empty. While this might be intentional during the initial scaffolding phase, it's important to plan for the implementation of message types and methods that will facilitate the interactions with the x/vault module.
proto/dydxprotocol/vault/query.proto (1)
  • 6-8: The Query service definition is currently empty. Similar to the Msg service, this is likely intentional during the scaffolding phase. However, it's crucial to outline the queries that will be supported by the x/vault module to facilitate data retrieval and interactions.
proto/dydxprotocol/vault/genesis.proto (1)
  • 6-8: The GenesisState message definition is currently empty. While this may be part of the initial scaffolding process, it's important to define the structure of the genesis state for the x/vault module, including any initial configurations, parameters, or state that needs to be established at the genesis block.
protocol/x/vault/keeper/keeper_test.go (1)
  • 10-16: The test for the Logger method is a good starting point. However, consider adding more comprehensive tests that could validate specific behaviors or outputs of the logger, ensuring it functions as expected in various scenarios.
protocol/x/vault/keeper/msg_server.go (1)
  • 7-17: The setup for the msgServer and its constructor function NewMsgServerImpl is correctly implemented. As the module development progresses, ensure to add the necessary method implementations to the msgServer to handle the module's message types.
protocol/x/vault/genesis.go (1)
  • 9-16: The functions InitGenesis and ExportGenesis are currently placeholders without implementation. As the module development progresses, it will be important to implement the logic for initializing and exporting the module's genesis state, ensuring the x/vault module is correctly set up at the genesis block and can export its state for chain upgrades or migrations.
protocol/x/vault/client/cli/tx.go (1)
  • 12-21: The setup for the module's transaction commands using Cobra is correctly implemented. As the module development progresses, ensure to add specific transaction subcommands to facilitate user interactions with the x/vault module through the CLI.
protocol/x/vault/client/cli/query.go (1)
  • 12-23: The setup for the module's query commands using Cobra is correctly implemented. As the module development progresses, ensure to add specific query subcommands to facilitate user interactions with the x/vault module through the CLI, enabling data retrieval and state queries.
protocol/x/vault/keeper/msg_server_test.go (1)
  • 21-26: The basic test setup for the message server is a good starting point. Consider adding more comprehensive tests that validate the message server's behavior, including handling of specific messages and interactions with the keeper, to ensure it functions as expected in various scenarios.
protocol/x/vault/keeper/keeper.go (1)
  • 14-43: The implementation of the Keeper struct, its constructor, and methods HasAuthority and Logger are correctly set up. The approach for handling authorities and logging is well-considered. As the module development progresses, consider adding additional keeper methods to support the full range of functionalities required by the x/vault module.
protocol/x/vault/module.go (15)
  • 22-30: The implementation of interfaces for AppModule and AppModuleBasic is correctly done, ensuring that the module adheres to the expected patterns of the Cosmos SDK.
  • 36-40: The AppModuleBasic struct is correctly defined with a cdc field for codec handling, which is essential for serialization and deserialization within the module.
  • 42-44: The NewAppModuleBasic function correctly initializes an AppModuleBasic instance with the provided codec, aligning with best practices for module setup.
  • 47-49: The Name method correctly returns the module name from the types package, ensuring consistency across the module's components.
  • 51-55: The RegisterLegacyAminoCodec method is implemented to support legacy Amino codec operations. While Amino is being phased out in favor of Protobuf, maintaining this for backward compatibility is necessary.
  • 57-60: The RegisterInterfaces method correctly registers module interfaces with the provided InterfaceRegistry, facilitating the use of Protobuf for serialization.
  • 62-66: The DefaultGenesis method correctly provides a default genesis state for the module, which is crucial for module initialization and testing.
  • 68-74: The ValidateGenesis method properly validates the genesis state, ensuring that the module's initial state conforms to expected structures and values.
  • 77-78: The RegisterGRPCGatewayRoutes method is currently a placeholder. It's important to implement this method to register gRPC Gateway routes if the module needs to expose REST endpoints.

Consider implementing the RegisterGRPCGatewayRoutes method to support REST endpoints via gRPC Gateway, if applicable to the module's functionality.

  • 82-84: The GetTxCmd and GetQueryCmd methods correctly provide Cobra commands for transactions and queries, enhancing the module's usability from the command line.
  • 96-101: The AppModule struct is correctly defined with an embedded AppModuleBasic and a keeper field, aligning with Cosmos SDK patterns for module implementation.
  • 103-110: The NewAppModule function correctly initializes an AppModule instance, ensuring proper setup with the necessary dependencies.
  • 119-123: The RegisterServices method correctly registers message and query services for the module, facilitating interaction with the module's functionalities.
  • 125-132: The InitGenesis and ExportGenesis methods are correctly implemented to handle the module's genesis state initialization and exportation, which are critical for the module's lifecycle management.
  • 140-143: The ConsensusVersion method correctly sets the initial version to 1, adhering to best practices for versioning state-breaking changes in the module.
protocol/app/app_test.go (2)
  • 50-50: The addition of vaultmodule to the import section correctly integrates the x/vault module into the test suite, ensuring that the module is considered in application-wide tests.
  • 224-224: The inclusion of vaultmodule.AppModuleBasic{} in the TestModuleBasics function correctly tests the basic module functionalities, ensuring that the x/vault module adheres to the expected patterns and interfaces of the Cosmos SDK.
protocol/app/app.go (9)
  • 176-178: The import statements for the x/vault module's main package, keeper, and types are correctly added. This follows the standard pattern used for other modules in the application.
  • 301-301: The VaultKeeper is correctly declared within the App struct, following the established pattern for keeper declarations in the application. This ensures that the VaultKeeper can be accessed throughout the application where needed.
  • 1043-1050: The initialization of the VaultKeeper within the New function of the App struct is done correctly. The keeper is instantiated with the appropriate store key and a list of module accounts that are allowed to interact with it, which is a common pattern for keeper initialization in Cosmos SDK applications.
  • 1051-1051: The vaultModule is correctly instantiated using the NewAppModule method from the vaultmodule package, passing in the appCodec and the newly created VaultKeeper. This is consistent with how other modules are set up in the application.
  • 1120-1120: The vaultModule is correctly added to the ModuleManager within the New function. This ensures that the x/vault module is included in the application's lifecycle, including genesis initialization, transaction handling, and block processing.
  • 1165-1165: The vaultModule is correctly included in the SetOrderBeginBlockers method call. This determines the order in which modules' BeginBlocker methods are called at the start of each block. The specific ordering here should be reviewed to ensure it aligns with the intended logic and dependencies between modules.

Please verify the intended order of module processing in the BeginBlocker to ensure that the x/vault module is placed correctly relative to other modules, considering any dependencies or required sequence of operations.

  • 1205-1205: Including the vaultModule in the SetOrderEndBlockers method call is done correctly. This configures the order in which modules' EndBlocker methods are executed at the end of each block. As with the BeginBlocker, the ordering should be carefully considered based on module interactions and dependencies.

Please confirm the intended execution order in the EndBlocker to ensure that the x/vault module's placement is appropriate in relation to other modules, especially if there are specific interactions or dependencies that need to be accounted for.

  • 1249-1249: The inclusion of the vaultModule in the SetOrderInitGenesis method ensures that the module's genesis state is initialized correctly when the chain starts or when a reset is performed. This is a necessary step for integrating new modules into a Cosmos SDK application.
  • 1289-1289: Adding the vaultModule to the SetOrderMigrations method is correct and necessary for handling any future state migrations that the module may require. This setup allows for a structured approach to upgrading module state across software versions.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Review Status

Actionable comments generated: 1

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between 55d0b6d and 7fa216d.
Files ignored due to path filters (5)
  • protocol/app/testdata/default_genesis_state.json is excluded by: !**/*.json
  • protocol/scripts/genesis/sample_pregenesis.json is excluded by: !**/*.json
  • protocol/x/vault/types/genesis.pb.go is excluded by: !**/*.pb.go
  • protocol/x/vault/types/query.pb.go is excluded by: !**/*.pb.go
  • protocol/x/vault/types/tx.pb.go is excluded by: !**/*.pb.go
Files selected for processing (27)
  • indexer/packages/v4-protos/src/codegen/dydxprotocol/bundle.ts (4 hunks)
  • indexer/packages/v4-protos/src/codegen/dydxprotocol/rpc.query.ts (1 hunks)
  • indexer/packages/v4-protos/src/codegen/dydxprotocol/vault/genesis.ts (1 hunks)
  • indexer/packages/v4-protos/src/codegen/dydxprotocol/vault/query.rpc.Query.ts (1 hunks)
  • indexer/packages/v4-protos/src/codegen/dydxprotocol/vault/query.ts (1 hunks)
  • indexer/packages/v4-protos/src/codegen/dydxprotocol/vault/tx.ts (1 hunks)
  • indexer/packages/v4-protos/src/codegen/gogoproto/bundle.ts (1 hunks)
  • indexer/packages/v4-protos/src/codegen/google/bundle.ts (1 hunks)
  • proto/dydxprotocol/vault/genesis.proto (1 hunks)
  • proto/dydxprotocol/vault/query.proto (1 hunks)
  • proto/dydxprotocol/vault/tx.proto (1 hunks)
  • protocol/app/app.go (9 hunks)
  • protocol/app/app_test.go (2 hunks)
  • protocol/testutil/constants/genesis.go (1 hunks)
  • protocol/x/vault/client/cli/query.go (1 hunks)
  • protocol/x/vault/client/cli/tx.go (1 hunks)
  • protocol/x/vault/genesis.go (1 hunks)
  • protocol/x/vault/keeper/grpc_query.go (1 hunks)
  • protocol/x/vault/keeper/keeper.go (1 hunks)
  • protocol/x/vault/keeper/keeper_test.go (1 hunks)
  • protocol/x/vault/keeper/msg_server.go (1 hunks)
  • protocol/x/vault/keeper/msg_server_test.go (1 hunks)
  • protocol/x/vault/module.go (1 hunks)
  • protocol/x/vault/types/codec.go (1 hunks)
  • protocol/x/vault/types/expected_keepers.go (1 hunks)
  • protocol/x/vault/types/genesis.go (1 hunks)
  • protocol/x/vault/types/keys.go (1 hunks)
Files skipped from review due to trivial changes (2)
  • indexer/packages/v4-protos/src/codegen/dydxprotocol/vault/query.ts
  • indexer/packages/v4-protos/src/codegen/dydxprotocol/vault/tx.ts
Files skipped from review as they are similar to previous changes (18)
  • proto/dydxprotocol/vault/genesis.proto
  • proto/dydxprotocol/vault/query.proto
  • proto/dydxprotocol/vault/tx.proto
  • protocol/app/app_test.go
  • protocol/testutil/constants/genesis.go
  • protocol/x/vault/client/cli/query.go
  • protocol/x/vault/client/cli/tx.go
  • protocol/x/vault/genesis.go
  • protocol/x/vault/keeper/grpc_query.go
  • protocol/x/vault/keeper/keeper.go
  • protocol/x/vault/keeper/keeper_test.go
  • protocol/x/vault/keeper/msg_server.go
  • protocol/x/vault/keeper/msg_server_test.go
  • protocol/x/vault/module.go
  • protocol/x/vault/types/codec.go
  • protocol/x/vault/types/expected_keepers.go
  • protocol/x/vault/types/genesis.go
  • protocol/x/vault/types/keys.go
Additional comments: 15
indexer/packages/v4-protos/src/codegen/gogoproto/bundle.ts (1)
  • 1-2: The update from importing _98 to _101 in the gogoproto bundle appears correctly implemented, ensuring that the exported gogoproto constant reflects the latest module structure. Ensure that the module _101 exists and contains the expected exports for gogoproto.
indexer/packages/v4-protos/src/codegen/google/bundle.ts (1)
  • 1-14: The reordering and renaming of imports within the google namespace are well-organized, and the exported namespaces api and protobuf correctly aggregate the modules. Ensure that the newly referenced modules (_102 to _107) exist and are structured as expected to support these exports.
indexer/packages/v4-protos/src/codegen/dydxprotocol/vault/query.rpc.Query.ts (1)
  • 5-17: The scaffolding for the Query interface and QueryClientImpl class is correctly set up. However, both the interface and the createRpcQueryExtension function currently lack implementation. Consider adding a comment or TODO to indicate that further implementation is expected or to guide future development.
indexer/packages/v4-protos/src/codegen/dydxprotocol/vault/genesis.ts (1)
  • 5-42: The GenesisState interface and its protobuf encoding and decoding functions are correctly implemented for an initial scaffold. Consider adding documentation or comments to clarify the purpose and future expectations for the GenesisState interface, especially if it is intended to be expanded with additional properties.
indexer/packages/v4-protos/src/codegen/dydxprotocol/rpc.query.ts (1)
  • 27-27: The addition of the vault extension to the RPC query client is correctly implemented, following the established pattern for modular extensions. Ensure that the imported module for the vault extension exists and is correctly structured to support its use as an RPC query extension.
indexer/packages/v4-protos/src/codegen/dydxprotocol/bundle.ts (1)
  • 87-172: > 📝 NOTE

This review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [1-320]

The reorganization and renaming of imports within the dydxprotocol namespace are well-executed, following a consistent pattern for modularization. Ensure that all newly referenced modules exist and are structured as expected to support these exports. Additionally, verify that this reorganization aligns with the overall architecture and naming conventions of the dydxprotocol framework.

protocol/app/app.go (9)
  • 176-178: The integration of the vault module imports looks correct and follows the established pattern for module integration within the application. This ensures that the vault module's types and keeper are accessible throughout the application.
  • 301-301: The VaultKeeper is correctly declared within the App struct. This declaration is necessary for the vault module to interact with other modules and the broader application context.
  • 405-405: The vaultmoduletypes.StoreKey is correctly added to the application's KV store keys. This is essential for the vault module to have its own isolated storage space within the application's state.
  • 1043-1050: The setup of the VaultKeeper within the application's constructor function follows the established pattern for keeper initialization. It correctly assigns the vault module's keeper to the application's VaultKeeper field, ensuring the module's functionality is integrated into the application.
  • 1120-1120: The addition of the vault module to the application's module manager is correctly implemented. This step is crucial for integrating the vault module's functionality with the rest of the application, including handling messages, queries, and genesis state.
  • 1165-1165: The inclusion of the vaultmoduletypes.ModuleName in the application's OrderBeginBlockers ensures that the vault module can perform necessary operations at the beginning of each block. This is important for modules that need to execute logic before transactions are processed.
  • 1205-1205: The inclusion of the vaultmoduletypes.ModuleName in the application's OrderEndBlockers ensures that the vault module can perform necessary operations at the end of each block. This is important for modules that need to execute cleanup or finalization logic after all transactions have been processed.
  • 1249-1249: The inclusion of the vaultmoduletypes.ModuleName in the application's OrderInitGenesis ensures that the vault module's genesis state is correctly initialized. This is crucial for setting up the module's initial state when the blockchain application is first started.
  • 1289-1289: The inclusion of the vaultmoduletypes.ModuleName in the application's OrderMigrations ensures that the vault module can perform necessary migrations. This is important for modules that need to update their state structure or perform data migrations between software versions.

protocol/app/app.go Show resolved Hide resolved
@@ -454,6 +454,7 @@
"total_escrowed": []
},
"upgrade": {},
"vault": {},
Copy link
Contributor

Choose a reason for hiding this comment

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

do we even need to add this to genesis? It seems like at genesis on mainnet/testnet, we didn't have a vault, so wouldn't we default to {} for vault?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

this is needed for tests on default genesis state. added a new module so genesis state has this new entry

Copy link
Contributor

@Christopher-Li Christopher-Li left a comment

Choose a reason for hiding this comment

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

IIUC this module has 0 business logic right? It's just an empty module that you will fill as time goes on?

@tqin7
Copy link
Contributor Author

tqin7 commented Mar 6, 2024

IIUC this module has 0 business logic right? It's just an empty module that you will fill as time goes on?

yep just an empty module for now and will add business logic later on

@ttl33 ttl33 changed the title scaffold x/vault [TRA-86] scaffold x/vault Mar 6, 2024
@tqin7 tqin7 merged commit 1aaa2cc into main Mar 6, 2024
32 of 33 checks passed
@tqin7 tqin7 deleted the tq/tra-86 branch March 6, 2024 21:43
@@ -2243,6 +2243,7 @@
"total_escrowed": []
},
"upgrade": {},
"vault": {},
Copy link
Contributor

Choose a reason for hiding this comment

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

Remove this

Eric-Warehime pushed a commit to skip-mev/v4-chain that referenced this pull request Mar 12, 2024
* scaffold x/vault

Signed-off-by: Eric <eric.warehime@gmail.com>
Eric-Warehime added a commit to skip-mev/v4-chain that referenced this pull request Mar 12, 2024
commit d98f859
Author: Eric <eric.warehime@gmail.com>
Date:   Mon Mar 11 12:46:53 2024 -0700

    Update sample pregenesis

    Signed-off-by: Eric <eric.warehime@gmail.com>

commit 7f178fe
Author: Mohammed Affan <affanmd@nyu.edu>
Date:   Mon Mar 11 13:46:08 2024 -0400

    [OTE-209] Emit metrics gated through execution mode (dydxprotocol#1157)

    Signed-off-by: Eric <eric.warehime@gmail.com>

commit 47e365d
Author: dydxwill <119354122+dydxwill@users.noreply.github.com>
Date:   Mon Mar 11 13:43:16 2024 -0400

    add aggregate comlink response code stats (dydxprotocol#1162)

    Signed-off-by: Eric <eric.warehime@gmail.com>

commit 7774ad9
Author: shrenujb <98204323+shrenujb@users.noreply.github.com>
Date:   Fri Mar 8 17:30:49 2024 -0500

    [TRA-70] Add state migrations for isolated markets (dydxprotocol#1155)

    Signed-off-by: Shrenuj Bansal <shrenuj@dydx.exchange>
    Signed-off-by: Eric <eric.warehime@gmail.com>

commit 89c7405
Author: Jonathan Fung <121899091+jonfung-dydx@users.noreply.github.com>
Date:   Thu Mar 7 17:28:06 2024 -0500

    [CT-517] E2E tests batch cancel (dydxprotocol#1149)

    * more end to end test

    * extraprint

    * more e2e test

    Signed-off-by: Eric <eric.warehime@gmail.com>

commit 41a3a41
Author: Teddy Ding <teddy@dydx.exchange>
Date:   Thu Mar 7 15:42:30 2024 -0500

    [OTE-200] OIMF protos (dydxprotocol#1125)

    * OIMF protos

    * add default genesis value, modify methods interface

    * fix genesis file

    * fix integration test

    * lint

    Signed-off-by: Eric <eric.warehime@gmail.com>

commit 2a062b1
Author: Teddy Ding <teddy@dydx.exchange>
Date:   Thu Mar 7 15:24:15 2024 -0500

    Add `v5` upgrade handler and set up container upgrade test (dydxprotocol#1153)

    * wip

    * update preupgrade_genesis

    * fix preupgrade_genesis.json

    * nit

    * setupUpgradeStoreLoaders for v5.0.0

    Signed-off-by: Eric <eric.warehime@gmail.com>

commit b7942b3
Author: jayy04 <103467857+jayy04@users.noreply.github.com>
Date:   Thu Mar 7 13:43:48 2024 -0500

    [CT-647] construct the initial orderbook snapshot (dydxprotocol#1147)

    * [CT-647] construct the initial orderbook snapshot

    * [CT-647] initialize new streams and send orderbook snapshot (dydxprotocol#1152)

    * [CT-647] initialize new streams and send orderbook snapshot

    * use sync once

    * comments

    Signed-off-by: Eric <eric.warehime@gmail.com>

commit c67a3c6
Author: shrenujb <98204323+shrenujb@users.noreply.github.com>
Date:   Thu Mar 7 12:40:37 2024 -0500

    [TRA-84] Move SA module address transfers to use perpetual based SA accounts (dydxprotocol#1146)

    Signed-off-by: Shrenuj Bansal <shrenuj@dydx.exchange
    Signed-off-by: Eric <eric.warehime@gmail.com>

commit dba23e0
Author: Mohammed Affan <affanmd@nyu.edu>
Date:   Thu Mar 7 10:34:11 2024 -0500

    update readme link to point to the right page (dydxprotocol#1151)

    Signed-off-by: Eric <eric.warehime@gmail.com>

commit b5870d5
Author: Tian <tian@dydx.exchange>
Date:   Wed Mar 6 16:43:04 2024 -0500

    [TRA-86] scaffold x/vault (dydxprotocol#1148)

    * scaffold x/vault

    Signed-off-by: Eric <eric.warehime@gmail.com>

commit 0eca041
Author: jayy04 <103467857+jayy04@users.noreply.github.com>
Date:   Wed Mar 6 10:48:42 2024 -0500

    [CT-652] add command line flag for full node streaming (dydxprotocol#1145)

    Signed-off-by: Eric <eric.warehime@gmail.com>

commit b319cb8
Author: jayy04 <103467857+jayy04@users.noreply.github.com>
Date:   Tue Mar 5 21:58:35 2024 -0500

    [CT-646] stream offchain updates through stream manager (dydxprotocol#1138)

    * [CT-646] stream offchain updates through stream manager

    * comments

    * fix lint

    * get rid of finished

    * comments

    * comments

    Signed-off-by: Eric <eric.warehime@gmail.com>

commit 1c54620
Author: shrenujb <98204323+shrenujb@users.noreply.github.com>
Date:   Tue Mar 5 16:34:19 2024 -0500

    [TRA-78] Add function to retrieve collateral pool addr for a subaccount (dydxprotocol#1142)

    Signed-off-by: Shrenuj Bansal <shrenuj@dydx.exchange>
    Signed-off-by: Eric <eric.warehime@gmail.com>

commit b8c1d62
Author: dydxwill <119354122+dydxwill@users.noreply.github.com>
Date:   Tue Mar 5 15:03:28 2024 -0500

    [OTE-141] implement post /compliance/geoblock (dydxprotocol#1129)

    Signed-off-by: Eric <eric.warehime@gmail.com>

commit ab8c570
Author: Jonathan Fung <121899091+jonfung-dydx@users.noreply.github.com>
Date:   Tue Mar 5 11:19:53 2024 -0500

    Fix mock-gen dydxprotocol#1140

    Signed-off-by: Eric <eric.warehime@gmail.com>

commit 12506a1
Author: shrenujb <98204323+shrenujb@users.noreply.github.com>
Date:   Mon Mar 4 21:33:28 2024 -0500

    [TRA-64] Use market specific insurance fund for cross or isolated markets (dydxprotocol#1132)

    Signed-off-by: Shrenuj Bansal <shrenuj@dydx.exchange>
    Signed-off-by: Eric <eric.warehime@gmail.com>

commit 929f09e
Author: Jonathan Fung <121899091+jonfung-dydx@users.noreply.github.com>
Date:   Mon Mar 4 13:48:04 2024 -0800

    [CT-514] Clob `MsgBatchCancel` functionality (dydxprotocol#1110)

    * wip implementation

    * use new cometbft

    * Revert "use new cometbft"

    This reverts commit e5b8a03.

    * go mod tidy

    * basic e2e test

    * more msgBatchCancels in code

    * repeated fixed32 -> uint32

    * remove debug prints

    * update cometbft replace go.mod sha

    * one more debug print

    * typo

    * regen indexer protos

    * update comment on proto

    * proto comment changes

    * extract stateful validation into own fn

    * pr format comments

    * clean up test file

    * new return type with success and failure

    Signed-off-by: Eric <eric.warehime@gmail.com>

commit 41de83e
Author: dydxwill <119354122+dydxwill@users.noreply.github.com>
Date:   Mon Mar 4 12:22:16 2024 -0500

    add index to address read replica lag (dydxprotocol#1137)

    Signed-off-by: Eric <eric.warehime@gmail.com>

commit 735d9a8
Author: dydxwill <119354122+dydxwill@users.noreply.github.com>
Date:   Mon Mar 4 11:56:59 2024 -0500

    rename (dydxprotocol#1136)

    Signed-off-by: Eric <eric.warehime@gmail.com>

commit 86617dd
Author: jayy04 <103467857+jayy04@users.noreply.github.com>
Date:   Mon Mar 4 10:43:31 2024 -0500

    [CT-644] instantiate grpc stream manager (dydxprotocol#1134)

    * [CT-644] instantiate grpc stream manager

    * update type

    * update channel type

    Signed-off-by: Eric <eric.warehime@gmail.com>

commit 32afd64
Author: Eric <eric.warehime@gmail.com>
Date:   Mon Mar 11 12:41:06 2024 -0700

    Update go version in Dockerfile

    Signed-off-by: Eric <eric.warehime@gmail.com>

commit ba27204
Author: Eric <eric.warehime@gmail.com>
Date:   Fri Mar 8 09:44:04 2024 -0800

    Add slinky utils, use that to convert between market and currency pair

commit 667a804
Author: Eric <eric.warehime@gmail.com>
Date:   Wed Mar 6 20:43:40 2024 -0800

    Update error messages

commit d53292c
Author: Eric <eric.warehime@gmail.com>
Date:   Wed Mar 6 20:16:01 2024 -0800

    Update docstrings, rename OracleClient

commit daad125
Author: Eric <eric.warehime@gmail.com>
Date:   Mon Mar 4 10:51:23 2024 -0800

    VoteExtension slinky logic
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

4 participants