use crate::tx_schema;
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
pub(crate) struct User {
pub first_name: String,
pub last_name: String,
}
#[derive(Debug, Clone, Default, PartialEq, Eq, Hash)]
pub(crate) struct Funds {
pub usd_and_cents: u64,
pub sterling_and_pence: u64,
}
#[derive(Debug, Clone, Default, PartialEq, Eq, Hash)]
pub(crate) struct Counter {
pub value: u64,
}
tx_schema! {
Transfer,
keys: [
from,
to,
],
params: {
amount: u64,
},
state: {
results: Vec<Option<u64>>,
},
}
tx_schema! {
RemoveMultiple,
keys: [
a,
b,
],
params: {
},
state: {
user: Vec<Option<String>>,
},
}
tx_schema! {
Increment,
keys: [
k,
],
params: {
},
state: {
},
}
tx_schema! {
GetOne,
keys: [
key,
],
params: {
},
state: {
result: Option<u64>,
},
}
tx_schema! {
GetOneParamU64,
keys: [
key,
],
params: {
param: u64,
},
state: {
result: Option<u64>,
},
}
tx_schema! {
GetOneParamString,
keys: [
key,
],
params: {
param: String,
},
state: {
result: Option<String>,
},
}
tx_schema! {
GetTwo,
keys: [
a,
b,
],
params: {
},
state: {
result_a: Option<u64>,
result_b: Option<u64>,
},
}
tx_schema! {
GetTwoParam,
keys: [
a,
b,
],
params: {
_p: (),
},
state: {
result_a: Option<u64>,
result_b: Option<u64>,
},
}
tx_schema! {
GetTwoParamU64,
keys: [
a,
b,
],
params: {
param: u64,
},
state: {
result_a: Option<u64>,
result_b: Option<u64>,
},
}
tx_schema! {
GetThree,
keys: [
a,
b,
c,
],
params: {
},
state: {
results: Vec<Option<u64>>,
},
}
tx_schema! {
GetVecParam,
keys: [
a,
b,
],
params: {
param: Vec<u64>,
},
state: {
results: Vec<Option<u64>>,
},
}
tx_schema! {
GetCounter,
keys: [
key,
],
params: {
},
state: {
result: Option<u64>,
},
}
tx_schema! {
SetOne,
keys: [
key,
],
params: {
},
state: {
},
}