@enclave-e3/contracts 0.1.11 → 0.1.13
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/artifacts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol/ProxyAdmin.json +3 -3
- package/artifacts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol/artifacts.d.ts +3 -3
- package/artifacts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy.json +1 -1
- package/artifacts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +3 -3
- package/artifacts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/artifacts.d.ts +4 -4
- package/artifacts/build-info/{solc-0_8_28-c77ac33099bb85c15f46d194dd2b735e036cb799.json → solc-0_8_28-e60a5d7c133605edcf61acdd5ba43ab44ee0928e.json} +27 -12
- package/artifacts/build-info/solc-0_8_28-e60a5d7c133605edcf61acdd5ba43ab44ee0928e.output.json +1 -0
- package/artifacts/contracts/E3RefundManager.sol/E3RefundManager.json +684 -0
- package/artifacts/contracts/E3RefundManager.sol/artifacts.d.ts +27 -0
- package/artifacts/contracts/Enclave.sol/Enclave.json +530 -182
- package/artifacts/contracts/Enclave.sol/artifacts.d.ts +4 -4
- package/artifacts/contracts/interfaces/IBondingRegistry.sol/IBondingRegistry.json +14 -1
- package/artifacts/contracts/interfaces/IBondingRegistry.sol/artifacts.d.ts +2 -2
- package/artifacts/contracts/interfaces/ICiphernodeRegistry.sol/ICiphernodeRegistry.json +55 -5
- package/artifacts/contracts/interfaces/ICiphernodeRegistry.sol/artifacts.d.ts +2 -2
- package/artifacts/contracts/interfaces/IComputeProvider.sol/IComputeProvider.json +1 -1
- package/artifacts/contracts/interfaces/IComputeProvider.sol/artifacts.d.ts +1 -1
- package/artifacts/contracts/interfaces/IDecryptionVerifier.sol/IDecryptionVerifier.json +1 -1
- package/artifacts/contracts/interfaces/IDecryptionVerifier.sol/artifacts.d.ts +1 -1
- package/artifacts/contracts/interfaces/IE3Program.sol/IE3Program.json +19 -24
- package/artifacts/contracts/interfaces/IE3Program.sol/artifacts.d.ts +2 -2
- package/artifacts/contracts/interfaces/IE3RefundManager.sol/IE3RefundManager.json +470 -0
- package/artifacts/contracts/interfaces/IE3RefundManager.sol/artifacts.d.ts +27 -0
- package/artifacts/contracts/interfaces/IEnclave.sol/IEnclave.json +383 -128
- package/artifacts/contracts/interfaces/IEnclave.sol/artifacts.d.ts +2 -2
- package/artifacts/contracts/interfaces/ISlashVerifier.sol/ISlashVerifier.json +1 -1
- package/artifacts/contracts/interfaces/ISlashVerifier.sol/artifacts.d.ts +1 -1
- package/artifacts/contracts/interfaces/ISlashingManager.sol/ISlashingManager.json +1 -1
- package/artifacts/contracts/interfaces/ISlashingManager.sol/artifacts.d.ts +1 -1
- package/artifacts/contracts/lib/ExitQueueLib.sol/ExitQueueLib.json +1 -1
- package/artifacts/contracts/lib/ExitQueueLib.sol/artifacts.d.ts +1 -1
- package/artifacts/contracts/registry/BondingRegistry.sol/BondingRegistry.json +16 -3
- package/artifacts/contracts/registry/BondingRegistry.sol/artifacts.d.ts +4 -4
- package/artifacts/contracts/registry/CiphernodeRegistryOwnable.sol/CiphernodeRegistryOwnable.json +91 -25
- package/artifacts/contracts/registry/CiphernodeRegistryOwnable.sol/artifacts.d.ts +6 -6
- package/artifacts/contracts/slashing/SlashingManager.sol/SlashingManager.json +3 -3
- package/artifacts/contracts/slashing/SlashingManager.sol/artifacts.d.ts +3 -3
- package/artifacts/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistry.json +57 -7
- package/artifacts/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistryEmptyKey.json +57 -7
- package/artifacts/contracts/test/MockCiphernodeRegistry.sol/artifacts.d.ts +8 -8
- package/artifacts/contracts/test/MockComputeProvider.sol/MockComputeProvider.json +3 -3
- package/artifacts/contracts/test/MockComputeProvider.sol/artifacts.d.ts +3 -3
- package/artifacts/contracts/test/MockDecryptionVerifier.sol/MockDecryptionVerifier.json +1 -1
- package/artifacts/contracts/test/MockDecryptionVerifier.sol/artifacts.d.ts +1 -1
- package/artifacts/contracts/test/MockE3Program.sol/MockE3Program.json +21 -26
- package/artifacts/contracts/test/MockE3Program.sol/artifacts.d.ts +4 -4
- package/artifacts/contracts/test/MockSlashingVerifier.sol/MockSlashingVerifier.json +1 -1
- package/artifacts/contracts/test/MockSlashingVerifier.sol/artifacts.d.ts +1 -1
- package/artifacts/contracts/test/MockStableToken.sol/MockUSDC.json +3 -3
- package/artifacts/contracts/test/MockStableToken.sol/artifacts.d.ts +3 -3
- package/artifacts/contracts/token/EnclaveTicketToken.sol/EnclaveTicketToken.json +14 -22
- package/artifacts/contracts/token/EnclaveTicketToken.sol/artifacts.d.ts +4 -4
- package/artifacts/contracts/token/EnclaveToken.sol/EnclaveToken.json +10 -10
- package/artifacts/contracts/token/EnclaveToken.sol/artifacts.d.ts +4 -4
- package/artifacts/contracts/verifier/DkgPkVerifier.sol/BaseZKHonkVerifier.json +89 -0
- package/artifacts/contracts/verifier/DkgPkVerifier.sol/CommitmentSchemeLib.json +13 -0
- package/artifacts/contracts/verifier/DkgPkVerifier.sol/DkgPkVerifier.json +186 -0
- package/artifacts/contracts/verifier/DkgPkVerifier.sol/FrLib.json +13 -0
- package/artifacts/contracts/verifier/DkgPkVerifier.sol/Honk.json +13 -0
- package/artifacts/contracts/verifier/DkgPkVerifier.sol/HonkVerificationKey.json +13 -0
- package/artifacts/contracts/verifier/DkgPkVerifier.sol/IVerifier.json +38 -0
- package/artifacts/contracts/verifier/DkgPkVerifier.sol/RelationsLib.json +13 -0
- package/artifacts/contracts/verifier/DkgPkVerifier.sol/ZKTranscriptLib.json +400 -0
- package/artifacts/contracts/verifier/DkgPkVerifier.sol/artifacts.d.ts +155 -0
- package/artifacts/poseidon-solidity/PoseidonT3.sol/PoseidonT3.json +1 -1
- package/artifacts/poseidon-solidity/PoseidonT3.sol/artifacts.d.ts +1 -1
- package/contracts/E3RefundManager.sol +365 -0
- package/contracts/Enclave.sol +426 -119
- package/contracts/interfaces/IBondingRegistry.sol +6 -0
- package/contracts/interfaces/ICiphernodeRegistry.sol +29 -7
- package/contracts/interfaces/IE3.sol +2 -6
- package/contracts/interfaces/IE3Program.sol +3 -7
- package/contracts/interfaces/IE3RefundManager.sol +150 -0
- package/contracts/interfaces/IEnclave.sol +186 -64
- package/contracts/registry/BondingRegistry.sol +9 -0
- package/contracts/registry/CiphernodeRegistryOwnable.sol +89 -42
- package/contracts/test/MockCiphernodeRegistry.sol +20 -6
- package/contracts/test/MockE3Program.sol +3 -8
- package/contracts/verifier/DkgPkVerifier.sol +3140 -0
- package/dist/hardhat.config.d.ts.map +1 -1
- package/dist/hardhat.config.js +4 -4
- package/dist/ignition/modules/dkgPkVerifier.d.ts +3 -0
- package/dist/ignition/modules/dkgPkVerifier.d.ts.map +1 -0
- package/dist/ignition/modules/dkgPkVerifier.js +10 -0
- package/dist/ignition/modules/e3RefundManager.d.ts +3 -0
- package/dist/ignition/modules/e3RefundManager.d.ts.map +1 -0
- package/dist/ignition/modules/e3RefundManager.js +23 -0
- package/dist/ignition/modules/enclave.d.ts.map +1 -1
- package/dist/ignition/modules/enclave.js +10 -0
- package/dist/scripts/deployAndSave/e3RefundManager.d.ts +20 -0
- package/dist/scripts/deployAndSave/e3RefundManager.d.ts.map +1 -0
- package/dist/scripts/deployAndSave/e3RefundManager.js +55 -0
- package/dist/scripts/deployAndSave/enclave.d.ts +13 -1
- package/dist/scripts/deployAndSave/enclave.d.ts.map +1 -1
- package/dist/scripts/deployAndSave/enclave.js +8 -1
- package/dist/scripts/deployAndSave/verifiers.d.ts +29 -0
- package/dist/scripts/deployAndSave/verifiers.d.ts.map +1 -0
- package/dist/scripts/deployAndSave/verifiers.js +109 -0
- package/dist/scripts/deployEnclave.d.ts.map +1 -1
- package/dist/scripts/deployEnclave.js +36 -0
- package/dist/scripts/deployVerifiers.d.ts +2 -0
- package/dist/scripts/deployVerifiers.d.ts.map +1 -0
- package/dist/scripts/deployVerifiers.js +33 -0
- package/dist/scripts/index.d.ts +1 -0
- package/dist/scripts/index.d.ts.map +1 -1
- package/dist/scripts/index.js +1 -0
- package/dist/tasks/enclave.d.ts +0 -2
- package/dist/tasks/enclave.d.ts.map +1 -1
- package/dist/tasks/enclave.js +8 -72
- package/dist/tasks/program.d.ts +2 -0
- package/dist/tasks/program.d.ts.map +1 -0
- package/dist/tasks/program.js +55 -0
- package/dist/test/E3Lifecycle/E3Integration.spec.d.ts +2 -0
- package/dist/test/E3Lifecycle/E3Integration.spec.d.ts.map +1 -0
- package/dist/test/E3Lifecycle/E3Integration.spec.js +757 -0
- package/dist/test/Enclave.spec.js +83 -406
- package/dist/test/Registry/CiphernodeRegistryOwnable.spec.js +133 -59
- package/dist/types/contracts/E3RefundManager.d.ts +379 -0
- package/dist/types/contracts/E3RefundManager.d.ts.map +1 -0
- package/dist/types/contracts/E3RefundManager.js +24 -0
- package/dist/types/contracts/Enclave.d.ts +325 -73
- package/dist/types/contracts/Enclave.d.ts.map +1 -1
- package/dist/types/contracts/Enclave.js +27 -3
- package/dist/types/contracts/index.d.ts +3 -0
- package/dist/types/contracts/index.d.ts.map +1 -1
- package/dist/types/contracts/interfaces/IBondingRegistry.d.ts +11 -1
- package/dist/types/contracts/interfaces/IBondingRegistry.d.ts.map +1 -1
- package/dist/types/contracts/interfaces/ICiphernodeRegistry.d.ts +35 -7
- package/dist/types/contracts/interfaces/ICiphernodeRegistry.d.ts.map +1 -1
- package/dist/types/contracts/interfaces/ICiphernodeRegistry.js +4 -0
- package/dist/types/contracts/interfaces/IE3Program.d.ts +16 -18
- package/dist/types/contracts/interfaces/IE3Program.d.ts.map +1 -1
- package/dist/types/contracts/interfaces/IE3RefundManager.d.ts +238 -0
- package/dist/types/contracts/interfaces/IE3RefundManager.d.ts.map +1 -0
- package/dist/types/contracts/interfaces/IE3RefundManager.js +16 -0
- package/dist/types/contracts/interfaces/IEnclave.d.ts +290 -62
- package/dist/types/contracts/interfaces/IEnclave.d.ts.map +1 -1
- package/dist/types/contracts/interfaces/IEnclave.js +27 -3
- package/dist/types/contracts/interfaces/index.d.ts +1 -0
- package/dist/types/contracts/interfaces/index.d.ts.map +1 -1
- package/dist/types/contracts/registry/BondingRegistry.d.ts +11 -1
- package/dist/types/contracts/registry/BondingRegistry.d.ts.map +1 -1
- package/dist/types/contracts/registry/CiphernodeRegistryOwnable.d.ts +35 -7
- package/dist/types/contracts/registry/CiphernodeRegistryOwnable.d.ts.map +1 -1
- package/dist/types/contracts/registry/CiphernodeRegistryOwnable.js +4 -0
- package/dist/types/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistry.d.ts +35 -7
- package/dist/types/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistry.d.ts.map +1 -1
- package/dist/types/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistry.js +4 -0
- package/dist/types/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistryEmptyKey.d.ts +35 -7
- package/dist/types/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistryEmptyKey.d.ts.map +1 -1
- package/dist/types/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistryEmptyKey.js +4 -0
- package/dist/types/contracts/test/MockE3Program.d.ts +16 -18
- package/dist/types/contracts/test/MockE3Program.d.ts.map +1 -1
- package/dist/types/contracts/verifier/DkgPkVerifier.sol/BaseZKHonkVerifier.d.ts +36 -0
- package/dist/types/contracts/verifier/DkgPkVerifier.sol/BaseZKHonkVerifier.d.ts.map +1 -0
- package/dist/types/contracts/verifier/DkgPkVerifier.sol/BaseZKHonkVerifier.js +1 -0
- package/dist/types/contracts/verifier/DkgPkVerifier.sol/DkgPkVerifier.d.ts +36 -0
- package/dist/types/contracts/verifier/DkgPkVerifier.sol/DkgPkVerifier.d.ts.map +1 -0
- package/dist/types/contracts/verifier/DkgPkVerifier.sol/DkgPkVerifier.js +1 -0
- package/dist/types/contracts/verifier/DkgPkVerifier.sol/IVerifier.d.ts +36 -0
- package/dist/types/contracts/verifier/DkgPkVerifier.sol/IVerifier.d.ts.map +1 -0
- package/dist/types/contracts/verifier/DkgPkVerifier.sol/IVerifier.js +1 -0
- package/dist/types/contracts/verifier/DkgPkVerifier.sol/ZKTranscriptLib.d.ts +138 -0
- package/dist/types/contracts/verifier/DkgPkVerifier.sol/ZKTranscriptLib.d.ts.map +1 -0
- package/dist/types/contracts/verifier/DkgPkVerifier.sol/ZKTranscriptLib.js +1 -0
- package/dist/types/contracts/verifier/DkgPkVerifier.sol/index.d.ts +5 -0
- package/dist/types/contracts/verifier/DkgPkVerifier.sol/index.d.ts.map +1 -0
- package/dist/types/contracts/verifier/DkgPkVerifier.sol/index.js +1 -0
- package/dist/types/contracts/verifier/index.d.ts +3 -0
- package/dist/types/contracts/verifier/index.d.ts.map +1 -0
- package/dist/types/contracts/verifier/index.js +1 -0
- package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/ProxyAdmin__factory.d.ts +1 -1
- package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/ProxyAdmin__factory.d.ts.map +1 -1
- package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/ProxyAdmin__factory.js +1 -1
- package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy__factory.d.ts +1 -1
- package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy__factory.d.ts.map +1 -1
- package/dist/types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy__factory.js +1 -1
- package/dist/types/factories/contracts/E3RefundManager__factory.d.ts +540 -0
- package/dist/types/factories/contracts/E3RefundManager__factory.d.ts.map +1 -0
- package/dist/types/factories/contracts/E3RefundManager__factory.js +706 -0
- package/dist/types/factories/contracts/Enclave__factory.d.ts +412 -143
- package/dist/types/factories/contracts/Enclave__factory.d.ts.map +1 -1
- package/dist/types/factories/contracts/Enclave__factory.js +528 -180
- package/dist/types/factories/contracts/index.d.ts +2 -0
- package/dist/types/factories/contracts/index.d.ts.map +1 -1
- package/dist/types/factories/contracts/index.js +2 -0
- package/dist/types/factories/contracts/interfaces/IBondingRegistry__factory.d.ts +10 -0
- package/dist/types/factories/contracts/interfaces/IBondingRegistry__factory.d.ts.map +1 -1
- package/dist/types/factories/contracts/interfaces/IBondingRegistry__factory.js +13 -0
- package/dist/types/factories/contracts/interfaces/ICiphernodeRegistry__factory.d.ts +42 -4
- package/dist/types/factories/contracts/interfaces/ICiphernodeRegistry__factory.d.ts.map +1 -1
- package/dist/types/factories/contracts/interfaces/ICiphernodeRegistry__factory.js +54 -4
- package/dist/types/factories/contracts/interfaces/IE3Program__factory.d.ts +14 -18
- package/dist/types/factories/contracts/interfaces/IE3Program__factory.d.ts.map +1 -1
- package/dist/types/factories/contracts/interfaces/IE3Program__factory.js +18 -23
- package/dist/types/factories/contracts/interfaces/IE3RefundManager__factory.d.ts +358 -0
- package/dist/types/factories/contracts/interfaces/IE3RefundManager__factory.d.ts.map +1 -0
- package/dist/types/factories/contracts/interfaces/IE3RefundManager__factory.js +471 -0
- package/dist/types/factories/contracts/interfaces/IEnclave__factory.d.ts +303 -103
- package/dist/types/factories/contracts/interfaces/IEnclave__factory.d.ts.map +1 -1
- package/dist/types/factories/contracts/interfaces/IEnclave__factory.js +382 -127
- package/dist/types/factories/contracts/interfaces/index.d.ts +1 -0
- package/dist/types/factories/contracts/interfaces/index.d.ts.map +1 -1
- package/dist/types/factories/contracts/interfaces/index.js +1 -0
- package/dist/types/factories/contracts/registry/BondingRegistry__factory.d.ts +11 -1
- package/dist/types/factories/contracts/registry/BondingRegistry__factory.d.ts.map +1 -1
- package/dist/types/factories/contracts/registry/BondingRegistry__factory.js +14 -1
- package/dist/types/factories/contracts/registry/CiphernodeRegistryOwnable__factory.d.ts +62 -12
- package/dist/types/factories/contracts/registry/CiphernodeRegistryOwnable__factory.d.ts.map +1 -1
- package/dist/types/factories/contracts/registry/CiphernodeRegistryOwnable__factory.js +79 -13
- package/dist/types/factories/contracts/slashing/SlashingManager__factory.d.ts +1 -1
- package/dist/types/factories/contracts/slashing/SlashingManager__factory.d.ts.map +1 -1
- package/dist/types/factories/contracts/slashing/SlashingManager__factory.js +1 -1
- package/dist/types/factories/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistryEmptyKey__factory.d.ts +43 -5
- package/dist/types/factories/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistryEmptyKey__factory.d.ts.map +1 -1
- package/dist/types/factories/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistryEmptyKey__factory.js +55 -5
- package/dist/types/factories/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistry__factory.d.ts +43 -5
- package/dist/types/factories/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistry__factory.d.ts.map +1 -1
- package/dist/types/factories/contracts/test/MockCiphernodeRegistry.sol/MockCiphernodeRegistry__factory.js +55 -5
- package/dist/types/factories/contracts/test/MockComputeProvider__factory.d.ts +1 -1
- package/dist/types/factories/contracts/test/MockComputeProvider__factory.d.ts.map +1 -1
- package/dist/types/factories/contracts/test/MockComputeProvider__factory.js +1 -1
- package/dist/types/factories/contracts/test/MockE3Program__factory.d.ts +15 -19
- package/dist/types/factories/contracts/test/MockE3Program__factory.d.ts.map +1 -1
- package/dist/types/factories/contracts/test/MockE3Program__factory.js +19 -24
- package/dist/types/factories/contracts/test/MockStableToken.sol/MockUSDC__factory.d.ts +1 -1
- package/dist/types/factories/contracts/test/MockStableToken.sol/MockUSDC__factory.d.ts.map +1 -1
- package/dist/types/factories/contracts/test/MockStableToken.sol/MockUSDC__factory.js +1 -1
- package/dist/types/factories/contracts/token/EnclaveTicketToken__factory.d.ts +1 -1
- package/dist/types/factories/contracts/token/EnclaveTicketToken__factory.d.ts.map +1 -1
- package/dist/types/factories/contracts/token/EnclaveTicketToken__factory.js +1 -1
- package/dist/types/factories/contracts/token/EnclaveToken__factory.d.ts +1 -1
- package/dist/types/factories/contracts/token/EnclaveToken__factory.d.ts.map +1 -1
- package/dist/types/factories/contracts/token/EnclaveToken__factory.js +1 -1
- package/dist/types/factories/contracts/verifier/DkgPkVerifier.sol/BaseZKHonkVerifier__factory.d.ts +66 -0
- package/dist/types/factories/contracts/verifier/DkgPkVerifier.sol/BaseZKHonkVerifier__factory.d.ts.map +1 -0
- package/dist/types/factories/contracts/verifier/DkgPkVerifier.sol/BaseZKHonkVerifier__factory.js +90 -0
- package/dist/types/factories/contracts/verifier/DkgPkVerifier.sol/DkgPkVerifier__factory.d.ts +87 -0
- package/dist/types/factories/contracts/verifier/DkgPkVerifier.sol/DkgPkVerifier__factory.d.ts.map +1 -0
- package/dist/types/factories/contracts/verifier/DkgPkVerifier.sol/DkgPkVerifier__factory.js +122 -0
- package/dist/types/factories/contracts/verifier/DkgPkVerifier.sol/IVerifier__factory.d.ts +26 -0
- package/dist/types/factories/contracts/verifier/DkgPkVerifier.sol/IVerifier__factory.d.ts.map +1 -0
- package/dist/types/factories/contracts/verifier/DkgPkVerifier.sol/IVerifier__factory.js +39 -0
- package/dist/types/factories/contracts/verifier/DkgPkVerifier.sol/ZKTranscriptLib__factory.d.ts +323 -0
- package/dist/types/factories/contracts/verifier/DkgPkVerifier.sol/ZKTranscriptLib__factory.d.ts.map +1 -0
- package/dist/types/factories/contracts/verifier/DkgPkVerifier.sol/ZKTranscriptLib__factory.js +422 -0
- package/dist/types/factories/contracts/verifier/DkgPkVerifier.sol/index.d.ts +5 -0
- package/dist/types/factories/contracts/verifier/DkgPkVerifier.sol/index.d.ts.map +1 -0
- package/dist/types/factories/contracts/verifier/DkgPkVerifier.sol/index.js +7 -0
- package/dist/types/factories/contracts/verifier/index.d.ts +2 -0
- package/dist/types/factories/contracts/verifier/index.d.ts.map +1 -0
- package/dist/types/factories/contracts/verifier/index.js +4 -0
- package/dist/types/index.d.ts +12 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +6 -0
- package/package.json +17 -3
- package/artifacts/build-info/solc-0_8_28-c77ac33099bb85c15f46d194dd2b735e036cb799.output.json +0 -1
package/dist/types/factories/contracts/verifier/DkgPkVerifier.sol/BaseZKHonkVerifier__factory.js
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/* Autogenerated file. Do not edit manually. */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
import { Contract, Interface } from "ethers";
|
|
5
|
+
const _abi = [
|
|
6
|
+
{
|
|
7
|
+
"inputs": [],
|
|
8
|
+
"name": "ConsistencyCheckFailed",
|
|
9
|
+
"type": "error"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"inputs": [],
|
|
13
|
+
"name": "GeminiChallengeInSubgroup",
|
|
14
|
+
"type": "error"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"inputs": [],
|
|
18
|
+
"name": "ProofLengthWrong",
|
|
19
|
+
"type": "error"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"inputs": [
|
|
23
|
+
{
|
|
24
|
+
"internalType": "uint256",
|
|
25
|
+
"name": "logN",
|
|
26
|
+
"type": "uint256"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"internalType": "uint256",
|
|
30
|
+
"name": "actualLength",
|
|
31
|
+
"type": "uint256"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"internalType": "uint256",
|
|
35
|
+
"name": "expectedLength",
|
|
36
|
+
"type": "uint256"
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
"name": "ProofLengthWrongWithLogN",
|
|
40
|
+
"type": "error"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"inputs": [],
|
|
44
|
+
"name": "PublicInputsLengthWrong",
|
|
45
|
+
"type": "error"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"inputs": [],
|
|
49
|
+
"name": "ShpleminiFailed",
|
|
50
|
+
"type": "error"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"inputs": [],
|
|
54
|
+
"name": "SumcheckFailed",
|
|
55
|
+
"type": "error"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"inputs": [
|
|
59
|
+
{
|
|
60
|
+
"internalType": "bytes",
|
|
61
|
+
"name": "proof",
|
|
62
|
+
"type": "bytes"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"internalType": "bytes32[]",
|
|
66
|
+
"name": "publicInputs",
|
|
67
|
+
"type": "bytes32[]"
|
|
68
|
+
}
|
|
69
|
+
],
|
|
70
|
+
"name": "verify",
|
|
71
|
+
"outputs": [
|
|
72
|
+
{
|
|
73
|
+
"internalType": "bool",
|
|
74
|
+
"name": "verified",
|
|
75
|
+
"type": "bool"
|
|
76
|
+
}
|
|
77
|
+
],
|
|
78
|
+
"stateMutability": "view",
|
|
79
|
+
"type": "function"
|
|
80
|
+
}
|
|
81
|
+
];
|
|
82
|
+
export class BaseZKHonkVerifier__factory {
|
|
83
|
+
static abi = _abi;
|
|
84
|
+
static createInterface() {
|
|
85
|
+
return new Interface(_abi);
|
|
86
|
+
}
|
|
87
|
+
static connect(address, runner) {
|
|
88
|
+
return new Contract(address, _abi, runner);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import type { Addressable } from "ethers";
|
|
2
|
+
import { ContractFactory, ContractTransactionResponse } from "ethers";
|
|
3
|
+
import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers";
|
|
4
|
+
import type { NonPayableOverrides } from "../../../../common.js";
|
|
5
|
+
import type { DkgPkVerifier, DkgPkVerifierInterface } from "../../../../contracts/verifier/DkgPkVerifier.sol/DkgPkVerifier.js";
|
|
6
|
+
type DkgPkVerifierConstructorParams = [linkLibraryAddresses: DkgPkVerifierLibraryAddresses, signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
|
|
7
|
+
export declare class DkgPkVerifier__factory extends ContractFactory {
|
|
8
|
+
constructor(...args: DkgPkVerifierConstructorParams);
|
|
9
|
+
static linkBytecode(linkLibraryAddresses: DkgPkVerifierLibraryAddresses): string;
|
|
10
|
+
getDeployTransaction(overrides?: NonPayableOverrides & {
|
|
11
|
+
from?: string;
|
|
12
|
+
}): Promise<ContractDeployTransaction>;
|
|
13
|
+
deploy(overrides?: NonPayableOverrides & {
|
|
14
|
+
from?: string;
|
|
15
|
+
}): Promise<DkgPkVerifier & {
|
|
16
|
+
deploymentTransaction(): ContractTransactionResponse;
|
|
17
|
+
}>;
|
|
18
|
+
connect(runner: ContractRunner | null): DkgPkVerifier__factory;
|
|
19
|
+
static readonly bytecode = "0x610100604052348015610010575f5ffd5b50612000608052600d60a0527f170affbea8713b79ad326398ea7b49424c51fa4dca10a65185ad33dbce4d600160c052601160e05260805160a05160c05160e051615cbb6100dc5f395f81816101b0015261090201525f61018e01525f8181605b01528181609401528181610101015281816101d201528181610a3001528181610b3d01528181610bdc01528181610c0a01528181610c9001528181611524015281816115d3015281816116060152818161181001528181612b930152612ebc01525f5050615cbb5ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b3660046154e5565b610054565b604051901515815260200160405180910390f35b5f5f61007f7f00000000000000000000000000000000000000000000000000000000000000006102ee565b905061008c8160206155bd565b85146100ee577f0000000000000000000000000000000000000000000000000000000000000000856100bf8360206155bd565b6040516359895a5360e01b81526004810193909352602483019190915260448201526064015b60405180910390fd5b5f6100f76103e4565b90505f61012588887f00000000000000000000000000000000000000000000000000000000000000006103f9565b90506010826040015161013891906155d4565b85146101575760405163fa06659360e01b815260040160405180910390fd5b60405163995bf45760e01b81525f9073__$3f925933ac313a1c84f3f4c25b9ea43c90$__9063995bf457906101fa9085908b908b907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f000000000000000000000000000000000000000000000000000000000000000090600401615757565b610be060405180830381865af4158015610216573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061023a9190615a90565b905061028a8787808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050855185516060810151608090910151919350915060016108ac565b815160a0015261029a8282610a13565b6102b7576040516313f8744360e31b815260040160405180910390fd5b6102c2828483610bc8565b6102df576040516352ec174560e11b815260040160405180910390fd5b50600198975050505050505050565b5f806102fc600260086155bd565b905061030a600260046155bd565b6103149082615b3a565b905060016103236009856155bd565b61032d91906155bd565b6103379082615b3a565b9050610345600160296155bd565b61034f9082615b3a565b905061035d600160036155bd565b6103679082615b3a565b90506103746001846155bd565b61037e9082615b3a565b905061038c600160046155bd565b6103969082615b3a565b905060026103a56001856155d4565b6103af91906155bd565b6103b99082615b3a565b90506103c66002806155bd565b6103d09082615b3a565b90506103dd601082615b3a565b9392505050565b6103ec615031565b6103f4611c0a565b905090565b6104016151bb565b5f805b60108110156104635761043086838761041e602083615b3a565b9261042b93929190615b4d565b612542565b8351826010811061044357610443615b74565b6020020181815250506020826104599190615b3a565b9150600101610404565b50610487858286610475604083615b3a565b9261048293929190615b4d565b612555565b6020830152610497604082615b3a565b90506104aa858286610475604083615b3a565b6040808401919091526104bd9082615b3a565b90506104d0858286610475604083615b3a565b60608301526104e0604082615b3a565b90506104f3858286610475604083615b3a565b60a0830152610503604082615b3a565b9050610516858286610475604083615b3a565b60c0830152610526604082615b3a565b9050610539858286610475604083615b3a565b6080830152610549604082615b3a565b905061055c858286610475604083615b3a565b60e083015261056c604082615b3a565b905061057f858286610475604083615b3a565b610100830152610590604082615b3a565b90506105a3858286610475604083615b3a565b610120830151526105b5604082615b3a565b90506105c885828661041e602083615b3a565b6101408301526105d9602082615b3a565b90505f5b83811015610657575f5b600981101561064e5761060187848861041e602083615b3a565b84610160015183601c811061061857610618615b74565b6020020151826009811061062e5761062e615b74565b6020020181815250506020836106449190615b3a565b92506001016105e7565b506001016105dd565b505f5b60298110156106ab5761067486838761041e602083615b3a565b836101800151826029811061068b5761068b615b74565b6020020181815250506020826106a19190615b3a565b915060010161065a565b506106bd85828661041e602083615b3a565b6101a08301526106ce602082615b3a565b90506106e1858286610475604083615b3a565b610120830151602001526106f6604082615b3a565b9050610709858286610475604083615b3a565b61012083015160026020020152610721604082615b3a565b9050610734858286610475604083615b3a565b6101c0830152610745604082615b3a565b905061075885828661041e602083615b3a565b6101e0830152610769602082615b3a565b90505f5b6107786001856155d4565b8110156107c157610790868387610475604083615b3a565b83610200015182601b81106107a7576107a7615b74565b60200201526107b7604083615b3a565b915060010161076d565b505f5b83811015610814576107dd86838761041e602083615b3a565b83610220015182601c81106107f4576107f4615b74565b60200201818152505060208261080a9190615b3a565b91506001016107c4565b505f5b60048110156108685761083186838761041e602083615b3a565b836102400151826004811061084857610848615b74565b60200201818152505060208261085e9190615b3a565b9150600101610817565b5061087a858286610475604083615b3a565b61026083015261088b604082615b3a565b905061089e858286610475604083615b3a565b610280830152509392505050565b5f600180826108d9866108d4896108cf6108ca8a6310000000615b3a565b6125d7565b6125ef565b61260a565b90505f6108f7876108f28a6108cf6108ca8b6001615b3a565b612623565b90505f5b61092660107f00000000000000000000000000000000000000000000000000000000000000006155d4565b811015610993575f6109508c838151811061094357610943615b74565b602002602001015161264b565b9050610960866108cf868461260a565b9550610970856108cf858461260a565b945061097c848b61260a565b9350610988838b612623565b9250506001016108fb565b505f5b60108110156109fa575f8a82601081106109b2576109b2615b74565b602002015190506109c7866108cf868461260a565b95506109d7856108cf858461260a565b94506109e3848b61260a565b93506109ef838b612623565b925050600101610996565b50610a058484612660565b9a9950505050505050505050565b5f5f610a2883606001518561014001516125ef565b905060015f5b7f0000000000000000000000000000000000000000000000000000000000000000811015610b1a575f86610160015182601c8110610a6e57610a6e615b74565b602002015180519091505f90610a8c908360015b602002015161260a565b9050848114610aae576040516313f8744360e31b815260040160405180910390fd5b5f876080015184601c8110610ac557610ac5615b74565b60200201519050610ad6838261266e565b9550610b0a856108cf60016108d4856108cf8e604001518b601c8110610afe57610afe615b74565b60200201516001612623565b9450505050806001019050610a2e565b505f610b34866101800151865f015187602001518561281c565b9050600160025b7f0000000000000000000000000000000000000000000000000000000000000000811015610b9157610b8782886080015183601c8110610b7d57610b7d615b74565b60200201516125ef565b9150600101610b3b565b50610bb7610ba4836108cf600185612623565b6108d4896101a0015189606001516125ef565b91508382145b979650505050505050565b5f610bd16152a4565b5f610c008460c001517f0000000000000000000000000000000000000000000000000000000000000000612895565b90505f6003610c307f00000000000000000000000000000000000000000000000000000000000000006024615b3a565b610c3a9190615b3a565b610c45906003615b3a565b6001600160401b03811115610c5c57610c5c615941565b604051908082528060200260200182016040528015610c85578160200160208202803683370190505b5090505f6003610cb67f00000000000000000000000000000000000000000000000000000000000000006024615b3a565b610cc09190615b3a565b610ccb906003615b3a565b6001600160401b03811115610ce257610ce2615941565b604051908082528060200260200182016040528015610d1b57816020015b610d08615314565b815260200190600190039081610d005790505b509050610d4e610d49876101000151855f81518110610d3c57610d3c615b74565b6020026020010151612623565b61295e565b84610120018181525050610d83610d49876101000151855f81518110610d7657610d76615b74565b602002602001015161260a565b610140850181905261012085015160e0880151610da4926108d491906125ef565b845260c0860151610dd490610db89061295e565b6108cf8661012001516108f28a60e001518961014001516125ef565b6020850152815160019083905f90610dee57610dee615b74565b602002602001018181525050876102600151815f81518110610e1257610e12615b74565b60209081029190910101526101e088015160c085015260a080870151908501528351610e3d906129ce565b60408501526020840151610e50906129ce565b60608501526040840151825183906001908110610e6f57610e6f615b74565b60209081029190910101525f5b6024811015610f1657610e9785604001518660a001516125ef565b83610ea3836002615b3a565b81518110610eb357610eb3615b74565b602002602001018181525050610ef08560c001516108d48b61018001518460298110610ee157610ee1615b74565b60200201518860a001516125ef565b60c086015260a08086015190880151610f0991906125ef565b60a0860152600101610e7c565b505f5b6005811015610fe4575f610f2e601e83615b3a565b90505f610f3c602484615b3a565b9050610f6d858381518110610f5357610f53615b74565b60200260200101516108d489606001518a60a001516125ef565b858381518110610f7f57610f7f615b74565b602002602001018181525050610fbc8760c001516108d48d61018001518460298110610fad57610fad615b74565b60200201518a60a001516125ef565b60c088015260a080880151908a0151610fd591906125ef565b60a08801525050600101610f19565b50876101c0015181600181518110610ffe57610ffe615b74565b602002602001018190525086606001518160028151811061102157611021615b74565b602002602001018190525086608001518160038151811061104457611044615b74565b60200260200101819052508660a001518160048151811061106757611067615b74565b60200260200101819052508660c001518160058151811061108a5761108a615b74565b60200260200101819052508660e00151816006815181106110ad576110ad615b74565b6020026020010181905250866101000151816007815181106110d1576110d1615b74565b6020026020010181905250866101200151816008815181106110f5576110f5615b74565b60200260200101819052508661014001518160098151811061111957611119615b74565b602002602001018190525086610160015181600a8151811061113d5761113d615b74565b6020026020010181905250866101c0015181600b8151811061116157611161615b74565b602002602001018190525086610180015181600c8151811061118557611185615b74565b6020026020010181905250866101a0015181600d815181106111a9576111a9615b74565b6020026020010181905250866101e0015181600e815181106111cd576111cd615b74565b602002602001018190525086610200015181600f815181106111f1576111f1615b74565b60200260200101819052508661022001518160108151811061121557611215615b74565b60200260200101819052508661024001518160118151811061123957611239615b74565b60200260200101819052508661026001518160128151811061125d5761125d615b74565b60200260200101819052508661028001518160138151811061128157611281615b74565b6020026020010181905250866102a00151816014815181106112a5576112a5615b74565b6020026020010181905250866102c00151816015815181106112c9576112c9615b74565b6020026020010181905250866102e00151816016815181106112ed576112ed615b74565b60200260200101819052508661030001518160178151811061131157611311615b74565b60200260200101819052508661032001518160188151811061133557611335615b74565b60200260200101819052508661034001518160198151811061135957611359615b74565b602002602001018190525086610360015181601a8151811061137d5761137d615b74565b602002602001018190525086610380015181601b815181106113a1576113a1615b74565b6020026020010181905250866103a0015181601c815181106113c5576113c5615b74565b6020026020010181905250866103c0015181601d815181106113e9576113e9615b74565b6020026020010181905250876020015181601e8151811061140c5761140c615b74565b6020026020010181905250876040015181601f8151811061142f5761142f615b74565b602002602001018190525087606001518160208151811061145257611452615b74565b602002602001018190525087608001518160218151811061147557611475615b74565b60200260200101819052508761010001518160228151811061149957611499615b74565b60200260200101819052508760e00151816023815181106114bc576114bc615b74565b60200260200101819052508760a00151816024815181106114df576114df615b74565b60200260200101819052508760c001518160258151811061150257611502615b74565b60200260200101819052505f61154887608001518660c001518b6102200151877f00000000000000000000000000000000000000000000000000000000000000006129e0565b9050611572815f8151811061155f5761155f615b74565b60200260200101518661012001516125ef565b608086018190526102208a01515160e08901516115a392916108d49161159891906125ef565b8861014001516125ef565b608086015260e08701516115b690612b3e565b60a08601525f6115c860246002615b3a565b90505f5b6115f760017f00000000000000000000000000000000000000000000000000000000000000006155d4565b811015611808575f61162a60017f00000000000000000000000000000000000000000000000000000000000000006155d4565b8210159050806117995761165e610d498b61010001518985600161164e9190615b3a565b81518110610d3c57610d3c615b74565b6101208901526101008a015161168e90610d49908961167e866001615b3a565b81518110610d7657610d76615b74565b61014089015260a08801516101208901516116a991906125ef565b61016089015260a088015160e08b01516116d1916116c6916125ef565b8961014001516125ef565b61018089018190526116f4906116e6906129ce565b6108d48a61016001516129ce565b866116ff8486615b3a565b8151811061170f5761170f615b74565b6020026020010181815250505f6117488961018001518e61022001518560016117389190615b3a565b601c8110610b7d57610b7d615b74565b9050611782816108d48b6101600151888760016117659190615b3a565b8151811061177557611775615b74565b60200260200101516125ef565b905061179289608001518261260a565b60808a0152505b6117b86117ae8960a001518c60e001516125ef565b8b60e001516125ef565b60a08901526102008c015182601b81106117d4576117d4615b74565b6020020151856117e48486615b3a565b815181106117f4576117f4615b74565b6020908102919091010152506001016115cc565b5061183460017f00000000000000000000000000000000000000000000000000000000000000006155d4565b61183e9082615b3a565b905061185e6118568961010001518a60c00151612623565b600190612660565b60e08701515261010088015160c08901516118a291611856916108f2907f07b0c561a6148404f086204a9f36ffb0617942546750f230c893619174a57a76906125ef565b60e0878101805160200192909252815180516040909101529051805160609091015260a0870151908901516118e4916118da916125ef565b8960e001516125ef565b60a08701525f5b6004811015611992575f61191d8860e00151836004811061190e5761190e615b74565b60200201518960a001516125ef565b9050611928816129ce565b886101000151836004811061193f5761193f615b74565b602002015260a088015160e08b015161195891906125ef565b8860a001818152505061198488608001516108d4838f61024001518660048110610b7d57610b7d615b74565b6080890152506001016118eb565b506101008601515184518590839081106119ae576119ae615b74565b602090810291909101810191909152610100870151908101516119d2916002610a82565b846119de836001615b3a565b815181106119ee576119ee615b74565b60209081029190910101526101008601516060015184611a0f836002615b3a565b81518110611a1f57611a1f615b74565b60209081029190910101525f5b6003811015611a81578a61012001518160038110611a4c57611a4c615b74565b60200201518483611a5c81615b88565b945081518110611a6e57611a6e615b74565b6020908102919091010152600101611a2c565b506040518060400160405280600181526020016002815250838281518110611aab57611aab615b74565b60200260200101819052508560800151848280611ac790615b88565b935081518110611ad957611ad9615b74565b602002602001018181525050611b038a61024001518960c001518a608001518d6101a00151612b49565b611b205760405163a2a2ac8360e01b815260040160405180910390fd5b5f8a6102800151905080848381518110611b3c57611b3c615b74565b6020026020010181905250886101000151858381518110611b5f57611b5f615b74565b602002602001018181525050611b7361532c565b611b7d8587612eac565b8152611b8882612fc8565b602082018190528c5182515f92611ba092919061300e565b90505f5f611bb08f5f0151613094565b91509150611bbd82613155565b611bc681613155565b8351611bd39083856131f4565b84526020840151611be59082856131f4565b602085018190528451611bf791613223565b9f9e505050505050505050505050505050565b611c12615031565b50604080516103e0810182526120008152600d602080830191909152601182840152825180840184527f1a5c96bf5dac44c45e28380daccedfec1d9a8919999a0d748a8686f7f42cba7681527f28c5876a4c88720ff49870cbc3b7f41c26a131f4d57ce95cbc6127859c08931f818301526060830152825180840184527f2c740230a118ad04f1482eeef2e75a14aed0f961b763120de34d0fbe63ca12b081527f1b9aa7fd5bf93acbaadd615b6e0829e714539fe471bece34b359cd6a96d00294818301526080830152825180840184527f22a702d6d3957500783049fee5af2a27155cfdf1b6c2958942f5cde4bc63d16381527e3567b43861479b2347249040b9a4c4423f494e6dd8a7de9a4e3900741c45518183015260a0830152825180840184527f1333cd6f8595ef95ab9d9744d1d00175a56c1b0bc60000ac6d4eb9ec7315c70a81527f1c891650f45fe25cf375ea0b322372757b89799546eed2152766130e6b99efa08183015260c0830152825180840184527f251fdc445de2b90170e8c86c41a81303bb3de75352f2bd6f095bdab77486445a81527f06f20c995414f9b6bdb794492d328124e2b7676329a5a1724365076751ad2a8a8183015260e0830152825180840184527f12600bb185b845c63e4b9d5c310db2d257aa5d1d09090ef3c8bdd7334e8991d081527f017ccf0bdad7381ff8a3bef25259d90c296b71c037ee58bcce51cb0b7a6e97f481830152610100830152825180840184527f0c4032c3079594eb75a8449d3d5ce8bc3661650d53f9b24d923d8f404cb0bbc981527f1084d709650356d40f0158fd6da81f54eb5fe796a0ca89441369b7c24301f85181830152610120830152825180840184527f1f13031b7801d2da6d5206a7da087d7661d87905cef81f24e3cbe9e7a1c5148881527f2d93aa6923ac15844842bd024199117f43ca14c883f37570030fdf385356a18a81830152610140830152825180840184527f300557c1eda8ed63912d72e051bb3431bd54f7395755b820a59ff85295eb36d981527f227e5f5f62555201e96e188514b5387fb7e026a4af0ac209ec6730c4e0e6cc7681830152610160830152825180840184527f02095e5acd019e4edaf8d736615b4a159deafdb98a171db591ed499b0219fb4b81527f0644f4dc54ac72663d956a233412f748e74b1591553ecbca703829acf75e471a81830152610180830152825180840184527f022bae55678012a184d4cb970b8f9a6d1334097d611de534bef96fc9f8d9d01181527f284ee2d499274885bcb7a0d77b0a261d9192ec413b0c0a86fb27ae88cdd5a72c818301526101a0830152825180840184527f20a7925feb244b2ba41d31db4651a6c6c6be672ed0e7711f2ef4c2b89f9c4a5f81527f2472b531a32a7d7f80ec3c3375977ba4968f326786473e34d1fd73e6236cf661818301526101c0830152825180840184527f2dd8c7e5ce5f6a7053c173bb140d46830ab962c6c45d637d66171ee540bb21d581527f033b47f5f8496af8d227ef175c47b3f7cd666ebc94f0e63562ebfcf30d73f6e2818301526101e0830152825180840184527f2940b2ab034af88869e264e12ee268b16c221b5f2cdd96748cce870c1a7bb24a81527f04cfb9bfe08adf0e6f25c2cc9e83448d8f23d9fb3a0efba8d41768520d62d0e881830152610200830152825180840184527f1b300dbb752984d39a06a3278fc9048a525d0fdf14ef98f17ffb42a971fb903281527f01ccd716ea4eeba47b57e3110f305af0d1e2feec11f2656816dbb234ea0b3b1b81830152610220830152825180840184527f0d2e187f65cf5ab43eac061f54e93bdcc292b2f518ee632b030ea3290143139c81527f03ff9967978b924f43af1e71f6281ee36a96c1b647bbf8c17e3cb4626068b78b81830152610240830152825180840184527f2106e82e5e59b21be7c8ac07ede04efc6445f01e31b5ce7894444cb081df43d181527f0571641ab150cfa4371421f984cc897945b69ca100d0960c2ee5ca1d17cd967081830152610260830152825180840184527f27599a711decc65fa4aad9515655e029868cc54d495fb8b53fa44e165702a5ee81527f1d9db80b8419761979511454f69fa448fc50d15062e434c6994c4ccc4912f67281830152610280830152825180840184527f1fa05f284bf1410f37f0d556ccfeb052395ec8625620cf724d146a3b15496d4d81527f0c8fc17b9b81b4f93a7b9bdd1cc5f01a30ef6e808409c456f6d6d13fe7d2eb17818301526102a0830152825180840184527f05798d2cd96b3294d8cc2f0120fa58ffea3a662e32039784f0b0b051e34e871881527f02d377efbb702de6d6a38e5c42c6aaf56cc11762d724a635ea4d5dc72eb9e0ca818301526102c0830152825180840184527f110bd6ab5007b97692cd6e8ea8cab85d8b039d9e8dc2a9931fa6dcd72e0adac881527f2e418397e17371fcf5a1a5c614f4dfe9727b79d5aa127ab98c04a7a4c06ccb9f818301526102e0830152825180840184527f0ccf438e4b27c76e599cda77ba04ad29cbaf538ded427e979eef69a5a9884b7881527f09117b0cb34fc65ed20f92de70c6f8e073c755fb4acf2d74f402c6a97ee3d01a81830152610300830152825180840184527f099e3bd5a0a00ab7fe18040105b9b395b5d8b7b4a63b05df652b0d10ef146d2681527e15b8d2515d76e2ccec99dcd194592129af3a637f5a622a32440f860d1e2a7f81830152610320830152825180840184527f1b917517920bad3d8bc01c9595092a222b888108dc25d1aa450e0b4bc212c37e81527f305e8992b148eedb22e6e992077a84482141c7ebe42000a1d58ccb74381f6d1981830152610340830152825180840184527f13567e3b915c81013ada15236ba5cfa60111b440400b2bca37e2b1085e924a7781527f0148d22589b91f0d8f4674af5744dedafd63caea904b434e748f9713de8cc3d781830152610360830152825180840184527f043d063b130adfb37342af45d0155a28edd1a7e46c840d9c943fdf45521c64ce81527f261522c4089330646aff96736194949330952ae74c573d1686d9cb4a007338548183015261038083015282518084018452600181526002818301526103a083015282518084019093527f22671e023cbbeb82d51b48eb911951a7a1f9c2bb913f3f42a56f272e205d462483527f139bdfe9fe99633e5abe888702fa64a75c80d62184d0a16bd999840553954bb1908301526103c081019190915290565b5f6103dd6125508385615ba0565b61264b565b61255d615314565b60408051808201909152805f516020615c6f5f395f51905f5261258360205f8789615b4d565b61258c91615ba0565b6125969190615bbd565b81526020908101905f516020615c6f5f395f51905f52906125bb906040908789615b4d565b6125c491615ba0565b6125ce9190615bbd565b90529392505050565b5f5f516020615c8f5f395f51905f52825b0692915050565b5f5f516020615c8f5f395f51905f5282840990505b92915050565b5f5f516020615c8f5f395f51905f528284089392505050565b5f5f516020615c8f5f395f51905f52825f516020615c8f5f395f51905f520384089392505050565b5f5f516020615c8f5f395f51905f52826125e8565b5f6103dd836108cf8461295e565b5f5f604051806101200160405280619d8081526020017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526020016105a081526020017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd31815260200161024081526020017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3181526020016105a081526020017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec518152602001619d8081525090505f600190505f5f90505b60098110156127675761275d826108cf8784612623565b9150600101612746565b5061277061533f565b5f5b60098110156127c1576127a2610d4985836009811061279357612793615b74565b60200201516108cf8985612623565b8282600981106127b4576127b4615b74565b6020020152600101612772565b505f5b6009811015612807576127fd856108d48984600981106127e6576127e6615b74565b6020020151858560098110610b7d57610b7d615b74565b94506001016127c4565b5061281284836125ef565b9695505050505050565b5f61282561535e565b612830868285613417565b61283c868683866135c3565b612848868683866137af565b6128538682856139d4565b61285e868285613bc8565b61286a86868386613f11565b6128758682856143bd565b6128808682856147cf565b61288b868285614b90565b6128128185614e90565b60605f826001600160401b038111156128b0576128b0615941565b6040519080825280602002602001820160405280156128d9578160200160208202803683370190505b50905083815f815181106128ef576128ef615b74565b602090810291909101015260015b8381101561295657612931826129146001846155d4565b8151811061292457612924615b74565b6020026020010151612b3e565b82828151811061294357612943615b74565b60209081029190910101526001016128fd565b509392505050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f516020615c8f5f395f51905f520360808201525f516020615c8f5f395f51905f5260a082015260205f60c08360055afa806129ba575f5ffd5b505f51608091909101604052949350505050565b5f516020615c8f5f395f51905f520390565b60605f826001600160401b038111156129fb576129fb615941565b604051908082528060200260200182016040528015612a24578160200160208202803683370190505b509050825b8015612b33575f85612a3c6001846155d4565b81518110612a4c57612a4c615b74565b602002602001015190505f89600184612a6591906155d4565b601c8110612a7557612a75615b74565b602002015190505f612ad0612a94612a8d858d6125ef565b60026125ef565b6108f28b612aa36001896155d4565b601c8110612ab357612ab3615b74565b60200201516108cf612aca886108cf60018a612623565b87612623565b9050612af1816108cf610d49612aeb876108cf600189612623565b8661260a565b99508990508085612b036001876155d4565b81518110612b1357612b13615b74565b60200260200101818152505050505080612b2c90615bdc565b9050612a29565b509695505050505050565b5f61260482836125ef565b5f600181612b62612b5c87610100614ee9565b83612623565b905080612b825760405163835eb8f760e01b815260040160405180910390fd5b612b8a61537d565b80518390525f5b7f0000000000000000000000000000000000000000000000000000000000000000811015612c73575f612bc58260096155bd565b612bd0906001615b3a565b905084835f0151826101008110612be957612be9615b74565b60200201525f612bfa826001615b3a565b90505b612c08600983615b3a565b811015612c69578351612c4890612c206001846155d4565b6101008110612c3157612c31615b74565b60200201518a85601c8110610b7d57610b7d615b74565b8451826101008110612c5c57612c5c615b74565b6020020152600101612bfd565b5050600101612b91565b50608081018390525f602082018190525b610100811015612d8457612ca5612c9f83608001518a6125ef565b85612623565b8260a00151826101008110612cbc57612cbc615b74565b602002015260a0820151612ce690826101008110612cdc57612cdc615b74565b602002015161295e565b8260a00151826101008110612cfd57612cfd615b74565b602002018181525050612d4382602001516108d4845f0151846101008110612d2757612d27615b74565b60200201518560a00151856101008110610b7d57610b7d615b74565b60208301526080820151612d77907f204bd3277422fad364751ad938e2b5e6a54cf8c68712848a692c553d0329f5d66125ef565b6080830152600101612c84565b505f612d95836108cf61010061295e565b9050612da58260200151826125ef565b602083015260a0820151612dc0905f5b6020020151826125ef565b604083015260a0820151612dec90612ddb60016101006155d4565b6101008110612db557612db5615b74565b60608301526040820151612e02908a6002610b7d565b60c08301819052612e62906108d4612e3a8b7f204bd3277422fad364751ad938e2b5e6a54cf8c68712848a692c553d0329f5d6612623565b60208d015160408e01516108cf91612e5191612623565b8e5160208901516108f291906125ef565b60c083018190526060830151612e9791612e8b916108d4906108cf8e600260200201518c612623565b6108f2858c6003610b7d565b60c08301819052159998505050505050505050565b612eb4615314565b5f6003612ee27f00000000000000000000000000000000000000000000000000000000000000006024615b3a565b612eec9190615b3a565b612ef7906003615b3a565b90505f5b81811015612f2d57612f25858281518110612f1857612f18615b74565b6020026020010151613155565b600101612efb565b50604051600190815b60018401811015612f925760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612f36565b5080518452602081015160208501525080612fc0576040516352ec174560e11b815260040160405180910390fd5b505092915050565b612fd0615314565b5f516020615c6f5f395f51905f5282602001515f516020615c6f5f395f51905f52612ffb91906155d4565b6130059190615bbd565b60208301525090565b5f5f5f61301a86613094565b915091506130266153c1565b82518152602080840151818301528251604080840191909152838201516060840152875160808401528782015160a0840152865160c08401528682015160e084015251610bbd9161307991849101615bf1565b6040516020818303038152906040528051906020012061264b565b61309c615314565b6130a4615314565b82516020808501516040860151606087015160cc90811b608892831b604494851b90961795909517949094178652608087015160a088015160c089015160e08a0151871b90841b91851b9092171717868401526101008701516101208801516101408901516101608a0151871b90841b91851b909217171785526101808701516101a08801516101c08901516101e09099015190951b9790911b9390911b1791909117939093179281019290925291565b805160208201515f5f516020615c6f5f395f51905f528380095f516020615c6f5f395f51905f5260035f516020615c6f5f395f51905f52838709085f516020615c6f5f395f51905f5284850914915050806131ee5760405162461bcd60e51b8152602060048201526019602482015278706f696e74206973206e6f74206f6e2074686520637572766560381b60448201526064016100e5565b50505050565b6131fc615314565b613204615314565b61320e8386614f4a565b905061321a8185614fa0565b95945050505050565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516133b99190615c25565b5f60405180830381855afa9150503d805f81146133f1576040519150601f19603f3d011682016040523d82523d5f602084013e6133f6565b606091505b50915091508180156128125750808060200190518101906128129190615c3b565b5f613423846007615001565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f61348461347e613458856003612623565b6108cf6134736134688b5f615001565b6108cf8c601d615001565b6108cf8b601c615001565b836125ef565b90506135056134fa6134e16134c86134af856108d46134a48d6002615001565b6108cf8e601c615001565b6108d46134bd8c6003615001565b6108cf8d601d615001565b6108d46134d68b6004615001565b6108cf8c601e615001565b6108d46134ef8a6005615001565b6108cf8b601f615001565b6108d4886001615001565b9050613524816108d4613519866001612623565b6108cf8a6027615001565b905061353081846125ef565b905061353c81856125ef565b8552505f905061357661356c61356161355688601c615001565b6108d489601f615001565b6108f2886024615001565b6108d4875f615001565b9050613587816108cf846002612623565b9050613598816108cf846001612623565b90506135a481836125ef565b90506135b081846125ef565b9050808460015b60200201525050505050565b5f5f5f6135f96135ef6135d789601c615001565b6108d46135e58b6012615001565b8a606001516125ef565b876080015161260a565b9050613632816108cf6136286136108b601d615001565b6108d461361e8d6013615001565b8c606001516125ef565b896080015161260a565b9050613657816108cf6136286136498b601e615001565b6108d461361e8d6014615001565b905061367c816108cf61362861366e8b601f615001565b6108d461361e8d6015615001565b92505f90506136a06135ef61369289601c615001565b6108d46135e58b600e615001565b90506136c5816108cf6136286136b78b601d615001565b6108d461361e8d600f615001565b90506136ea816108cf6136286136dc8b601e615001565b6108d461361e8d6010615001565b905061370f816108cf6136286137018b601f615001565b6108d461361e8d6011615001565b91505f9050613736613730613725896020615001565b6108d48a601a615001565b846125ef565b905061376b816108f261376561374d8b6028615001565b6108d461375b8d601b615001565b8c60a001516125ef565b856125ef565b905061377781856125ef565b6040860152505f61379a61376561378f89601b615001565b6108cf8a6028615001565b9050808560035b602002015250505050505050565b5f5f61380d6137f56137dd6137c86136288a6016615001565b6108d46137d68b6017615001565b8a516125ef565b6108d46137eb8a6018615001565b89602001516125ef565b6108d4613803896019615001565b88604001516125ef565b91505f61384461382b61382189601c615001565b886080015161260a565b6108d46138398a6003615001565b6108cf8b6024615001565b90505f61386d61385589601d615001565b6108d46138628b5f615001565b6108cf8c6025615001565b90505f61389761387e8a601e615001565b6108d461388c8c6001615001565b6108cf8d6026615001565b90506138d66138be6138b0856108d4868d5f01516125ef565b6108d4848c602001516125ef565b6108d46138cc8c6004615001565b8b604001516125ef565b93505050505f6138ea613730886021615001565b90505f6138fb613730896021615001565b90505f61393361391a61390f8b6023615001565b6108d48c6006615001565b6108f26139288c6023615001565b6108cf8d6006615001565b90505f613951612b5c61394687896125ef565b6108cf8d6021615001565b905061395d81886125ef565b90505f6139856139776139718d6006615001565b876125ef565b6108f26139718e6022615001565b90505f6139938c6023615001565b90505f6139a3612b5c83846125ef565b60808c0185905260a08c0184905290506139bd818b6125ef565b8b6006602002015250505050505050505050505050565b5f6139e05f6001612623565b90505f6139ee5f6002612623565b90505f6139fc5f6003612623565b90505f613a18613a0d88601d615001565b6108f289601c615001565b90505f613a34613a2989601e615001565b6108f28a601d615001565b90505f613a50613a458a601f615001565b6108f28b601e615001565b90505f613a6c613a618b6024615001565b6108f28c601f615001565b905083613a7d816108cf818b61260a565b9050613a8d816108cf878a61260a565b9050613a9d816108cf878961260a565b9050613aae816108cf8d6008615001565b9050613aba818a6125ef565b60e08b01525082613acf816108cf818b61260a565b9050613adf816108cf868a61260a565b9050613aef816108cf868961260a565b9050613b00816108cf8d6008615001565b9050613b0c818a6125ef565b6101008b01525081613b22816108cf818b61260a565b9050613b32816108cf858a61260a565b9050613b42816108cf858961260a565b9050613b53816108cf8d6008615001565b9050613b5f818a6125ef565b6101208b01525080613b75816108cf818b61260a565b9050613b85816108cf848a61260a565b9050613b95816108cf848961260a565b9050613ba6816108cf8d6008615001565b9050613bb2818a6125ef565b610140909a019990995250505050505050505050565b613c016040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613c0c84601d615001565b8152613c1984601e615001565b6020820152613c29846024615001565b6040820152613c39846027615001565b6060820152613c49846026615001565b6080820152613c59846025615001565b60a08201525f613c6a856002615001565b90505f613c77865f615001565b90505f613c8b8460400151855f0151612623565b90505f613ca0856020015186602001516125ef565b606086015190915086905f90613cb690806125ef565b90505f613cd4613cce89602001518a606001516125ef565b886125ef565b90505f613cf3613cec8a60a001518b6040015161260a565b8a5161260a565b9050613d0261397182886125ef565b9050613d29613d23613d1d613d178487612623565b88612623565b8461260a565b8361260a565b9050613d51613d46613d3b83876125ef565b6108cf8f6009615001565b6108cf60018a612623565b6101608c015250505050602085015160808601515f91613d709161260a565b90505f613d8e613d848860600151886125ef565b8860200151612623565b90505f613db2613d9e84876125ef565b6108d46137658b60a001518c5f0151612623565b9050613dda613dcf613dc4838c6125ef565b6108cf8e6009615001565b6108cf600189612623565b6101808b0152505f9150613dfb9050613df483601161260a565b87516125ef565b90505f613e08838461260a565b9050613e14818261260a565b90505f613e228360096125ef565b9050613e4b613e45613730613e3e8b60a001518c5f015161260a565b8b5161260a565b82612623565b60c089018190525f90613e6690613cce90613d3b908d6125ef565b9050613e798b600b60200201518261260a565b6101608c0152505086515f9250613ea09150613df490613e99908061260a565b885161260a565b90505f613ee0613ebb836108cf8a5f01518b60a00151612623565b60208901516108f290613ece908061260a565b6108cf8b602001518c6080015161260a565b9050613efd89600c60200201516108d4613cce613d3b858d6125ef565b89600c602002015250505050505050505050565b613f7b604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613f93613f8986601e615001565b85604001516125ef565b808252613fb2906108d4613fa888601d615001565b87602001516125ef565b808252613fc7906108d4613df488601c615001565b808252613fd9906108d4876001615001565b80825260208201819052613ff2906108f287601f615001565b815261400d614002866024615001565b6108f287601c615001565b608082015261402b614020866027615001565b6108f287601f615001565b60608201526080810151614044906108cf816001612623565b6101c082015260808101516140849061407a90614073906108cf60015f516020615c8f5f395f51905f526155d4565b600161260a565b82606001516125ef565b60a082018190526140ba906140ac906108cf6140a1896002615001565b6108cf8a6003615001565b6108cf61376588600a615001565b83600e60200201526101c08101516140de906140ac906108cf6140a1896002615001565b6101e08401528051614103906108cf6140f8886002615001565b6108cf896003615001565b6101208201525f61412261411887601f615001565b8360200151612623565b9050614133816108cf836001612623565b60e0830152614150614146876026615001565b86604001516125ef565b60408301819052614173906108d4614169896025615001565b88602001516125ef565b60408301819052614193906108d461418c896024615001565b88516125ef565b60408301526141b06141a6876027615001565b8360400151612623565b60408301525f6141cf6141c4886026615001565b6108f289601e615001565b90506142216141fc61347e614073866080015160015f516020615c8f5f395f51905f526108cf91906155d4565b6108cf614073866040015160015f516020615c8f5f395f51905f526108cf91906155d4565b60c084015260408301516142439061423990806125ef565b8460400151612623565b61010084015260c083015161426f90614261906108cf8a6004615001565b6108cf6139718a600a615001565b6102008601526101c083015161428e90614261906108cf8a6004615001565b6102208601526101008301516142ad90614261906108cf8a6004615001565b61024086015260e08301516142c7906108cf896004615001565b6101408401526142e66142db886025615001565b6108f289601d615001565b6101608401526080830151614324906141c49061431990614073906108cf60015f516020615c8f5f395f51905f526155d4565b8561016001516125ef565b61018084018190526101208401516101a0850181905261435b916108d4906108cf6143508c6005615001565b6108cf8d6002615001565b6101a08401819052835161437b91906108d4906108cf6143508c5f615001565b6101a08401819052610140840151614393919061260a565b6101a084018190526143ad906108cf6139718a600a615001565b6101a0840181905285600d6137a1565b6143f66040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61442b61441261440786601c615001565b6108cf876025615001565b6108d4614420876024615001565b6108cf88601d615001565b815261447061446561444c61444187601c615001565b6108cf88601f615001565b6108d461445a88601d615001565b6108cf89601e615001565b6108f2866026615001565b6040820181905261448590600160441b6125ef565b6040820181905261449b906108f2866027615001565b6040820181905281516144ae919061260a565b604082018190526144c4906108cf866005615001565b604082015280516144d990600160441b6125ef565b8082526144f9906108d46144ee876024615001565b6108cf886025615001565b80825260208201819052614520906108f261451587601e615001565b6108d488601f615001565b60208201819052614536906108cf866004615001565b6020820152805160608201819052614553906108d486601f615001565b60608201819052614577906108f261456c876026615001565b6108d4886027615001565b6060820181905261458c906108cf865f615001565b8160600181815250505f6145b56145ab8360200151846040015161260a565b836060015161260a565b90506145c6816108cf876003615001565b90506145de6145d6866025615001565b6140006125ef565b608083018190526145f4906108d4876024615001565b60808301819052614607906140006125ef565b6080830181905261461d906108d487601e615001565b60808301819052614630906140006125ef565b60808301819052614646906108d487601d615001565b60808301819052614659906140006125ef565b6080830181905261466f906108d487601c615001565b60808301819052614685906108f287601f615001565b6080830181905261469b906108cf876005615001565b60808301526146ae6145d6866026615001565b60a083018190526146c4906108d4876025615001565b60a083018190526146d7906140006125ef565b60a083018190526146ed906108d4876024615001565b60a08301819052614700906140006125ef565b60a08301819052614716906108d487601f615001565b60a08301819052614729906140006125ef565b60a0830181905261473f906108d487601e615001565b60a08301819052614755906108f2876027615001565b60a0830181905261476a906108cf875f615001565b60a0830181905260808301515f91614782919061260a565b9050614793816108cf886004615001565b905061479f828261260a565b60c084018190526147b8906108cf61397189600b615001565b60c084018190528560136020020152505050505050565b6148456040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61485e61485385601c615001565b6108d4866002615001565b815261487961486e85601d615001565b6108d4866003615001565b602082015261489761488c85601e615001565b6108d4866004615001565b60408201526148b56148aa85601f615001565b6108d4866005615001565b606082015280516148e7906148e0906148d9906148d290806125ef565b84516125ef565b83516125ef565b82516125ef565b608082015260208101516149259061491b906149119061490790806125ef565b84602001516125ef565b83602001516125ef565b82602001516125ef565b60a08201526040810151614963906149599061494f9061494590806125ef565b84604001516125ef565b83604001516125ef565b82604001516125ef565b60c082015260608101516149979061407a9061498d9061498390806125ef565b84606001516125ef565b83606001516125ef565b60e0820152608081015160a08201516149b0919061260a565b61010082015260c081015160e08201516149ca919061260a565b61012082015260a08101516149ee906149e3908061260a565b82610120015161260a565b61014082015260e0810151614a1290614a07908061260a565b82610100015161260a565b610160820152610120810151614a28908061260a565b6101e08201819052614a4990614a3e908061260a565b82610160015161260a565b6101e0820152610100810151614a5f908061260a565b6101a08201819052614a8090614a75908061260a565b82610140015161260a565b6101a08201819052610160820151614a979161260a565b6101808201526101408101516101e0820151614ab3919061260a565b6101c0820152614ac761347e85600c615001565b6102008201819052610280840151610180830151614af2926108d4916108cf906108f28a6024615001565b8360146020020152614b2283601560200201516108d48361020001516108cf856101a001516108f28a6025615001565b8360156020020152614b5283601660200201516108d48361020001516108cf856101c001516108f28a6026615001565b8360166020020152614b8283601760200201516108d48361020001516108cf856101e001516108f28a6027615001565b836017602002015250505050565b614be26040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6040518060800160405280614c177f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e76125d7565b8152602001614c457f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b6125d7565b8152602001614c727e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac156125d7565b8152602001614ca07f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b6125d7565b90529050614cbd614cb286601c615001565b6108d4876002615001565b6101208301819052614cfc90614cf190614ce690614cdb90806125ef565b8561012001516125ef565b8461012001516125ef565b8361012001516125ef565b8252614d0985601d615001565b6020830152614d1985601e615001565b6040830152614d2985601f615001565b606083015281516020830151614d51916145ab91614d47919061260a565b846040015161260a565b6080830152614d6461373086600d615001565b6101408301528151614d8590614d7b90835f610b7d565b836080015161260a565b60a0830152614db184601860200201516108d48461014001516108cf8660a001516108f28b6024615001565b6103008501526020820151614dcc90614d7b90836001610b7d565b60c0830152614df884601960200201516108d48461014001516108cf8660c001516108f28b6025615001565b6103208501526040820151614e1390614d7b90836002610b7d565b60e0830152614e3f84601a60200201516108d48461014001516108cf8660e001516108f28b6026615001565b6103408501526060820151614e5a90614d7b90836003610b7d565b610100830152614e8884601b60200201516108d48461014001516108cf8661010001516108f28b6027615001565b84601b6135b7565b815160015b601c811015614ee257614ed8826108d48684601c8110614eb757614eb7615b74565b602002015186614ec86001876155d4565b601b8110610b7d57610b7d615b74565b9150600101614e95565b5092915050565b5f5f8390505f60405160208152602080820152602060408201528260608201528460808201525f516020615c8f5f395f51905f5260a082015260205f60c08360055afa80614f35575f5ffd5b505f5160809190910160405295945050505050565b614f52615314565b614f5a615314565b604051835181526020840151602082015284604082015260408160608360075afa80614f84575f5ffd5b5080518252602080820151908301526060016040529392505050565b614fa8615314565b614fb0615314565b6040518451815260208501516020820152835160408201526020840151606082015260408160808360065afa80614fe5575f5ffd5b5080518252602080820151908301526080016040529392505050565b5f8282602881111561501557615015615c5a565b6029811061502557615025615b74565b60200201519392505050565b604051806103e001604052805f81526020015f81526020015f8152602001615057615314565b8152602001615064615314565b8152602001615071615314565b815260200161507e615314565b815260200161508b615314565b8152602001615098615314565b81526020016150a5615314565b81526020016150b2615314565b81526020016150bf615314565b81526020016150cc615314565b81526020016150d9615314565b81526020016150e6615314565b81526020016150f3615314565b8152602001615100615314565b815260200161510d615314565b815260200161511a615314565b8152602001615127615314565b8152602001615134615314565b8152602001615141615314565b815260200161514e615314565b815260200161515b615314565b8152602001615168615314565b8152602001615175615314565b8152602001615182615314565b815260200161518f615314565b815260200161519c615314565b81526020016151a9615314565b81526020016151b6615314565b905290565b604051806102a001604052806151cf6153e0565b81526020016151dc615314565b81526020016151e9615314565b81526020016151f6615314565b8152602001615203615314565b8152602001615210615314565b815260200161521d615314565b815260200161522a615314565b8152602001615237615314565b81526020016152446153ff565b81526020015f815260200161525761542c565b815260200161526461545a565b81526020015f8152602001615277615314565b81526020015f815260200161528a615479565b815260200161529761535e565b815260200161519c6154a7565b604051806101c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020016152e26154a7565b81526020016152ef6154a7565b81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b60405180604001604052805f81526020015f81525090565b60405180604001604052806151a9615314565b6040518061012001604052806009906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518060e001604052806153906154c5565b81526020015f81526020015f81526020015f81526020015f81526020016153b56154c5565b81526020015f81525090565b6040518061010001604052806008906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b60405180606001604052806003905b615416615314565b81526020019060019003908161540e5790505090565b604051806103800160405280601c905b61544461533f565b81526020019060019003908161543c5790505090565b6040518061052001604052806029906020820280368337509192915050565b604051806103600160405280601b905b615491615314565b8152602001906001900390816154895790505090565b60405180608001604052806004906020820280368337509192915050565b604051806120000160405280610100906020820280368337509192915050565b5f5f5f5f604085870312156154f8575f5ffd5b84356001600160401b0381111561550d575f5ffd5b8501601f8101871361551d575f5ffd5b80356001600160401b03811115615532575f5ffd5b876020828401011115615543575f5ffd5b6020918201955093508501356001600160401b03811115615562575f5ffd5b8501601f81018713615572575f5ffd5b80356001600160401b03811115615587575f5ffd5b8760208260051b840101111561559b575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417612604576126046155a9565b81810381811115612604576126046155a9565b805f5b60108110156131ee5781518452602093840193909101906001016155ea565b805f5b60038110156131ee5761562a84835180518252602090810151910152565b604093909301926020919091019060010161560c565b805f5b601c8110156131ee578151845f5b6009811015615670578251825260209283019290910190600101615651565b505050610120939093019260209190910190600101615643565b805f5b60298110156131ee57815184526020938401939091019060010161568d565b805f5b601b8110156131ee576156cd84835180518252602090810151910152565b60409390930192602091909101906001016156af565b805f5b601c8110156131ee5781518452602093840193909101906001016156e6565b805f5b60048110156131ee578151845260209384019390910190600101615708565b8183525f6001600160fb1b0383111561573e575f5ffd5b8260051b80836020870137939093016020019392505050565b6157628188516155e7565b5f602088015161578061020084018280518252602090810151910152565b5060408801518051610240840152602090810151610260840152606089015180516102808501528101516102a0840152608089015180516102c08501528101516102e084015260a0890151805161030085015281015161032084015260c0890151805161034085015281015161036084015260e089015180516103808501528101516103a084015261010089015180516103c085015201516103e0830152610120880151615832610400840182615609565b506101408801516104c08301526101608801516158536104e0840182615640565b5061018088015161586861246084018261568a565b506101a08801516129808301526101c088015180516129a0840152602001516129c08301526101e08801516129e08301526102008801516158ad612a008401826156ac565b506102208801516158c26130c08401826156e3565b506102408801516158d7613440840182615705565b5061026088015180516134c08401526020908101516134e0840152610280890151805161350085015201516135208301526135c061354083018190526159209083018789615727565b613560830195909552506135808101929092526135a0909101529392505050565b634e487b7160e01b5f52604160045260245ffd5b60405161014081016001600160401b038111828210171561597857615978615941565b60405290565b604051601f8201601f191681016001600160401b03811182821017156159a6576159a6615941565b604052919050565b5f60c082840312156159be575f5ffd5b60405160c081016001600160401b03811182821017156159e0576159e0615941565b604090815283518252602080850151908301528381015190820152606080840151908201526080808401519082015260a0928301519281019290925250919050565b5f82601f830112615a31575f5ffd5b5f610360615a3e8161597e565b915083018185821115615a4f575f5ffd5b845b82811015615a69578051825260209182019101615a51565b509195945050505050565b5f82601f830112615a83575f5ffd5b5f610380615a3e8161597e565b5f610be0828403128015615aa2575f5ffd5b50615aab615955565b615ab584846159ae565b8152615ac48460c08501615a22565b6020820152615ad7846104208501615a74565b60408201526107a08301516060820152615af5846107c08501615a74565b6080820152610b4083015160a0820152610b6083015160c0820152610b8083015160e0820152610ba0830151610100820152610bc09092015161012083015250919050565b80820180821115612604576126046155a9565b5f5f85851115615b5b575f5ffd5b83861115615b67575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b5f60018201615b9957615b996155a9565b5060010190565b80356020831015612604575f19602084900360031b1b1692915050565b5f82615bd757634e487b7160e01b5f52601260045260245ffd5b500690565b5f81615bea57615bea6155a9565b505f190190565b5f8183825b6008811015615c15578151835260209283019290910190600101615bf6565b5050506101008201905092915050565b5f82518060208501845e5f920191825250919050565b5f60208284031215615c4b575f5ffd5b815180151581146103dd575f5ffd5b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a164736f6c634300081c000a";
|
|
20
|
+
static readonly abi: readonly [{
|
|
21
|
+
readonly inputs: readonly [];
|
|
22
|
+
readonly name: "ConsistencyCheckFailed";
|
|
23
|
+
readonly type: "error";
|
|
24
|
+
}, {
|
|
25
|
+
readonly inputs: readonly [];
|
|
26
|
+
readonly name: "GeminiChallengeInSubgroup";
|
|
27
|
+
readonly type: "error";
|
|
28
|
+
}, {
|
|
29
|
+
readonly inputs: readonly [];
|
|
30
|
+
readonly name: "ProofLengthWrong";
|
|
31
|
+
readonly type: "error";
|
|
32
|
+
}, {
|
|
33
|
+
readonly inputs: readonly [{
|
|
34
|
+
readonly internalType: "uint256";
|
|
35
|
+
readonly name: "logN";
|
|
36
|
+
readonly type: "uint256";
|
|
37
|
+
}, {
|
|
38
|
+
readonly internalType: "uint256";
|
|
39
|
+
readonly name: "actualLength";
|
|
40
|
+
readonly type: "uint256";
|
|
41
|
+
}, {
|
|
42
|
+
readonly internalType: "uint256";
|
|
43
|
+
readonly name: "expectedLength";
|
|
44
|
+
readonly type: "uint256";
|
|
45
|
+
}];
|
|
46
|
+
readonly name: "ProofLengthWrongWithLogN";
|
|
47
|
+
readonly type: "error";
|
|
48
|
+
}, {
|
|
49
|
+
readonly inputs: readonly [];
|
|
50
|
+
readonly name: "PublicInputsLengthWrong";
|
|
51
|
+
readonly type: "error";
|
|
52
|
+
}, {
|
|
53
|
+
readonly inputs: readonly [];
|
|
54
|
+
readonly name: "ShpleminiFailed";
|
|
55
|
+
readonly type: "error";
|
|
56
|
+
}, {
|
|
57
|
+
readonly inputs: readonly [];
|
|
58
|
+
readonly name: "SumcheckFailed";
|
|
59
|
+
readonly type: "error";
|
|
60
|
+
}, {
|
|
61
|
+
readonly inputs: readonly [{
|
|
62
|
+
readonly internalType: "bytes";
|
|
63
|
+
readonly name: "proof";
|
|
64
|
+
readonly type: "bytes";
|
|
65
|
+
}, {
|
|
66
|
+
readonly internalType: "bytes32[]";
|
|
67
|
+
readonly name: "publicInputs";
|
|
68
|
+
readonly type: "bytes32[]";
|
|
69
|
+
}];
|
|
70
|
+
readonly name: "verify";
|
|
71
|
+
readonly outputs: readonly [{
|
|
72
|
+
readonly internalType: "bool";
|
|
73
|
+
readonly name: "verified";
|
|
74
|
+
readonly type: "bool";
|
|
75
|
+
}];
|
|
76
|
+
readonly stateMutability: "view";
|
|
77
|
+
readonly type: "function";
|
|
78
|
+
}];
|
|
79
|
+
static createInterface(): DkgPkVerifierInterface;
|
|
80
|
+
attach(address: string | Addressable): DkgPkVerifier;
|
|
81
|
+
static connect(address: string, runner?: ContractRunner | null): DkgPkVerifier;
|
|
82
|
+
}
|
|
83
|
+
export interface DkgPkVerifierLibraryAddresses {
|
|
84
|
+
["project/contracts/verifier/DkgPkVerifier.sol:ZKTranscriptLib"]: string;
|
|
85
|
+
}
|
|
86
|
+
export {};
|
|
87
|
+
//# sourceMappingURL=DkgPkVerifier__factory.d.ts.map
|
package/dist/types/factories/contracts/verifier/DkgPkVerifier.sol/DkgPkVerifier__factory.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DkgPkVerifier__factory.d.ts","sourceRoot":"","sources":["../../../../../../types/factories/contracts/verifier/DkgPkVerifier.sol/DkgPkVerifier__factory.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAY,eAAe,EAAE,2BAA2B,EAAa,MAAM,QAAQ,CAAA;AAC1F,OAAO,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAC/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,mEAAmE,CAAC;AAmF3H,KAAK,8BAA8B,GAC/B,CAAC,oBAAoB,EAAE,6BAA6B,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,GACtE,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC;AAUtD,qBAAa,sBAAuB,SAAQ,eAAe;gBAGvD,GAAG,IAAI,EAAE,8BAA8B;IAezC,MAAM,CAAC,YAAY,CAAC,oBAAoB,EAAE,6BAA6B,GAAG,MAAM;IAWvE,oBAAoB,CAAC,SAAS,CAAC,EAAE,mBAAmB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAG7G,MAAM,CAAC,SAAS,CAAC,EAAE,mBAAmB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACzB,OAAO,CAAC,aAAa,GAAG;QAC9D,qBAAqB,IAAI,2BAA2B,CAAC;KACtD,CAAC;IAEK,OAAO,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,GAAG,sBAAsB;IAKvE,MAAM,CAAC,QAAQ,CAAC,QAAQ,sz9CAAa;IACrC,MAAM,CAAC,QAAQ,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAQ;IAC3B,MAAM,CAAC,eAAe,IAAI,sBAAsB;IAIvC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,aAAa;IAG/D,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,IAAI,GAAG,aAAa;CAG7E;AAGD,MAAM,WAAW,6BAA6B;IACxC,CAAC,8DAA8D,CAAC,EAAE,MAAM,CAAC;CAC9E"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { Contract, ContractFactory, Interface } from "ethers";
|
|
2
|
+
const _abi = [
|
|
3
|
+
{
|
|
4
|
+
"inputs": [],
|
|
5
|
+
"name": "ConsistencyCheckFailed",
|
|
6
|
+
"type": "error"
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"inputs": [],
|
|
10
|
+
"name": "GeminiChallengeInSubgroup",
|
|
11
|
+
"type": "error"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"inputs": [],
|
|
15
|
+
"name": "ProofLengthWrong",
|
|
16
|
+
"type": "error"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"inputs": [
|
|
20
|
+
{
|
|
21
|
+
"internalType": "uint256",
|
|
22
|
+
"name": "logN",
|
|
23
|
+
"type": "uint256"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"internalType": "uint256",
|
|
27
|
+
"name": "actualLength",
|
|
28
|
+
"type": "uint256"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"internalType": "uint256",
|
|
32
|
+
"name": "expectedLength",
|
|
33
|
+
"type": "uint256"
|
|
34
|
+
}
|
|
35
|
+
],
|
|
36
|
+
"name": "ProofLengthWrongWithLogN",
|
|
37
|
+
"type": "error"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"inputs": [],
|
|
41
|
+
"name": "PublicInputsLengthWrong",
|
|
42
|
+
"type": "error"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"inputs": [],
|
|
46
|
+
"name": "ShpleminiFailed",
|
|
47
|
+
"type": "error"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"inputs": [],
|
|
51
|
+
"name": "SumcheckFailed",
|
|
52
|
+
"type": "error"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"inputs": [
|
|
56
|
+
{
|
|
57
|
+
"internalType": "bytes",
|
|
58
|
+
"name": "proof",
|
|
59
|
+
"type": "bytes"
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"internalType": "bytes32[]",
|
|
63
|
+
"name": "publicInputs",
|
|
64
|
+
"type": "bytes32[]"
|
|
65
|
+
}
|
|
66
|
+
],
|
|
67
|
+
"name": "verify",
|
|
68
|
+
"outputs": [
|
|
69
|
+
{
|
|
70
|
+
"internalType": "bool",
|
|
71
|
+
"name": "verified",
|
|
72
|
+
"type": "bool"
|
|
73
|
+
}
|
|
74
|
+
],
|
|
75
|
+
"stateMutability": "view",
|
|
76
|
+
"type": "function"
|
|
77
|
+
}
|
|
78
|
+
];
|
|
79
|
+
const _bytecode = "0x610100604052348015610010575f5ffd5b50612000608052600d60a0527f170affbea8713b79ad326398ea7b49424c51fa4dca10a65185ad33dbce4d600160c052601160e05260805160a05160c05160e051615cbb6100dc5f395f81816101b0015261090201525f61018e01525f8181605b01528181609401528181610101015281816101d201528181610a3001528181610b3d01528181610bdc01528181610c0a01528181610c9001528181611524015281816115d3015281816116060152818161181001528181612b930152612ebc01525f5050615cbb5ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b3660046154e5565b610054565b604051901515815260200160405180910390f35b5f5f61007f7f00000000000000000000000000000000000000000000000000000000000000006102ee565b905061008c8160206155bd565b85146100ee577f0000000000000000000000000000000000000000000000000000000000000000856100bf8360206155bd565b6040516359895a5360e01b81526004810193909352602483019190915260448201526064015b60405180910390fd5b5f6100f76103e4565b90505f61012588887f00000000000000000000000000000000000000000000000000000000000000006103f9565b90506010826040015161013891906155d4565b85146101575760405163fa06659360e01b815260040160405180910390fd5b60405163995bf45760e01b81525f9073__$3f925933ac313a1c84f3f4c25b9ea43c90$__9063995bf457906101fa9085908b908b907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f000000000000000000000000000000000000000000000000000000000000000090600401615757565b610be060405180830381865af4158015610216573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061023a9190615a90565b905061028a8787808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050855185516060810151608090910151919350915060016108ac565b815160a0015261029a8282610a13565b6102b7576040516313f8744360e31b815260040160405180910390fd5b6102c2828483610bc8565b6102df576040516352ec174560e11b815260040160405180910390fd5b50600198975050505050505050565b5f806102fc600260086155bd565b905061030a600260046155bd565b6103149082615b3a565b905060016103236009856155bd565b61032d91906155bd565b6103379082615b3a565b9050610345600160296155bd565b61034f9082615b3a565b905061035d600160036155bd565b6103679082615b3a565b90506103746001846155bd565b61037e9082615b3a565b905061038c600160046155bd565b6103969082615b3a565b905060026103a56001856155d4565b6103af91906155bd565b6103b99082615b3a565b90506103c66002806155bd565b6103d09082615b3a565b90506103dd601082615b3a565b9392505050565b6103ec615031565b6103f4611c0a565b905090565b6104016151bb565b5f805b60108110156104635761043086838761041e602083615b3a565b9261042b93929190615b4d565b612542565b8351826010811061044357610443615b74565b6020020181815250506020826104599190615b3a565b9150600101610404565b50610487858286610475604083615b3a565b9261048293929190615b4d565b612555565b6020830152610497604082615b3a565b90506104aa858286610475604083615b3a565b6040808401919091526104bd9082615b3a565b90506104d0858286610475604083615b3a565b60608301526104e0604082615b3a565b90506104f3858286610475604083615b3a565b60a0830152610503604082615b3a565b9050610516858286610475604083615b3a565b60c0830152610526604082615b3a565b9050610539858286610475604083615b3a565b6080830152610549604082615b3a565b905061055c858286610475604083615b3a565b60e083015261056c604082615b3a565b905061057f858286610475604083615b3a565b610100830152610590604082615b3a565b90506105a3858286610475604083615b3a565b610120830151526105b5604082615b3a565b90506105c885828661041e602083615b3a565b6101408301526105d9602082615b3a565b90505f5b83811015610657575f5b600981101561064e5761060187848861041e602083615b3a565b84610160015183601c811061061857610618615b74565b6020020151826009811061062e5761062e615b74565b6020020181815250506020836106449190615b3a565b92506001016105e7565b506001016105dd565b505f5b60298110156106ab5761067486838761041e602083615b3a565b836101800151826029811061068b5761068b615b74565b6020020181815250506020826106a19190615b3a565b915060010161065a565b506106bd85828661041e602083615b3a565b6101a08301526106ce602082615b3a565b90506106e1858286610475604083615b3a565b610120830151602001526106f6604082615b3a565b9050610709858286610475604083615b3a565b61012083015160026020020152610721604082615b3a565b9050610734858286610475604083615b3a565b6101c0830152610745604082615b3a565b905061075885828661041e602083615b3a565b6101e0830152610769602082615b3a565b90505f5b6107786001856155d4565b8110156107c157610790868387610475604083615b3a565b83610200015182601b81106107a7576107a7615b74565b60200201526107b7604083615b3a565b915060010161076d565b505f5b83811015610814576107dd86838761041e602083615b3a565b83610220015182601c81106107f4576107f4615b74565b60200201818152505060208261080a9190615b3a565b91506001016107c4565b505f5b60048110156108685761083186838761041e602083615b3a565b836102400151826004811061084857610848615b74565b60200201818152505060208261085e9190615b3a565b9150600101610817565b5061087a858286610475604083615b3a565b61026083015261088b604082615b3a565b905061089e858286610475604083615b3a565b610280830152509392505050565b5f600180826108d9866108d4896108cf6108ca8a6310000000615b3a565b6125d7565b6125ef565b61260a565b90505f6108f7876108f28a6108cf6108ca8b6001615b3a565b612623565b90505f5b61092660107f00000000000000000000000000000000000000000000000000000000000000006155d4565b811015610993575f6109508c838151811061094357610943615b74565b602002602001015161264b565b9050610960866108cf868461260a565b9550610970856108cf858461260a565b945061097c848b61260a565b9350610988838b612623565b9250506001016108fb565b505f5b60108110156109fa575f8a82601081106109b2576109b2615b74565b602002015190506109c7866108cf868461260a565b95506109d7856108cf858461260a565b94506109e3848b61260a565b93506109ef838b612623565b925050600101610996565b50610a058484612660565b9a9950505050505050505050565b5f5f610a2883606001518561014001516125ef565b905060015f5b7f0000000000000000000000000000000000000000000000000000000000000000811015610b1a575f86610160015182601c8110610a6e57610a6e615b74565b602002015180519091505f90610a8c908360015b602002015161260a565b9050848114610aae576040516313f8744360e31b815260040160405180910390fd5b5f876080015184601c8110610ac557610ac5615b74565b60200201519050610ad6838261266e565b9550610b0a856108cf60016108d4856108cf8e604001518b601c8110610afe57610afe615b74565b60200201516001612623565b9450505050806001019050610a2e565b505f610b34866101800151865f015187602001518561281c565b9050600160025b7f0000000000000000000000000000000000000000000000000000000000000000811015610b9157610b8782886080015183601c8110610b7d57610b7d615b74565b60200201516125ef565b9150600101610b3b565b50610bb7610ba4836108cf600185612623565b6108d4896101a0015189606001516125ef565b91508382145b979650505050505050565b5f610bd16152a4565b5f610c008460c001517f0000000000000000000000000000000000000000000000000000000000000000612895565b90505f6003610c307f00000000000000000000000000000000000000000000000000000000000000006024615b3a565b610c3a9190615b3a565b610c45906003615b3a565b6001600160401b03811115610c5c57610c5c615941565b604051908082528060200260200182016040528015610c85578160200160208202803683370190505b5090505f6003610cb67f00000000000000000000000000000000000000000000000000000000000000006024615b3a565b610cc09190615b3a565b610ccb906003615b3a565b6001600160401b03811115610ce257610ce2615941565b604051908082528060200260200182016040528015610d1b57816020015b610d08615314565b815260200190600190039081610d005790505b509050610d4e610d49876101000151855f81518110610d3c57610d3c615b74565b6020026020010151612623565b61295e565b84610120018181525050610d83610d49876101000151855f81518110610d7657610d76615b74565b602002602001015161260a565b610140850181905261012085015160e0880151610da4926108d491906125ef565b845260c0860151610dd490610db89061295e565b6108cf8661012001516108f28a60e001518961014001516125ef565b6020850152815160019083905f90610dee57610dee615b74565b602002602001018181525050876102600151815f81518110610e1257610e12615b74565b60209081029190910101526101e088015160c085015260a080870151908501528351610e3d906129ce565b60408501526020840151610e50906129ce565b60608501526040840151825183906001908110610e6f57610e6f615b74565b60209081029190910101525f5b6024811015610f1657610e9785604001518660a001516125ef565b83610ea3836002615b3a565b81518110610eb357610eb3615b74565b602002602001018181525050610ef08560c001516108d48b61018001518460298110610ee157610ee1615b74565b60200201518860a001516125ef565b60c086015260a08086015190880151610f0991906125ef565b60a0860152600101610e7c565b505f5b6005811015610fe4575f610f2e601e83615b3a565b90505f610f3c602484615b3a565b9050610f6d858381518110610f5357610f53615b74565b60200260200101516108d489606001518a60a001516125ef565b858381518110610f7f57610f7f615b74565b602002602001018181525050610fbc8760c001516108d48d61018001518460298110610fad57610fad615b74565b60200201518a60a001516125ef565b60c088015260a080880151908a0151610fd591906125ef565b60a08801525050600101610f19565b50876101c0015181600181518110610ffe57610ffe615b74565b602002602001018190525086606001518160028151811061102157611021615b74565b602002602001018190525086608001518160038151811061104457611044615b74565b60200260200101819052508660a001518160048151811061106757611067615b74565b60200260200101819052508660c001518160058151811061108a5761108a615b74565b60200260200101819052508660e00151816006815181106110ad576110ad615b74565b6020026020010181905250866101000151816007815181106110d1576110d1615b74565b6020026020010181905250866101200151816008815181106110f5576110f5615b74565b60200260200101819052508661014001518160098151811061111957611119615b74565b602002602001018190525086610160015181600a8151811061113d5761113d615b74565b6020026020010181905250866101c0015181600b8151811061116157611161615b74565b602002602001018190525086610180015181600c8151811061118557611185615b74565b6020026020010181905250866101a0015181600d815181106111a9576111a9615b74565b6020026020010181905250866101e0015181600e815181106111cd576111cd615b74565b602002602001018190525086610200015181600f815181106111f1576111f1615b74565b60200260200101819052508661022001518160108151811061121557611215615b74565b60200260200101819052508661024001518160118151811061123957611239615b74565b60200260200101819052508661026001518160128151811061125d5761125d615b74565b60200260200101819052508661028001518160138151811061128157611281615b74565b6020026020010181905250866102a00151816014815181106112a5576112a5615b74565b6020026020010181905250866102c00151816015815181106112c9576112c9615b74565b6020026020010181905250866102e00151816016815181106112ed576112ed615b74565b60200260200101819052508661030001518160178151811061131157611311615b74565b60200260200101819052508661032001518160188151811061133557611335615b74565b60200260200101819052508661034001518160198151811061135957611359615b74565b602002602001018190525086610360015181601a8151811061137d5761137d615b74565b602002602001018190525086610380015181601b815181106113a1576113a1615b74565b6020026020010181905250866103a0015181601c815181106113c5576113c5615b74565b6020026020010181905250866103c0015181601d815181106113e9576113e9615b74565b6020026020010181905250876020015181601e8151811061140c5761140c615b74565b6020026020010181905250876040015181601f8151811061142f5761142f615b74565b602002602001018190525087606001518160208151811061145257611452615b74565b602002602001018190525087608001518160218151811061147557611475615b74565b60200260200101819052508761010001518160228151811061149957611499615b74565b60200260200101819052508760e00151816023815181106114bc576114bc615b74565b60200260200101819052508760a00151816024815181106114df576114df615b74565b60200260200101819052508760c001518160258151811061150257611502615b74565b60200260200101819052505f61154887608001518660c001518b6102200151877f00000000000000000000000000000000000000000000000000000000000000006129e0565b9050611572815f8151811061155f5761155f615b74565b60200260200101518661012001516125ef565b608086018190526102208a01515160e08901516115a392916108d49161159891906125ef565b8861014001516125ef565b608086015260e08701516115b690612b3e565b60a08601525f6115c860246002615b3a565b90505f5b6115f760017f00000000000000000000000000000000000000000000000000000000000000006155d4565b811015611808575f61162a60017f00000000000000000000000000000000000000000000000000000000000000006155d4565b8210159050806117995761165e610d498b61010001518985600161164e9190615b3a565b81518110610d3c57610d3c615b74565b6101208901526101008a015161168e90610d49908961167e866001615b3a565b81518110610d7657610d76615b74565b61014089015260a08801516101208901516116a991906125ef565b61016089015260a088015160e08b01516116d1916116c6916125ef565b8961014001516125ef565b61018089018190526116f4906116e6906129ce565b6108d48a61016001516129ce565b866116ff8486615b3a565b8151811061170f5761170f615b74565b6020026020010181815250505f6117488961018001518e61022001518560016117389190615b3a565b601c8110610b7d57610b7d615b74565b9050611782816108d48b6101600151888760016117659190615b3a565b8151811061177557611775615b74565b60200260200101516125ef565b905061179289608001518261260a565b60808a0152505b6117b86117ae8960a001518c60e001516125ef565b8b60e001516125ef565b60a08901526102008c015182601b81106117d4576117d4615b74565b6020020151856117e48486615b3a565b815181106117f4576117f4615b74565b6020908102919091010152506001016115cc565b5061183460017f00000000000000000000000000000000000000000000000000000000000000006155d4565b61183e9082615b3a565b905061185e6118568961010001518a60c00151612623565b600190612660565b60e08701515261010088015160c08901516118a291611856916108f2907f07b0c561a6148404f086204a9f36ffb0617942546750f230c893619174a57a76906125ef565b60e0878101805160200192909252815180516040909101529051805160609091015260a0870151908901516118e4916118da916125ef565b8960e001516125ef565b60a08701525f5b6004811015611992575f61191d8860e00151836004811061190e5761190e615b74565b60200201518960a001516125ef565b9050611928816129ce565b886101000151836004811061193f5761193f615b74565b602002015260a088015160e08b015161195891906125ef565b8860a001818152505061198488608001516108d4838f61024001518660048110610b7d57610b7d615b74565b6080890152506001016118eb565b506101008601515184518590839081106119ae576119ae615b74565b602090810291909101810191909152610100870151908101516119d2916002610a82565b846119de836001615b3a565b815181106119ee576119ee615b74565b60209081029190910101526101008601516060015184611a0f836002615b3a565b81518110611a1f57611a1f615b74565b60209081029190910101525f5b6003811015611a81578a61012001518160038110611a4c57611a4c615b74565b60200201518483611a5c81615b88565b945081518110611a6e57611a6e615b74565b6020908102919091010152600101611a2c565b506040518060400160405280600181526020016002815250838281518110611aab57611aab615b74565b60200260200101819052508560800151848280611ac790615b88565b935081518110611ad957611ad9615b74565b602002602001018181525050611b038a61024001518960c001518a608001518d6101a00151612b49565b611b205760405163a2a2ac8360e01b815260040160405180910390fd5b5f8a6102800151905080848381518110611b3c57611b3c615b74565b6020026020010181905250886101000151858381518110611b5f57611b5f615b74565b602002602001018181525050611b7361532c565b611b7d8587612eac565b8152611b8882612fc8565b602082018190528c5182515f92611ba092919061300e565b90505f5f611bb08f5f0151613094565b91509150611bbd82613155565b611bc681613155565b8351611bd39083856131f4565b84526020840151611be59082856131f4565b602085018190528451611bf791613223565b9f9e505050505050505050505050505050565b611c12615031565b50604080516103e0810182526120008152600d602080830191909152601182840152825180840184527f1a5c96bf5dac44c45e28380daccedfec1d9a8919999a0d748a8686f7f42cba7681527f28c5876a4c88720ff49870cbc3b7f41c26a131f4d57ce95cbc6127859c08931f818301526060830152825180840184527f2c740230a118ad04f1482eeef2e75a14aed0f961b763120de34d0fbe63ca12b081527f1b9aa7fd5bf93acbaadd615b6e0829e714539fe471bece34b359cd6a96d00294818301526080830152825180840184527f22a702d6d3957500783049fee5af2a27155cfdf1b6c2958942f5cde4bc63d16381527e3567b43861479b2347249040b9a4c4423f494e6dd8a7de9a4e3900741c45518183015260a0830152825180840184527f1333cd6f8595ef95ab9d9744d1d00175a56c1b0bc60000ac6d4eb9ec7315c70a81527f1c891650f45fe25cf375ea0b322372757b89799546eed2152766130e6b99efa08183015260c0830152825180840184527f251fdc445de2b90170e8c86c41a81303bb3de75352f2bd6f095bdab77486445a81527f06f20c995414f9b6bdb794492d328124e2b7676329a5a1724365076751ad2a8a8183015260e0830152825180840184527f12600bb185b845c63e4b9d5c310db2d257aa5d1d09090ef3c8bdd7334e8991d081527f017ccf0bdad7381ff8a3bef25259d90c296b71c037ee58bcce51cb0b7a6e97f481830152610100830152825180840184527f0c4032c3079594eb75a8449d3d5ce8bc3661650d53f9b24d923d8f404cb0bbc981527f1084d709650356d40f0158fd6da81f54eb5fe796a0ca89441369b7c24301f85181830152610120830152825180840184527f1f13031b7801d2da6d5206a7da087d7661d87905cef81f24e3cbe9e7a1c5148881527f2d93aa6923ac15844842bd024199117f43ca14c883f37570030fdf385356a18a81830152610140830152825180840184527f300557c1eda8ed63912d72e051bb3431bd54f7395755b820a59ff85295eb36d981527f227e5f5f62555201e96e188514b5387fb7e026a4af0ac209ec6730c4e0e6cc7681830152610160830152825180840184527f02095e5acd019e4edaf8d736615b4a159deafdb98a171db591ed499b0219fb4b81527f0644f4dc54ac72663d956a233412f748e74b1591553ecbca703829acf75e471a81830152610180830152825180840184527f022bae55678012a184d4cb970b8f9a6d1334097d611de534bef96fc9f8d9d01181527f284ee2d499274885bcb7a0d77b0a261d9192ec413b0c0a86fb27ae88cdd5a72c818301526101a0830152825180840184527f20a7925feb244b2ba41d31db4651a6c6c6be672ed0e7711f2ef4c2b89f9c4a5f81527f2472b531a32a7d7f80ec3c3375977ba4968f326786473e34d1fd73e6236cf661818301526101c0830152825180840184527f2dd8c7e5ce5f6a7053c173bb140d46830ab962c6c45d637d66171ee540bb21d581527f033b47f5f8496af8d227ef175c47b3f7cd666ebc94f0e63562ebfcf30d73f6e2818301526101e0830152825180840184527f2940b2ab034af88869e264e12ee268b16c221b5f2cdd96748cce870c1a7bb24a81527f04cfb9bfe08adf0e6f25c2cc9e83448d8f23d9fb3a0efba8d41768520d62d0e881830152610200830152825180840184527f1b300dbb752984d39a06a3278fc9048a525d0fdf14ef98f17ffb42a971fb903281527f01ccd716ea4eeba47b57e3110f305af0d1e2feec11f2656816dbb234ea0b3b1b81830152610220830152825180840184527f0d2e187f65cf5ab43eac061f54e93bdcc292b2f518ee632b030ea3290143139c81527f03ff9967978b924f43af1e71f6281ee36a96c1b647bbf8c17e3cb4626068b78b81830152610240830152825180840184527f2106e82e5e59b21be7c8ac07ede04efc6445f01e31b5ce7894444cb081df43d181527f0571641ab150cfa4371421f984cc897945b69ca100d0960c2ee5ca1d17cd967081830152610260830152825180840184527f27599a711decc65fa4aad9515655e029868cc54d495fb8b53fa44e165702a5ee81527f1d9db80b8419761979511454f69fa448fc50d15062e434c6994c4ccc4912f67281830152610280830152825180840184527f1fa05f284bf1410f37f0d556ccfeb052395ec8625620cf724d146a3b15496d4d81527f0c8fc17b9b81b4f93a7b9bdd1cc5f01a30ef6e808409c456f6d6d13fe7d2eb17818301526102a0830152825180840184527f05798d2cd96b3294d8cc2f0120fa58ffea3a662e32039784f0b0b051e34e871881527f02d377efbb702de6d6a38e5c42c6aaf56cc11762d724a635ea4d5dc72eb9e0ca818301526102c0830152825180840184527f110bd6ab5007b97692cd6e8ea8cab85d8b039d9e8dc2a9931fa6dcd72e0adac881527f2e418397e17371fcf5a1a5c614f4dfe9727b79d5aa127ab98c04a7a4c06ccb9f818301526102e0830152825180840184527f0ccf438e4b27c76e599cda77ba04ad29cbaf538ded427e979eef69a5a9884b7881527f09117b0cb34fc65ed20f92de70c6f8e073c755fb4acf2d74f402c6a97ee3d01a81830152610300830152825180840184527f099e3bd5a0a00ab7fe18040105b9b395b5d8b7b4a63b05df652b0d10ef146d2681527e15b8d2515d76e2ccec99dcd194592129af3a637f5a622a32440f860d1e2a7f81830152610320830152825180840184527f1b917517920bad3d8bc01c9595092a222b888108dc25d1aa450e0b4bc212c37e81527f305e8992b148eedb22e6e992077a84482141c7ebe42000a1d58ccb74381f6d1981830152610340830152825180840184527f13567e3b915c81013ada15236ba5cfa60111b440400b2bca37e2b1085e924a7781527f0148d22589b91f0d8f4674af5744dedafd63caea904b434e748f9713de8cc3d781830152610360830152825180840184527f043d063b130adfb37342af45d0155a28edd1a7e46c840d9c943fdf45521c64ce81527f261522c4089330646aff96736194949330952ae74c573d1686d9cb4a007338548183015261038083015282518084018452600181526002818301526103a083015282518084019093527f22671e023cbbeb82d51b48eb911951a7a1f9c2bb913f3f42a56f272e205d462483527f139bdfe9fe99633e5abe888702fa64a75c80d62184d0a16bd999840553954bb1908301526103c081019190915290565b5f6103dd6125508385615ba0565b61264b565b61255d615314565b60408051808201909152805f516020615c6f5f395f51905f5261258360205f8789615b4d565b61258c91615ba0565b6125969190615bbd565b81526020908101905f516020615c6f5f395f51905f52906125bb906040908789615b4d565b6125c491615ba0565b6125ce9190615bbd565b90529392505050565b5f5f516020615c8f5f395f51905f52825b0692915050565b5f5f516020615c8f5f395f51905f5282840990505b92915050565b5f5f516020615c8f5f395f51905f528284089392505050565b5f5f516020615c8f5f395f51905f52825f516020615c8f5f395f51905f520384089392505050565b5f5f516020615c8f5f395f51905f52826125e8565b5f6103dd836108cf8461295e565b5f5f604051806101200160405280619d8081526020017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526020016105a081526020017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd31815260200161024081526020017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3181526020016105a081526020017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec518152602001619d8081525090505f600190505f5f90505b60098110156127675761275d826108cf8784612623565b9150600101612746565b5061277061533f565b5f5b60098110156127c1576127a2610d4985836009811061279357612793615b74565b60200201516108cf8985612623565b8282600981106127b4576127b4615b74565b6020020152600101612772565b505f5b6009811015612807576127fd856108d48984600981106127e6576127e6615b74565b6020020151858560098110610b7d57610b7d615b74565b94506001016127c4565b5061281284836125ef565b9695505050505050565b5f61282561535e565b612830868285613417565b61283c868683866135c3565b612848868683866137af565b6128538682856139d4565b61285e868285613bc8565b61286a86868386613f11565b6128758682856143bd565b6128808682856147cf565b61288b868285614b90565b6128128185614e90565b60605f826001600160401b038111156128b0576128b0615941565b6040519080825280602002602001820160405280156128d9578160200160208202803683370190505b50905083815f815181106128ef576128ef615b74565b602090810291909101015260015b8381101561295657612931826129146001846155d4565b8151811061292457612924615b74565b6020026020010151612b3e565b82828151811061294357612943615b74565b60209081029190910101526001016128fd565b509392505050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f516020615c8f5f395f51905f520360808201525f516020615c8f5f395f51905f5260a082015260205f60c08360055afa806129ba575f5ffd5b505f51608091909101604052949350505050565b5f516020615c8f5f395f51905f520390565b60605f826001600160401b038111156129fb576129fb615941565b604051908082528060200260200182016040528015612a24578160200160208202803683370190505b509050825b8015612b33575f85612a3c6001846155d4565b81518110612a4c57612a4c615b74565b602002602001015190505f89600184612a6591906155d4565b601c8110612a7557612a75615b74565b602002015190505f612ad0612a94612a8d858d6125ef565b60026125ef565b6108f28b612aa36001896155d4565b601c8110612ab357612ab3615b74565b60200201516108cf612aca886108cf60018a612623565b87612623565b9050612af1816108cf610d49612aeb876108cf600189612623565b8661260a565b99508990508085612b036001876155d4565b81518110612b1357612b13615b74565b60200260200101818152505050505080612b2c90615bdc565b9050612a29565b509695505050505050565b5f61260482836125ef565b5f600181612b62612b5c87610100614ee9565b83612623565b905080612b825760405163835eb8f760e01b815260040160405180910390fd5b612b8a61537d565b80518390525f5b7f0000000000000000000000000000000000000000000000000000000000000000811015612c73575f612bc58260096155bd565b612bd0906001615b3a565b905084835f0151826101008110612be957612be9615b74565b60200201525f612bfa826001615b3a565b90505b612c08600983615b3a565b811015612c69578351612c4890612c206001846155d4565b6101008110612c3157612c31615b74565b60200201518a85601c8110610b7d57610b7d615b74565b8451826101008110612c5c57612c5c615b74565b6020020152600101612bfd565b5050600101612b91565b50608081018390525f602082018190525b610100811015612d8457612ca5612c9f83608001518a6125ef565b85612623565b8260a00151826101008110612cbc57612cbc615b74565b602002015260a0820151612ce690826101008110612cdc57612cdc615b74565b602002015161295e565b8260a00151826101008110612cfd57612cfd615b74565b602002018181525050612d4382602001516108d4845f0151846101008110612d2757612d27615b74565b60200201518560a00151856101008110610b7d57610b7d615b74565b60208301526080820151612d77907f204bd3277422fad364751ad938e2b5e6a54cf8c68712848a692c553d0329f5d66125ef565b6080830152600101612c84565b505f612d95836108cf61010061295e565b9050612da58260200151826125ef565b602083015260a0820151612dc0905f5b6020020151826125ef565b604083015260a0820151612dec90612ddb60016101006155d4565b6101008110612db557612db5615b74565b60608301526040820151612e02908a6002610b7d565b60c08301819052612e62906108d4612e3a8b7f204bd3277422fad364751ad938e2b5e6a54cf8c68712848a692c553d0329f5d6612623565b60208d015160408e01516108cf91612e5191612623565b8e5160208901516108f291906125ef565b60c083018190526060830151612e9791612e8b916108d4906108cf8e600260200201518c612623565b6108f2858c6003610b7d565b60c08301819052159998505050505050505050565b612eb4615314565b5f6003612ee27f00000000000000000000000000000000000000000000000000000000000000006024615b3a565b612eec9190615b3a565b612ef7906003615b3a565b90505f5b81811015612f2d57612f25858281518110612f1857612f18615b74565b6020026020010151613155565b600101612efb565b50604051600190815b60018401811015612f925760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612f36565b5080518452602081015160208501525080612fc0576040516352ec174560e11b815260040160405180910390fd5b505092915050565b612fd0615314565b5f516020615c6f5f395f51905f5282602001515f516020615c6f5f395f51905f52612ffb91906155d4565b6130059190615bbd565b60208301525090565b5f5f5f61301a86613094565b915091506130266153c1565b82518152602080840151818301528251604080840191909152838201516060840152875160808401528782015160a0840152865160c08401528682015160e084015251610bbd9161307991849101615bf1565b6040516020818303038152906040528051906020012061264b565b61309c615314565b6130a4615314565b82516020808501516040860151606087015160cc90811b608892831b604494851b90961795909517949094178652608087015160a088015160c089015160e08a0151871b90841b91851b9092171717868401526101008701516101208801516101408901516101608a0151871b90841b91851b909217171785526101808701516101a08801516101c08901516101e09099015190951b9790911b9390911b1791909117939093179281019290925291565b805160208201515f5f516020615c6f5f395f51905f528380095f516020615c6f5f395f51905f5260035f516020615c6f5f395f51905f52838709085f516020615c6f5f395f51905f5284850914915050806131ee5760405162461bcd60e51b8152602060048201526019602482015278706f696e74206973206e6f74206f6e2074686520637572766560381b60448201526064016100e5565b50505050565b6131fc615314565b613204615314565b61320e8386614f4a565b905061321a8185614fa0565b95945050505050565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516133b99190615c25565b5f60405180830381855afa9150503d805f81146133f1576040519150601f19603f3d011682016040523d82523d5f602084013e6133f6565b606091505b50915091508180156128125750808060200190518101906128129190615c3b565b5f613423846007615001565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f61348461347e613458856003612623565b6108cf6134736134688b5f615001565b6108cf8c601d615001565b6108cf8b601c615001565b836125ef565b90506135056134fa6134e16134c86134af856108d46134a48d6002615001565b6108cf8e601c615001565b6108d46134bd8c6003615001565b6108cf8d601d615001565b6108d46134d68b6004615001565b6108cf8c601e615001565b6108d46134ef8a6005615001565b6108cf8b601f615001565b6108d4886001615001565b9050613524816108d4613519866001612623565b6108cf8a6027615001565b905061353081846125ef565b905061353c81856125ef565b8552505f905061357661356c61356161355688601c615001565b6108d489601f615001565b6108f2886024615001565b6108d4875f615001565b9050613587816108cf846002612623565b9050613598816108cf846001612623565b90506135a481836125ef565b90506135b081846125ef565b9050808460015b60200201525050505050565b5f5f5f6135f96135ef6135d789601c615001565b6108d46135e58b6012615001565b8a606001516125ef565b876080015161260a565b9050613632816108cf6136286136108b601d615001565b6108d461361e8d6013615001565b8c606001516125ef565b896080015161260a565b9050613657816108cf6136286136498b601e615001565b6108d461361e8d6014615001565b905061367c816108cf61362861366e8b601f615001565b6108d461361e8d6015615001565b92505f90506136a06135ef61369289601c615001565b6108d46135e58b600e615001565b90506136c5816108cf6136286136b78b601d615001565b6108d461361e8d600f615001565b90506136ea816108cf6136286136dc8b601e615001565b6108d461361e8d6010615001565b905061370f816108cf6136286137018b601f615001565b6108d461361e8d6011615001565b91505f9050613736613730613725896020615001565b6108d48a601a615001565b846125ef565b905061376b816108f261376561374d8b6028615001565b6108d461375b8d601b615001565b8c60a001516125ef565b856125ef565b905061377781856125ef565b6040860152505f61379a61376561378f89601b615001565b6108cf8a6028615001565b9050808560035b602002015250505050505050565b5f5f61380d6137f56137dd6137c86136288a6016615001565b6108d46137d68b6017615001565b8a516125ef565b6108d46137eb8a6018615001565b89602001516125ef565b6108d4613803896019615001565b88604001516125ef565b91505f61384461382b61382189601c615001565b886080015161260a565b6108d46138398a6003615001565b6108cf8b6024615001565b90505f61386d61385589601d615001565b6108d46138628b5f615001565b6108cf8c6025615001565b90505f61389761387e8a601e615001565b6108d461388c8c6001615001565b6108cf8d6026615001565b90506138d66138be6138b0856108d4868d5f01516125ef565b6108d4848c602001516125ef565b6108d46138cc8c6004615001565b8b604001516125ef565b93505050505f6138ea613730886021615001565b90505f6138fb613730896021615001565b90505f61393361391a61390f8b6023615001565b6108d48c6006615001565b6108f26139288c6023615001565b6108cf8d6006615001565b90505f613951612b5c61394687896125ef565b6108cf8d6021615001565b905061395d81886125ef565b90505f6139856139776139718d6006615001565b876125ef565b6108f26139718e6022615001565b90505f6139938c6023615001565b90505f6139a3612b5c83846125ef565b60808c0185905260a08c0184905290506139bd818b6125ef565b8b6006602002015250505050505050505050505050565b5f6139e05f6001612623565b90505f6139ee5f6002612623565b90505f6139fc5f6003612623565b90505f613a18613a0d88601d615001565b6108f289601c615001565b90505f613a34613a2989601e615001565b6108f28a601d615001565b90505f613a50613a458a601f615001565b6108f28b601e615001565b90505f613a6c613a618b6024615001565b6108f28c601f615001565b905083613a7d816108cf818b61260a565b9050613a8d816108cf878a61260a565b9050613a9d816108cf878961260a565b9050613aae816108cf8d6008615001565b9050613aba818a6125ef565b60e08b01525082613acf816108cf818b61260a565b9050613adf816108cf868a61260a565b9050613aef816108cf868961260a565b9050613b00816108cf8d6008615001565b9050613b0c818a6125ef565b6101008b01525081613b22816108cf818b61260a565b9050613b32816108cf858a61260a565b9050613b42816108cf858961260a565b9050613b53816108cf8d6008615001565b9050613b5f818a6125ef565b6101208b01525080613b75816108cf818b61260a565b9050613b85816108cf848a61260a565b9050613b95816108cf848961260a565b9050613ba6816108cf8d6008615001565b9050613bb2818a6125ef565b610140909a019990995250505050505050505050565b613c016040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613c0c84601d615001565b8152613c1984601e615001565b6020820152613c29846024615001565b6040820152613c39846027615001565b6060820152613c49846026615001565b6080820152613c59846025615001565b60a08201525f613c6a856002615001565b90505f613c77865f615001565b90505f613c8b8460400151855f0151612623565b90505f613ca0856020015186602001516125ef565b606086015190915086905f90613cb690806125ef565b90505f613cd4613cce89602001518a606001516125ef565b886125ef565b90505f613cf3613cec8a60a001518b6040015161260a565b8a5161260a565b9050613d0261397182886125ef565b9050613d29613d23613d1d613d178487612623565b88612623565b8461260a565b8361260a565b9050613d51613d46613d3b83876125ef565b6108cf8f6009615001565b6108cf60018a612623565b6101608c015250505050602085015160808601515f91613d709161260a565b90505f613d8e613d848860600151886125ef565b8860200151612623565b90505f613db2613d9e84876125ef565b6108d46137658b60a001518c5f0151612623565b9050613dda613dcf613dc4838c6125ef565b6108cf8e6009615001565b6108cf600189612623565b6101808b0152505f9150613dfb9050613df483601161260a565b87516125ef565b90505f613e08838461260a565b9050613e14818261260a565b90505f613e228360096125ef565b9050613e4b613e45613730613e3e8b60a001518c5f015161260a565b8b5161260a565b82612623565b60c089018190525f90613e6690613cce90613d3b908d6125ef565b9050613e798b600b60200201518261260a565b6101608c0152505086515f9250613ea09150613df490613e99908061260a565b885161260a565b90505f613ee0613ebb836108cf8a5f01518b60a00151612623565b60208901516108f290613ece908061260a565b6108cf8b602001518c6080015161260a565b9050613efd89600c60200201516108d4613cce613d3b858d6125ef565b89600c602002015250505050505050505050565b613f7b604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613f93613f8986601e615001565b85604001516125ef565b808252613fb2906108d4613fa888601d615001565b87602001516125ef565b808252613fc7906108d4613df488601c615001565b808252613fd9906108d4876001615001565b80825260208201819052613ff2906108f287601f615001565b815261400d614002866024615001565b6108f287601c615001565b608082015261402b614020866027615001565b6108f287601f615001565b60608201526080810151614044906108cf816001612623565b6101c082015260808101516140849061407a90614073906108cf60015f516020615c8f5f395f51905f526155d4565b600161260a565b82606001516125ef565b60a082018190526140ba906140ac906108cf6140a1896002615001565b6108cf8a6003615001565b6108cf61376588600a615001565b83600e60200201526101c08101516140de906140ac906108cf6140a1896002615001565b6101e08401528051614103906108cf6140f8886002615001565b6108cf896003615001565b6101208201525f61412261411887601f615001565b8360200151612623565b9050614133816108cf836001612623565b60e0830152614150614146876026615001565b86604001516125ef565b60408301819052614173906108d4614169896025615001565b88602001516125ef565b60408301819052614193906108d461418c896024615001565b88516125ef565b60408301526141b06141a6876027615001565b8360400151612623565b60408301525f6141cf6141c4886026615001565b6108f289601e615001565b90506142216141fc61347e614073866080015160015f516020615c8f5f395f51905f526108cf91906155d4565b6108cf614073866040015160015f516020615c8f5f395f51905f526108cf91906155d4565b60c084015260408301516142439061423990806125ef565b8460400151612623565b61010084015260c083015161426f90614261906108cf8a6004615001565b6108cf6139718a600a615001565b6102008601526101c083015161428e90614261906108cf8a6004615001565b6102208601526101008301516142ad90614261906108cf8a6004615001565b61024086015260e08301516142c7906108cf896004615001565b6101408401526142e66142db886025615001565b6108f289601d615001565b6101608401526080830151614324906141c49061431990614073906108cf60015f516020615c8f5f395f51905f526155d4565b8561016001516125ef565b61018084018190526101208401516101a0850181905261435b916108d4906108cf6143508c6005615001565b6108cf8d6002615001565b6101a08401819052835161437b91906108d4906108cf6143508c5f615001565b6101a08401819052610140840151614393919061260a565b6101a084018190526143ad906108cf6139718a600a615001565b6101a0840181905285600d6137a1565b6143f66040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61442b61441261440786601c615001565b6108cf876025615001565b6108d4614420876024615001565b6108cf88601d615001565b815261447061446561444c61444187601c615001565b6108cf88601f615001565b6108d461445a88601d615001565b6108cf89601e615001565b6108f2866026615001565b6040820181905261448590600160441b6125ef565b6040820181905261449b906108f2866027615001565b6040820181905281516144ae919061260a565b604082018190526144c4906108cf866005615001565b604082015280516144d990600160441b6125ef565b8082526144f9906108d46144ee876024615001565b6108cf886025615001565b80825260208201819052614520906108f261451587601e615001565b6108d488601f615001565b60208201819052614536906108cf866004615001565b6020820152805160608201819052614553906108d486601f615001565b60608201819052614577906108f261456c876026615001565b6108d4886027615001565b6060820181905261458c906108cf865f615001565b8160600181815250505f6145b56145ab8360200151846040015161260a565b836060015161260a565b90506145c6816108cf876003615001565b90506145de6145d6866025615001565b6140006125ef565b608083018190526145f4906108d4876024615001565b60808301819052614607906140006125ef565b6080830181905261461d906108d487601e615001565b60808301819052614630906140006125ef565b60808301819052614646906108d487601d615001565b60808301819052614659906140006125ef565b6080830181905261466f906108d487601c615001565b60808301819052614685906108f287601f615001565b6080830181905261469b906108cf876005615001565b60808301526146ae6145d6866026615001565b60a083018190526146c4906108d4876025615001565b60a083018190526146d7906140006125ef565b60a083018190526146ed906108d4876024615001565b60a08301819052614700906140006125ef565b60a08301819052614716906108d487601f615001565b60a08301819052614729906140006125ef565b60a0830181905261473f906108d487601e615001565b60a08301819052614755906108f2876027615001565b60a0830181905261476a906108cf875f615001565b60a0830181905260808301515f91614782919061260a565b9050614793816108cf886004615001565b905061479f828261260a565b60c084018190526147b8906108cf61397189600b615001565b60c084018190528560136020020152505050505050565b6148456040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61485e61485385601c615001565b6108d4866002615001565b815261487961486e85601d615001565b6108d4866003615001565b602082015261489761488c85601e615001565b6108d4866004615001565b60408201526148b56148aa85601f615001565b6108d4866005615001565b606082015280516148e7906148e0906148d9906148d290806125ef565b84516125ef565b83516125ef565b82516125ef565b608082015260208101516149259061491b906149119061490790806125ef565b84602001516125ef565b83602001516125ef565b82602001516125ef565b60a08201526040810151614963906149599061494f9061494590806125ef565b84604001516125ef565b83604001516125ef565b82604001516125ef565b60c082015260608101516149979061407a9061498d9061498390806125ef565b84606001516125ef565b83606001516125ef565b60e0820152608081015160a08201516149b0919061260a565b61010082015260c081015160e08201516149ca919061260a565b61012082015260a08101516149ee906149e3908061260a565b82610120015161260a565b61014082015260e0810151614a1290614a07908061260a565b82610100015161260a565b610160820152610120810151614a28908061260a565b6101e08201819052614a4990614a3e908061260a565b82610160015161260a565b6101e0820152610100810151614a5f908061260a565b6101a08201819052614a8090614a75908061260a565b82610140015161260a565b6101a08201819052610160820151614a979161260a565b6101808201526101408101516101e0820151614ab3919061260a565b6101c0820152614ac761347e85600c615001565b6102008201819052610280840151610180830151614af2926108d4916108cf906108f28a6024615001565b8360146020020152614b2283601560200201516108d48361020001516108cf856101a001516108f28a6025615001565b8360156020020152614b5283601660200201516108d48361020001516108cf856101c001516108f28a6026615001565b8360166020020152614b8283601760200201516108d48361020001516108cf856101e001516108f28a6027615001565b836017602002015250505050565b614be26040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6040518060800160405280614c177f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e76125d7565b8152602001614c457f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b6125d7565b8152602001614c727e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac156125d7565b8152602001614ca07f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b6125d7565b90529050614cbd614cb286601c615001565b6108d4876002615001565b6101208301819052614cfc90614cf190614ce690614cdb90806125ef565b8561012001516125ef565b8461012001516125ef565b8361012001516125ef565b8252614d0985601d615001565b6020830152614d1985601e615001565b6040830152614d2985601f615001565b606083015281516020830151614d51916145ab91614d47919061260a565b846040015161260a565b6080830152614d6461373086600d615001565b6101408301528151614d8590614d7b90835f610b7d565b836080015161260a565b60a0830152614db184601860200201516108d48461014001516108cf8660a001516108f28b6024615001565b6103008501526020820151614dcc90614d7b90836001610b7d565b60c0830152614df884601960200201516108d48461014001516108cf8660c001516108f28b6025615001565b6103208501526040820151614e1390614d7b90836002610b7d565b60e0830152614e3f84601a60200201516108d48461014001516108cf8660e001516108f28b6026615001565b6103408501526060820151614e5a90614d7b90836003610b7d565b610100830152614e8884601b60200201516108d48461014001516108cf8661010001516108f28b6027615001565b84601b6135b7565b815160015b601c811015614ee257614ed8826108d48684601c8110614eb757614eb7615b74565b602002015186614ec86001876155d4565b601b8110610b7d57610b7d615b74565b9150600101614e95565b5092915050565b5f5f8390505f60405160208152602080820152602060408201528260608201528460808201525f516020615c8f5f395f51905f5260a082015260205f60c08360055afa80614f35575f5ffd5b505f5160809190910160405295945050505050565b614f52615314565b614f5a615314565b604051835181526020840151602082015284604082015260408160608360075afa80614f84575f5ffd5b5080518252602080820151908301526060016040529392505050565b614fa8615314565b614fb0615314565b6040518451815260208501516020820152835160408201526020840151606082015260408160808360065afa80614fe5575f5ffd5b5080518252602080820151908301526080016040529392505050565b5f8282602881111561501557615015615c5a565b6029811061502557615025615b74565b60200201519392505050565b604051806103e001604052805f81526020015f81526020015f8152602001615057615314565b8152602001615064615314565b8152602001615071615314565b815260200161507e615314565b815260200161508b615314565b8152602001615098615314565b81526020016150a5615314565b81526020016150b2615314565b81526020016150bf615314565b81526020016150cc615314565b81526020016150d9615314565b81526020016150e6615314565b81526020016150f3615314565b8152602001615100615314565b815260200161510d615314565b815260200161511a615314565b8152602001615127615314565b8152602001615134615314565b8152602001615141615314565b815260200161514e615314565b815260200161515b615314565b8152602001615168615314565b8152602001615175615314565b8152602001615182615314565b815260200161518f615314565b815260200161519c615314565b81526020016151a9615314565b81526020016151b6615314565b905290565b604051806102a001604052806151cf6153e0565b81526020016151dc615314565b81526020016151e9615314565b81526020016151f6615314565b8152602001615203615314565b8152602001615210615314565b815260200161521d615314565b815260200161522a615314565b8152602001615237615314565b81526020016152446153ff565b81526020015f815260200161525761542c565b815260200161526461545a565b81526020015f8152602001615277615314565b81526020015f815260200161528a615479565b815260200161529761535e565b815260200161519c6154a7565b604051806101c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020016152e26154a7565b81526020016152ef6154a7565b81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b60405180604001604052805f81526020015f81525090565b60405180604001604052806151a9615314565b6040518061012001604052806009906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518060e001604052806153906154c5565b81526020015f81526020015f81526020015f81526020015f81526020016153b56154c5565b81526020015f81525090565b6040518061010001604052806008906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b60405180606001604052806003905b615416615314565b81526020019060019003908161540e5790505090565b604051806103800160405280601c905b61544461533f565b81526020019060019003908161543c5790505090565b6040518061052001604052806029906020820280368337509192915050565b604051806103600160405280601b905b615491615314565b8152602001906001900390816154895790505090565b60405180608001604052806004906020820280368337509192915050565b604051806120000160405280610100906020820280368337509192915050565b5f5f5f5f604085870312156154f8575f5ffd5b84356001600160401b0381111561550d575f5ffd5b8501601f8101871361551d575f5ffd5b80356001600160401b03811115615532575f5ffd5b876020828401011115615543575f5ffd5b6020918201955093508501356001600160401b03811115615562575f5ffd5b8501601f81018713615572575f5ffd5b80356001600160401b03811115615587575f5ffd5b8760208260051b840101111561559b575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417612604576126046155a9565b81810381811115612604576126046155a9565b805f5b60108110156131ee5781518452602093840193909101906001016155ea565b805f5b60038110156131ee5761562a84835180518252602090810151910152565b604093909301926020919091019060010161560c565b805f5b601c8110156131ee578151845f5b6009811015615670578251825260209283019290910190600101615651565b505050610120939093019260209190910190600101615643565b805f5b60298110156131ee57815184526020938401939091019060010161568d565b805f5b601b8110156131ee576156cd84835180518252602090810151910152565b60409390930192602091909101906001016156af565b805f5b601c8110156131ee5781518452602093840193909101906001016156e6565b805f5b60048110156131ee578151845260209384019390910190600101615708565b8183525f6001600160fb1b0383111561573e575f5ffd5b8260051b80836020870137939093016020019392505050565b6157628188516155e7565b5f602088015161578061020084018280518252602090810151910152565b5060408801518051610240840152602090810151610260840152606089015180516102808501528101516102a0840152608089015180516102c08501528101516102e084015260a0890151805161030085015281015161032084015260c0890151805161034085015281015161036084015260e089015180516103808501528101516103a084015261010089015180516103c085015201516103e0830152610120880151615832610400840182615609565b506101408801516104c08301526101608801516158536104e0840182615640565b5061018088015161586861246084018261568a565b506101a08801516129808301526101c088015180516129a0840152602001516129c08301526101e08801516129e08301526102008801516158ad612a008401826156ac565b506102208801516158c26130c08401826156e3565b506102408801516158d7613440840182615705565b5061026088015180516134c08401526020908101516134e0840152610280890151805161350085015201516135208301526135c061354083018190526159209083018789615727565b613560830195909552506135808101929092526135a0909101529392505050565b634e487b7160e01b5f52604160045260245ffd5b60405161014081016001600160401b038111828210171561597857615978615941565b60405290565b604051601f8201601f191681016001600160401b03811182821017156159a6576159a6615941565b604052919050565b5f60c082840312156159be575f5ffd5b60405160c081016001600160401b03811182821017156159e0576159e0615941565b604090815283518252602080850151908301528381015190820152606080840151908201526080808401519082015260a0928301519281019290925250919050565b5f82601f830112615a31575f5ffd5b5f610360615a3e8161597e565b915083018185821115615a4f575f5ffd5b845b82811015615a69578051825260209182019101615a51565b509195945050505050565b5f82601f830112615a83575f5ffd5b5f610380615a3e8161597e565b5f610be0828403128015615aa2575f5ffd5b50615aab615955565b615ab584846159ae565b8152615ac48460c08501615a22565b6020820152615ad7846104208501615a74565b60408201526107a08301516060820152615af5846107c08501615a74565b6080820152610b4083015160a0820152610b6083015160c0820152610b8083015160e0820152610ba0830151610100820152610bc09092015161012083015250919050565b80820180821115612604576126046155a9565b5f5f85851115615b5b575f5ffd5b83861115615b67575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b5f60018201615b9957615b996155a9565b5060010190565b80356020831015612604575f19602084900360031b1b1692915050565b5f82615bd757634e487b7160e01b5f52601260045260245ffd5b500690565b5f81615bea57615bea6155a9565b505f190190565b5f8183825b6008811015615c15578151835260209283019290910190600101615bf6565b5050506101008201905092915050565b5f82518060208501845e5f920191825250919050565b5f60208284031215615c4b575f5ffd5b815180151581146103dd575f5ffd5b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a164736f6c634300081c000a";
|
|
80
|
+
const isSuperArgs = (xs) => {
|
|
81
|
+
return typeof xs[0] === 'string'
|
|
82
|
+
|| Array.isArray(xs[0])
|
|
83
|
+
|| '_isInterface' in xs[0];
|
|
84
|
+
};
|
|
85
|
+
export class DkgPkVerifier__factory extends ContractFactory {
|
|
86
|
+
constructor(...args) {
|
|
87
|
+
if (isSuperArgs(args)) {
|
|
88
|
+
super(...args);
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
const [linkLibraryAddresses, signer] = args;
|
|
92
|
+
super(_abi, DkgPkVerifier__factory.linkBytecode(linkLibraryAddresses), signer);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
static linkBytecode(linkLibraryAddresses) {
|
|
96
|
+
let linkedBytecode = _bytecode;
|
|
97
|
+
linkedBytecode = linkedBytecode.replace(new RegExp("__\\$3f925933ac313a1c84f3f4c25b9ea43c90\\$__", "g"), linkLibraryAddresses["project/contracts/verifier/DkgPkVerifier.sol:ZKTranscriptLib"].replace(/^0x/, '').toLowerCase());
|
|
98
|
+
return linkedBytecode;
|
|
99
|
+
}
|
|
100
|
+
getDeployTransaction(overrides) {
|
|
101
|
+
return super.getDeployTransaction(overrides || {});
|
|
102
|
+
}
|
|
103
|
+
;
|
|
104
|
+
deploy(overrides) {
|
|
105
|
+
return super.deploy(overrides || {});
|
|
106
|
+
}
|
|
107
|
+
connect(runner) {
|
|
108
|
+
return super.connect(runner);
|
|
109
|
+
}
|
|
110
|
+
static bytecode = _bytecode;
|
|
111
|
+
static abi = _abi;
|
|
112
|
+
static createInterface() {
|
|
113
|
+
return new Interface(_abi);
|
|
114
|
+
}
|
|
115
|
+
attach(address) {
|
|
116
|
+
return super.attach(address);
|
|
117
|
+
}
|
|
118
|
+
static connect(address, runner) {
|
|
119
|
+
return new Contract(address, _abi, runner);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type ContractRunner } from "ethers";
|
|
2
|
+
import type { IVerifier, IVerifierInterface } from "../../../../contracts/verifier/DkgPkVerifier.sol/IVerifier.js";
|
|
3
|
+
export declare class IVerifier__factory {
|
|
4
|
+
static readonly abi: readonly [{
|
|
5
|
+
readonly inputs: readonly [{
|
|
6
|
+
readonly internalType: "bytes";
|
|
7
|
+
readonly name: "_proof";
|
|
8
|
+
readonly type: "bytes";
|
|
9
|
+
}, {
|
|
10
|
+
readonly internalType: "bytes32[]";
|
|
11
|
+
readonly name: "_publicInputs";
|
|
12
|
+
readonly type: "bytes32[]";
|
|
13
|
+
}];
|
|
14
|
+
readonly name: "verify";
|
|
15
|
+
readonly outputs: readonly [{
|
|
16
|
+
readonly internalType: "bool";
|
|
17
|
+
readonly name: "";
|
|
18
|
+
readonly type: "bool";
|
|
19
|
+
}];
|
|
20
|
+
readonly stateMutability: "nonpayable";
|
|
21
|
+
readonly type: "function";
|
|
22
|
+
}];
|
|
23
|
+
static createInterface(): IVerifierInterface;
|
|
24
|
+
static connect(address: string, runner?: ContractRunner | null): IVerifier;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=IVerifier__factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IVerifier__factory.d.ts","sourceRoot":"","sources":["../../../../../../types/factories/contracts/verifier/DkgPkVerifier.sol/IVerifier__factory.ts"],"names":[],"mappings":"AAIE,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,QAAQ,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,+DAA+D,CAAC;AA6BnH,qBAAa,kBAAkB;IAC7B,MAAM,CAAC,QAAQ,CAAC,GAAG;;;;;;;;;;;;;;;;;;OAAQ;IAC3B,MAAM,CAAC,eAAe,IAAI,kBAAkB;IAG5C,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS;CAG3E"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/* Autogenerated file. Do not edit manually. */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
import { Contract, Interface } from "ethers";
|
|
5
|
+
const _abi = [
|
|
6
|
+
{
|
|
7
|
+
"inputs": [
|
|
8
|
+
{
|
|
9
|
+
"internalType": "bytes",
|
|
10
|
+
"name": "_proof",
|
|
11
|
+
"type": "bytes"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"internalType": "bytes32[]",
|
|
15
|
+
"name": "_publicInputs",
|
|
16
|
+
"type": "bytes32[]"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"name": "verify",
|
|
20
|
+
"outputs": [
|
|
21
|
+
{
|
|
22
|
+
"internalType": "bool",
|
|
23
|
+
"name": "",
|
|
24
|
+
"type": "bool"
|
|
25
|
+
}
|
|
26
|
+
],
|
|
27
|
+
"stateMutability": "nonpayable",
|
|
28
|
+
"type": "function"
|
|
29
|
+
}
|
|
30
|
+
];
|
|
31
|
+
export class IVerifier__factory {
|
|
32
|
+
static abi = _abi;
|
|
33
|
+
static createInterface() {
|
|
34
|
+
return new Interface(_abi);
|
|
35
|
+
}
|
|
36
|
+
static connect(address, runner) {
|
|
37
|
+
return new Contract(address, _abi, runner);
|
|
38
|
+
}
|
|
39
|
+
}
|