psibase/services/
accounts.rs1#![allow(non_snake_case)]
2
3use crate::AccountNumber;
4use crate::{Pack, ToSchema, Unpack};
5use serde::{Deserialize, Serialize};
6use serde_aux::field_attributes::deserialize_number_from_string;
7
8pub const MIN_ALLOWED_ACCOUNT_LENGTH: u8 = 8;
9#[derive(Debug, Clone, Serialize, Deserialize, Pack, Unpack, ToSchema)]
11#[fracpack(fracpack_mod = "fracpack")]
12pub struct Account {
13 pub accountNum: AccountNumber,
14 pub authService: AccountNumber,
15 #[serde(deserialize_with = "deserialize_number_from_string")]
16 pub authSequence: u64,
17}
18
19#[crate::service(name = "accounts", dispatch = false, psibase_mod = "crate")]
20#[allow(non_snake_case, unused_variables)]
21mod service {
22 use crate::AccountNumber;
23
24 #[action]
25 fn init() {
26 unimplemented!()
27 }
28
29 #[action]
30 fn preapproveAcc(name: AccountNumber) {
31 unimplemented!()
32 }
33
34 #[action]
35 fn newAccount(name: AccountNumber, authService: AccountNumber, requireMatch: bool) -> bool {
36 unimplemented!()
37 }
38
39 #[action]
40 fn setAuthServ(authService: AccountNumber) {
41 unimplemented!()
42 }
43
44 #[action]
45 fn exists(num: AccountNumber) -> bool {
46 unimplemented!()
47 }
48
49 #[action]
50 fn getAccount(num: AccountNumber) -> Option<super::Account> {
51 unimplemented!()
52 }
53
54 #[action]
55 fn getAuthOf(account: AccountNumber) -> AccountNumber {
56 unimplemented!()
57 }
58
59 #[action]
60 fn incAuthSeq(num: AccountNumber) {
61 unimplemented!()
62 }
63}
64
65#[test]
66fn verify_schema() {
67 crate::assert_schema_matches_package::<Wrapper>();
68}