UNPKG

@nori-zk/mina-token-bridge

Version:

Nori ethereum state settelment and nETH token bridge zkApp

49 lines (48 loc) 3.35 kB
import { type VerificationKeySafe } from '@nori-zk/o1js-zk-utils'; import type { ProofDataOutput, SP1ProofWithPublicValuesPlonkNoTee } from '@nori-zk/proof-conversion/min'; import { type NetworkId } from 'o1js'; import { type MerkleTreeContractDepositAttestorInputJson } from '../../depositAttestation.js'; export type SafeVK = { hashStr: string; data: string; }; export interface DeploymentResult { noriTokenBridgeAddress: string; tokenBaseAddress: string; tokenBaseTokenId: string; noriTokenBridgeTokenId: string; txHash: string; } export declare class TokenBridgeTester { minaSetup(options: { networkId?: NetworkId; mina: string | string[]; archive: string | string[]; lightnetAccountManager?: string; bypassTransactionLimits?: boolean; minaDefaultHeaders?: HeadersInit; archiveDefaultHeaders?: HeadersInit; }): Promise<void>; compile(): Promise<{ noriStorageInterfaceVerificationKeySafe: VerificationKeySafe; fungibleTokenVerificationKeySafe: VerificationKeySafe; noriTokenBridgeVerificationKeySafe: VerificationKeySafe; }>; private fetchAccounts; deployContracts(senderPrivateKeyBase58: string, adminPublicKeyBase58: string, noriTokenBridgePrivateKeyBase58: string, tokenBasePrivateKeyBase58: string, storeHashHex: string, ethTokenBridgeAddressHex: string, genesisRootHex: string, storageInterfaceVerificationKeySafe: SafeVK, pi0: string, po2: string, txFee: number, options?: { symbol?: string; decimals?: number; allowUpdates?: boolean; startPaused?: boolean; }): Promise<DeploymentResult>; updateVerificationKeys(senderPrivateKeyBase58: string, noriTokenBridgeAddressBase58: string, tokenBaseAddressBase58: string, noriTokenBridgeVerificationKeySafe: VerificationKeySafe, fungibleTokenVerificationKeySafe: VerificationKeySafe, txFee: number, updateTokenBaseVK: boolean, updateNoriTokenBridgeVK: boolean): Promise<DeploymentResult>; private runBridgeTx; updateIntegrityParams(senderPrivateKeyBase58: string, noriTokenBridgeAddressBase58: string, pi0: string, po2: string, txFee: number): Promise<string>; updateNoriHeliosProgramPi0(senderPrivateKeyBase58: string, noriTokenBridgeAddressBase58: string, pi0: string, txFee: number): Promise<string>; updateProofConversionPO2(senderPrivateKeyBase58: string, noriTokenBridgeAddressBase58: string, po2: string, txFee: number): Promise<string>; update(senderPrivateKeyBase58: string, noriTokenBridgeAddressBase58: string, sp1PlonkProof: SP1ProofWithPublicValuesPlonkNoTee, proofData: ProofDataOutput, txFee: number): Promise<string>; setUpStorage(senderPrivateKeyBase58: string, userPrivateKeyBase58: string, noriTokenBridgeAddressBase58: string, storageInterfaceVerificationKeySafe: SafeVK, txFee: number): Promise<string>; mint(senderPrivateKeyBase58: string, noriTokenBridgeAddressBase58: string, merkleTreeContractDepositAttestorInputJson: MerkleTreeContractDepositAttestorInputJson, messageSCRAMStr: string, signatureSCRAMBase58: string, fundNewAccount: boolean, txFee: number): Promise<string>; getBalanceOf(tokenBaseAddressBase58: string, userPublicKeyBase58: string): Promise<string>; getMintedSoFar(noriTokenBridgeAddressBase58: string, userPublicKeyBase58: string): Promise<string>; }