1use super::actors::convert::*;
5use fil_actors_shared::{
6 v9::runtime::Policy as PolicyV9, v10::runtime::Policy as PolicyV10,
7 v11::runtime::Policy as PolicyV11, v12::runtime::Policy as PolicyV12,
8 v13::runtime::Policy as PolicyV13, v14::runtime::Policy as PolicyV14,
9 v15::runtime::Policy as PolicyV15, v16::runtime::Policy as PolicyV16,
10 v17::runtime::Policy as PolicyV17,
11};
12use serde::{Deserialize, Serialize};
13
14#[derive(
16 Debug,
17 Clone,
18 Default,
19 Eq,
20 PartialEq,
21 Serialize,
22 Deserialize,
23 derive_more::Deref,
24 derive_more::DerefMut,
25 derive_more::From,
26 derive_more::Into,
27)]
28#[serde(transparent)]
29pub struct Policy(pub PolicyV13);
30
31impl From<&Policy> for PolicyV9 {
32 fn from(Policy(policy): &Policy) -> Self {
33 from_policy_v13_to_v9(policy)
34 }
35}
36
37impl From<&Policy> for PolicyV10 {
38 fn from(Policy(policy): &Policy) -> Self {
39 from_policy_v13_to_v10(policy)
40 }
41}
42
43impl From<&Policy> for PolicyV11 {
44 fn from(Policy(policy): &Policy) -> Self {
45 from_policy_v13_to_v11(policy)
46 }
47}
48
49impl From<&Policy> for PolicyV12 {
50 fn from(Policy(policy): &Policy) -> Self {
51 from_policy_v13_to_v12(policy)
52 }
53}
54
55impl From<&Policy> for PolicyV13 {
56 fn from(Policy(policy): &Policy) -> Self {
57 policy.clone()
58 }
59}
60
61impl From<&Policy> for PolicyV14 {
62 fn from(Policy(policy): &Policy) -> Self {
63 from_policy_v13_to_v14(policy)
64 }
65}
66
67impl From<&Policy> for PolicyV15 {
68 fn from(Policy(policy): &Policy) -> Self {
69 from_policy_v13_to_v15(policy)
70 }
71}
72
73impl From<&Policy> for PolicyV16 {
74 fn from(Policy(policy): &Policy) -> Self {
75 from_policy_v13_to_v16(policy)
76 }
77}
78
79impl From<&Policy> for PolicyV17 {
80 fn from(Policy(policy): &Policy) -> Self {
81 from_policy_v13_to_v17(policy)
82 }
83}