You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Port PROMPT bridging from the legacy relayer pipeline (processor + source/destination + reconcile loop) to a wayfinder adapter under the TokenBridge interface introduced in #356, then delete the legacy pipeline. Deferred from #356 to keep the USDCx track unblocked (see epic #361).
Step, withdrawal: "" -> eth_submitted -> completed; folding CompleteWithdrawal into a stage fixes the existing gap where the retry path skips the post-submit hook
Resolve token from the deposit event's token field via config (finally using CantonBridge.sol's existing ethereumToCantonToken mappings)
Delete engine/processor.go, engine/destination.go, engine/source.go and the reconcile loop; PROMPT config moves fully into the per-token Tokens map
Migrate/regenerate mocks; existing PROMPT unit + e2e tests pass unchanged
Acceptance
PROMPT deposits and withdrawals behave identically on devstack (existing e2e green)
pkg/relayer/engine has no imports of pkg/cantonsdk/bridge or pkg/ethereum contract bindings — all mechanism-specific code lives under bridges/
Adding a second wayfinder-style token is config-only
Goal
Port PROMPT bridging from the legacy relayer pipeline (processor + source/destination + reconcile loop) to a
wayfinderadapter under theTokenBridgeinterface introduced in #356, then delete the legacy pipeline. Deferred from #356 to keep the USDCx track unblocked (see epic #361).Work items
pkg/relayer/bridges/wayfinder/—bridge.go(Key, Sources, Step),source_eth.go+source_canton.go(moved fromengine/source.go),convert.go(per-token decimals replacingconst decimalPlaces = 18)Step, deposit: idempotency check ->CreatePendingDeposit->ProcessDepositAndMint-> completed (single step, as today)Step, withdrawal:"" -> eth_submitted -> completed; foldingCompleteWithdrawalinto a stage fixes the existing gap where the retry path skips the post-submit hooktokenfield via config (finally usingCantonBridge.sol's existingethereumToCantonTokenmappings)engine/processor.go,engine/destination.go,engine/source.goand the reconcile loop; PROMPT config moves fully into the per-tokenTokensmapAcceptance
pkg/relayer/enginehas no imports ofpkg/cantonsdk/bridgeorpkg/ethereumcontract bindings — all mechanism-specific code lives underbridges/bridge_key=wayfinderby feat(relayer): TokenBridge adapter foundation (interface, registry, driver) #356's migration)Depends on