From b184573d897a94dd269e79f2935ff81f032e107d Mon Sep 17 00:00:00 2001 From: --systemdf Date: Sat, 26 Jul 2025 11:10:56 -0700 Subject: [PATCH 1/8] add tx_hash to bid analytics tables --- .../0017_alter_bid_swap_tx_hash.sql | 1 + .../0018_alter_opportunity_swap_tx_hash.sql | 1 + .../auction/repository/add_bid_analytics.rs | 24 +++++++++++++++++++ .../src/auction/repository/models.rs | 2 ++ 4 files changed, 28 insertions(+) create mode 100644 auction-server/clickhouse_migrations/0017_alter_bid_swap_tx_hash.sql create mode 100644 auction-server/clickhouse_migrations/0018_alter_opportunity_swap_tx_hash.sql diff --git a/auction-server/clickhouse_migrations/0017_alter_bid_swap_tx_hash.sql b/auction-server/clickhouse_migrations/0017_alter_bid_swap_tx_hash.sql new file mode 100644 index 00000000..3a769583 --- /dev/null +++ b/auction-server/clickhouse_migrations/0017_alter_bid_swap_tx_hash.sql @@ -0,0 +1 @@ +ALTER TABLE bid_swap ADD COLUMN tx_hash Nullable(String); diff --git a/auction-server/clickhouse_migrations/0018_alter_opportunity_swap_tx_hash.sql b/auction-server/clickhouse_migrations/0018_alter_opportunity_swap_tx_hash.sql new file mode 100644 index 00000000..4d5e6302 --- /dev/null +++ b/auction-server/clickhouse_migrations/0018_alter_opportunity_swap_tx_hash.sql @@ -0,0 +1 @@ +ALTER TABLE opportunity_swap ADD COLUMN tx_hash Nullable(String); diff --git a/auction-server/src/auction/repository/add_bid_analytics.rs b/auction-server/src/auction/repository/add_bid_analytics.rs index 128482f4..4712ec6d 100644 --- a/auction-server/src/auction/repository/add_bid_analytics.rs +++ b/auction-server/src/auction/repository/add_bid_analytics.rs @@ -37,6 +37,28 @@ impl Repository { decimals: HashMap, ) -> anyhow::Result<()> { let transaction = STANDARD.encode(bincode::serialize(&bid.chain_data.transaction.clone())?); + let tx_hash = match &bid.status { + entities::BidStatusSvm::Pending => None, + entities::BidStatusSvm::AwaitingSignature { auction } => { + Some(auction.tx_hash.to_string()) + } + entities::BidStatusSvm::SentToUserForSubmission { auction } => { + Some(auction.tx_hash.to_string()) + } + entities::BidStatusSvm::Submitted { auction } => Some(auction.tx_hash.to_string()), + entities::BidStatusSvm::Lost { auction } => { + auction.as_ref().map(|a| a.tx_hash.to_string()) + } + entities::BidStatusSvm::Won { auction } => Some(auction.tx_hash.to_string()), + entities::BidStatusSvm::Failed { auction, reason: _ } => { + Some(auction.tx_hash.to_string()) + } + entities::BidStatusSvm::Expired { auction } => Some(auction.tx_hash.to_string()), + entities::BidStatusSvm::Cancelled { auction } => Some(auction.tx_hash.to_string()), + entities::BidStatusSvm::SubmissionFailed { auction, reason: _ } => { + Some(auction.tx_hash.to_string()) + } + }; let bid_analytics = match data { entities::BidTransactionData::SubmitBid(transaction_data) => { let SubmitBidArgs { @@ -53,6 +75,7 @@ impl Repository { bid_amount: bid.amount, auction_id: bid.status.get_auction_id(), + tx_hash, submission_time: bid.submission_time, conclusion_time: bid.conclusion_time, @@ -113,6 +136,7 @@ impl Repository { bid_amount: bid.amount, auction_id: bid.status.get_auction_id(), + tx_hash, opportunity_id: bid.opportunity_id, conclusion_time: bid.conclusion_time, diff --git a/auction-server/src/auction/repository/models.rs b/auction-server/src/auction/repository/models.rs index 4231f2bd..95934988 100644 --- a/auction-server/src/auction/repository/models.rs +++ b/auction-server/src/auction/repository/models.rs @@ -858,6 +858,7 @@ pub struct BidAnalyticsSwap { #[serde(with = "clickhouse::serde::uuid::option")] pub auction_id: Option, + pub tx_hash: Option, #[serde(with = "clickhouse::serde::time::datetime64::micros::option")] pub submission_time: Option, #[serde(with = "clickhouse::serde::uuid::option")] @@ -905,6 +906,7 @@ pub struct BidAnalyticsLimo { #[serde(with = "clickhouse::serde::uuid::option")] pub auction_id: Option, + pub tx_hash: Option, #[serde(with = "clickhouse::serde::time::datetime64::micros::option")] pub submission_time: Option, #[serde(with = "clickhouse::serde::time::datetime64::micros::option")] From 38641a7f7f841ba8c610287e270d2f39bda5ce56 Mon Sep 17 00:00:00 2001 From: --systemdf Date: Mon, 28 Jul 2025 08:05:40 -0700 Subject: [PATCH 2/8] precommit fix --- .github/workflows/ci-pre-commit.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci-pre-commit.yml b/.github/workflows/ci-pre-commit.yml index 09e4421a..cd6df188 100644 --- a/.github/workflows/ci-pre-commit.yml +++ b/.github/workflows/ci-pre-commit.yml @@ -45,6 +45,7 @@ jobs: cargo install --git https://github.com/coral-xyz/anchor avm avm install 0.31.0 avm use 0.31.0 + echo "$HOME/.cargo/bin" >> $GITHUB_PATH - uses: pre-commit/action@v3.0.0 if: ${{ github.event_name == 'pull_request' }} with: From bcf913ed7702d3e730e3811e4e0414ad3c5f7908 Mon Sep 17 00:00:00 2001 From: --systemdf Date: Mon, 28 Jul 2025 08:19:47 -0700 Subject: [PATCH 3/8] inline path --- .github/workflows/ci-pre-commit.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci-pre-commit.yml b/.github/workflows/ci-pre-commit.yml index cd6df188..535ebaf4 100644 --- a/.github/workflows/ci-pre-commit.yml +++ b/.github/workflows/ci-pre-commit.yml @@ -47,6 +47,8 @@ jobs: avm use 0.31.0 echo "$HOME/.cargo/bin" >> $GITHUB_PATH - uses: pre-commit/action@v3.0.0 + env: + PATH: "$HOME/.cargo/bin:${{ env.PATH }}" if: ${{ github.event_name == 'pull_request' }} with: # Run only on files changed in the PR From a46633fadcf64c38b191ced908571e1a4342e8f5 Mon Sep 17 00:00:00 2001 From: --systemdf Date: Mon, 28 Jul 2025 08:30:40 -0700 Subject: [PATCH 4/8] trial --- .github/workflows/ci-pre-commit.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci-pre-commit.yml b/.github/workflows/ci-pre-commit.yml index 535ebaf4..9d17292c 100644 --- a/.github/workflows/ci-pre-commit.yml +++ b/.github/workflows/ci-pre-commit.yml @@ -46,9 +46,10 @@ jobs: avm install 0.31.0 avm use 0.31.0 echo "$HOME/.cargo/bin" >> $GITHUB_PATH + echo "$HOME/.avm/bin" >> $GITHUB_PATH - uses: pre-commit/action@v3.0.0 env: - PATH: "$HOME/.cargo/bin:${{ env.PATH }}" + PATH: "$HOME/.cargo/bin:$HOME/.avm/bin:${{ env.PATH }}" if: ${{ github.event_name == 'pull_request' }} with: # Run only on files changed in the PR From ce332b982d1edbb7e5e48ed83511c0b2d5f718ef Mon Sep 17 00:00:00 2001 From: --systemdf Date: Mon, 28 Jul 2025 08:37:28 -0700 Subject: [PATCH 5/8] remove inline path --- .github/workflows/ci-pre-commit.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/ci-pre-commit.yml b/.github/workflows/ci-pre-commit.yml index 9d17292c..5fc073ff 100644 --- a/.github/workflows/ci-pre-commit.yml +++ b/.github/workflows/ci-pre-commit.yml @@ -48,8 +48,6 @@ jobs: echo "$HOME/.cargo/bin" >> $GITHUB_PATH echo "$HOME/.avm/bin" >> $GITHUB_PATH - uses: pre-commit/action@v3.0.0 - env: - PATH: "$HOME/.cargo/bin:$HOME/.avm/bin:${{ env.PATH }}" if: ${{ github.event_name == 'pull_request' }} with: # Run only on files changed in the PR From 73acd3dffbe0e49ac2e7541977c16870ecdc98fc Mon Sep 17 00:00:00 2001 From: --systemdf Date: Mon, 28 Jul 2025 08:49:36 -0700 Subject: [PATCH 6/8] get rid of bid_analytics tx_hash changes --- .../0017_alter_bid_swap_tx_hash.sql | 1 - .../0018_alter_opportunity_swap_tx_hash.sql | 1 - .../auction/repository/add_bid_analytics.rs | 24 ------------------- .../src/auction/repository/models.rs | 2 -- 4 files changed, 28 deletions(-) delete mode 100644 auction-server/clickhouse_migrations/0017_alter_bid_swap_tx_hash.sql delete mode 100644 auction-server/clickhouse_migrations/0018_alter_opportunity_swap_tx_hash.sql diff --git a/auction-server/clickhouse_migrations/0017_alter_bid_swap_tx_hash.sql b/auction-server/clickhouse_migrations/0017_alter_bid_swap_tx_hash.sql deleted file mode 100644 index 3a769583..00000000 --- a/auction-server/clickhouse_migrations/0017_alter_bid_swap_tx_hash.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE bid_swap ADD COLUMN tx_hash Nullable(String); diff --git a/auction-server/clickhouse_migrations/0018_alter_opportunity_swap_tx_hash.sql b/auction-server/clickhouse_migrations/0018_alter_opportunity_swap_tx_hash.sql deleted file mode 100644 index 4d5e6302..00000000 --- a/auction-server/clickhouse_migrations/0018_alter_opportunity_swap_tx_hash.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE opportunity_swap ADD COLUMN tx_hash Nullable(String); diff --git a/auction-server/src/auction/repository/add_bid_analytics.rs b/auction-server/src/auction/repository/add_bid_analytics.rs index 4712ec6d..128482f4 100644 --- a/auction-server/src/auction/repository/add_bid_analytics.rs +++ b/auction-server/src/auction/repository/add_bid_analytics.rs @@ -37,28 +37,6 @@ impl Repository { decimals: HashMap, ) -> anyhow::Result<()> { let transaction = STANDARD.encode(bincode::serialize(&bid.chain_data.transaction.clone())?); - let tx_hash = match &bid.status { - entities::BidStatusSvm::Pending => None, - entities::BidStatusSvm::AwaitingSignature { auction } => { - Some(auction.tx_hash.to_string()) - } - entities::BidStatusSvm::SentToUserForSubmission { auction } => { - Some(auction.tx_hash.to_string()) - } - entities::BidStatusSvm::Submitted { auction } => Some(auction.tx_hash.to_string()), - entities::BidStatusSvm::Lost { auction } => { - auction.as_ref().map(|a| a.tx_hash.to_string()) - } - entities::BidStatusSvm::Won { auction } => Some(auction.tx_hash.to_string()), - entities::BidStatusSvm::Failed { auction, reason: _ } => { - Some(auction.tx_hash.to_string()) - } - entities::BidStatusSvm::Expired { auction } => Some(auction.tx_hash.to_string()), - entities::BidStatusSvm::Cancelled { auction } => Some(auction.tx_hash.to_string()), - entities::BidStatusSvm::SubmissionFailed { auction, reason: _ } => { - Some(auction.tx_hash.to_string()) - } - }; let bid_analytics = match data { entities::BidTransactionData::SubmitBid(transaction_data) => { let SubmitBidArgs { @@ -75,7 +53,6 @@ impl Repository { bid_amount: bid.amount, auction_id: bid.status.get_auction_id(), - tx_hash, submission_time: bid.submission_time, conclusion_time: bid.conclusion_time, @@ -136,7 +113,6 @@ impl Repository { bid_amount: bid.amount, auction_id: bid.status.get_auction_id(), - tx_hash, opportunity_id: bid.opportunity_id, conclusion_time: bid.conclusion_time, diff --git a/auction-server/src/auction/repository/models.rs b/auction-server/src/auction/repository/models.rs index 95934988..4231f2bd 100644 --- a/auction-server/src/auction/repository/models.rs +++ b/auction-server/src/auction/repository/models.rs @@ -858,7 +858,6 @@ pub struct BidAnalyticsSwap { #[serde(with = "clickhouse::serde::uuid::option")] pub auction_id: Option, - pub tx_hash: Option, #[serde(with = "clickhouse::serde::time::datetime64::micros::option")] pub submission_time: Option, #[serde(with = "clickhouse::serde::uuid::option")] @@ -906,7 +905,6 @@ pub struct BidAnalyticsLimo { #[serde(with = "clickhouse::serde::uuid::option")] pub auction_id: Option, - pub tx_hash: Option, #[serde(with = "clickhouse::serde::time::datetime64::micros::option")] pub submission_time: Option, #[serde(with = "clickhouse::serde::time::datetime64::micros::option")] From 93e4c61b18263418b028da0aa23c7a16ba68486e Mon Sep 17 00:00:00 2001 From: --systemdf Date: Mon, 28 Jul 2025 08:51:12 -0700 Subject: [PATCH 7/8] test --- .github/workflows/ci-pre-commit.yml | 1 - auction-server/src/auction/service/submit_quote.rs | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/ci-pre-commit.yml b/.github/workflows/ci-pre-commit.yml index 5fc073ff..56b73677 100644 --- a/.github/workflows/ci-pre-commit.yml +++ b/.github/workflows/ci-pre-commit.yml @@ -45,7 +45,6 @@ jobs: cargo install --git https://github.com/coral-xyz/anchor avm avm install 0.31.0 avm use 0.31.0 - echo "$HOME/.cargo/bin" >> $GITHUB_PATH echo "$HOME/.avm/bin" >> $GITHUB_PATH - uses: pre-commit/action@v3.0.0 if: ${{ github.event_name == 'pull_request' }} diff --git a/auction-server/src/auction/service/submit_quote.rs b/auction-server/src/auction/service/submit_quote.rs index d485d456..e2d78bef 100644 --- a/auction-server/src/auction/service/submit_quote.rs +++ b/auction-server/src/auction/service/submit_quote.rs @@ -227,7 +227,7 @@ impl Service { .static_account_keys() .iter() .position(|p| p.eq(&user_wallet)) - .expect("User wallet not found in transaction"); + .expect("User wallet not found in transaction."); bid.chain_data.transaction.signatures[user_signature_pos] = input.user_signature; self.add_relayer_signature(&mut bid); From d8eff68028e078e4a8e6ef8a3426f00ab2324afe Mon Sep 17 00:00:00 2001 From: Anirudh Suresh Date: Mon, 28 Jul 2025 09:01:46 -0700 Subject: [PATCH 8/8] undo test --- auction-server/src/auction/service/submit_quote.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/auction-server/src/auction/service/submit_quote.rs b/auction-server/src/auction/service/submit_quote.rs index e2d78bef..d485d456 100644 --- a/auction-server/src/auction/service/submit_quote.rs +++ b/auction-server/src/auction/service/submit_quote.rs @@ -227,7 +227,7 @@ impl Service { .static_account_keys() .iter() .position(|p| p.eq(&user_wallet)) - .expect("User wallet not found in transaction."); + .expect("User wallet not found in transaction"); bid.chain_data.transaction.signatures[user_signature_pos] = input.user_signature; self.add_relayer_signature(&mut bid);