Zum Inhalt springen

list_proposals

Für Emittenten: Multisig-Vorschläge für ein verwaltetes Unternehmen auflisten, sortiert nach dem neuesten zuerst. Jede Zeile beschreibt den Vorschlag mit ausreichend Detail, um seinen Status zu bewerten und zu entscheiden, ob man ihn unterzeichnen sollte.

Erfordert Anmeldung und Emittentenzugriff auf das angeforderte Unternehmen. Rufen Sie zunächst list_managed_companies auf, um eine gültige companyId zu erhalten.

FeldTypErforderlichBeschreibung
companyintegerJaUnternehmens-ID eines Unternehmens, das der angemeldete Benutzer verwalten darf.
statestringNeinNach Status filtern: pending, signed oder failed. Weglassen, um alle Status zu sehen.
pageNumberintegerNeinNullbasierter Seitenindex. Standard 0 (neueste Seite).
pageSizeintegerNeinVorschläge pro Seite. Standard 10, Maximum 100. Nur erhöhen, wenn der Benutzer danach fragt.

Eine Zusammenfassungs-Umhüllung mit Paginierungsmetadaten und den Vorschlägen auf der angeforderten Seite:

FeldTypBeschreibung
companyIdintegerDie Unternehmens-ID, zu der die Vorschläge gehören.
statestringAngewendeter Statusfilter, falls vorhanden. Omitted wenn alle Status aufgelistet werden.
pageNumberintegerNullbasierter Seitenindex.
pageSizeintegerSeitengröße, die für die Anfrage verwendet wurde.
totalElementsintegerGesamtzahl der Vorschläge, die dem Filter entsprechen.
totalPagesintegerGesamtzahl der Seiten bei der angeforderten Seitengröße.
itemsarrayVorschläge auf dieser Seite.

Jeder Vorschlag in items enthält:

FeldTypBeschreibung
idintegerVorschlag-ID — erforderliche Eingabe für sign_proposal.
noncestringKonto-Nonce, die für diesen Vorschlag reserviert ist (Dezimalzahl). Erforderlich beim Unterzeichnen.
gasPricenumberGaspreis festgelegt für diesen Vorschlag (wei). Erforderlich beim Unterzeichnen.
creationTimestampstringISO-Zeitstempel, als der Vorschlag erstellt wurde.
executionDatetimestringISO-Zeitstempel, als der Vorschlag in der Blockchain ausgeführt wurde. Fehlt während der Vorschlag ausstehend ist oder fehlgeschlagen ist.
declarationstringSolidity-artige Methodensignatur, die aufgerufen wird, z.B. setPaymentHub(address hub).
titlestringKurzer benutzerfreundlicher Titel.
messagestringAusführlichere benutzerfreundliche Beschreibung, was der Vorschlag bewirkt.
toAddressstringVertrag-Adresse, die der Vorschlag aufrufen würde.
hexDatastringABI-kodierte Aufrufdaten (hex). Nicht direkt benutzerlesbar; kodiert die dekodierten Parameter der Transaktion.
hashstringBlockchain-Transaktions-Hash. Vorhanden, wenn der Vorschlag ausgeführt wurde.
signedByarrayUnterzeichner, die bereits unterzeichnet haben, als { name } Objekte.
youHaveSignedbooleanOb der angemeldete Benutzer diesen Vorschlag bereits unterzeichnet hat.
initiatorNamestringName der Person, die den Vorschlag erstellt hat.
statestringpending · signed · failed.
errorMessagestringVon der Rückseite gemeldeter Fehlgrund. Vorhanden nur, wenn state failed ist.

Andere Felder aus dem detaillierten trans Block des Backends (Gaslimit, Wert, Von-Adresse, Blocknummer, usw.) und die Labels/Unterkategorien/Chain des Vorschlags werden vom Adapter entfernt und erreichen nie den Model-Kontext.

  • “Ausstehende Multisig-Vorschläge meines Unternehmens auflisten.”
  • “Die neuesten unterzeichneten Vorschläge für Unternehmen 42 anzeigen.”
  • “Welche ausstehenden Vorschläge meines Unternehmens habe ich noch nicht unterzeichnet?”
  • “Ist der letzte Vorschlag erfolgreich oder fehlgeschlagen?”
  • Rufen Sie immer zuerst list_managed_companies auf — die Übergabe einer company-ID, für die der Benutzer nicht autorisiert ist, gibt 403 zurück.
  • Verwenden Sie state: 'pending', wenn der Benutzer fragt „was muss unterzeichnet werden?” — es gibt nur Vorschläge zurück, die auf weitere Unterzeichnungen oder Ausführung warten.
  • Das Flag youHaveSigned ist der kanonische Weg, um zu wissen, ob der angemeldete Benutzer einen bestimmten Vorschlag noch unterzeichnen muss. Leiten Sie nicht nur aus signedBy ab.
  • Ein 404 bedeutet, dass das Unternehmen nicht existiert; führen Sie list_managed_companies erneut aus. Ein 401 bedeutet, dass die Sitzung abgelaufen ist; rufen Sie sign_in auf und wiederholen Sie.