mirror of
https://github.com/serai-dex/serai.git
synced 2025-01-10 12:54:35 +00:00
435f1d9ae1
Some checks failed
Full Stack Tests / build (push) Has been cancelled
Message Queue Tests / build (push) Has been cancelled
Coordinator Tests / build (push) Has been cancelled
Lint / clippy (macos-13) (push) Has been cancelled
Lint / machete (push) Has been cancelled
Lint / clippy (macos-14) (push) Has been cancelled
Lint / clippy (ubuntu-latest) (push) Has been cancelled
Lint / clippy (windows-latest) (push) Has been cancelled
Lint / deny (push) Has been cancelled
Lint / fmt (push) Has been cancelled
Processor Tests / build (push) Has been cancelled
Reproducible Runtime / build (push) Has been cancelled
Tests / test-infra (push) Has been cancelled
Tests / test-serai-client (push) Has been cancelled
Monero Tests / unit-tests (push) Has been cancelled
Monero Tests / integration-tests (v0.17.3.2) (push) Has been cancelled
Monero Tests / integration-tests (v0.18.3.4) (push) Has been cancelled
Tests / test-substrate (push) Has been cancelled
* add specific network/coin/balance types * misc fixes * fix clippy * misc fixes * fix pr comments * Make halting for external networks * fix encode/decode
49 lines
985 B
Rust
49 lines
985 B
Rust
use serai_abi::primitives::{Amount, Coin, ExternalCoin};
|
|
|
|
use serai_client::{Serai, SeraiDex};
|
|
use sp_core::{sr25519::Pair, Pair as PairTrait};
|
|
|
|
use crate::common::tx::publish_tx;
|
|
|
|
#[allow(dead_code)]
|
|
pub async fn add_liquidity(
|
|
serai: &Serai,
|
|
coin: ExternalCoin,
|
|
coin_amount: Amount,
|
|
sri_amount: Amount,
|
|
nonce: u32,
|
|
pair: Pair,
|
|
) -> [u8; 32] {
|
|
let address = pair.public();
|
|
|
|
let tx = serai.sign(
|
|
&pair,
|
|
SeraiDex::add_liquidity(coin, coin_amount, sri_amount, Amount(1), Amount(1), address.into()),
|
|
nonce,
|
|
0,
|
|
);
|
|
|
|
publish_tx(serai, &tx).await
|
|
}
|
|
|
|
#[allow(dead_code)]
|
|
pub async fn swap(
|
|
serai: &Serai,
|
|
from_coin: Coin,
|
|
to_coin: Coin,
|
|
amount_in: Amount,
|
|
amount_out_min: Amount,
|
|
nonce: u32,
|
|
pair: Pair,
|
|
) -> [u8; 32] {
|
|
let address = pair.public();
|
|
|
|
let tx = serai.sign(
|
|
&pair,
|
|
SeraiDex::swap(from_coin, to_coin, amount_in, amount_out_min, address.into()),
|
|
nonce,
|
|
Default::default(),
|
|
);
|
|
|
|
publish_tx(serai, &tx).await
|
|
}
|