Repository: public-awesome/launchpad
Pull request #719 (2025-02-07 23:19:12)

remove depenency on sg-std


Patch:
diff --git a/.circleci/config.yml b/.circleci/config.yml
index a15fc892..e6bffe19 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -376,30 +376,6 @@ jobs:
             - target
           key: cargocache-test-suite-rust:1.81.0-{{ checksum "~/project/Cargo.lock" }}
 
-  package_sg_std:
-    docker:
-      - image: rust:1.81.0
-    working_directory: ~/project/package/sg-std
-    steps:
-      - checkout:
-          path: ~/project
-      - run:
-          name: Version information
-          command: rustc --version; cargo --version; rustup --version
-      - restore_cache:
-          keys:
-            - cargocache-sg-std-rust:1.81.0-{{ checksum "~/project/Cargo.lock" }}
-      - run:
-          name: Unit Tests
-          environment:
-            RUST_BACKTRACE: 1
-          command: cargo unit-test --locked
-      - save_cache:
-          paths:
-            - /usr/local/cargo/registry
-            - target
-          key: cargocache-sg-std-rust:1.81.0-{{ checksum "~/project/Cargo.lock" }}
-
   package_sg_utils:
     docker:
       - image: rust:1.81.0
diff --git a/Cargo.lock b/Cargo.lock
index 89e44027..bf088517 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -469,7 +469,7 @@ dependencies = [
  "schemars",
  "semver",
  "serde",
- "sg-std",
+ "sg-utils",
  "sg1",
  "sg2",
  "thiserror 1.0.69",
@@ -489,7 +489,7 @@ dependencies = [
  "cw721-base 0.18.0",
  "schemars",
  "serde",
- "sg-std",
+ "sg-utils",
  "sg1",
  "sg2",
  "sg4",
@@ -1383,25 +1383,6 @@ dependencies = [
  "thiserror 1.0.69",
 ]
 
-[[package]]
-name = "cw-multi-test"
-version = "0.16.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "127c7bb95853b8e828bdab97065c81cb5ddc20f7339180b61b2300565aaa99d1"
-dependencies = [
- "anyhow",
- "cosmwasm-std 1.5.10",
- "cw-storage-plus 1.2.0",
- "cw-utils 1.0.3",
- "derivative",
- "itertools 0.10.5",
- "k256 0.11.6",
- "prost 0.9.0",
- "schemars",
- "serde",
- "thiserror 1.0.69",
-]
-
 [[package]]
 name = "cw-multi-test"
 version = "1.2.0"
@@ -3086,7 +3067,7 @@ dependencies = [
  "cw2 1.1.2",
  "semver",
  "sg-metadata",
- "sg-std",
+ "sg-utils",
  "sg1",
  "sg2",
  "sg721",
@@ -3107,8 +3088,8 @@ dependencies = [
  "semver",
  "serde",
  "sg-metadata",
- "sg-std",
  "sg-tiered-whitelist",
+ "sg-utils",
  "sg-whitelist",
  "sg1",
  "sg2",
@@ -3132,7 +3113,7 @@ dependencies = [
  "semver",
  "serde",
  "sg-metadata",
- "sg-std",
+ "sg-utils",
  "sg-whitelist",
  "sg1",
  "sg2",
@@ -3158,8 +3139,8 @@ dependencies = [
  "semver",
  "serde",
  "sg-metadata",
- "sg-std",
  "sg-tiered-whitelist-flex",
+ "sg-utils",
  "sg-whitelist-flex",
  "sg1",
  "sg2",
@@ -3503,16 +3484,6 @@ dependencies = [
  "unicode-ident",
 ]
 
-[[package]]
-name = "prost"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "444879275cb4fd84958b1a1d5420d15e6fcf7c235fe47f053c9c2a80aceb6001"
-dependencies = [
- "bytes",
- "prost-derive 0.9.0",
-]
-
 [[package]]
 name = "prost"
 version = "0.11.9"
@@ -3533,19 +3504,6 @@ dependencies = [
  "prost-derive 0.12.6",
 ]
 
-[[package]]
-name = "prost-derive"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9cc1a3263e07e0bf68e96268f37665207b49560d98739662cdfaae215c720fe"
-dependencies = [
- "anyhow",
- "itertools 0.10.5",
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
 [[package]]
 name = "prost-derive"
 version = "0.11.9"
@@ -4221,7 +4179,7 @@ dependencies = [
  "cw-utils 1.0.3",
  "schemars",
  "serde",
- "sg-std",
+ "sg-utils",
  "thiserror 1.0.69",
 ]
 
@@ -4233,7 +4191,7 @@ dependencies = [
  "async-std",
  "cosmwasm-schema 1.5.10",
  "cosmwasm-std 1.5.10",
- "cw-multi-test 1.2.0",
+ "cw-multi-test",
  "cw-storage-plus 1.2.0",
  "cw-utils 1.0.3",
  "cw2 1.1.2",
@@ -4246,8 +4204,7 @@ dependencies = [
  "rust_decimal",
  "schemars",
  "serde",
- "sg-multi-test",
- "sg-std",
+ "sg-utils",
  "sg-whitelist",
  "sg1",
  "sg2",
@@ -4280,7 +4237,7 @@ dependencies = [
  "serde",
  "sg-controllers",
  "sg-mint-hooks-derive",
- "sg-std",
+ "sg-utils",
  "thiserror 1.0.69",
 ]
 
@@ -4294,20 +4251,6 @@ dependencies = [
  "syn 1.0.109",
 ]
 
-[[package]]
-name = "sg-multi-test"
-version = "3.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "20744734b8049c64747bfb083bbc06a3c7204d1d34881ed3d89698e182aa9f97"
-dependencies = [
- "anyhow",
- "cosmwasm-std 1.5.10",
- "cw-multi-test 0.16.5",
- "schemars",
- "serde",
- "sg-std",
-]
-
 [[package]]
 name = "sg-splits"
 version = "3.15.0"
@@ -4323,22 +4266,7 @@ dependencies = [
  "semver",
  "serde",
  "sg-controllers",
- "sg-std",
- "thiserror 1.0.69",
-]
-
-[[package]]
-name = "sg-std"
-version = "3.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4db53aebc2b4f981dc20a51213544adde8beaace6880345627f4babe2e1bc3ab"
-dependencies = [
- "cosmwasm-schema 1.5.10",
- "cosmwasm-std 1.5.10",
- "cw-utils 1.0.3",
- "cw721 0.18.0",
- "schemars",
- "serde",
+ "sg-utils",
  "thiserror 1.0.69",
 ]
 
@@ -4354,7 +4282,7 @@ dependencies = [
  "rust_decimal",
  "schemars",
  "serde",
- "sg-std",
+ "sg-utils",
  "sg1",
  "thiserror 1.0.69",
 ]
@@ -4371,11 +4299,15 @@ dependencies = [
  "rust_decimal",
  "schemars",
  "serde",
- "sg-std",
+ "sg-utils",
  "sg1",
  "thiserror 1.0.69",
 ]
 
+[[package]]
+name = "sg-utils"
+version = "3.15.0"
+
 [[package]]
 name = "sg-whitelist"
 version = "3.15.0"
@@ -4388,7 +4320,7 @@ dependencies = [
  "rust_decimal",
  "schemars",
  "serde",
- "sg-std",
+ "sg-utils",
  "sg1",
  "thiserror 1.0.69",
 ]
@@ -4405,7 +4337,7 @@ dependencies = [
  "rust_decimal",
  "schemars",
  "serde",
- "sg-std",
+ "sg-utils",
  "sg1",
  "thiserror 1.0.69",
 ]
@@ -4418,7 +4350,7 @@ dependencies = [
  "cosmwasm-std 1.5.10",
  "cw-utils 1.0.3",
  "serde",
- "sg-std",
+ "sg-utils",
  "thiserror 1.0.69",
 ]
 
@@ -4453,7 +4385,7 @@ version = "3.15.0"
 dependencies = [
  "cosmwasm-schema 1.5.10",
  "cosmwasm-std 1.5.10",
- "cw-multi-test 1.2.0",
+ "cw-multi-test",
  "cw-ownable",
  "cw-utils 1.0.3",
  "cw721-base 0.18.0",
@@ -4474,7 +4406,7 @@ dependencies = [
  "cw721 0.18.0",
  "cw721-base 0.18.0",
  "serde",
- "sg-std",
+ "sg-utils",
  "sg721",
  "thiserror 1.0.69",
  "url",
@@ -4494,7 +4426,7 @@ dependencies = [
  "semver",
  "serde",
  "sg-metadata",
- "sg-std",
+ "sg-utils",
  "sg721",
  "sg721-base",
 ]
@@ -4511,7 +4443,7 @@ dependencies = [
  "cw721-base 0.18.0",
  "schemars",
  "serde",
- "sg-std",
+ "sg-utils",
  "sg721",
  "sg721-base",
 ]
@@ -4522,7 +4454,7 @@ version = "3.15.0"
 dependencies = [
  "cosmwasm-schema 1.5.10",
  "cosmwasm-std 1.5.10",
- "cw-multi-test 1.2.0",
+ "cw-multi-test",
  "cw-storage-plus 1.2.0",
  "cw-utils 1.0.3",
  "cw2 1.1.2",
@@ -4531,7 +4463,7 @@ dependencies = [
  "schemars",
  "semver",
  "serde",
- "sg-std",
+ "sg-utils",
  "sg1",
  "sg721",
  "sg721-base",
@@ -4910,7 +4842,7 @@ dependencies = [
  "base-minter",
  "cosmwasm-schema 1.5.10",
  "cosmwasm-std 1.5.10",
- "cw-multi-test 1.2.0",
+ "cw-multi-test",
  "cw-ownable",
  "cw-storage-plus 1.2.0",
  "cw-utils 1.0.3",
@@ -4932,9 +4864,8 @@ dependencies = [
  "sg-controllers",
  "sg-eth-airdrop",
  "sg-metadata",
- "sg-multi-test",
  "sg-splits",
- "sg-std",
+ "sg-utils",
  "sg-whitelist",
  "sg1",
  "sg2",
@@ -5010,7 +4941,7 @@ dependencies = [
  "semver",
  "serde",
  "serde_json",
- "sg-std",
+ "sg-utils",
  "sg1",
  "thiserror 1.0.69",
  "url",
@@ -5093,7 +5024,7 @@ dependencies = [
  "schemars",
  "semver",
  "serde",
- "sg-std",
+ "sg-utils",
  "sg1",
  "sg721",
  "thiserror 1.0.69",
@@ -5114,7 +5045,7 @@ dependencies = [
  "schemars",
  "semver",
  "serde",
- "sg-std",
+ "sg-utils",
  "sg-whitelist",
  "sg1",
  "sg4",
@@ -5440,7 +5371,7 @@ dependencies = [
  "schemars",
  "semver",
  "serde",
- "sg-std",
+ "sg-utils",
  "sg1",
  "sg2",
  "sg721",
@@ -5462,8 +5393,8 @@ dependencies = [
  "schemars",
  "semver",
  "serde",
- "sg-std",
  "sg-tiered-whitelist",
+ "sg-utils",
  "sg-whitelist",
  "sg1",
  "sg2",
@@ -5490,8 +5421,8 @@ dependencies = [
  "schemars",
  "semver",
  "serde",
- "sg-std",
  "sg-tiered-whitelist",
+ "sg-utils",
  "sg-whitelist",
  "sg1",
  "sg2",
@@ -5518,7 +5449,7 @@ dependencies = [
  "schemars",
  "semver",
  "serde",
- "sg-std",
+ "sg-utils",
  "sg-whitelist",
  "sg1",
  "sg2",
@@ -5547,7 +5478,7 @@ dependencies = [
  "schemars",
  "semver",
  "serde",
- "sg-std",
+ "sg-utils",
  "sg-whitelist",
  "sg1",
  "sg2",
@@ -5576,8 +5507,8 @@ dependencies = [
  "schemars",
  "semver",
  "serde",
- "sg-std",
  "sg-tiered-whitelist-flex",
+ "sg-utils",
  "sg-whitelist-flex",
  "sg1",
  "sg2",
@@ -5604,8 +5535,8 @@ dependencies = [
  "schemars",
  "semver",
  "serde",
- "sg-std",
  "sg-tiered-whitelist-flex",
+ "sg-utils",
  "sg-whitelist-flex",
  "sg1",
  "sg2",
@@ -5760,7 +5691,7 @@ dependencies = [
  "cw2 1.1.2",
  "schemars",
  "serde",
- "sg-std",
+ "sg-utils",
  "sg-whitelist",
  "thiserror 1.0.69",
 ]
@@ -5781,7 +5712,7 @@ dependencies = [
  "semver",
  "serde",
  "serde_json",
- "sg-std",
+ "sg-utils",
  "sg1",
  "thiserror 1.0.69",
  "url",
diff --git a/Cargo.toml b/Cargo.toml
index 2a1359f2..2a270a9b 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -20,8 +20,8 @@ repository   = "https://github.com/public-awesome/launchpad"
 license      = "Apache-2.0"
 
 [workspace.dependencies]
-base-factory        = { version = "3.14.0", path = "contracts/factories/base-factory" }
-base-minter         = { version = "3.14.0", path = "contracts/minters/base-minter" }
+base-factory        = { version = "3.15.0", path = "contracts/factories/base-factory" }
+base-minter         = { version = "3.15.0", path = "contracts/minters/base-minter" }
 cosmwasm-schema     = "1.5.10"
 cosmwasm-std        = { version = "1.5.10", features = ["cosmwasm_1_4"] }
 cw-controllers      = "1.1.0"
@@ -35,40 +35,39 @@ cw-storage-plus     = "1.1.0"
 cw-utils            = "1.0.1"
 schemars            = "0.8.11"
 serde               = { version = "1.0.145", default-features = false, features = ["derive"] }
-sg1                 = { version = "3.14.0", path = "packages/sg1" }
-sg2                 = { version = "3.14.0", path = "packages/sg2" }
-sg4                 = { version = "3.14.0", path = "packages/sg4" }
-sg721               = { version = "3.14.0", path = "packages/sg721" }
-sg721-base          = { version = "3.14.0", path = "contracts/collections/sg721-base" }
-sg721-nt            = { version = "3.14.0", path = "contracts/collections/sg721-nt" }
-sg721-updatable     = { version = "3.14.0", path = "contracts/collections/sg721-updatable" }
-sg-controllers      = { version = "3.14.0", path = "packages/controllers" }
-sg-metadata         = { version = "3.14.0", path = "packages/sg-metadata" }
-sg-mint-hooks       = { version = "3.14.0", path = "packages/mint-hooks" }
-sg-multi-test       = { version = "3.1.0" }
-sg-splits           = { version = "3.14.0", path = "contracts/splits" }
-sg-std              = { version = "3.2.0" }
-sg-whitelist        = { version = "3.14.0", path = "contracts/whitelists/whitelist" }
-sg-tiered-whitelist = { version = "3.14.0", path = "contracts/whitelists/tiered-whitelist" }
+sg1                 = { version = "3.15.0", path = "packages/sg1" }
+sg2                 = { version = "3.15.0", path = "packages/sg2" }
+sg4                 = { version = "3.15.0", path = "packages/sg4" }
+sg721               = { version = "3.15.0", path = "packages/sg721" }
+sg-utils            = { version = "3.15.0", path = "packages/sg-utils" }
+sg721-base          = { version = "3.15.0", path = "contracts/collections/sg721-base" }
+sg721-nt            = { version = "3.15.0", path = "contracts/collections/sg721-nt" }
+sg721-updatable     = { version = "3.15.0", path = "contracts/collections/sg721-updatable" }
+sg-controllers      = { version = "3.15.0", path = "packages/controllers" }
+sg-metadata         = { version = "3.15.0", path = "packages/sg-metadata" }
+sg-mint-hooks       = { version = "3.15.0", path = "packages/mint-hooks" }
+sg-splits           = { version = "3.15.0", path = "contracts/splits" }
+sg-whitelist        = { version = "3.15.0", path = "contracts/whitelists/whitelist" }
+sg-tiered-whitelist = { version = "3.15.0", path = "contracts/whitelists/tiered-whitelist" }
 thiserror           = "1.0.31"
 url                 = "2.2.2"
 sha2                = { version = "0.10.2", default-features = false }
 
-whitelist-mtree             = { version = "3.14.0", path = "contracts/whitelists/whitelist-merkletree" }
-tiered-whitelist-merkletree = { version = "3.14.0", path = "contracts/whitelists/tiered-whitelist-merkletree" }
-vending-minter-merkle-wl    = { version = "3.14.0", path = "contracts/minters/vending-minter-merkle-wl" }
-vending-factory             = { version = "3.14.0", path = "contracts/factories/vending-factory" }
-vending-minter              = { version = "3.14.0", path = "contracts/minters/vending-minter" }
-open-edition-factory        = { version = "3.14.0", path = "contracts/factories/open-edition-factory" }
-open-edition-minter         = { version = "3.14.0", path = "contracts/minters/open-edition-minter" }
-token-merge-factory         = { version = "3.14.0", path = "contracts/factories/token-merge-factory" }
-token-merge-minter          = { version = "3.14.0", path = "contracts/minters/token-merge-minter" }
-whitelist-immutable         = { version = "3.14.0", path = "contracts/whitelists/whitelist-immutable" }
-sg-whitelist-flex           = { version = "3.14.0", path = "contracts/whitelists/whitelist-flex" }
-sg-tiered-whitelist-flex    = { version = "3.14.0", path = "contracts/whitelists/tiered-whitelist-flex" }
-ethereum-verify             = { version = "3.14.0", path = "packages/ethereum-verify" }
-sg-eth-airdrop              = { version = "3.14.0", path = "contracts/sg-eth-airdrop" }
-test-suite                  = { version = "3.14.0", path = "test-suite" }
+whitelist-mtree             = { version = "3.15.0", path = "contracts/whitelists/whitelist-merkletree" }
+tiered-whitelist-merkletree = { version = "3.15.0", path = "contracts/whitelists/tiered-whitelist-merkletree" }
+vending-minter-merkle-wl    = { version = "3.15.0", path = "contracts/minters/vending-minter-merkle-wl" }
+vending-factory             = { version = "3.15.0", path = "contracts/factories/vending-factory" }
+vending-minter              = { version = "3.15.0", path = "contracts/minters/vending-minter" }
+open-edition-factory        = { version = "3.15.0", path = "contracts/factories/open-edition-factory" }
+open-edition-minter         = { version = "3.15.0", path = "contracts/minters/open-edition-minter" }
+token-merge-factory         = { version = "3.15.0", path = "contracts/factories/token-merge-factory" }
+token-merge-minter          = { version = "3.15.0", path = "contracts/minters/token-merge-minter" }
+whitelist-immutable         = { version = "3.15.0", path = "contracts/whitelists/whitelist-immutable" }
+sg-whitelist-flex           = { version = "3.15.0", path = "contracts/whitelists/whitelist-flex" }
+sg-tiered-whitelist-flex    = { version = "3.15.0", path = "contracts/whitelists/tiered-whitelist-flex" }
+ethereum-verify             = { version = "3.15.0", path = "packages/ethereum-verify" }
+sg-eth-airdrop              = { version = "3.15.0", path = "contracts/sg-eth-airdrop" }
+test-suite                  = { version = "3.15.0", path = "test-suite" }
 nois                        = { version = "2.0.0" }
 semver                      = "1"
 cw-ownable                  = "0.5.1"
@@ -78,6 +77,10 @@ anybuf                      = "0.5.2"
 codegen-units = 1
 incremental   = false
 
+[profile.release.package.sg-utils]
+codegen-units = 1
+incremental   = false
+
 [profile.release.package.sg1]
 codegen-units = 1
 incremental   = false
diff --git a/contracts/collections/sg721-base/Cargo.toml b/contracts/collections/sg721-base/Cargo.toml
index 93a8c806..c92c6898 100644
--- a/contracts/collections/sg721-base/Cargo.toml
+++ b/contracts/collections/sg721-base/Cargo.toml
@@ -34,9 +34,8 @@ cw-storage-plus = { workspace = true }
 cw-utils        = { workspace = true }
 serde           = { workspace = true }
 sg721           = { workspace = true }
-sg-std          = { workspace = true }
 thiserror       = { workspace = true }
 url             = { workspace = true }
-cw-ownable = { workspace = true }
-cw721-base = { workspace = true, features = ["library"]}
-
+cw-ownable      = { workspace = true }
+cw721-base      = { workspace = true, features = ["library"] }
+sg-utils        = { workspace = true }
diff --git a/contracts/collections/sg721-base/src/msg.rs b/contracts/collections/sg721-base/src/msg.rs
index 13a97768..9c521eea 100644
--- a/contracts/collections/sg721-base/src/msg.rs
+++ b/contracts/collections/sg721-base/src/msg.rs
@@ -14,7 +14,7 @@ use cw_ownable::cw_ownable_execute;
 use cw_ownable::cw_ownable_query;
 use cw_utils::Expiration;
 use sg721::RoyaltyInfoResponse;
-use sg_std::NATIVE_DENOM;
+use sg_utils::NATIVE_DENOM;
 
 #[cw_ownable_execute]
 #[cw_serde]
diff --git a/contracts/collections/sg721-metadata-onchain/Cargo.toml b/contracts/collections/sg721-metadata-onchain/Cargo.toml
index b5516503..92df89aa 100644
--- a/contracts/collections/sg721-metadata-onchain/Cargo.toml
+++ b/contracts/collections/sg721-metadata-onchain/Cargo.toml
@@ -1,15 +1,12 @@
 [package]
-name = "sg721-metadata-onchain"
-authors = [
-  "Shane Vitarana <s@noreply.publicawesome.com>",
-  "Larry Engineer <gm@larry.engineer>",
-]
+name        = "sg721-metadata-onchain"
+authors     = ["Shane Vitarana <s@noreply.publicawesome.com>", "Larry Engineer <gm@larry.engineer>"]
 description = "Example extending SG721 NFT to store metadata on chain"
-version = { workspace = true }
-edition = { workspace = true }
-homepage = { workspace = true }
-repository = { workspace = true }
-license = { workspace = true }
+version     = { workspace = true }
+edition     = { workspace = true }
+homepage    = { workspace = true }
+repository  = { workspace = true }
+license     = { workspace = true }
 
 exclude = [
   # Those files are rust-optimizer artifacts. You might want to commit them for convenience but they should not be part of the source code publication.
@@ -37,7 +34,7 @@ serde           = { workspace = true }
 sg721           = { workspace = true }
 sg721-base      = { workspace = true, features = ["library"] }
 sg-metadata     = { workspace = true }
-sg-std          = { workspace = true }
+sg-utils        = { workspace = true }
 cw-ownable      = { workspace = true }
 cw721-base      = { workspace = true, features = ["library"] }
 semver          = { workspace = true }
diff --git a/contracts/collections/sg721-nt/Cargo.toml b/contracts/collections/sg721-nt/Cargo.toml
index c2b572ab..fbcf02de 100644
--- a/contracts/collections/sg721-nt/Cargo.toml
+++ b/contracts/collections/sg721-nt/Cargo.toml
@@ -1,15 +1,12 @@
 [package]
-name = "sg721-nt"
-authors = [
-  "Shane Vitarana <s@noreply.publicawesome.com>",
-  "John Y <j@noreply.publicawesome.com>",
-]
+name        = "sg721-nt"
+authors     = ["Shane Vitarana <s@noreply.publicawesome.com>", "John Y <j@noreply.publicawesome.com>"]
 description = "Stargaze Non-transferrable NFT collection contract"
-version = { workspace = true }
-edition = { workspace = true }
-homepage = { workspace = true }
-repository = { workspace = true }
-license = { workspace = true }
+version     = { workspace = true }
+edition     = { workspace = true }
+homepage    = { workspace = true }
+repository  = { workspace = true }
+license     = { workspace = true }
 
 exclude = [
   # Those files are rust-optimizer artifacts. You might want to commit them for convenience but they should not be part of the source code publication.
@@ -39,4 +36,4 @@ schemars        = { workspace = true }
 serde           = { workspace = true }
 sg721           = { workspace = true }
 sg721-base      = { workspace = true, features = ["library"] }
-sg-std          = { workspace = true }
+sg-utils        = { workspace = true }
diff --git a/contracts/collections/sg721-updatable/Cargo.toml b/contracts/collections/sg721-updatable/Cargo.toml
index 99052c5d..9cdb2e59 100644
--- a/contracts/collections/sg721-updatable/Cargo.toml
+++ b/contracts/collections/sg721-updatable/Cargo.toml
@@ -51,7 +51,7 @@ cw721-base      = { workspace = true, features = ["library"] }
 sg1             = { workspace = true }
 sg721           = { workspace = true }
 sg721-base      = { workspace = true, features = ["library"] }
-sg-std          = { workspace = true }
+sg-utils        = { workspace = true }
 semver          = { workspace = true }
 
 [dev-dependencies]
diff --git a/contracts/factories/base-factory/Cargo.toml b/contracts/factories/base-factory/Cargo.toml
index 314ae0bd..87a90d76 100644
--- a/contracts/factories/base-factory/Cargo.toml
+++ b/contracts/factories/base-factory/Cargo.toml
@@ -36,5 +36,5 @@ semver          = { workspace = true }
 serde           = { workspace = true }
 sg1             = { workspace = true }
 sg2             = { workspace = true }
-sg-std          = { workspace = true }
+sg-utils        = { workspace = true }
 thiserror       = { workspace = true }
diff --git a/contracts/factories/base-factory/src/contract.rs b/contracts/factories/base-factory/src/contract.rs
index ea896769..5486f913 100644
--- a/contracts/factories/base-factory/src/contract.rs
+++ b/contracts/factories/base-factory/src/contract.rs
@@ -11,7 +11,7 @@ use sg1::{checked_fair_burn, transfer_funds_to_launchpad_dao};
 use sg2::msg::UpdateMinterParamsMsg;
 use sg2::query::{AllowedCollectionCodeIdResponse, AllowedCollectionCodeIdsResponse, Sg2QueryMsg};
 use sg2::MinterParams;
-use sg_std::NATIVE_DENOM;
+use sg_utils::NATIVE_DENOM;
 
 use crate::error::ContractError;
 use crate::msg::{
diff --git a/contracts/factories/open-edition-factory/Cargo.toml b/contracts/factories/open-edition-factory/Cargo.toml
index d94e1191..9a3f4fa6 100644
--- a/contracts/factories/open-edition-factory/Cargo.toml
+++ b/contracts/factories/open-edition-factory/Cargo.toml
@@ -37,5 +37,5 @@ sg1             = { workspace = true }
 sg2             = { workspace = true }
 sg721           = { workspace = true }
 sg-metadata     = { workspace = true }
-sg-std          = { workspace = true }
+sg-utils        = { workspace = true }
 thiserror       = { workspace = true }
diff --git a/contracts/factories/open-edition-factory/src/contract.rs b/contracts/factories/open-edition-factory/src/contract.rs
index 1ab74002..8209f4b4 100644
--- a/contracts/factories/open-edition-factory/src/contract.rs
+++ b/contracts/factories/open-edition-factory/src/contract.rs
@@ -6,7 +6,7 @@ use cosmwasm_std::{
 };
 use cw2::set_contract_version;
 use semver::Version;
-use sg_std::NATIVE_DENOM;
+use sg_utils::NATIVE_DENOM;
 
 use base_factory::contract::{
     must_be_allowed_collection, must_not_be_frozen, must_pay_exact_amount, update_params,
diff --git a/contracts/factories/token-merge-factory/Cargo.toml b/contracts/factories/token-merge-factory/Cargo.toml
index 9cc0dd85..dc90b09c 100644
--- a/contracts/factories/token-merge-factory/Cargo.toml
+++ b/contracts/factories/token-merge-factory/Cargo.toml
@@ -37,5 +37,5 @@ semver          = { workspace = true }
 serde           = { workspace = true }
 sg1             = { workspace = true }
 sg721           = { workspace = true }
-sg-std          = { workspace = true }
+sg-utils        = { workspace = true }
 thiserror       = { workspace = true }
diff --git a/contracts/factories/token-merge-factory/src/contract.rs b/contracts/factories/token-merge-factory/src/contract.rs
index bf2f200b..b21a0288 100644
--- a/contracts/factories/token-merge-factory/src/contract.rs
+++ b/contracts/factories/token-merge-factory/src/contract.rs
@@ -9,7 +9,7 @@ use cw2::set_contract_version;
 use cw_utils::must_pay;
 use semver::Version;
 use sg1::{checked_fair_burn, transfer_funds_to_launchpad_dao};
-use sg_std::NATIVE_DENOM;
+use sg_utils::NATIVE_DENOM;
 
 use crate::error::ContractError;
 use crate::msg::{
diff --git a/contracts/factories/vending-factory/Cargo.toml b/contracts/factories/vending-factory/Cargo.toml
index 3079d795..8d7e779c 100644
--- a/contracts/factories/vending-factory/Cargo.toml
+++ b/contracts/factories/vending-factory/Cargo.toml
@@ -38,5 +38,5 @@ serde           = { workspace = true }
 sg1             = { workspace = true }
 sg2             = { workspace = true }
 sg721           = { workspace = true }
-sg-std          = { workspace = true }
+sg-utils        = { workspace = true }
 thiserror       = { workspace = true }
diff --git a/contracts/factories/vending-factory/src/contract.rs b/contracts/factories/vending-factory/src/contract.rs
index 5214288c..e8683ee0 100644
--- a/contracts/factories/vending-factory/src/contract.rs
+++ b/contracts/factories/vending-factory/src/contract.rs
@@ -11,7 +11,7 @@ use cw_utils::must_pay;
 use semver::Version;
 use sg1::{checked_fair_burn, transfer_funds_to_launchpad_dao};
 use sg2::query::{AllowedCollectionCodeIdResponse, AllowedCollectionCodeIdsResponse, Sg2QueryMsg};
-use sg_std::NATIVE_DENOM;
+use sg_utils::NATIVE_DENOM;
 
 use crate::error::ContractError;
 use crate::msg::{
diff --git a/contracts/minters/base-minter/Cargo.toml b/contracts/minters/base-minter/Cargo.toml
index 932c782f..bd330b09 100644
--- a/contracts/minters/base-minter/Cargo.toml
+++ b/contracts/minters/base-minter/Cargo.toml
@@ -41,6 +41,6 @@ sg2             = { workspace = true }
 sg4             = { workspace = true }
 sg721           = { workspace = true }
 sg721-base      = { workspace = true, features = ["library"] }
-sg-std          = { workspace = true }
+sg-utils        = { workspace = true }
 thiserror       = { workspace = true }
 url             = { workspace = true }
diff --git a/contracts/minters/base-minter/src/contract.rs b/contracts/minters/base-minter/src/contract.rs
index 195761ee..23032740 100644
--- a/contracts/minters/base-minter/src/contract.rs
+++ b/contracts/minters/base-minter/src/contract.rs
@@ -16,7 +16,7 @@ use sg2::query::Sg2QueryMsg;
 use sg4::{QueryMsg, Status, StatusResponse, SudoMsg};
 use sg721::{ExecuteMsg as Sg721ExecuteMsg, InstantiateMsg as Sg721InstantiateMsg};
 use sg721_base::msg::{CollectionInfoResponse, QueryMsg as Sg721QueryMsg};
-use sg_std::NATIVE_DENOM;
+use sg_utils::NATIVE_DENOM;
 use url::Url;
 
 const CONTRACT_NAME: &str = "crates.io:sg-base-minter";
diff --git a/contracts/minters/open-edition-minter-merkle-wl/Cargo.toml b/contracts/minters/open-edition-minter-merkle-wl/Cargo.toml
index 6e991105..0662d062 100644
--- a/contracts/minters/open-edition-minter-merkle-wl/Cargo.toml
+++ b/contracts/minters/open-edition-minter-merkle-wl/Cargo.toml
@@ -26,23 +26,23 @@ backtraces = ["cosmwasm-std/backtraces"]
 library = []
 
 [dependencies]
-cosmwasm-schema         = { workspace = true }
-cosmwasm-std            = { workspace = true }
-cw2                     = { workspace = true }
-cw721-base              = { workspace = true, features = ["library"] }
-cw-storage-plus         = { workspace = true }
-cw-utils                = { workspace = true }
-serde                   = { workspace = true }
-sg1                     = { workspace = true }
-sg2                     = { workspace = true }
-sg4                     = { workspace = true }
-sg721                   = { workspace = true }
-sg-std                  = { workspace = true }
-sg-whitelist            = { workspace = true, features = ["library"] }
-whitelist-mtree         = { workspace = true, features = ["library"] }
+cosmwasm-schema             = { workspace = true }
+cosmwasm-std                = { workspace = true }
+cw2                         = { workspace = true }
+cw721-base                  = { workspace = true, features = ["library"] }
+cw-storage-plus             = { workspace = true }
+cw-utils                    = { workspace = true }
+serde                       = { workspace = true }
+sg1                         = { workspace = true }
+sg2                         = { workspace = true }
+sg4                         = { workspace = true }
+sg721                       = { workspace = true }
+sg-utils                    = { workspace = true }
+sg-whitelist                = { workspace = true, features = ["library"] }
+whitelist-mtree             = { workspace = true, features = ["library"] }
 tiered-whitelist-merkletree = { workspace = true, features = ["library"] }
-sg-metadata             = { workspace = true }
-thiserror               = { workspace = true }
-url                     = { workspace = true }
-open-edition-factory    = { workspace = true, features = ["library"] }
-semver                  = {workspace = true }
+sg-metadata                 = { workspace = true }
+thiserror                   = { workspace = true }
+url                         = { workspace = true }
+open-edition-factory        = { workspace = true, features = ["library"] }
+semver                      = { workspace = true }
diff --git a/contracts/minters/open-edition-minter-wl-flex/Cargo.toml b/contracts/minters/open-edition-minter-wl-flex/Cargo.toml
index 7feb26e0..ab7f84bc 100644
--- a/contracts/minters/open-edition-minter-wl-flex/Cargo.toml
+++ b/contracts/minters/open-edition-minter-wl-flex/Cargo.toml
@@ -26,22 +26,22 @@ backtraces = ["cosmwasm-std/backtraces"]
 library = []
 
 [dependencies]
-cosmwasm-schema         = { workspace = true }
-cosmwasm-std            = { workspace = true }
-cw2                     = { workspace = true }
-cw721-base              = { workspace = true, features = ["library"] }
-cw-storage-plus         = { workspace = true }
-cw-utils                = { workspace = true }
-serde                   = { workspace = true }
-sg1                     = { workspace = true }
-sg2                     = { workspace = true }
-sg4                     = { workspace = true }
-sg721                   = { workspace = true }
-sg-std                  = { workspace = true }
-sg-whitelist-flex       = { workspace = true, features = ["library"] }
-sg-tiered-whitelist-flex   = { workspace = true, features = ["library"] }
-sg-metadata             = { workspace = true }
-thiserror               = { workspace = true }
-url                     = { workspace = true }
-open-edition-factory    = { workspace = true, features = ["library"] }
-semver                  = {workspace = true }
+cosmwasm-schema          = { workspace = true }
+cosmwasm-std             = { workspace = true }
+cw2                      = { workspace = true }
+cw721-base               = { workspace = true, features = ["library"] }
+cw-storage-plus          = { workspace = true }
+cw-utils                 = { workspace = true }
+serde                    = { workspace = true }
+sg1                      = { workspace = true }
+sg2                      = { workspace = true }
+sg4                      = { workspace = true }
+sg721                    = { workspace = true }
+sg-utils                 = { workspace = true }
+sg-whitelist-flex        = { workspace = true, features = ["library"] }
+sg-tiered-whitelist-flex = { workspace = true, features = ["library"] }
+sg-metadata              = { workspace = true }
+thiserror                = { workspace = true }
+url                      = { workspace = true }
+open-edition-factory     = { workspace = true, features = ["library"] }
+semver                   = { workspace = true }
diff --git a/contracts/minters/open-edition-minter/Cargo.toml b/contracts/minters/open-edition-minter/Cargo.toml
index a1c9f5cf..2f9cc98f 100644
--- a/contracts/minters/open-edition-minter/Cargo.toml
+++ b/contracts/minters/open-edition-minter/Cargo.toml
@@ -26,22 +26,22 @@ backtraces = ["cosmwasm-std/backtraces"]
 library = []
 
 [dependencies]
-cosmwasm-schema         = { workspace = true }
-cosmwasm-std            = { workspace = true }
-cw2                     = { workspace = true }
-cw721-base              = { workspace = true, features = ["library"] }
-cw-storage-plus         = { workspace = true }
-cw-utils                = { workspace = true }
-serde                   = { workspace = true }
-sg1                     = { workspace = true }
-sg2                     = { workspace = true }
-sg4                     = { workspace = true }
-sg721                   = { workspace = true }
-sg-std                  = { workspace = true }
-sg-whitelist            = { workspace = true, features = ["library"] }
-sg-tiered-whitelist     = { workspace = true, features = ["library"] }
-sg-metadata             = { workspace = true }
-thiserror               = { workspace = true }
-url                     = { workspace = true }
-open-edition-factory    = { workspace = true, features = ["library"] }
-semver                  = {workspace = true }
+cosmwasm-schema      = { workspace = true }
+cosmwasm-std         = { workspace = true }
+cw2                  = { workspace = true }
+cw721-base           = { workspace = true, features = ["library"] }
+cw-storage-plus      = { workspace = true }
+cw-utils             = { workspace = true }
+serde                = { workspace = true }
+sg1                  = { workspace = true }
+sg2                  = { workspace = true }
+sg4                  = { workspace = true }
+sg721                = { workspace = true }
+sg-utils             = { workspace = true }
+sg-whitelist         = { workspace = true, features = ["library"] }
+sg-tiered-whitelist  = { workspace = true, features = ["library"] }
+sg-metadata          = { workspace = true }
+thiserror            = { workspace = true }
+url                  = { workspace = true }
+open-edition-factory = { workspace = true, features = ["library"] }
+semver               = { workspace = true }
diff --git a/contracts/minters/token-merge-minter/Cargo.toml b/contracts/minters/token-merge-minter/Cargo.toml
index bef5ac25..ec0b69ee 100644
--- a/contracts/minters/token-merge-minter/Cargo.toml
+++ b/contracts/minters/token-merge-minter/Cargo.toml
@@ -39,7 +39,7 @@ sha2                = { workspace = true }
 sg1                 = { workspace = true }
 sg4                 = { workspace = true }
 sg721               = { workspace = true }
-sg-std              = { workspace = true }
+sg-utils            = { workspace = true }
 sg-whitelist        = { workspace = true, features = ["library"] }
 thiserror           = { workspace = true }
 url                 = { workspace = true }
diff --git a/contracts/minters/token-merge-minter/src/contract.rs b/contracts/minters/token-merge-minter/src/contract.rs
index 4e62cc98..435ff963 100644
--- a/contracts/minters/token-merge-minter/src/contract.rs
+++ b/contracts/minters/token-merge-minter/src/contract.rs
@@ -25,7 +25,7 @@ use semver::Version;
 use sg1::{checked_fair_burn, distribute_mint_fees};
 use sg4::{Status, StatusResponse, SudoMsg};
 use sg721::{ExecuteMsg as Sg721ExecuteMsg, InstantiateMsg as Sg721InstantiateMsg};
-use sg_std::GENESIS_MINT_START_TIME;
+use sg_utils::GENESIS_MINT_START_TIME;
 use sha2::{Digest, Sha256};
 
 use std::convert::TryInto;
diff --git a/contracts/minters/vending-minter-featured/Cargo.toml b/contracts/minters/vending-minter-featured/Cargo.toml
index b0b56e00..0d511b62 100644
--- a/contracts/minters/vending-minter-featured/Cargo.toml
+++ b/contracts/minters/vending-minter-featured/Cargo.toml
@@ -40,7 +40,7 @@ sg1                 = { workspace = true }
 sg2                 = { workspace = true }
 sg4                 = { workspace = true }
 sg721               = { workspace = true }
-sg-std              = { workspace = true }
+sg-utils            = { workspace = true }
 sg-whitelist        = { workspace = true, features = ["library"] }
 sg-tiered-whitelist = { workspace = true, features = ["library"] }
 thiserror           = { workspace = true }
diff --git a/contracts/minters/vending-minter-featured/src/contract.rs b/contracts/minters/vending-minter-featured/src/contract.rs
index 50e1b4dd..6670515c 100644
--- a/contracts/minters/vending-minter-featured/src/contract.rs
+++ b/contracts/minters/vending-minter-featured/src/contract.rs
@@ -26,8 +26,8 @@ use sg1::{checked_fair_burn, distribute_mint_fees};
 use sg2::query::Sg2QueryMsg;
 use sg4::{MinterConfig, Status, StatusResponse, SudoMsg};
 use sg721::{ExecuteMsg as Sg721ExecuteMsg, InstantiateMsg as Sg721InstantiateMsg};
-use sg_std::GENESIS_MINT_START_TIME;
 use sg_tiered_whitelist::msg::{QueryMsg as TieredWhitelistQueryMsg, StageResponse};
+use sg_utils::GENESIS_MINT_START_TIME;
 use sg_whitelist::msg::{
     ConfigResponse as WhitelistConfigResponse, HasMemberResponse, QueryMsg as WhitelistQueryMsg,
 };
diff --git a/contracts/minters/vending-minter-merkle-wl-featured/Cargo.toml b/contracts/minters/vending-minter-merkle-wl-featured/Cargo.toml
index 1a8abb61..eed27050 100644
--- a/contracts/minters/vending-minter-merkle-wl-featured/Cargo.toml
+++ b/contracts/minters/vending-minter-merkle-wl-featured/Cargo.toml
@@ -44,7 +44,7 @@ sg1                         = { workspace = true }
 sg2                         = { workspace = true }
 sg4                         = { workspace = true }
 sg721                       = { workspace = true }
-sg-std                      = { workspace = true }
+sg-utils                    = { workspace = true }
 sg-whitelist                = { workspace = true, features = ["library"] }
 whitelist-mtree             = { workspace = true, features = ["library"] }
 tiered-whitelist-merkletree = { workspace = true, features = ["library"] }
diff --git a/contracts/minters/vending-minter-merkle-wl-featured/src/contract.rs b/contracts/minters/vending-minter-merkle-wl-featured/src/contract.rs
index eab1f7b0..7e38511d 100644
--- a/contracts/minters/vending-minter-merkle-wl-featured/src/contract.rs
+++ b/contracts/minters/vending-minter-merkle-wl-featured/src/contract.rs
@@ -26,7 +26,7 @@ use sg1::{checked_fair_burn, distribute_mint_fees};
 use sg2::query::Sg2QueryMsg;
 use sg4::{MinterConfig, Status, StatusResponse, SudoMsg};
 use sg721::{ExecuteMsg as Sg721ExecuteMsg, InstantiateMsg as Sg721InstantiateMsg};
-use sg_std::GENESIS_MINT_START_TIME;
+use sg_utils::GENESIS_MINT_START_TIME;
 use sg_whitelist::msg::{
     ConfigResponse as WhitelistConfigResponse, HasMemberResponse, QueryMsg as WhitelistQueryMsg,
 };
diff --git a/contracts/minters/vending-minter-merkle-wl/Cargo.toml b/contracts/minters/vending-minter-merkle-wl/Cargo.toml
index 6dbb5032..96be2b27 100644
--- a/contracts/minters/vending-minter-merkle-wl/Cargo.toml
+++ b/contracts/minters/vending-minter-merkle-wl/Cargo.toml
@@ -45,7 +45,7 @@ sg1                         = { workspace = true }
 sg2                         = { workspace = true }
 sg4                         = { workspace = true }
 sg721                       = { workspace = true }
-sg-std                      = { workspace = true }
+sg-utils                    = { workspace = true }
 sg-whitelist                = { workspace = true, features = ["library"] }
 whitelist-mtree             = { workspace = true, features = ["library"] }
 tiered-whitelist-merkletree = { workspace = true, features = ["library"] }
diff --git a/contracts/minters/vending-minter-merkle-wl/src/contract.rs b/contracts/minters/vending-minter-merkle-wl/src/contract.rs
index f3cf490d..70daa93e 100644
--- a/contracts/minters/vending-minter-merkle-wl/src/contract.rs
+++ b/contracts/minters/vending-minter-merkle-wl/src/contract.rs
@@ -26,7 +26,7 @@ use sg1::{checked_fair_burn, distribute_mint_fees};
 use sg2::query::Sg2QueryMsg;
 use sg4::{MinterConfig, Status, StatusResponse, SudoMsg};
 use sg721::{ExecuteMsg as Sg721ExecuteMsg, InstantiateMsg as Sg721InstantiateMsg};
-use sg_std::GENESIS_MINT_START_TIME;
+use sg_utils::GENESIS_MINT_START_TIME;
 use sg_whitelist::msg::{
     ConfigResponse as WhitelistConfigResponse, HasMemberResponse, QueryMsg as WhitelistQueryMsg,
 };
diff --git a/contracts/minters/vending-minter-wl-flex-featured/Cargo.toml b/contracts/minters/vending-minter-wl-flex-featured/Cargo.toml
index de41bc7c..5f2b2be0 100644
--- a/contracts/minters/vending-minter-wl-flex-featured/Cargo.toml
+++ b/contracts/minters/vending-minter-wl-flex-featured/Cargo.toml
@@ -40,7 +40,7 @@ sg1                      = { workspace = true }
 sg2                      = { workspace = true }
 sg4                      = { workspace = true }
 sg721                    = { workspace = true }
-sg-std                   = { workspace = true }
+sg-utils                 = { workspace = true }
 sg-whitelist-flex        = { workspace = true, features = ["library"] }
 sg-tiered-whitelist-flex = { workspace = true, features = ["library"] }
 thiserror                = { workspace = true }
diff --git a/contracts/minters/vending-minter-wl-flex-featured/src/contract.rs b/contracts/minters/vending-minter-wl-flex-featured/src/contract.rs
index ff53b10e..48a17920 100644
--- a/contracts/minters/vending-minter-wl-flex-featured/src/contract.rs
+++ b/contracts/minters/vending-minter-wl-flex-featured/src/contract.rs
@@ -25,8 +25,8 @@ use sg1::{checked_fair_burn, distribute_mint_fees};
 use sg2::query::Sg2QueryMsg;
 use sg4::{MinterConfig, Status, StatusResponse, SudoMsg};
 use sg721::{ExecuteMsg as Sg721ExecuteMsg, InstantiateMsg as Sg721InstantiateMsg};
-use sg_std::GENESIS_MINT_START_TIME;
 use sg_tiered_whitelist_flex::msg::{QueryMsg as TieredWhitelistQueryMsg, StageResponse};
+use sg_utils::GENESIS_MINT_START_TIME;
 use sg_whitelist_flex::msg::{
     ConfigResponse as WhitelistConfigResponse, HasMemberResponse, Member,
     QueryMsg as WhitelistQueryMsg,
diff --git a/contracts/minters/vending-minter-wl-flex/Cargo.toml b/contracts/minters/vending-minter-wl-flex/Cargo.toml
index 030a1490..fe94e6fa 100644
--- a/contracts/minters/vending-minter-wl-flex/Cargo.toml
+++ b/contracts/minters/vending-minter-wl-flex/Cargo.toml
@@ -41,7 +41,7 @@ sg1                      = { workspace = true }
 sg2                      = { workspace = true }
 sg4                      = { workspace = true }
 sg721                    = { workspace = true }
-sg-std                   = { workspace = true }
+sg-utils                 = { workspace = true }
 sg-whitelist-flex        = { workspace = true, features = ["library"] }
 sg-tiered-whitelist-flex = { workspace = true, features = ["library"] }
 thiserror                = { workspace = true }
diff --git a/contracts/minters/vending-minter-wl-flex/src/contract.rs b/contracts/minters/vending-minter-wl-flex/src/contract.rs
index 8cc2749b..cd34282f 100644
--- a/contracts/minters/vending-minter-wl-flex/src/contract.rs
+++ b/contracts/minters/vending-minter-wl-flex/src/contract.rs
@@ -25,8 +25,8 @@ use sg1::{checked_fair_burn, distribute_mint_fees};
 use sg2::query::Sg2QueryMsg;
 use sg4::{MinterConfig, Status, StatusResponse, SudoMsg};
 use sg721::{ExecuteMsg as Sg721ExecuteMsg, InstantiateMsg as Sg721InstantiateMsg};
-use sg_std::GENESIS_MINT_START_TIME;
 use sg_tiered_whitelist_flex::msg::{QueryMsg as TieredWhitelistQueryMsg, StageResponse};
+use sg_utils::GENESIS_MINT_START_TIME;
 use sg_whitelist_flex::msg::{
     ConfigResponse as WhitelistConfigResponse, HasMemberResponse, Member,
     QueryMsg as WhitelistQueryMsg,
diff --git a/contracts/minters/vending-minter/Cargo.toml b/contracts/minters/vending-minter/Cargo.toml
index af2713cb..7a2f6d29 100644
--- a/contracts/minters/vending-minter/Cargo.toml
+++ b/contracts/minters/vending-minter/Cargo.toml
@@ -41,7 +41,7 @@ sg1                 = { workspace = true }
 sg2                 = { workspace = true }
 sg4                 = { workspace = true }
 sg721               = { workspace = true }
-sg-std              = { workspace = true }
+sg-utils            = { workspace = true }
 sg-whitelist        = { workspace = true, features = ["library"] }
 sg-tiered-whitelist = { workspace = true, features = ["library"] }
 thiserror           = { workspace = true }
diff --git a/contracts/minters/vending-minter/src/contract.rs b/contracts/minters/vending-minter/src/contract.rs
index 75983417..76780b4c 100644
--- a/contracts/minters/vending-minter/src/contract.rs
+++ b/contracts/minters/vending-minter/src/contract.rs
@@ -27,8 +27,8 @@ use sg1::{checked_fair_burn, distribute_mint_fees};
 use sg2::query::Sg2QueryMsg;
 use sg4::{MinterConfig, Status, StatusResponse, SudoMsg};
 use sg721::{ExecuteMsg as Sg721ExecuteMsg, InstantiateMsg as Sg721InstantiateMsg};
-use sg_std::GENESIS_MINT_START_TIME;
 use sg_tiered_whitelist::msg::{QueryMsg as TieredWhitelistQueryMsg, StageResponse};
+use sg_utils::GENESIS_MINT_START_TIME;
 use sg_whitelist::msg::{
     ConfigResponse as WhitelistConfigResponse, HasMemberResponse, QueryMsg as WhitelistQueryMsg,
 };
diff --git a/contracts/sg-eth-airdrop/Cargo.toml b/contracts/sg-eth-airdrop/Cargo.toml
index ffb4ec5f..a5ea97b9 100644
--- a/contracts/sg-eth-airdrop/Cargo.toml
+++ b/contracts/sg-eth-airdrop/Cargo.toml
@@ -40,7 +40,7 @@ sha2                = { workspace = true }
 sha3                = "0.10"
 schemars            = { workspace = true }
 serde               = { workspace = true }
-sg-std              = { workspace = true }
+sg-utils            = { workspace = true }
 thiserror           = { workspace = true }
 vending-minter      = { workspace = true, features = ["library"] }
 whitelist-immutable = { workspace = true, features = ["library"] }
@@ -55,5 +55,4 @@ sg2             = { workspace = true }
 vending-factory = { workspace = true }
 sg721-base      = { workspace = true }
 cw-multi-test   = { workspace = true }
-sg-multi-test   = { workspace = true }
 anyhow          = "1.0.57"
diff --git a/contracts/sg-eth-airdrop/src/claim_airdrop.rs b/contracts/sg-eth-airdrop/src/claim_airdrop.rs
index b2e91ddf..3cdb50c1 100644
--- a/contracts/sg-eth-airdrop/src/claim_airdrop.rs
+++ b/contracts/sg-eth-airdrop/src/claim_airdrop.rs
@@ -45,7 +45,7 @@ pub fn increment_local_mint_count_for_address(
 
 mod build_messages {
     use super::*;
-    use sg_std::NATIVE_DENOM;
+    use sg_utils::NATIVE_DENOM;
 
     pub fn claim_and_whitelist_add(
         deps: &DepsMut,
diff --git a/contracts/sg-eth-airdrop/src/contract.rs b/contracts/sg-eth-airdrop/src/contract.rs
index 847d8686..745796ca 100644
--- a/contracts/sg-eth-airdrop/src/contract.rs
+++ b/contracts/sg-eth-airdrop/src/contract.rs
@@ -101,7 +101,7 @@ mod validation {
     use super::*;
     use cosmwasm_std::Uint128;
     use cw_utils::must_pay;
-    use sg_std::NATIVE_DENOM;
+    use sg_utils::NATIVE_DENOM;
 
     const MIN_AIRDROP: u128 = 10_000_000; // 10 STARS
     const MAX_AIRDROP: u128 = 100_000_000_000_000; // 100 million STARS
diff --git a/contracts/splits/Cargo.toml b/contracts/splits/Cargo.toml
index 6e1ca9e7..80b44d74 100644
--- a/contracts/splits/Cargo.toml
+++ b/contracts/splits/Cargo.toml
@@ -36,6 +36,6 @@ cw-utils        = { workspace = true }
 schemars        = { workspace = true }
 serde           = { workspace = true }
 sg-controllers  = { workspace = true }
-sg-std          = { workspace = true }
+sg-utils        = { workspace = true }
 thiserror       = { workspace = true }
-semver          = {workspace = true }
+semver          = { workspace = true }
diff --git a/contracts/whitelists/tiered-whitelist-flex/Cargo.toml b/contracts/whitelists/tiered-whitelist-flex/Cargo.toml
index ee0099a1..97838e93 100644
--- a/contracts/whitelists/tiered-whitelist-flex/Cargo.toml
+++ b/contracts/whitelists/tiered-whitelist-flex/Cargo.toml
@@ -35,5 +35,5 @@ rust_decimal    = { version = "1.14.3" }
 schemars        = { workspace = true }
 serde           = { workspace = true }
 sg1             = { workspace = true }
-sg-std          = { workspace = true }
 thiserror       = { workspace = true }
+sg-utils        = { workspace = true }
diff --git a/contracts/whitelists/tiered-whitelist-flex/src/contract.rs b/contracts/whitelists/tiered-whitelist-flex/src/contract.rs
index d7b1b1e1..f07aef48 100644
--- a/contracts/whitelists/tiered-whitelist-flex/src/contract.rs
+++ b/contracts/whitelists/tiered-whitelist-flex/src/contract.rs
@@ -26,7 +26,7 @@ use cw_utils::{may_pay, maybe_addr, must_pay};
 use rust_decimal::prelude::ToPrimitive;
 use rust_decimal::Decimal;
 use sg1::checked_fair_burn;
-use sg_std::NATIVE_DENOM;
+use sg_utils::NATIVE_DENOM;
 
 // version info for migration info
 const CONTRACT_NAME: &str = "crates.io:sg-tiered-whitelist-flex";
diff --git a/contracts/whitelists/tiered-whitelist-merkletree/Cargo.toml b/contracts/whitelists/tiered-whitelist-merkletree/Cargo.toml
index 205bd377..6522fec7 100644
--- a/contracts/whitelists/tiered-whitelist-merkletree/Cargo.toml
+++ b/contracts/whitelists/tiered-whitelist-merkletree/Cargo.toml
@@ -35,7 +35,7 @@ rust_decimal    = { version = "1.14.3" }
 schemars        = { workspace = true }
 serde           = { workspace = true }
 sg1             = { workspace = true }
-sg-std          = { workspace = true }
+sg-utils        = { workspace = true }
 thiserror       = { workspace = true }
 url             = { workspace = true }
 hex             = "0.4.3"
diff --git a/contracts/whitelists/tiered-whitelist-merkletree/src/contract.rs b/contracts/whitelists/tiered-whitelist-merkletree/src/contract.rs
index d98beb14..6ed90cc5 100644
--- a/contracts/whitelists/tiered-whitelist-merkletree/src/contract.rs
+++ b/contracts/whitelists/tiered-whitelist-merkletree/src/contract.rs
@@ -21,7 +21,7 @@ use cosmwasm_std::{
 };
 use cw2::set_contract_version;
 use cw_utils::must_pay;
-use sg_std::NATIVE_DENOM;
+use sg_utils::NATIVE_DENOM;
 
 use semver::Version;
 use sg1::checked_fair_burn;
diff --git a/contracts/whitelists/tiered-whitelist/Cargo.toml b/contracts/whitelists/tiered-whitelist/Cargo.toml
index 1400014b..95342442 100644
--- a/contracts/whitelists/tiered-whitelist/Cargo.toml
+++ b/contracts/whitelists/tiered-whitelist/Cargo.toml
@@ -35,5 +35,5 @@ rust_decimal    = { version = "1.14.3" }
 schemars        = { workspace = true }
 serde           = { workspace = true }
 sg1             = { workspace = true }
-sg-std          = { workspace = true }
+sg-utils        = { workspace = true }
 thiserror       = { workspace = true }
diff --git a/contracts/whitelists/tiered-whitelist/src/contract.rs b/contracts/whitelists/tiered-whitelist/src/contract.rs
index e30e4aed..e2614faa 100644
--- a/contracts/whitelists/tiered-whitelist/src/contract.rs
+++ b/contracts/whitelists/tiered-whitelist/src/contract.rs
@@ -26,7 +26,7 @@ use cw_utils::{may_pay, maybe_addr, must_pay};
 use rust_decimal::prelude::ToPrimitive;
 use rust_decimal::Decimal;
 use sg1::checked_fair_burn;
-use sg_std::NATIVE_DENOM;
+use sg_utils::NATIVE_DENOM;
 
 // version info for migration info
 const CONTRACT_NAME: &str = "crates.io:sg-tiered-whitelist";
diff --git a/contracts/whitelists/whitelist-flex/Cargo.toml b/contracts/whitelists/whitelist-flex/Cargo.toml
index 0aefaf1f..4bd09735 100644
--- a/contracts/whitelists/whitelist-flex/Cargo.toml
+++ b/contracts/whitelists/whitelist-flex/Cargo.toml
@@ -35,5 +35,5 @@ rust_decimal    = { version = "1.14.3" }
 schemars        = { workspace = true }
 serde           = { workspace = true }
 sg1             = { workspace = true }
-sg-std          = { workspace = true }
+sg-utils        = { workspace = true }
 thiserror       = { workspace = true }
diff --git a/contracts/whitelists/whitelist-flex/src/contract.rs b/contracts/whitelists/whitelist-flex/src/contract.rs
index a4075aef..ad141d1a 100644
--- a/contracts/whitelists/whitelist-flex/src/contract.rs
+++ b/contracts/whitelists/whitelist-flex/src/contract.rs
@@ -21,7 +21,7 @@ use cw_utils::{may_pay, maybe_addr, must_pay};
 use rust_decimal::prelude::ToPrimitive;
 use rust_decimal::Decimal;
 use sg1::checked_fair_burn;
-use sg_std::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
+use sg_utils::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
 
 // version info for migration info
 const CONTRACT_NAME: &str = "crates.io:sg-whitelist-flex";
diff --git a/contracts/whitelists/whitelist-immutable/Cargo.toml b/contracts/whitelists/whitelist-immutable/Cargo.toml
index d4167e17..c567d120 100644
--- a/contracts/whitelists/whitelist-immutable/Cargo.toml
+++ b/contracts/whitelists/whitelist-immutable/Cargo.toml
@@ -36,4 +36,4 @@ schemars        = { workspace = true }
 serde           = { workspace = true }
 thiserror       = { workspace = true }
 sg-whitelist    = { workspace = true }
-sg-std          = { workspace = true }
+sg-utils        = { workspace = true }
diff --git a/contracts/whitelists/whitelist-merkletree/Cargo.toml b/contracts/whitelists/whitelist-merkletree/Cargo.toml
index e179cc47..c957e437 100644
--- a/contracts/whitelists/whitelist-merkletree/Cargo.toml
+++ b/contracts/whitelists/whitelist-merkletree/Cargo.toml
@@ -35,11 +35,10 @@ rust_decimal    = { version = "1.14.3" }
 schemars        = { workspace = true }
 serde           = { workspace = true }
 sg1             = { workspace = true }
-sg-std          = { workspace = true }
+sg-utils        = { workspace = true }
 thiserror       = { workspace = true }
 url             = { workspace = true }
-hex = "0.4.3"
-serde_json = "1.0.105"
-rs_merkle = { version = "1.4.1", default-features = false }
-semver            = { workspace = true }
-
+hex             = "0.4.3"
+serde_json      = "1.0.105"
+rs_merkle       = { version = "1.4.1", default-features = false }
+semver          = { workspace = true }
diff --git a/contracts/whitelists/whitelist-merkletree/src/contract.rs b/contracts/whitelists/whitelist-merkletree/src/contract.rs
index eeff407c..bc3ca5d0 100644
--- a/contracts/whitelists/whitelist-merkletree/src/contract.rs
+++ b/contracts/whitelists/whitelist-merkletree/src/contract.rs
@@ -18,7 +18,7 @@ use cosmwasm_std::{
 };
 use cw2::set_contract_version;
 use cw_utils::must_pay;
-use sg_std::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
+use sg_utils::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
 
 use rs_merkle::{algorithms::Sha256, Hasher};
 use semver::Version;
diff --git a/contracts/whitelists/whitelist/Cargo.toml b/contracts/whitelists/whitelist/Cargo.toml
index 33f22e11..0efc3790 100644
--- a/contracts/whitelists/whitelist/Cargo.toml
+++ b/contracts/whitelists/whitelist/Cargo.toml
@@ -35,5 +35,5 @@ rust_decimal    = { version = "1.14.3" }
 schemars        = { workspace = true }
 serde           = { workspace = true }
 sg1             = { workspace = true }
-sg-std          = { workspace = true }
+sg-utils        = { workspace = true }
 thiserror       = { workspace = true }
diff --git a/contracts/whitelists/whitelist/src/contract.rs b/contracts/whitelists/whitelist/src/contract.rs
index c54778ca..c6d416e9 100644
--- a/contracts/whitelists/whitelist/src/contract.rs
+++ b/contracts/whitelists/whitelist/src/contract.rs
@@ -21,7 +21,7 @@ use cw_utils::{may_pay, maybe_addr, must_pay};
 use rust_decimal::prelude::ToPrimitive;
 use rust_decimal::Decimal;
 use sg1::checked_fair_burn;
-use sg_std::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
+use sg_utils::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
 
 // version info for migration info
 const CONTRACT_NAME: &str = "crates.io:sg-whitelist";
diff --git a/packages/controllers/Cargo.toml b/packages/controllers/Cargo.toml
index cb6eb4ae..025200ed 100644
--- a/packages/controllers/Cargo.toml
+++ b/packages/controllers/Cargo.toml
@@ -15,5 +15,5 @@ cw-storage-plus = { workspace = true }
 cw-utils        = { workspace = true }
 schemars        = { workspace = true }
 serde           = { workspace = true }
-sg-std          = { workspace = true }
+sg-utils        = { workspace = true }
 thiserror       = { workspace = true }
diff --git a/packages/controllers/src/hooks.rs b/packages/controllers/src/hooks.rs
index 12c72293..7ae8dc5f 100644
--- a/packages/controllers/src/hooks.rs
+++ b/packages/controllers/src/hooks.rs
@@ -1,8 +1,7 @@
 use cosmwasm_schema::cw_serde;
-use sg_std::SubMsg;
 use thiserror::Error;
 
-use cosmwasm_std::{Addr, CustomQuery, Deps, StdError, StdResult, Storage};
+use cosmwasm_std::{Addr, CustomQuery, Deps, StdError, StdResult, Storage, SubMsg};
 use cw_storage_plus::Item;
 
 #[cw_serde]
diff --git a/packages/mint-hooks/Cargo.toml b/packages/mint-hooks/Cargo.toml
index fbd1fb1e..89d8d772 100644
--- a/packages/mint-hooks/Cargo.toml
+++ b/packages/mint-hooks/Cargo.toml
@@ -15,6 +15,6 @@ cw-storage-plus      = { workspace = true }
 schemars             = { workspace = true }
 serde                = { workspace = true }
 sg-controllers       = { workspace = true }
-sg-std               = { workspace = true }
+sg-utils             = { workspace = true }
 thiserror            = { workspace = true }
 sg-mint-hooks-derive = { path = "./derive", version = "0.1.0" }
diff --git a/packages/mint-hooks/src/lib.rs b/packages/mint-hooks/src/lib.rs
index 17ebeda9..b385bbb5 100644
--- a/packages/mint-hooks/src/lib.rs
+++ b/packages/mint-hooks/src/lib.rs
@@ -37,8 +37,9 @@ pub fn handle_reply(reply_id: u64) -> Result<(), MintHookError> {
 
 pub mod pre {
     use cosmwasm_schema::cw_serde;
-    use cosmwasm_std::{to_json_binary, Addr, Binary, Deps, DepsMut, StdResult, WasmMsg};
-    use sg_std::{Response, SubMsg};
+    use cosmwasm_std::{
+        to_json_binary, Addr, Binary, Deps, DepsMut, Response, StdResult, SubMsg, WasmMsg,
+    };
 
     use crate::{MintHookError, PREMINT_HOOKS, PREMINT_HOOK_REPLY_ID};
 
@@ -110,8 +111,9 @@ pub mod pre {
 
 pub mod post {
     use cosmwasm_schema::cw_serde;
-    use cosmwasm_std::{to_json_binary, Addr, Binary, Deps, DepsMut, StdResult, WasmMsg};
-    use sg_std::{Response, SubMsg};
+    use cosmwasm_std::{
+        to_json_binary, Addr, Binary, Deps, DepsMut, Response, StdResult, SubMsg, WasmMsg,
+    };
 
     use crate::{MintHookError, POSTMINT_HOOKS, POSTMINT_HOOK_REPLY_ID};
 
diff --git a/packages/sg-utils/Cargo.toml b/packages/sg-utils/Cargo.toml
new file mode 100644
index 00000000..7e35d4fc
--- /dev/null
+++ b/packages/sg-utils/Cargo.toml
@@ -0,0 +1,9 @@
+[package]
+name        = "sg-utils"
+authors     = ["Jorge Hernandez <jorge@publicawesome.com>"]
+description = "Utils for Stargaze Launchpad"
+version     = { workspace = true }
+edition     = { workspace = true }
+homepage    = { workspace = true }
+repository  = { workspace = true }
+license     = { workspace = true }
diff --git a/packages/sg-utils/src/lib.rs b/packages/sg-utils/src/lib.rs
new file mode 100644
index 00000000..f6fb2277
--- /dev/null
+++ b/packages/sg-utils/src/lib.rs
@@ -0,0 +1,3 @@
+pub const NATIVE_DENOM: &str = "ustars";
+// 3/11/2022 16:00:00 ET
+pub const GENESIS_MINT_START_TIME: u64 = 1647032400000000000;
diff --git a/packages/sg1/Cargo.toml b/packages/sg1/Cargo.toml
index aa071f00..d759be22 100644
--- a/packages/sg1/Cargo.toml
+++ b/packages/sg1/Cargo.toml
@@ -12,6 +12,6 @@ license     = { workspace = true }
 cosmwasm-std = { workspace = true, features = ["stargate"] }
 cw-utils     = { workspace = true }
 serde        = { workspace = true }
-sg-std       = { workspace = true }
+sg-utils     = { workspace = true }
 thiserror    = { workspace = true }
 anybuf       = { workspace = true }
diff --git a/packages/sg1/src/lib.rs b/packages/sg1/src/lib.rs
index 24149368..7df6368a 100644
--- a/packages/sg1/src/lib.rs
+++ b/packages/sg1/src/lib.rs
@@ -4,7 +4,7 @@ use cosmwasm_std::{
     SubMsg, Uint128,
 };
 use cw_utils::{may_pay, must_pay, PaymentError};
-use sg_std::NATIVE_DENOM;
+use sg_utils::NATIVE_DENOM;
 use thiserror::Error;
 
 // governance parameters
@@ -237,7 +237,7 @@ pub enum FeeError {
 #[cfg(test)]
 mod tests {
     use cosmwasm_std::{coin, coins, Addr, BankMsg, Response};
-    use sg_std::NATIVE_DENOM;
+    use sg_utils::NATIVE_DENOM;
 
     use crate::{create_fund_fairburn_pool_msg, fair_burn, SubMsg};
 


Test patch:
diff --git a/contracts/whitelists/whitelist-merkletree/src/tests/unit_tests.rs b/contracts/whitelists/whitelist-merkletree/src/tests/unit_tests.rs
index 83c8105f..bfe163b1 100644
--- a/contracts/whitelists/whitelist-merkletree/src/tests/unit_tests.rs
+++ b/contracts/whitelists/whitelist-merkletree/src/tests/unit_tests.rs
@@ -12,7 +12,7 @@ mod tests {
         testing::{mock_dependencies, mock_env, mock_info},
         BlockInfo, DepsMut, Env, Timestamp,
     };
-    use sg_std::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
+    use sg_utils::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
 
     const ADMIN: &str = "admin";
     const UNIT_AMOUNT: u128 = 100_000_000;
diff --git a/test-suite/Cargo.toml b/test-suite/Cargo.toml
index 3eb0ffb2..90db1faf 100644
--- a/test-suite/Cargo.toml
+++ b/test-suite/Cargo.toml
@@ -34,11 +34,10 @@ optimize = """docker run --rm -v "$(pwd)":/code \
 
 [dependencies]
 cosmwasm-schema      = { workspace = true }
-sg-std               = { workspace = true }
+sg-utils             = { workspace = true }
 cosmwasm-std         = { workspace = true }
 cw4                  = { workspace = true }
 cw-multi-test        = { workspace = true }
-sg-multi-test        = { workspace = true }
 sg721-base           = { workspace = true }
 sg721-updatable      = { workspace = true }
 cw4-group            = { workspace = true }
diff --git a/test-suite/src/base_factory/tests/sudo_tests.rs b/test-suite/src/base_factory/tests/sudo_tests.rs
index 13b9f603..b14ba410 100644
--- a/test-suite/src/base_factory/tests/sudo_tests.rs
+++ b/test-suite/src/base_factory/tests/sudo_tests.rs
@@ -1,6 +1,6 @@
 use base_factory::msg::ParamsResponse;
 use cosmwasm_std::coin;
-use sg_std::NATIVE_DENOM;
+use sg_utils::NATIVE_DENOM;
 
 use crate::common_setup::setup_minter::base_minter::mock_params::MIN_MINT_PRICE;
 use crate::common_setup::setup_minter::base_minter::setup::sudo_update_params;
diff --git a/test-suite/src/base_minter/tests/integration_tests.rs b/test-suite/src/base_minter/tests/integration_tests.rs
index 675c9e87..167e545e 100644
--- a/test-suite/src/base_minter/tests/integration_tests.rs
+++ b/test-suite/src/base_minter/tests/integration_tests.rs
@@ -16,7 +16,7 @@ use sg2::query::{AllowedCollectionCodeIdsResponse, Sg2QueryMsg};
 use sg2::tests::mock_collection_params_1;
 use sg4::QueryMsg;
 use sg721_base::msg::{CollectionInfoResponse, QueryMsg as Sg721QueryMsg};
-use sg_std::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
+use sg_utils::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
 
 #[test]
 fn init() {
diff --git a/test-suite/src/common_setup/setup_accounts_and_block.rs b/test-suite/src/common_setup/setup_accounts_and_block.rs
index ffb9bdbe..be563c66 100644
--- a/test-suite/src/common_setup/setup_accounts_and_block.rs
+++ b/test-suite/src/common_setup/setup_accounts_and_block.rs
@@ -2,7 +2,7 @@ use cosmwasm_std::{coins, Addr, Coin, Timestamp, Uint128};
 use cw4::Member;
 use cw_multi_test::{BankSudo, Executor, SudoMsg};
 
-use sg_std::NATIVE_DENOM;
+use sg_utils::NATIVE_DENOM;
 
 use crate::common_setup::contract_boxes::{contract_group, App};
 use crate::common_setup::setup_minter::common::constants::DEV_ADDRESS;
diff --git a/test-suite/src/common_setup/setup_collection_whitelist.rs b/test-suite/src/common_setup/setup_collection_whitelist.rs
index e7cf7880..e39760d4 100644
--- a/test-suite/src/common_setup/setup_collection_whitelist.rs
+++ b/test-suite/src/common_setup/setup_collection_whitelist.rs
@@ -1,6 +1,6 @@
 use cosmwasm_std::{coin, Addr, Timestamp};
 
-use sg_std::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
+use sg_utils::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
 use sg_whitelist::msg::InstantiateMsg as WhitelistInstantiateMsg;
 
 use crate::common_setup::{
diff --git a/test-suite/src/common_setup/setup_minter/base_minter/mock_params.rs b/test-suite/src/common_setup/setup_minter/base_minter/mock_params.rs
index 443b7a9a..fc51c2ea 100644
--- a/test-suite/src/common_setup/setup_minter/base_minter/mock_params.rs
+++ b/test-suite/src/common_setup/setup_minter/base_minter/mock_params.rs
@@ -1,7 +1,7 @@
 use base_factory::{msg::BaseMinterCreateMsg, state::BaseMinterParams};
 use cosmwasm_std::coin;
 use sg2::msg::CollectionParams;
-use sg_std::NATIVE_DENOM;
+use sg_utils::NATIVE_DENOM;
 
 const CREATION_FEE: u128 = 1_000_000_000;
 pub const MIN_MINT_PRICE: u128 = 50_000_000;
diff --git a/test-suite/src/common_setup/setup_minter/base_minter/setup.rs b/test-suite/src/common_setup/setup_minter/base_minter/setup.rs
index 1c207a0d..d375fcec 100644
--- a/test-suite/src/common_setup/setup_minter/base_minter/setup.rs
+++ b/test-suite/src/common_setup/setup_minter/base_minter/setup.rs
@@ -16,7 +16,7 @@ use cw_multi_test::{AppResponse, Executor};
 
 use sg2::msg::{CollectionParams, Sg2ExecuteMsg};
 
-use sg_std::NATIVE_DENOM;
+use sg_utils::NATIVE_DENOM;
 
 use crate::common_setup::msg::{CodeIds, MinterInstantiateParams};
 use crate::common_setup::setup_minter::base_minter::mock_params::{
diff --git a/test-suite/src/common_setup/setup_minter/open_edition_minter/minter_params.rs b/test-suite/src/common_setup/setup_minter/open_edition_minter/minter_params.rs
index 62b8ef68..0c688eab 100644
--- a/test-suite/src/common_setup/setup_minter/open_edition_minter/minter_params.rs
+++ b/test-suite/src/common_setup/setup_minter/open_edition_minter/minter_params.rs
@@ -4,7 +4,7 @@ use open_edition_factory::{
     state::{OpenEditionMinterParams, ParamsExtension},
     types::{NftData, NftMetadataType},
 };
-use sg_std::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
+use sg_utils::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
 
 use super::mock_params::mock_init_minter_extension;
 use crate::common_setup::{
diff --git a/test-suite/src/common_setup/setup_minter/open_edition_minter/mock_params.rs b/test-suite/src/common_setup/setup_minter/open_edition_minter/mock_params.rs
index 8814cb0a..ba09f429 100644
--- a/test-suite/src/common_setup/setup_minter/open_edition_minter/mock_params.rs
+++ b/test-suite/src/common_setup/setup_minter/open_edition_minter/mock_params.rs
@@ -5,7 +5,7 @@ use open_edition_factory::{
     state::{OpenEditionMinterParams, ParamsExtension},
 };
 use sg2::msg::CollectionParams;
-use sg_std::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
+use sg_utils::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
 
 use crate::common_setup::msg::OpenEditionMinterCustomParams;
 use crate::common_setup::setup_minter::common::constants::{
diff --git a/test-suite/src/common_setup/setup_minter/open_edition_minter/setup.rs b/test-suite/src/common_setup/setup_minter/open_edition_minter/setup.rs
index 05d69281..0e1773de 100644
--- a/test-suite/src/common_setup/setup_minter/open_edition_minter/setup.rs
+++ b/test-suite/src/common_setup/setup_minter/open_edition_minter/setup.rs
@@ -15,7 +15,7 @@ use open_edition_factory::msg::{
 use open_edition_factory::types::NftData;
 use sg2::msg::{CollectionParams, Sg2ExecuteMsg};
 
-use sg_std::NATIVE_DENOM;
+use sg_utils::NATIVE_DENOM;
 
 use crate::common_setup::msg::CodeIds;
 use crate::common_setup::setup_minter::open_edition_minter::mock_params::{
diff --git a/test-suite/src/common_setup/setup_minter/vending_minter/mock_params.rs b/test-suite/src/common_setup/setup_minter/vending_minter/mock_params.rs
index 3339e024..8e93c9f7 100644
--- a/test-suite/src/common_setup/setup_minter/vending_minter/mock_params.rs
+++ b/test-suite/src/common_setup/setup_minter/vending_minter/mock_params.rs
@@ -1,6 +1,6 @@
 use cosmwasm_std::{coin, Timestamp};
 use sg2::msg::CollectionParams;
-use sg_std::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
+use sg_utils::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
 use vending_factory::{
     msg::{VendingMinterCreateMsg, VendingMinterInitMsgExtension},
     state::{ParamsExtension, VendingMinterParams},
diff --git a/test-suite/src/common_setup/setup_minter/vending_minter/setup.rs b/test-suite/src/common_setup/setup_minter/vending_minter/setup.rs
index 2eac7653..b2e1b94f 100644
--- a/test-suite/src/common_setup/setup_minter/vending_minter/setup.rs
+++ b/test-suite/src/common_setup/setup_minter/vending_minter/setup.rs
@@ -10,7 +10,7 @@ use cosmwasm_std::{coin, coins, to_json_binary, Addr};
 use cw_multi_test::{AppResponse, Executor};
 use sg2::msg::CreateMinterMsg;
 use sg2::msg::{CollectionParams, Sg2ExecuteMsg};
-use sg_std::NATIVE_DENOM;
+use sg_utils::NATIVE_DENOM;
 use vending_factory::msg::{VendingMinterInitMsgExtension, VendingUpdateParamsExtension};
 
 use crate::common_setup::msg::{CodeIds, MinterInstantiateParams};
diff --git a/test-suite/src/common_setup/setup_whitelist_merkletree.rs b/test-suite/src/common_setup/setup_whitelist_merkletree.rs
index 380f96be..012d3619 100644
--- a/test-suite/src/common_setup/setup_whitelist_merkletree.rs
+++ b/test-suite/src/common_setup/setup_whitelist_merkletree.rs
@@ -1,6 +1,6 @@
 use cosmwasm_std::{coin, Addr, Timestamp};
 
-use sg_std::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
+use sg_utils::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
 use whitelist_mtree::msg::InstantiateMsg as WhitelistInstantiateMsg;
 
 use crate::common_setup::contract_boxes::{contract_whitelist_merkletree, App};
diff --git a/test-suite/src/common_setup/templates.rs b/test-suite/src/common_setup/templates.rs
index 28517c77..3352bea4 100644
--- a/test-suite/src/common_setup/templates.rs
+++ b/test-suite/src/common_setup/templates.rs
@@ -25,7 +25,7 @@ use open_edition_factory::state::{OpenEditionMinterParams, ParamsExtension};
 use open_edition_factory::types::NftData;
 use sg2::tests::{mock_collection_params_1, mock_collection_two};
 
-use sg_std::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
+use sg_utils::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
 
 pub fn vending_minter_template(num_tokens: u32) -> MinterTemplateResponse<Accounts> {
     let mut app = custom_mock_app();
diff --git a/test-suite/src/open_edition_factory/tests/sudo_tests.rs b/test-suite/src/open_edition_factory/tests/sudo_tests.rs
index 6b1af159..422ea50c 100644
--- a/test-suite/src/open_edition_factory/tests/sudo_tests.rs
+++ b/test-suite/src/open_edition_factory/tests/sudo_tests.rs
@@ -9,7 +9,7 @@ use cosmwasm_std::{coin, Coin, Timestamp, Uint128};
 use open_edition_factory::msg::OpenEditionUpdateParamsExtension;
 use open_edition_factory::state::ParamsExtension;
 use sg2::query::Sg2QueryMsg::Params;
-use sg_std::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
+use sg_utils::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
 
 #[test]
 fn happy_path_with_params_update() {
diff --git a/test-suite/src/open_edition_minter/tests/address_limit.rs b/test-suite/src/open_edition_minter/tests/address_limit.rs
index 0dddb389..82492e28 100644
--- a/test-suite/src/open_edition_minter/tests/address_limit.rs
+++ b/test-suite/src/open_edition_minter/tests/address_limit.rs
@@ -1,7 +1,7 @@
 use cosmwasm_std::{coins, Coin, Timestamp, Uint128};
 use cw_multi_test::Executor;
 use open_edition_factory::state::ParamsExtension;
-use sg_std::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
+use sg_utils::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
 
 use open_edition_minter::msg::ConfigResponse;
 use open_edition_minter::msg::{ExecuteMsg, QueryMsg};
diff --git a/test-suite/src/open_edition_minter/tests/allowed_code_ids.rs b/test-suite/src/open_edition_minter/tests/allowed_code_ids.rs
index b8646587..46d67f85 100644
--- a/test-suite/src/open_edition_minter/tests/allowed_code_ids.rs
+++ b/test-suite/src/open_edition_minter/tests/allowed_code_ids.rs
@@ -1,6 +1,6 @@
 use cosmwasm_std::{Coin, Timestamp, Uint128};
 use open_edition_factory::state::ParamsExtension;
-use sg_std::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
+use sg_utils::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
 
 use crate::common_setup::{
     contract_boxes::custom_mock_app,
diff --git a/test-suite/src/open_edition_minter/tests/complete_mint_all_outcomes_validation.rs b/test-suite/src/open_edition_minter/tests/complete_mint_all_outcomes_validation.rs
index e000958a..9cf6df81 100644
--- a/test-suite/src/open_edition_minter/tests/complete_mint_all_outcomes_validation.rs
+++ b/test-suite/src/open_edition_minter/tests/complete_mint_all_outcomes_validation.rs
@@ -2,7 +2,7 @@ use cosmwasm_std::{coins, Coin, Timestamp, Uint128};
 use cw721::{Cw721QueryMsg, NumTokensResponse, OwnerOfResponse};
 use cw_multi_test::{BankSudo, Executor, SudoMsg};
 use open_edition_factory::state::ParamsExtension;
-use sg_std::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
+use sg_utils::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
 
 use open_edition_minter::msg::{
     ConfigResponse, EndTimeResponse, ExecuteMsg, MintCountResponse, MintPriceResponse,
diff --git a/test-suite/src/open_edition_minter/tests/factory_create_minter.rs b/test-suite/src/open_edition_minter/tests/factory_create_minter.rs
index d2163486..ceb244b5 100644
--- a/test-suite/src/open_edition_minter/tests/factory_create_minter.rs
+++ b/test-suite/src/open_edition_minter/tests/factory_create_minter.rs
@@ -1,6 +1,6 @@
 use cosmwasm_std::{Coin, Timestamp, Uint128};
 use open_edition_factory::state::ParamsExtension;
-use sg_std::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
+use sg_utils::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
 
 use crate::common_setup::setup_minter::common::constants::{
     DEV_ADDRESS, MAX_TOKEN_LIMIT, MIN_MINT_PRICE_OPEN_EDITION,
diff --git a/test-suite/src/open_edition_minter/tests/frozen_factory.rs b/test-suite/src/open_edition_minter/tests/frozen_factory.rs
index f6957af6..80484e7d 100644
--- a/test-suite/src/open_edition_minter/tests/frozen_factory.rs
+++ b/test-suite/src/open_edition_minter/tests/frozen_factory.rs
@@ -1,7 +1,7 @@
 use cosmwasm_std::{coins, Coin, Timestamp, Uint128};
 use cw_multi_test::{BankSudo, Executor, SudoMsg};
 use open_edition_factory::state::ParamsExtension;
-use sg_std::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
+use sg_utils::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
 
 use open_edition_factory::msg::{OpenEditionUpdateParamsExtension, OpenEditionUpdateParamsMsg};
 use open_edition_factory::types::{NftData, NftMetadataType};
diff --git a/test-suite/src/open_edition_minter/tests/ibc_asset_mint.rs b/test-suite/src/open_edition_minter/tests/ibc_asset_mint.rs
index 0df82b98..80a4eb1c 100644
--- a/test-suite/src/open_edition_minter/tests/ibc_asset_mint.rs
+++ b/test-suite/src/open_edition_minter/tests/ibc_asset_mint.rs
@@ -2,7 +2,7 @@ use cosmwasm_std::{coin, Addr, Coin, Decimal, Timestamp, Uint128};
 use cw_multi_test::{BankSudo, Executor, SudoMsg};
 use open_edition_factory::state::{OpenEditionMinterParams, ParamsExtension};
 use open_edition_minter::msg::ExecuteMsg;
-use sg_std::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
+use sg_utils::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
 
 use crate::common_setup::setup_minter::common::constants::{
     LAUNCHPAD_DAO_ADDRESS, LIQUIDITY_DAO_ADDRESS,
diff --git a/test-suite/src/open_edition_minter/tests/max_tokens_limit.rs b/test-suite/src/open_edition_minter/tests/max_tokens_limit.rs
index c58c065d..dfb38ec7 100644
--- a/test-suite/src/open_edition_minter/tests/max_tokens_limit.rs
+++ b/test-suite/src/open_edition_minter/tests/max_tokens_limit.rs
@@ -1,7 +1,7 @@
 use cosmwasm_std::{coins, Coin, Timestamp, Uint128};
 use cw_multi_test::Executor;
 use open_edition_factory::state::ParamsExtension;
-use sg_std::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
+use sg_utils::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
 
 use open_edition_minter::msg::ConfigResponse;
 use open_edition_minter::msg::{ExecuteMsg, QueryMsg};
diff --git a/test-suite/src/open_edition_minter/tests/update_mint_price.rs b/test-suite/src/open_edition_minter/tests/update_mint_price.rs
index ae4ed9cf..f41700be 100644
--- a/test-suite/src/open_edition_minter/tests/update_mint_price.rs
+++ b/test-suite/src/open_edition_minter/tests/update_mint_price.rs
@@ -1,7 +1,7 @@
 use cosmwasm_std::{Coin, Timestamp, Uint128};
 use cw_multi_test::Executor;
 use open_edition_factory::state::ParamsExtension;
-use sg_std::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
+use sg_utils::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
 
 use open_edition_minter::msg::{ExecuteMsg, QueryMsg};
 
diff --git a/test-suite/src/open_edition_minter/tests/update_start_and_end_time.rs b/test-suite/src/open_edition_minter/tests/update_start_and_end_time.rs
index 50282a01..d6cabc77 100644
--- a/test-suite/src/open_edition_minter/tests/update_start_and_end_time.rs
+++ b/test-suite/src/open_edition_minter/tests/update_start_and_end_time.rs
@@ -1,7 +1,7 @@
 use cosmwasm_std::{Coin, Timestamp, Uint128};
 use cw_multi_test::Executor;
 use open_edition_factory::state::ParamsExtension;
-use sg_std::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
+use sg_utils::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
 
 use open_edition_minter::msg::{EndTimeResponse, StartTimeResponse};
 use open_edition_minter::msg::{ExecuteMsg, QueryMsg};
diff --git a/test-suite/src/sg721_base/tests/integration_tests.rs b/test-suite/src/sg721_base/tests/integration_tests.rs
index cd0daadf..f891d531 100644
--- a/test-suite/src/sg721_base/tests/integration_tests.rs
+++ b/test-suite/src/sg721_base/tests/integration_tests.rs
@@ -809,7 +809,7 @@ mod tests {
         use sg2::tests::mock_collection_params;
         use sg721_updatable::msg::QueryMsg;
 
-        use sg_std::NATIVE_DENOM;
+        use sg_utils::NATIVE_DENOM;
         const ADMIN: &str = "admin";
         use crate::common_setup::contract_boxes::App;
 
diff --git a/test-suite/src/sg_eth_airdrop/setup/configure_mock_minter.rs b/test-suite/src/sg_eth_airdrop/setup/configure_mock_minter.rs
index c96e0e24..5a29f98d 100644
--- a/test-suite/src/sg_eth_airdrop/setup/configure_mock_minter.rs
+++ b/test-suite/src/sg_eth_airdrop/setup/configure_mock_minter.rs
@@ -12,7 +12,7 @@ use cw_multi_test::Executor;
 use sg2::msg::Sg2ExecuteMsg;
 use sg2::tests::mock_collection_params_1;
 
-use sg_std::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
+use sg_utils::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
 
 use crate::sg_eth_airdrop::setup::mock_whitelist_contract::mock_whitelist;
 
diff --git a/test-suite/src/sg_eth_airdrop/setup/execute_msg.rs b/test-suite/src/sg_eth_airdrop/setup/execute_msg.rs
index 755283af..15f82e00 100644
--- a/test-suite/src/sg_eth_airdrop/setup/execute_msg.rs
+++ b/test-suite/src/sg_eth_airdrop/setup/execute_msg.rs
@@ -11,7 +11,7 @@ use cw_multi_test::error::Error;
 use cw_multi_test::{AppResponse, BankSudo, Executor, SudoMsg};
 use eyre::Result;
 use sg_eth_airdrop::msg::{ExecuteMsg, InstantiateMsg};
-use sg_std::NATIVE_DENOM;
+use sg_utils::NATIVE_DENOM;
 
 pub fn instantiate_contract(params: InstantiateParams) -> Result<cosmwasm_std::Addr, anyhow_error> {
     let addresses = params.addresses;
diff --git a/test-suite/src/sg_eth_airdrop/tests/test_collection_whitelist.rs b/test-suite/src/sg_eth_airdrop/tests/test_collection_whitelist.rs
index 808287f8..87ef0772 100644
--- a/test-suite/src/sg_eth_airdrop/tests/test_collection_whitelist.rs
+++ b/test-suite/src/sg_eth_airdrop/tests/test_collection_whitelist.rs
@@ -13,7 +13,7 @@ use crate::sg_eth_airdrop::setup::setup_signatures::{get_msg_plaintext, get_wall
 use crate::sg_eth_airdrop::setup::test_msgs::InstantiateParams;
 use cosmwasm_std::Addr;
 use sg_eth_airdrop::msg::QueryMsg;
-use sg_std::GENESIS_MINT_START_TIME;
+use sg_utils::GENESIS_MINT_START_TIME;
 extern crate whitelist_immutable;
 use crate::common_setup::templates::vending_minter_template;
 use sg_eth_airdrop::contract::INSTANTIATION_FEE;
diff --git a/test-suite/src/vending_factory/tests/sudo_tests.rs b/test-suite/src/vending_factory/tests/sudo_tests.rs
index 06265503..3b67b441 100644
--- a/test-suite/src/vending_factory/tests/sudo_tests.rs
+++ b/test-suite/src/vending_factory/tests/sudo_tests.rs
@@ -1,6 +1,6 @@
 use base_factory::msg::ParamsResponse;
 use cosmwasm_std::coin;
-use sg_std::NATIVE_DENOM;
+use sg_utils::NATIVE_DENOM;
 use vending_factory::msg::VendingUpdateParamsExtension;
 
 use crate::common_setup::setup_minter::base_minter::mock_params::MIN_MINT_PRICE;
diff --git a/test-suite/src/vending_minter/tests/address_limit.rs b/test-suite/src/vending_minter/tests/address_limit.rs
index 8472edf0..e1b41bd7 100644
--- a/test-suite/src/vending_minter/tests/address_limit.rs
+++ b/test-suite/src/vending_minter/tests/address_limit.rs
@@ -14,7 +14,7 @@ use cosmwasm_std::{coin, coins, Coin, Timestamp, Uint128};
 use cw721::{Cw721QueryMsg, OwnerOfResponse, TokensResponse};
 use cw_multi_test::Executor;
 use sg2::tests::mock_collection_params_1;
-use sg_std::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
+use sg_utils::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
 use vending_minter::{
     msg::{ExecuteMsg, MintableNumTokensResponse, QueryMsg},
     ContractError,
diff --git a/test-suite/src/vending_minter/tests/allowed_code_ids.rs b/test-suite/src/vending_minter/tests/allowed_code_ids.rs
index 3fa0f138..2c2bd8fe 100644
--- a/test-suite/src/vending_minter/tests/allowed_code_ids.rs
+++ b/test-suite/src/vending_minter/tests/allowed_code_ids.rs
@@ -11,7 +11,7 @@ use sg2::{
     query::{AllowedCollectionCodeIdsResponse, Sg2QueryMsg},
     tests::mock_collection_params_1,
 };
-use sg_std::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
+use sg_utils::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
 use vending_factory::msg::{
     SudoMsg, VendingMinterCreateMsg, VendingUpdateParamsExtension, VendingUpdateParamsMsg,
 };
diff --git a/test-suite/src/vending_minter/tests/frozen_factory.rs b/test-suite/src/vending_minter/tests/frozen_factory.rs
index 9b2e6ec5..d34bb2ca 100644
--- a/test-suite/src/vending_minter/tests/frozen_factory.rs
+++ b/test-suite/src/vending_minter/tests/frozen_factory.rs
@@ -9,7 +9,7 @@ use cw_multi_test::{BankSudo, Executor, SudoMsg};
 use sg2::msg::Sg2ExecuteMsg;
 use sg2::query::{ParamsResponse, Sg2QueryMsg};
 use sg2::tests::mock_collection_params;
-use sg_std::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
+use sg_utils::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
 use vending_factory::msg::{
     SudoMsg as VendingFactorySudoMsg, VendingUpdateParamsExtension, VendingUpdateParamsMsg,
 };
diff --git a/test-suite/src/vending_minter/tests/happy_unhappy.rs b/test-suite/src/vending_minter/tests/happy_unhappy.rs
index 1585ce4e..bbdeff70 100644
--- a/test-suite/src/vending_minter/tests/happy_unhappy.rs
+++ b/test-suite/src/vending_minter/tests/happy_unhappy.rs
@@ -11,7 +11,7 @@ use cosmwasm_std::{
 use cw721::{Cw721QueryMsg, OwnerOfResponse};
 use cw_multi_test::Executor;
 use sg2::tests::mock_collection_params_1;
-use sg_std::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
+use sg_utils::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
 use vending_minter::msg::{ExecuteMsg, QueryMsg, StartTimeResponse};
 use vending_minter::{contract::instantiate, msg::MintCountResponse};
 
diff --git a/test-suite/src/vending_minter/tests/ibc_asset_mint.rs b/test-suite/src/vending_minter/tests/ibc_asset_mint.rs
index b8fb8118..ce4ae3fb 100644
--- a/test-suite/src/vending_minter/tests/ibc_asset_mint.rs
+++ b/test-suite/src/vending_minter/tests/ibc_asset_mint.rs
@@ -2,7 +2,7 @@ use crate::common_setup::setup_collection_whitelist::WHITELIST_AMOUNT;
 use cosmwasm_std::{coin, coins, Addr, Decimal, Uint128};
 use cw_multi_test::{BankSudo, Executor, SudoMsg};
 use sg2::{msg::Sg2ExecuteMsg, tests::mock_collection_params};
-use sg_std::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
+use sg_utils::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
 use sg_whitelist::msg::{AddMembersMsg, ExecuteMsg as WhitelistExecuteMsg};
 use vending_factory::ContractError;
 use vending_minter::msg::ExecuteMsg;
diff --git a/test-suite/src/vending_minter/tests/mint_and_burn.rs b/test-suite/src/vending_minter/tests/mint_and_burn.rs
index 68012296..94d10c56 100644
--- a/test-suite/src/vending_minter/tests/mint_and_burn.rs
+++ b/test-suite/src/vending_minter/tests/mint_and_burn.rs
@@ -3,7 +3,7 @@ use crate::common_setup::templates::{vending_minter_template, vending_minter_wit
 use cosmwasm_std::Coin;
 use cosmwasm_std::{coins, Timestamp, Uint128};
 use cw_multi_test::Executor;
-use sg_std::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
+use sg_utils::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
 use vending_minter::msg::{ExecuteMsg, MintCountResponse, QueryMsg, StartTimeResponse};
 use vending_minter::ContractError;
 
diff --git a/test-suite/src/vending_minter/tests/splits.rs b/test-suite/src/vending_minter/tests/splits.rs
index 709a889f..c6402116 100644
--- a/test-suite/src/vending_minter/tests/splits.rs
+++ b/test-suite/src/vending_minter/tests/splits.rs
@@ -13,7 +13,7 @@ use cw_multi_test::{next_block, Executor};
 use sg2::tests::mock_collection_params_1;
 
 use sg_splits::msg::{ExecuteMsg as SplitsExecuteMsg, Group};
-use sg_std::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
+use sg_utils::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
 
 const OWNER: &str = "admin0001";
 const MEMBER1: &str = "member0001";
diff --git a/test-suite/src/vending_minter/tests/trading_time.rs b/test-suite/src/vending_minter/tests/trading_time.rs
index 8d0436c3..30e988e8 100644
--- a/test-suite/src/vending_minter/tests/trading_time.rs
+++ b/test-suite/src/vending_minter/tests/trading_time.rs
@@ -9,7 +9,7 @@ use cosmwasm_std::{coins, Addr, Timestamp};
 use cw_multi_test::Executor;
 use sg2::tests::mock_collection_params_1;
 use sg721_base::msg::{CollectionInfoResponse, QueryMsg as Sg721QueryMsg};
-use sg_std::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
+use sg_utils::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
 use vending_minter::msg::{ExecuteMsg, QueryMsg, StartTimeResponse};
 use vending_minter::ContractError;
 
diff --git a/test-suite/src/vending_minter/tests/trading_time_updatable.rs b/test-suite/src/vending_minter/tests/trading_time_updatable.rs
index ac3680c3..d56f58fd 100644
--- a/test-suite/src/vending_minter/tests/trading_time_updatable.rs
+++ b/test-suite/src/vending_minter/tests/trading_time_updatable.rs
@@ -11,7 +11,7 @@ use cosmwasm_std::{coins, Addr, Timestamp};
 use cw_multi_test::Executor;
 use sg2::tests::mock_collection_params_1;
 use sg721_base::msg::{CollectionInfoResponse, QueryMsg as Sg721QueryMsg};
-use sg_std::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
+use sg_utils::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
 use vending_minter::msg::{ExecuteMsg, QueryMsg, StartTimeResponse};
 use vending_minter::ContractError;
 
diff --git a/test-suite/src/vending_minter/tests/updatable.rs b/test-suite/src/vending_minter/tests/updatable.rs
index af3d9be2..71deb052 100644
--- a/test-suite/src/vending_minter/tests/updatable.rs
+++ b/test-suite/src/vending_minter/tests/updatable.rs
@@ -3,7 +3,7 @@ use cw721::{Cw721QueryMsg, NftInfoResponse, TokensResponse};
 use cw721_base::Extension;
 use cw_multi_test::Executor;
 use sg721_updatable::msg::ExecuteMsg as Sg721UpdatableExecMsg;
-use sg_std::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
+use sg_utils::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
 use vending_minter::msg::ExecuteMsg;
 
 use crate::common_setup::{
diff --git a/test-suite/src/vending_minter/tests/whitelist.rs b/test-suite/src/vending_minter/tests/whitelist.rs
index c3452504..c55aa3c5 100644
--- a/test-suite/src/vending_minter/tests/whitelist.rs
+++ b/test-suite/src/vending_minter/tests/whitelist.rs
@@ -3,7 +3,7 @@ use cw721::{Cw721QueryMsg, TokensResponse};
 use cw721_base::ExecuteMsg as Cw721ExecuteMsg;
 use cw_multi_test::Executor;
 use sg2::tests::mock_collection_params_1;
-use sg_std::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
+use sg_utils::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
 
 use crate::common_setup::msg::MinterCollectionResponse;
 use crate::common_setup::setup_accounts_and_block::coins_for_msg;
diff --git a/test-suite/src/vending_minter/tests/zero_mint_price.rs b/test-suite/src/vending_minter/tests/zero_mint_price.rs
index 82497650..203862da 100644
--- a/test-suite/src/vending_minter/tests/zero_mint_price.rs
+++ b/test-suite/src/vending_minter/tests/zero_mint_price.rs
@@ -14,7 +14,7 @@ use cw721::TokensResponse;
 use cw_multi_test::Executor;
 use sg2::msg::Sg2ExecuteMsg;
 use sg2::tests::{mock_collection_params, mock_collection_params_1};
-use sg_std::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
+use sg_utils::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
 use sg_whitelist::msg::AddMembersMsg;
 use vending_minter::msg::ExecuteMsg;
 
diff --git a/test-suite/src/whitelist/tests/integration_tests.rs b/test-suite/src/whitelist/tests/integration_tests.rs
index c605aacc..bedd1b22 100644
--- a/test-suite/src/whitelist/tests/integration_tests.rs
+++ b/test-suite/src/whitelist/tests/integration_tests.rs
@@ -1,7 +1,7 @@
 use cosmwasm_std::{coin, coins, Addr, Timestamp};
 use cw_multi_test::{BankSudo, Executor, SudoMsg as CWSudoMsg};
 
-use sg_std::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
+use sg_utils::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
 
 use sg_whitelist::{
     msg::{AddMembersMsg, ExecuteMsg, InstantiateMsg, MembersResponse, QueryMsg, RemoveMembersMsg},
diff --git a/test-suite/src/whitelist/tests/unit_tests.rs b/test-suite/src/whitelist/tests/unit_tests.rs
index a716d473..9b4786e2 100644
--- a/test-suite/src/whitelist/tests/unit_tests.rs
+++ b/test-suite/src/whitelist/tests/unit_tests.rs
@@ -1,6 +1,6 @@
 use cosmwasm_std::DepsMut;
 use cosmwasm_std::Timestamp;
-use sg_std::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
+use sg_utils::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
 use sg_whitelist::contract::{
     execute, instantiate, query_config, query_members, MAX_MEMBERS, MAX_PER_ADDRESS_LIMIT,
 };
diff --git a/test-suite/src/whitelist_merkletree/tests/integration_tests.rs b/test-suite/src/whitelist_merkletree/tests/integration_tests.rs
index fb60640a..6f05c16a 100644
--- a/test-suite/src/whitelist_merkletree/tests/integration_tests.rs
+++ b/test-suite/src/whitelist_merkletree/tests/integration_tests.rs
@@ -5,7 +5,7 @@ mod tests {
     use cw_multi_test::{BankSudo, SudoMsg as CWSudoMsg};
     use rs_merkle::MerkleTree;
 
-    use sg_std::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
+    use sg_utils::{GENESIS_MINT_START_TIME, NATIVE_DENOM};
 
     use whitelist_mtree::{
         msg::*,