# Issues minting coin

**URL:** <https://forums.sui.io/t/issues-minting-coin/45225>\
**Category:** Technical Support\
**Created:** [January 28, 2024, 8:09am UTC](https://forums.sui.io/t/issues-minting-coin/45225 "2024-01-28T08:09:13Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![jameskc](https://dub1.discourse-cdn.com/sui/user_avatar/forums.sui.io/jameskc/32/30678_2.png) [@jameskc](https://forums.sui.io/u/jameskc)\
**Post date:** [January 28, 2024, 8:09am UTC](https://forums.sui.io/t/issues-minting-coin/45225/1 "2024-01-28T08:09:13Z")

</div>

Hi all,

I’m trying to test minting a new coin on SUI and after using sui client publish --gas-budget 100000000 I get the following errors:

error[E03001]: address with no value  
┌─ ./sources/test\_token.move:1:8  
│  
1 │ module fungible\_tokens::testtoken {  
│ ^^^^^^^^^^^^^^^ address ‘fungible\_tokens’ is not assigned a value. Try assigning it a value when calling the compiler

error[Sui E01001]: invalid object construction  
┌─ /Users/koots/.move/https\_\_\_github\_com\_MystenLabs\_sui\_git\_framework\_\_testnet/crates/sui-framework/packages/sui-framework/sources/deny\_list.move:138:32  
│  
138 │ let deny\_list\_object = DenyList {  
│ ╭────────────────────────────────^  
139 │ │ id: object::sui\_deny\_list\_object\_id(),  
│ │ – --------------------------------- Non fresh UID from this position  
│ │ │  
│ │ The UID must come directly from sui::object::new. Or for tests, it can come from sui::test\_scenario::new\_object  
140 │ │ lists,  
141 │ │ };  
│ ╰─────────^ Invalid object creation without a newly created UID.

Failed to build Move modules: Compilation error.

My .move file contains:

```auto
module fungible_tokens::testtoken {
    use std::option;
    use sui::coin::{Self};
    use sui::transfer;
    use sui::tx_context::{Self, TxContext};

    // Name matches the module name, but in UPPERCASE
    struct TESTTOKEN has drop {}

    // Module initializer is called once on module publish.
    // A treasury cap is sent to the publisher, who then controls minting and burning.
    fun init(witness: TESTTOKEN, ctx: &mut TxContext) {
        let (treasury, metadata) = coin::create_currency(witness, 9, b"TESTTICKER", b"TESTTOKEN", b"", option::none(), ctx);
        transfer::public_freeze_object(metadata);
        transfer::public_transfer(treasury, tx_context::sender(ctx))
    }

    // Manager can mint new TESTTOKEN tokens
    public entry fun mint(
        treasury: &mut coin::TreasuryCap<TESTTOKEN>, amount: u64, recipient: address, ctx: &mut TxContext
    ) {
        coin::mint_and_transfer(treasury, amount, recipient, ctx)
    }

    // Manager can burn TESTTOKEN tokens
    public entry fun burn(treasury: &mut coin::TreasuryCap<TESTTOKEN>, coin: coin::Coin<TESTTOKEN>) {
        coin::burn(treasury, coin);
    }
}

```

I’ve removed and reinstalled sui cli using the brew tap, so should be on the latest version etc and I have tried on both devnet and mainnet and get the same errors.

Thanks!

---

<div class="post-metadata">

**Author:** ![stefan](https://avatars.discourse-cdn.com/v4/letter/s/bbce88/32.png) [@stefan](https://forums.sui.io/u/stefan)\
**Post date:** [January 30, 2024, 1:08am UTC](https://forums.sui.io/t/issues-minting-coin/45225/3 "2024-01-30T01:08:35Z")

</div>

Hi @ [jameskc](https://forums.sui.io/u/jameskc)

Thanks for reporting this. You might need to install Sui from the devnet or testnet branch, due to some incompatibility between network versions and the CLI. We fixed it and tap should now supply the CLI that fixed that issue (iirc), but here’s another way you could install sui if you have cargo installed.  
`cargo install --locked --git https://github.com/MystenLabs/sui.git --branch testnet sui`
