Skip to content

Commit

Permalink
feat(blockscout-client): update to the latest swagger (pre v7.0.0)
Browse files Browse the repository at this point in the history
  • Loading branch information
bragov4ik authored Feb 7, 2025
1 parent dbc91b6 commit d02877c
Show file tree
Hide file tree
Showing 15 changed files with 394 additions and 16 deletions.
5 changes: 5 additions & 0 deletions libs/blockscout-client/crate/.openapi-generator/FILES
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@ src/apis/addresses_api.rs
src/apis/blocks_api.rs
src/apis/config_api.rs
src/apis/health_api.rs
src/apis/internal_transactions_api.rs
src/apis/main_page_api.rs
src/apis/mod.rs
src/apis/proxy_api.rs
src/apis/search_api.rs
src/apis/smart_contracts_api.rs
src/apis/stats_api.rs
Expand Down Expand Up @@ -42,6 +44,7 @@ src/models/get_addresses_200_response.rs
src/models/get_block_txs_200_response.rs
src/models/get_block_withdrawals_200_response.rs
src/models/get_blocks_200_response.rs
src/models/get_internal_transactions_200_response.rs
src/models/get_json_rpc_url_200_response.rs
src/models/get_market_chart_200_response.rs
src/models/get_nft_instance_transfers_200_response.rs
Expand Down Expand Up @@ -124,6 +127,8 @@ src/models/transaction_reward.rs
src/models/transaction_summary.rs
src/models/transaction_summary_obj.rs
src/models/v1_data.rs
src/models/v1_entry_point_indexer_status.rs
src/models/v1_health_check_response.rs
src/models/v1_indexer_status.rs
src/models/watchlist_name.rs
src/models/withdrawal.rs
50 changes: 50 additions & 0 deletions libs/blockscout-client/crate/src/apis/internal_transactions_api.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
/*
* BlockScout API
*
* API for BlockScout web app
*
* The version of the OpenAPI document: 1.0.0
* Contact: [email protected]
* Generated by: https://openapi-generator.tech
*/

use super::{configuration, Error};
use crate::{apis::ResponseContent, models};
use reqwest;
use serde::{Deserialize, Serialize};

/// struct for typed errors of method [`get_internal_transactions`]
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(untagged)]
pub enum GetInternalTransactionsError {
UnknownValue(serde_json::Value),
}

pub async fn get_internal_transactions(
configuration: &configuration::Configuration,
) -> Result<models::GetInternalTransactions200Response, Error<GetInternalTransactionsError>> {
let uri_str = format!("{}/api/v2/internal-transactions", configuration.base_path);
let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);

if let Some(ref user_agent) = configuration.user_agent {
req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
}

let req = req_builder.build()?;
let resp = configuration.client.execute(req).await?;

let status = resp.status();

if !status.is_client_error() && !status.is_server_error() {
let content = resp.text().await?;
serde_json::from_str(&content).map_err(Error::from)
} else {
let content = resp.text().await?;
let entity: Option<GetInternalTransactionsError> = serde_json::from_str(&content).ok();
Err(Error::ResponseError(ResponseContent {
status,
content,
entity,
}))
}
}
2 changes: 2 additions & 0 deletions libs/blockscout-client/crate/src/apis/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,9 @@ pub mod addresses_api;
pub mod blocks_api;
pub mod config_api;
pub mod health_api;
pub mod internal_transactions_api;
pub mod main_page_api;
pub mod proxy_api;
pub mod search_api;
pub mod smart_contracts_api;
pub mod stats_api;
Expand Down
54 changes: 54 additions & 0 deletions libs/blockscout-client/crate/src/apis/proxy_api.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
/*
* BlockScout API
*
* API for BlockScout web app
*
* The version of the OpenAPI document: 1.0.0
* Contact: [email protected]
* Generated by: https://openapi-generator.tech
*/

use super::{configuration, Error};
use crate::{apis::ResponseContent, models};
use reqwest;
use serde::{Deserialize, Serialize};

/// struct for typed errors of method [`get_account_abstraction_status`]
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(untagged)]
pub enum GetAccountAbstractionStatusError {
Status500(),
UnknownValue(serde_json::Value),
}

pub async fn get_account_abstraction_status(
configuration: &configuration::Configuration,
) -> Result<models::V1IndexerStatus, Error<GetAccountAbstractionStatusError>> {
let uri_str = format!(
"{}/api/v2/proxy/account-abstraction/status",
configuration.base_path
);
let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);

if let Some(ref user_agent) = configuration.user_agent {
req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
}

let req = req_builder.build()?;
let resp = configuration.client.execute(req).await?;

let status = resp.status();

