File tree Expand file tree Collapse file tree 5 files changed +55
-1
lines changed Expand file tree Collapse file tree 5 files changed +55
-1
lines changed Original file line number Diff line number Diff line change 1
1
[workspace ]
2
2
3
3
members = [
4
- " fvm_dispatch"
4
+ " fvm_dispatch" ,
5
+ " fil_token" ,
5
6
]
Original file line number Diff line number Diff line change
1
+ [package ]
2
+ name = " fil_token"
3
+ version = " 0.1.0"
4
+ edition = " 2021"
5
+
6
+ # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
7
+
8
+ [dependencies ]
9
+ fvm_shared = { version = " 0.8.0" }
Original file line number Diff line number Diff line change
1
+ pub mod token;
2
+
3
+ #[ cfg( test) ]
4
+ mod tests { }
Original file line number Diff line number Diff line change
1
+ pub mod receiver;
2
+
3
+ use fvm_shared:: address:: Address ;
4
+ pub use fvm_shared:: econ:: TokenAmount ;
5
+
6
+ pub type Result < T > = std:: result:: Result < T , TokenError > ;
7
+ pub enum TokenError { }
8
+
9
+ /// A standard fungible token interface allowing for on-chain transactions
10
+ pub trait Token {
11
+ fn name ( ) -> String ;
12
+
13
+ fn symbol ( ) -> String ;
14
+
15
+ fn total_supply ( ) -> TokenAmount ;
16
+
17
+ fn balance_of ( holder : Address ) -> Result < TokenAmount > ;
18
+
19
+ fn increase_allowance ( spender : Address , value : TokenAmount ) -> Result < TokenAmount > ;
20
+
21
+ fn decrease_allowance ( spender : Address , value : TokenAmount ) -> Result < TokenAmount > ;
22
+
23
+ fn revoke_allowance ( spender : Address ) -> Result < ( ) > ;
24
+
25
+ fn allowance ( owner : Address , spender : Address ) -> Result < TokenAmount > ;
26
+
27
+ fn burn ( amount : TokenAmount , data : & [ u8 ] ) -> Result < TokenAmount > ;
28
+
29
+ fn burn_from ( from : Address , amount : TokenAmount , data : & [ u8 ] ) -> Result < TokenAmount > ;
30
+ }
Original file line number Diff line number Diff line change
1
+ use fvm_shared:: { address:: Address , econ:: TokenAmount } ;
2
+
3
+ pub type Result < T > = std:: result:: Result < T , ReceiverError > ;
4
+
5
+ pub enum ReceiverError { }
6
+
7
+ /// Standard interface for a contract that wishes to receive tokens
8
+ pub trait TokenReceiver {
9
+ fn token_received ( from : Address , amount : TokenAmount , data : & [ u8 ] ) -> Result < u32 > ;
10
+ }
You can’t perform that action at this time.
0 commit comments