Hardhat-deploy: Diamanten funktionieren nicht wie vorgesehen, wenn Facetten manuell bereitgestellt werden

Erstellt am 17. Feb. 2021  ·  5Kommentare  ·  Quelle: wighawag/hardhat-deploy

Mir ist aufgefallen, dass dieses Plugin zwar native Unterstützung für Diamond-Standard-konforme Verträge bietet, aber anscheinend keine manuelle Bereitstellung und Einrichtung des Diamond und seiner Facetten zulässt. Genauer gesagt mit folgendem Code: https://github.com/ARM-Finance/kingmaker/blob/1e7bb406e99108e8a87076d6fcc33d13be59df58/protocol/deploy/governance/02_kingmaker_governance_facet.ts#L16 -L56 bekomme ich folgende Fehlermeldung:
image

Wenn ich jedoch den unterstützten Ansatz zur Bereitstellung von Diamonds mit Faucets verwende, kann das Plugin mit read() / execute() korrekt mit ihnen interagieren (zB https://github.com/ARM-Finance/kingmaker/blob/1e7bb406e99108e8a87076d6fcc33d13be59df58 /protocol/deploy/01B_kingmaker_cowl.ts#L19). Können Sie in Ihrem Code auf dieses Verhalten hinweisen?

Der Grund für meinen Ansatz ist der Wunsch, nicht verpflichtet zu sein, die bestehenden Facetten im Auge zu behalten und nicht gezwungen zu sein, einen neuen Diamond mit anderen Facetten scheinbar neu zu implementieren, gemessen am Diamantaire-Code und der Plugin-API (z

await diamond.deploy('ADiamondContract', {
    from: deployer,
    owner: diamondAdmin,
    facets: ['Facet1', 'Facet2', 'Facet3'],
  });

 await diamond.deploy('ADiamondContract', {
    from: diamondAdmin, // this need to be the diamondAdmin for upgrade
    owner: diamondAdmin,
    facets: ['NewFacet', 'Facet2', 'Facet3'],
 });

Hilfreichster Kommentar

Die neueste Bauarbeiterhelm-Bereitstellung hat die Diamantunterstützung überarbeitet. bei Problemen wieder öffnen

Alle 5 Kommentare

Hey @lepidotteri beachte, dass sich die Arbeit an Diamond noch in der Beta-

Was Ihr Problem betrifft, welche Implementierung von Diamond verwenden Sie jedoch?

Hey @lepidotteri beachte, dass sich die Arbeit an Diamond noch in der Beta-

Hallo, vielen Dank für die Klarstellungen, Ihr Plugin ist zu wertvoll, um sich nicht darauf verlassen zu können. Wenn Sie also zustimmen, würde ich es einfach für unsere eigene Organisation weitergeben, mit der alleinigen Absicht, den aktuellen Diamond Standard-Support zu aktualisieren und zu verbessern

Was Ihr Problem betrifft, welche Implementierung von Diamond verwenden Sie jedoch?

Ich verwende das 3. hier: https://github.com/mudgen/diamond-3. Beachten Sie jedoch, dass nicht die Implementierung selbst das Problem ist, sondern dass das Problem in der Art und Weise liegen soll, wie Ihr Plugin mit den "benutzerdefinierten" Diamonds interagiert, die nicht korrekt mit der Schnittstelle verbunden werden können (z. B. https://github.com/ARM -Finance/kingmaker/blob/59dac1fb94f6aa3cb84dc4d84a536c9acedfe9ea/protocol/deploy/governance/02_kingmaker_governance_facet.ts#L32 execute () schlägt hier fehl, weil das Plugin, wie ich vermute, in diesem Fall die FaceCut-Methode verwendet, um nach Adia zu suchen ', gegen das "benutzerdefinierte" Diamond ABI).

Vielen Dank auch, dass Sie sich so schnell bei mir gemeldet haben, sehr geschätzt

So vermeiden Sie, dass ethers.js Probleme bei der Durchführung von Überprüfungen von ABIs aufwirft? https://github.com/wighawag/hardhat-deploy/blob/a842674b5a5a47ad2ee5b91c2fae1d3e1840e9b6/src/helpers.ts#L48 -L56

@lepidotteri ja, also nicht sicher, warum es in Ihrem Fall nicht funktioniert, da, wie Sie sehen, den diamondCutFact in das ABI einbeziehen

Sie sollten es in der Datei deployments/<network name>/Crown.json

Was das Forking angeht, wäre es toll, wenn Sie eine PR machen. Ich würde es gerne überprüfen, mit dem Ziel, wieder aufgenommen zu werden.
Vielen Dank

Die neueste Bauarbeiterhelm-Bereitstellung hat die Diamantunterstützung überarbeitet. bei Problemen wieder öffnen

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

tennox picture tennox  ·  4Kommentare

gitpusha picture gitpusha  ·  6Kommentare

freebyte picture freebyte  ·  9Kommentare

smartcontracts picture smartcontracts  ·  20Kommentare

jaypaik picture jaypaik  ·  13Kommentare