@proto-kit/protocol 0.1.1-develop.0
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 -0
- package/README.md +45 -0
- package/dist/Constants.d.ts +4 -0
- package/dist/Constants.d.ts.map +1 -0
- package/dist/Constants.js +4 -0
- package/dist/Constants.js.map +1 -0
- package/dist/hooks/AccountStateHook.d.ts +52 -0
- package/dist/hooks/AccountStateHook.d.ts.map +1 -0
- package/dist/hooks/AccountStateHook.js +48 -0
- package/dist/hooks/AccountStateHook.js.map +1 -0
- package/dist/hooks/BlockHeightHook.d.ts +7 -0
- package/dist/hooks/BlockHeightHook.d.ts.map +1 -0
- package/dist/hooks/BlockHeightHook.js +16 -0
- package/dist/hooks/BlockHeightHook.js.map +1 -0
- package/dist/hooks/LastStateRootBlockHook.d.ts +8 -0
- package/dist/hooks/LastStateRootBlockHook.d.ts.map +1 -0
- package/dist/hooks/LastStateRootBlockHook.js +16 -0
- package/dist/hooks/LastStateRootBlockHook.js.map +1 -0
- package/dist/hooks/NoopBlockHook.d.ts +9 -0
- package/dist/hooks/NoopBlockHook.d.ts.map +1 -0
- package/dist/hooks/NoopBlockHook.js +10 -0
- package/dist/hooks/NoopBlockHook.js.map +1 -0
- package/dist/hooks/NoopSettlementHook.d.ts +6 -0
- package/dist/hooks/NoopSettlementHook.d.ts.map +1 -0
- package/dist/hooks/NoopSettlementHook.js +18 -0
- package/dist/hooks/NoopSettlementHook.js.map +1 -0
- package/dist/hooks/NoopTransactionHook.d.ts +6 -0
- package/dist/hooks/NoopTransactionHook.d.ts.map +1 -0
- package/dist/hooks/NoopTransactionHook.js +8 -0
- package/dist/hooks/NoopTransactionHook.js.map +1 -0
- package/dist/index.d.ts +58 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +58 -0
- package/dist/index.js.map +1 -0
- package/dist/model/MethodPublicOutput.d.ts +113 -0
- package/dist/model/MethodPublicOutput.d.ts.map +1 -0
- package/dist/model/MethodPublicOutput.js +15 -0
- package/dist/model/MethodPublicOutput.js.map +1 -0
- package/dist/model/Option.d.ts +122 -0
- package/dist/model/Option.d.ts.map +1 -0
- package/dist/model/Option.js +111 -0
- package/dist/model/Option.js.map +1 -0
- package/dist/model/Path.d.ts +31 -0
- package/dist/model/Path.d.ts.map +1 -0
- package/dist/model/Path.js +43 -0
- package/dist/model/Path.js.map +1 -0
- package/dist/model/RuntimeLike.d.ts +11 -0
- package/dist/model/RuntimeLike.d.ts.map +1 -0
- package/dist/model/RuntimeLike.js +2 -0
- package/dist/model/RuntimeLike.js.map +1 -0
- package/dist/model/StateTransition.d.ts +135 -0
- package/dist/model/StateTransition.d.ts.map +1 -0
- package/dist/model/StateTransition.js +69 -0
- package/dist/model/StateTransition.js.map +1 -0
- package/dist/model/StateTransitionProvableBatch.d.ts +198 -0
- package/dist/model/StateTransitionProvableBatch.d.ts.map +1 -0
- package/dist/model/StateTransitionProvableBatch.js +91 -0
- package/dist/model/StateTransitionProvableBatch.js.map +1 -0
- package/dist/model/network/NetworkState.d.ts +160 -0
- package/dist/model/network/NetworkState.d.ts.map +1 -0
- package/dist/model/network/NetworkState.js +32 -0
- package/dist/model/network/NetworkState.js.map +1 -0
- package/dist/model/transaction/RuntimeTransaction.d.ts +122 -0
- package/dist/model/transaction/RuntimeTransaction.d.ts.map +1 -0
- package/dist/model/transaction/RuntimeTransaction.js +87 -0
- package/dist/model/transaction/RuntimeTransaction.js.map +1 -0
- package/dist/model/transaction/SignedTransaction.d.ts +107 -0
- package/dist/model/transaction/SignedTransaction.d.ts.map +1 -0
- package/dist/model/transaction/SignedTransaction.js +34 -0
- package/dist/model/transaction/SignedTransaction.js.map +1 -0
- package/dist/model/transaction/ValueOption.d.ts +173 -0
- package/dist/model/transaction/ValueOption.d.ts.map +1 -0
- package/dist/model/transaction/ValueOption.js +25 -0
- package/dist/model/transaction/ValueOption.js.map +1 -0
- package/dist/protocol/Protocol.d.ts +43 -0
- package/dist/protocol/Protocol.d.ts.map +1 -0
- package/dist/protocol/Protocol.js +120 -0
- package/dist/protocol/Protocol.js.map +1 -0
- package/dist/protocol/ProtocolEnvironment.d.ts +9 -0
- package/dist/protocol/ProtocolEnvironment.d.ts.map +1 -0
- package/dist/protocol/ProtocolEnvironment.js +2 -0
- package/dist/protocol/ProtocolEnvironment.js.map +1 -0
- package/dist/protocol/ProtocolModule.d.ts +9 -0
- package/dist/protocol/ProtocolModule.d.ts.map +1 -0
- package/dist/protocol/ProtocolModule.js +13 -0
- package/dist/protocol/ProtocolModule.js.map +1 -0
- package/dist/protocol/ProvableBlockHook.d.ts +8 -0
- package/dist/protocol/ProvableBlockHook.d.ts.map +1 -0
- package/dist/protocol/ProvableBlockHook.js +5 -0
- package/dist/protocol/ProvableBlockHook.js.map +1 -0
- package/dist/protocol/ProvableTransactionHook.d.ts +7 -0
- package/dist/protocol/ProvableTransactionHook.d.ts.map +1 -0
- package/dist/protocol/ProvableTransactionHook.js +4 -0
- package/dist/protocol/ProvableTransactionHook.js.map +1 -0
- package/dist/protocol/TransitioningProtocolModule.d.ts +10 -0
- package/dist/protocol/TransitioningProtocolModule.d.ts.map +1 -0
- package/dist/protocol/TransitioningProtocolModule.js +9 -0
- package/dist/protocol/TransitioningProtocolModule.js.map +1 -0
- package/dist/prover/block/BlockProvable.d.ts +409 -0
- package/dist/prover/block/BlockProvable.d.ts.map +1 -0
- package/dist/prover/block/BlockProvable.js +48 -0
- package/dist/prover/block/BlockProvable.js.map +1 -0
- package/dist/prover/block/BlockProver.d.ts +94 -0
- package/dist/prover/block/BlockProver.d.ts.map +1 -0
- package/dist/prover/block/BlockProver.js +510 -0
- package/dist/prover/block/BlockProver.js.map +1 -0
- package/dist/prover/block/accummulators/BlockHashMerkleTree.d.ts +64 -0
- package/dist/prover/block/accummulators/BlockHashMerkleTree.d.ts.map +1 -0
- package/dist/prover/block/accummulators/BlockHashMerkleTree.js +17 -0
- package/dist/prover/block/accummulators/BlockHashMerkleTree.js.map +1 -0
- package/dist/prover/block/accummulators/RuntimeVerificationKeyTree.d.ts +139 -0
- package/dist/prover/block/accummulators/RuntimeVerificationKeyTree.d.ts.map +1 -0
- package/dist/prover/block/accummulators/RuntimeVerificationKeyTree.js +21 -0
- package/dist/prover/block/accummulators/RuntimeVerificationKeyTree.js.map +1 -0
- package/dist/prover/block/services/RuntimeVerificationKeyRootService.d.ts +7 -0
- package/dist/prover/block/services/RuntimeVerificationKeyRootService.d.ts.map +1 -0
- package/dist/prover/block/services/RuntimeVerificationKeyRootService.js +23 -0
- package/dist/prover/block/services/RuntimeVerificationKeyRootService.js.map +1 -0
- package/dist/prover/statetransition/StateTransitionProvable.d.ts +172 -0
- package/dist/prover/statetransition/StateTransitionProvable.d.ts.map +1 -0
- package/dist/prover/statetransition/StateTransitionProvable.js +16 -0
- package/dist/prover/statetransition/StateTransitionProvable.js.map +1 -0
- package/dist/prover/statetransition/StateTransitionProver.d.ts +48 -0
- package/dist/prover/statetransition/StateTransitionProver.d.ts.map +1 -0
- package/dist/prover/statetransition/StateTransitionProver.js +187 -0
- package/dist/prover/statetransition/StateTransitionProver.js.map +1 -0
- package/dist/settlement/ContractModule.d.ts +16 -0
- package/dist/settlement/ContractModule.d.ts.map +1 -0
- package/dist/settlement/ContractModule.js +12 -0
- package/dist/settlement/ContractModule.js.map +1 -0
- package/dist/settlement/SettlementContractModule.d.ts +53 -0
- package/dist/settlement/SettlementContractModule.d.ts.map +1 -0
- package/dist/settlement/SettlementContractModule.js +80 -0
- 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 +21 -0
- package/dist/settlement/contracts/DispatchContractProtocolModule.d.ts.map +1 -0
- package/dist/settlement/contracts/DispatchContractProtocolModule.js +57 -0
- package/dist/settlement/contracts/DispatchContractProtocolModule.js.map +1 -0
- package/dist/settlement/contracts/DispatchSmartContract.d.ts +44 -0
- package/dist/settlement/contracts/DispatchSmartContract.d.ts.map +1 -0
- package/dist/settlement/contracts/DispatchSmartContract.js +230 -0
- package/dist/settlement/contracts/DispatchSmartContract.js.map +1 -0
- package/dist/settlement/contracts/SettlementContractProtocolModule.d.ts +21 -0
- package/dist/settlement/contracts/SettlementContractProtocolModule.d.ts.map +1 -0
- package/dist/settlement/contracts/SettlementContractProtocolModule.js +82 -0
- package/dist/settlement/contracts/SettlementContractProtocolModule.js.map +1 -0
- package/dist/settlement/contracts/SettlementSmartContract.d.ts +123 -0
- package/dist/settlement/contracts/SettlementSmartContract.d.ts.map +1 -0
- package/dist/settlement/contracts/SettlementSmartContract.js +309 -0
- 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 +77 -0
- package/dist/settlement/messages/Deposit.d.ts.map +1 -0
- package/dist/settlement/messages/Deposit.js +8 -0
- package/dist/settlement/messages/Deposit.js.map +1 -0
- package/dist/settlement/messages/OutgoingMessageArgument.d.ts +197 -0
- package/dist/settlement/messages/OutgoingMessageArgument.d.ts.map +1 -0
- package/dist/settlement/messages/OutgoingMessageArgument.js +33 -0
- package/dist/settlement/messages/OutgoingMessageArgument.js.map +1 -0
- package/dist/settlement/messages/Withdrawal.d.ts +78 -0
- package/dist/settlement/messages/Withdrawal.d.ts.map +1 -0
- package/dist/settlement/messages/Withdrawal.js +16 -0
- package/dist/settlement/messages/Withdrawal.js.map +1 -0
- package/dist/settlement/modularity/ProvableSettlementHook.d.ts +26 -0
- package/dist/settlement/modularity/ProvableSettlementHook.d.ts.map +1 -0
- package/dist/settlement/modularity/ProvableSettlementHook.js +4 -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.d.ts +11 -0
- package/dist/settlement/modules/NetworkStateSettlementModule.d.ts.map +1 -0
- package/dist/settlement/modules/NetworkStateSettlementModule.js +15 -0
- package/dist/settlement/modules/NetworkStateSettlementModule.js.map +1 -0
- package/dist/state/State.d.ts +68 -0
- package/dist/state/State.d.ts.map +1 -0
- package/dist/state/State.js +130 -0
- package/dist/state/State.js.map +1 -0
- package/dist/state/StateMap.d.ts +37 -0
- package/dist/state/StateMap.d.ts.map +1 -0
- package/dist/state/StateMap.js +56 -0
- package/dist/state/StateMap.js.map +1 -0
- package/dist/state/StateService.d.ts +6 -0
- package/dist/state/StateService.d.ts.map +1 -0
- package/dist/state/StateService.js +2 -0
- package/dist/state/StateService.js.map +1 -0
- package/dist/state/StateServiceProvider.d.ts +8 -0
- package/dist/state/StateServiceProvider.d.ts.map +1 -0
- package/dist/state/StateServiceProvider.js +37 -0
- package/dist/state/StateServiceProvider.js.map +1 -0
- package/dist/state/assert/assert.d.ts +12 -0
- package/dist/state/assert/assert.d.ts.map +1 -0
- package/dist/state/assert/assert.js +31 -0
- package/dist/state/assert/assert.js.map +1 -0
- package/dist/state/context/RuntimeMethodExecutionContext.d.ts +193 -0
- package/dist/state/context/RuntimeMethodExecutionContext.d.ts.map +1 -0
- package/dist/state/context/RuntimeMethodExecutionContext.js +136 -0
- package/dist/state/context/RuntimeMethodExecutionContext.js.map +1 -0
- package/dist/state/context/TransitionMethodExecutionContext.d.ts +23 -0
- package/dist/state/context/TransitionMethodExecutionContext.d.ts.map +1 -0
- package/dist/state/context/TransitionMethodExecutionContext.js +6 -0
- package/dist/state/context/TransitionMethodExecutionContext.js.map +1 -0
- package/dist/state/protocol/ProtocolState.d.ts +7 -0
- package/dist/state/protocol/ProtocolState.d.ts.map +1 -0
- package/dist/state/protocol/ProtocolState.js +40 -0
- package/dist/state/protocol/ProtocolState.js.map +1 -0
- package/dist/utils/MinaPrefixedProvableHashList.d.ts +24 -0
- package/dist/utils/MinaPrefixedProvableHashList.d.ts.map +1 -0
- package/dist/utils/MinaPrefixedProvableHashList.js +53 -0
- package/dist/utils/MinaPrefixedProvableHashList.js.map +1 -0
- package/dist/utils/PrefixedProvableHashList.d.ts +8 -0
- package/dist/utils/PrefixedProvableHashList.d.ts.map +1 -0
- package/dist/utils/PrefixedProvableHashList.js +13 -0
- package/dist/utils/PrefixedProvableHashList.js.map +1 -0
- package/dist/utils/ProvableHashList.d.ts +27 -0
- package/dist/utils/ProvableHashList.d.ts.map +1 -0
- package/dist/utils/ProvableHashList.js +44 -0
- package/dist/utils/ProvableHashList.js.map +1 -0
- package/dist/utils/ProvableReductionHashList.d.ts +14 -0
- package/dist/utils/ProvableReductionHashList.d.ts.map +1 -0
- package/dist/utils/ProvableReductionHashList.js +51 -0
- package/dist/utils/ProvableReductionHashList.js.map +1 -0
- package/dist/utils/StateTransitionReductionList.d.ts +11 -0
- package/dist/utils/StateTransitionReductionList.d.ts.map +1 -0
- package/dist/utils/StateTransitionReductionList.js +61 -0
- package/dist/utils/StateTransitionReductionList.js.map +1 -0
- package/dist/utils/utils.d.ts +11 -0
- package/dist/utils/utils.d.ts.map +1 -0
- package/dist/utils/utils.js +45 -0
- package/dist/utils/utils.js.map +1 -0
- package/jest.config.cjs +12 -0
- package/package.json +36 -0
- package/src/Constants.ts +3 -0
- package/src/hooks/AccountStateHook.ts +48 -0
- package/src/hooks/BlockHeightHook.ts +17 -0
- package/src/hooks/LastStateRootBlockHook.ts +26 -0
- package/src/hooks/NoopBlockHook.ts +21 -0
- package/src/hooks/NoopSettlementHook.ts +20 -0
- package/src/hooks/NoopTransactionHook.ts +10 -0
- package/src/index.ts +57 -0
- package/src/model/MethodPublicOutput.ts +14 -0
- package/src/model/Option.ts +172 -0
- package/src/model/Path.ts +50 -0
- package/src/model/RuntimeLike.ts +12 -0
- package/src/model/StateTransition.ts +88 -0
- package/src/model/StateTransitionProvableBatch.ts +145 -0
- package/src/model/Transaction.ts +31 -0
- package/src/model/network/NetworkState.ts +33 -0
- package/src/model/transaction/RuntimeTransaction.ts +105 -0
- package/src/model/transaction/SignedTransaction.ts +47 -0
- package/src/model/transaction/ValueOption.ts +28 -0
- package/src/protocol/Protocol.ts +226 -0
- package/src/protocol/ProtocolEnvironment.ts +10 -0
- package/src/protocol/ProtocolModule.ts +27 -0
- package/src/protocol/ProvableBlockHook.ts +19 -0
- package/src/protocol/ProvableTransactionHook.ts +13 -0
- package/src/protocol/TransitioningProtocolModule.ts +12 -0
- package/src/prover/block/BlockProvable.ts +99 -0
- package/src/prover/block/BlockProver.ts +990 -0
- package/src/prover/block/accummulators/BlockHashMerkleTree.ts +16 -0
- package/src/prover/block/accummulators/RuntimeVerificationKeyTree.ts +24 -0
- package/src/prover/block/services/RuntimeVerificationKeyRootService.ts +20 -0
- package/src/prover/statetransition/StateTransitionProvable.ts +41 -0
- package/src/prover/statetransition/StateTransitionProver.ts +377 -0
- package/src/settlement/ContractModule.ts +31 -0
- package/src/settlement/SettlementContractModule.ts +145 -0
- package/src/settlement/contracts/BridgeContract.ts +237 -0
- package/src/settlement/contracts/BridgeContractProtocolModule.ts +43 -0
- package/src/settlement/contracts/DispatchContractProtocolModule.ts +73 -0
- package/src/settlement/contracts/DispatchSmartContract.ts +326 -0
- package/src/settlement/contracts/SettlementContractProtocolModule.ts +108 -0
- package/src/settlement/contracts/SettlementSmartContract.ts +498 -0
- 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 +7 -0
- package/src/settlement/messages/OutgoingMessageArgument.ts +42 -0
- package/src/settlement/messages/Withdrawal.ts +16 -0
- package/src/settlement/modularity/ProvableSettlementHook.ts +36 -0
- package/src/settlement/modularity/types.ts +22 -0
- package/src/settlement/modules/NetworkStateSettlementModule.ts +42 -0
- package/src/state/State.ts +175 -0
- package/src/state/StateMap.ts +73 -0
- package/src/state/StateService.ts +6 -0
- package/src/state/StateServiceProvider.ts +37 -0
- package/src/state/assert/assert.ts +35 -0
- package/src/state/context/RuntimeMethodExecutionContext.ts +174 -0
- package/src/state/context/TransitionMethodExecutionContext.ts +26 -0
- package/src/state/protocol/ProtocolState.ts +61 -0
- package/src/utils/MinaPrefixedProvableHashList.ts +73 -0
- package/src/utils/PrefixedProvableHashList.ts +21 -0
- package/src/utils/ProvableHashList.ts +50 -0
- package/src/utils/ProvableReductionHashList.ts +68 -0
- package/src/utils/StateTransitionReductionList.ts +89 -0
- package/src/utils/utils.ts +75 -0
- package/test/BlockProver.test.ts +212 -0
- package/test/Protocol.test.ts +37 -0
- package/test/State.test.ts +45 -0
- package/test/StateTransition.test.ts +174 -0
- package/test/TestingProtocol.ts +52 -0
- package/test/compiling/types.ts +28 -0
- package/test/model/Option.test.ts +72 -0
- package/test/modularity/types.ts +35 -0
- package/test/state/assert/assert.test.ts +56 -0
- package/test/tsconfig.json +7 -0
- package/test/utils/ProvableReductionHashList.test.ts +117 -0
- package/test/utils.test.ts +27 -0
- package/tsconfig.json +8 -0
package/dist/index.js
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
export * from "./hooks/AccountStateHook";
|
|
2
|
+
export * from "./hooks/BlockHeightHook";
|
|
3
|
+
export * from "./hooks/LastStateRootBlockHook";
|
|
4
|
+
export * from "./model/StateTransition";
|
|
5
|
+
export * from "./model/StateTransitionProvableBatch";
|
|
6
|
+
export * from "./model/Option";
|
|
7
|
+
export * from "./model/Path";
|
|
8
|
+
export * from "./model/network/NetworkState";
|
|
9
|
+
export * from "./model/transaction/SignedTransaction";
|
|
10
|
+
export * from "./model/transaction/RuntimeTransaction";
|
|
11
|
+
export * from "./model/transaction/ValueOption";
|
|
12
|
+
export * from "./model/MethodPublicOutput";
|
|
13
|
+
export * from "./model/RuntimeLike";
|
|
14
|
+
export * from "./utils/ProvableHashList";
|
|
15
|
+
export * from "./utils/PrefixedProvableHashList";
|
|
16
|
+
export * from "./utils/MinaPrefixedProvableHashList";
|
|
17
|
+
export * from "./utils/ProvableReductionHashList";
|
|
18
|
+
export * from "./utils/StateTransitionReductionList";
|
|
19
|
+
export * from "./utils/utils";
|
|
20
|
+
export * from "./prover/block/BlockProver";
|
|
21
|
+
export * from "./prover/block/BlockProvable";
|
|
22
|
+
export * from "./prover/block/accummulators/RuntimeVerificationKeyTree";
|
|
23
|
+
export * from "./prover/block/accummulators/BlockHashMerkleTree";
|
|
24
|
+
export * from "./prover/block/services/RuntimeVerificationKeyRootService";
|
|
25
|
+
export * from "./prover/statetransition/StateTransitionProver";
|
|
26
|
+
export * from "./prover/statetransition/StateTransitionProvable";
|
|
27
|
+
export * from "./protocol/Protocol";
|
|
28
|
+
export * from "./protocol/ProtocolModule";
|
|
29
|
+
export * from "./protocol/ProtocolEnvironment";
|
|
30
|
+
export * from "./protocol/ProvableTransactionHook";
|
|
31
|
+
export * from "./protocol/ProvableBlockHook";
|
|
32
|
+
export * from "./state/context/TransitionMethodExecutionContext";
|
|
33
|
+
export * from "./state/context/RuntimeMethodExecutionContext";
|
|
34
|
+
export * from "./state/protocol/ProtocolState";
|
|
35
|
+
export * from "./state/State";
|
|
36
|
+
export * from "./state/StateMap";
|
|
37
|
+
export * from "./state/StateService";
|
|
38
|
+
export * from "./state/StateServiceProvider";
|
|
39
|
+
export * from "./state/assert/assert";
|
|
40
|
+
export * from "./settlement/contracts/authorizations/ContractAuthorization";
|
|
41
|
+
export * from "./settlement/contracts/authorizations/UpdateMessagesHashAuth";
|
|
42
|
+
export * from "./settlement/contracts/authorizations/TokenBridgeDeploymentAuth";
|
|
43
|
+
export * from "./settlement/contracts/SettlementSmartContract";
|
|
44
|
+
export * from "./settlement/contracts/SettlementContractProtocolModule";
|
|
45
|
+
export * from "./settlement/contracts/DispatchSmartContract";
|
|
46
|
+
export * from "./settlement/contracts/DispatchContractProtocolModule";
|
|
47
|
+
export * from "./settlement/contracts/BridgeContract";
|
|
48
|
+
export * from "./settlement/contracts/BridgeContractProtocolModule";
|
|
49
|
+
export * from "./settlement/contracts/TokenBridgeTree";
|
|
50
|
+
export * from "./settlement/SettlementContractModule";
|
|
51
|
+
export * from "./settlement/ContractModule";
|
|
52
|
+
export * from "./settlement/modularity/ProvableSettlementHook";
|
|
53
|
+
export * from "./settlement/messages/OutgoingMessageArgument";
|
|
54
|
+
export * from "./settlement/modules/NetworkStateSettlementModule";
|
|
55
|
+
export * from "./settlement/messages/Deposit";
|
|
56
|
+
export * from "./settlement/messages/Withdrawal";
|
|
57
|
+
export { constants as ProtocolConstants } from "./Constants";
|
|
58
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,sCAAsC,CAAC;AACrD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uCAAuC,CAAC;AACtD,cAAc,wCAAwC,CAAC;AACvD,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,sCAAsC,CAAC;AACrD,cAAc,mCAAmC,CAAC;AAClD,cAAc,sCAAsC,CAAC;AACrD,cAAc,eAAe,CAAC;AAC9B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yDAAyD,CAAC;AACxE,cAAc,kDAAkD,CAAC;AACjE,cAAc,2DAA2D,CAAC;AAC1E,cAAc,gDAAgD,CAAC;AAC/D,cAAc,kDAAkD,CAAC;AACjE,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC;AACnD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kDAAkD,CAAC;AACjE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,gCAAgC,CAAC;AAC/C,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,6DAA6D,CAAC;AAC5E,cAAc,8DAA8D,CAAC;AAC7E,cAAc,iEAAiE,CAAC;AAChF,cAAc,gDAAgD,CAAC;AAC/D,cAAc,yDAAyD,CAAC;AACxE,cAAc,8CAA8C,CAAC;AAC7D,cAAc,uDAAuD,CAAC;AACtE,cAAc,uCAAuC,CAAC;AACtD,cAAc,qDAAqD,CAAC;AACpE,cAAc,wCAAwC,CAAC;AACvD,cAAc,uCAAuC,CAAC;AACtD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gDAAgD,CAAC;AAC/D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,mDAAmD,CAAC;AAClE,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,OAAO,EAAE,SAAS,IAAI,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
declare const MethodPublicOutput_base: (new (value: {
|
|
2
|
+
stateTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
|
|
3
|
+
status: import("o1js/dist/node/lib/provable/bool").Bool;
|
|
4
|
+
transactionHash: import("o1js/dist/node/lib/provable/field").Field;
|
|
5
|
+
networkStateHash: import("o1js/dist/node/lib/provable/field").Field;
|
|
6
|
+
isMessage: import("o1js/dist/node/lib/provable/bool").Bool;
|
|
7
|
+
eventsHash: import("o1js/dist/node/lib/provable/field").Field;
|
|
8
|
+
}) => {
|
|
9
|
+
stateTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
|
|
10
|
+
status: import("o1js/dist/node/lib/provable/bool").Bool;
|
|
11
|
+
transactionHash: import("o1js/dist/node/lib/provable/field").Field;
|
|
12
|
+
networkStateHash: import("o1js/dist/node/lib/provable/field").Field;
|
|
13
|
+
isMessage: import("o1js/dist/node/lib/provable/bool").Bool;
|
|
14
|
+
eventsHash: import("o1js/dist/node/lib/provable/field").Field;
|
|
15
|
+
}) & {
|
|
16
|
+
_isStruct: true;
|
|
17
|
+
} & Omit<import("o1js/dist/node/lib/provable/types/provable-intf").Provable<{
|
|
18
|
+
stateTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
|
|
19
|
+
status: import("o1js/dist/node/lib/provable/bool").Bool;
|
|
20
|
+
transactionHash: import("o1js/dist/node/lib/provable/field").Field;
|
|
21
|
+
networkStateHash: import("o1js/dist/node/lib/provable/field").Field;
|
|
22
|
+
isMessage: import("o1js/dist/node/lib/provable/bool").Bool;
|
|
23
|
+
eventsHash: import("o1js/dist/node/lib/provable/field").Field;
|
|
24
|
+
}, {
|
|
25
|
+
stateTransitionsHash: bigint;
|
|
26
|
+
status: boolean;
|
|
27
|
+
transactionHash: bigint;
|
|
28
|
+
networkStateHash: bigint;
|
|
29
|
+
isMessage: boolean;
|
|
30
|
+
eventsHash: bigint;
|
|
31
|
+
}>, "fromFields"> & {
|
|
32
|
+
fromFields: (fields: import("o1js/dist/node/lib/provable/field").Field[]) => {
|
|
33
|
+
stateTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
|
|
34
|
+
status: import("o1js/dist/node/lib/provable/bool").Bool;
|
|
35
|
+
transactionHash: import("o1js/dist/node/lib/provable/field").Field;
|
|
36
|
+
networkStateHash: import("o1js/dist/node/lib/provable/field").Field;
|
|
37
|
+
isMessage: import("o1js/dist/node/lib/provable/bool").Bool;
|
|
38
|
+
eventsHash: import("o1js/dist/node/lib/provable/field").Field;
|
|
39
|
+
};
|
|
40
|
+
} & {
|
|
41
|
+
fromValue: (value: {
|
|
42
|
+
stateTransitionsHash: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
|
|
43
|
+
status: boolean | import("o1js/dist/node/lib/provable/bool").Bool;
|
|
44
|
+
transactionHash: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
|
|
45
|
+
networkStateHash: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
|
|
46
|
+
isMessage: boolean | import("o1js/dist/node/lib/provable/bool").Bool;
|
|
47
|
+
eventsHash: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
|
|
48
|
+
}) => {
|
|
49
|
+
stateTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
|
|
50
|
+
status: import("o1js/dist/node/lib/provable/bool").Bool;
|
|
51
|
+
transactionHash: import("o1js/dist/node/lib/provable/field").Field;
|
|
52
|
+
networkStateHash: import("o1js/dist/node/lib/provable/field").Field;
|
|
53
|
+
isMessage: import("o1js/dist/node/lib/provable/bool").Bool;
|
|
54
|
+
eventsHash: import("o1js/dist/node/lib/provable/field").Field;
|
|
55
|
+
};
|
|
56
|
+
toInput: (x: {
|
|
57
|
+
stateTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
|
|
58
|
+
status: import("o1js/dist/node/lib/provable/bool").Bool;
|
|
59
|
+
transactionHash: import("o1js/dist/node/lib/provable/field").Field;
|
|
60
|
+
networkStateHash: import("o1js/dist/node/lib/provable/field").Field;
|
|
61
|
+
isMessage: import("o1js/dist/node/lib/provable/bool").Bool;
|
|
62
|
+
eventsHash: import("o1js/dist/node/lib/provable/field").Field;
|
|
63
|
+
}) => {
|
|
64
|
+
fields?: import("o1js/dist/node/lib/provable/field").Field[] | undefined;
|
|
65
|
+
packed?: [import("o1js/dist/node/lib/provable/field").Field, number][] | undefined;
|
|
66
|
+
};
|
|
67
|
+
toJSON: (x: {
|
|
68
|
+
stateTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
|
|
69
|
+
status: import("o1js/dist/node/lib/provable/bool").Bool;
|
|
70
|
+
transactionHash: import("o1js/dist/node/lib/provable/field").Field;
|
|
71
|
+
networkStateHash: import("o1js/dist/node/lib/provable/field").Field;
|
|
72
|
+
isMessage: import("o1js/dist/node/lib/provable/bool").Bool;
|
|
73
|
+
eventsHash: import("o1js/dist/node/lib/provable/field").Field;
|
|
74
|
+
}) => {
|
|
75
|
+
stateTransitionsHash: string;
|
|
76
|
+
status: boolean;
|
|
77
|
+
transactionHash: string;
|
|
78
|
+
networkStateHash: string;
|
|
79
|
+
isMessage: boolean;
|
|
80
|
+
eventsHash: string;
|
|
81
|
+
};
|
|
82
|
+
fromJSON: (x: {
|
|
83
|
+
stateTransitionsHash: string;
|
|
84
|
+
status: boolean;
|
|
85
|
+
transactionHash: string;
|
|
86
|
+
networkStateHash: string;
|
|
87
|
+
isMessage: boolean;
|
|
88
|
+
eventsHash: string;
|
|
89
|
+
}) => {
|
|
90
|
+
stateTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
|
|
91
|
+
status: import("o1js/dist/node/lib/provable/bool").Bool;
|
|
92
|
+
transactionHash: import("o1js/dist/node/lib/provable/field").Field;
|
|
93
|
+
networkStateHash: import("o1js/dist/node/lib/provable/field").Field;
|
|
94
|
+
isMessage: import("o1js/dist/node/lib/provable/bool").Bool;
|
|
95
|
+
eventsHash: import("o1js/dist/node/lib/provable/field").Field;
|
|
96
|
+
};
|
|
97
|
+
empty: () => {
|
|
98
|
+
stateTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
|
|
99
|
+
status: import("o1js/dist/node/lib/provable/bool").Bool;
|
|
100
|
+
transactionHash: import("o1js/dist/node/lib/provable/field").Field;
|
|
101
|
+
networkStateHash: import("o1js/dist/node/lib/provable/field").Field;
|
|
102
|
+
isMessage: import("o1js/dist/node/lib/provable/bool").Bool;
|
|
103
|
+
eventsHash: import("o1js/dist/node/lib/provable/field").Field;
|
|
104
|
+
};
|
|
105
|
+
};
|
|
106
|
+
/**
|
|
107
|
+
* Public input used to link in-circuit execution with
|
|
108
|
+
* the proof's public input.
|
|
109
|
+
*/
|
|
110
|
+
export declare class MethodPublicOutput extends MethodPublicOutput_base {
|
|
111
|
+
}
|
|
112
|
+
export {};
|
|
113
|
+
//# sourceMappingURL=MethodPublicOutput.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MethodPublicOutput.d.ts","sourceRoot":"","sources":["../../src/model/MethodPublicOutput.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,uBAOtC;CAAG"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Bool, Field, Struct } from "o1js";
|
|
2
|
+
/**
|
|
3
|
+
* Public input used to link in-circuit execution with
|
|
4
|
+
* the proof's public input.
|
|
5
|
+
*/
|
|
6
|
+
export class MethodPublicOutput extends Struct({
|
|
7
|
+
stateTransitionsHash: Field,
|
|
8
|
+
status: Bool,
|
|
9
|
+
transactionHash: Field,
|
|
10
|
+
networkStateHash: Field,
|
|
11
|
+
isMessage: Bool,
|
|
12
|
+
eventsHash: Field,
|
|
13
|
+
}) {
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=MethodPublicOutput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MethodPublicOutput.js","sourceRoot":"","sources":["../../src/model/MethodPublicOutput.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE3C;;;GAGG;AACH,MAAM,OAAO,kBAAmB,SAAQ,MAAM,CAAC;IAC7C,oBAAoB,EAAE,KAAK;IAC3B,MAAM,EAAE,IAAI;IACZ,eAAe,EAAE,KAAK;IACtB,gBAAgB,EAAE,KAAK;IACvB,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,KAAK;CAClB,CAAC;CAAG"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { Bool, Field, type FlexibleProvablePure } from "o1js";
|
|
2
|
+
declare const ProvableOption_base: (new (value: {
|
|
3
|
+
isSome: import("o1js/dist/node/lib/provable/bool").Bool;
|
|
4
|
+
value: import("o1js/dist/node/lib/provable/field").Field;
|
|
5
|
+
}) => {
|
|
6
|
+
isSome: import("o1js/dist/node/lib/provable/bool").Bool;
|
|
7
|
+
value: import("o1js/dist/node/lib/provable/field").Field;
|
|
8
|
+
}) & {
|
|
9
|
+
_isStruct: true;
|
|
10
|
+
} & Omit<import("o1js/dist/node/lib/provable/types/provable-intf").Provable<{
|
|
11
|
+
isSome: import("o1js/dist/node/lib/provable/bool").Bool;
|
|
12
|
+
value: import("o1js/dist/node/lib/provable/field").Field;
|
|
13
|
+
}, {
|
|
14
|
+
isSome: boolean;
|
|
15
|
+
value: bigint;
|
|
16
|
+
}>, "fromFields"> & {
|
|
17
|
+
fromFields: (fields: import("o1js/dist/node/lib/provable/field").Field[]) => {
|
|
18
|
+
isSome: import("o1js/dist/node/lib/provable/bool").Bool;
|
|
19
|
+
value: import("o1js/dist/node/lib/provable/field").Field;
|
|
20
|
+
};
|
|
21
|
+
} & {
|
|
22
|
+
fromValue: (value: {
|
|
23
|
+
isSome: boolean | import("o1js/dist/node/lib/provable/bool").Bool;
|
|
24
|
+
value: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
|
|
25
|
+
}) => {
|
|
26
|
+
isSome: import("o1js/dist/node/lib/provable/bool").Bool;
|
|
27
|
+
value: import("o1js/dist/node/lib/provable/field").Field;
|
|
28
|
+
};
|
|
29
|
+
toInput: (x: {
|
|
30
|
+
isSome: import("o1js/dist/node/lib/provable/bool").Bool;
|
|
31
|
+
value: import("o1js/dist/node/lib/provable/field").Field;
|
|
32
|
+
}) => {
|
|
33
|
+
fields?: import("o1js/dist/node/lib/provable/field").Field[] | undefined;
|
|
34
|
+
packed?: [import("o1js/dist/node/lib/provable/field").Field, number][] | undefined;
|
|
35
|
+
};
|
|
36
|
+
toJSON: (x: {
|
|
37
|
+
isSome: import("o1js/dist/node/lib/provable/bool").Bool;
|
|
38
|
+
value: import("o1js/dist/node/lib/provable/field").Field;
|
|
39
|
+
}) => {
|
|
40
|
+
isSome: boolean;
|
|
41
|
+
value: string;
|
|
42
|
+
};
|
|
43
|
+
fromJSON: (x: {
|
|
44
|
+
isSome: boolean;
|
|
45
|
+
value: string;
|
|
46
|
+
}) => {
|
|
47
|
+
isSome: import("o1js/dist/node/lib/provable/bool").Bool;
|
|
48
|
+
value: import("o1js/dist/node/lib/provable/field").Field;
|
|
49
|
+
};
|
|
50
|
+
empty: () => {
|
|
51
|
+
isSome: import("o1js/dist/node/lib/provable/bool").Bool;
|
|
52
|
+
value: import("o1js/dist/node/lib/provable/field").Field;
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
export declare class ProvableOption extends ProvableOption_base {
|
|
56
|
+
toSome(): this;
|
|
57
|
+
}
|
|
58
|
+
export declare abstract class OptionBase {
|
|
59
|
+
isSome: Bool;
|
|
60
|
+
isForcedSome: Bool;
|
|
61
|
+
protected constructor(isSome: Bool, isForcedSome: Bool);
|
|
62
|
+
protected abstract encodeValueToFields(): Field[];
|
|
63
|
+
protected abstract clone(): OptionBase;
|
|
64
|
+
/**
|
|
65
|
+
* @returns Tree representation of the current value
|
|
66
|
+
*/
|
|
67
|
+
get treeValue(): import("o1js/dist/node/lib/provable/field").Field;
|
|
68
|
+
forceSome(): void;
|
|
69
|
+
/**
|
|
70
|
+
* Returns the `to`-value as decoded as a list of fields
|
|
71
|
+
* Not in circuit
|
|
72
|
+
*/
|
|
73
|
+
toFields(): Field[];
|
|
74
|
+
/**
|
|
75
|
+
* @returns Provable representation of the current option.
|
|
76
|
+
*/
|
|
77
|
+
toProvable(): ProvableOption;
|
|
78
|
+
toJSON(): {
|
|
79
|
+
isSome: boolean;
|
|
80
|
+
isForcedSome: boolean;
|
|
81
|
+
value: string[];
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Option facilitating in-circuit values that may or may not exist.
|
|
86
|
+
*/
|
|
87
|
+
export declare class Option<Value> extends OptionBase {
|
|
88
|
+
value: Value;
|
|
89
|
+
valueType: FlexibleProvablePure<Value>;
|
|
90
|
+
/**
|
|
91
|
+
* Creates a new Option from the provided parameters
|
|
92
|
+
*
|
|
93
|
+
* @param isSome
|
|
94
|
+
* @param value
|
|
95
|
+
* @param valueType
|
|
96
|
+
* @returns New option from the provided parameters.
|
|
97
|
+
*/
|
|
98
|
+
static from<Value>(isSome: Bool, value: Value, valueType: FlexibleProvablePure<Value>): Option<Value>;
|
|
99
|
+
/**
|
|
100
|
+
* Creates a new Option from the provided parameters
|
|
101
|
+
*
|
|
102
|
+
* @param value
|
|
103
|
+
* @param valueType
|
|
104
|
+
* @returns New option from the provided parameters.
|
|
105
|
+
*/
|
|
106
|
+
static fromValue<Value>(value: Value, valueType: FlexibleProvablePure<Value>): Option<Value>;
|
|
107
|
+
/**
|
|
108
|
+
* @returns Empty / none option
|
|
109
|
+
*/
|
|
110
|
+
static none(): Option<import("o1js/dist/node/lib/provable/field").Field>;
|
|
111
|
+
constructor(isSome: Bool, value: Value, valueType: FlexibleProvablePure<Value>, isForcedSome?: import("o1js/dist/node/lib/provable/bool").Bool);
|
|
112
|
+
encodeValueToFields(): Field[];
|
|
113
|
+
clone(): Option<Value>;
|
|
114
|
+
/**
|
|
115
|
+
* @returns Returns the value of this option if it isSome,
|
|
116
|
+
* otherwise returns the given defaultValue
|
|
117
|
+
*/
|
|
118
|
+
orElse(defaultValue: Value): Value;
|
|
119
|
+
toConstant(): Option<Value>;
|
|
120
|
+
}
|
|
121
|
+
export {};
|
|
122
|
+
//# sourceMappingURL=Option.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Option.d.ts","sourceRoot":"","sources":["../../src/model/Option.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,KAAK,EACL,KAAK,oBAAoB,EAK1B,MAAM,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEd,qBAAa,cAAe,SAAQ,mBAGlC;IACO,MAAM;CAId;AAED,8BAAsB,UAAU;IAErB,MAAM,EAAE,IAAI;IACZ,YAAY,EAAE,IAAI;IAF3B,SAAS,aACA,MAAM,EAAE,IAAI,EACZ,YAAY,EAAE,IAAI;IAG3B,SAAS,CAAC,QAAQ,CAAC,mBAAmB,IAAI,KAAK,EAAE;IAEjD,SAAS,CAAC,QAAQ,CAAC,KAAK,IAAI,UAAU;IAEtC;;OAEG;IACH,IAAW,SAAS,sDAQnB;IAEM,SAAS;IAKhB;;;OAGG;IACI,QAAQ,IAAI,KAAK,EAAE;IAO1B;;OAEG;IACI,UAAU;IAOV,MAAM;;;;;CASd;AAED;;GAEG;AACH,qBAAa,MAAM,CAAC,KAAK,CAAE,SAAQ,UAAU;IAwClC,KAAK,EAAE,KAAK;IACZ,SAAS,EAAE,oBAAoB,CAAC,KAAK,CAAC;IAxC/C;;;;;;;OAOG;WACW,IAAI,CAAC,KAAK,EACtB,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,oBAAoB,CAAC,KAAK,CAAC;IAKxC;;;;;;OAMG;WACW,SAAS,CAAC,KAAK,EAC3B,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,oBAAoB,CAAC,KAAK,CAAC;IAKxC;;OAEG;WACW,IAAI;gBAKhB,MAAM,EAAE,IAAI,EACL,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,oBAAoB,CAAC,KAAK,CAAC,EAC7C,YAAY,kDAAc;IAKrB,mBAAmB,IAAI,KAAK,EAAE;IAI9B,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;IAS7B;;;OAGG;IACI,MAAM,CAAC,YAAY,EAAE,KAAK,GAAG,KAAK;IASlC,UAAU;CAelB"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { Bool, Field, Poseidon, Provable, Struct, } from "o1js";
|
|
2
|
+
export class ProvableOption extends Struct({
|
|
3
|
+
isSome: Bool,
|
|
4
|
+
value: Field,
|
|
5
|
+
}) {
|
|
6
|
+
toSome() {
|
|
7
|
+
this.isSome = Bool(true);
|
|
8
|
+
return this;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export class OptionBase {
|
|
12
|
+
constructor(isSome, isForcedSome) {
|
|
13
|
+
this.isSome = isSome;
|
|
14
|
+
this.isForcedSome = isForcedSome;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* @returns Tree representation of the current value
|
|
18
|
+
*/
|
|
19
|
+
get treeValue() {
|
|
20
|
+
const treeValue = Poseidon.hash(this.encodeValueToFields());
|
|
21
|
+
return Provable.if(this.isSome.and(this.isForcedSome.not()), treeValue, Field(0));
|
|
22
|
+
}
|
|
23
|
+
forceSome() {
|
|
24
|
+
this.isForcedSome = Provable.if(this.isSome, Bool(false), Bool(true));
|
|
25
|
+
this.isSome = Bool(true);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Returns the `to`-value as decoded as a list of fields
|
|
29
|
+
* Not in circuit
|
|
30
|
+
*/
|
|
31
|
+
toFields() {
|
|
32
|
+
if (this.isSome.toBoolean()) {
|
|
33
|
+
return this.encodeValueToFields();
|
|
34
|
+
}
|
|
35
|
+
return [Field(0)];
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* @returns Provable representation of the current option.
|
|
39
|
+
*/
|
|
40
|
+
toProvable() {
|
|
41
|
+
return new ProvableOption({
|
|
42
|
+
isSome: this.isSome,
|
|
43
|
+
value: this.treeValue,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
toJSON() {
|
|
47
|
+
const value = this.encodeValueToFields().map((field) => field.toString());
|
|
48
|
+
return {
|
|
49
|
+
isSome: this.isSome.toBoolean(),
|
|
50
|
+
isForcedSome: this.isForcedSome.toBoolean(),
|
|
51
|
+
value,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Option facilitating in-circuit values that may or may not exist.
|
|
57
|
+
*/
|
|
58
|
+
export class Option extends OptionBase {
|
|
59
|
+
/**
|
|
60
|
+
* Creates a new Option from the provided parameters
|
|
61
|
+
*
|
|
62
|
+
* @param isSome
|
|
63
|
+
* @param value
|
|
64
|
+
* @param valueType
|
|
65
|
+
* @returns New option from the provided parameters.
|
|
66
|
+
*/
|
|
67
|
+
static from(isSome, value, valueType) {
|
|
68
|
+
return new Option(isSome, value, valueType);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Creates a new Option from the provided parameters
|
|
72
|
+
*
|
|
73
|
+
* @param value
|
|
74
|
+
* @param valueType
|
|
75
|
+
* @returns New option from the provided parameters.
|
|
76
|
+
*/
|
|
77
|
+
static fromValue(value, valueType) {
|
|
78
|
+
return this.from(Bool(true), value, valueType);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* @returns Empty / none option
|
|
82
|
+
*/
|
|
83
|
+
static none() {
|
|
84
|
+
return new Option(Bool(false), Field(0), Field);
|
|
85
|
+
}
|
|
86
|
+
constructor(isSome, value, valueType, isForcedSome = Bool(false)) {
|
|
87
|
+
super(isSome, isForcedSome);
|
|
88
|
+
this.value = value;
|
|
89
|
+
this.valueType = valueType;
|
|
90
|
+
}
|
|
91
|
+
encodeValueToFields() {
|
|
92
|
+
return this.valueType.toFields(this.value);
|
|
93
|
+
}
|
|
94
|
+
clone() {
|
|
95
|
+
return new Option(this.isSome, this.value, this.valueType, this.isForcedSome);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* @returns Returns the value of this option if it isSome,
|
|
99
|
+
* otherwise returns the given defaultValue
|
|
100
|
+
*/
|
|
101
|
+
orElse(defaultValue) {
|
|
102
|
+
return Provable.if(this.isSome, this.valueType, this.value, defaultValue);
|
|
103
|
+
}
|
|
104
|
+
toConstant() {
|
|
105
|
+
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions
|
|
106
|
+
const valueConstant = this.valueType.fromFields(this.valueType.toFields(this.value).map((field) => field.toConstant()));
|
|
107
|
+
const boolConstant = (bool) => Bool.fromFields([bool.toField().toConstant()]);
|
|
108
|
+
return new Option(boolConstant(this.isSome), valueConstant, this.valueType, boolConstant(this.isForcedSome));
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=Option.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Option.js","sourceRoot":"","sources":["../../src/model/Option.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Field, type FlexibleProvablePure } from "o1js";
|
|
2
|
+
/**
|
|
3
|
+
* Helps manage path (key) identifiers for key-values in trees.
|
|
4
|
+
*/
|
|
5
|
+
export declare class Path {
|
|
6
|
+
/**
|
|
7
|
+
* Encodes a JS string as a Field
|
|
8
|
+
*
|
|
9
|
+
* @param value
|
|
10
|
+
* @returns Field representation of the provided value
|
|
11
|
+
*/
|
|
12
|
+
static toField(value: string): import("o1js/dist/node/lib/provable/field").Field;
|
|
13
|
+
/**
|
|
14
|
+
* Encodes a class name and its property name into a Field
|
|
15
|
+
*
|
|
16
|
+
* @param className
|
|
17
|
+
* @param propertyKey
|
|
18
|
+
* @returns Field representation of class name + property name
|
|
19
|
+
*/
|
|
20
|
+
static fromProperty(className: string, propertyKey: string): Field;
|
|
21
|
+
/**
|
|
22
|
+
* Encodes an existing path with the provided key into a single Field.
|
|
23
|
+
*
|
|
24
|
+
* @param path
|
|
25
|
+
* @param keyType
|
|
26
|
+
* @param key
|
|
27
|
+
* @returns Field representation of the leading path + the provided key.
|
|
28
|
+
*/
|
|
29
|
+
static fromKey<KeyType>(path: Field, keyType: FlexibleProvablePure<KeyType>, key: KeyType): Field;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=Path.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Path.d.ts","sourceRoot":"","sources":["../../src/model/Path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,oBAAoB,EAAY,MAAM,MAAM,CAAC;AAIlE;;GAEG;AACH,qBAAa,IAAI;IACf;;;;;OAKG;WACW,OAAO,CAAC,KAAK,EAAE,MAAM;IAInC;;;;;;OAMG;WACW,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,KAAK;IAQzE;;;;;;;OAOG;WACW,OAAO,CAAC,OAAO,EAC3B,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,oBAAoB,CAAC,OAAO,CAAC,EACtC,GAAG,EAAE,OAAO,GACX,KAAK;CAIT"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Field, Poseidon } from "o1js";
|
|
2
|
+
import { stringToField } from "../utils/utils";
|
|
3
|
+
/**
|
|
4
|
+
* Helps manage path (key) identifiers for key-values in trees.
|
|
5
|
+
*/
|
|
6
|
+
export class Path {
|
|
7
|
+
/**
|
|
8
|
+
* Encodes a JS string as a Field
|
|
9
|
+
*
|
|
10
|
+
* @param value
|
|
11
|
+
* @returns Field representation of the provided value
|
|
12
|
+
*/
|
|
13
|
+
static toField(value) {
|
|
14
|
+
return stringToField(value);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Encodes a class name and its property name into a Field
|
|
18
|
+
*
|
|
19
|
+
* @param className
|
|
20
|
+
* @param propertyKey
|
|
21
|
+
* @returns Field representation of class name + property name
|
|
22
|
+
*/
|
|
23
|
+
static fromProperty(className, propertyKey) {
|
|
24
|
+
return Poseidon.hash([
|
|
25
|
+
Path.toField(className),
|
|
26
|
+
Path.toField(propertyKey),
|
|
27
|
+
Field(0),
|
|
28
|
+
]);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Encodes an existing path with the provided key into a single Field.
|
|
32
|
+
*
|
|
33
|
+
* @param path
|
|
34
|
+
* @param keyType
|
|
35
|
+
* @param key
|
|
36
|
+
* @returns Field representation of the leading path + the provided key.
|
|
37
|
+
*/
|
|
38
|
+
static fromKey(path, keyType, key) {
|
|
39
|
+
const keyHash = Poseidon.hash(keyType.toFields(key));
|
|
40
|
+
return Poseidon.hash([path, keyHash]);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=Path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Path.js","sourceRoot":"","sources":["../../src/model/Path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAA6B,QAAQ,EAAE,MAAM,MAAM,CAAC;AAElE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;GAEG;AACH,MAAM,OAAO,IAAI;IACf;;;;;OAKG;IACI,MAAM,CAAC,OAAO,CAAC,KAAa;QACjC,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,YAAY,CAAC,SAAiB,EAAE,WAAmB;QAC/D,OAAO,QAAQ,CAAC,IAAI,CAAC;YACnB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;YACzB,KAAK,CAAC,CAAC,CAAC;SACT,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,OAAO,CACnB,IAAW,EACX,OAAsC,EACtC,GAAY;QAEZ,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QACrD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IACxC,CAAC;CACF"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export type RuntimeMethodInvocationType = "INCOMING_MESSAGE" | "SIGNATURE";
|
|
2
|
+
export type RuntimeMethodIdMapping = Record<`${string}.${string}`, {
|
|
3
|
+
methodId: bigint;
|
|
4
|
+
type: RuntimeMethodInvocationType;
|
|
5
|
+
}>;
|
|
6
|
+
export interface RuntimeLike {
|
|
7
|
+
get methodIdResolver(): {
|
|
8
|
+
methodIdMap: () => RuntimeMethodIdMapping;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=RuntimeLike.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuntimeLike.d.ts","sourceRoot":"","sources":["../../src/model/RuntimeLike.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,2BAA2B,GAAG,kBAAkB,GAAG,WAAW,CAAC;AAE3E,MAAM,MAAM,sBAAsB,GAAG,MAAM,CACzC,GAAG,MAAM,IAAI,MAAM,EAAE,EACrB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,2BAA2B,CAAA;CAAE,CACxD,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,IAAI,gBAAgB,IAAI;QACtB,WAAW,EAAE,MAAM,sBAAsB,CAAC;KAC3C,CAAC;CACH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuntimeLike.js","sourceRoot":"","sources":["../../src/model/RuntimeLike.ts"],"names":[],"mappings":""}
|