diem_types/account_config/resources/
role.rs

1// Copyright (c) The Diem Core Contributors
2// SPDX-License-Identifier: Apache-2.0
3
4// Copyright 2021 Conflux Foundation. All rights reserved.
5// Conflux is free software and distributed under GNU General Public License.
6// See http://www.gnu.org/licenses/
7
8use crate::account_config::resources::{
9    ChildVASP, Credential, DesignatedDealer, DesignatedDealerPreburns,
10    ParentVASP,
11};
12use serde::{Deserialize, Serialize};
13
14/// A enum that captures the collection of role-specific resources stored under
15/// each account type
16#[derive(Debug, Serialize, Deserialize)]
17pub enum AccountRole {
18    ParentVASP {
19        vasp: ParentVASP,
20        credential: Credential,
21    },
22    ChildVASP(ChildVASP),
23    DesignatedDealer {
24        dd_credential: Credential,
25        preburn_balances: DesignatedDealerPreburns,
26        designated_dealer: DesignatedDealer,
27    },
28    Unknown,
29    // TODO: add other roles
30}