if !status.is_client_error() && !status.is_server_error() {
let content = resp.text().await?;
serde_json::from_str(&content).map_err(Error::from)
} else {
let content = resp.text().await?;
let entity: Option<GetAccountAbstractionStatusError> = serde_json::from_str(&content).ok();
Err(Error::ResponseError(ResponseContent {
status,
content,
entity,
}))
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/*
* BlockScout API
*
* API for BlockScout web app
*
* The version of the OpenAPI document: 1.0.0
* Contact: [email protected]
* Generated by: https://openapi-generator.tech
*/

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct GetInternalTransactions200Response {
#[serde(rename = "items")]
pub items: Vec<models::InternalTransaction>,
#[serde(rename = "next_page_params")]
pub next_page_params: serde_json::Value,
}

impl GetInternalTransactions200Response {
pub fn new(
items: Vec<models::InternalTransaction>,
next_page_params: serde_json::Value,
) -> GetInternalTransactions200Response {
GetInternalTransactions200Response {
items,
next_page_params,
}
}
}
11 changes: 8 additions & 3 deletions libs/blockscout-client/crate/src/models/indexing_status.rs
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,17 @@ pub struct IndexingStatus {
}

impl IndexingStatus {
pub fn new(finished_indexing: bool, finished_indexing_blocks: bool) -> IndexingStatus {
pub fn new(
finished_indexing: bool,
finished_indexing_blocks: bool,
indexed_blocks_ratio: Option<String>,
indexed_internal_transactions_ratio: Option<String>,
) -> IndexingStatus {
IndexingStatus {
finished_indexing,
finished_indexing_blocks,
indexed_blocks_ratio: None,
indexed_internal_transactions_ratio: None,
indexed_blocks_ratio,
indexed_internal_transactions_ratio,
}
}
}
6 changes: 6 additions & 0 deletions libs/blockscout-client/crate/src/models/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,8 @@ pub mod get_block_withdrawals_200_response;
pub use self::get_block_withdrawals_200_response::GetBlockWithdrawals200Response;
pub mod get_blocks_200_response;
pub use self::get_blocks_200_response::GetBlocks200Response;
pub mod get_internal_transactions_200_response;
pub use self::get_internal_transactions_200_response::GetInternalTransactions200Response;
pub mod get_json_rpc_url_200_response;
pub use self::get_json_rpc_url_200_response::GetJsonRpcUrl200Response;
pub mod get_market_chart_200_response;
Expand Down Expand Up @@ -238,8 +240,12 @@ pub mod transaction_summary_obj;
pub use self::transaction_summary_obj::TransactionSummaryObj;
pub mod v1_data;
pub use self::v1_data::V1Data;
pub mod v1_entry_point_indexer_status;
pub use self::v1_entry_point_indexer_status::V1EntryPointIndexerStatus;
pub mod v1_health_check_response;
pub use self::v1_health_check_response::V1HealthCheckResponse;
pub mod v1_indexer_status;
pub use self::v1_indexer_status::V1IndexerStatus;
pub mod watchlist_name;
pub use self::watchlist_name::WatchlistName;
pub mod withdrawal;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ pub enum TokenTransferTotal {
TotalErc20(models::TotalErc20),
TotalErc721(models::TotalErc721),
TotalErc1155(models::TotalErc1155),
TotalErc1155Batch(Vec<models::TotalErc1155>),
}

impl Default for TokenTransferTotal {
Expand Down
3 changes: 3 additions & 0 deletions libs/blockscout-client/crate/src/models/total_erc1155.rs
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ pub struct TotalErc1155 {
pub decimals: String,
#[serde(rename = "value")]
pub value: String,
#[serde(rename = "token_instance", skip_serializing_if = "Option::is_none")]
pub token_instance: Option<models::NftInstance>,
}

impl TotalErc1155 {
Expand All @@ -27,6 +29,7 @@ impl TotalErc1155 {
token_id,
decimals,
value,
token_instance: None,
}
}
}
7 changes: 6 additions & 1 deletion libs/blockscout-client/crate/src/models/total_erc721.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,15 @@ use serde::{Deserialize, Serialize};
pub struct TotalErc721 {
#[serde(rename = "token_id")]
pub token_id: String,
#[serde(rename = "token_instance", skip_serializing_if = "Option::is_none")]
pub token_instance: Option<models::NftInstance>,
}

impl TotalErc721 {
pub fn new(token_id: String) -> TotalErc721 {
TotalErc721 { token_id }
TotalErc721 {
token_id,
token_instance: None,
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
/*
* BlockScout API
*
* API for BlockScout web app
*
* The version of the OpenAPI document: 1.0.0
* Contact: [email protected]
* Generated by: https://openapi-generator.tech
*/

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct V1EntryPointIndexerStatus {
#[serde(rename = "enabled", skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[serde(rename = "live", skip_serializing_if = "Option::is_none")]
pub live: Option<bool>,
#[serde(
rename = "past_db_logs_indexing_finished",
skip_serializing_if = "Option::is_none"
)]
pub past_db_logs_indexing_finished: Option<bool>,
#[serde(
rename = "past_rpc_logs_indexing_finished",
skip_serializing_if = "Option::is_none"
)]
pub past_rpc_logs_indexing_finished: Option<bool>,
}

impl V1EntryPointIndexerStatus {
pub fn new() -> V1EntryPointIndexerStatus {
V1EntryPointIndexerStatus {
enabled: None,
live: None,
past_db_logs_indexing_finished: None,
past_rpc_logs_indexing_finished: None,
}
}
}
35 changes: 35 additions & 0 deletions libs/blockscout-client/crate/src/models/v1_indexer_status.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
/*
* BlockScout API
*
* API for BlockScout web app
*
* The version of the OpenAPI document: 1.0.0
* Contact: [email protected]
* Generated by: https://openapi-generator.tech
*/

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct V1IndexerStatus {
#[serde(
rename = "finished_past_indexing",
skip_serializing_if = "Option::is_none"
)]
pub finished_past_indexing: Option<bool>,
#[serde(rename = "v06", skip_serializing_if = "Option::is_none")]
pub v06: Option<models::V1EntryPointIndexerStatus>,
#[serde(rename = "v07", skip_serializing_if = "Option::is_none")]
pub v07: Option<models::V1EntryPointIndexerStatus>,
}

impl V1IndexerStatus {
pub fn new() -> V1IndexerStatus {
V1IndexerStatus {
finished_past_indexing: None,
v06: None,
v07: None,
}
}
}
3 changes: 2 additions & 1 deletion libs/blockscout-client/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,6 @@
"@types/node": "^20.14.2",
"ts-node": "^10.9.2",
"typescript": "^5.4.5"
}
},
"packageManager": "[email protected]+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
}
Loading

0 comments on commit d02877c

Please sign in to comment.