@proto-kit/protocol 0.1.1-develop.651 → 0.1.1-develop.833
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/LICENSE.md +201 -201
- package/dist/blockmodules/AccountStateModule.d.ts +37 -37
- package/dist/blockmodules/AccountStateModule.js +43 -43
- package/dist/blockmodules/BlockHeightHook.d.ts +6 -6
- package/dist/blockmodules/BlockHeightHook.js +15 -15
- package/dist/blockmodules/LastStateRootBlockHook.d.ts +7 -7
- package/dist/blockmodules/LastStateRootBlockHook.js +15 -15
- package/dist/blockmodules/NoopBlockHook.d.ts +8 -8
- package/dist/blockmodules/NoopBlockHook.js +9 -9
- package/dist/blockmodules/NoopSettlementHook.d.ts +5 -5
- package/dist/blockmodules/NoopSettlementHook.d.ts.map +1 -1
- package/dist/blockmodules/NoopSettlementHook.js +18 -18
- package/dist/blockmodules/NoopTransactionHook.d.ts +5 -5
- package/dist/blockmodules/NoopTransactionHook.js +4 -4
- package/dist/hooks/AccountStateHook.d.ts +19 -5
- package/dist/hooks/AccountStateHook.d.ts.map +1 -1
- package/dist/hooks/AccountStateHook.js +9 -10
- package/dist/hooks/BlockHeightHook.d.ts +2 -2
- package/dist/hooks/BlockHeightHook.d.ts.map +1 -1
- package/dist/hooks/BlockHeightHook.js +3 -3
- package/dist/hooks/LastStateRootBlockHook.d.ts +2 -2
- package/dist/hooks/LastStateRootBlockHook.d.ts.map +1 -1
- package/dist/hooks/LastStateRootBlockHook.js +2 -2
- package/dist/hooks/NoopBlockHook.d.ts +3 -3
- package/dist/hooks/NoopBlockHook.d.ts.map +1 -1
- package/dist/hooks/NoopBlockHook.js +2 -2
- package/dist/hooks/NoopSettlementHook.d.ts +1 -1
- package/dist/hooks/NoopSettlementHook.d.ts.map +1 -1
- package/dist/hooks/NoopSettlementHook.js +2 -3
- package/dist/hooks/NoopTransactionHook.d.ts +1 -1
- package/dist/hooks/NoopTransactionHook.d.ts.map +1 -1
- package/dist/hooks/NoopTransactionHook.js +4 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -2
- package/dist/model/MethodPublicOutput.d.ts +68 -34
- package/dist/model/MethodPublicOutput.d.ts.map +1 -1
- package/dist/model/Option.d.ts +39 -20
- package/dist/model/Option.d.ts.map +1 -1
- package/dist/model/Option.js +1 -0
- package/dist/model/Path.d.ts +1 -1
- package/dist/model/Path.d.ts.map +1 -1
- package/dist/model/Path.js +0 -2
- package/dist/model/StateTransition.d.ts +48 -12
- package/dist/model/StateTransition.d.ts.map +1 -1
- package/dist/model/StateTransitionProvableBatch.d.ts +71 -14
- package/dist/model/StateTransitionProvableBatch.d.ts.map +1 -1
- package/dist/model/StateTransitionReduction.d.ts +2 -2
- package/dist/model/StateTransitionReduction.js +26 -26
- package/dist/model/network/NetworkState.d.ts +73 -18
- package/dist/model/network/NetworkState.d.ts.map +1 -1
- package/dist/model/network/NetworkState.js +2 -2
- package/dist/model/transaction/ProtocolTransaction.d.ts +69 -69
- package/dist/model/transaction/ProtocolTransaction.js +18 -18
- package/dist/model/transaction/RuntimeTransaction.d.ts +50 -16
- package/dist/model/transaction/RuntimeTransaction.d.ts.map +1 -1
- package/dist/model/transaction/RuntimeTransaction.js +4 -4
- package/dist/model/transaction/SignedTransaction.d.ts +39 -3
- package/dist/model/transaction/SignedTransaction.d.ts.map +1 -1
- package/dist/model/transaction/SignedTransaction.js +1 -1
- package/dist/model/transaction/ValueOption.d.ts +86 -32
- package/dist/model/transaction/ValueOption.d.ts.map +1 -1
- package/dist/model/transaction/ValueOption.js +1 -1
- package/dist/protocol/Protocol.d.ts +6 -5
- package/dist/protocol/Protocol.d.ts.map +1 -1
- package/dist/protocol/Protocol.js +12 -3
- package/dist/protocol/ProtocolEnvironment.d.ts +3 -3
- package/dist/protocol/ProtocolEnvironment.d.ts.map +1 -1
- package/dist/protocol/ProtocolModule.d.ts +1 -0
- package/dist/protocol/ProtocolModule.d.ts.map +1 -1
- package/dist/protocol/ProtocolModule.js +3 -1
- package/dist/protocol/ProvableBlockHook.d.ts +2 -2
- package/dist/protocol/ProvableBlockHook.d.ts.map +1 -1
- package/dist/protocol/ProvableTransactionHook.d.ts +1 -1
- package/dist/protocol/ProvableTransactionHook.d.ts.map +1 -1
- package/dist/prover/block/BlockProvable.d.ts +240 -98
- package/dist/prover/block/BlockProvable.d.ts.map +1 -1
- package/dist/prover/block/BlockProver.d.ts +8 -8
- package/dist/prover/block/BlockProver.d.ts.map +1 -1
- package/dist/prover/block/BlockProver.js +48 -40
- package/dist/prover/block/BlockTransactionPosition.d.ts +35 -35
- package/dist/prover/block/BlockTransactionPosition.js +25 -25
- package/dist/prover/block/BundleTransactionPosition.d.ts +36 -0
- package/dist/prover/block/BundleTransactionPosition.d.ts.map +1 -0
- package/dist/prover/block/BundleTransactionPosition.js +25 -0
- package/dist/prover/block/SplitPrefilledStateService.d.ts +11 -0
- package/dist/prover/block/SplitPrefilledStateService.d.ts.map +1 -0
- package/dist/prover/block/SplitPrefilledStateService.js +1 -0
- package/dist/prover/block/SplitStateService.d.ts +11 -0
- package/dist/prover/block/SplitStateService.d.ts.map +1 -0
- package/dist/prover/block/SplitStateService.js +1 -0
- package/dist/prover/block/accummulators/BlockHashMerkleTree.d.ts +35 -16
- package/dist/prover/block/accummulators/BlockHashMerkleTree.d.ts.map +1 -1
- package/dist/prover/block/acummulators/BlockHashMerkleTree.d.ts +45 -0
- package/dist/prover/block/acummulators/BlockHashMerkleTree.d.ts.map +1 -0
- package/dist/prover/block/acummulators/BlockHashMerkleTree.js +16 -0
- package/dist/prover/statetransition/StateTransitionProvable.d.ts +116 -58
- package/dist/prover/statetransition/StateTransitionProvable.d.ts.map +1 -1
- package/dist/prover/statetransition/StateTransitionProver.d.ts +8 -8
- package/dist/prover/statetransition/StateTransitionProver.d.ts.map +1 -1
- package/dist/prover/statetransition/StateTransitionProver.js +17 -22
- package/dist/prover/statetransition/StateTransitionWitnessProvider.js +1 -2
- package/dist/prover/statetransition/StateTransitionWitnessProviderReference.js +1 -2
- package/dist/settlement/DispatchContract.d.ts +20 -0
- package/dist/settlement/DispatchContract.d.ts.map +1 -0
- package/dist/settlement/DispatchContract.js +112 -0
- package/dist/settlement/OutgoingMessageArgument.d.ts +109 -0
- package/dist/settlement/OutgoingMessageArgument.d.ts.map +1 -0
- package/dist/settlement/OutgoingMessageArgument.js +32 -0
- package/dist/settlement/ProvableSettlementHook.d.ts +25 -25
- package/dist/settlement/ProvableSettlementHook.js +3 -3
- package/dist/settlement/SettlementContract.d.ts +229 -229
- package/dist/settlement/SettlementContract.js +346 -346
- package/dist/settlement/SettlementContractModule.d.ts +1 -0
- package/dist/settlement/SettlementContractModule.d.ts.map +1 -1
- package/dist/settlement/SettlementContractModule.js +7 -4
- package/dist/settlement/contracts/DispatchContract.d.ts +21 -0
- package/dist/settlement/contracts/DispatchContract.d.ts.map +1 -0
- package/dist/settlement/contracts/DispatchContract.js +111 -0
- package/dist/settlement/contracts/DispatchContractProtocolModule.js +1 -2
- package/dist/settlement/contracts/DispatchSmartContract.d.ts +8 -8
- package/dist/settlement/contracts/DispatchSmartContract.d.ts.map +1 -1
- package/dist/settlement/contracts/DispatchSmartContract.js +14 -14
- package/dist/settlement/contracts/SettlementContract.d.ts +19 -0
- package/dist/settlement/contracts/SettlementContract.d.ts.map +1 -0
- package/dist/settlement/contracts/SettlementContract.js +43 -0
- package/dist/settlement/contracts/SettlementContractProtocolModule.d.ts.map +1 -1
- package/dist/settlement/contracts/SettlementContractProtocolModule.js +4 -4
- package/dist/settlement/contracts/SettlementSmartContract.d.ts +18 -17
- package/dist/settlement/contracts/SettlementSmartContract.d.ts.map +1 -1
- package/dist/settlement/contracts/SettlementSmartContract.js +46 -35
- package/dist/settlement/messages/Deposit.d.ts +29 -4
- package/dist/settlement/messages/Deposit.d.ts.map +1 -1
- package/dist/settlement/messages/OutgoingMessageArgument.d.ts +94 -14
- package/dist/settlement/messages/OutgoingMessageArgument.d.ts.map +1 -1
- package/dist/settlement/messages/Withdrawal.d.ts +29 -4
- package/dist/settlement/messages/Withdrawal.d.ts.map +1 -1
- package/dist/settlement/modularity/ProvableSettlementHook.d.ts +2 -2
- package/dist/settlement/modularity/ProvableSettlementHook.d.ts.map +1 -1
- package/dist/settlement/modules/NetworkStateSettlementModule.d.ts +1 -1
- package/dist/settlement/modules/NetworkStateSettlementModule.d.ts.map +1 -1
- package/dist/settlement/modules/NetworkStateSettlementModule.js +3 -1
- package/dist/state/State.d.ts +4 -3
- package/dist/state/State.d.ts.map +1 -1
- package/dist/state/State.js +16 -11
- package/dist/state/StateMap.d.ts +3 -3
- package/dist/state/StateMap.d.ts.map +1 -1
- package/dist/state/StateMap.js +4 -5
- package/dist/state/StateService.d.ts +3 -3
- package/dist/state/StateService.d.ts.map +1 -1
- package/dist/state/StateServiceProvider.d.ts +3 -3
- package/dist/state/StateServiceProvider.d.ts.map +1 -1
- package/dist/state/StateServiceProvider.js +1 -3
- package/dist/state/assert/assert.d.ts +1 -1
- package/dist/state/assert/assert.d.ts.map +1 -1
- package/dist/state/assert/assert.js +4 -1
- package/dist/state/context/ProtocolMethodExecutionContext.d.ts +1 -1
- package/dist/state/context/ProtocolMethodExecutionContext.d.ts.map +1 -1
- package/dist/state/context/ProtocolMethodExecutionContext.js +1 -1
- package/dist/state/context/RuntimeMethodExecutionContext.d.ts +54 -3
- package/dist/state/context/RuntimeMethodExecutionContext.d.ts.map +1 -1
- package/dist/state/context/RuntimeMethodExecutionContext.js +4 -5
- package/dist/state/context/TransitionMethodExecutionContext.d.ts.map +1 -1
- package/dist/state/context/TransitionMethodExecutionContext.js +0 -1
- package/dist/state/context/contextExecution.d.ts +14 -0
- package/dist/state/context/contextExecution.d.ts.map +1 -0
- package/dist/state/context/contextExecution.js +30 -0
- package/dist/state/protocol/ProtocolState.d.ts.map +1 -1
- package/dist/state/protocol/ProtocolState.js +0 -3
- package/dist/utils/AppliedBatchHashList.d.ts +17 -0
- package/dist/utils/AppliedBatchHashList.d.ts.map +1 -0
- package/dist/utils/AppliedBatchHashList.js +24 -0
- package/dist/utils/MinaPrefixedProvableHashList.d.ts.map +1 -1
- package/dist/utils/MinaPrefixedProvableHashList.js +1 -0
- package/dist/utils/ProvableHashList.d.ts +1 -1
- package/dist/utils/StateTransitionReductionList.d.ts +1 -1
- package/dist/utils/StateTransitionReductionList.d.ts.map +1 -1
- package/dist/utils/StateTransitionReductionList.js +3 -3
- package/dist/utils/merkletree/InMemoryMerkleTreeStorage.d.ts +11 -0
- package/dist/utils/merkletree/InMemoryMerkleTreeStorage.d.ts.map +1 -0
- package/dist/utils/merkletree/InMemoryMerkleTreeStorage.js +12 -0
- package/dist/utils/merkletree/MerkleTreeStore.d.ts +5 -0
- package/dist/utils/merkletree/MerkleTreeStore.d.ts.map +1 -0
- package/dist/utils/merkletree/MerkleTreeStore.js +1 -0
- package/dist/utils/merkletree/RollupMerkleTree.d.ts +133 -0
- package/dist/utils/merkletree/RollupMerkleTree.d.ts.map +1 -0
- package/dist/utils/merkletree/RollupMerkleTree.js +255 -0
- package/dist/utils/utils.d.ts +1 -1
- package/dist/utils/utils.d.ts.map +1 -1
- package/dist/utils/utils.js +5 -10
- package/package.json +5 -5
- package/src/hooks/AccountStateHook.ts +11 -9
- package/src/hooks/BlockHeightHook.ts +3 -4
- package/src/hooks/LastStateRootBlockHook.ts +4 -4
- package/src/hooks/NoopBlockHook.ts +6 -5
- package/src/hooks/NoopSettlementHook.ts +2 -2
- package/src/hooks/NoopTransactionHook.ts +5 -1
- package/src/index.ts +0 -2
- package/src/model/MethodPublicOutput.ts +2 -2
- package/src/model/Option.ts +5 -1
- package/src/model/Path.ts +1 -3
- package/src/model/StateTransition.ts +1 -1
- package/src/model/Transaction.ts +2 -0
- package/src/model/network/NetworkState.ts +2 -2
- package/src/model/transaction/RuntimeTransaction.ts +5 -12
- package/src/model/transaction/SignedTransaction.ts +1 -8
- package/src/model/transaction/ValueOption.ts +1 -1
- package/src/protocol/Protocol.ts +24 -13
- package/src/protocol/ProtocolEnvironment.ts +7 -6
- package/src/protocol/ProtocolModule.ts +5 -2
- package/src/protocol/ProvableBlockHook.ts +3 -3
- package/src/protocol/ProvableTransactionHook.ts +4 -2
- package/src/protocol/TransitioningProtocolModule.ts +1 -1
- package/src/prover/block/BlockProvable.ts +3 -3
- package/src/prover/block/BlockProver.ts +78 -55
- package/src/prover/block/accummulators/BlockHashMerkleTree.ts +1 -1
- package/src/prover/statetransition/StateTransitionProvable.ts +3 -3
- package/src/prover/statetransition/StateTransitionProver.ts +23 -27
- package/src/settlement/ContractModule.ts +1 -1
- package/src/settlement/SettlementContractModule.ts +14 -9
- package/src/settlement/contracts/DispatchSmartContract.ts +15 -14
- package/src/settlement/contracts/SettlementContractProtocolModule.ts +6 -4
- package/src/settlement/contracts/SettlementSmartContract.ts +55 -34
- package/src/settlement/messages/OutgoingMessageArgument.ts +1 -0
- package/src/settlement/modularity/ProvableSettlementHook.ts +3 -4
- package/src/settlement/modules/NetworkStateSettlementModule.ts +5 -2
- package/src/state/State.ts +19 -12
- package/src/state/StateMap.ts +4 -5
- package/src/state/StateService.ts +3 -3
- package/src/state/StateServiceProvider.ts +6 -7
- package/src/state/assert/assert.ts +6 -2
- package/src/state/context/RuntimeMethodExecutionContext.ts +5 -2
- package/src/state/context/TransitionMethodExecutionContext.ts +0 -1
- package/src/state/protocol/ProtocolState.ts +1 -4
- package/src/utils/MinaPrefixedProvableHashList.ts +2 -1
- package/src/utils/ProvableHashList.ts +1 -1
- package/src/utils/StateTransitionReductionList.ts +4 -3
- package/src/utils/utils.ts +4 -9
- package/test/BlockProver.test.ts +110 -128
- package/test/Protocol.test.ts +8 -20
- package/test/State.test.ts +8 -8
- package/test/StateTransition.test.ts +56 -66
- package/test/TestingProtocol.ts +48 -0
- package/test/model/Option.test.ts +72 -0
- package/{src → test}/state/assert/assert.test.ts +4 -4
- package/test/tsconfig.json +7 -0
- package/test/utils/ProvableReductionHashList.test.ts +5 -2
- package/test/utils.test.ts +0 -3
- package/dist/hooks/TransactionFeeHook.d.ts +0 -16
- package/dist/hooks/TransactionFeeHook.d.ts.map +0 -1
- package/dist/hooks/TransactionFeeHook.js +0 -39
- package/src/hooks/SequenceStateTransactionModule.ts +0 -25
- package/src/model/Option.test.ts +0 -21
- package/src/state/context/ProtocolMethodExecutionContext.ts +0 -36
- package/test/Option.test.ts +0 -64
- package/test/settlement/SettlementContract.test.ts +0 -45
- package/tsconfig.test.json +0 -9
package/dist/state/StateMap.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Field, FlexibleProvablePure } from "o1js";
|
|
2
2
|
import { Option } from "../model/Option";
|
|
3
3
|
import { WithStateServiceProvider, WithPath } from "./State";
|
|
4
|
-
declare const StateMap_base: import("ts-mixer/dist/types/types").Class<any[], WithPath & WithStateServiceProvider, typeof WithPath & typeof WithStateServiceProvider
|
|
4
|
+
declare const StateMap_base: import("ts-mixer/dist/types/types").Class<any[], WithPath & WithStateServiceProvider, typeof WithPath & typeof WithStateServiceProvider>;
|
|
5
5
|
/**
|
|
6
6
|
* Map-like wrapper for state
|
|
7
7
|
*/
|
|
@@ -24,14 +24,14 @@ export declare class StateMap<KeyType, ValueType> extends StateMap_base {
|
|
|
24
24
|
* @param key - Key to obtain the state for
|
|
25
25
|
* @returns Value for the provided key.
|
|
26
26
|
*/
|
|
27
|
-
get(key: KeyType): Option<ValueType
|
|
27
|
+
get(key: KeyType): Promise<Option<ValueType>>;
|
|
28
28
|
/**
|
|
29
29
|
* Sets a value for the given key in the current state map.
|
|
30
30
|
*
|
|
31
31
|
* @param key - Key to store the value under
|
|
32
32
|
* @param value - Value to be stored under the given key
|
|
33
33
|
*/
|
|
34
|
-
set(key: KeyType, value: ValueType): void
|
|
34
|
+
set(key: KeyType, value: ValueType): Promise<void>;
|
|
35
35
|
}
|
|
36
36
|
export {};
|
|
37
37
|
//# sourceMappingURL=StateMap.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StateMap.d.ts","sourceRoot":"","sources":["../../src/state/StateMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,MAAM,MAAM,CAAC;AAIxD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAS,wBAAwB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;;AAEpE;;GAEG;
|
|
1
|
+
{"version":3,"file":"StateMap.d.ts","sourceRoot":"","sources":["../../src/state/StateMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,MAAM,MAAM,CAAC;AAIxD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAS,wBAAwB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;;AAEpE;;GAEG;AACH,qBAAa,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAE,SAAQ,aAGjD;IAgBU,OAAO,EAAE,oBAAoB,CAAC,OAAO,CAAC;IACtC,SAAS,EAAE,oBAAoB,CAAC,SAAS,CAAC;IAhBnD;;;;;;OAMG;WACW,IAAI,CAAC,OAAO,EAAE,SAAS,EACnC,OAAO,EAAE,oBAAoB,CAAC,OAAO,CAAC,EACtC,SAAS,EAAE,oBAAoB,CAAC,SAAS,CAAC,GACzC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;gBAKtB,OAAO,EAAE,oBAAoB,CAAC,OAAO,CAAC,EACtC,SAAS,EAAE,oBAAoB,CAAC,SAAS,CAAC;IAK5C,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,KAAK;IAKnC;;;;;OAKG;IACU,GAAG,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAU1D;;;;;OAKG;IACU,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;CAShE"}
|
package/dist/state/StateMap.js
CHANGED
|
@@ -4,7 +4,6 @@ import { State, WithStateServiceProvider, WithPath } from "./State";
|
|
|
4
4
|
/**
|
|
5
5
|
* Map-like wrapper for state
|
|
6
6
|
*/
|
|
7
|
-
// eslint-disable-next-line new-cap
|
|
8
7
|
export class StateMap extends Mixin(WithPath, WithStateServiceProvider) {
|
|
9
8
|
/**
|
|
10
9
|
* Create a new state map with the given key and value types
|
|
@@ -31,13 +30,13 @@ export class StateMap extends Mixin(WithPath, WithStateServiceProvider) {
|
|
|
31
30
|
* @param key - Key to obtain the state for
|
|
32
31
|
* @returns Value for the provided key.
|
|
33
32
|
*/
|
|
34
|
-
get(key) {
|
|
33
|
+
async get(key) {
|
|
35
34
|
const state = State.from(this.valueType);
|
|
36
35
|
this.hasPathOrFail();
|
|
37
36
|
this.hasStateServiceOrFail();
|
|
38
37
|
state.path = this.getPath(key);
|
|
39
38
|
state.stateServiceProvider = this.stateServiceProvider;
|
|
40
|
-
return state.get();
|
|
39
|
+
return await state.get();
|
|
41
40
|
}
|
|
42
41
|
/**
|
|
43
42
|
* Sets a value for the given key in the current state map.
|
|
@@ -45,12 +44,12 @@ export class StateMap extends Mixin(WithPath, WithStateServiceProvider) {
|
|
|
45
44
|
* @param key - Key to store the value under
|
|
46
45
|
* @param value - Value to be stored under the given key
|
|
47
46
|
*/
|
|
48
|
-
set(key, value) {
|
|
47
|
+
async set(key, value) {
|
|
49
48
|
const state = State.from(this.valueType);
|
|
50
49
|
this.hasPathOrFail();
|
|
51
50
|
this.hasStateServiceOrFail();
|
|
52
51
|
state.path = Path.fromKey(this.path, this.keyType, key);
|
|
53
52
|
state.stateServiceProvider = this.stateServiceProvider;
|
|
54
|
-
state.set(value);
|
|
53
|
+
return await state.set(value);
|
|
55
54
|
}
|
|
56
55
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Field } from "o1js";
|
|
2
|
-
export interface
|
|
3
|
-
get: (key: Field) => Field[] | undefined
|
|
4
|
-
set: (key: Field, value: Field[] | undefined) => void
|
|
2
|
+
export interface SimpleAsyncStateService {
|
|
3
|
+
get: (key: Field) => Promise<Field[] | undefined>;
|
|
4
|
+
set: (key: Field, value: Field[] | undefined) => Promise<void>;
|
|
5
5
|
}
|
|
6
6
|
//# sourceMappingURL=StateService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StateService.d.ts","sourceRoot":"","sources":["../../src/state/StateService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAE7B,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"StateService.d.ts","sourceRoot":"","sources":["../../src/state/StateService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAE7B,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,OAAO,CAAC,KAAK,EAAE,GAAG,SAAS,CAAC,CAAC;IAClD,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAChE"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SimpleAsyncStateService } from "./StateService";
|
|
2
2
|
export declare class StateServiceProvider {
|
|
3
3
|
private readonly stateServiceStack;
|
|
4
|
-
get stateService():
|
|
5
|
-
setCurrentStateService(service:
|
|
4
|
+
get stateService(): SimpleAsyncStateService;
|
|
5
|
+
setCurrentStateService(service: SimpleAsyncStateService): void;
|
|
6
6
|
popCurrentStateService(): void;
|
|
7
7
|
}
|
|
8
8
|
//# sourceMappingURL=StateServiceProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StateServiceProvider.d.ts","sourceRoot":"","sources":["../../src/state/StateServiceProvider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"StateServiceProvider.d.ts","sourceRoot":"","sources":["../../src/state/StateServiceProvider.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AASzD,qBACa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAiC;IAEnE,IAAW,YAAY,IAAI,uBAAuB,CAOjD;IAEM,sBAAsB,CAAC,OAAO,EAAE,uBAAuB;IAIvD,sBAAsB;CAO9B"}
|
|
@@ -9,7 +9,7 @@ import { log } from "@proto-kit/common";
|
|
|
9
9
|
const errors = {
|
|
10
10
|
stateServiceNotSet: () => new Error("StateService has not been set yet. Be sure to either call your runtime or protocol function by creating them with an AppChain or by setting the stateService manually."),
|
|
11
11
|
};
|
|
12
|
-
let StateServiceProvider = class StateServiceProvider {
|
|
12
|
+
export let StateServiceProvider = class StateServiceProvider {
|
|
13
13
|
constructor() {
|
|
14
14
|
this.stateServiceStack = [];
|
|
15
15
|
}
|
|
@@ -18,7 +18,6 @@ let StateServiceProvider = class StateServiceProvider {
|
|
|
18
18
|
throw errors.stateServiceNotSet();
|
|
19
19
|
}
|
|
20
20
|
// Assertion here is ok, because we check that the array is not empty above
|
|
21
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
22
21
|
return this.stateServiceStack.at(-1);
|
|
23
22
|
}
|
|
24
23
|
setCurrentStateService(service) {
|
|
@@ -35,4 +34,3 @@ let StateServiceProvider = class StateServiceProvider {
|
|
|
35
34
|
StateServiceProvider = __decorate([
|
|
36
35
|
injectable()
|
|
37
36
|
], StateServiceProvider);
|
|
38
|
-
export { StateServiceProvider };
|
|
@@ -8,5 +8,5 @@ import { Bool } from "o1js";
|
|
|
8
8
|
* @param condition - Result of the assertion made about the execution status
|
|
9
9
|
* @param message - Optional message describing the prior status
|
|
10
10
|
*/
|
|
11
|
-
export declare function assert(condition: Bool, message?: string): void;
|
|
11
|
+
export declare function assert(condition: Bool, message?: string | (() => string)): void;
|
|
12
12
|
//# sourceMappingURL=assert.d.ts.map
|
|
@@ -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,
|
|
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,QAmBxE"}
|
|
@@ -20,7 +20,10 @@ export function assert(condition, message) {
|
|
|
20
20
|
if (!executionContext.current().isSimulated) {
|
|
21
21
|
log.debug("Assertion failed: ", message);
|
|
22
22
|
}
|
|
23
|
-
|
|
23
|
+
const messageString = message !== undefined && typeof message === "function"
|
|
24
|
+
? message()
|
|
25
|
+
: message;
|
|
26
|
+
executionContext.setStatusMessage(messageString, new Error().stack);
|
|
24
27
|
}
|
|
25
28
|
});
|
|
26
29
|
executionContext.setStatus(status);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { TransitionMethodExecutionContext, TransitionMethodExecutionResult } from "./TransitionMethodExecutionContext";
|
|
2
1
|
import { StateTransition } from "../../model/StateTransition";
|
|
2
|
+
import { TransitionMethodExecutionContext, TransitionMethodExecutionResult } from "./TransitionMethodExecutionContext";
|
|
3
3
|
export declare class ProtocolMethodExecutionContext implements TransitionMethodExecutionContext {
|
|
4
4
|
result: TransitionMethodExecutionResult;
|
|
5
5
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProtocolMethodExecutionContext.d.ts","sourceRoot":"","sources":["../../../src/state/context/ProtocolMethodExecutionContext.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
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,4 +1,4 @@
|
|
|
1
|
-
import { TransitionMethodExecutionResult } from "./TransitionMethodExecutionContext";
|
|
1
|
+
import { TransitionMethodExecutionResult, } from "./TransitionMethodExecutionContext";
|
|
2
2
|
export class ProtocolMethodExecutionContext {
|
|
3
3
|
constructor() {
|
|
4
4
|
this.result = new TransitionMethodExecutionResult();
|
|
@@ -7,6 +7,7 @@ export declare class RuntimeProvableMethodExecutionResult extends ProvableMethod
|
|
|
7
7
|
stateTransitions: StateTransition<any>[];
|
|
8
8
|
status: Bool;
|
|
9
9
|
statusMessage?: string;
|
|
10
|
+
stackTrace?: string;
|
|
10
11
|
}
|
|
11
12
|
export interface RuntimeMethodExecutionData {
|
|
12
13
|
transaction: RuntimeTransaction;
|
|
@@ -23,13 +24,59 @@ declare const RuntimeMethodExecutionDataStruct_base: (new (value: {
|
|
|
23
24
|
} & Provable<{
|
|
24
25
|
transaction: RuntimeTransaction;
|
|
25
26
|
networkState: NetworkState;
|
|
27
|
+
}, {
|
|
28
|
+
transaction: {
|
|
29
|
+
methodId: bigint;
|
|
30
|
+
argsHash: bigint;
|
|
31
|
+
nonce: {
|
|
32
|
+
isSome: boolean;
|
|
33
|
+
value: any;
|
|
34
|
+
};
|
|
35
|
+
sender: {
|
|
36
|
+
isSome: boolean;
|
|
37
|
+
value: any;
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
networkState: {
|
|
41
|
+
block: {
|
|
42
|
+
height: bigint;
|
|
43
|
+
};
|
|
44
|
+
previous: {
|
|
45
|
+
rootHash: bigint;
|
|
46
|
+
};
|
|
47
|
+
};
|
|
26
48
|
}> & {
|
|
49
|
+
fromValue: (value: {
|
|
50
|
+
transaction: RuntimeTransaction | {
|
|
51
|
+
methodId: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
|
|
52
|
+
argsHash: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
|
|
53
|
+
nonce: import("../..").UInt64Option | {
|
|
54
|
+
isSome: boolean | import("o1js/dist/node/lib/provable/bool").Bool;
|
|
55
|
+
value: any;
|
|
56
|
+
};
|
|
57
|
+
sender: import("../..").PublicKeyOption | {
|
|
58
|
+
isSome: boolean | import("o1js/dist/node/lib/provable/bool").Bool;
|
|
59
|
+
value: any;
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
networkState: NetworkState | {
|
|
63
|
+
block: import("../../model/network/NetworkState").CurrentBlock | {
|
|
64
|
+
height: bigint | import("o1js/dist/node/lib/provable/int").UInt64;
|
|
65
|
+
};
|
|
66
|
+
previous: import("../../model/network/NetworkState").PreviousBlock | {
|
|
67
|
+
rootHash: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
}) => {
|
|
71
|
+
transaction: RuntimeTransaction;
|
|
72
|
+
networkState: NetworkState;
|
|
73
|
+
};
|
|
27
74
|
toInput: (x: {
|
|
28
75
|
transaction: RuntimeTransaction;
|
|
29
76
|
networkState: NetworkState;
|
|
30
77
|
}) => {
|
|
31
|
-
fields?: import("o1js/dist/node/lib/field").Field[] | undefined;
|
|
32
|
-
packed?: [import("o1js/dist/node/lib/field").Field, number][] | undefined;
|
|
78
|
+
fields?: import("o1js/dist/node/lib/provable/field").Field[] | undefined;
|
|
79
|
+
packed?: [import("o1js/dist/node/lib/provable/field").Field, number][] | undefined;
|
|
33
80
|
};
|
|
34
81
|
toJSON: (x: {
|
|
35
82
|
transaction: RuntimeTransaction;
|
|
@@ -81,6 +128,10 @@ declare const RuntimeMethodExecutionDataStruct_base: (new (value: {
|
|
|
81
128
|
transaction: RuntimeTransaction;
|
|
82
129
|
networkState: NetworkState;
|
|
83
130
|
};
|
|
131
|
+
empty: () => {
|
|
132
|
+
transaction: RuntimeTransaction;
|
|
133
|
+
networkState: NetworkState;
|
|
134
|
+
};
|
|
84
135
|
};
|
|
85
136
|
export declare class RuntimeMethodExecutionDataStruct extends RuntimeMethodExecutionDataStruct_base implements RuntimeMethodExecutionData {
|
|
86
137
|
}
|
|
@@ -104,7 +155,7 @@ export declare class RuntimeMethodExecutionContext extends ProvableMethodExecuti
|
|
|
104
155
|
/**
|
|
105
156
|
* @param message - Status message to acompany the current status
|
|
106
157
|
*/
|
|
107
|
-
setStatusMessage(message?: string): void;
|
|
158
|
+
setStatusMessage(message?: string, stackTrace?: string): void;
|
|
108
159
|
/**
|
|
109
160
|
* @param status - Execution status of the current method
|
|
110
161
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuntimeMethodExecutionContext.d.ts","sourceRoot":"","sources":["../../../src/state/context/RuntimeMethodExecutionContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAU,MAAM,MAAM,CAAC;AAE9C,OAAO,EACL,8BAA8B,EAC9B,6BAA6B,EAC9B,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"RuntimeMethodExecutionContext.d.ts","sourceRoot":"","sources":["../../../src/state/context/RuntimeMethodExecutionContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAU,MAAM,MAAM,CAAC;AAE9C,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;CAC5B;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;IAGrD,OAAO,CAAC,SAAS,CAAyC;IAE1C,MAAM,uCAA8C;IAEpE,OAAO,CAAC,WAAW,CAAkB;IAErC,OAAO,CAAC,iBAAiB;IAQzB;;;OAGG;IACI,kBAAkB,CAAC,KAAK,EAAE,eAAe,EAAE,eAAe,CAAC,KAAK,CAAC;IAKxE;;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;IAUlB;;;OAGG;IACI,OAAO;;;;;;CAQf"}
|
|
@@ -15,7 +15,6 @@ const errors = {
|
|
|
15
15
|
export class RuntimeProvableMethodExecutionResult extends ProvableMethodExecutionResult {
|
|
16
16
|
constructor() {
|
|
17
17
|
super(...arguments);
|
|
18
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
19
18
|
this.stateTransitions = [];
|
|
20
19
|
this.status = Bool(true);
|
|
21
20
|
}
|
|
@@ -30,7 +29,7 @@ export class RuntimeMethodExecutionDataStruct extends Struct({
|
|
|
30
29
|
* allowing them to post relevant information (such as execution status)
|
|
31
30
|
* into the context without any unnecessary 'prop drilling'.
|
|
32
31
|
*/
|
|
33
|
-
let RuntimeMethodExecutionContext = class RuntimeMethodExecutionContext extends ProvableMethodExecutionContext {
|
|
32
|
+
export let RuntimeMethodExecutionContext = class RuntimeMethodExecutionContext extends ProvableMethodExecutionContext {
|
|
34
33
|
constructor() {
|
|
35
34
|
super(...arguments);
|
|
36
35
|
this.methods = [];
|
|
@@ -53,13 +52,14 @@ let RuntimeMethodExecutionContext = class RuntimeMethodExecutionContext extends
|
|
|
53
52
|
/**
|
|
54
53
|
* @param message - Status message to acompany the current status
|
|
55
54
|
*/
|
|
56
|
-
setStatusMessage(message) {
|
|
57
|
-
var _a;
|
|
55
|
+
setStatusMessage(message, stackTrace) {
|
|
56
|
+
var _a, _b;
|
|
58
57
|
this.assertSetupCalled();
|
|
59
58
|
if (this.isSimulated) {
|
|
60
59
|
return;
|
|
61
60
|
}
|
|
62
61
|
(_a = this.result).statusMessage ?? (_a.statusMessage = message);
|
|
62
|
+
(_b = this.result).stackTrace ?? (_b.stackTrace = stackTrace);
|
|
63
63
|
}
|
|
64
64
|
/**
|
|
65
65
|
* @param status - Execution status of the current method
|
|
@@ -122,4 +122,3 @@ let RuntimeMethodExecutionContext = class RuntimeMethodExecutionContext extends
|
|
|
122
122
|
RuntimeMethodExecutionContext = __decorate([
|
|
123
123
|
singleton()
|
|
124
124
|
], RuntimeMethodExecutionContext);
|
|
125
|
-
export { RuntimeMethodExecutionContext };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransitionMethodExecutionContext.d.ts","sourceRoot":"","sources":["../../../src/state/context/TransitionMethodExecutionContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,qBAAa,+BAA+B;
|
|
1
|
+
{"version":3,"file":"TransitionMethodExecutionContext.d.ts","sourceRoot":"","sources":["../../../src/state/context/TransitionMethodExecutionContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,qBAAa,+BAA+B;IACnC,gBAAgB,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,CAAM;CACtD;AAED,MAAM,WAAW,gCAAgC;IAC/C;;;OAGG;IACH,kBAAkB,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,eAAe,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;IAE7E;;OAEG;IACH,KAAK,EAAE,MAAM,IAAI,CAAC;IAElB;;;OAGG;IACH,OAAO,EAAE,MAAM;QACb,MAAM,EAAE,+BAA+B,CAAC;KACzC,CAAC;CACH"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { RuntimeMethodExecutionData, RuntimeProvableMethodExecutionResult } from "./RuntimeMethodExecutionContext";
|
|
2
|
+
/**
|
|
3
|
+
* Executed a given function f inside a RuntimeMethodExecutionContext
|
|
4
|
+
* and retrieves the result along with the return value of f
|
|
5
|
+
* @param f
|
|
6
|
+
* @param inputs
|
|
7
|
+
* @param isAnnotated Whether the execution f is annotated with @runtimeMethod or similar
|
|
8
|
+
* @param isSimulated
|
|
9
|
+
*/
|
|
10
|
+
export declare function executeWithContext<T>(f: () => T, inputs: RuntimeMethodExecutionData, isAnnotated: boolean, isSimulated: boolean): {
|
|
11
|
+
result: RuntimeProvableMethodExecutionResult;
|
|
12
|
+
functionResult: T;
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=contextExecution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contextExecution.d.ts","sourceRoot":"","sources":["../../../src/state/context/contextExecution.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,0BAA0B,EAC1B,oCAAoC,EACrC,MAAM,iCAAiC,CAAC;AAEzC;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,CAAC,EAAE,MAAM,CAAC,EACV,MAAM,EAAE,0BAA0B,EAClC,WAAW,EAAE,OAAO,EACpB,WAAW,EAAE,OAAO,GACnB;IAAE,MAAM,EAAE,oCAAoC,CAAC;IAAC,cAAc,EAAE,CAAC,CAAA;CAAE,CAwBrE"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { container } from "tsyringe";
|
|
2
|
+
import { RuntimeMethodExecutionContext, } from "./RuntimeMethodExecutionContext";
|
|
3
|
+
/**
|
|
4
|
+
* Executed a given function f inside a RuntimeMethodExecutionContext
|
|
5
|
+
* and retrieves the result along with the return value of f
|
|
6
|
+
* @param f
|
|
7
|
+
* @param inputs
|
|
8
|
+
* @param isAnnotated Whether the execution f is annotated with @runtimeMethod or similar
|
|
9
|
+
* @param isSimulated
|
|
10
|
+
*/
|
|
11
|
+
export function executeWithContext(f, inputs, isAnnotated, isSimulated) {
|
|
12
|
+
const executionContext = container.resolve(RuntimeMethodExecutionContext);
|
|
13
|
+
if (!isAnnotated) {
|
|
14
|
+
executionContext.beforeMethod("", "", []);
|
|
15
|
+
}
|
|
16
|
+
// Setup context for potential calls to runtime methods.
|
|
17
|
+
// With the special case that we set the new networkstate for every hook
|
|
18
|
+
// We also have to put in a dummy transaction for network.transaction
|
|
19
|
+
executionContext.setup(inputs);
|
|
20
|
+
executionContext.setSimulated(isSimulated);
|
|
21
|
+
const functionResult = f();
|
|
22
|
+
if (!isAnnotated) {
|
|
23
|
+
executionContext.afterMethod();
|
|
24
|
+
}
|
|
25
|
+
const result = executionContext.current().result;
|
|
26
|
+
return {
|
|
27
|
+
result,
|
|
28
|
+
functionResult,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProtocolState.d.ts","sourceRoot":"","sources":["../../../src/state/protocol/ProtocolState.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AAgBzF;;;GAGG;AACH,wBAAgB,aAAa,6HAKZ,MAAM,
|
|
1
|
+
{"version":3,"file":"ProtocolState.d.ts","sourceRoot":"","sources":["../../../src/state/protocol/ProtocolState.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AAgBzF;;;GAGG;AACH,wBAAgB,aAAa,6HAKZ,MAAM,UAiCtB"}
|
|
@@ -11,12 +11,10 @@ const errors = {
|
|
|
11
11
|
*/
|
|
12
12
|
export function protocolState() {
|
|
13
13
|
return (target, propertyKey) => {
|
|
14
|
-
// eslint-disable-next-line @typescript-eslint/init-declarations
|
|
15
14
|
let value;
|
|
16
15
|
Object.defineProperty(target, propertyKey, {
|
|
17
16
|
enumerable: true,
|
|
18
17
|
get: function get() {
|
|
19
|
-
// eslint-disable-next-line max-len
|
|
20
18
|
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions
|
|
21
19
|
const self = this;
|
|
22
20
|
if (self.name === undefined) {
|
|
@@ -25,7 +23,6 @@ export function protocolState() {
|
|
|
25
23
|
if (!self.protocol) {
|
|
26
24
|
throw errors.missingProtocol(self.constructor.name);
|
|
27
25
|
}
|
|
28
|
-
// eslint-disable-next-line no-warning-comments
|
|
29
26
|
// TODO Add Prefix?
|
|
30
27
|
const path = Path.fromProperty(self.name, propertyKey);
|
|
31
28
|
if (value) {
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Bool, Field } from "o1js";
|
|
2
|
+
import { AppliedStateTransitionBatch } from "../model/StateTransitionProvableBatch";
|
|
3
|
+
import { DefaultProvableHashList } from "./ProvableHashList";
|
|
4
|
+
/**
|
|
5
|
+
* A HashList for AppliedSTBatches, that in addition to the default
|
|
6
|
+
* functionality, checks that the pushed batches are not empty.
|
|
7
|
+
* If they are, the pushing is skipped.
|
|
8
|
+
* Note that if the batch has applied: false, the batch still has to be appended
|
|
9
|
+
* if it has STs inside
|
|
10
|
+
*/
|
|
11
|
+
export declare class AppliedBatchHashList extends DefaultProvableHashList<AppliedStateTransitionBatch> {
|
|
12
|
+
constructor(commitment: Field);
|
|
13
|
+
private isNotEmpty;
|
|
14
|
+
push(value: AppliedStateTransitionBatch): this;
|
|
15
|
+
pushIf(value: AppliedStateTransitionBatch, condition: Bool): this;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=AppliedBatchHashList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppliedBatchHashList.d.ts","sourceRoot":"","sources":["../../src/utils/AppliedBatchHashList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D;;;;;;GAMG;AACH,qBAAa,oBAAqB,SAAQ,uBAAuB,CAAC,2BAA2B,CAAC;gBACzE,UAAU,EAAE,KAAK;IAIpC,OAAO,CAAC,UAAU;IAIX,IAAI,CAAC,KAAK,EAAE,2BAA2B;IAIvC,MAAM,CAAC,KAAK,EAAE,2BAA2B,EAAE,SAAS,EAAE,IAAI;CAGlE"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Field } from "o1js";
|
|
2
|
+
import { AppliedStateTransitionBatch } from "../model/StateTransitionProvableBatch";
|
|
3
|
+
import { DefaultProvableHashList } from "./ProvableHashList";
|
|
4
|
+
/**
|
|
5
|
+
* A HashList for AppliedSTBatches, that in addition to the default
|
|
6
|
+
* functionality, checks that the pushed batches are not empty.
|
|
7
|
+
* If they are, the pushing is skipped.
|
|
8
|
+
* Note that if the batch has applied: false, the batch still has to be appended
|
|
9
|
+
* if it has STs inside
|
|
10
|
+
*/
|
|
11
|
+
export class AppliedBatchHashList extends DefaultProvableHashList {
|
|
12
|
+
constructor(commitment) {
|
|
13
|
+
super(AppliedStateTransitionBatch, commitment);
|
|
14
|
+
}
|
|
15
|
+
isNotEmpty(value) {
|
|
16
|
+
return value.batchHash.equals(Field(0)).not();
|
|
17
|
+
}
|
|
18
|
+
push(value) {
|
|
19
|
+
return super.pushIf(value, this.isNotEmpty(value));
|
|
20
|
+
}
|
|
21
|
+
pushIf(value, condition) {
|
|
22
|
+
return super.pushIf(value, condition.and(this.isNotEmpty(value)));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MinaPrefixedProvableHashList.d.ts","sourceRoot":"","sources":["../../src/utils/MinaPrefixedProvableHashList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAY,YAAY,EAAE,MAAM,MAAM,CAAC;AAGrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"MinaPrefixedProvableHashList.d.ts","sourceRoot":"","sources":["../../src/utils/MinaPrefixedProvableHashList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAY,YAAY,EAAE,MAAM,MAAM,CAAC;AAGrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAUtD,eAAO,MAAM,mBAAmB;;;;CAItB,CAAC;AAEX,wBAAgB,YAAY,IAAI,KAAK,CAEpC;AAED,wBAAgB,WAAW,IAAI,KAAK,CAEnC;AAED,qBAAa,WAAW;IACtB,MAAM,CAAC,UAAU,CACf,MAAM,EAAE,KAAK,EAAE,EACf,YAAY,GAAE,KAAsB,GACnC,KAAK;CAOT;AAED,qBAAa,UAAU;IACrB,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,YAAY,GAAE,KAAqB,GAAG,KAAK;CAO7E;AAED,qBAAa,4BAA4B,CACvC,KAAK,CACL,SAAQ,gBAAgB,CAAC,KAAK,CAAC;aAGb,MAAM,EAAE,MAAM;gBAD9B,SAAS,EAAE,YAAY,CAAC,KAAK,CAAC,EACd,MAAM,EAAE,MAAM,EAC9B,kBAAkB,GAAE,KAAgB;IAKtC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK;CAKzC;AAED,qBAAa,mBAAoB,SAAQ,4BAA4B,CAAC,KAAK,CAAC;gBACvD,kBAAkB,GAAE,KAAgB;CAGxD"}
|
|
@@ -2,6 +2,7 @@ import { Field, Poseidon } from "o1js";
|
|
|
2
2
|
import { hashWithPrefix, prefixToField } from "@proto-kit/common";
|
|
3
3
|
import { ProvableHashList } from "./ProvableHashList";
|
|
4
4
|
function salt(prefix) {
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions
|
|
5
6
|
return Poseidon.update([Field(0), Field(0), Field(0)], [prefixToField(prefix)]);
|
|
6
7
|
}
|
|
7
8
|
export const MINA_EVENT_PREFIXES = {
|
|
@@ -19,7 +19,7 @@ export declare abstract class ProvableHashList<Value> {
|
|
|
19
19
|
/**
|
|
20
20
|
* @returns Traling hash of the current hashlist.
|
|
21
21
|
*/
|
|
22
|
-
toField(): import("o1js/dist/node/lib/field").Field;
|
|
22
|
+
toField(): import("o1js/dist/node/lib/provable/field").Field;
|
|
23
23
|
}
|
|
24
24
|
export declare class DefaultProvableHashList<Value> extends ProvableHashList<Value> {
|
|
25
25
|
hash(elements: Field[]): Field;
|
|
@@ -3,7 +3,7 @@ import { ProvableReductionHashList } from "./ProvableReductionHashList";
|
|
|
3
3
|
export declare class StateTransitionReductionList extends ProvableReductionHashList<ProvableStateTransition> {
|
|
4
4
|
push(value: ProvableStateTransition): this;
|
|
5
5
|
pushWithMetadata(value: ProvableStateTransition): {
|
|
6
|
-
popLast: import("o1js/dist/node/lib/bool").Bool;
|
|
6
|
+
popLast: import("o1js/dist/node/lib/provable/bool").Bool;
|
|
7
7
|
value: ProvableStateTransition;
|
|
8
8
|
};
|
|
9
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StateTransitionReductionList.d.ts","sourceRoot":"","sources":["../../src/utils/StateTransitionReductionList.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"StateTransitionReductionList.d.ts","sourceRoot":"","sources":["../../src/utils/StateTransitionReductionList.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,uBAAuB,EACvB,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAExE,qBAAa,4BAA6B,SAAQ,yBAAyB,CAAC,uBAAuB,CAAC;IAC3F,IAAI,CAAC,KAAK,EAAE,uBAAuB;IAMnC,gBAAgB,CAAC,KAAK,EAAE,uBAAuB;;;;CAyCvD;AAED,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,GACtC,eAAe,CAAC,OAAO,CAAC,EAAE,CA0B5B"}
|
|
@@ -35,10 +35,10 @@ export class StateTransitionReductionList extends ProvableReductionHashList {
|
|
|
35
35
|
}
|
|
36
36
|
export function reduceStateTransitions(transitions) {
|
|
37
37
|
const reduced = [];
|
|
38
|
-
|
|
38
|
+
transitions.forEach((st) => {
|
|
39
39
|
if (reduced.length === 0) {
|
|
40
40
|
reduced.push(st);
|
|
41
|
-
|
|
41
|
+
return;
|
|
42
42
|
}
|
|
43
43
|
const last = reduced.at(-1);
|
|
44
44
|
if (last.path.equals(st.path).toBoolean()) {
|
|
@@ -55,6 +55,6 @@ export function reduceStateTransitions(transitions) {
|
|
|
55
55
|
else {
|
|
56
56
|
reduced.push(st);
|
|
57
57
|
}
|
|
58
|
-
}
|
|
58
|
+
});
|
|
59
59
|
return reduced;
|
|
60
60
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { MerkleTreeStore } from "./MerkleTreeStore";
|
|
2
|
+
export declare class InMemoryMerkleTreeStorage implements MerkleTreeStore {
|
|
3
|
+
protected nodes: {
|
|
4
|
+
[key: number]: {
|
|
5
|
+
[key: string]: bigint;
|
|
6
|
+
};
|
|
7
|
+
};
|
|
8
|
+
getNode(key: bigint, level: number): bigint | undefined;
|
|
9
|
+
setNode(key: bigint, level: number, value: bigint): void;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=InMemoryMerkleTreeStorage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InMemoryMerkleTreeStorage.d.ts","sourceRoot":"","sources":["../../../src/utils/merkletree/InMemoryMerkleTreeStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,qBAAa,yBAA0B,YAAW,eAAe;IAC/D,SAAS,CAAC,KAAK,EAAE;QACf,CAAC,GAAG,EAAE,MAAM,GAAG;YACb,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;SACvB,CAAC;KACH,CAAM;IAEA,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIvD,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;CAGhE"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export class InMemoryMerkleTreeStorage {
|
|
2
|
+
constructor() {
|
|
3
|
+
this.nodes = {};
|
|
4
|
+
}
|
|
5
|
+
getNode(key, level) {
|
|
6
|
+
return this.nodes[level]?.[key.toString()];
|
|
7
|
+
}
|
|
8
|
+
setNode(key, level, value) {
|
|
9
|
+
var _a;
|
|
10
|
+
((_a = this.nodes)[level] ?? (_a[level] = {}))[key.toString()] = value;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MerkleTreeStore.d.ts","sourceRoot":"","sources":["../../../src/utils/merkletree/MerkleTreeStore.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAE7D,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CAC7D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|