/// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// import { Field, Provable } from 'o1js'; import { Store } from './store.js'; import mongoose, { Model } from 'mongoose'; export { MongoStore }; interface IKV { _id: string; value: string; } /** * Store based on MongoDB * * @class MongoStore * @implements {Store} * @template V */ declare class MongoStore implements Store { protected db: mongoose.Connection; protected nodesModel: Model; protected valuesModel: Model; protected nodesOperationCache: any[]; protected valuesOperationCache: any[]; protected eltTyp: Provable; /** * Creates an instance of MongoStore. * @param {mongoose.Connection} db * @param {Provable} eltTyp * @param {string} smtName * @memberof MongoStore */ constructor(db: mongoose.Connection, eltTyp: Provable, smtName: string); /** * Clear all prepare operation cache. * * @memberof MongoStore */ clearPrepareOperationCache(): void; /** * Get the tree root. Error is thrown when the root does not exist. * * @return {*} {Promise} * @memberof MongoStore */ getRoot(): Promise; /** * Prepare update the root. Use the commit() method to actually submit changes. * * @param {Field} root * @memberof MongoStore */ prepareUpdateRoot(root: Field): void; /** * Get nodes for a key. Error is thrown when a key that does not exist is being accessed. * * @param {Field} key * @return {*} {Promise} * @memberof MongoStore */ getNodes(key: Field): Promise; /** * Prepare put nodes for a key. Use the commit() method to actually submit changes. * * @param {Field} key * @param {Field[]} value * @memberof MongoStore */ preparePutNodes(key: Field, value: Field[]): void; /** * Prepare delete nodes for a key. Use the commit() method to actually submit changes. * * @param {Field} key * @memberof MongoStore */ prepareDelNodes(key: Field): void; /** * Convert value string to a value of FieldElements type. * * @protected * @param {string} valueStr * @param {AsFieldElements} eltTyp * @return {*} {V} * @memberof MongoStore */ protected strToValue(valueStr: string, eltTyp: Provable): V; /** * Get the value for a key. Error is thrown when a key that does not exist is being accessed. * * @param {Field} path * @return {*} {Promise} * @memberof MongoStore */ getValue(path: Field): Promise; /** * Serialize the value of the FieldElements type into a string * * @protected * @param {V} value * @return {*} {string} * @memberof RocksStore */ protected valueToStr(value: V): string; /** * Prepare put the value for a key. Use the commit() method to actually submit changes. * * @param {Field} path * @param {V} value * @memberof MongoStore */ preparePutValue(path: Field, value: V): void; /** * Prepare delete the value for a key. Use the commit() method to actually submit changes. * * @param {Field} path * @memberof MongoStore */ prepareDelValue(path: Field): void; /** * Use the commit() method to actually submit all prepare changes. * * @return {*} {Promise} * @memberof MongoStore */ commit(): Promise; /** * Clear the store. * * @return {*} {Promise} * @memberof MongoStore */ clear(): Promise; /** * Get values map, key is Field.toString(). * * @return {*} {Promise>} * @memberof MongoStore */ getValuesMap(): Promise>; }