UNPKG

@nori-zk/mina-token-bridge

Version:

Nori ethereum state settelment and nETH token bridge zkApp

65 lines (64 loc) 2.63 kB
import { Field, Mina, PrivateKey, PublicKey } from 'o1js'; import { MerkleTreeContractDepositAttestorInput } from '../depositAttestation.js'; import { SCRAMWitness } from '../scram.js'; import { NoriTokenBridge } from '../NoriTokenBridge.js'; export declare function getStagingEnv(): { NORI_MINA_TOKEN_BRIDGE_ADDRESS: string; NORI_MINA_TOKEN_BASE_ADDRESS: string; NORI_ETH_TOKEN_BRIDGE_ADDRESS: string; NORI_ETH_GENESIS_ROOT: string; NORI_MINA_TOKEN_BASE_TOKEN_ID: string; NORI_MINA_TOKEN_BRIDGE_TOKEN_ID: string; MINA_ARCHIVE_RPC_URL: string; MINA_RPC_NETWORK_URL: string; MINA_RPC_NETWORK_ID: import("o1js").NetworkId; MINA_ZKAPP_TRANSACTION_RPC_URL: string; NORI_WSS_URL: string; NORI_PCS_URL: string; }; export declare function validateEnv(): { ethPrivateKey: string; ethRpcUrl: string; minaSenderPrivateKeyBase58: string; }; export declare function getNewMinaLiteNetAccountSK(): Promise<string>; export declare function getNewMinaLiteNetAccountKeyPair(): Promise<{ sk: string; pk: string; }>; export declare function keyPairBase58ToKeyPair({ sk, pk }: { sk: string; pk: string; }): { privateKey: PrivateKey; publicKey: PublicKey; }; export declare class InvertedPromise<T = void, E = void> { resolve: (output: T) => void; reject: (error: E) => void; promise: Promise<T>; constructor(); } export declare function hexStringToUint8Array(hex: string): Uint8Array; export declare function lockTokens(codeChallenge: Field, amount: number): Promise<number>; export declare function getEthereumEnvPrivateKey(): Promise<string>; export declare function getEthWallet(): Promise<import("ethers").Wallet>; export declare function minaSetup(): Promise<void>; export declare function txSend({ body, sender, signers, fee: txFee, }: { body: () => Promise<void>; sender: PublicKey; signers: PrivateKey[]; fee?: number; }): Promise<Mina.IncludedTransaction>; export declare function fetchAccounts(addrs: PublicKey[]): Promise<void>; /** * Build a self-consistent synthetic deposit for noriMint() tests. * Signs a SCRAM message with the recipient's private key and builds * the deposit attestation from the resulting codeChallenge. */ export declare function buildSyntheticDeposit(recipientPrivateKey: PrivateKey, messageSCRAMStr: string, totalLockedBU?: bigint): { merkleInput: MerkleTreeContractDepositAttestorInput; scramWitness: SCRAMWitness; }; /** Read the current on-chain windowStart to pass as the noriMint witness. */ export declare function fetchWindowStartWitness(bridge: NoriTokenBridge): Promise<Field>;