File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11[workspace ]
22
33members = [
4- " fvm_dispatch"
4+ " fvm_dispatch" ,
5+ " fil_token" ,
56]
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