@nori-zk/mina-token-bridge
Version:
Nori ethereum state settelment and nETH token bridge zkApp
26 lines (25 loc) • 1.09 kB
TypeScript
import { PrivateKey, type NetworkId } from 'o1js';
import type { Logger } from 'esm-iso-logger';
import { NoriTokenBridge } from '../../NoriTokenBridge.js';
export type AdminBinConfig = {
adminKey: PrivateKey;
tokenBridgePrivateKey: PrivateKey;
networkUrl: string;
networkId: NetworkId;
fee: number;
};
/**
* Parse and validate the env vars common to all admin bin scripts.
* `extraValidations` is called to collect script-specific issues.
* Exits the process if any issues are found.
*/
export declare function parseAdminBinEnv(logger: Logger, scriptName: string, extraValidations?: (issues: string[]) => void): AdminBinConfig;
/**
* Set up the Mina network, compile contracts, and return a NoriTokenBridge
* instance bound to the token bridge address.
*/
export declare function setupNetworkAndCompile(logger: Logger, config: AdminBinConfig): Promise<NoriTokenBridge>;
/**
* Build, prove, sign, send, and wait for an admin transaction.
*/
export declare function submitAdminTx(logger: Logger, config: AdminBinConfig, txBody: () => Promise<void>): Promise<void>;