Partie 1

Dans le dernier article, on a vu les bénéfices du système d’offre avec EIP712 sur la place de marché NFT CryptoPuzzle. Nous allons parler des conditions d’utilisations, car il y a quelques subtilités.

Expiration

Une offre signé est toujours valable. Ce qui pose problème dans plusieurs cas :

  • Le prix des tokens augmente avec le temps. Ce qui va permettre a des acheteurs assidus de liquider les “anciennes” pour un bénéfice facile.

Chaque offre ou enchère est donc limité dans le temps (quelques jours). Le paramètre “expiry” dans la signature est exprimé en seconde, et annonce la fin de l’offre. Ce temps en seconde est relatif à la date du 1er janvier 1970 (aussi connu pour être l’horodatage Unix de notre époque actuelle).

La ligne “expiry” est exprimé en seconde.

Pouvoir d’enchère

Lorsque vous promettez X Ether pour un token, il n’y a pas de moyen de savoir que vous possédez effectivement ce nombre d’Ether. Car votre clef privé peut signer n’importe qu’elle message.

Quand une enchère est faite sur un token, il faut que le propriétaire puisse consommer votre enchère. Donc pour cela, le smart contract va diminuer la “balance” interne de l’acquéreur, et la crédité sur la balance du propriétaire.

Pour faire une enchère, vous aurez donc besoin d’avoir une balance positive. Pour cela plusieurs moyens :

  • Vendre un token.

Vous pouvez déposer autant d’Ether que vous voulez (ou que vous avez…) sur le smart contract. Example :

Pour 1 ether vous obtiendrez 1 Eth de “pouvoir d’enchère” et pourrez faire 0,99ETH d’enchère au maxium ( 0.2 + 0.2 + 0.59 < 1 ).

Quand vos enchères se périment au bout de quelques jours pouvez en refaire automatiquement, tant que vos nous dépassez pas votre pouvoir d’enchère. Enfin, vous pouvez retirer votre balance quand vous le souhaitez.

En résumé sur l’image ci-dessus :

  • Historique : dépôt 0,1ETH / retrait 0,1ETH /dépôt 0,3ETH.

Annulation

Quand une offre ou une enchère est consommé, leur signature est stocké dans le smart contract pour éviter les “replay attacks” c’est à dire d’utiliser l’enchère une deuxième fois.

Si vous voulez annuler une signature de toute urgence, vous pouvez le faire à n’importe quelle moment avec les boutons suivants :

Ces deux bouttons ne sont disponibles uniquement quand votre offre ou enchère est active.

Mais attention : si une offre ou une enchère est gratuite et instantanée, les annuler demande une transaction blockchain et donc des frais de transactions. À faire uniquement en cas d’urgence !

Statut des offres

Les offres et les enchères ont des “statuts” qui permettent de voir si elles sont valides. Voici les différents statuts possibles pour les offres :

  • Valide : le sablier est affiché et montre le temps qu’il reste pour remplir l’offre.

Statut des enchères

Même chose que les offres, voici les statuts possibles pour les enchères :

  • Valide : le sablier est affiché et montre le temps qu’il reste au propriétaire pour accepter l’enchère.

Merci pour votre temps et rendez-vous sur CryptoPuzzle !

Discord & Twitter.

CryptoPuzzle dev team.