signatory_client_lib/
api_path.rs1pub const API_BASE_PATH: &str = "api";
2
3pub const ADMIN_BASE_PATH: &str = "admin";
4
5pub const COMMON_BASE_PATH: &str = "common";
6
7pub const EVM_STANDARD_BASE_PATH: &str = "evm";
8pub const EVM_SPONSORED_BASE_PATH: &str = "evm/sponsored";
9
10pub const SOLANA_BASE_PATH: &str = "solana";
11
12pub const MARKETS_PATH: &str = "markets";
13
14pub const INDICATIVE_QUOTE_PATH: &str = "indicativeQuote";
15pub const FIRM_QUOTE_PATH: &str = "firmQuote";
16pub const SEND_TRANSACTION_PATH: &str = "sendTransaction";
17pub const REPORT_TRANSACTION_PATH: &str = "reportTransaction";
18pub const PAYMENT_IN_LIEU_PATH: &str = "paymentInLieu";
19
20pub fn build_url(signatory_server_url: &str, base_path: &str, path: &str) -> String {
30 format!("{signatory_server_url}/{API_BASE_PATH}/{base_path}/{path}")
31}
32
33#[cfg(test)]
34mod test {
35 use super::*;
36
37 #[test]
38 fn test_build_url() {
39 assert_eq!(
40 build_url("https://signatory.dflow.net", "foo", "bar"),
41 "https://signatory.dflow.net/api/foo/bar",
42 );
43
44 assert_eq!(
45 build_url(
46 "https://signatory.dflow.net",
47 SOLANA_BASE_PATH,
48 FIRM_QUOTE_PATH
49 ),
50 "https://signatory.dflow.net/api/solana/firmQuote",
51 );
52
53 assert_eq!(
54 build_url(
55 "https://signatory.dflow.net",
56 EVM_STANDARD_BASE_PATH,
57 FIRM_QUOTE_PATH
58 ),
59 "https://signatory.dflow.net/api/evm/firmQuote",
60 );
61
62 assert_eq!(
63 build_url(
64 "https://signatory.dflow.net",
65 EVM_SPONSORED_BASE_PATH,
66 FIRM_QUOTE_PATH
67 ),
68 "https://signatory.dflow.net/api/evm/sponsored/firmQuote",
69 );
70 }
71}