UNPKG

synkrokonn-dev

Version:

Plugin-based cross-chain orchestration middleware for Web3 enterprise automation.

25 lines (24 loc) 963 B
// plugins/rollback.ts import { RollbackManager } from "../core/RollbackManager.js"; // Shared rollback manager instance const rollbackManager = new RollbackManager(); export const RollbackPlugin = { onEvent: async (eventName, payload) => { if (eventName === "StepSuccess" && payload.step?.reversible) { const stepId = payload.step?.id || `step-${Date.now()}`; rollbackManager.addRollbackStep(stepId, async () => { console.log(`[RollbackPlugin] Reversing step ${stepId}`); // Add your smart contract undo logic here }); } }, onError: async (error, payload) => { const context = payload?.context || { id: 'unknown', timestamp: new Date().toISOString(), metadata: {}, }; console.error("[RollbackPlugin] Error occurred. Starting rollback..."); await rollbackManager.executeRollback(context); }, };