add sequencer methods

This commit is contained in:
Sergio Chouhy
2025-10-15 20:14:19 -03:00
parent bfde33d78d
commit 942e90ae2a
10 changed files with 79 additions and 10 deletions
+19
View File
@@ -237,4 +237,23 @@ impl SequencerClient {
Ok(resp_deser)
}
pub async fn send_tx_program(
&self,
transaction: nssa::ProgramDeploymentTransaction,
) -> Result<SendTxResponse, SequencerClientError> {
let transaction = EncodedTransaction::from(NSSATransaction::ProgramDeployment(transaction));
let tx_req = SendTxRequest {
transaction: borsh::to_vec(&transaction).unwrap(),
};
let req = serde_json::to_value(tx_req)?;
let resp = self.call_method_with_payload("send_tx", req).await?;
let resp_deser = serde_json::from_value(resp)?;
Ok(resp_deser)
}
}
@@ -68,3 +68,4 @@ pub fn create_transaction_native_token_transfer(
EncodedTransaction::from(NSSATransaction::Public(nssa_tx))
}
+11 -2
View File
@@ -30,6 +30,12 @@ impl From<nssa::PrivacyPreservingTransaction> for NSSATransaction {
}
}
impl From<nssa::ProgramDeploymentTransaction> for NSSATransaction {
fn from(value: nssa::ProgramDeploymentTransaction) -> Self {
Self::ProgramDeployment(value)
}
}
use crate::TreeHashType;
pub type CipherText = Vec<u8>;
@@ -66,7 +72,7 @@ impl From<NSSATransaction> for EncodedTransaction {
},
NSSATransaction::ProgramDeployment(tx) => Self {
tx_kind: TxKind::ProgramDeployment,
encoded_transaction_data: todo!(),
encoded_transaction_data: tx.to_bytes(),
},
}
}
@@ -83,7 +89,10 @@ impl TryFrom<&EncodedTransaction> for NSSATransaction {
nssa::PrivacyPreservingTransaction::from_bytes(&value.encoded_transaction_data)
.map(|tx| tx.into())
}
TxKind::ProgramDeployment => todo!(),
TxKind::ProgramDeployment => {
nssa::ProgramDeploymentTransaction::from_bytes(&value.encoded_transaction_data)
.map(|tx| tx.into())
}
}
}
}