Skip to content

Commit

Permalink
addressed commit responses (#289)
Browse files Browse the repository at this point in the history
  • Loading branch information
deuszex authored Aug 27, 2024
1 parent c3a0204 commit 0a24c97
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 51 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ build-contract:
wasm-strip test-contracts/minting_contract/target/wasm32-unknown-unknown/release/minting_contract.wasm
wasm-strip test-contracts/transfer_filter_contract/target/wasm32-unknown-unknown/release/transfer_filter_contract.wasm

VERSIONS := 1_0_0 1_1_0 1_2_0 1_3_0 1_4_0 1_5_0
VERSIONS :=

setup-test: build-contract
mkdir -p tests/wasm
Expand Down
3 changes: 3 additions & 0 deletions contract/src/events.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ use events_ces::{
RevokedForAll, Transfer, VariablesSet,
};
use events_native::{emit_native_bytes, emit_native_string};
use serde::{Deserialize, Serialize};

use crate::{constants::EVENTS_MODE, error::NFTCoreError, modalities::EventsMode, utils};

Expand All @@ -15,6 +16,8 @@ pub mod events_native;
// as a library and a binary.
pub mod events_cep47;

#[derive(Serialize, Deserialize)]
#[serde(untagged)]
pub enum Event {
Mint(Mint),
Burn(Burn),
Expand Down
39 changes: 4 additions & 35 deletions contract/src/events/events_native.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,45 +13,14 @@ pub fn emit_native_string(event: Event) {

pub fn emit_native_bytes(event: Event) {
let payload_data = event.to_json();
let payload = MessagePayload::from_bytes(payload_data.as_bytes())
.unwrap_or_revert()
.0;
let (payload, _) = MessagePayload::from_bytes(payload_data.as_bytes()).unwrap_or_revert();
runtime::emit_message(EVENTS, &payload).unwrap_or_revert()
}

impl Event {
pub fn to_json(&self) -> String {
match self {
Event::Mint(e) => serde_json::to_string(e)
.map_err(|_| NFTCoreError::FailedToConvertEventToJson)
.unwrap_or_revert(),
Event::Burn(e) => serde_json::to_string(e)
.map_err(|_| NFTCoreError::FailedToConvertEventToJson)
.unwrap_or_revert(),
Event::Approval(e) => serde_json::to_string(e)
.map_err(|_| NFTCoreError::FailedToConvertEventToJson)
.unwrap_or_revert(),
Event::ApprovalForAll(e) => serde_json::to_string(e)
.map_err(|_| NFTCoreError::FailedToConvertEventToJson)
.unwrap_or_revert(),
Event::ApprovalRevoked(e) => serde_json::to_string(e)
.map_err(|_| NFTCoreError::FailedToConvertEventToJson)
.unwrap_or_revert(),
Event::Transfer(e) => serde_json::to_string(e)
.map_err(|_| NFTCoreError::FailedToConvertEventToJson)
.unwrap_or_revert(),
Event::MetadataUpdated(e) => serde_json::to_string(e)
.map_err(|_| NFTCoreError::FailedToConvertEventToJson)
.unwrap_or_revert(),
Event::Migration(e) => serde_json::to_string(e)
.map_err(|_| NFTCoreError::FailedToConvertEventToJson)
.unwrap_or_revert(),
Event::RevokedForAll(e) => serde_json::to_string(e)
.map_err(|_| NFTCoreError::FailedToConvertEventToJson)
.unwrap_or_revert(),
Event::VariablesSet(e) => serde_json::to_string(e)
.map_err(|_| NFTCoreError::FailedToConvertEventToJson)
.unwrap_or_revert(),
}
serde_json::to_string(self)
.map_err(|_| NFTCoreError::FailedToConvertEventToJson)
.unwrap_or_revert()
}
}
21 changes: 6 additions & 15 deletions contract/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1884,26 +1884,17 @@ pub extern "C" fn migrate() {
runtime::put_key(RLO_MFLAG, storage::new_uref(false).into());

let optional_events_mode: Option<u8> = runtime::get_named_arg::<Option<u8>>(ARG_EVENTS_MODE);
let current_events_mode: EventsMode = runtime::get_key(EVENTS_MODE)
.and_then(|_| {
utils::get_stored_value_with_user_errors::<u8>(
EVENTS_MODE,
NFTCoreError::MissingEventsMode,
NFTCoreError::InvalidEventsMode,
)
.try_into()
.ok()
})
.unwrap_or(EventsMode::NoEvents);

if let Some(optional_events_mode) = optional_events_mode {
if optional_events_mode != current_events_mode as u8 {
if EventsMode::try_from(optional_events_mode).is_ok() {
runtime::put_key(EVENTS_MODE, storage::new_uref(optional_events_mode).into());
if get_key(casper_event_standard::EVENTS_DICT).is_some() {
utils::init_events();
}
}
}

if get_key(casper_event_standard::EVENTS_DICT).is_none() {
utils::init_events();
}

emit_event(Event::Migration(Migration::new()));

let acl_package_mode: bool = utils::get_optional_named_arg_with_user_errors::<bool>(
Expand Down

0 comments on commit 0a24c97

Please sign in to comment.