@proto-kit/protocol 0.1.1-develop.1087 → 0.1.1-develop.1309
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/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,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
|
-
}
|