Page MenuHomePhabricator

[Chronik] Add `finalization_timeout_secs` to `BroadcastTx(s)Request`
DraftPublic

Authored by tobias_ruck on Thu, Nov 27, 11:51.
This is a draft revision that has not yet been submitted for review.

Details

Reviewers
Fabien
Group Reviewers
Restricted Project
Summary

This is a convenience for a common usage of Avalanche, which is to broadcast a transaction and then wait for it to finalize before considering the transaction "done".

By default, this timeout is disabled and ignored, but if set, the request waits until the tx is finalized (or all txs are finalized in case there's multiple).

Test Plan

TBD

Event Timeline

Tail of the build log:

   Compiling serde_spanned v0.6.9
   Compiling serde_path_to_error v0.1.17
   Compiling toml_datetime v0.6.11
   Compiling pyo3 v0.23.5
   Compiling ring v0.17.14
   Compiling strsim v0.11.1
   Compiling matchit v0.7.3
   Compiling toml_write v0.1.2
   Compiling base64 v0.22.1
   Compiling bech32 v0.7.3
   Compiling arrayvec v0.7.6
   Compiling hyper v0.14.32
   Compiling clap_lex v0.7.5
   Compiling qrcodegen v1.8.0
   Compiling bitcoin_hashes v0.9.7
   Compiling winnow v0.7.11
   Compiling matchit v0.5.0
   Compiling qrcode-generator v4.1.9
   Compiling clap_builder v4.5.40
   Compiling num-format v0.4.4
   Compiling askama v0.10.5
   Compiling maud v0.22.3
   Compiling axum v0.7.9
   Compiling tower-http v0.5.2
   Compiling chronik_lib v0.1.0 (/work/chronik/chronik-lib)
   Compiling clap_derive v4.5.40
   Compiling chrono-humanize v0.1.2
   Compiling toml_edit v0.22.27
   Compiling webpki-roots v1.0.1
   Compiling indoc v2.0.6
   Compiling base64 v0.13.1
   Compiling unindent v0.2.4
   Compiling avalanche-lib-wasm v0.1.0 (/work/modules/avalanche-lib-wasm)
   Compiling tokio-tungstenite v0.26.2
   Compiling bs58 v0.5.1
   Compiling pyo3-macros v0.23.5
   Compiling hyper-tls v0.5.0
   Compiling reqwest v0.11.27
   Compiling axum v0.5.17
   Compiling bitcoin v0.25.2
   Compiling clap v4.5.40
   Compiling toml v0.8.23
   Compiling proof-manager-cli v0.1.0 (/work/apps/proof-manager-cli)
   Compiling bitcoinsuite-chronik-client v0.1.0 (/work/modules/bitcoinsuite-chronik-client)
error[E0063]: missing field `finalization_timeout_secs` in initializer of `BroadcastTxRequest`
   --> modules/bitcoinsuite-chronik-client/src/lib.rs:115:23
    |
115 |         let request = proto::BroadcastTxRequest {
    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^ missing `finalization_timeout_secs`

error[E0063]: missing field `finalization_timeout_secs` in initializer of `BroadcastTxsRequest`
   --> modules/bitcoinsuite-chronik-client/src/lib.rs:127:23
    |
127 |         let request = proto::BroadcastTxsRequest {
    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `finalization_timeout_secs`

For more information about this error, try `rustc --explain E0063`.
error: could not compile `bitcoinsuite-chronik-client` (lib) due to 2 previous errors
warning: build failed, waiting for other jobs to finish...
Build build-explorer failed with exit code 101