1- #[ allow( unused_imports) ]
2- use frame:: deps:: scale_info:: prelude:: { format, string:: String } ;
3-
41use pvq_extension:: metadata:: Metadata ;
52use pvq_extension:: { extensions_impl, ExtensionsExecutor , InvokeSource } ;
63
74#[ extensions_impl]
85pub mod extensions {
6+ use frame:: deps:: scale_info:: prelude:: vec:: Vec ;
7+ use frame:: token:: fungibles;
8+
99 #[ extensions_impl:: impl_struct]
1010 pub struct ExtensionImpl ;
1111
@@ -20,14 +20,29 @@ pub mod extensions {
2020
2121 #[ extensions_impl:: extension]
2222 impl pvq_extension_fungibles:: extension:: ExtensionFungibles for ExtensionImpl {
23- type AccountId = [ u8 ; 32 ] ;
23+ type AccountId = crate :: interface :: AccountId ;
2424 type Balance = crate :: interface:: Balance ;
2525 type AssetId = crate :: interface:: AssetId ;
26+ fn name ( asset : Self :: AssetId ) -> Vec < u8 > {
27+ <crate :: Assets as fungibles:: metadata:: Inspect < crate :: interface:: AccountId > >:: name ( asset)
28+ }
29+ fn symbol ( asset : Self :: AssetId ) -> Vec < u8 > {
30+ <crate :: Assets as fungibles:: metadata:: Inspect < crate :: interface:: AccountId > >:: symbol ( asset)
31+ }
32+ fn decimals ( asset : Self :: AssetId ) -> u8 {
33+ <crate :: Assets as fungibles:: metadata:: Inspect < crate :: interface:: AccountId > >:: decimals ( asset)
34+ }
2635 fn balance ( asset : Self :: AssetId , who : Self :: AccountId ) -> Self :: Balance {
27- crate :: Assets :: balance ( asset , crate :: interface:: AccountId :: from ( who) )
36+ < crate :: Assets as fungibles :: Inspect < crate :: interface:: AccountId > > :: balance ( asset , & who)
2837 }
2938 fn total_supply ( asset : Self :: AssetId ) -> Self :: Balance {
30- crate :: Assets :: total_supply ( asset)
39+ <crate :: Assets as fungibles:: Inspect < crate :: interface:: AccountId > >:: total_issuance ( asset)
40+ }
41+ fn minimum_balance ( asset : Self :: AssetId ) -> Self :: Balance {
42+ <crate :: Assets as fungibles:: Inspect < crate :: interface:: AccountId > >:: minimum_balance ( asset)
43+ }
44+ fn asset_exists ( asset : Self :: AssetId ) -> bool {
45+ <crate :: Assets as fungibles:: Inspect < crate :: interface:: AccountId > >:: asset_exists ( asset)
3146 }
3247 }
3348}
0 commit comments