Aller au contenu

list_proposals

Pour les émetteurs : lister les propositions multisig sur une entreprise gérée, triées les plus récentes en premier. Chaque ligne décrit la proposition avec suffisamment de détails pour évaluer son statut et décider si la signer.

Nécessite une connexion et un accès émetteur à l’entreprise demandée. Appelez d’abord list_managed_companies pour obtenir un companyId valide.

ChampTypeRequisDescription
companyintegerOuiID de l’entreprise que l’utilisateur connecté est autorisé à gérer.
statestringNonFiltrer par statut : pending, signed, ou failed. Omettez pour lister tous les statuts.
pageNumberintegerNonIndex de page basé sur zéro. Par défaut 0 (page la plus récente).
pageSizeintegerNonPropositions par page. Par défaut 10, maximum 100. À augmenter uniquement si l’utilisateur en demande davantage.

Une enveloppe récapitulative avec métadonnées de pagination et les propositions sur la page demandée :

ChampTypeDescription
companyIdintegerL’ID de l’entreprise à laquelle appartiennent les propositions.
statestringFiltre d’état appliqué, le cas échéant. Omis lors de la liste entre tous les statuts.
pageNumberintegerIndex de page basé sur zéro.
pageSizeintegerTaille de page utilisée pour la requête.
totalElementsintegerNombre total de propositions correspondant au filtre.
totalPagesintegerNombre total de pages à la taille de page demandée.
itemsarrayPropositions sur cette page.

Chaque proposition dans items contient :

ChampTypeDescription
idintegerID de la proposition — entrée requise pour sign_proposal.
noncestringNonce de compte réservé pour cette proposition (chaîne décimale). Requis lors de la signature.
gasPricenumberPrix du gaz verrouillé pour cette proposition (wei). Requis lors de la signature.
creationTimestampstringHorodatage ISO de la création de la proposition.
executionDatetimestringHorodatage ISO de l’exécution de la proposition on-chain. Absent tant que la proposition est en attente ou a échoué.
declarationstringSignature de méthode de style Solidity appelée, par exemple setPaymentHub(address hub).
titlestringTitre court lisible par l’humain.
messagestringDescription plus complète et lisible par l’humain de ce que fait la proposition.
toAddressstringAdresse du contrat que la proposition appellerait.
hexDatastringDonnées d’appel encodées en ABI (hex). Non directement lisible par l’utilisateur ; encode les paramètres décodés de la transaction.
hashstringHash de la transaction on-chain. Présent uniquement une fois que la proposition a été exécutée.
signedByarraySignataires qui ont déjà signé, comme objets { name }.
youHaveSignedbooleanSi l’utilisateur connecté a déjà signé cette proposition.
initiatorNamestringNom de la personne qui a créé la proposition.
statestringpending · signed · failed.
errorMessagestringRaison d’échec signalée par le backend. Présent uniquement quand state est failed.

Les autres champs du bloc trans détaillé du backend (limite de gaz, valeur, adresse d’origine, numéro de bloc, etc.) et les étiquettes/enfants/chaîne de la proposition sont supprimés par l’adaptateur et ne sont jamais atteints par le contexte du modèle.

  • “Lister les propositions multisig en attente de mon entreprise.”
  • “Afficher les propositions signées les plus récentes pour l’entreprise 42.”
  • “Quelles propositions en attente sur mon entreprise n’ai-je pas encore signées ?”
  • “La dernière proposition a-t-elle réussi ou échoué ?”
  • Appelez toujours d’abord list_managed_companies — passer un ID company pour lequel l’utilisateur n’est pas autorisé retourne 403.
  • Utilisez state: 'pending' quand l’utilisateur demande “qu’est-ce qui a besoin de signature ?” — cela retourne uniquement les propositions en attente de signatures supplémentaires ou d’exécution.
  • L’indicateur youHaveSigned est le moyen canonique de savoir si l’utilisateur connecté doit toujours signer une proposition donnée. Ne déduisez pas uniquement de signedBy.
  • Un 404 signifie que l’entreprise n’existe pas ; réexécutez list_managed_companies. Un 401 signifie que la session a expiré ; appelez sign_in et réessayez.