-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathread_rs.did
70 lines (70 loc) · 2.19 KB
/
read_rs.did
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
type AccountBalanceArgs = record { account : text };
type Block = record {
transaction : Transaction;
timestamp : TimeStamp;
parent_hash : opt HashOf;
};
type CertifiedResponse = record {
certificate : vec nat8;
hash_tree : opt MixedHashTree;
};
type Fork = record {
right_tree : opt MixedHashTree;
left_tree : opt MixedHashTree;
};
type HashOf = record { inner : vec nat8 };
type ICPTs = record { e8s : nat64 };
type Labeled = record { subtree : opt MixedHashTree; label : vec nat8 };
type MixedHashTree = record { tree_enum : opt TreeEnum };
type RegistryDelta = record { key : vec nat8; values : vec RegistryValue };
type RegistryError = record { key : vec nat8; code : int32; reason : text };
type RegistryGetChangesSinceRequest = record { version : nat64 };
type RegistryGetChangesSinceResponse = record {
deltas : vec RegistryDelta;
error : opt RegistryError;
version : nat64;
};
type RegistryGetValueRequest = record { key : vec nat8; version : opt nat64 };
type RegistryGetValueResponse = record {
value : vec nat8;
error : opt RegistryError;
version : nat64;
};
type RegistryValue = record {
value : vec nat8;
version : nat64;
deletion_marker : bool;
};
type TimeStamp = record { timestamp_nanos : nat64 };
type Transaction = record {
memo : nat64;
created_at_time : TimeStamp;
transfer : Transfer;
};
type Transfer = variant {
Burn : record { from : text; amount : ICPTs };
Mint : record { to : text; amount : ICPTs };
Send : record { to : text; fee : ICPTs; from : text; amount : ICPTs };
};
type TreeEnum = variant {
Empty;
LeafData : vec nat8;
PrunedDigest : vec nat8;
Fork : Fork;
Labeled : Labeled;
};
service : {
account_balance_pb : (AccountBalanceArgs) -> (ICPTs);
block_pb : (nat64) -> (Block);
get_certified_changes_since : (RegistryGetChangesSinceRequest) -> (
CertifiedResponse,
);
get_certified_latest_version : () -> (CertifiedResponse);
get_changes_since : (RegistryGetChangesSinceRequest) -> (
RegistryGetChangesSinceResponse,
);
get_latest_version : () -> (RegistryGetChangesSinceRequest);
get_now_index : () -> (nat64);
get_value : (RegistryGetValueRequest) -> (RegistryGetValueResponse);
total_supply_pb : () -> (ICPTs);
}