@zentity/fhevm-contracts 0.3.0 → 0.4.1

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 (123) hide show
  1. package/abi/ComplianceRules.json +25 -16
  2. package/abi/CompliantERC20.json +30 -16
  3. package/abi/IdentityRegistry.json +496 -119
  4. package/contracts/compliance/ComplianceRules.sol +40 -189
  5. package/contracts/core/IdentityRegistry.sol +280 -232
  6. package/contracts/interfaces/IComplianceRules.sol +30 -0
  7. package/contracts/interfaces/IIdentityRegistry.sol +133 -159
  8. package/contracts/proxy/ERC1967Proxy.sol +6 -0
  9. package/contracts/test/MockFacilitator.sol +40 -0
  10. package/contracts/tokens/CompliantERC20.sol +28 -242
  11. package/deployments/hardhat/addresses.json +3 -8
  12. package/deployments/sepolia/ComplianceRules.json +91 -207
  13. package/deployments/sepolia/CompliantERC20.json +114 -293
  14. package/deployments/sepolia/IdentityRegistry.json +498 -742
  15. package/deployments/sepolia/IdentityRegistry_Implementation.json +1698 -0
  16. package/deployments/sepolia/IdentityRegistry_Proxy.json +192 -0
  17. package/deployments/sepolia/addresses.json +5 -6
  18. package/dist/index.d.ts +175 -9
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +44 -1
  21. package/package.json +1 -1
  22. package/typechain-types/@openzeppelin/contracts/access/Ownable.ts +153 -0
  23. package/typechain-types/@openzeppelin/contracts/access/Ownable2Step.ts +217 -0
  24. package/typechain-types/@openzeppelin/contracts/access/index.ts +5 -0
  25. package/typechain-types/@openzeppelin/contracts/index.ts +11 -0
  26. package/typechain-types/@openzeppelin/contracts/interfaces/IERC1967.ts +168 -0
  27. package/typechain-types/@openzeppelin/contracts/interfaces/IERC5267.ts +151 -0
  28. package/typechain-types/{contracts/tokens/CompliantERC20.sol/IComplianceChecker.ts → @openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.ts} +12 -17
  29. package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.ts +4 -0
  30. package/typechain-types/@openzeppelin/contracts/interfaces/index.ts +7 -0
  31. package/typechain-types/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.ts +105 -0
  32. package/typechain-types/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.ts +69 -0
  33. package/typechain-types/@openzeppelin/contracts/proxy/ERC1967/index.ts +5 -0
  34. package/typechain-types/@openzeppelin/contracts/proxy/Proxy.ts +69 -0
  35. package/typechain-types/@openzeppelin/contracts/proxy/beacon/IBeacon.ts +90 -0
  36. package/typechain-types/@openzeppelin/contracts/proxy/beacon/index.ts +4 -0
  37. package/typechain-types/@openzeppelin/contracts/proxy/index.ts +8 -0
  38. package/typechain-types/@openzeppelin/contracts/utils/Address.ts +69 -0
  39. package/typechain-types/@openzeppelin/contracts/utils/Errors.ts +69 -0
  40. package/typechain-types/@openzeppelin/contracts/utils/Strings.ts +69 -0
  41. package/typechain-types/@openzeppelin/contracts/utils/cryptography/ECDSA.ts +69 -0
  42. package/typechain-types/@openzeppelin/contracts/utils/cryptography/index.ts +4 -0
  43. package/typechain-types/@openzeppelin/contracts/utils/index.ts +10 -0
  44. package/typechain-types/@openzeppelin/contracts/utils/math/SafeCast.ts +69 -0
  45. package/typechain-types/@openzeppelin/contracts/utils/math/index.ts +4 -0
  46. package/typechain-types/@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.ts +251 -0
  47. package/typechain-types/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.ts +186 -0
  48. package/typechain-types/@openzeppelin/contracts-upgradeable/access/index.ts +5 -0
  49. package/typechain-types/@openzeppelin/contracts-upgradeable/index.ts +9 -0
  50. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/index.ts +5 -0
  51. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.ts +105 -0
  52. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.ts +196 -0
  53. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts +5 -0
  54. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.ts +105 -0
  55. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.ts +184 -0
  56. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/cryptography/index.ts +4 -0
  57. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/index.ts +6 -0
  58. package/typechain-types/@openzeppelin/index.ts +7 -0
  59. package/typechain-types/contracts/compliance/ComplianceRules.ts +18 -7
  60. package/typechain-types/contracts/core/IdentityRegistry.ts +493 -233
  61. package/typechain-types/contracts/index.ts +2 -0
  62. package/typechain-types/contracts/interfaces/IComplianceRules.ts +290 -0
  63. package/typechain-types/contracts/interfaces/IIdentityRegistry.ts +269 -341
  64. package/typechain-types/contracts/interfaces/index.ts +1 -0
  65. package/typechain-types/contracts/test/MockFacilitator.ts +187 -0
  66. package/typechain-types/contracts/test/index.ts +4 -0
  67. package/typechain-types/contracts/tokens/{CompliantERC20.sol/CompliantERC20.ts → CompliantERC20.ts} +19 -8
  68. package/typechain-types/contracts/tokens/index.ts +1 -2
  69. package/typechain-types/factories/@openzeppelin/contracts/access/Ownable2Step__factory.ts +138 -0
  70. package/typechain-types/factories/@openzeppelin/contracts/access/Ownable__factory.ts +96 -0
  71. package/typechain-types/factories/@openzeppelin/contracts/access/index.ts +5 -0
  72. package/typechain-types/factories/@openzeppelin/contracts/index.ts +7 -0
  73. package/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC1967__factory.ts +67 -0
  74. package/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC5267__factory.ts +71 -0
  75. package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable__factory.ts +38 -0
  76. package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.ts +4 -0
  77. package/typechain-types/factories/@openzeppelin/contracts/interfaces/index.ts +6 -0
  78. package/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy__factory.ts +144 -0
  79. package/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils__factory.ts +105 -0
  80. package/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/index.ts +5 -0
  81. package/typechain-types/factories/@openzeppelin/contracts/proxy/Proxy__factory.ts +26 -0
  82. package/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/IBeacon__factory.ts +35 -0
  83. package/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/index.ts +4 -0
  84. package/typechain-types/factories/@openzeppelin/contracts/proxy/index.ts +6 -0
  85. package/typechain-types/factories/@openzeppelin/contracts/utils/Address__factory.ts +75 -0
  86. package/typechain-types/factories/@openzeppelin/contracts/utils/Errors__factory.ts +101 -0
  87. package/typechain-types/factories/@openzeppelin/contracts/utils/Strings__factory.ts +90 -0
  88. package/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/ECDSA__factory.ts +91 -0
  89. package/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/index.ts +4 -0
  90. package/typechain-types/factories/@openzeppelin/contracts/utils/index.ts +8 -0
  91. package/typechain-types/factories/@openzeppelin/contracts/utils/math/SafeCast__factory.ts +118 -0
  92. package/typechain-types/factories/@openzeppelin/contracts/utils/math/index.ts +4 -0
  93. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable__factory.ts +165 -0
  94. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable__factory.ts +122 -0
  95. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/index.ts +5 -0
  96. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/index.ts +6 -0
  97. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/index.ts +4 -0
  98. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable__factory.ts +48 -0
  99. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable__factory.ts +153 -0
  100. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts +5 -0
  101. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable__factory.ts +48 -0
  102. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable__factory.ts +97 -0
  103. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/cryptography/index.ts +4 -0
  104. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/index.ts +5 -0
  105. package/typechain-types/factories/@openzeppelin/index.ts +5 -0
  106. package/typechain-types/factories/contracts/compliance/ComplianceRules__factory.ts +26 -17
  107. package/typechain-types/factories/contracts/core/IdentityRegistry__factory.ts +493 -116
  108. package/typechain-types/factories/contracts/index.ts +1 -0
  109. package/typechain-types/factories/contracts/interfaces/IComplianceRules__factory.ts +193 -0
  110. package/typechain-types/factories/contracts/interfaces/IIdentityRegistry__factory.ts +236 -186
  111. package/typechain-types/factories/contracts/interfaces/index.ts +1 -0
  112. package/typechain-types/factories/contracts/test/MockFacilitator__factory.ts +194 -0
  113. package/typechain-types/factories/contracts/test/index.ts +4 -0
  114. package/typechain-types/factories/contracts/tokens/CompliantERC20__factory.ts +595 -0
  115. package/typechain-types/factories/contracts/tokens/index.ts +1 -1
  116. package/typechain-types/factories/index.ts +1 -0
  117. package/typechain-types/hardhat.d.ts +394 -16
  118. package/typechain-types/index.ts +48 -4
  119. package/deployments/hardhat/.chainId +0 -1
  120. package/typechain-types/contracts/tokens/CompliantERC20.sol/index.ts +0 -5
  121. package/typechain-types/factories/contracts/tokens/CompliantERC20.sol/CompliantERC20__factory.ts +0 -581
  122. package/typechain-types/factories/contracts/tokens/CompliantERC20.sol/IComplianceChecker__factory.ts +0 -44
  123. package/typechain-types/factories/contracts/tokens/CompliantERC20.sol/index.ts +0 -5
