diff --git a/src/bindings b/src/bindings index fc2cced61..c7a6b3eab 160000 --- a/src/bindings +++ b/src/bindings @@ -1 +1 @@ -Subproject commit fc2cced61174098aba06e46d8ac047582be9e2bb +Subproject commit c7a6b3eab589ac035905805d2f06f52c6dbea8bc diff --git a/src/examples/poseidon-cipher.ts b/src/examples/poseidon-cipher.ts new file mode 100644 index 000000000..b00920f17 --- /dev/null +++ b/src/examples/poseidon-cipher.ts @@ -0,0 +1,6 @@ +import { Snarky, Field, initializeBindings } from 'o1js'; + +await initializeBindings(); + +let res = Snarky.run.poseidonBlockCipher([Field.from(21)]); +console.log(res); diff --git a/src/index.ts b/src/index.ts index 290b48ed2..5a5d1e8de 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,6 +1,6 @@ export { TupleN } from './lib/util/types.js'; export type { ProvablePure } from './lib/provable/types/provable-intf.js'; -export { Ledger, initializeBindings } from './snarky.js'; +export { Ledger, initializeBindings, Snarky } from './snarky.js'; export { Field, Bool, Group, Scalar } from './lib/provable/wrapped.js'; export { createForeignField, @@ -116,6 +116,7 @@ import { Recursive as Recursive_ } from './lib/proof-system/recursive.js'; export { Experimental }; import * as V2 from './lib/mina/v2/index.js'; +import { Snarky } from './snarky.js'; const Experimental_ = { memoizeWitness, diff --git a/src/mina b/src/mina index 2d3ea9757..b18eb8998 160000 --- a/src/mina +++ b/src/mina @@ -1 +1 @@ -Subproject commit 2d3ea975737cf3aec6c35a740704da35f053a124 +Subproject commit b18eb899891b9346a07f7c1e7f86ea49fadd066c diff --git a/src/snarky.d.ts b/src/snarky.d.ts index c1fd6a413..3d53877c6 100644 --- a/src/snarky.d.ts +++ b/src/snarky.d.ts @@ -97,6 +97,11 @@ declare const Snarky: { * Check whether we are inside an asProver or exists block */ inProverBlock(): boolean; + + poseidonBlockCipher( + state: Array, + ): unknown; + /** * Setting that controls whether snarky throws an exception on violated constraint. */