Workflow de l'application Stablecoin
Un stablecoin est un jeton fongible qui représente la monnaie numérique avec une application de conformité intégrée.
Le scénario stablecoin applique les politiques de votre client (KYC) et de lutte contre le blanchiment d'argent (AML), les restrictions de transfert et les approbations multipartites. Le système prend en charge les transferts directs et les transferts en attente, qui doivent être approuvés avant le transfert.
- Les rôles d'interprète, de brûleur et de notaire sont requis.
- La stratégie de compte applique les indicateurs KYC/AML et de restriction.
- La stratégie d'approbation définit des seuils et des exigences d'approbateur séquentielles pour les transferts basés sur le blocage.
- Les restrictions de transfert sont facultatives et peuvent être configurées à tout moment.
- La mise en correspondance des stratégies d'approbation permet de déterminer si des approbations sont requises lorsque l'API
holdTokensest utilisée. - Les API d'historique des transactions prennent en charge l'audit et la surveillance.
| Acteur | Rôle | Description |
|---|---|---|
| Administrateur | Administration des jetons | Initialise le système, affecte des rôles, crée des stratégies de compte et d'approbation. |
| Minter | Minter | Demandes d'extraction de jetons. |
| Approbateur Mint | Notaire | Approuve ou rejette les demandes de minutes. |
| Approbateur | Notaire | Approuve ou rejette les demandes de brûlure. |
| Expéditeur | Aucun élément | Lance les transferts directs ou en attente. |
| Approbateur | Aucun élément | Approuve les transactions dans une séquence définie. Les approbateurs sont des titulaires de compte standard qui ont été définis en tant qu'approbateurs dans la politique d'approbation (et non par un rôle affecté). |
| Notaire | Notaire | Termine ou débloque les transferts bloqués après approbation. |
| Destinataire | Aucun élément | Reçoit les jetons transférés. |
| Auditeur | Auditeur de jeton | Interroge l'historique des transactions à des fins de conformité et de reporting. |
- Initialisez un stablecoin à l'aide de l'API
initializeStablecoinToken. - Inscrivez des organisations à l'aide de l'API
registerOrg. - Créez des comptes à l'aide des API
createAccountetassociateTokenToAccount. - Affectez les rôles mineur, brûleur et notaire aux comptes appropriés à l'aide de l'API
addRole. - Créez des stratégies de compte à l'aide de l'API
createStablecoinAccountPolicyCheck. - Créez des stratégies d'approbation à l'aide de l'API
createApprovalPolicyCheck.
- Stables de menthe.
- Le minter utilise l'API
requestMintpour soumettre une demande de monnaies stables. - L'approbateur de menthe utilise l'API
approveMintpour vérifier et approuver la demande de menthe stablecoins. L'approbateur de menthe peut également utiliser l'APIrejectMintpour refuser la demande.
- Le minter utilise l'API
- Transférer des stablecoins sans approbation.
- L'expéditeur utilise l'API
transferTokenspour envoyer des stablecoins à un utilisateur.
- L'expéditeur utilise l'API
- Transférez des stablecoins avec des approbations.
- L'expéditeur utilise l'API
holdTokenspour demander le transfert des jetons. - Si nécessaire, les approbateurs utilisent l'API
approveTransactionpour approuver le transfert, comme indiqué par la stratégie d'approbation. - Le notaire utilise l'API
executeHoldTokenspour approuver la demande de transfert. Le notaire peut également utiliser l'APIreleaseHoldpour rejeter le transfert.
- L'expéditeur utilise l'API
- Vérifiez l'équilibre du jeton.
- Les utilisateurs peuvent utiliser l'API
getAccountBalancepour obtenir la quantité de stablecoins qu'ils détiennent.
- Les utilisateurs peuvent utiliser l'API
- Brûler les jetons.
- Les utilisateurs peuvent utiliser l'API
requestBurnpour soumettre une demande de gravure de leurs stablecoins. - L'approbateur de gravure utilise l'API
approveBurnpour vérifier et approuver la demande. L'approbateur de gravure peut également utiliser l'APIrejectBurnpour refuser la demande.
- Les utilisateurs peuvent utiliser l'API
- Auditez l'historique des transactions.
- Les auditeurs et les utilisateurs peuvent utiliser les API
getAccountTransactionHistoryetgetAccountTransactionHistoryWithFilterspour obtenir l'historique des transactions pour l'audit et le reporting.
- Les auditeurs et les utilisateurs peuvent utiliser les API
Validation de la stratégie du compte
Les stratégies de compte sont obligatoires pour tous les comptes qui transfèrent ou détiennent des pièces stables. Les stratégies de compte sont validées dans les API suivantes : transferTokens, holdTokens, approveTransaction, executeHoldTokens.
Chaque stratégie de compte inclut trois paramètres : KYC, AML et restrictionFlag. Ceux-ci sont validés pour l'expéditeur et le destinataire avant tout transfert de jetons.
-
KYC(Connaître son client) - Le transfert n'est autorisé que lorsque les valeurs KYC sont
truepour les comptes émetteur et récepteur. -
AML(Anti-blanchiment d'argent) - Le transfert n'est autorisé que lorsque les valeurs AML sont
truepour les comptes émetteur et récepteur. -
restrictionFlag - Si l'indicateur de restriction est défini sur
falsepour le compte expéditeur et le compte destinataire, la validation réussit. Si l'indicateur de restriction est défini surtruepour le compte de l'expéditeur ou du destinataire, pour les APIholdTokens,approveTransactionetexecuteHoldTokens, le transfert n'est autorisé que s'il existe une stratégie d'approbation disponible la plus basse et si le montant respecte les limites de la stratégie. Sinon, le transfert est bloqué. Pour la méthodetransferTokens, le transfert n'est autorisé que si le montant se trouve dans les limites inférieure et supérieure des limites de restriction de transfert.
Mise en correspondance des stratégies d'approbation
La mise en correspondance de stratégies d'approbation est déclenchée après un appel à l'API holdTokens. Les stratégies d'approbation définissent les seuils de transaction, le nombre requis d'approbations et les détails des approbateurs, et définissent la séquence pour les approbations à plusieurs niveaux. Une stratégie d'approbation est obligatoire pour une opération de blocage. Sans stratégie d'approbation, les utilisateurs ne peuvent pas détenir ou transférer de jetons lorsque des restrictions s'appliquent.
La mise en correspondance des stratégies d'approbation détermine si des approbations sont requises pour que le notaire puisse terminer le transfert de blocage. Si des approbations sont requises, la mise en correspondance des stratégies d'approbation détermine quels approbateurs sont nécessaires et dans quel ordre.
Si aucun indicateur de restriction n'est défini pour l'expéditeur et le destinataire, le montant du blocage est comparé à tous les seuils de stratégie d'approbation configurés pour rechercher une correspondance. Si une correspondance est trouvée, les approbateurs et la séquence correspondants sont utilisés. Si aucune correspondance n'est trouvée, aucune approbation n'est requise et la transaction est transmise directement au notaire.
Si un indicateur de restriction est défini pour l'expéditeur ou le destinataire, la stratégie d'approbation la plus basse disponible est utilisée. Si aucune stratégie n'est disponible, la transaction est bloquée.
- Approbateurs requis
- Séquence d'approbation
- Nombre d'approbations requis
Approbation de transaction
La validation de l'approbation de transaction est déclenchée après un appel à l'API approveTransaction. La validation applique toutes les règles d'approbation définies dans la stratégie d'approbation qui ont été mises en correspondance lors de l'appel de l'API holdTokens. La validation est exécutée pour chaque approbateur dans l'ordre suivant les étapes suivantes.
- Valider l'identité de l'approbateur : vérifie si l'utilisateur en cours existe dans la liste des approbateurs requis à partir de la stratégie d'approbation.
- Valider l'ordre des séquences : vérifie si l'approbateur actuel est l'approbateur attendu à la position de séquence actuelle.
- Vérifier l'approbation en double : empêche le même approbateur d'approuver plusieurs fois la même transaction.
- Validation de la stratégie de compte : exécute à nouveau la validation de la stratégie de compte pour s'assurer que les statuts de compte de l'expéditeur et du destinataire n'ont pas changé depuis la création du blocage.
- Enregistrer l'approbation : enregistre l'approbation avec un horodatage, incrémente le nombre d'approbations et vérifie si toutes les approbations requises sont terminées.