UNPKG

@nori-zk/mina-token-bridge

Version:

Nori ethereum state settelment and nETH token bridge zkApp

35 lines 1.38 kB
import 'dotenv/config'; import { Logger, LogPrinter } from 'esm-iso-logger'; import { vkData } from '../proofs/nodeVk.js'; import { p0 } from '../proofs/p0.js'; import { sp1PlonkProof } from '../proofs/sp1Proof.js'; import { NoriTokenBridgeSubmitter } from '../proofSubmitter.js'; import { wait } from '../txWait.js'; const logger = new Logger('ProveAndSubmit'); new LogPrinter('NoriTokenBridge'); function buildProofCreateArgument() { return { sp1PlonkProof, conversionOutputProof: { vkData, proofData: p0 }, }; } async function main() { logger.info(`ProveAndSubmit has started.`); const proofSubmitter = new NoriTokenBridgeSubmitter(); await proofSubmitter.networkSetUp(); await proofSubmitter.compileContracts(); const updateArgs = await proofSubmitter.createProof(buildProofCreateArgument()); logger.info(`Proof has been successfully created... Moving on to submitting the proof.`); const txDetails = await proofSubmitter.submit(updateArgs); logger.log(`TxHash: ${txDetails.txHash}`); logger.log('Waiting for finalization.'); await wait(txDetails.txId, process.env.MINA_RPC_NETWORK_URL); logger.log('Finalized!'); } main() .then(() => process.exit(0)) .catch((err) => { logger.fatal(`Error in main function.\n${String(err)}`); process.exit(1); }); //# sourceMappingURL=proveAndSubmit.js.map