@proto-kit/protocol 0.1.1-develop.1316 → 0.1.1-develop.1343
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/hooks/AccountStateHook.d.ts +3 -3
- package/dist/hooks/AccountStateHook.d.ts.map +1 -1
- package/dist/hooks/AccountStateHook.js +6 -2
- package/dist/hooks/AccountStateHook.js.map +1 -1
- package/dist/hooks/LastStateRootBlockHook.d.ts +3 -4
- package/dist/hooks/LastStateRootBlockHook.d.ts.map +1 -1
- package/dist/hooks/LastStateRootBlockHook.js +4 -4
- package/dist/hooks/LastStateRootBlockHook.js.map +1 -1
- package/dist/hooks/NoopBlockHook.d.ts +3 -4
- package/dist/hooks/NoopBlockHook.d.ts.map +1 -1
- package/dist/hooks/NoopBlockHook.js +1 -1
- package/dist/hooks/NoopBlockHook.js.map +1 -1
- package/dist/hooks/NoopTransactionHook.d.ts +2 -2
- package/dist/hooks/NoopTransactionHook.d.ts.map +1 -1
- package/dist/hooks/NoopTransactionHook.js +4 -1
- package/dist/hooks/NoopTransactionHook.js.map +1 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/model/AppliedStateTransitionBatch.d.ts +114 -0
- package/dist/model/AppliedStateTransitionBatch.d.ts.map +1 -0
- package/dist/model/AppliedStateTransitionBatch.js +16 -0
- package/dist/model/AppliedStateTransitionBatch.js.map +1 -0
- package/dist/model/StateTransition.d.ts +1 -0
- package/dist/model/StateTransition.d.ts.map +1 -1
- package/dist/model/StateTransition.js +5 -0
- package/dist/model/StateTransition.js.map +1 -1
- package/dist/model/StateTransitionProvableBatch.d.ts +249 -97
- package/dist/model/StateTransitionProvableBatch.d.ts.map +1 -1
- package/dist/model/StateTransitionProvableBatch.js +72 -65
- package/dist/model/StateTransitionProvableBatch.js.map +1 -1
- package/dist/model/transaction/RuntimeTransaction.d.ts +1 -0
- package/dist/model/transaction/RuntimeTransaction.d.ts.map +1 -1
- package/dist/model/transaction/RuntimeTransaction.js +3 -0
- package/dist/model/transaction/RuntimeTransaction.js.map +1 -1
- package/dist/protocol/ProvableBlockHook.d.ts +13 -3
- package/dist/protocol/ProvableBlockHook.d.ts.map +1 -1
- package/dist/protocol/ProvableBlockHook.js +16 -0
- package/dist/protocol/ProvableBlockHook.js.map +1 -1
- package/dist/protocol/ProvableTransactionHook.d.ts +29 -2
- package/dist/protocol/ProvableTransactionHook.d.ts.map +1 -1
- package/dist/protocol/ProvableTransactionHook.js +9 -0
- package/dist/protocol/ProvableTransactionHook.js.map +1 -1
- package/dist/prover/accumulators/AppliedBatchHashList.d.ts +18 -0
- package/dist/prover/accumulators/AppliedBatchHashList.d.ts.map +1 -0
- package/dist/prover/accumulators/AppliedBatchHashList.js +25 -0
- package/dist/prover/accumulators/AppliedBatchHashList.js.map +1 -0
- package/dist/{utils → prover/accumulators}/StateTransitionReductionList.d.ts +3 -2
- package/dist/prover/accumulators/StateTransitionReductionList.d.ts.map +1 -0
- package/dist/{utils → prover/accumulators}/StateTransitionReductionList.js +6 -3
- package/dist/prover/accumulators/StateTransitionReductionList.js.map +1 -0
- package/dist/prover/accumulators/TransactionHashList.d.ts +6 -0
- package/dist/prover/accumulators/TransactionHashList.d.ts.map +1 -0
- package/dist/prover/accumulators/TransactionHashList.js +8 -0
- package/dist/prover/accumulators/TransactionHashList.js.map +1 -0
- package/dist/prover/accumulators/WitnessedRootHashList.d.ts +137 -0
- package/dist/prover/accumulators/WitnessedRootHashList.d.ts.map +1 -0
- package/dist/prover/accumulators/WitnessedRootHashList.js +50 -0
- package/dist/prover/accumulators/WitnessedRootHashList.js.map +1 -0
- package/dist/prover/block/BlockProvable.d.ts +579 -35
- package/dist/prover/block/BlockProvable.d.ts.map +1 -1
- package/dist/prover/block/BlockProvable.js +55 -3
- package/dist/prover/block/BlockProvable.js.map +1 -1
- package/dist/prover/block/BlockProver.d.ts +52 -50
- package/dist/prover/block/BlockProver.d.ts.map +1 -1
- package/dist/prover/block/BlockProver.js +289 -209
- package/dist/prover/block/BlockProver.js.map +1 -1
- package/dist/prover/block/accummulators/BlockHashMerkleTree.d.ts +55 -13
- package/dist/prover/block/accummulators/BlockHashMerkleTree.d.ts.map +1 -1
- package/dist/prover/block/accummulators/BlockHashMerkleTree.js +11 -3
- package/dist/prover/block/accummulators/BlockHashMerkleTree.js.map +1 -1
- package/dist/prover/statetransition/StateTransitionProvable.d.ts +107 -106
- package/dist/prover/statetransition/StateTransitionProvable.d.ts.map +1 -1
- package/dist/prover/statetransition/StateTransitionProvable.js +8 -8
- package/dist/prover/statetransition/StateTransitionProvable.js.map +1 -1
- package/dist/prover/statetransition/StateTransitionProver.d.ts +14 -11
- package/dist/prover/statetransition/StateTransitionProver.d.ts.map +1 -1
- package/dist/prover/statetransition/StateTransitionProver.js +116 -62
- package/dist/prover/statetransition/StateTransitionProver.js.map +1 -1
- package/dist/settlement/contracts/DispatchContractProtocolModule.d.ts +1 -1
- package/dist/settlement/contracts/DispatchSmartContract.d.ts +1 -1
- package/dist/settlement/contracts/SettlementSmartContract.d.ts.map +1 -1
- package/dist/settlement/contracts/SettlementSmartContract.js +1 -0
- package/dist/settlement/contracts/SettlementSmartContract.js.map +1 -1
- package/dist/state/assert/assert.d.ts.map +1 -1
- package/dist/state/assert/assert.js +5 -3
- package/dist/state/assert/assert.js.map +1 -1
- package/dist/state/context/RuntimeMethodExecutionContext.d.ts +3 -3
- package/dist/state/context/RuntimeMethodExecutionContext.d.ts.map +1 -1
- package/dist/state/context/RuntimeMethodExecutionContext.js +7 -4
- package/dist/state/context/RuntimeMethodExecutionContext.js.map +1 -1
- package/dist/utils/FieldOptions.d.ts +62 -0
- package/dist/utils/FieldOptions.d.ts.map +1 -0
- package/dist/utils/FieldOptions.js +13 -0
- package/dist/utils/FieldOptions.js.map +1 -0
- package/dist/utils/ProvableHashList.d.ts +21 -2
- package/dist/utils/ProvableHashList.d.ts.map +1 -1
- package/dist/utils/ProvableHashList.js +37 -2
- package/dist/utils/ProvableHashList.js.map +1 -1
- package/dist/utils/ProvableReductionHashList.d.ts +7 -3
- package/dist/utils/ProvableReductionHashList.d.ts.map +1 -1
- package/dist/utils/ProvableReductionHashList.js +8 -5
- package/dist/utils/ProvableReductionHashList.js.map +1 -1
- package/dist/utils/utils.d.ts +10 -1
- package/dist/utils/utils.d.ts.map +1 -1
- package/dist/utils/utils.js +6 -0
- package/dist/utils/utils.js.map +1 -1
- package/package.json +2 -2
- package/src/hooks/AccountStateHook.ts +12 -3
- package/src/hooks/LastStateRootBlockHook.ts +7 -8
- package/src/hooks/NoopBlockHook.ts +7 -4
- package/src/hooks/NoopTransactionHook.ts +5 -2
- package/src/index.ts +6 -1
- package/src/model/AppliedStateTransitionBatch.ts +16 -0
- package/src/model/StateTransition.ts +6 -0
- package/src/model/StateTransitionProvableBatch.ts +94 -105
- package/src/model/transaction/RuntimeTransaction.ts +4 -0
- package/src/protocol/ProvableBlockHook.ts +51 -3
- package/src/protocol/ProvableTransactionHook.ts +67 -3
- package/src/prover/accumulators/AppliedBatchHashList.ts +32 -0
- package/src/{utils → prover/accumulators}/StateTransitionReductionList.ts +7 -4
- package/src/prover/accumulators/TransactionHashList.ts +9 -0
- package/src/prover/accumulators/WitnessedRootHashList.ts +61 -0
- package/src/prover/block/BlockProvable.ts +128 -9
- package/src/prover/block/BlockProver.ts +531 -383
- package/src/prover/block/accummulators/BlockHashMerkleTree.ts +11 -3
- package/src/prover/statetransition/StateTransitionProvable.ts +17 -11
- package/src/prover/statetransition/StateTransitionProver.ts +219 -144
- package/src/settlement/contracts/SettlementSmartContract.ts +4 -0
- package/src/state/assert/assert.ts +6 -3
- package/src/state/context/RuntimeMethodExecutionContext.ts +15 -7
- package/src/utils/FieldOptions.ts +13 -0
- package/src/utils/ProvableHashList.ts +77 -2
- package/src/utils/ProvableReductionHashList.ts +12 -3
- package/src/utils/utils.ts +18 -1
- package/test/BlockProver.test.ts +2 -0
- package/test/TestingProtocol.ts +5 -0
- package/test/model/StateTransitionProvableBatch.test.ts +137 -0
- package/test/prover/block/BlockProver.test.ts +18 -0
- package/test/prover/statetransition/StateTransitionProver.test.ts +240 -0
- package/test/utils/ProvableHashList.test.ts +44 -0
- package/test/utils/ProvableReductionHashList.test.ts +1 -1
- package/dist/utils/StateTransitionReductionList.d.ts.map +0 -1
- package/dist/utils/StateTransitionReductionList.js.map +0 -1
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import { AreProofsEnabled, PlainZkProgram, RollupMerkleTreeWitness, ZkProgrammable, CompilableModule, type ArtifactRecord, type CompileRegistry } from "@proto-kit/common";
|
|
2
2
|
import { Field } from "o1js";
|
|
3
3
|
import { ProvableStateTransition } from "../../model/StateTransition";
|
|
4
|
-
import {
|
|
4
|
+
import { MerkleWitnessBatch, StateTransitionProvableBatch } from "../../model/StateTransitionProvableBatch";
|
|
5
5
|
import { StateTransitionProverType } from "../../protocol/Protocol";
|
|
6
6
|
import { ProtocolModule } from "../../protocol/ProtocolModule";
|
|
7
|
-
import {
|
|
7
|
+
import { WitnessedRootHashList } from "../accumulators/WitnessedRootHashList";
|
|
8
|
+
import { AppliedBatchHashList } from "../accumulators/AppliedBatchHashList";
|
|
9
|
+
import { AppliedStateTransitionBatchState } from "../../model/AppliedStateTransitionBatch";
|
|
8
10
|
import { StateTransitionProof, StateTransitionProvable, StateTransitionProverPublicInput, StateTransitionProverPublicOutput } from "./StateTransitionProvable";
|
|
9
11
|
interface StateTransitionProverExecutionState {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
currentBatch: AppliedStateTransitionBatchState;
|
|
13
|
+
batchList: AppliedBatchHashList;
|
|
14
|
+
finalizedRoot: Field;
|
|
15
|
+
witnessedRoots: WitnessedRootHashList;
|
|
14
16
|
}
|
|
15
17
|
/**
|
|
16
18
|
* StateTransitionProver is the prover that proves the application of some state
|
|
@@ -18,30 +20,31 @@ interface StateTransitionProverExecutionState {
|
|
|
18
20
|
*/
|
|
19
21
|
export declare class StateTransitionProverProgrammable extends ZkProgrammable<StateTransitionProverPublicInput, StateTransitionProverPublicOutput> {
|
|
20
22
|
private readonly stateTransitionProver;
|
|
21
|
-
constructor(stateTransitionProver: StateTransitionProver);
|
|
23
|
+
constructor(stateTransitionProver: Pick<StateTransitionProver, "areProofsEnabled">);
|
|
22
24
|
get areProofsEnabled(): AreProofsEnabled | undefined;
|
|
23
25
|
zkProgramFactory(): PlainZkProgram<StateTransitionProverPublicInput, StateTransitionProverPublicOutput>[];
|
|
24
26
|
/**
|
|
25
27
|
* Applies the state transitions to the current stateRoot
|
|
26
28
|
* and returns the new prover state
|
|
27
29
|
*/
|
|
28
|
-
applyTransitions(
|
|
30
|
+
applyTransitions(state: StateTransitionProverExecutionState, batch: StateTransitionProvableBatch, witnesses: MerkleWitnessBatch): StateTransitionProverExecutionState;
|
|
29
31
|
/**
|
|
30
32
|
* Applies a single state transition to the given state
|
|
31
33
|
* and mutates it in place
|
|
32
34
|
*/
|
|
33
|
-
applyTransition(
|
|
35
|
+
applyTransition(currentBatch: AppliedStateTransitionBatchState, transition: ProvableStateTransition, witness: RollupMerkleTreeWitness, index?: number): AppliedStateTransitionBatchState;
|
|
36
|
+
private applyTransitionToRoot;
|
|
34
37
|
/**
|
|
35
38
|
* Applies a whole batch of StateTransitions at once
|
|
36
39
|
*/
|
|
37
|
-
|
|
40
|
+
proveBatch(publicInput: StateTransitionProverPublicInput, batch: StateTransitionProvableBatch, witnesses: MerkleWitnessBatch, currentAppliedBatch: AppliedStateTransitionBatchState): Promise<StateTransitionProverPublicOutput>;
|
|
38
41
|
merge(publicInput: StateTransitionProverPublicInput, proof1: StateTransitionProof, proof2: StateTransitionProof): Promise<StateTransitionProverPublicOutput>;
|
|
39
42
|
}
|
|
40
43
|
export declare class StateTransitionProver extends ProtocolModule implements StateTransitionProvable, StateTransitionProverType, CompilableModule {
|
|
41
44
|
zkProgrammable: StateTransitionProverProgrammable;
|
|
42
45
|
constructor();
|
|
43
46
|
compile(registry: CompileRegistry): Promise<void | ArtifactRecord>;
|
|
44
|
-
|
|
47
|
+
proveBatch(publicInput: StateTransitionProverPublicInput, batch: StateTransitionProvableBatch, witnesses: MerkleWitnessBatch, startingAppliedBatch: AppliedStateTransitionBatchState): Promise<StateTransitionProverPublicOutput>;
|
|
45
48
|
merge(publicInput: StateTransitionProverPublicInput, proof1: StateTransitionProof, proof2: StateTransitionProof): Promise<StateTransitionProverPublicOutput>;
|
|
46
49
|
}
|
|
47
50
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StateTransitionProver.d.ts","sourceRoot":"","sources":["../../../src/prover/statetransition/StateTransitionProver.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,cAAc,EAEd,uBAAuB,EACvB,cAAc,EACd,gBAAgB,EAChB,KAAK,cAAc,EACnB,KAAK,eAAe,EACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,EAAkC,MAAM,MAAM,CAAC;AAI7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"StateTransitionProver.d.ts","sourceRoot":"","sources":["../../../src/prover/statetransition/StateTransitionProver.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,cAAc,EAEd,uBAAuB,EACvB,cAAc,EACd,gBAAgB,EAChB,KAAK,cAAc,EACnB,KAAK,eAAe,EACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,EAAkC,MAAM,MAAM,CAAC;AAI7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EACL,kBAAkB,EAClB,4BAA4B,EAE7B,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,gCAAgC,EAAE,MAAM,yCAAyC,CAAC;AAE3F,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,gCAAgC,EAChC,iCAAiC,EAClC,MAAM,2BAA2B,CAAC;AAUnC,UAAU,mCAAmC;IAC3C,YAAY,EAAE,gCAAgC,CAAC;IAC/C,SAAS,EAAE,oBAAoB,CAAC;IAChC,aAAa,EAAE,KAAK,CAAC;IACrB,cAAc,EAAE,qBAAqB,CAAC;CACvC;AAOD;;;GAGG;AACH,qBAAa,iCAAkC,SAAQ,cAAc,CACnE,gCAAgC,EAChC,iCAAiC,CAClC;IAEG,OAAO,CAAC,QAAQ,CAAC,qBAAqB;gBAArB,qBAAqB,EAAE,IAAI,CAC1C,qBAAqB,EACrB,kBAAkB,CACnB;IAKH,IAAW,gBAAgB,IAAI,gBAAgB,GAAG,SAAS,CAE1D;IAEM,gBAAgB,IAAI,cAAc,CACvC,gCAAgC,EAChC,iCAAiC,CAClC,EAAE;IAmEH;;;OAGG;IACI,gBAAgB,CACrB,KAAK,EAAE,mCAAmC,EAC1C,KAAK,EAAE,4BAA4B,EACnC,SAAS,EAAE,kBAAkB;IA2F/B;;;OAGG;IACI,eAAe,CACpB,YAAY,EAAE,gCAAgC,EAC9C,UAAU,EAAE,uBAAuB,EACnC,OAAO,EAAE,uBAAuB,EAChC,KAAK,SAAI;IAuBX,OAAO,CAAC,qBAAqB;IAqB7B;;OAEG;IAEU,UAAU,CACrB,WAAW,EAAE,gCAAgC,EAC7C,KAAK,EAAE,4BAA4B,EACnC,SAAS,EAAE,kBAAkB,EAC7B,mBAAmB,EAAE,gCAAgC,GACpD,OAAO,CAAC,iCAAiC,CAAC;IAiChC,KAAK,CAChB,WAAW,EAAE,gCAAgC,EAC7C,MAAM,EAAE,oBAAoB,EAC5B,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,iCAAiC,CAAC;CAkE9C;AAED,qBACa,qBACX,SAAQ,cACR,YACE,uBAAuB,EACvB,yBAAyB,EACzB,gBAAgB;IAEX,cAAc,EAAE,iCAAiC,CAAC;;IAO5C,OAAO,CAClB,QAAQ,EAAE,eAAe,GACxB,OAAO,CAAC,IAAI,GAAG,cAAc,CAAC;IAI1B,UAAU,CACf,WAAW,EAAE,gCAAgC,EAC7C,KAAK,EAAE,4BAA4B,EACnC,SAAS,EAAE,kBAAkB,EAC7B,oBAAoB,EAAE,gCAAgC,GACrD,OAAO,CAAC,iCAAiC,CAAC;IAStC,KAAK,CACV,WAAW,EAAE,gCAAgC,EAC7C,MAAM,EAAE,oBAAoB,EAC5B,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,iCAAiC,CAAC;CAG9C"}
|
|
@@ -12,20 +12,16 @@ import { Field, Provable, SelfProof, ZkProgram } from "o1js";
|
|
|
12
12
|
import { injectable } from "tsyringe";
|
|
13
13
|
import { constants } from "../../Constants";
|
|
14
14
|
import { ProvableStateTransition } from "../../model/StateTransition";
|
|
15
|
-
import { StateTransitionProvableBatch, } from "../../model/StateTransitionProvableBatch";
|
|
15
|
+
import { MerkleWitnessBatch, StateTransitionProvableBatch, StateTransitionType, } from "../../model/StateTransitionProvableBatch";
|
|
16
16
|
import { ProtocolModule } from "../../protocol/ProtocolModule";
|
|
17
|
-
import { DefaultProvableHashList
|
|
17
|
+
import { DefaultProvableHashList } from "../../utils/ProvableHashList";
|
|
18
|
+
import { WitnessedRootHashList } from "../accumulators/WitnessedRootHashList";
|
|
19
|
+
import { AppliedBatchHashList } from "../accumulators/AppliedBatchHashList";
|
|
20
|
+
import { AppliedStateTransitionBatchState } from "../../model/AppliedStateTransitionBatch";
|
|
18
21
|
import { StateTransitionProverPublicInput, StateTransitionProverPublicOutput, } from "./StateTransitionProvable";
|
|
19
22
|
const errors = {
|
|
20
23
|
propertyNotMatching: (property, step) => `${property} not matching ${step}`,
|
|
21
|
-
merkleWitnessNotCorrect: (index
|
|
22
|
-
let s = `MerkleWitness not valid for StateTransition (${index}, type unknown)`;
|
|
23
|
-
Provable.asProver(() => {
|
|
24
|
-
s = s.replace("unknown", type.isNormal().toBoolean() ? "normal" : "protocol");
|
|
25
|
-
});
|
|
26
|
-
return s;
|
|
27
|
-
},
|
|
28
|
-
noWitnessProviderSet: () => new Error("WitnessProvider not set, set it before you use StateTransitionProvider"),
|
|
24
|
+
merkleWitnessNotCorrect: (index) => `MerkleWitness not valid for StateTransition (${index})`,
|
|
29
25
|
};
|
|
30
26
|
const StateTransitionSelfProofClass = (SelfProof);
|
|
31
27
|
/**
|
|
@@ -47,10 +43,14 @@ export class StateTransitionProverProgrammable extends ZkProgrammable {
|
|
|
47
43
|
publicInput: StateTransitionProverPublicInput,
|
|
48
44
|
publicOutput: StateTransitionProverPublicOutput,
|
|
49
45
|
methods: {
|
|
50
|
-
|
|
51
|
-
privateInputs: [
|
|
52
|
-
|
|
53
|
-
|
|
46
|
+
proveBatch: {
|
|
47
|
+
privateInputs: [
|
|
48
|
+
StateTransitionProvableBatch,
|
|
49
|
+
MerkleWitnessBatch,
|
|
50
|
+
AppliedStateTransitionBatchState,
|
|
51
|
+
],
|
|
52
|
+
async method(publicInput, batch, witnesses, currentAppliedBatch) {
|
|
53
|
+
return await instance.proveBatch(publicInput, batch, witnesses, currentAppliedBatch);
|
|
54
54
|
},
|
|
55
55
|
},
|
|
56
56
|
merge: {
|
|
@@ -65,7 +65,7 @@ export class StateTransitionProverProgrammable extends ZkProgrammable {
|
|
|
65
65
|
},
|
|
66
66
|
});
|
|
67
67
|
const methods = {
|
|
68
|
-
|
|
68
|
+
proveBatch: program.proveBatch.bind(program),
|
|
69
69
|
merge: program.merge.bind(program),
|
|
70
70
|
};
|
|
71
71
|
const SelfProofClass = ZkProgram.Proof(program);
|
|
@@ -84,18 +84,50 @@ export class StateTransitionProverProgrammable extends ZkProgrammable {
|
|
|
84
84
|
* Applies the state transitions to the current stateRoot
|
|
85
85
|
* and returns the new prover state
|
|
86
86
|
*/
|
|
87
|
-
applyTransitions(
|
|
88
|
-
const
|
|
89
|
-
stateRoot,
|
|
90
|
-
protocolStateRoot,
|
|
91
|
-
stateTransitionList: new DefaultProvableHashList(ProvableStateTransition, stateTransitionCommitmentFrom),
|
|
92
|
-
protocolTransitionList: new DefaultProvableHashList(ProvableStateTransition, protocolTransitionCommitmentFrom),
|
|
93
|
-
};
|
|
94
|
-
const transitions = transitionBatch.batch;
|
|
95
|
-
const types = transitionBatch.transitionTypes;
|
|
96
|
-
const merkleWitness = transitionBatch.merkleWitnesses;
|
|
87
|
+
applyTransitions(state, batch, witnesses) {
|
|
88
|
+
const transitions = batch.batch;
|
|
97
89
|
for (let index = 0; index < constants.stateTransitionProverBatchSize; index++) {
|
|
98
|
-
this.applyTransition(state, transitions[index],
|
|
90
|
+
const updatedBatchState = this.applyTransition(state.currentBatch, transitions[index].stateTransition, witnesses.witnesses[index], index);
|
|
91
|
+
// If the current batch is finished, we push it to the list
|
|
92
|
+
// and initialize the next
|
|
93
|
+
const { type, witnessRoot } = transitions[index];
|
|
94
|
+
const closing = type.isClosing();
|
|
95
|
+
const closingAndApply = type.type.equals(StateTransitionType.closeAndApply);
|
|
96
|
+
// Create the newBatch
|
|
97
|
+
// The root is based on if the previous batch will be applied or not
|
|
98
|
+
const base = Provable.if(closingAndApply, updatedBatchState.root, state.finalizedRoot);
|
|
99
|
+
const newBatchState = new AppliedStateTransitionBatchState({
|
|
100
|
+
batchHash: Field(0),
|
|
101
|
+
root: base,
|
|
102
|
+
});
|
|
103
|
+
const updatedBatch = {
|
|
104
|
+
applied: closingAndApply,
|
|
105
|
+
batchHash: updatedBatchState.batchHash,
|
|
106
|
+
};
|
|
107
|
+
state.batchList.pushIf(updatedBatch, closing);
|
|
108
|
+
state.finalizedRoot = Provable.if(closingAndApply, updatedBatchState.root, state.finalizedRoot);
|
|
109
|
+
// Add computed root to the witnessed root list if needed
|
|
110
|
+
witnessRoot
|
|
111
|
+
.implies(closing)
|
|
112
|
+
.assertTrue("Can only witness roots at closing batches");
|
|
113
|
+
state.witnessedRoots.pushIf({
|
|
114
|
+
root: state.finalizedRoot,
|
|
115
|
+
appliedBatchListState: state.batchList.commitment,
|
|
116
|
+
}, witnessRoot);
|
|
117
|
+
const isDummy = ProvableStateTransition.isDummy(transitions[index].stateTransition);
|
|
118
|
+
// Dummy STs cannot change any state, as to prevent any
|
|
119
|
+
// dummy-in-the-middle attacks. This is given if the type is nothing.
|
|
120
|
+
isDummy
|
|
121
|
+
.implies(type.isNothing())
|
|
122
|
+
.assertTrue("Dummies have to be of type 'nothing'");
|
|
123
|
+
isDummy
|
|
124
|
+
.implies(state.currentBatch.batchHash.equals(0))
|
|
125
|
+
.assertTrue("Dummies can only be placed on closed batchLists");
|
|
126
|
+
// Dummies don't close the batch, but we still want to ignore any
|
|
127
|
+
// updated batch, since we need to result to stay.
|
|
128
|
+
// This will break the pipeline if there is a dummy in the middle,
|
|
129
|
+
// but will only end up to invalid proofs (i.e. mismatched batches)
|
|
130
|
+
state.currentBatch = new AppliedStateTransitionBatchState(Provable.if(closing.or(isDummy), AppliedStateTransitionBatchState, newBatchState, updatedBatchState));
|
|
99
131
|
}
|
|
100
132
|
return state;
|
|
101
133
|
}
|
|
@@ -103,52 +135,72 @@ export class StateTransitionProverProgrammable extends ZkProgrammable {
|
|
|
103
135
|
* Applies a single state transition to the given state
|
|
104
136
|
* and mutates it in place
|
|
105
137
|
*/
|
|
106
|
-
applyTransition(
|
|
107
|
-
const
|
|
138
|
+
applyTransition(currentBatch, transition, witness, index = 0) {
|
|
139
|
+
const impliedRoot = this.applyTransitionToRoot(transition, currentBatch.root, witness, index);
|
|
140
|
+
// Append ST to the current batch's ST-list
|
|
141
|
+
const stList = new DefaultProvableHashList(ProvableStateTransition, currentBatch.batchHash);
|
|
142
|
+
stList.push(transition);
|
|
143
|
+
// Update batch
|
|
144
|
+
return new AppliedStateTransitionBatchState({
|
|
145
|
+
batchHash: stList.commitment,
|
|
146
|
+
root: impliedRoot,
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
applyTransitionToRoot(transition, root, merkleWitness, index) {
|
|
150
|
+
const membershipValid = merkleWitness.checkMembership(root, transition.path, transition.from.value);
|
|
108
151
|
membershipValid
|
|
109
152
|
.or(transition.from.isSome.not())
|
|
110
|
-
.assertTrue(errors.merkleWitnessNotCorrect(index
|
|
153
|
+
.assertTrue(errors.merkleWitnessNotCorrect(index));
|
|
111
154
|
const newRoot = merkleWitness.calculateRoot(transition.to.value);
|
|
112
|
-
|
|
113
|
-
// Only update protocol state root if ST is also of type protocol
|
|
114
|
-
// Since protocol STs are all at the start of the batch, this works
|
|
115
|
-
state.protocolStateRoot = Provable.if(transition.to.isSome.and(type.isProtocol()), newRoot, state.protocolStateRoot);
|
|
116
|
-
const isNotDummy = transition.path.equals(Field(0)).not();
|
|
117
|
-
state.stateTransitionList.pushIf(transition, isNotDummy.and(type.isNormal()));
|
|
118
|
-
state.protocolTransitionList.pushIf(transition, isNotDummy.and(type.isProtocol()));
|
|
155
|
+
return Provable.if(transition.to.isSome, newRoot, root);
|
|
119
156
|
}
|
|
120
157
|
/**
|
|
121
158
|
* Applies a whole batch of StateTransitions at once
|
|
122
159
|
*/
|
|
123
|
-
async
|
|
124
|
-
|
|
160
|
+
async proveBatch(publicInput, batch, witnesses, currentAppliedBatch) {
|
|
161
|
+
currentAppliedBatch
|
|
162
|
+
.hashOrZero()
|
|
163
|
+
.assertEquals(publicInput.currentBatchStateHash, "Provided startingAppliedBatch not matching PI hash");
|
|
164
|
+
// Assert that either the currentAppliedBatch is somewhere intermediary
|
|
165
|
+
// or the root is the current "finalized" root
|
|
166
|
+
currentAppliedBatch.root
|
|
167
|
+
.equals(publicInput.root)
|
|
168
|
+
.or(publicInput.currentBatchStateHash.equals(0).not())
|
|
169
|
+
.assertTrue();
|
|
170
|
+
const state = {
|
|
171
|
+
batchList: new AppliedBatchHashList(publicInput.batchesHash),
|
|
172
|
+
currentBatch: currentAppliedBatch,
|
|
173
|
+
finalizedRoot: publicInput.root,
|
|
174
|
+
witnessedRoots: new WitnessedRootHashList(publicInput.witnessedRootsHash),
|
|
175
|
+
};
|
|
176
|
+
const result = this.applyTransitions(state, batch, witnesses);
|
|
125
177
|
return new StateTransitionProverPublicOutput({
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
178
|
+
batchesHash: result.batchList.commitment,
|
|
179
|
+
currentBatchStateHash: result.currentBatch.hashOrZero(),
|
|
180
|
+
root: result.finalizedRoot,
|
|
181
|
+
witnessedRootsHash: result.witnessedRoots.commitment,
|
|
130
182
|
});
|
|
131
183
|
}
|
|
132
184
|
async merge(publicInput, proof1, proof2) {
|
|
133
185
|
proof1.verify();
|
|
134
186
|
proof2.verify();
|
|
135
|
-
// Check
|
|
136
|
-
publicInput.
|
|
137
|
-
proof1.publicOutput.
|
|
138
|
-
// Check
|
|
139
|
-
publicInput.
|
|
140
|
-
proof1.publicOutput.
|
|
141
|
-
// Check
|
|
142
|
-
publicInput.
|
|
143
|
-
proof1.publicOutput.
|
|
144
|
-
// Check
|
|
145
|
-
publicInput.
|
|
146
|
-
proof1.publicOutput.
|
|
187
|
+
// Check current batch hash
|
|
188
|
+
publicInput.currentBatchStateHash.assertEquals(proof1.publicInput.currentBatchStateHash, errors.propertyNotMatching("currentBatchStateHash", "publicInput.from -> proof1.from"));
|
|
189
|
+
proof1.publicOutput.currentBatchStateHash.assertEquals(proof2.publicInput.currentBatchStateHash, errors.propertyNotMatching("currentBatchStateHash", "proof1.to -> proof2.from"));
|
|
190
|
+
// Check batches hash
|
|
191
|
+
publicInput.batchesHash.assertEquals(proof1.publicInput.batchesHash, errors.propertyNotMatching("batchesHash", "publicInput.from -> proof1.from"));
|
|
192
|
+
proof1.publicOutput.batchesHash.assertEquals(proof2.publicInput.batchesHash, errors.propertyNotMatching("batchesHash", "proof1.to -> proof2.from"));
|
|
193
|
+
// Check root
|
|
194
|
+
publicInput.root.assertEquals(proof1.publicInput.root, errors.propertyNotMatching("root", "publicInput.from -> proof1.from"));
|
|
195
|
+
proof1.publicOutput.root.assertEquals(proof2.publicInput.root, errors.propertyNotMatching("root", "proof1.to -> proof2.from"));
|
|
196
|
+
// Check root accumulator
|
|
197
|
+
publicInput.witnessedRootsHash.assertEquals(proof1.publicInput.witnessedRootsHash, errors.propertyNotMatching("witnessedRootsHash", "publicInput.from -> proof1.from"));
|
|
198
|
+
proof1.publicOutput.witnessedRootsHash.assertEquals(proof2.publicInput.witnessedRootsHash, errors.propertyNotMatching("witnessedRootsHash", "proof1.to -> proof2.from"));
|
|
147
199
|
return new StateTransitionProverPublicInput({
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
200
|
+
currentBatchStateHash: proof2.publicOutput.currentBatchStateHash,
|
|
201
|
+
batchesHash: proof2.publicOutput.batchesHash,
|
|
202
|
+
root: proof2.publicOutput.root,
|
|
203
|
+
witnessedRootsHash: proof2.publicOutput.witnessedRootsHash,
|
|
152
204
|
});
|
|
153
205
|
}
|
|
154
206
|
}
|
|
@@ -156,9 +208,11 @@ __decorate([
|
|
|
156
208
|
provableMethod(),
|
|
157
209
|
__metadata("design:type", Function),
|
|
158
210
|
__metadata("design:paramtypes", [StateTransitionProverPublicInput,
|
|
159
|
-
StateTransitionProvableBatch
|
|
211
|
+
StateTransitionProvableBatch,
|
|
212
|
+
MerkleWitnessBatch,
|
|
213
|
+
AppliedStateTransitionBatchState]),
|
|
160
214
|
__metadata("design:returntype", Promise)
|
|
161
|
-
], StateTransitionProverProgrammable.prototype, "
|
|
215
|
+
], StateTransitionProverProgrammable.prototype, "proveBatch", null);
|
|
162
216
|
__decorate([
|
|
163
217
|
provableMethod(),
|
|
164
218
|
__metadata("design:type", Function),
|
|
@@ -173,8 +227,8 @@ export let StateTransitionProver = class StateTransitionProver extends ProtocolM
|
|
|
173
227
|
async compile(registry) {
|
|
174
228
|
return await this.zkProgrammable.compile(registry);
|
|
175
229
|
}
|
|
176
|
-
|
|
177
|
-
return this.zkProgrammable.
|
|
230
|
+
proveBatch(publicInput, batch, witnesses, startingAppliedBatch) {
|
|
231
|
+
return this.zkProgrammable.proveBatch(publicInput, batch, witnesses, startingAppliedBatch);
|
|
178
232
|
}
|
|
179
233
|
merge(publicInput, proof1, proof2) {
|
|
180
234
|
return this.zkProgrammable.merge(publicInput, proof1, proof2);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StateTransitionProver.js","sourceRoot":"","sources":["../../../src/prover/statetransition/StateTransitionProver.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAGL,cAAc,EAEd,cAAc,GAIf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,
|
|
1
|
+
{"version":3,"file":"StateTransitionProver.js","sourceRoot":"","sources":["../../../src/prover/statetransition/StateTransitionProver.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ export declare class DispatchContractProtocolModule extends ContractModule<Dispa
|
|
|
10
10
|
constructor(runtime: RuntimeLike);
|
|
11
11
|
eventsDefinition(): {
|
|
12
12
|
"token-bridge-added": typeof import("./TokenBridgeTree").TokenBridgeTreeAddition;
|
|
13
|
-
"incoming-message-placeholder": typeof import("o1js/dist/node/lib/provable/field").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field | import("o1js/dist/node/lib/provable/core/fieldvar").
|
|
13
|
+
"incoming-message-placeholder": typeof import("o1js/dist/node/lib/provable/field").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field | import("o1js/dist/node/lib/provable/core/fieldvar").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar").FieldVar) => import("o1js/dist/node/lib/provable/field").Field);
|
|
14
14
|
};
|
|
15
15
|
private checkConfigIntegrity;
|
|
16
16
|
contractFactory(): SmartContractClassFromInterface<DispatchContractType>;
|
|
@@ -18,7 +18,7 @@ export declare abstract class DispatchSmartContractBase extends SmartContract {
|
|
|
18
18
|
};
|
|
19
19
|
events: {
|
|
20
20
|
"token-bridge-added": typeof TokenBridgeTreeAddition;
|
|
21
|
-
"incoming-message-placeholder": typeof import("o1js/dist/node/lib/provable/field").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field | import("o1js/dist/node/lib/provable/core/fieldvar").
|
|
21
|
+
"incoming-message-placeholder": typeof import("o1js/dist/node/lib/provable/field").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field | import("o1js/dist/node/lib/provable/core/fieldvar").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar").FieldVar) => import("o1js/dist/node/lib/provable/field").Field);
|
|
22
22
|
};
|
|
23
23
|
abstract promisedMessagesHash: State<Field>;
|
|
24
24
|
abstract honoredMessagesHash: State<Field>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettlementSmartContract.d.ts","sourceRoot":"","sources":["../../../src/settlement/contracts/SettlementSmartContract.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"SettlementSmartContract.d.ts","sourceRoot":"","sources":["../../../src/settlement/contracts/SettlementSmartContract.ts"],"names":[],"mappings":"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"}
|
|
@@ -175,6 +175,7 @@ export class SettlementSmartContractBase extends TokenContractV2 {
|
|
|
175
175
|
.hash()
|
|
176
176
|
.assertEquals(blockProof.publicOutput.networkStateHash, "OutputNetworkState witness not valid");
|
|
177
177
|
blockProof.publicOutput.closed.assertEquals(Bool(true), "Supplied proof is not a closed BlockProof");
|
|
178
|
+
blockProof.publicOutput.pendingSTBatchesHash.assertEquals(Field(0), "Supplied proof is has outstanding STs to be proven");
|
|
178
179
|
// Execute onSettlementHooks for additional checks
|
|
179
180
|
const stateRecord = {
|
|
180
181
|
blockHashRoot,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettlementSmartContract.js","sourceRoot":"","sources":["../../../src/settlement/contracts/SettlementSmartContract.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACL,aAAa,EACb,gBAAgB,EAEhB,aAAa,GAEd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAEL,IAAI,EACJ,KAAK,EACL,MAAM,EACN,SAAS,EACT,SAAS,EAET,KAAK,EACL,KAAK,EACL,MAAM,EACN,mBAAmB,EACnB,eAAe,EACf,UAAU,EAGV,MAAM,EACN,QAAQ,EACR,OAAO,EACP,YAAY,GACb,MAAM,MAAM,CAAC;AAEd,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,EACL,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,kCAAkC,CAAC;AAS1C,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAEjF,mEAAmE;AAEnE,MAAM,OAAO,iBAAkB,SAAQ,YAGtC;;AACe,iCAAe,GAAG,sBAAsB,CAAC;AAEzC,kCAAgB,GAAG,uBAAuB,CAAC;AAE3C,mCAAiB,GAAG,CAAU,CAAC;AAG/C,MAAM,OAAO,YAAa,SAAQ,MAAM,CAAC;IACvC,OAAO,EAAE,KAAK;IACd,SAAS,EAAE,SAAS;CACrB,CAAC;CAAG;AA4BL,iDAAiD;AACjD,MAAM,CAAC,MAAM,sBAAsB,GAAG,aAAa,CAAC,mBAAmB,CAAC,CAAC;AAEzE,eAAe;AACf,mDAAmD;AACnD,oBAAoB;AACpB,0EAA0E;AAC1E,gDAAgD;AAChD,wCAAwC;AACxC,6EAA6E;AAC7E,4BAA4B;AAC5B,kEAAkE;AAClE,0DAA0D;AAC1D,8CAA8C;AAC9C,OAAO;AACP,IAAI;AAEJ,MAAM,OAAgB,2BAA4B,SAAQ,eAAe;IAAzE;;QAgBE,WAAM,GAAG;YACP,uBAAuB,EAAE,YAAY;SACtC,CAAC;
|
|
1
|
+
{"version":3,"file":"SettlementSmartContract.js","sourceRoot":"","sources":["../../../src/settlement/contracts/SettlementSmartContract.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assert.d.ts","sourceRoot":"","sources":["../../../src/state/assert/assert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAY,MAAM,MAAM,CAAC;AAMtC;;;;;;;;GAQG;AACH,wBAAgB,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"assert.d.ts","sourceRoot":"","sources":["../../../src/state/assert/assert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAY,MAAM,MAAM,CAAC;AAMtC;;;;;;;;GAQG;AACH,wBAAgB,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,QAsBxE"}
|
|
@@ -17,12 +17,14 @@ export function assert(condition, message) {
|
|
|
17
17
|
const status = condition.and(previousStatus);
|
|
18
18
|
Provable.asProver(() => {
|
|
19
19
|
if (!condition.toBoolean()) {
|
|
20
|
-
if (!executionContext.current().isSimulated) {
|
|
21
|
-
log.debug("Assertion failed: ", message);
|
|
22
|
-
}
|
|
23
20
|
const messageString = message !== undefined && typeof message === "function"
|
|
24
21
|
? message()
|
|
25
22
|
: message;
|
|
23
|
+
// If no isSimulated was set, we treat it as not simulated,
|
|
24
|
+
// therefore printing the log
|
|
25
|
+
if (!(executionContext.current().isSimulated ?? false)) {
|
|
26
|
+
log.debug("Assertion failed: ", messageString);
|
|
27
|
+
}
|
|
26
28
|
executionContext.setStatusMessage(messageString, new Error().stack);
|
|
27
29
|
}
|
|
28
30
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assert.js","sourceRoot":"","sources":["../../../src/state/assert/assert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,QAAQ,EAAE,MAAM,MAAM,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAC;AAEzF;;;;;;;;GAQG;AACH,MAAM,UAAU,MAAM,CAAC,SAAe,EAAE,OAAiC;IACvE,MAAM,gBAAgB,GAAG,SAAS,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAC1E,MAAM,cAAc,GAAG,gBAAgB,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;IAChE,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAE7C,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE;QACrB,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE;YAC1B,
|
|
1
|
+
{"version":3,"file":"assert.js","sourceRoot":"","sources":["../../../src/state/assert/assert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,QAAQ,EAAE,MAAM,MAAM,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAC;AAEzF;;;;;;;;GAQG;AACH,MAAM,UAAU,MAAM,CAAC,SAAe,EAAE,OAAiC;IACvE,MAAM,gBAAgB,GAAG,SAAS,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAC1E,MAAM,cAAc,GAAG,gBAAgB,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;IAChE,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAE7C,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE;QACrB,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE;YAC1B,MAAM,aAAa,GACjB,OAAO,KAAK,SAAS,IAAI,OAAO,OAAO,KAAK,UAAU;gBACpD,CAAC,CAAC,OAAO,EAAE;gBACX,CAAC,CAAC,OAAO,CAAC;YAEd,2DAA2D;YAC3D,6BAA6B;YAC7B,IAAI,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,WAAW,IAAI,KAAK,CAAC,EAAE;gBACtD,GAAG,CAAC,KAAK,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAC;aAChD;YACD,gBAAgB,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;SACrE;IACH,CAAC,CAAC,CAAC;IAEH,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC"}
|
|
@@ -149,9 +149,9 @@ export declare class RuntimeMethodExecutionDataStruct extends RuntimeMethodExecu
|
|
|
149
149
|
export declare class RuntimeMethodExecutionContext extends ProvableMethodExecutionContext {
|
|
150
150
|
methods: string[];
|
|
151
151
|
input: RuntimeMethodExecutionData | undefined;
|
|
152
|
-
private lastInput;
|
|
153
|
-
result: RuntimeProvableMethodExecutionResult;
|
|
154
152
|
private isSimulated;
|
|
153
|
+
private lastInputs;
|
|
154
|
+
result: RuntimeProvableMethodExecutionResult;
|
|
155
155
|
private assertSetupCalled;
|
|
156
156
|
/**
|
|
157
157
|
* Adds an in-method generated state transition to the current context
|
|
@@ -186,7 +186,7 @@ export declare class RuntimeMethodExecutionContext extends ProvableMethodExecuti
|
|
|
186
186
|
isFinished: boolean;
|
|
187
187
|
result: RuntimeProvableMethodExecutionResult;
|
|
188
188
|
input: RuntimeMethodExecutionData | undefined;
|
|
189
|
-
isSimulated: boolean;
|
|
189
|
+
isSimulated: boolean | undefined;
|
|
190
190
|
};
|
|
191
191
|
}
|
|
192
192
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuntimeMethodExecutionContext.d.ts","sourceRoot":"","sources":["../../../src/state/context/RuntimeMethodExecutionContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAU,MAAM,MAAM,CAAC;AAEpE,OAAO,EACL,8BAA8B,EAC9B,6BAA6B,EAC9B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAShE,qBAAa,oCAAqC,SAAQ,6BAA6B;IAC9E,gBAAgB,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,CAAM;IAE9C,MAAM,EAAE,IAAI,CAAc;IAE1B,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,MAAM,EAAE;QACb,SAAS,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC;QACrC,KAAK,EAAE,GAAG,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,IAAI,CAAC;KACjB,EAAE,CAAM;CACV;AAED,MAAM,WAAW,0BAA0B;IACzC,WAAW,EAAE,kBAAkB,CAAC;IAChC,YAAY,EAAE,YAAY,CAAC;CAC5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBAAa,gCACX,SAAQ,qCAIR,YAAW,0BAA0B;CAAG;AAE1C;;;;GAIG;AACH,qBACa,6BAA8B,SAAQ,8BAA8B;IACxE,OAAO,EAAE,MAAM,EAAE,CAAM;IAEvB,KAAK,EAAE,0BAA0B,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"RuntimeMethodExecutionContext.d.ts","sourceRoot":"","sources":["../../../src/state/context/RuntimeMethodExecutionContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAU,MAAM,MAAM,CAAC;AAEpE,OAAO,EACL,8BAA8B,EAC9B,6BAA6B,EAC9B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAShE,qBAAa,oCAAqC,SAAQ,6BAA6B;IAC9E,gBAAgB,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,CAAM;IAE9C,MAAM,EAAE,IAAI,CAAc;IAE1B,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,MAAM,EAAE;QACb,SAAS,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC;QACrC,KAAK,EAAE,GAAG,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,IAAI,CAAC;KACjB,EAAE,CAAM;CACV;AAED,MAAM,WAAW,0BAA0B;IACzC,WAAW,EAAE,kBAAkB,CAAC;IAChC,YAAY,EAAE,YAAY,CAAC;CAC5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBAAa,gCACX,SAAQ,qCAIR,YAAW,0BAA0B;CAAG;AAE1C;;;;GAIG;AACH,qBACa,6BAA8B,SAAQ,8BAA8B;IACxE,OAAO,EAAE,MAAM,EAAE,CAAM;IAEvB,KAAK,EAAE,0BAA0B,GAAG,SAAS,CAAC;IAErD,OAAO,CAAC,WAAW,CAAkB;IAGrC,OAAO,CAAC,UAAU,CAKJ;IAEE,MAAM,uCAA8C;IAEpE,OAAO,CAAC,iBAAiB;IAQzB;;;OAGG;IACI,kBAAkB,CAAC,KAAK,EAAE,eAAe,EAAE,eAAe,CAAC,KAAK,CAAC;IAKjE,QAAQ,CACb,SAAS,EAAE,oBAAoB,CAAC,GAAG,CAAC,EACpC,KAAK,EAAE,GAAG,EACV,SAAS,EAAE,MAAM,EACjB,SAAS,GAAE,IAAiB;IAY9B;;OAEG;IACI,gBAAgB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAS7D;;OAEG;IACI,SAAS,CAAC,MAAM,EAAE,IAAI;IAQ7B;;OAEG;IACI,KAAK,CAAC,KAAK,EAAE,0BAA0B;IAIvC,YAAY,IAAI,gCAAgC;IAYhD,YAAY,CAAC,SAAS,EAAE,OAAO;IAItC;;OAEG;IACI,KAAK;IAIL,WAAW;IAalB;;;OAGG;IACI,OAAO;;;;;;CAQf"}
|
|
@@ -34,8 +34,8 @@ export let RuntimeMethodExecutionContext = class RuntimeMethodExecutionContext e
|
|
|
34
34
|
constructor() {
|
|
35
35
|
super(...arguments);
|
|
36
36
|
this.methods = [];
|
|
37
|
-
this.result = new RuntimeProvableMethodExecutionResult();
|
|
38
37
|
this.isSimulated = false;
|
|
38
|
+
this.result = new RuntimeProvableMethodExecutionResult();
|
|
39
39
|
}
|
|
40
40
|
assertSetupCalled() {
|
|
41
41
|
if (this.input === undefined) {
|
|
@@ -111,7 +111,10 @@ export let RuntimeMethodExecutionContext = class RuntimeMethodExecutionContext e
|
|
|
111
111
|
afterMethod() {
|
|
112
112
|
super.afterMethod();
|
|
113
113
|
if (this.isFinished) {
|
|
114
|
-
this.
|
|
114
|
+
this.lastInputs = {
|
|
115
|
+
input: this.input,
|
|
116
|
+
isSimulated: this.isSimulated,
|
|
117
|
+
};
|
|
115
118
|
// TODO: find out why input isnt set in TransactionFeeHook during assert
|
|
116
119
|
// this.input = undefined;
|
|
117
120
|
this.isSimulated = false;
|
|
@@ -125,8 +128,8 @@ export let RuntimeMethodExecutionContext = class RuntimeMethodExecutionContext e
|
|
|
125
128
|
return {
|
|
126
129
|
isFinished: this.isFinished,
|
|
127
130
|
result: this.result,
|
|
128
|
-
input: this.
|
|
129
|
-
isSimulated: this.isSimulated,
|
|
131
|
+
input: this.lastInputs?.input,
|
|
132
|
+
isSimulated: this.lastInputs?.isSimulated,
|
|
130
133
|
};
|
|
131
134
|
}
|
|
132
135
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuntimeMethodExecutionContext.js","sourceRoot":"","sources":["../../../src/state/context/RuntimeMethodExecutionContext.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAwB,QAAQ,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EACL,8BAA8B,EAC9B,6BAA6B,GAC9B,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAEhE,MAAM,MAAM,GAAG;IACb,cAAc,EAAE,GAAG,EAAE,CACnB,IAAI,KAAK,CACP,uIAAuI,CACxI;CACJ,CAAC;AAEF,MAAM,OAAO,oCAAqC,SAAQ,6BAA6B;IAAvF;;QACS,qBAAgB,GAA2B,EAAE,CAAC;QAE9C,WAAM,GAAS,IAAI,CAAC,IAAI,CAAC,CAAC;QAM1B,WAAM,GAKP,EAAE,CAAC;IACX,CAAC;CAAA;AAOD,MAAM,OAAO,gCACX,SAAQ,MAAM,CAAC;IACb,WAAW,EAAE,kBAAkB;IAC/B,YAAY,EAAE,YAAY;CAC3B,CAAC;CACsC;AAE1C;;;;GAIG;AAEI,WAAM,6BAA6B,GAAnC,MAAM,6BAA8B,SAAQ,8BAA8B;IAA1E;;QACE,YAAO,GAAa,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"RuntimeMethodExecutionContext.js","sourceRoot":"","sources":["../../../src/state/context/RuntimeMethodExecutionContext.ts"],"names":[],"mappings":"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"}
|