mina-attestations
Version:
Private Attestations on Mina
58 lines (57 loc) • 1.91 kB
TypeScript
/**
* this contains just the Keccac permutation function
*
* TODO: export this from o1js
*
* the code in this file was copied and modified from o1js
* https://github.com/o1-labs/o1js
*/
import { Field } from 'o1js';
export { Keccak, KeccakState };
declare function permutation(state: Field[][]): Field[][];
/**
* The internal state of the Keccak hash function is\
* a 5x5 matrix of 64-bit words.
*/
type KeccakState = Field[][];
declare const KeccakState: {
/**
* Create a state of all zeros
*/
zeros(): KeccakState;
/**
* Flatten state to words
*/
toWords(state: KeccakState): Field[];
/**
* Compose words to state
*/
fromWords(words: Field[]): KeccakState;
/**
* XOR two states together and return the result
*/
xor(a: KeccakState, b: KeccakState): KeccakState;
provable: import("node_modules/o1js/dist/node/bindings/lib/generic.js").GenericProvableExtendedPure<import("node_modules/o1js/dist/node/lib/provable/field.js").Field[][], bigint[][], string[][], import("node_modules/o1js/dist/node/lib/provable/field.js").Field>;
};
declare const Keccak: {
permutation: typeof permutation;
State: {
/**
* Create a state of all zeros
*/
zeros(): KeccakState;
/**
* Flatten state to words
*/
toWords(state: KeccakState): Field[];
/**
* Compose words to state
*/
fromWords(words: Field[]): KeccakState;
/**
* XOR two states together and return the result
*/
xor(a: KeccakState, b: KeccakState): KeccakState;
provable: import("node_modules/o1js/dist/node/bindings/lib/generic.js").GenericProvableExtendedPure<import("node_modules/o1js/dist/node/lib/provable/field.js").Field[][], bigint[][], string[][], import("node_modules/o1js/dist/node/lib/provable/field.js").Field>;
};
};