@@ -0,0 +1,194 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import {
5
+ Contract,
6
+ ContractFactory,
7
+ ContractTransactionResponse,
8
+ Interface,
9
+ } from "ethers";
10
+ import type {
11
+ Signer,
12
+ BigNumberish,
13
+ AddressLike,
14
+ ContractDeployTransaction,
15
+ ContractRunner,
16
+ } from "ethers";
17
+ import type { NonPayableOverrides } from "../../../common";
18
+ import type {
19
+ MockFacilitator,
20
+ MockFacilitatorInterface,
21
+ } from "../../../contracts/test/MockFacilitator";
22
+
23
+ const _abi = [
24
+ {
25
+ inputs: [
26
+ {
27
+ internalType: "address",
28
+ name: "_registry",
29
+ type: "address",
30
+ },
31
+ {
32
+ internalType: "uint8",
33
+ name: "_requiredLevel",
34
+ type: "uint8",
35
+ },
36
+ ],
37
+ stateMutability: "nonpayable",
38
+ type: "constructor",
39
+ },
40
+ {
41
+ inputs: [],
42
+ name: "ZamaProtocolUnsupported",
43
+ type: "error",
44
+ },
45
+ {
46
+ anonymous: false,
47
+ inputs: [
48
+ {
49
+ indexed: true,
50
+ internalType: "address",
51
+ name: "payer",
52
+ type: "address",
53
+ },
54
+ ],
55
+ name: "SettlementAttempted",
56
+ type: "event",
57
+ },
58
+ {
59
+ inputs: [],
60
+ name: "confidentialProtocolId",
61
+ outputs: [
62
+ {
63
+ internalType: "uint256",
64
+ name: "",
65
+ type: "uint256",
66
+ },
67
+ ],
68
+ stateMutability: "view",
69
+ type: "function",
70
+ },
71
+ {
72
+ inputs: [],
73
+ name: "registry",
74
+ outputs: [
75
+ {
76
+ internalType: "contract IIdentityRegistry",
77
+ name: "",
78
+ type: "address",
79
+ },
80
+ ],
81
+ stateMutability: "view",
82
+ type: "function",
83
+ },
84
+ {
85
+ inputs: [],
86
+ name: "requiredLevel",
87
+ outputs: [
88
+ {
89
+ internalType: "uint8",
90
+ name: "",
91
+ type: "uint8",
92
+ },
93
+ ],
94
+ stateMutability: "view",
95
+ type: "function",
96
+ },
97
+ {
98
+ inputs: [
99
+ {
100
+ internalType: "address",
101
+ name: "payer",
102
+ type: "address",
103
+ },
104
+ ],
105
+ name: "settleWithCompliance",
106
+ outputs: [
107
+ {
108
+ internalType: "ebool",
109
+ name: "",
110
+ type: "bytes32",
111
+ },
112
+ ],
113
+ stateMutability: "nonpayable",
114
+ type: "function",
115
+ },
116
+ {
117
+ inputs: [
118
+ {
119
+ internalType: "address",
120
+ name: "payer",
121
+ type: "address",
122
+ },
123
+ ],
124
+ name: "settlementResults",
125
+ outputs: [
126
+ {
127
+ internalType: "ebool",
128
+ name: "result",
129
+ type: "bytes32",
130
+ },
131
+ ],
132
+ stateMutability: "view",
133
+ type: "function",
134
+ },
135
+ ] as const;
136
+
137
+ const _bytecode =
138
+ "0x60a060405234801561000f575f5ffd5b5060405161064838038061064883398101604081905261002e91610277565b6100e2610039610108565b80517f9e7b61f58c47dc699ac88507c4f5bb9f121c03808c5676a8078fe583e464970080546001600160a01b03199081166001600160a01b039384161790915560208301517f9e7b61f58c47dc699ac88507c4f5bb9f121c03808c5676a8078fe583e46497018054831691841691909117905560408301517f9e7b61f58c47dc699ac88507c4f5bb9f121c03808c5676a8078fe583e46497028054909216921691909117905550565b6001600160a01b03919091166080525f805460ff191660ff9092169190911790556102bf565b604080516060810182525f808252602082018190529181019190915246600103610161575060408051606080820183525f8083526020808401829052928401819052835191820184528082529181018290529182015290565b4662aa36a7036101e0575060408051606080820183525f8083526020808401829052928401528251908101835273f0ffdc93b7e186bc2f8cb3daa75d86d1930a433d81527392c920834ec8941d2c77d188936e1f7a6f49c1279181019190915273be0e383937d564d7ff0bc3b46c51f0bf8d5c311a9181019190915290565b46617a690361025e575060408051606080820183525f808352602080840182905292840152825190810183527350157cffd6bbfa2dece204a89ec419c23ef5755d815273e3a9105a3a932253a70f126eb1e3b589c643dd249181019190915273be0e383937d564d7ff0bc3b46c51f0bf8d5c311a9181019190915290565b6040516373cac13b60e01b815260040160405180910390fd5b5f5f60408385031215610288575f5ffd5b82516001600160a01b038116811461029e575f5ffd5b602084015190925060ff811681146102b4575f5ffd5b809150509250929050565b60805161036b6102dd5f395f8181605e015261013f015261036b5ff3fe608060405234801561000f575f5ffd5b5060043610610055575f3560e01c80637b103999146100595780638927b0301461009d5780638df30395146100b3578063d1f8c923146100d1578063da8ec20f146100e4575b5f5ffd5b6100807f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6100a5610103565b604051908152602001610094565b5f546100bf9060ff1681565b60405160ff9091168152602001610094565b6100a56100df3660046102f1565b610111565b6100a56100f23660046102f1565b60016020525f908152604090205481565b5f61010c610213565b905090565b5f805460405163d1e8eba960e01b81526001600160a01b03848116600483015260ff909216602482015282917f0000000000000000000000000000000000000000000000000000000000000000169063d1e8eba9906044016020604051808303815f875af1158015610185573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101a9919061031e565b6001600160a01b0384165f90815260016020526040902081905590506101ce81610247565b506101d98133610256565b506040516001600160a01b038416907f4ebb48966ab10713130c10abb2804a3fc4ec525f9bd3f28689c06bde50262f29905f90a292915050565b5f466001036102225750600190565b4662aa36a703610233575061271190565b46617a690361024257505f1990565b505f90565b5f6102528230610268565b5090565b5f6102618383610268565b5090919050565b5f7f9e7b61f58c47dc699ac88507c4f5bb9f121c03808c5676a8078fe583e46497008054604051635ca4b5b160e11b8152600481018690526001600160a01b03858116602483015292935091169063b9496b62906044015f604051808303815f87803b1580156102d6575f5ffd5b505af11580156102e8573d5f5f3e3d5ffd5b50505050505050565b5f60208284031215610301575f5ffd5b81356001600160a01b0381168114610317575f5ffd5b9392505050565b5f6020828403121561032e575f5ffd5b505191905056fea26469706673582212201718d9a6ca381213cbb68f7e0ee4db02c47889bb2aadd4ca4565bbac0d5cbe7d64736f6c634300081b0033";
139
+
140
+ type MockFacilitatorConstructorParams =
141
+ | [signer?: Signer]
142
+ | ConstructorParameters<typeof ContractFactory>;
143
+
144
+ const isSuperArgs = (
145
+ xs: MockFacilitatorConstructorParams
146
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
147
+
148
+ export class MockFacilitator__factory extends ContractFactory {
149
+ constructor(...args: MockFacilitatorConstructorParams) {
150
+ if (isSuperArgs(args)) {
151
+ super(...args);
152
+ } else {
153
+ super(_abi, _bytecode, args[0]);
154
+ }
155
+ }
156
+
157
+ override getDeployTransaction(
158
+ _registry: AddressLike,
159
+ _requiredLevel: BigNumberish,
160
+ overrides?: NonPayableOverrides & { from?: string }
161
+ ): Promise<ContractDeployTransaction> {
162
+ return super.getDeployTransaction(
163
+ _registry,
164
+ _requiredLevel,
165
+ overrides || {}
166
+ );
167
+ }
168
+ override deploy(
169
+ _registry: AddressLike,
170
+ _requiredLevel: BigNumberish,
171
+ overrides?: NonPayableOverrides & { from?: string }
172
+ ) {
173
+ return super.deploy(_registry, _requiredLevel, overrides || {}) as Promise<
174
+ MockFacilitator & {
175
+ deploymentTransaction(): ContractTransactionResponse;
176
+ }
177
+ >;
178
+ }
179
+ override connect(runner: ContractRunner | null): MockFacilitator__factory {
180
+ return super.connect(runner) as MockFacilitator__factory;
181
+ }
182
+
183
+ static readonly bytecode = _bytecode;
184
+ static readonly abi = _abi;
185
+ static createInterface(): MockFacilitatorInterface {
186
+ return new Interface(_abi) as MockFacilitatorInterface;
187
+ }
188
+ static connect(
189
+ address: string,
190
+ runner?: ContractRunner | null
191
+ ): MockFacilitator {
192
+ return new Contract(address, _abi, runner) as unknown as MockFacilitator;
193
+ }
194
+ }
@@ -0,0 +1,4 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ export { MockFacilitator__factory } from "./MockFacilitator__factory";