@zentity/fhevm-contracts 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/README.md +160 -0
  2. package/abi/ComplianceRules.json +352 -0
  3. package/abi/CompliantERC20.json +493 -0
  4. package/abi/IdentityRegistry.json +712 -0
  5. package/abi/index.d.ts +3 -0
  6. package/abi/index.js +9 -0
  7. package/contracts/ARCHITECTURE.md +66 -0
  8. package/contracts/ARCHITECTURE_EXPLAINER.md +77 -0
  9. package/contracts/compliance/ComplianceRules.sol +255 -0
  10. package/contracts/core/IdentityRegistry.sol +352 -0
  11. package/contracts/interfaces/IIdentityRegistry.sol +226 -0
  12. package/contracts/mocks/.gitkeep +0 -0
  13. package/contracts/tokens/CompliantERC20.sol +379 -0
  14. package/deployments/hardhat/addresses.json +20 -0
  15. package/deployments/localhost/.chainId +1 -0
  16. package/deployments/localhost/ComplianceRules.json +662 -0
  17. package/deployments/localhost/CompliantERC20.json +888 -0
  18. package/deployments/localhost/IdentityRegistry.json +1093 -0
  19. package/deployments/localhost/solcInputs/e36969353329df673b4fae03d39e01c4.json +60 -0
  20. package/deployments/sepolia/.chainId +1 -0
  21. package/deployments/sepolia/.gitkeep +0 -0
  22. package/deployments/sepolia/ComplianceRules.json +662 -0
  23. package/deployments/sepolia/CompliantERC20.json +888 -0
  24. package/deployments/sepolia/IdentityRegistry.json +1093 -0
  25. package/deployments/sepolia/solcInputs/93d280ff0d4e798a18947a9ed6015031.json +60 -0
  26. package/dist/index.d.ts +459 -0
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.js +135 -0
  29. package/package.json +110 -0
  30. package/typechain-types/@fhevm/index.ts +5 -0
  31. package/typechain-types/@fhevm/solidity/config/ZamaConfig.sol/ZamaConfig.ts +69 -0
  32. package/typechain-types/@fhevm/solidity/config/ZamaConfig.sol/ZamaEthereumConfig.ts +90 -0
  33. package/typechain-types/@fhevm/solidity/config/ZamaConfig.sol/index.ts +5 -0
  34. package/typechain-types/@fhevm/solidity/config/index.ts +5 -0
  35. package/typechain-types/@fhevm/solidity/index.ts +7 -0
  36. package/typechain-types/@fhevm/solidity/lib/FHE.sol/FHE.ts +112 -0
  37. package/typechain-types/@fhevm/solidity/lib/FHE.sol/IKMSVerifier.ts +108 -0
  38. package/typechain-types/@fhevm/solidity/lib/FHE.sol/index.ts +5 -0
  39. package/typechain-types/@fhevm/solidity/lib/Impl.sol/IACL.ts +190 -0
  40. package/typechain-types/@fhevm/solidity/lib/Impl.sol/IFHEVMExecutor.ts +623 -0
  41. package/typechain-types/@fhevm/solidity/lib/Impl.sol/IInputVerifier.ts +90 -0
  42. package/typechain-types/@fhevm/solidity/lib/Impl.sol/index.ts +6 -0
  43. package/typechain-types/@fhevm/solidity/lib/index.ts +7 -0
  44. package/typechain-types/common.ts +131 -0
  45. package/typechain-types/contracts/compliance/ComplianceRules.ts +479 -0
  46. package/typechain-types/contracts/compliance/index.ts +4 -0
  47. package/typechain-types/contracts/core/IdentityRegistry.ts +874 -0
  48. package/typechain-types/contracts/core/index.ts +4 -0
  49. package/typechain-types/contracts/index.ts +11 -0
  50. package/typechain-types/contracts/interfaces/IIdentityRegistry.ts +798 -0
  51. package/typechain-types/contracts/interfaces/index.ts +4 -0
  52. package/typechain-types/contracts/tokens/CompliantERC20.sol/CompliantERC20.ts +572 -0
  53. package/typechain-types/contracts/tokens/CompliantERC20.sol/IComplianceChecker.ts +95 -0
  54. package/typechain-types/contracts/tokens/CompliantERC20.sol/index.ts +5 -0
  55. package/typechain-types/contracts/tokens/index.ts +5 -0
  56. package/typechain-types/factories/@fhevm/index.ts +4 -0
  57. package/typechain-types/factories/@fhevm/solidity/config/ZamaConfig.sol/ZamaConfig__factory.ts +69 -0
  58. package/typechain-types/factories/@fhevm/solidity/config/ZamaConfig.sol/ZamaEthereumConfig__factory.ts +43 -0
  59. package/typechain-types/factories/@fhevm/solidity/config/ZamaConfig.sol/index.ts +5 -0
  60. package/typechain-types/factories/@fhevm/solidity/config/index.ts +4 -0
  61. package/typechain-types/factories/@fhevm/solidity/index.ts +5 -0
  62. package/typechain-types/factories/@fhevm/solidity/lib/FHE.sol/FHE__factory.ts +88 -0
  63. package/typechain-types/factories/@fhevm/solidity/lib/FHE.sol/IKMSVerifier__factory.ts +54 -0
  64. package/typechain-types/factories/@fhevm/solidity/lib/FHE.sol/index.ts +5 -0
  65. package/typechain-types/factories/@fhevm/solidity/lib/Impl.sol/IACL__factory.ts +121 -0
  66. package/typechain-types/factories/@fhevm/solidity/lib/Impl.sol/IFHEVMExecutor__factory.ts +810 -0
  67. package/typechain-types/factories/@fhevm/solidity/lib/Impl.sol/IInputVerifier__factory.ts +32 -0
  68. package/typechain-types/factories/@fhevm/solidity/lib/Impl.sol/index.ts +6 -0
  69. package/typechain-types/factories/@fhevm/solidity/lib/index.ts +5 -0
  70. package/typechain-types/factories/contracts/compliance/ComplianceRules__factory.ts +437 -0
  71. package/typechain-types/factories/contracts/compliance/index.ts +4 -0
  72. package/typechain-types/factories/contracts/core/IdentityRegistry__factory.ts +777 -0
  73. package/typechain-types/factories/contracts/core/index.ts +4 -0
  74. package/typechain-types/factories/contracts/index.ts +7 -0
  75. package/typechain-types/factories/contracts/interfaces/IIdentityRegistry__factory.ts +640 -0
  76. package/typechain-types/factories/contracts/interfaces/index.ts +4 -0
  77. package/typechain-types/factories/contracts/tokens/CompliantERC20.sol/CompliantERC20__factory.ts +581 -0
  78. package/typechain-types/factories/contracts/tokens/CompliantERC20.sol/IComplianceChecker__factory.ts +44 -0
  79. package/typechain-types/factories/contracts/tokens/CompliantERC20.sol/index.ts +5 -0
  80. package/typechain-types/factories/contracts/tokens/index.ts +4 -0
  81. package/typechain-types/factories/index.ts +5 -0
  82. package/typechain-types/hardhat.d.ts +261 -0
  83. package/typechain-types/index.ts +32 -0
