Skip to content

Commit

Permalink
Return block_number on submit endpoint.
Browse files Browse the repository at this point in the history
  • Loading branch information
aterentic-ethernal committed Nov 27, 2023
1 parent 58c286b commit 54a73cd
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 8 deletions.
4 changes: 3 additions & 1 deletion src/api/v2/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -241,6 +241,7 @@ HTTP/1.1 200 OK
Content-Type: application/json

{
"block_number": {block-number},
"block_hash": "{block-hash}",
"hash": "{transaction-hash}",
"index": {transaction-index}
Expand Down Expand Up @@ -424,6 +425,7 @@ Data transaction submitted response. It contains transaction **hash** used to co
"topic": "data-transaction-submitted",
"request_id": "{uuid}",
"message": {
"block_number": {block-number},
"block_hash": "{block-hash}",
"hash": "{transaction-hash}",
"index": {transaction-index}
Expand Down Expand Up @@ -509,7 +511,7 @@ When high confidence in data availability is achieved, the message is pushed to
{
"topic": "data-verified",
"message": {
"block_number": "{block-number}",
"block_number": {block-number},
"data_transactions": [{
"data": "{base-64-encoded-data}", // Optional
"extrinsic": "{base-64-encoded-extrinsic}" // Optional
Expand Down
1 change: 1 addition & 0 deletions src/api/v2/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -606,6 +606,7 @@ mod tests {
impl transactions::Submit for MockSubmitter {
async fn submit(&self, _: Transaction) -> anyhow::Result<SubmitResponse> {
Ok(SubmitResponse {
block_number: 0,
block_hash: H256::random(),
hash: H256::random(),
index: 0,
Expand Down
22 changes: 15 additions & 7 deletions src/api/v2/transactions.rs
Original file line number Diff line number Diff line change
Expand Up @@ -36,14 +36,22 @@ impl Submit for Submitter {
.await?
},
};
tx_progress
let event = tx_progress
.wait_for_finalized_success()
.await
.map(|event| SubmitResponse {
block_hash: event.block_hash(),
hash: event.extrinsic_hash(),
index: event.extrinsic_index(),
})
.context("Cannot sign and submit transaction")
.context("Cannot sign and submit transaction")?;

let block_number = self
.node_client
.get_header_by_hash(event.block_hash())
.await?
.number;

Ok(SubmitResponse {
block_number,
block_hash: event.block_hash(),
hash: event.extrinsic_hash(),
index: event.extrinsic_index(),
})
}
}
1 change: 1 addition & 0 deletions src/api/v2/types.rs
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,7 @@ impl Transaction {

#[derive(Clone, Debug, Serialize, Deserialize)]
pub struct SubmitResponse {
pub block_number: u32,
pub block_hash: H256,
pub hash: H256,
pub index: u32,
Expand Down

0 comments on commit 54a73cd

Please sign in to comment.