#27040·sui

Sui Code Bug or Feature Request

Author: 0xNeshiCreated Jun 23, 2026Updated Aug 27, 2026

Steps to Reproduce Issue

  1. Clone the OpenZeppelin/contracts-sui repo at the exact commit 77d99e9a642bbb2631fb91cbede5518ed1597c1d: https://github.com/OpenZeppelin/contracts-sui/tree/77d99e9a642bbb2631fb91cbede5518ed1597c1d
  2. Navigate to the file: contracts/sale/sources/vested_claim.move
  3. Open terminal at the root of the repo
  4. Run sui move build --build-env testnet --path contracts/sale

Expected Result

Build should pass with no lint warnings.

Actual Result

The build outputs a lint warning:

bash
INCLUDING DEPENDENCY MoveStdlib
INCLUDING DEPENDENCY Sui
INCLUDING DEPENDENCY openzeppelin_finance
INCLUDING DEPENDENCY openzeppelin_math
BUILDING openzeppelin_sale
warning[Lint W99000]: possible owned object share
    ┌─ ./sources/vested_claim.move:56:5
    │
 56 │     transfer::public_share_object(wallet);
    │     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    │     │                             │
    │     │                             Creating a fresh object and sharing it within the same function will ensure this does not abort.
    │     Potential abort from a (potentially) owned object created by a different transaction.
    │
    ┌─ ../finance/sources/vesting_wallet.move:127:90
    │
127 │ public struct VestingWallet<phantom S: drop, P: copy + drop + store, phantom C> has key, store {
    │                                                                                          ----- Potentially an owned object because 'store' grants access to public transfers
    ·
263 │ ): VestingWallet<S, P, C> {
    │    ---------------------- A potentially owned object coming from here
    │
    = This warning can be suppressed with '#[allow(lint(share_owned))]' applied to the 'module' or module member ('const', 'fun', or 'struct')

Please report feedback on the linter warnings at https://forums.sui.io

Total number of linter warnings suppressed: 1 (unique lints: 1)

This is a potentially redundant lint warning, as the function in which the warning appears actually does both create a fresh object and does immediately share it.

System Information

  • OS: Ubuntu 22.04.5 LTS
  • Compiler: sui 1.73.2-1f6e1e6dd72d