@proto-kit/protocol 0.1.1-develop.1088 → 0.1.1-develop.1313
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/Constants.js +1 -0
- package/dist/Constants.js.map +1 -0
- package/dist/hooks/AccountStateHook.js +1 -0
- package/dist/hooks/AccountStateHook.js.map +1 -0
- package/dist/hooks/BlockHeightHook.js +1 -0
- package/dist/hooks/BlockHeightHook.js.map +1 -0
- package/dist/hooks/LastStateRootBlockHook.js +1 -0
- package/dist/hooks/LastStateRootBlockHook.js.map +1 -0
- package/dist/hooks/NoopBlockHook.js +1 -0
- package/dist/hooks/NoopBlockHook.js.map +1 -0
- package/dist/hooks/NoopSettlementHook.d.ts +2 -2
- package/dist/hooks/NoopSettlementHook.d.ts.map +1 -1
- package/dist/hooks/NoopSettlementHook.js +1 -0
- package/dist/hooks/NoopSettlementHook.js.map +1 -0
- package/dist/hooks/NoopTransactionHook.js +1 -0
- package/dist/hooks/NoopTransactionHook.js.map +1 -0
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -2
- package/dist/index.js.map +1 -0
- package/dist/model/MethodPublicOutput.js +1 -0
- package/dist/model/MethodPublicOutput.js.map +1 -0
- package/dist/model/Option.js +1 -0
- package/dist/model/Option.js.map +1 -0
- package/dist/model/Path.js +1 -0
- package/dist/model/Path.js.map +1 -0
- package/dist/model/RuntimeLike.js +1 -0
- package/dist/model/RuntimeLike.js.map +1 -0
- package/dist/model/StateTransition.js +1 -0
- package/dist/model/StateTransition.js.map +1 -0
- package/dist/model/StateTransitionProvableBatch.d.ts +28 -2
- package/dist/model/StateTransitionProvableBatch.d.ts.map +1 -1
- package/dist/model/StateTransitionProvableBatch.js +9 -3
- package/dist/model/StateTransitionProvableBatch.js.map +1 -0
- package/dist/model/network/NetworkState.js +1 -0
- package/dist/model/network/NetworkState.js.map +1 -0
- package/dist/model/transaction/RuntimeTransaction.js +1 -0
- package/dist/model/transaction/RuntimeTransaction.js.map +1 -0
- package/dist/model/transaction/SignedTransaction.js +1 -0
- package/dist/model/transaction/SignedTransaction.js.map +1 -0
- package/dist/model/transaction/ValueOption.js +1 -0
- package/dist/model/transaction/ValueOption.js.map +1 -0
- package/dist/protocol/Protocol.d.ts.map +1 -1
- package/dist/protocol/Protocol.js +31 -6
- package/dist/protocol/Protocol.js.map +1 -0
- package/dist/protocol/ProtocolEnvironment.js +1 -0
- package/dist/protocol/ProtocolEnvironment.js.map +1 -0
- package/dist/protocol/ProtocolModule.d.ts +1 -1
- package/dist/protocol/ProtocolModule.d.ts.map +1 -1
- package/dist/protocol/ProtocolModule.js +2 -1
- package/dist/protocol/ProtocolModule.js.map +1 -0
- package/dist/protocol/ProvableBlockHook.js +1 -0
- package/dist/protocol/ProvableBlockHook.js.map +1 -0
- package/dist/protocol/ProvableTransactionHook.js +1 -0
- package/dist/protocol/ProvableTransactionHook.js.map +1 -0
- package/dist/protocol/TransitioningProtocolModule.js +1 -0
- package/dist/protocol/TransitioningProtocolModule.js.map +1 -0
- package/dist/prover/block/BlockProvable.d.ts +19 -5
- package/dist/prover/block/BlockProvable.d.ts.map +1 -1
- package/dist/prover/block/BlockProvable.js +5 -2
- package/dist/prover/block/BlockProvable.js.map +1 -0
- package/dist/prover/block/BlockProver.d.ts +11 -9
- package/dist/prover/block/BlockProver.d.ts.map +1 -1
- package/dist/prover/block/BlockProver.js +79 -41
- package/dist/prover/block/BlockProver.js.map +1 -0
- package/dist/prover/block/accummulators/BlockHashMerkleTree.js +1 -0
- package/dist/prover/block/accummulators/BlockHashMerkleTree.js.map +1 -0
- package/dist/prover/block/accummulators/RuntimeVerificationKeyTree.d.ts +2 -2
- package/dist/prover/block/accummulators/RuntimeVerificationKeyTree.js +1 -0
- package/dist/prover/block/accummulators/RuntimeVerificationKeyTree.js.map +1 -0
- package/dist/prover/block/services/RuntimeVerificationKeyRootService.js +1 -0
- package/dist/prover/block/services/RuntimeVerificationKeyRootService.js.map +1 -0
- package/dist/prover/statetransition/StateTransitionProvable.d.ts +2 -4
- package/dist/prover/statetransition/StateTransitionProvable.d.ts.map +1 -1
- package/dist/prover/statetransition/StateTransitionProvable.js +1 -0
- package/dist/prover/statetransition/StateTransitionProvable.js.map +1 -0
- package/dist/prover/statetransition/StateTransitionProver.d.ts +7 -10
- package/dist/prover/statetransition/StateTransitionProver.d.ts.map +1 -1
- package/dist/prover/statetransition/StateTransitionProver.js +27 -28
- package/dist/prover/statetransition/StateTransitionProver.js.map +1 -0
- package/dist/settlement/ContractModule.d.ts +4 -3
- package/dist/settlement/ContractModule.d.ts.map +1 -1
- package/dist/settlement/ContractModule.js +2 -1
- package/dist/settlement/ContractModule.js.map +1 -0
- package/dist/settlement/SettlementContractModule.d.ts +25 -12
- package/dist/settlement/SettlementContractModule.d.ts.map +1 -1
- package/dist/settlement/SettlementContractModule.js +29 -20
- package/dist/settlement/SettlementContractModule.js.map +1 -0
- package/dist/settlement/contracts/BridgeContract.d.ts +97 -0
- package/dist/settlement/contracts/BridgeContract.d.ts.map +1 -0
- package/dist/settlement/contracts/BridgeContract.js +164 -0
- package/dist/settlement/contracts/BridgeContract.js.map +1 -0
- package/dist/settlement/contracts/BridgeContractProtocolModule.d.ts +14 -0
- package/dist/settlement/contracts/BridgeContractProtocolModule.d.ts.map +1 -0
- package/dist/settlement/contracts/BridgeContractProtocolModule.js +30 -0
- package/dist/settlement/contracts/BridgeContractProtocolModule.js.map +1 -0
- package/dist/settlement/contracts/DispatchContractProtocolModule.d.ts +10 -1
- package/dist/settlement/contracts/DispatchContractProtocolModule.d.ts.map +1 -1
- package/dist/settlement/contracts/DispatchContractProtocolModule.js +24 -2
- package/dist/settlement/contracts/DispatchContractProtocolModule.js.map +1 -0
- package/dist/settlement/contracts/DispatchSmartContract.d.ts +26 -4
- package/dist/settlement/contracts/DispatchSmartContract.d.ts.map +1 -1
- package/dist/settlement/contracts/DispatchSmartContract.js +139 -19
- package/dist/settlement/contracts/DispatchSmartContract.js.map +1 -0
- package/dist/settlement/contracts/SettlementContractProtocolModule.d.ts +10 -8
- package/dist/settlement/contracts/SettlementContractProtocolModule.d.ts.map +1 -1
- package/dist/settlement/contracts/SettlementContractProtocolModule.js +47 -9
- package/dist/settlement/contracts/SettlementContractProtocolModule.js.map +1 -0
- package/dist/settlement/contracts/SettlementSmartContract.d.ts +98 -17
- package/dist/settlement/contracts/SettlementSmartContract.d.ts.map +1 -1
- package/dist/settlement/contracts/SettlementSmartContract.js +147 -79
- package/dist/settlement/contracts/SettlementSmartContract.js.map +1 -0
- package/dist/settlement/contracts/TokenBridgeTree.d.ts +228 -0
- package/dist/settlement/contracts/TokenBridgeTree.d.ts.map +1 -0
- package/dist/settlement/contracts/TokenBridgeTree.js +60 -0
- package/dist/settlement/contracts/TokenBridgeTree.js.map +1 -0
- package/dist/settlement/contracts/authorizations/ContractAuthorization.d.ts +10 -0
- package/dist/settlement/contracts/authorizations/ContractAuthorization.d.ts.map +1 -0
- package/dist/settlement/contracts/authorizations/ContractAuthorization.js +2 -0
- package/dist/settlement/contracts/authorizations/ContractAuthorization.js.map +1 -0
- package/dist/settlement/contracts/authorizations/TokenBridgeDeploymentAuth.d.ts +85 -0
- package/dist/settlement/contracts/authorizations/TokenBridgeDeploymentAuth.d.ts.map +1 -0
- package/dist/settlement/contracts/authorizations/TokenBridgeDeploymentAuth.js +11 -0
- package/dist/settlement/contracts/authorizations/TokenBridgeDeploymentAuth.js.map +1 -0
- package/dist/settlement/contracts/authorizations/UpdateMessagesHashAuth.d.ts +79 -0
- package/dist/settlement/contracts/authorizations/UpdateMessagesHashAuth.d.ts.map +1 -0
- package/dist/settlement/contracts/authorizations/UpdateMessagesHashAuth.js +11 -0
- package/dist/settlement/contracts/authorizations/UpdateMessagesHashAuth.js.map +1 -0
- package/dist/settlement/messages/Deposit.d.ts +13 -0
- package/dist/settlement/messages/Deposit.d.ts.map +1 -1
- package/dist/settlement/messages/Deposit.js +3 -1
- package/dist/settlement/messages/Deposit.js.map +1 -0
- package/dist/settlement/messages/OutgoingMessageArgument.d.ts +8 -0
- package/dist/settlement/messages/OutgoingMessageArgument.d.ts.map +1 -1
- package/dist/settlement/messages/OutgoingMessageArgument.js +1 -0
- package/dist/settlement/messages/OutgoingMessageArgument.js.map +1 -0
- package/dist/settlement/messages/Withdrawal.d.ts +13 -0
- package/dist/settlement/messages/Withdrawal.d.ts.map +1 -1
- package/dist/settlement/messages/Withdrawal.js +4 -1
- package/dist/settlement/messages/Withdrawal.js.map +1 -0
- package/dist/settlement/modularity/ProvableSettlementHook.d.ts +5 -3
- package/dist/settlement/modularity/ProvableSettlementHook.d.ts.map +1 -1
- package/dist/settlement/modularity/ProvableSettlementHook.js +1 -0
- package/dist/settlement/modularity/ProvableSettlementHook.js.map +1 -0
- package/dist/settlement/modularity/types.d.ts +8 -0
- package/dist/settlement/modularity/types.d.ts.map +1 -0
- package/dist/settlement/modularity/types.js +2 -0
- package/dist/settlement/modularity/types.js.map +1 -0
- package/dist/settlement/modules/NetworkStateSettlementModule.js +1 -0
- package/dist/settlement/modules/NetworkStateSettlementModule.js.map +1 -0
- package/dist/state/State.js +1 -0
- package/dist/state/State.js.map +1 -0
- package/dist/state/StateMap.js +1 -0
- package/dist/state/StateMap.js.map +1 -0
- package/dist/state/StateService.js +1 -0
- package/dist/state/StateService.js.map +1 -0
- package/dist/state/StateServiceProvider.js +1 -0
- package/dist/state/StateServiceProvider.js.map +1 -0
- package/dist/state/assert/assert.js +1 -0
- package/dist/state/assert/assert.js.map +1 -0
- package/dist/state/context/RuntimeMethodExecutionContext.js +1 -0
- package/dist/state/context/RuntimeMethodExecutionContext.js.map +1 -0
- package/dist/state/context/TransitionMethodExecutionContext.js +1 -0
- package/dist/state/context/TransitionMethodExecutionContext.js.map +1 -0
- package/dist/state/protocol/ProtocolState.js +1 -0
- package/dist/state/protocol/ProtocolState.js.map +1 -0
- package/dist/utils/MinaPrefixedProvableHashList.js +1 -0
- package/dist/utils/MinaPrefixedProvableHashList.js.map +1 -0
- package/dist/utils/PrefixedProvableHashList.js +1 -0
- package/dist/utils/PrefixedProvableHashList.js.map +1 -0
- package/dist/utils/ProvableHashList.js +1 -0
- package/dist/utils/ProvableHashList.js.map +1 -0
- package/dist/utils/ProvableReductionHashList.js +1 -0
- package/dist/utils/ProvableReductionHashList.js.map +1 -0
- package/dist/utils/StateTransitionReductionList.js +1 -0
- package/dist/utils/StateTransitionReductionList.js.map +1 -0
- package/dist/utils/utils.js +1 -0
- package/dist/utils/utils.js.map +1 -0
- package/jest.config.cjs +12 -1
- package/package.json +4 -4
- package/src/hooks/NoopSettlementHook.ts +2 -2
- package/src/index.ts +6 -2
- package/src/model/StateTransitionProvableBatch.ts +24 -4
- package/src/protocol/Protocol.ts +36 -7
- package/src/protocol/ProtocolModule.ts +1 -1
- package/src/prover/block/BlockProvable.ts +9 -9
- package/src/prover/block/BlockProver.ts +94 -58
- package/src/prover/statetransition/StateTransitionProvable.ts +5 -8
- package/src/prover/statetransition/StateTransitionProver.ts +46 -40
- package/src/settlement/ContractModule.ts +17 -10
- package/src/settlement/SettlementContractModule.ts +54 -41
- package/src/settlement/contracts/BridgeContract.ts +237 -0
- package/src/settlement/contracts/BridgeContractProtocolModule.ts +43 -0
- package/src/settlement/contracts/DispatchContractProtocolModule.ts +37 -3
- package/src/settlement/contracts/DispatchSmartContract.ts +213 -23
- package/src/settlement/contracts/SettlementContractProtocolModule.ts +61 -20
- package/src/settlement/contracts/SettlementSmartContract.ts +261 -107
- package/src/settlement/contracts/TokenBridgeTree.ts +73 -0
- package/src/settlement/contracts/authorizations/ContractAuthorization.ts +11 -0
- package/src/settlement/contracts/authorizations/TokenBridgeDeploymentAuth.ts +16 -0
- package/src/settlement/contracts/authorizations/UpdateMessagesHashAuth.ts +16 -0
- package/src/settlement/messages/Deposit.ts +2 -1
- package/src/settlement/messages/Withdrawal.ts +3 -1
- package/src/settlement/modularity/ProvableSettlementHook.ts +6 -3
- package/src/settlement/modularity/types.ts +22 -0
- package/test/BlockProver.test.ts +2 -1
- package/test/TestingProtocol.ts +17 -12
- package/test/compiling/types.ts +28 -0
- package/test/modularity/types.ts +35 -0
- package/dist/prover/statetransition/StateTransitionWitnessProvider.d.ts +0 -16
- package/dist/prover/statetransition/StateTransitionWitnessProvider.d.ts.map +0 -1
- package/dist/prover/statetransition/StateTransitionWitnessProvider.js +0 -16
- package/dist/prover/statetransition/StateTransitionWitnessProviderReference.d.ts +0 -7
- package/dist/prover/statetransition/StateTransitionWitnessProviderReference.d.ts.map +0 -1
- package/dist/prover/statetransition/StateTransitionWitnessProviderReference.js +0 -19
- package/dist/state/context/ProtocolMethodExecutionContext.d.ts +0 -22
- package/dist/state/context/ProtocolMethodExecutionContext.d.ts.map +0 -1
- package/dist/state/context/ProtocolMethodExecutionContext.js +0 -28
- package/src/prover/statetransition/StateTransitionWitnessProvider.ts +0 -23
- package/src/prover/statetransition/StateTransitionWitnessProviderReference.ts +0 -17
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { TypedClass } from "@proto-kit/common";
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
ContractModule,
|
|
5
|
+
SmartContractClassFromInterface,
|
|
6
|
+
} from "../ContractModule";
|
|
7
|
+
import type { SettlementModulesRecord } from "../SettlementContractModule";
|
|
8
|
+
|
|
9
|
+
export type InferContractType<
|
|
10
|
+
Module extends TypedClass<ContractModule<any, any>>,
|
|
11
|
+
> =
|
|
12
|
+
Module extends TypedClass<infer ConcreteModule>
|
|
13
|
+
? ConcreteModule extends ContractModule<infer Contract, any>
|
|
14
|
+
? Contract
|
|
15
|
+
: never
|
|
16
|
+
: never;
|
|
17
|
+
|
|
18
|
+
export type GetContracts<SettlementModules extends SettlementModulesRecord> = {
|
|
19
|
+
[Key in keyof SettlementModules]: SmartContractClassFromInterface<
|
|
20
|
+
InferContractType<SettlementModules[Key]>
|
|
21
|
+
>;
|
|
22
|
+
};
|
package/test/BlockProver.test.ts
CHANGED
|
@@ -34,7 +34,7 @@ class RuntimeZkProgrammable extends ZkProgrammable<
|
|
|
34
34
|
undefined,
|
|
35
35
|
MethodPublicOutput
|
|
36
36
|
> {
|
|
37
|
-
get
|
|
37
|
+
get areProofsEnabled(): AreProofsEnabled | undefined {
|
|
38
38
|
return new MockAppChain();
|
|
39
39
|
}
|
|
40
40
|
|
|
@@ -47,6 +47,7 @@ class RuntimeZkProgrammable extends ZkProgrammable<
|
|
|
47
47
|
|
|
48
48
|
return [
|
|
49
49
|
{
|
|
50
|
+
name: program.name,
|
|
50
51
|
compile: program.compile.bind(program),
|
|
51
52
|
verify: program.verify.bind(program),
|
|
52
53
|
analyzeMethods: program.analyzeMethods.bind(program),
|
package/test/TestingProtocol.ts
CHANGED
|
@@ -1,22 +1,17 @@
|
|
|
1
|
-
import { WithZkProgrammable, ZkProgrammable } from "@proto-kit/common";
|
|
2
1
|
import { container } from "tsyringe";
|
|
2
|
+
import { Runtime } from "@proto-kit/module";
|
|
3
|
+
import { Balance } from "@proto-kit/sequencer/test/integration/mocks/Balance";
|
|
4
|
+
import { NoopRuntime } from "@proto-kit/sequencer/test/integration/mocks/NoopRuntime";
|
|
3
5
|
|
|
4
6
|
import {
|
|
5
7
|
AccountStateHook,
|
|
6
8
|
BlockHeightHook,
|
|
7
9
|
BlockProver,
|
|
8
10
|
LastStateRootBlockHook,
|
|
9
|
-
MethodPublicOutput,
|
|
10
|
-
NoOpStateTransitionWitnessProvider,
|
|
11
11
|
Protocol,
|
|
12
12
|
StateTransitionProver,
|
|
13
13
|
} from "../src";
|
|
14
14
|
|
|
15
|
-
class RuntimeMock implements WithZkProgrammable<undefined, MethodPublicOutput> {
|
|
16
|
-
zkProgrammable: ZkProgrammable<undefined, MethodPublicOutput> =
|
|
17
|
-
undefined as unknown as ZkProgrammable<undefined, MethodPublicOutput>;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
15
|
export function createAndInitTestingProtocol() {
|
|
21
16
|
const ProtocolClass = Protocol.from({
|
|
22
17
|
modules: {
|
|
@@ -36,12 +31,22 @@ export function createAndInitTestingProtocol() {
|
|
|
36
31
|
StateTransitionProver: {},
|
|
37
32
|
LastStateRoot: {},
|
|
38
33
|
});
|
|
39
|
-
protocol.create(() => container.createChildContainer());
|
|
40
34
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
35
|
+
const appChain = container.createChildContainer();
|
|
36
|
+
|
|
37
|
+
appChain.register("Runtime", {
|
|
38
|
+
useClass: Runtime.from({
|
|
39
|
+
modules: {
|
|
40
|
+
Balance,
|
|
41
|
+
NoopRuntime,
|
|
42
|
+
},
|
|
43
|
+
config: {
|
|
44
|
+
Balance: {},
|
|
45
|
+
NoopRuntime: {},
|
|
46
|
+
},
|
|
47
|
+
}),
|
|
44
48
|
});
|
|
49
|
+
protocol.create(() => appChain.createChildContainer());
|
|
45
50
|
|
|
46
51
|
return protocol;
|
|
47
52
|
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Field, VerificationKey } from "o1js";
|
|
2
|
+
|
|
3
|
+
import { CompileRegistry, InferDependencyArtifacts } from "../../src";
|
|
4
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
5
|
+
|
|
6
|
+
type TestModule = {
|
|
7
|
+
compile(
|
|
8
|
+
registry: CompileRegistry
|
|
9
|
+
): Promise<{ bar: { verificationKey: VerificationKey } }>;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
type Inferred = InferDependencyArtifacts<{ foo: TestModule }>;
|
|
13
|
+
const typeAssignmentTest: Inferred = {
|
|
14
|
+
foo: {
|
|
15
|
+
bar: {
|
|
16
|
+
verificationKey: {
|
|
17
|
+
data: "",
|
|
18
|
+
hash: Field(1),
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
const typePropertyTest: Inferred["foo"]["bar"]["verificationKey"] extends VerificationKey
|
|
25
|
+
? true
|
|
26
|
+
: false = true;
|
|
27
|
+
|
|
28
|
+
/* eslint-enable @typescript-eslint/no-unused-vars */
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { SmartContract } from "o1js";
|
|
2
|
+
import { TypedClass } from "@proto-kit/common";
|
|
3
|
+
|
|
4
|
+
import { GetContracts } from "../../src/settlement/modularity/types";
|
|
5
|
+
import {
|
|
6
|
+
BridgeContractType,
|
|
7
|
+
MandatorySettlementModulesRecord,
|
|
8
|
+
SettlementContractType,
|
|
9
|
+
} from "../../src";
|
|
10
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
11
|
+
|
|
12
|
+
// Goal of this "test" is that it compiles. By compiling this file checks that
|
|
13
|
+
// certain types are inferred correctly
|
|
14
|
+
|
|
15
|
+
type Inferred = GetContracts<MandatorySettlementModulesRecord>;
|
|
16
|
+
|
|
17
|
+
// Get inferred Bridge Type
|
|
18
|
+
type Bridge = Inferred["BridgeContract"];
|
|
19
|
+
// Get inferred Settlement Contract Type
|
|
20
|
+
type Settlement = Inferred["SettlementContract"];
|
|
21
|
+
|
|
22
|
+
// Check that the Bridge type is of the correct type
|
|
23
|
+
const bridgeSuccessful: Bridge extends TypedClass<
|
|
24
|
+
SmartContract & BridgeContractType
|
|
25
|
+
>
|
|
26
|
+
? true
|
|
27
|
+
: false = true;
|
|
28
|
+
|
|
29
|
+
const settlementSuccessful: Settlement extends TypedClass<
|
|
30
|
+
SmartContract & SettlementContractType
|
|
31
|
+
>
|
|
32
|
+
? true
|
|
33
|
+
: false = true;
|
|
34
|
+
|
|
35
|
+
/* eslint-enable @typescript-eslint/no-unused-vars */
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { Field } from "o1js";
|
|
2
|
-
import { RollupMerkleTreeWitness } from "@proto-kit/common";
|
|
3
|
-
/**
|
|
4
|
-
* Interface for providing merkle witnesses to the state-transition prover
|
|
5
|
-
*/
|
|
6
|
-
export interface StateTransitionWitnessProvider {
|
|
7
|
-
/**
|
|
8
|
-
* Provides the merkle witness corresponding to the given key
|
|
9
|
-
* @param key Merkle-tree key
|
|
10
|
-
*/
|
|
11
|
-
getWitness: (key: Field) => RollupMerkleTreeWitness;
|
|
12
|
-
}
|
|
13
|
-
export declare class NoOpStateTransitionWitnessProvider implements StateTransitionWitnessProvider {
|
|
14
|
-
getWitness(): RollupMerkleTreeWitness;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=StateTransitionWitnessProvider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StateTransitionWitnessProvider.d.ts","sourceRoot":"","sources":["../../../src/prover/statetransition/StateTransitionWitnessProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAElC,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C;;;OAGG;IACH,UAAU,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,uBAAuB,CAAC;CACrD;AAED,qBACa,kCACX,YAAW,8BAA8B;IAElC,UAAU,IAAI,uBAAuB;CAG7C"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
import { injectable } from "tsyringe";
|
|
8
|
-
import { RollupMerkleTreeWitness } from "@proto-kit/common";
|
|
9
|
-
export let NoOpStateTransitionWitnessProvider = class NoOpStateTransitionWitnessProvider {
|
|
10
|
-
getWitness() {
|
|
11
|
-
return new RollupMerkleTreeWitness({ path: [], isLeft: [] });
|
|
12
|
-
}
|
|
13
|
-
};
|
|
14
|
-
NoOpStateTransitionWitnessProvider = __decorate([
|
|
15
|
-
injectable()
|
|
16
|
-
], NoOpStateTransitionWitnessProvider);
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { StateTransitionWitnessProvider } from "./StateTransitionWitnessProvider";
|
|
2
|
-
export declare class StateTransitionWitnessProviderReference {
|
|
3
|
-
private witnessProvider?;
|
|
4
|
-
setWitnessProvider(provider: StateTransitionWitnessProvider): void;
|
|
5
|
-
getWitnessProvider(): StateTransitionWitnessProvider | undefined;
|
|
6
|
-
}
|
|
7
|
-
//# sourceMappingURL=StateTransitionWitnessProviderReference.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StateTransitionWitnessProviderReference.d.ts","sourceRoot":"","sources":["../../../src/prover/statetransition/StateTransitionWitnessProviderReference.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAElF,qBAEa,uCAAuC;IAClD,OAAO,CAAC,eAAe,CAAC,CAAiC;IAElD,kBAAkB,CAAC,QAAQ,EAAE,8BAA8B;IAI3D,kBAAkB,IAAI,8BAA8B,GAAG,SAAS;CAGxE"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
import { injectable, Lifecycle, scoped } from "tsyringe";
|
|
8
|
-
export let StateTransitionWitnessProviderReference = class StateTransitionWitnessProviderReference {
|
|
9
|
-
setWitnessProvider(provider) {
|
|
10
|
-
this.witnessProvider = provider;
|
|
11
|
-
}
|
|
12
|
-
getWitnessProvider() {
|
|
13
|
-
return this.witnessProvider;
|
|
14
|
-
}
|
|
15
|
-
};
|
|
16
|
-
StateTransitionWitnessProviderReference = __decorate([
|
|
17
|
-
injectable(),
|
|
18
|
-
scoped(Lifecycle.ContainerScoped)
|
|
19
|
-
], StateTransitionWitnessProviderReference);
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { StateTransition } from "../../model/StateTransition";
|
|
2
|
-
import { TransitionMethodExecutionContext, TransitionMethodExecutionResult } from "./TransitionMethodExecutionContext";
|
|
3
|
-
export declare class ProtocolMethodExecutionContext implements TransitionMethodExecutionContext {
|
|
4
|
-
result: TransitionMethodExecutionResult;
|
|
5
|
-
/**
|
|
6
|
-
* Adds an in-method generated state transition to the current context
|
|
7
|
-
* @param stateTransition - State transition to add to the context
|
|
8
|
-
*/
|
|
9
|
-
addStateTransition<Value>(stateTransition: StateTransition<Value>): void;
|
|
10
|
-
/**
|
|
11
|
-
* Manually clears/resets the execution context
|
|
12
|
-
*/
|
|
13
|
-
clear(): void;
|
|
14
|
-
/**
|
|
15
|
-
* Had to override current() otherwise it would not infer
|
|
16
|
-
* the type of result correctly (parent type would be reused)
|
|
17
|
-
*/
|
|
18
|
-
current(): {
|
|
19
|
-
result: TransitionMethodExecutionResult;
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=ProtocolMethodExecutionContext.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ProtocolMethodExecutionContext.d.ts","sourceRoot":"","sources":["../../../src/state/context/ProtocolMethodExecutionContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EACL,gCAAgC,EAChC,+BAA+B,EAChC,MAAM,oCAAoC,CAAC;AAE5C,qBAAa,8BACX,YAAW,gCAAgC;IAEpC,MAAM,kCAAyC;IAEtD;;;OAGG;IACI,kBAAkB,CAAC,KAAK,EAAE,eAAe,EAAE,eAAe,CAAC,KAAK,CAAC;IAIxE;;OAEG;IACI,KAAK;IAIZ;;;OAGG;IACI,OAAO;;;CAKf"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { TransitionMethodExecutionResult, } from "./TransitionMethodExecutionContext";
|
|
2
|
-
export class ProtocolMethodExecutionContext {
|
|
3
|
-
constructor() {
|
|
4
|
-
this.result = new TransitionMethodExecutionResult();
|
|
5
|
-
}
|
|
6
|
-
/**
|
|
7
|
-
* Adds an in-method generated state transition to the current context
|
|
8
|
-
* @param stateTransition - State transition to add to the context
|
|
9
|
-
*/
|
|
10
|
-
addStateTransition(stateTransition) {
|
|
11
|
-
this.result.stateTransitions.push(stateTransition);
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Manually clears/resets the execution context
|
|
15
|
-
*/
|
|
16
|
-
clear() {
|
|
17
|
-
this.result = new TransitionMethodExecutionResult();
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Had to override current() otherwise it would not infer
|
|
21
|
-
* the type of result correctly (parent type would be reused)
|
|
22
|
-
*/
|
|
23
|
-
current() {
|
|
24
|
-
return {
|
|
25
|
-
result: this.result,
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import type { Field } from "o1js";
|
|
2
|
-
import { injectable } from "tsyringe";
|
|
3
|
-
import { RollupMerkleTreeWitness } from "@proto-kit/common";
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Interface for providing merkle witnesses to the state-transition prover
|
|
7
|
-
*/
|
|
8
|
-
export interface StateTransitionWitnessProvider {
|
|
9
|
-
/**
|
|
10
|
-
* Provides the merkle witness corresponding to the given key
|
|
11
|
-
* @param key Merkle-tree key
|
|
12
|
-
*/
|
|
13
|
-
getWitness: (key: Field) => RollupMerkleTreeWitness;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
@injectable()
|
|
17
|
-
export class NoOpStateTransitionWitnessProvider
|
|
18
|
-
implements StateTransitionWitnessProvider
|
|
19
|
-
{
|
|
20
|
-
public getWitness(): RollupMerkleTreeWitness {
|
|
21
|
-
return new RollupMerkleTreeWitness({ path: [], isLeft: [] });
|
|
22
|
-
}
|
|
23
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { injectable, Lifecycle, scoped } from "tsyringe";
|
|
2
|
-
|
|
3
|
-
import { StateTransitionWitnessProvider } from "./StateTransitionWitnessProvider";
|
|
4
|
-
|
|
5
|
-
@injectable()
|
|
6
|
-
@scoped(Lifecycle.ContainerScoped)
|
|
7
|
-
export class StateTransitionWitnessProviderReference {
|
|
8
|
-
private witnessProvider?: StateTransitionWitnessProvider;
|
|
9
|
-
|
|
10
|
-
public setWitnessProvider(provider: StateTransitionWitnessProvider) {
|
|
11
|
-
this.witnessProvider = provider;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
public getWitnessProvider(): StateTransitionWitnessProvider | undefined {
|
|
15
|
-
return this.witnessProvider;
|
|
16
|
-
}
|
|
17
|
-
}
|