Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

feat(builder): lazy UTxO resolvers for retry-safe buildEffect

Offen
#199 0 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
55/100
Issue-Typ
Feature
Klarheit
Klar beschrieben
Aktivitätsstatus
Veraltet
Tech-Stack
typescript

Rechercherichtung

Beginne mit BuildOptions und resolveAvailableUtxos in TransactionBuilder.ts und untersuche anschließend CollectFromParams.inputs und createCollectFromProgram in Collect.ts. Bestätige, wie statische Arrays verarbeitet werden, bevor du beide inputs erweiterst, um lazy Effects zu unterstützen. Als erledigt gilt die Aufgabe, wenn das statische Verhalten kompatibel bleibt und lazy Resolver zum Build- oder Programmausführungszeitpunkt ausgewertet werden, sodass Retries frische UTxOs erhalten.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

enhancement

Problem

BuildOptions.availableUtxos and collectFrom inputs are static arrays resolved before buildEffect() runs. When an action is retried via Effect.retry, the same stale UTxO arrays are reused — the provider is never queried again.

Proposed Solution

Allow availableUtxos and collectFrom.inputs to also accept a lazy resolver () => Effect<ReadonlyArray<UTxO>> evaluated at build time:

client.newTx()
  .collectFrom({ inputs: () => client.Effect.getUtxos(scriptAddress), redeemer })
  .buildEffect({ availableUtxos: () => client.Effect.getWalletUtxos() })
  .pipe(Effect.flatMap(s => s.Effect.signAndSubmit()))
  .pipe(Effect.retry(Schedule.recurs(3)))

Each retry calls the resolver fresh, so UTxOs are always up to date with no extra boilerplate required from the user.

Affected Areas

  • BuildOptions.availableUtxos — extend type to accept () => Effect<ReadonlyArray<UTxO>>
  • resolveAvailableUtxos in TransactionBuilder.ts — yield the Effect at build time when lazy
  • CollectFromParams.inputs — same lazy extension
  • createCollectFromProgram in Collect.ts — evaluate resolver at program execution time

Non-breaking — static arrays continue to work as-is.

Vorherrschende Sprache
TypeScript
Sterne
22
Forks
34
Ø Merge
21 Std. 10 Min.
Gemergte PRs (30 T.)
67

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus IntersectMBO/evolution-sdk

Alle Issues in IntersectMBO/evolution-sdk

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.