@@ -4,8 +4,8 @@ use serde_derive::{Deserialize, Serialize};
44const COIN_MODULE : & str = "Coins" ;
55const PRICE_STRUCT : & str = "Price" ;
66
7- const DFI_MODULE : & str = "DFI " ;
8- const DFI_RESOURCE : & str = "T" ;
7+ const XFI_MODULE : & str = "XFI " ;
8+ const XFI_RESOURCE : & str = "T" ;
99
1010const BLOCK_RESOURCE : & str = "BlockMetadata" ;
1111
@@ -42,11 +42,11 @@ pub fn oracle_metadata(first: &str, second: &str) -> StructTag {
4242
4343fn currency_type ( curr : & str ) -> TypeTag {
4444 let curr = curr. to_uppercase ( ) ;
45- if curr == DFI_MODULE {
45+ if curr == XFI_MODULE {
4646 TypeTag :: Struct ( StructTag {
4747 address : CORE_CODE_ADDRESS ,
48- name : Identifier :: new ( DFI_RESOURCE ) . expect ( "Valid module name." ) ,
49- module : Identifier :: new ( DFI_MODULE ) . expect ( "Valid currency name." ) ,
48+ name : Identifier :: new ( XFI_RESOURCE ) . expect ( "Valid module name." ) ,
49+ module : Identifier :: new ( XFI_MODULE ) . expect ( "Valid currency name." ) ,
5050 type_params : vec ! [ ] ,
5151 } )
5252 } else {
@@ -81,14 +81,21 @@ pub fn time_metadata() -> StructTag {
8181
8282#[ cfg( test) ]
8383mod tests {
84- use crate :: resources:: { time_metadata, block_metadata, oracle_metadata} ;
84+ use crate :: resources:: * ;
85+ use libra:: prelude:: CORE_CODE_ADDRESS ;
86+
87+ const ACCOUNT_MODULE : & str = "Account" ;
88+ const BALANCE_STRUCT : & str = "Balance" ;
89+
90+ const DFINANCE_MODULE : & str = "Dfinance" ;
91+ const INFO_STRUCT : & str = "Info" ;
8592
8693 #[ test]
8794 pub fn test_oracle_metadata ( ) {
88- let vector = oracle_metadata ( "DFI " , "BTC" ) . access_vector ( ) ;
95+ let vector = oracle_metadata ( "XFI " , "BTC" ) . access_vector ( ) ;
8996 assert_eq ! (
9097 vector,
91- hex:: decode( "01b1a724361d17c9866b12e199ecdb17eb5cb16630b647bbc997fe65362920e3bb " )
98+ hex:: decode( "018c2f213d25358a39f9370a494dbe4bd80f84734137a01ec8f468c3b2ef16360a " )
9299 . unwrap( )
93100 ) ;
94101
@@ -100,6 +107,58 @@ mod tests {
100107 ) ;
101108 }
102109
110+ #[ test]
111+ pub fn test_balance_vector ( ) {
112+ fn balance_vector ( curr : & str ) -> StructTag {
113+ StructTag {
114+ address : CORE_CODE_ADDRESS ,
115+ name : Identifier :: new ( BALANCE_STRUCT ) . expect ( "Valid struct name." ) ,
116+ module : Identifier :: new ( ACCOUNT_MODULE ) . expect ( "Valid module name." ) ,
117+ type_params : vec ! [ currency_type( curr) ] ,
118+ }
119+ }
120+
121+ let vector = balance_vector ( "eth" ) . access_vector ( ) ;
122+ assert_eq ! (
123+ vector,
124+ hex:: decode( "0138f4f2895881c804de0e57ced1d44f02e976f9c6561c889f7b7eef8e660d2c9a" )
125+ . unwrap( )
126+ ) ;
127+
128+ let vector = balance_vector ( "xfi" ) . access_vector ( ) ;
129+ assert_eq ! (
130+ vector,
131+ hex:: decode( "01226844e85ad6e3867f4ff1a4300e71ed6057538631a5a5330512772b7104b585" )
132+ . unwrap( )
133+ ) ;
134+ }
135+
136+ #[ test]
137+ pub fn test_currency_info_vector ( ) {
138+ fn currency_info_vector ( curr : & str ) -> StructTag {
139+ StructTag {
140+ address : CORE_CODE_ADDRESS ,
141+ name : Identifier :: new ( INFO_STRUCT ) . expect ( "Valid struct name." ) ,
142+ module : Identifier :: new ( DFINANCE_MODULE ) . expect ( "Valid module name." ) ,
143+ type_params : vec ! [ currency_type( curr) ] ,
144+ }
145+ }
146+
147+ let vector = currency_info_vector ( "eth" ) . access_vector ( ) ;
148+ assert_eq ! (
149+ vector,
150+ hex:: decode( "012a00668b5325f832c28a24eb83dffa8295170c80345fbfbf99a5263f962c76f4" )
151+ . unwrap( )
152+ ) ;
153+
154+ let vector = currency_info_vector ( "xfi" ) . access_vector ( ) ;
155+ assert_eq ! (
156+ vector,
157+ hex:: decode( "01b9ed21c23abf8c7a53fb868a36e106d45394c30127fb722f8dd2d45aae719585" )
158+ . unwrap( )
159+ ) ;
160+ }
161+
103162 #[ test]
104163 pub fn test_time_metadata ( ) {
105164 let vector = time_metadata ( ) . access_vector ( ) ;
0 commit comments