@@ -2,17 +2,16 @@ use near_events::{
22 near_event_data,
33 near_event_data_log,
44} ;
5- use near_sdk:: json_types:: U64 ;
5+ use near_sdk:: json_types:: {
6+ U128 ,
7+ U64 ,
8+ } ;
69#[ cfg( feature = "de" ) ]
710use near_sdk:: serde:: Deserialize ;
811#[ cfg( feature = "ser" ) ]
912use near_sdk:: serde:: Serialize ;
1013use near_sdk:: AccountId ;
1114
12- // TODO: events defined here, logging functions into market/store
13- mod market;
14- pub use market:: * ;
15-
1615// ----------------------------- Core (NEP171) ------------------------------ //
1716#[ cfg_attr( feature = "all" , derive( Clone , Debug ) ) ]
1817#[ near_event_data_log( standard = "nep171" , version = "1.0.0" , event = "nft_mint" ) ]
@@ -138,3 +137,88 @@ impl MbStoreChangeSettingData {
138137 }
139138 }
140139}
140+
141+ // --------------------------------- Market --------------------------------- //
142+ #[ cfg_attr( feature = "ser" , derive( Serialize ) ) ]
143+ #[ cfg_attr( feature = "de" , derive( Deserialize ) ) ]
144+ #[ cfg_attr( any( feature = "ser" , feature = "de" ) , serde( crate = "near_sdk::serde" ) ) ]
145+ pub struct NftListLog {
146+ pub list_id : String ,
147+ pub price : String ,
148+ pub token_key : String ,
149+ pub owner_id : String ,
150+ pub autotransfer : bool ,
151+ pub approval_id : String ,
152+ pub token_id : String ,
153+ pub store_id : String ,
154+ }
155+
156+ #[ near_event_data( standard = "mb_market" , version = "0.1.0" , event = "nft_list" ) ]
157+ pub struct NftListData ( pub Vec < NftListLog > ) ;
158+
159+ #[ cfg_attr( feature = "all" , derive( Clone , Debug ) ) ]
160+ #[ near_event_data( standard = "mb_market" , version = "0.1.0" , event = "nft_update_list" ) ]
161+ pub struct NftUpdateListData {
162+ pub list_id : String ,
163+ pub auto_transfer : Option < bool > ,
164+ pub price : Option < String > ,
165+ }
166+
167+ #[ cfg_attr( feature = "all" , derive( Clone , Debug ) ) ]
168+ #[ near_event_data_log( standard = "mb_market" , version = "0.1.0" , event = "nft_unlist" ) ]
169+ pub struct NftUnlistLog {
170+ pub list_id : String ,
171+ }
172+
173+ #[ cfg_attr( feature = "all" , derive( Clone , Debug ) ) ]
174+ #[ near_event_data( standard = "mb_market" , version = "0.1.0" , event = "nft_sold" ) ]
175+ pub struct NftSaleData {
176+ pub list_id : String ,
177+ pub offer_num : u64 ,
178+ pub token_key : String ,
179+ pub payout : HashMap < AccountId , U128 > ,
180+ // Not originally in 0.1.0, but option makes it backwards compatible with
181+ // serde_json
182+ pub mintbase_amount : Option < U128 > ,
183+ }
184+
185+ #[ cfg_attr( feature = "all" , derive( Clone , Debug ) ) ]
186+ #[ cfg_attr( feature = "ser" , derive( Serialize ) ) ]
187+ #[ cfg_attr( feature = "de" , derive( Deserialize ) ) ]
188+ #[ cfg_attr( any( feature = "ser" , feature = "de" ) , serde( crate = "near_sdk::serde" ) ) ]
189+ pub struct NftMakeOfferLog {
190+ pub offer : crate :: common:: TokenOffer , // TODO: TokenOfferJson to stringify u128?
191+ pub list_id : String ,
192+ pub token_key : String ,
193+ pub offer_num : u64 ,
194+ }
195+
196+ // FIXME: u128 is not supported -_____-
197+ #[ cfg_attr( feature = "all" , derive( Clone , Debug ) ) ]
198+ #[ near_event_data( standard = "mb_market" , version = "0.1.0" , event = "nft_make_offer" ) ]
199+ pub struct NftMakeOfferData ( pub Vec < NftMakeOfferLog > ) ;
200+
201+ #[ cfg_attr( feature = "all" , derive( Clone , Debug ) ) ]
202+ #[ near_event_data(
203+ standard = "mb_market" ,
204+ version = "0.1.0" ,
205+ event = "nft_withdraw_offer"
206+ ) ]
207+ pub struct NftWithdrawOfferData {
208+ pub list_id : String ,
209+ pub offer_num : u64 ,
210+ }
211+
212+ #[ cfg_attr( feature = "all" , derive( Clone , Debug ) ) ]
213+ #[ near_event_data( standard = "mb_market" , version = "0.1.0" , event = "update_banlist" ) ]
214+ pub struct UpdateBanlistData {
215+ pub account_id : String ,
216+ pub state : bool ,
217+ }
218+
219+ #[ cfg_attr( feature = "all" , derive( Clone , Debug ) ) ]
220+ #[ near_event_data( standard = "mb_market" , version = "0.1.0" , event = "update_allowlist" ) ]
221+ pub struct UpdateAllowlistData {
222+ pub account_id : String ,
223+ pub state : bool ,
224+ }
0 commit comments