1pub mod client;
4pub mod error;
5pub mod signer;
6pub mod types;
7
8pub mod address_watches;
9pub mod agreements;
10pub mod allocations;
11pub mod auth;
12pub mod exchanges;
13pub mod fee_sponsors;
14pub mod keys;
15pub mod networks;
16pub mod payins;
17pub mod payouts;
18pub mod permissions;
19pub mod policies;
20pub mod signers;
21pub mod staking;
22pub mod swaps;
23pub mod vaults;
24pub mod wallets;
25pub mod webhooks;
26
27pub use client::{Client, MultipartFile, Options};
28pub use error::Error;
29
30#[derive(Clone)]
32pub struct DfnsClient {
33 pub address_watches: address_watches::AddressWatchesClient,
34 pub agreements: agreements::AgreementsClient,
35 pub allocations: allocations::AllocationsClient,
36 pub auth: auth::AuthClient,
37 pub exchanges: exchanges::ExchangesClient,
38 pub fee_sponsors: fee_sponsors::FeeSponsorsClient,
39 pub keys: keys::KeysClient,
40 pub networks: networks::NetworksClient,
41 pub payins: payins::PayinsClient,
42 pub payouts: payouts::PayoutsClient,
43 pub permissions: permissions::PermissionsClient,
44 pub policies: policies::PoliciesClient,
45 pub signers: signers::SignersClient,
46 pub staking: staking::StakingClient,
47 pub swaps: swaps::SwapsClient,
48 pub vaults: vaults::VaultsClient,
49 pub wallets: wallets::WalletsClient,
50 pub webhooks: webhooks::WebhooksClient,
51}
52
53impl DfnsClient {
54 pub fn new(options: Options) -> Result<Self, Error> {
55 let client = Client::new(options)?;
56 Ok(DfnsClient {
57 address_watches: address_watches::AddressWatchesClient::new(client.clone()),
58 agreements: agreements::AgreementsClient::new(client.clone()),
59 allocations: allocations::AllocationsClient::new(client.clone()),
60 auth: auth::AuthClient::new(client.clone()),
61 exchanges: exchanges::ExchangesClient::new(client.clone()),
62 fee_sponsors: fee_sponsors::FeeSponsorsClient::new(client.clone()),
63 keys: keys::KeysClient::new(client.clone()),
64 networks: networks::NetworksClient::new(client.clone()),
65 payins: payins::PayinsClient::new(client.clone()),
66 payouts: payouts::PayoutsClient::new(client.clone()),
67 permissions: permissions::PermissionsClient::new(client.clone()),
68 policies: policies::PoliciesClient::new(client.clone()),
69 signers: signers::SignersClient::new(client.clone()),
70 staking: staking::StakingClient::new(client.clone()),
71 swaps: swaps::SwapsClient::new(client.clone()),
72 vaults: vaults::VaultsClient::new(client.clone()),
73 wallets: wallets::WalletsClient::new(client.clone()),
74 webhooks: webhooks::WebhooksClient::new(client.clone()),
75 })
76 }
77}
78
79#[derive(Clone)]
81pub struct DfnsDelegatedClient {
82 pub address_watches: address_watches::delegated::DelegatedAddressWatchesClient,
83 pub agreements: agreements::delegated::DelegatedAgreementsClient,
84 pub allocations: allocations::delegated::DelegatedAllocationsClient,
85 pub auth: auth::delegated::DelegatedAuthClient,
86 pub exchanges: exchanges::delegated::DelegatedExchangesClient,
87 pub fee_sponsors: fee_sponsors::delegated::DelegatedFeeSponsorsClient,
88 pub keys: keys::delegated::DelegatedKeysClient,
89 pub networks: networks::delegated::DelegatedNetworksClient,
90 pub payins: payins::delegated::DelegatedPayinsClient,
91 pub payouts: payouts::delegated::DelegatedPayoutsClient,
92 pub permissions: permissions::delegated::DelegatedPermissionsClient,
93 pub policies: policies::delegated::DelegatedPoliciesClient,
94 pub signers: signers::delegated::DelegatedSignersClient,
95 pub staking: staking::delegated::DelegatedStakingClient,
96 pub swaps: swaps::delegated::DelegatedSwapsClient,
97 pub vaults: vaults::delegated::DelegatedVaultsClient,
98 pub wallets: wallets::delegated::DelegatedWalletsClient,
99 pub webhooks: webhooks::delegated::DelegatedWebhooksClient,
100}
101
102impl DfnsDelegatedClient {
103 pub fn new(options: Options) -> Result<Self, Error> {
104 let client = Client::new(options)?;
105 Ok(DfnsDelegatedClient {
106 address_watches: address_watches::delegated::DelegatedAddressWatchesClient::new(
107 client.clone(),
108 ),
109 agreements: agreements::delegated::DelegatedAgreementsClient::new(client.clone()),
110 allocations: allocations::delegated::DelegatedAllocationsClient::new(client.clone()),
111 auth: auth::delegated::DelegatedAuthClient::new(client.clone()),
112 exchanges: exchanges::delegated::DelegatedExchangesClient::new(client.clone()),
113 fee_sponsors: fee_sponsors::delegated::DelegatedFeeSponsorsClient::new(client.clone()),
114 keys: keys::delegated::DelegatedKeysClient::new(client.clone()),
115 networks: networks::delegated::DelegatedNetworksClient::new(client.clone()),
116 payins: payins::delegated::DelegatedPayinsClient::new(client.clone()),
117 payouts: payouts::delegated::DelegatedPayoutsClient::new(client.clone()),
118 permissions: permissions::delegated::DelegatedPermissionsClient::new(client.clone()),
119 policies: policies::delegated::DelegatedPoliciesClient::new(client.clone()),
120 signers: signers::delegated::DelegatedSignersClient::new(client.clone()),
121 staking: staking::delegated::DelegatedStakingClient::new(client.clone()),
122 swaps: swaps::delegated::DelegatedSwapsClient::new(client.clone()),
123 vaults: vaults::delegated::DelegatedVaultsClient::new(client.clone()),
124 wallets: wallets::delegated::DelegatedWalletsClient::new(client.clone()),
125 webhooks: webhooks::delegated::DelegatedWebhooksClient::new(client.clone()),
126 })
127 }
128}