multiversx_sc_modules/
dns_proxy.rs

1#![allow(clippy::all)]
2
3use multiversx_sc::proxy_imports::*;
4
5pub struct DnsProxy;
6
7impl<Env, From, To, Gas> TxProxyTrait<Env, From, To, Gas> for DnsProxy
8where
9    Env: TxEnv,
10    From: TxFrom<Env>,
11    To: TxTo<Env>,
12    Gas: TxGas<Env>,
13{
14    type TxProxyMethods = DnsProxyMethods<Env, From, To, Gas>;
15
16    fn proxy_methods(self, tx: Tx<Env, From, To, (), Gas, (), ()>) -> Self::TxProxyMethods {
17        DnsProxyMethods { wrapped_tx: tx }
18    }
19}
20
21pub struct DnsProxyMethods<Env, From, To, Gas>
22where
23    Env: TxEnv,
24    From: TxFrom<Env>,
25    To: TxTo<Env>,
26    Gas: TxGas<Env>,
27{
28    wrapped_tx: Tx<Env, From, To, (), Gas, (), ()>,
29}
30
31#[rustfmt::skip]
32impl<Env, From, To, Gas> DnsProxyMethods<Env, From, To, Gas>
33where
34    Env: TxEnv,
35    Env::Api: VMApi,
36    From: TxFrom<Env>,
37    To: TxTo<Env>,
38    Gas: TxGas<Env>,
39{
40    pub fn register<
41        Arg0: ProxyArg<ManagedBuffer<Env::Api>>,
42    >(
43        self,
44        name: Arg0,
45    ) -> TxTypedCall<Env, From, To, (), Gas, ()> {
46        self.wrapped_tx
47            .raw_call("register")
48            .argument(&name)
49            .original_result()
50    }
51}