1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
use super::address::Address;
use crate::ergo_tree::ErgoTree;
use crate::serialization::SerializationError;
#[derive(PartialEq, Eq, Debug, Clone)]
pub struct Contract {
ergo_tree: ErgoTree,
}
impl Contract {
pub fn new(ergo_tree: ErgoTree) -> Contract {
Contract { ergo_tree }
}
pub fn pay_to_address(address: &Address) -> Result<Contract, SerializationError> {
Ok(Contract::new(address.script()?))
}
pub fn ergo_tree(&self) -> ErgoTree {
self.ergo_tree.clone()
}
}