@@ -0,0 +1,5 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import type * as solidity from "./solidity";
5
+ export type { solidity };
@@ -0,0 +1,69 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import type {
5
+ BaseContract,
6
+ FunctionFragment,
7
+ Interface,
8
+ ContractRunner,
9
+ ContractMethod,
10
+ Listener,
11
+ } from "ethers";
12
+ import type {
13
+ TypedContractEvent,
14
+ TypedDeferredTopicFilter,
15
+ TypedEventLog,
16
+ TypedListener,
17
+ } from "../../../../common";
18
+
19
+ export interface ZamaConfigInterface extends Interface {}
20
+
21
+ export interface ZamaConfig extends BaseContract {
22
+ connect(runner?: ContractRunner | null): ZamaConfig;
23
+ waitForDeployment(): Promise<this>;
24
+
25
+ interface: ZamaConfigInterface;
26
+
27
+ queryFilter<TCEvent extends TypedContractEvent>(
28
+ event: TCEvent,
29
+ fromBlockOrBlockhash?: string | number | undefined,
30
+ toBlock?: string | number | undefined
31
+ ): Promise<Array<TypedEventLog<TCEvent>>>;
32
+ queryFilter<TCEvent extends TypedContractEvent>(
33
+ filter: TypedDeferredTopicFilter<TCEvent>,
34
+ fromBlockOrBlockhash?: string | number | undefined,
35
+ toBlock?: string | number | undefined
36
+ ): Promise<Array<TypedEventLog<TCEvent>>>;
37
+
38
+ on<TCEvent extends TypedContractEvent>(
39
+ event: TCEvent,
40
+ listener: TypedListener<TCEvent>
41
+ ): Promise<this>;
42
+ on<TCEvent extends TypedContractEvent>(
43
+ filter: TypedDeferredTopicFilter<TCEvent>,
44
+ listener: TypedListener<TCEvent>
45
+ ): Promise<this>;
46
+
47
+ once<TCEvent extends TypedContractEvent>(
48
+ event: TCEvent,
49
+ listener: TypedListener<TCEvent>
50
+ ): Promise<this>;
51
+ once<TCEvent extends TypedContractEvent>(
52
+ filter: TypedDeferredTopicFilter<TCEvent>,
53
+ listener: TypedListener<TCEvent>
54
+ ): Promise<this>;
55
+
56
+ listeners<TCEvent extends TypedContractEvent>(
57
+ event: TCEvent
58
+ ): Promise<Array<TypedListener<TCEvent>>>;
59
+ listeners(eventName?: string): Promise<Array<Listener>>;
60
+ removeAllListeners<TCEvent extends TypedContractEvent>(
61
+ event?: TCEvent
62
+ ): Promise<this>;
63
+
64
+ getFunction<T extends ContractMethod = ContractMethod>(
65
+ key: string | FunctionFragment
66
+ ): T;
67
+
68
+ filters: {};
69
+ }
@@ -0,0 +1,90 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import type {
5
+ BaseContract,
6
+ BytesLike,
7
+ FunctionFragment,
8
+ Result,
9
+ Interface,
10
+ ContractRunner,
11
+ ContractMethod,
12
+ Listener,
13
+ } from "ethers";
14
+ import type {
15
+ TypedContractEvent,
16
+ TypedDeferredTopicFilter,
17
+ TypedEventLog,
18
+ TypedListener,
19
+ TypedContractMethod,
20
+ } from "../../../../common";
21
+
22
+ export interface ZamaEthereumConfigInterface extends Interface {
23
+ getFunction(nameOrSignature: "confidentialProtocolId"): FunctionFragment;
24
+
25
+ encodeFunctionData(
26
+ functionFragment: "confidentialProtocolId",
27
+ values?: undefined
28
+ ): string;
29
+
30
+ decodeFunctionResult(
31
+ functionFragment: "confidentialProtocolId",
32
+ data: BytesLike
33
+ ): Result;
34
+ }
35
+
36
+ export interface ZamaEthereumConfig extends BaseContract {
37
+ connect(runner?: ContractRunner | null): ZamaEthereumConfig;
38
+ waitForDeployment(): Promise<this>;
39
+
40
+ interface: ZamaEthereumConfigInterface;
41
+
42
+ queryFilter<TCEvent extends TypedContractEvent>(
43
+ event: TCEvent,
44
+ fromBlockOrBlockhash?: string | number | undefined,
45
+ toBlock?: string | number | undefined
46
+ ): Promise<Array<TypedEventLog<TCEvent>>>;
47
+ queryFilter<TCEvent extends TypedContractEvent>(
48
+ filter: TypedDeferredTopicFilter<TCEvent>,
49
+ fromBlockOrBlockhash?: string | number | undefined,
50
+ toBlock?: string | number | undefined
51
+ ): Promise<Array<TypedEventLog<TCEvent>>>;
52
+
53
+ on<TCEvent extends TypedContractEvent>(
54
+ event: TCEvent,
55
+ listener: TypedListener<TCEvent>
56
+ ): Promise<this>;
57
+ on<TCEvent extends TypedContractEvent>(
58
+ filter: TypedDeferredTopicFilter<TCEvent>,
59
+ listener: TypedListener<TCEvent>
60
+ ): Promise<this>;
61
+
62
+ once<TCEvent extends TypedContractEvent>(
63
+ event: TCEvent,
64
+ listener: TypedListener<TCEvent>
65
+ ): Promise<this>;
66
+ once<TCEvent extends TypedContractEvent>(
67
+ filter: TypedDeferredTopicFilter<TCEvent>,
68
+ listener: TypedListener<TCEvent>
69
+ ): Promise<this>;
70
+
71
+ listeners<TCEvent extends TypedContractEvent>(
72
+ event: TCEvent
73
+ ): Promise<Array<TypedListener<TCEvent>>>;
74
+ listeners(eventName?: string): Promise<Array<Listener>>;
75
+ removeAllListeners<TCEvent extends TypedContractEvent>(
76
+ event?: TCEvent
77
+ ): Promise<this>;
78
+
79
+ confidentialProtocolId: TypedContractMethod<[], [bigint], "view">;
80
+
81
+ getFunction<T extends ContractMethod = ContractMethod>(
82
+ key: string | FunctionFragment
83
+ ): T;
84
+
85
+ getFunction(
86
+ nameOrSignature: "confidentialProtocolId"
87
+ ): TypedContractMethod<[], [bigint], "view">;
88
+
89
+ filters: {};
90
+ }
@@ -0,0 +1,5 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ export type { ZamaConfig } from "./ZamaConfig";
5
+ export type { ZamaEthereumConfig } from "./ZamaEthereumConfig";
@@ -0,0 +1,5 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import type * as zamaConfigSol from "./ZamaConfig.sol";
5
+ export type { zamaConfigSol };
@@ -0,0 +1,7 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import type * as config from "./config";
5
+ export type { config };
6
+ import type * as lib from "./lib";
7
+ export type { lib };
@@ -0,0 +1,112 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import type {
5
+ BaseContract,
6
+ BytesLike,
7
+ FunctionFragment,
8
+ Interface,
9
+ EventFragment,
10
+ ContractRunner,
11
+ ContractMethod,
12
+ Listener,
13
+ } from "ethers";
14
+ import type {
15
+ TypedContractEvent,
16
+ TypedDeferredTopicFilter,
17
+ TypedEventLog,
18
+ TypedLogDescription,
19
+ TypedListener,
20
+ } from "../../../../common";
21
+
22
+ export interface FHEInterface extends Interface {
23
+ getEvent(nameOrSignatureOrTopic: "PublicDecryptionVerified"): EventFragment;
24
+ }
25
+
26
+ export namespace PublicDecryptionVerifiedEvent {
27
+ export type InputTuple = [
28
+ handlesList: BytesLike[],
29
+ abiEncodedCleartexts: BytesLike
30
+ ];
31
+ export type OutputTuple = [
32
+ handlesList: string[],
33
+ abiEncodedCleartexts: string
34
+ ];
35
+ export interface OutputObject {
36
+ handlesList: string[];
37
+ abiEncodedCleartexts: string;
38
+ }
39
+ export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
40
+ export type Filter = TypedDeferredTopicFilter<Event>;
41
+ export type Log = TypedEventLog<Event>;
42
+ export type LogDescription = TypedLogDescription<Event>;
43
+ }
44
+
45
+ export interface FHE extends BaseContract {
46
+ connect(runner?: ContractRunner | null): FHE;
47
+ waitForDeployment(): Promise<this>;
48
+
49
+ interface: FHEInterface;
50
+
51
+ queryFilter<TCEvent extends TypedContractEvent>(
52
+ event: TCEvent,
53
+ fromBlockOrBlockhash?: string | number | undefined,
54
+ toBlock?: string | number | undefined
55
+ ): Promise<Array<TypedEventLog<TCEvent>>>;
56
+ queryFilter<TCEvent extends TypedContractEvent>(
57
+ filter: TypedDeferredTopicFilter<TCEvent>,
58
+ fromBlockOrBlockhash?: string | number | undefined,
59
+ toBlock?: string | number | undefined
60
+ ): Promise<Array<TypedEventLog<TCEvent>>>;
61
+
62
+ on<TCEvent extends TypedContractEvent>(
63
+ event: TCEvent,
64
+ listener: TypedListener<TCEvent>
65
+ ): Promise<this>;
66
+ on<TCEvent extends TypedContractEvent>(
67
+ filter: TypedDeferredTopicFilter<TCEvent>,
68
+ listener: TypedListener<TCEvent>
69
+ ): Promise<this>;
70
+
71
+ once<TCEvent extends TypedContractEvent>(
72
+ event: TCEvent,
73
+ listener: TypedListener<TCEvent>
74
+ ): Promise<this>;
75
+ once<TCEvent extends TypedContractEvent>(
76
+ filter: TypedDeferredTopicFilter<TCEvent>,
77
+ listener: TypedListener<TCEvent>
78
+ ): Promise<this>;
79
+
80
+ listeners<TCEvent extends TypedContractEvent>(
81
+ event: TCEvent
82
+ ): Promise<Array<TypedListener<TCEvent>>>;
83
+ listeners(eventName?: string): Promise<Array<Listener>>;
84
+ removeAllListeners<TCEvent extends TypedContractEvent>(
85
+ event?: TCEvent
86
+ ): Promise<this>;
87
+
88
+ getFunction<T extends ContractMethod = ContractMethod>(
89
+ key: string | FunctionFragment
90
+ ): T;
91
+
92
+ getEvent(
93
+ key: "PublicDecryptionVerified"
94
+ ): TypedContractEvent<
95
+ PublicDecryptionVerifiedEvent.InputTuple,
96
+ PublicDecryptionVerifiedEvent.OutputTuple,
97
+ PublicDecryptionVerifiedEvent.OutputObject
98
+ >;
99
+
100
+ filters: {
101
+ "PublicDecryptionVerified(bytes32[],bytes)": TypedContractEvent<
102
+ PublicDecryptionVerifiedEvent.InputTuple,
103
+ PublicDecryptionVerifiedEvent.OutputTuple,
104
+ PublicDecryptionVerifiedEvent.OutputObject
105
+ >;
106
+ PublicDecryptionVerified: TypedContractEvent<
107
+ PublicDecryptionVerifiedEvent.InputTuple,
108
+ PublicDecryptionVerifiedEvent.OutputTuple,
109
+ PublicDecryptionVerifiedEvent.OutputObject
110
+ >;
111
+ };
112
+ }
@@ -0,0 +1,108 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import type {
5
+ BaseContract,
6
+ BytesLike,
7
+ FunctionFragment,
8
+ Result,
9
+ Interface,
10
+ ContractRunner,
11
+ ContractMethod,
12
+ Listener,
13
+ } from "ethers";
14
+ import type {
15
+ TypedContractEvent,
16
+ TypedDeferredTopicFilter,
17
+ TypedEventLog,
18
+ TypedListener,
19
+ TypedContractMethod,
20
+ } from "../../../../common";
21
+
22
+ export interface IKMSVerifierInterface extends Interface {
23
+ getFunction(
24
+ nameOrSignature: "verifyDecryptionEIP712KMSSignatures"
25
+ ): FunctionFragment;
26
+
27
+ encodeFunctionData(
28
+ functionFragment: "verifyDecryptionEIP712KMSSignatures",
29
+ values: [BytesLike[], BytesLike, BytesLike]
30
+ ): string;
31
+
32
+ decodeFunctionResult(
33
+ functionFragment: "verifyDecryptionEIP712KMSSignatures",
34
+ data: BytesLike
35
+ ): Result;
36
+ }
37
+
38
+ export interface IKMSVerifier extends BaseContract {
39
+ connect(runner?: ContractRunner | null): IKMSVerifier;
40
+ waitForDeployment(): Promise<this>;
41
+
42
+ interface: IKMSVerifierInterface;
43
+
44
+ queryFilter<TCEvent extends TypedContractEvent>(
45
+ event: TCEvent,
46
+ fromBlockOrBlockhash?: string | number | undefined,
47
+ toBlock?: string | number | undefined
48
+ ): Promise<Array<TypedEventLog<TCEvent>>>;
49
+ queryFilter<TCEvent extends TypedContractEvent>(
50
+ filter: TypedDeferredTopicFilter<TCEvent>,
51
+ fromBlockOrBlockhash?: string | number | undefined,
52
+ toBlock?: string | number | undefined
53
+ ): Promise<Array<TypedEventLog<TCEvent>>>;
54
+
55
+ on<TCEvent extends TypedContractEvent>(
56
+ event: TCEvent,
57
+ listener: TypedListener<TCEvent>
58
+ ): Promise<this>;
59
+ on<TCEvent extends TypedContractEvent>(
60
+ filter: TypedDeferredTopicFilter<TCEvent>,
61
+ listener: TypedListener<TCEvent>
62
+ ): Promise<this>;
63
+
64
+ once<TCEvent extends TypedContractEvent>(
65
+ event: TCEvent,
66
+ listener: TypedListener<TCEvent>
67
+ ): Promise<this>;
68
+ once<TCEvent extends TypedContractEvent>(
69
+ filter: TypedDeferredTopicFilter<TCEvent>,
70
+ listener: TypedListener<TCEvent>
71
+ ): Promise<this>;
72
+
73
+ listeners<TCEvent extends TypedContractEvent>(
74
+ event: TCEvent
75
+ ): Promise<Array<TypedListener<TCEvent>>>;
76
+ listeners(eventName?: string): Promise<Array<Listener>>;
77
+ removeAllListeners<TCEvent extends TypedContractEvent>(
78
+ event?: TCEvent
79
+ ): Promise<this>;
80
+
81
+ verifyDecryptionEIP712KMSSignatures: TypedContractMethod<
82
+ [
83
+ handlesList: BytesLike[],
84
+ decryptedResult: BytesLike,
85
+ decryptionProof: BytesLike
86
+ ],
87
+ [boolean],
88
+ "nonpayable"
89
+ >;
90
+
91
+ getFunction<T extends ContractMethod = ContractMethod>(
92
+ key: string | FunctionFragment
93
+ ): T;
94
+
95
+ getFunction(
96
+ nameOrSignature: "verifyDecryptionEIP712KMSSignatures"
97
+ ): TypedContractMethod<
98
+ [
99
+ handlesList: BytesLike[],
100
+ decryptedResult: BytesLike,
101
+ decryptionProof: BytesLike
102
+ ],
103
+ [boolean],
104
+ "nonpayable"
105
+ >;
106
+
107
+ filters: {};
108
+ }
@@ -0,0 +1,5 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ export type { FHE } from "./FHE";
5
+ export type { IKMSVerifier } from "./IKMSVerifier";
@@ -0,0 +1,190 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import type {
5
+ BaseContract,
6
+ BytesLike,
7
+ FunctionFragment,
8
+ Result,
9
+ Interface,
10
+ AddressLike,
11
+ ContractRunner,
12
+ ContractMethod,
13
+ Listener,
14
+ } from "ethers";
15
+ import type {
16
+ TypedContractEvent,
17
+ TypedDeferredTopicFilter,
18
+ TypedEventLog,
19
+ TypedListener,
20
+ TypedContractMethod,
21
+ } from "../../../../common";
22
+
23
+ export interface IACLInterface extends Interface {
24
+ getFunction(
25
+ nameOrSignature:
26
+ | "allow"
27
+ | "allowForDecryption"
28
+ | "allowTransient"
29
+ | "cleanTransientStorage"
30
+ | "isAllowed"
31
+ | "isAllowedForDecryption"
32
+ ): FunctionFragment;
33
+
34
+ encodeFunctionData(
35
+ functionFragment: "allow",
36
+ values: [BytesLike, AddressLike]
37
+ ): string;
38
+ encodeFunctionData(
39
+ functionFragment: "allowForDecryption",
40
+ values: [BytesLike[]]
41
+ ): string;
42
+ encodeFunctionData(
43
+ functionFragment: "allowTransient",
44
+ values: [BytesLike, AddressLike]
45
+ ): string;
46
+ encodeFunctionData(
47
+ functionFragment: "cleanTransientStorage",
48
+ values?: undefined
49
+ ): string;
50
+ encodeFunctionData(
51
+ functionFragment: "isAllowed",
52
+ values: [BytesLike, AddressLike]
53
+ ): string;
54
+ encodeFunctionData(
55
+ functionFragment: "isAllowedForDecryption",
56
+ values: [BytesLike]
57
+ ): string;
58
+
59
+ decodeFunctionResult(functionFragment: "allow", data: BytesLike): Result;
60
+ decodeFunctionResult(
61
+ functionFragment: "allowForDecryption",
62
+ data: BytesLike
63
+ ): Result;
64
+ decodeFunctionResult(
65
+ functionFragment: "allowTransient",
66
+ data: BytesLike
67
+ ): Result;
68
+ decodeFunctionResult(
69
+ functionFragment: "cleanTransientStorage",
70
+ data: BytesLike
71
+ ): Result;
72
+ decodeFunctionResult(functionFragment: "isAllowed", data: BytesLike): Result;
73
+ decodeFunctionResult(
74
+ functionFragment: "isAllowedForDecryption",
75
+ data: BytesLike
76
+ ): Result;
77
+ }
78
+
79
+ export interface IACL extends BaseContract {
80
+ connect(runner?: ContractRunner | null): IACL;
81
+ waitForDeployment(): Promise<this>;
82
+
83
+ interface: IACLInterface;
84
+
85
+ queryFilter<TCEvent extends TypedContractEvent>(
86
+ event: TCEvent,
87
+ fromBlockOrBlockhash?: string | number | undefined,
88
+ toBlock?: string | number | undefined
89
+ ): Promise<Array<TypedEventLog<TCEvent>>>;
90
+ queryFilter<TCEvent extends TypedContractEvent>(
91
+ filter: TypedDeferredTopicFilter<TCEvent>,
92
+ fromBlockOrBlockhash?: string | number | undefined,
93
+ toBlock?: string | number | undefined
94
+ ): Promise<Array<TypedEventLog<TCEvent>>>;
95
+
96
+ on<TCEvent extends TypedContractEvent>(
97
+ event: TCEvent,
98
+ listener: TypedListener<TCEvent>
99
+ ): Promise<this>;
100
+ on<TCEvent extends TypedContractEvent>(
101
+ filter: TypedDeferredTopicFilter<TCEvent>,
102
+ listener: TypedListener<TCEvent>
103
+ ): Promise<this>;
104
+
105
+ once<TCEvent extends TypedContractEvent>(
106
+ event: TCEvent,
107
+ listener: TypedListener<TCEvent>
108
+ ): Promise<this>;
109
+ once<TCEvent extends TypedContractEvent>(
110
+ filter: TypedDeferredTopicFilter<TCEvent>,
111
+ listener: TypedListener<TCEvent>
112
+ ): Promise<this>;
113
+
114
+ listeners<TCEvent extends TypedContractEvent>(
115
+ event: TCEvent
116
+ ): Promise<Array<TypedListener<TCEvent>>>;
117
+ listeners(eventName?: string): Promise<Array<Listener>>;
118
+ removeAllListeners<TCEvent extends TypedContractEvent>(
119
+ event?: TCEvent
120
+ ): Promise<this>;
121
+
122
+ allow: TypedContractMethod<
123
+ [handle: BytesLike, account: AddressLike],
124
+ [void],
125
+ "nonpayable"
126
+ >;
127
+
128
+ allowForDecryption: TypedContractMethod<
129
+ [handlesList: BytesLike[]],
130
+ [void],
131
+ "nonpayable"
132
+ >;
133
+
134
+ allowTransient: TypedContractMethod<
135
+ [ciphertext: BytesLike, account: AddressLike],
136
+ [void],
137
+ "nonpayable"
138
+ >;
139
+
140
+ cleanTransientStorage: TypedContractMethod<[], [void], "nonpayable">;
141
+
142
+ isAllowed: TypedContractMethod<
143
+ [handle: BytesLike, account: AddressLike],
144
+ [boolean],
145
+ "view"
146
+ >;
147
+
148
+ isAllowedForDecryption: TypedContractMethod<
149
+ [handle: BytesLike],
150
+ [boolean],
151
+ "view"
152
+ >;
153
+
154
+ getFunction<T extends ContractMethod = ContractMethod>(
155
+ key: string | FunctionFragment
156
+ ): T;
157
+
158
+ getFunction(
159
+ nameOrSignature: "allow"
160
+ ): TypedContractMethod<
161
+ [handle: BytesLike, account: AddressLike],
162
+ [void],
163
+ "nonpayable"
164
+ >;
165
+ getFunction(
166
+ nameOrSignature: "allowForDecryption"
167
+ ): TypedContractMethod<[handlesList: BytesLike[]], [void], "nonpayable">;
168
+ getFunction(
169
+ nameOrSignature: "allowTransient"
170
+ ): TypedContractMethod<
171
+ [ciphertext: BytesLike, account: AddressLike],
172
+ [void],
173
+ "nonpayable"
174
+ >;
175
+ getFunction(
176
+ nameOrSignature: "cleanTransientStorage"
177
+ ): TypedContractMethod<[], [void], "nonpayable">;
178
+ getFunction(
179
+ nameOrSignature: "isAllowed"
180
+ ): TypedContractMethod<
181
+ [handle: BytesLike, account: AddressLike],
182
+ [boolean],
183
+ "view"
184
+ >;
185
+ getFunction(
186
+ nameOrSignature: "isAllowedForDecryption"
187
+ ): TypedContractMethod<[handle: BytesLike], [boolean], "view">;
188
+
189
+ filters: {};
190
+ }