Document the RPC

This commit is contained in:
Luke Parker
2024-06-16 19:59:25 -04:00
parent d740bd2924
commit 08b95abdd8
20 changed files with 289 additions and 197 deletions

View File

@@ -53,8 +53,9 @@ impl Handles {
pub async fn monero(
&self,
ops: &DockerOperations,
) -> monero_wallet::rpc::Rpc<monero_simple_request_rpc::SimpleRequestRpc> {
) -> monero_simple_request_rpc::SimpleRequestRpc {
use monero_simple_request_rpc::SimpleRequestRpc;
use monero_wallet::rpc::Rpc;
let rpc = ops.handle(&self.monero.0).host_port(self.monero.1).unwrap();
let rpc = format!("http://{RPC_USER}:{RPC_PASS}@{}:{}", rpc.0, rpc.1);

View File

@@ -89,6 +89,7 @@ async fn mint_and_burn_test() {
let monero_blocks = {
use curve25519_dalek::{constants::ED25519_BASEPOINT_POINT, scalar::Scalar};
use monero_wallet::{
rpc::Rpc,
ViewPair,
address::{Network, AddressSpec},
};
@@ -128,6 +129,8 @@ async fn mint_and_burn_test() {
}
{
use monero_wallet::rpc::Rpc;
let rpc = handles.monero(ops).await;
for (block, txs) in &monero_blocks {
@@ -347,6 +350,7 @@ async fn mint_and_burn_test() {
use curve25519_dalek::{constants::ED25519_BASEPOINT_POINT, scalar::Scalar};
use monero_wallet::{
monero::{io::decompress_point, Protocol, transaction::Timelock},
rpc::Rpc,
ViewPair, Scanner, DecoySelection, Decoys, Change, FeePriority, SignableTransaction,
address::{Network, AddressType, AddressMeta, MoneroAddress},
};
@@ -393,7 +397,7 @@ async fn mint_and_burn_test() {
)],
&Change::new(&view_pair, false),
vec![Shorthand::transfer(None, serai_addr).encode()],
rpc.get_fee(Protocol::v16, FeePriority::Unimportant).await.unwrap(),
rpc.get_fee_rate(Protocol::v16, FeePriority::Unimportant).await.unwrap(),
)
.unwrap()
.sign(&mut OsRng, &Zeroizing::new(Scalar::ONE))
@@ -482,7 +486,10 @@ async fn mint_and_burn_test() {
// Get the current blocks
let mut start_bitcoin_block =
handles[0].bitcoin(&ops).await.get_latest_block_number().await.unwrap();
let mut start_monero_block = handles[0].monero(&ops).await.get_height().await.unwrap();
let mut start_monero_block = {
use monero_wallet::rpc::Rpc;
handles[0].monero(&ops).await.get_height().await.unwrap()
};
// Burn the sriBTC/sriXMR
{
@@ -574,7 +581,7 @@ async fn mint_and_burn_test() {
// Verify the received Monero TX
{
use monero_wallet::{ViewPair, Scanner};
use monero_wallet::{rpc::Rpc, ViewPair, Scanner};
let rpc = handles[0].monero(&ops).await;
let mut scanner = Scanner::from_view(
ViewPair::new(monero_spend, Zeroizing::new(monero_view)),

View File

@@ -275,6 +275,7 @@ impl Coordinator {
}
NetworkId::Monero => {
use monero_simple_request_rpc::SimpleRequestRpc;
use monero_wallet::rpc::Rpc;
// Monero's won't, so call get_height
if handle
@@ -405,6 +406,7 @@ impl Coordinator {
use curve25519_dalek::{constants::ED25519_BASEPOINT_POINT, scalar::Scalar};
use monero_simple_request_rpc::SimpleRequestRpc;
use monero_wallet::{
rpc::Rpc,
ViewPair,
address::{Network, AddressSpec},
};
@@ -516,6 +518,7 @@ impl Coordinator {
}
NetworkId::Monero => {
use monero_simple_request_rpc::SimpleRequestRpc;
use monero_wallet::rpc::Rpc;
let rpc = SimpleRequestRpc::new(rpc_url).await.expect("couldn't connect to the Monero RPC");
let to = rpc.get_height().await.unwrap();
@@ -576,7 +579,7 @@ impl Coordinator {
}
NetworkId::Monero => {
use monero_simple_request_rpc::SimpleRequestRpc;
use monero_wallet::monero::transaction::Transaction;
use monero_wallet::{rpc::Rpc, monero::transaction::Transaction};
let rpc = SimpleRequestRpc::new(rpc_url)
.await
@@ -676,6 +679,7 @@ impl Coordinator {
}
NetworkId::Monero => {
use monero_simple_request_rpc::SimpleRequestRpc;
use monero_wallet::rpc::Rpc;
let rpc = SimpleRequestRpc::new(rpc_url)
.await

View File

@@ -191,6 +191,7 @@ impl Wallet {
use curve25519_dalek::{constants::ED25519_BASEPOINT_POINT, scalar::Scalar};
use monero_simple_request_rpc::SimpleRequestRpc;
use monero_wallet::{
rpc::Rpc,
ViewPair, Scanner,
address::{Network, AddressSpec},
};
@@ -436,6 +437,7 @@ impl Wallet {
use curve25519_dalek::constants::ED25519_BASEPOINT_POINT;
use monero_simple_request_rpc::SimpleRequestRpc;
use monero_wallet::{
rpc::Rpc,
monero::{Protocol, io::decompress_point},
address::{Network, AddressType, AddressMeta, Address},
SpendableOutput, DecoySelection, Decoys, Change, FeePriority, Scanner,
@@ -490,7 +492,7 @@ impl Wallet {
vec![(to_addr, AMOUNT)],
&Change::new(view_pair, false),
data,
rpc.get_fee(Protocol::v16, FeePriority::Unimportant).await.unwrap(),
rpc.get_fee_rate(Protocol::v16, FeePriority::Unimportant).await.unwrap(),
)
.unwrap()
.sign(&mut OsRng, spend_key)