From 684c8a51000f65b653d125c773b5a6f973ed1a1b Mon Sep 17 00:00:00 2001 From: alnoki <43892045+alnoki@users.noreply.github.com> Date: Sat, 13 Apr 2024 20:54:45 -0700 Subject: [PATCH 1/6] Add registry stub --- src/move/sources/main.move | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/move/sources/main.move b/src/move/sources/main.move index 6ee0e196a..1d9170059 100644 --- a/src/move/sources/main.move +++ b/src/move/sources/main.move @@ -1,6 +1,8 @@ // cspell:disable module emoji::main { + use aptos_std::smart_table::{Self, SmartTable}; + const ABACUS: vector = x"f09fa7ae"; const AB_BUTTON_BLOOD_TYPE: vector = x"f09f868e"; const ACCORDION: vector = x"f09faa97"; @@ -2437,8 +2439,26 @@ module emoji::main { const ZOMBIE: vector = x"f09fa79f"; const ZZZ: vector = x"f09f92a4"; - fun init_module(_: &signer) { + struct Registry has key { + supported_emojis: SmartTable, u8>, + } + fun init_module(emojicoin_dot_fun: &signer) { + let registry = Registry { + supported_emojis: smart_table::new(), + }; + smart_table::add_all( + &mut registry.supported_emojis, + vector[ + ABACUS, + AB_BUTTON_BLOOD_TYPE, + ], + vector[ + 0, + 0, + ], + ); + move_to(emojicoin_dot_fun, registry); } } From 391942b15c3b12fb12182f34e9cbee5fc6068478 Mon Sep 17 00:00:00 2001 From: alnoki <43892045+alnoki@users.noreply.github.com> Date: Sat, 13 Apr 2024 20:56:48 -0700 Subject: [PATCH 2/6] Refactor package layout --- src/move/Move.toml | 6 +++--- src/move/sources/{main.move => emojicoin_dot_fun.move} | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) rename src/move/sources/{main.move => emojicoin_dot_fun.move} (99%) diff --git a/src/move/Move.toml b/src/move/Move.toml index 2bc507f00..98f7aa05c 100644 --- a/src/move/Move.toml +++ b/src/move/Move.toml @@ -1,5 +1,5 @@ [addresses] -emoji = "_" +emojicoin_dot_fun = "_" [dependencies.AptosFramework] git = "https://github.com/aptos-labs/aptos-core.git" @@ -7,10 +7,10 @@ rev = "mainnet" subdir = "aptos-move/framework/aptos-framework" [dev-addresses] -emoji = "0xc0de" +emojicoin_dot_fun = "0xc0de" [package] authors = ["Econia Labs (developers@econialabs.com)"] -name = "Move Emojis" +name = "EmojicoinDotFun" upgrade_policy = "immutable" version = "1.0.0" diff --git a/src/move/sources/main.move b/src/move/sources/emojicoin_dot_fun.move similarity index 99% rename from src/move/sources/main.move rename to src/move/sources/emojicoin_dot_fun.move index 1d9170059..00e1fb94a 100644 --- a/src/move/sources/main.move +++ b/src/move/sources/emojicoin_dot_fun.move @@ -1,5 +1,5 @@ // cspell:disable -module emoji::main { +module emojicoin_dot_fun::emojicoin_dot_fun { use aptos_std::smart_table::{Self, SmartTable}; From 4cdd7ce9fbf3e1e4f547899822461b3a437b31cf Mon Sep 17 00:00:00 2001 From: alnoki <43892045+alnoki@users.noreply.github.com> Date: Sat, 13 Apr 2024 21:03:48 -0700 Subject: [PATCH 3/6] Update spelling escapes for global recurrences --- cfg/cspell-dictionary.txt | 34 +++++++++++++++++++++++++ src/move/sources/emojicoin_dot_fun.move | 1 - 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/cfg/cspell-dictionary.txt b/cfg/cspell-dictionary.txt index 4433bbc11..78f9c933d 100644 --- a/cfg/cspell-dictionary.txt +++ b/cfg/cspell-dictionary.txt @@ -1,7 +1,41 @@ +aland aptos +barthelemy +bento +bouvet +burkina +caicos +clipperton +cunha +dango +diya econia emojicoin +eswatini +faso +fleur +futuna +hamsa +ivoire +keycap +khanda +kitts +leste +maarten +marino +mayen +melilla +merperson +moai +nazar +oden precommit +rica +sint struct subdir +supervillain +tanabata +tokelau +turkiye xbtmatt diff --git a/src/move/sources/emojicoin_dot_fun.move b/src/move/sources/emojicoin_dot_fun.move index 00e1fb94a..96e09a4a6 100644 --- a/src/move/sources/emojicoin_dot_fun.move +++ b/src/move/sources/emojicoin_dot_fun.move @@ -1,4 +1,3 @@ -// cspell:disable module emojicoin_dot_fun::emojicoin_dot_fun { use aptos_std::smart_table::{Self, SmartTable}; From 97ef90d3dd6232299861344fd8d8231295ebc968 Mon Sep 17 00:00:00 2001 From: alnoki <43892045+alnoki@users.noreply.github.com> Date: Sat, 13 Apr 2024 21:08:09 -0700 Subject: [PATCH 4/6] Escape erroneous flake warning --- src/python/move_emojis/emojis_to_const.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/python/move_emojis/emojis_to_const.py b/src/python/move_emojis/emojis_to_const.py index 8e1146d2e..d653082c4 100644 --- a/src/python/move_emojis/emojis_to_const.py +++ b/src/python/move_emojis/emojis_to_const.py @@ -290,4 +290,6 @@ def convert_to_move_const(viable_emojis: dict[str, EmojiData]) -> dict[str, str] consts = dict(list(sorted(consts.items(), key=lambda x: x[0]))) with open("move_consts.txt", "w") as outfile: for name, move_string in consts.items(): - _ = outfile.write(f'const {name}: vector = x"{move_string}";\n') + _ = outfile.write( + f'const {name}: vector = x"{move_string}";\n' # noqa: E231,E702 + ) From 12b6b5f9c9f05915f240b2a79915b6e463fb1022 Mon Sep 17 00:00:00 2001 From: alnoki <43892045+alnoki@users.noreply.github.com> Date: Sat, 13 Apr 2024 21:53:08 -0700 Subject: [PATCH 5/6] Add market struct layout --- src/move/sources/emojicoin_dot_fun.move | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/move/sources/emojicoin_dot_fun.move b/src/move/sources/emojicoin_dot_fun.move index 96e09a4a6..a47962299 100644 --- a/src/move/sources/emojicoin_dot_fun.move +++ b/src/move/sources/emojicoin_dot_fun.move @@ -1,6 +1,7 @@ module emojicoin_dot_fun::emojicoin_dot_fun { use aptos_std::smart_table::{Self, SmartTable}; + use aptos_framework::object::{ExtendRef, ObjectGroup}; const ABACUS: vector = x"f09fa7ae"; const AB_BUTTON_BLOOD_TYPE: vector = x"f09f868e"; @@ -2438,13 +2439,25 @@ module emojicoin_dot_fun::emojicoin_dot_fun { const ZOMBIE: vector = x"f09fa79f"; const ZZZ: vector = x"f09f92a4"; + #[resource_group = ObjectGroup] + struct Market has key { + market_id: address, + market_address: address, + emoji_bytes: vector, + extend_ref: ExtendRef, + } + struct Registry has key { supported_emojis: SmartTable, u8>, + markets_by_emoji_bytes: SmartTable, address>, + markets_by_market_id: SmartTable, } fun init_module(emojicoin_dot_fun: &signer) { let registry = Registry { supported_emojis: smart_table::new(), + markets_by_emoji_bytes: smart_table::new(), + markets_by_market_id: smart_table::new(), }; smart_table::add_all( &mut registry.supported_emojis, From a37cf812988f4b135e564d7fe63e257dfd2cbf54 Mon Sep 17 00:00:00 2001 From: alnoki <43892045+alnoki@users.noreply.github.com> Date: Sat, 13 Apr 2024 22:04:44 -0700 Subject: [PATCH 6/6] Add registry object schema --- src/move/sources/emojicoin_dot_fun.move | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/move/sources/emojicoin_dot_fun.move b/src/move/sources/emojicoin_dot_fun.move index a47962299..c808f688c 100644 --- a/src/move/sources/emojicoin_dot_fun.move +++ b/src/move/sources/emojicoin_dot_fun.move @@ -1,7 +1,7 @@ module emojicoin_dot_fun::emojicoin_dot_fun { use aptos_std::smart_table::{Self, SmartTable}; - use aptos_framework::object::{ExtendRef, ObjectGroup}; + use aptos_framework::object::{Self, ExtendRef, ObjectGroup}; const ABACUS: vector = x"f09fa7ae"; const AB_BUTTON_BLOOD_TYPE: vector = x"f09f868e"; @@ -2447,17 +2447,31 @@ module emojicoin_dot_fun::emojicoin_dot_fun { extend_ref: ExtendRef, } + #[resource_group = ObjectGroup] struct Registry has key { + registry_address: address, supported_emojis: SmartTable, u8>, markets_by_emoji_bytes: SmartTable, address>, markets_by_market_id: SmartTable, + extend_ref: ExtendRef, + } + + struct RegistryAddress has key { + registry_address: address, } fun init_module(emojicoin_dot_fun: &signer) { + let constructor_ref = object::create_object(@emojicoin_dot_fun); + let extend_ref = object::generate_extend_ref(&constructor_ref); + let registry_signer = object::generate_signer(&constructor_ref); + let registry_address = object::address_from_constructor_ref(&constructor_ref); + move_to(emojicoin_dot_fun, RegistryAddress { registry_address }); let registry = Registry { + registry_address, supported_emojis: smart_table::new(), markets_by_emoji_bytes: smart_table::new(), markets_by_market_id: smart_table::new(), + extend_ref, }; smart_table::add_all( &mut registry.supported_emojis, @@ -2470,7 +2484,7 @@ module emojicoin_dot_fun::emojicoin_dot_fun { 0, ], ); - move_to(emojicoin_dot_fun, registry); + move_to(®istry_signer, registry); } }