Move.

Publicación

Comparte tu conocimiento.

Tawhid.
Mar 26, 2025
P&R expertos

How to ensure a smart contract doesn't resend a capability?

I'm working on a smart contract and I want to ensure that it doesn't send a capability if the user already owns one. This is to avoid unwanted transactions. I am thinking about using an SDK to check all objects a user holds and perhaps using a sui::table::Table to keep a list of minted capabilities. Is this the right approach, or is there a better way to confirm if an address holds a certain object on-chain?

  • Move CLI
  • Move
0
3
Cuota
Comentarios
.

Respuestas

3
dudley_smith.
Mar 27 2025, 07:47

Una sugerencia para su caso práctico es mantener una lista de las direcciones que han tenido una capacidad acuñada en un objeto compartido. Puede administrar las restricciones de tamaño de los objetos mediante unsui::table::Table, que le permite mantener una lista o un mapa de manera eficiente.

2
Mejor Respuesta
Comentarios
.
cod.
cod95
Mar 27 2025, 02:05

Puedes intentar usar el SDK para comprobar si hay todos los objetos que un usuario guarda fuera de la cadena. Esto podría ayudarte a validar la propiedad sin afectar al flujo de contratos dentro de la cadena.

2
Comentarios
.
Grizzly.
Mar 27 2025, 05:53

Es posible que no necesites una verificación en cadena para este caso práctico. Si quieres que los usuarios demuestren que son propietarios de un objeto, pídeles que introduzcan un comprobante de propiedad.

1
Comentarios
.

Sabes la respuesta?

Inicie sesión y compártalo.

Move is an executable bytecode language used to implement custom transactions and smart contracts.

148Publicaciones231Respuestas
Sui.X.Peera.

Gana tu parte de 1000 Sui

Gana puntos de reputación y obtén recompensas por ayudar a crecer a la comunidad de Sui.

Campaña de RecompensasJulio