cyfs_base_meta/
contract.rs1use cyfs_base::{ObjectId};
2use cyfs_base::{RawEncode, RawDecode, RawEncodePurpose, BuckyResult};
3use generic_array::GenericArray;
4use generic_array::typenum::{U32};
5
6#[derive(Clone, Debug, RawEncode, RawDecode)]
7pub struct CreateContractTx {
8 pub value: u64,
9 pub init_data: Vec<u8>
10}
11
12#[derive(Clone, Debug, RawEncode, RawDecode)]
13pub struct CreateContract2Tx {
14 pub value: u64,
15 pub init_data: Vec<u8>,
16 pub salt: GenericArray<u8, U32>
17}
18
19impl CreateContract2Tx {
20 pub fn new(value: u64, init_data: Vec<u8>, salt: [u8;32]) -> Self {
21 Self {
22 value,
23 init_data,
24 salt: GenericArray::clone_from_slice(salt.as_ref())
25 }
26 }
27}
28
29#[derive(Clone, Debug, RawEncode, RawDecode)]
30pub struct CallContractTx {
31 pub address: ObjectId,
32 pub value: u64,
33 pub data: Vec<u8>
34}
35
36#[derive(Clone, Debug, RawEncode, RawDecode)]
37pub struct SetBenefiTx {
38 pub address: ObjectId,
39 pub to: ObjectId
40}