@hyperlane-xyz/core 3.1.4 → 3.1.6

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 (182) hide show
  1. package/contracts/token/FastHypERC20.sol +62 -0
  2. package/contracts/token/FastHypERC20Collateral.sol +61 -0
  3. package/dist/@openzeppelin/contracts/access/IAccessControl.d.ts +91 -91
  4. package/dist/@openzeppelin/contracts/access/IAccessControl.d.ts.map +1 -1
  5. package/dist/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.d.ts +228 -0
  6. package/dist/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.d.ts.map +1 -0
  7. package/dist/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.js +3 -0
  8. package/dist/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.js.map +1 -0
  9. package/dist/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.d.ts +53 -77
  10. package/dist/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.d.ts.map +1 -1
  11. package/dist/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/IERC20Permit.d.ts +112 -0
  12. package/dist/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/IERC20Permit.d.ts.map +1 -0
  13. package/dist/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/IERC20Permit.js +3 -0
  14. package/dist/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/IERC20Permit.js.map +1 -0
  15. package/dist/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/index.d.ts +2 -0
  16. package/dist/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/index.d.ts.map +1 -0
  17. package/dist/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/index.js +3 -0
  18. package/dist/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/index.js.map +1 -0
  19. package/dist/@openzeppelin/contracts/token/ERC20/extensions/index.d.ts +2 -0
  20. package/dist/@openzeppelin/contracts/token/ERC20/extensions/index.d.ts.map +1 -1
  21. package/dist/@openzeppelin/contracts/token/ERC721/IERC721Receiver.d.ts +21 -31
  22. package/dist/@openzeppelin/contracts/token/ERC721/IERC721Receiver.d.ts.map +1 -1
  23. package/dist/@openzeppelin/contracts/utils/introspection/ERC165.d.ts +13 -13
  24. package/dist/@openzeppelin/contracts/utils/introspection/ERC165.d.ts.map +1 -1
  25. package/dist/@openzeppelin/contracts/utils/introspection/IERC165.d.ts +13 -13
  26. package/dist/@openzeppelin/contracts/utils/introspection/IERC165.d.ts.map +1 -1
  27. package/dist/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721ReceiverUpgradeable.d.ts +21 -31
  28. package/dist/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721ReceiverUpgradeable.d.ts.map +1 -1
  29. package/dist/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.d.ts +13 -13
  30. package/dist/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.d.ts.map +1 -1
  31. package/dist/contracts/interfaces/ILiquidityLayerMessageRecipient.d.ts +21 -33
  32. package/dist/contracts/interfaces/ILiquidityLayerMessageRecipient.d.ts.map +1 -1
  33. package/dist/contracts/interfaces/ILiquidityLayerRouter.d.ts +21 -35
  34. package/dist/contracts/interfaces/ILiquidityLayerRouter.d.ts.map +1 -1
  35. package/dist/contracts/interfaces/IMessageRecipient.d.ts +21 -29
  36. package/dist/contracts/interfaces/IMessageRecipient.d.ts.map +1 -1
  37. package/dist/contracts/interfaces/IRouter.d.ts +53 -53
  38. package/dist/contracts/interfaces/IRouter.d.ts.map +1 -1
  39. package/dist/contracts/interfaces/hooks/IMessageDispatcher.d.ts +23 -31
  40. package/dist/contracts/interfaces/hooks/IMessageDispatcher.d.ts.map +1 -1
  41. package/dist/contracts/interfaces/optimism/ICrossDomainMessenger.sol/ICrossDomainMessenger.d.ts +51 -59
  42. package/dist/contracts/interfaces/optimism/ICrossDomainMessenger.sol/ICrossDomainMessenger.d.ts.map +1 -1
  43. package/dist/contracts/interfaces/optimism/ICrossDomainMessenger.sol/IL1CrossDomainMessenger.d.ts +51 -59
  44. package/dist/contracts/interfaces/optimism/ICrossDomainMessenger.sol/IL1CrossDomainMessenger.d.ts.map +1 -1
  45. package/dist/contracts/interfaces/optimism/ICrossDomainMessenger.sol/IL2CrossDomainMessenger.d.ts +51 -59
  46. package/dist/contracts/interfaces/optimism/ICrossDomainMessenger.sol/IL2CrossDomainMessenger.d.ts.map +1 -1
  47. package/dist/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerAdapter.d.ts +41 -61
  48. package/dist/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerAdapter.d.ts.map +1 -1
  49. package/dist/contracts/middleware/liquidity-layer/interfaces/circle/ITokenMessenger.d.ts +41 -63
  50. package/dist/contracts/middleware/liquidity-layer/interfaces/circle/ITokenMessenger.d.ts.map +1 -1
  51. package/dist/contracts/mock/MockERC5164.sol/MockMessageDispatcher.d.ts +23 -31
  52. package/dist/contracts/mock/MockERC5164.sol/MockMessageDispatcher.d.ts.map +1 -1
  53. package/dist/contracts/mock/MockERC5164.sol/MockMessageExecutor.d.ts +3 -3
  54. package/dist/contracts/mock/MockERC5164.sol/MockMessageExecutor.d.ts.map +1 -1
  55. package/dist/contracts/test/TestLiquidityLayerMessageRecipient.d.ts +21 -33
  56. package/dist/contracts/test/TestLiquidityLayerMessageRecipient.d.ts.map +1 -1
  57. package/dist/contracts/test/TestTokenRecipient.d.ts +45 -57
  58. package/dist/contracts/test/TestTokenRecipient.d.ts.map +1 -1
  59. package/dist/contracts/token/FastHypERC20.d.ts +1023 -0
  60. package/dist/contracts/token/FastHypERC20.d.ts.map +1 -0
  61. package/dist/contracts/token/FastHypERC20.js +3 -0
  62. package/dist/contracts/token/FastHypERC20.js.map +1 -0
  63. package/dist/contracts/token/FastHypERC20Collateral.d.ts +729 -0
  64. package/dist/contracts/token/FastHypERC20Collateral.d.ts.map +1 -0
  65. package/dist/contracts/token/FastHypERC20Collateral.js +3 -0
  66. package/dist/contracts/token/FastHypERC20Collateral.js.map +1 -0
  67. package/dist/contracts/token/index.d.ts +2 -0
  68. package/dist/contracts/token/index.d.ts.map +1 -1
  69. package/dist/factories/@openzeppelin/contracts/access/IAccessControl__factory.d.ts +28 -135
  70. package/dist/factories/@openzeppelin/contracts/access/IAccessControl__factory.d.ts.map +1 -1
  71. package/dist/factories/@openzeppelin/contracts/access/IAccessControl__factory.js.map +1 -1
  72. package/dist/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable__factory.d.ts +11 -11
  73. package/dist/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable__factory.d.ts.map +1 -1
  74. package/dist/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable__factory.js.map +1 -1
  75. package/dist/factories/@openzeppelin/contracts/proxy/Proxy__factory.d.ts +4 -7
  76. package/dist/factories/@openzeppelin/contracts/proxy/Proxy__factory.d.ts.map +1 -1
  77. package/dist/factories/@openzeppelin/contracts/proxy/Proxy__factory.js.map +1 -1
  78. package/dist/factories/@openzeppelin/contracts/proxy/beacon/IBeacon__factory.d.ts +11 -11
  79. package/dist/factories/@openzeppelin/contracts/proxy/beacon/IBeacon__factory.d.ts.map +1 -1
  80. package/dist/factories/@openzeppelin/contracts/proxy/beacon/IBeacon__factory.js.map +1 -1
  81. package/dist/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy__factory.d.ts +73 -0
  82. package/dist/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy__factory.d.ts.map +1 -0
  83. package/dist/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy__factory.js +187 -0
  84. package/dist/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy__factory.js.map +1 -0
  85. package/dist/factories/@openzeppelin/contracts/security/Pausable__factory.d.ts +24 -31
  86. package/dist/factories/@openzeppelin/contracts/security/Pausable__factory.d.ts.map +1 -1
  87. package/dist/factories/@openzeppelin/contracts/security/Pausable__factory.js.map +1 -1
  88. package/dist/factories/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver__factory.d.ts +15 -75
  89. package/dist/factories/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver__factory.d.ts.map +1 -1
  90. package/dist/factories/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver__factory.js.map +1 -1
  91. package/dist/factories/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/IERC20Permit__factory.d.ts +23 -0
  92. package/dist/factories/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/IERC20Permit__factory.d.ts.map +1 -0
  93. package/dist/factories/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/IERC20Permit__factory.js +95 -0
  94. package/dist/factories/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/IERC20Permit__factory.js.map +1 -0
  95. package/dist/factories/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/index.d.ts +2 -0
  96. package/dist/factories/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/index.d.ts.map +1 -0
  97. package/dist/factories/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/index.js +9 -0
  98. package/dist/factories/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/index.js.map +1 -0
  99. package/dist/factories/@openzeppelin/contracts/token/ERC20/extensions/index.d.ts +1 -0
  100. package/dist/factories/@openzeppelin/contracts/token/ERC20/extensions/index.d.ts.map +1 -1
  101. package/dist/factories/@openzeppelin/contracts/token/ERC20/extensions/index.js +25 -1
  102. package/dist/factories/@openzeppelin/contracts/token/ERC20/extensions/index.js.map +1 -1
  103. package/dist/factories/@openzeppelin/contracts/token/ERC721/IERC721Receiver__factory.d.ts +15 -27
  104. package/dist/factories/@openzeppelin/contracts/token/ERC721/IERC721Receiver__factory.d.ts.map +1 -1
  105. package/dist/factories/@openzeppelin/contracts/token/ERC721/IERC721Receiver__factory.js.map +1 -1
  106. package/dist/factories/@openzeppelin/contracts/utils/introspection/ERC165__factory.d.ts +15 -15
  107. package/dist/factories/@openzeppelin/contracts/utils/introspection/ERC165__factory.d.ts.map +1 -1
  108. package/dist/factories/@openzeppelin/contracts/utils/introspection/ERC165__factory.js.map +1 -1
  109. package/dist/factories/@openzeppelin/contracts/utils/introspection/IERC165__factory.d.ts +15 -15
  110. package/dist/factories/@openzeppelin/contracts/utils/introspection/IERC165__factory.d.ts.map +1 -1
  111. package/dist/factories/@openzeppelin/contracts/utils/introspection/IERC165__factory.js.map +1 -1
  112. package/dist/factories/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721ReceiverUpgradeable__factory.d.ts +15 -27
  113. package/dist/factories/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721ReceiverUpgradeable__factory.d.ts.map +1 -1
  114. package/dist/factories/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721ReceiverUpgradeable__factory.js.map +1 -1
  115. package/dist/factories/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable__factory.d.ts +15 -15
  116. package/dist/factories/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable__factory.d.ts.map +1 -1
  117. package/dist/factories/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable__factory.js.map +1 -1
  118. package/dist/factories/contracts/interfaces/ILiquidityLayerMessageRecipient__factory.d.ts +11 -27
  119. package/dist/factories/contracts/interfaces/ILiquidityLayerMessageRecipient__factory.d.ts.map +1 -1
  120. package/dist/factories/contracts/interfaces/ILiquidityLayerMessageRecipient__factory.js.map +1 -1
  121. package/dist/factories/contracts/interfaces/ILiquidityLayerRouter__factory.d.ts +15 -35
  122. package/dist/factories/contracts/interfaces/ILiquidityLayerRouter__factory.d.ts.map +1 -1
  123. package/dist/factories/contracts/interfaces/ILiquidityLayerRouter__factory.js.map +1 -1
  124. package/dist/factories/contracts/interfaces/IMessageRecipient__factory.d.ts +11 -19
  125. package/dist/factories/contracts/interfaces/IMessageRecipient__factory.d.ts.map +1 -1
  126. package/dist/factories/contracts/interfaces/IMessageRecipient__factory.js.map +1 -1
  127. package/dist/factories/contracts/interfaces/IRouter__factory.d.ts +15 -53
  128. package/dist/factories/contracts/interfaces/IRouter__factory.d.ts.map +1 -1
  129. package/dist/factories/contracts/interfaces/IRouter__factory.js.map +1 -1
  130. package/dist/factories/contracts/interfaces/hooks/IMessageDispatcher__factory.d.ts +28 -53
  131. package/dist/factories/contracts/interfaces/hooks/IMessageDispatcher__factory.d.ts.map +1 -1
  132. package/dist/factories/contracts/interfaces/hooks/IMessageDispatcher__factory.js.map +1 -1
  133. package/dist/factories/contracts/interfaces/optimism/ICrossDomainMessenger.sol/ICrossDomainMessenger__factory.d.ts +21 -69
  134. package/dist/factories/contracts/interfaces/optimism/ICrossDomainMessenger.sol/ICrossDomainMessenger__factory.d.ts.map +1 -1
  135. package/dist/factories/contracts/interfaces/optimism/ICrossDomainMessenger.sol/ICrossDomainMessenger__factory.js.map +1 -1
  136. package/dist/factories/contracts/interfaces/optimism/ICrossDomainMessenger.sol/IL1CrossDomainMessenger__factory.d.ts +21 -69
  137. package/dist/factories/contracts/interfaces/optimism/ICrossDomainMessenger.sol/IL1CrossDomainMessenger__factory.d.ts.map +1 -1
  138. package/dist/factories/contracts/interfaces/optimism/ICrossDomainMessenger.sol/IL1CrossDomainMessenger__factory.js.map +1 -1
  139. package/dist/factories/contracts/interfaces/optimism/ICrossDomainMessenger.sol/IL2CrossDomainMessenger__factory.d.ts +21 -79
  140. package/dist/factories/contracts/interfaces/optimism/ICrossDomainMessenger.sol/IL2CrossDomainMessenger__factory.d.ts.map +1 -1
  141. package/dist/factories/contracts/interfaces/optimism/ICrossDomainMessenger.sol/IL2CrossDomainMessenger__factory.js.map +1 -1
  142. package/dist/factories/contracts/libs/Indexed__factory.d.ts +19 -18
  143. package/dist/factories/contracts/libs/Indexed__factory.d.ts.map +1 -1
  144. package/dist/factories/contracts/libs/Indexed__factory.js.map +1 -1
  145. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerAdapter__factory.d.ts +15 -57
  146. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerAdapter__factory.d.ts.map +1 -1
  147. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerAdapter__factory.js.map +1 -1
  148. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/circle/ITokenMessenger__factory.d.ts +28 -67
  149. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/circle/ITokenMessenger__factory.d.ts.map +1 -1
  150. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/circle/ITokenMessenger__factory.js.map +1 -1
  151. package/dist/factories/contracts/mock/MockERC5164.sol/MockMessageDispatcher__factory.d.ts +30 -56
  152. package/dist/factories/contracts/mock/MockERC5164.sol/MockMessageDispatcher__factory.d.ts.map +1 -1
  153. package/dist/factories/contracts/mock/MockERC5164.sol/MockMessageDispatcher__factory.js.map +1 -1
  154. package/dist/factories/contracts/mock/MockERC5164.sol/MockMessageExecutor__factory.d.ts +13 -19
  155. package/dist/factories/contracts/mock/MockERC5164.sol/MockMessageExecutor__factory.d.ts.map +1 -1
  156. package/dist/factories/contracts/mock/MockERC5164.sol/MockMessageExecutor__factory.js.map +1 -1
  157. package/dist/factories/contracts/test/TestLiquidityLayerMessageRecipient__factory.d.ts +26 -60
  158. package/dist/factories/contracts/test/TestLiquidityLayerMessageRecipient__factory.d.ts.map +1 -1
  159. package/dist/factories/contracts/test/TestLiquidityLayerMessageRecipient__factory.js.map +1 -1
  160. package/dist/factories/contracts/test/TestTokenRecipient__factory.d.ts +37 -154
  161. package/dist/factories/contracts/test/TestTokenRecipient__factory.d.ts.map +1 -1
  162. package/dist/factories/contracts/test/TestTokenRecipient__factory.js.map +1 -1
  163. package/dist/factories/contracts/token/FastHypERC20Collateral__factory.d.ts +444 -0
  164. package/dist/factories/contracts/token/FastHypERC20Collateral__factory.d.ts.map +1 -0
  165. package/dist/factories/contracts/token/FastHypERC20Collateral__factory.js +591 -0
  166. package/dist/factories/contracts/token/FastHypERC20Collateral__factory.js.map +1 -0
  167. package/dist/factories/contracts/token/FastHypERC20__factory.d.ts +644 -0
  168. package/dist/factories/contracts/token/FastHypERC20__factory.d.ts.map +1 -0
  169. package/dist/factories/contracts/token/FastHypERC20__factory.js +852 -0
  170. package/dist/factories/contracts/token/FastHypERC20__factory.js.map +1 -0
  171. package/dist/factories/contracts/token/index.d.ts +2 -0
  172. package/dist/factories/contracts/token/index.d.ts.map +1 -1
  173. package/dist/factories/contracts/token/index.js +5 -1
  174. package/dist/factories/contracts/token/index.js.map +1 -1
  175. package/dist/factories/contracts/upgrade/Versioned__factory.d.ts +13 -14
  176. package/dist/factories/contracts/upgrade/Versioned__factory.d.ts.map +1 -1
  177. package/dist/factories/contracts/upgrade/Versioned__factory.js.map +1 -1
  178. package/dist/index.d.ts +2 -2
  179. package/dist/index.d.ts.map +1 -1
  180. package/dist/index.js +3 -3
  181. package/dist/index.js.map +1 -1
  182. package/package.json +3 -3
@@ -0,0 +1,62 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity >=0.8.0;
3
+
4
+ import {HypERC20} from "./HypERC20.sol";
5
+
6
+ import {TokenRouter} from "./libs/TokenRouter.sol";
7
+ import {FastTokenRouter} from "./libs/FastTokenRouter.sol";
8
+ import {TokenMessage} from "./libs/TokenMessage.sol";
9
+
10
+ import {ERC20Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol";
11
+
12
+ /**
13
+ * @title Hyperlane ERC20 Token Router that extends ERC20 with remote transfer functionality.
14
+ * @author Abacus Works
15
+ * @dev Supply on each chain is not constant but the aggregate supply across all chains is.
16
+ */
17
+ contract FastHypERC20 is FastTokenRouter, HypERC20 {
18
+ constructor(
19
+ uint8 __decimals,
20
+ address _mailbox
21
+ ) HypERC20(__decimals, _mailbox) {}
22
+
23
+ /**
24
+ * @dev delegates transfer logic to `_transferTo`.
25
+ * @inheritdoc TokenRouter
26
+ */
27
+ function _handle(
28
+ uint32 _origin,
29
+ bytes32 _sender,
30
+ bytes calldata _message
31
+ ) internal virtual override(FastTokenRouter, TokenRouter) {
32
+ FastTokenRouter._handle(_origin, _sender, _message);
33
+ }
34
+
35
+ /**
36
+ * @dev Mints `_amount` of tokens to `_recipient`.
37
+ * @inheritdoc FastTokenRouter
38
+ */
39
+ function _fastTransferTo(
40
+ address _recipient,
41
+ uint256 _amount
42
+ ) internal override {
43
+ _mint(_recipient, _amount);
44
+ }
45
+
46
+ /**
47
+ * @dev Burns `_amount` of tokens from `_recipient`.
48
+ * @inheritdoc FastTokenRouter
49
+ */
50
+ function _fastRecieveFrom(
51
+ address _sender,
52
+ uint256 _amount
53
+ ) internal override {
54
+ _burn(_sender, _amount);
55
+ }
56
+
57
+ function balanceOf(
58
+ address _account
59
+ ) public view virtual override(TokenRouter, HypERC20) returns (uint256) {
60
+ return HypERC20.balanceOf(_account);
61
+ }
62
+ }
@@ -0,0 +1,61 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity >=0.8.0;
3
+
4
+ import {HypERC20Collateral} from "./HypERC20Collateral.sol";
5
+ import {TokenRouter} from "./libs/TokenRouter.sol";
6
+ import {FastTokenRouter} from "./libs/FastTokenRouter.sol";
7
+
8
+ import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
9
+ import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
10
+
11
+ /**
12
+ * @title Hyperlane ERC20 Token Collateral that wraps an existing ERC20 with remote transfer functionality.
13
+ * @author Abacus Works
14
+ */
15
+ contract FastHypERC20Collateral is FastTokenRouter, HypERC20Collateral {
16
+ using SafeERC20 for IERC20;
17
+
18
+ /**
19
+ * @notice Constructor
20
+ * @param erc20 Address of the token to keep as collateral
21
+ * @param _mailbox Address of the mailbox address
22
+ */
23
+ constructor(
24
+ address erc20,
25
+ address _mailbox
26
+ ) HypERC20Collateral(erc20, _mailbox) {}
27
+
28
+ /**
29
+ * @dev delegates transfer logic to `_transferTo`.
30
+ * @inheritdoc FastTokenRouter
31
+ */
32
+ function _handle(
33
+ uint32 _origin,
34
+ bytes32 _sender,
35
+ bytes calldata _message
36
+ ) internal virtual override(FastTokenRouter, TokenRouter) {
37
+ FastTokenRouter._handle(_origin, _sender, _message);
38
+ }
39
+
40
+ /**
41
+ * @dev Transfers `_amount` of `wrappedToken` to `_recipient`.
42
+ * @inheritdoc FastTokenRouter
43
+ */
44
+ function _fastTransferTo(
45
+ address _recipient,
46
+ uint256 _amount
47
+ ) internal override {
48
+ wrappedToken.safeTransfer(_recipient, _amount);
49
+ }
50
+
51
+ /**
52
+ * @dev Transfers in `_amount` of `wrappedToken` from `_recipient`.
53
+ * @inheritdoc FastTokenRouter
54
+ */
55
+ function _fastRecieveFrom(
56
+ address _sender,
57
+ uint256 _amount
58
+ ) internal override {
59
+ wrappedToken.safeTransferFrom(_sender, address(this), _amount);
60
+ }
61
+ }
@@ -1,7 +1,7 @@
1
1
  import type { BaseContract, BigNumber, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers";
2
2
  import type { FunctionFragment, Result, EventFragment } from "@ethersproject/abi";
3
3
  import type { Listener, Provider } from "@ethersproject/providers";
4
- import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from "../../../common";
4
+ import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "../../../common";
5
5
  export interface IAccessControlInterface extends utils.Interface {
6
6
  functions: {
7
7
  "getRoleAdmin(bytes32)": FunctionFragment;
@@ -11,16 +11,16 @@ export interface IAccessControlInterface extends utils.Interface {
11
11
  "revokeRole(bytes32,address)": FunctionFragment;
12
12
  };
13
13
  getFunction(nameOrSignatureOrTopic: "getRoleAdmin" | "getRoleAdmin(bytes32)" | "grantRole" | "grantRole(bytes32,address)" | "hasRole" | "hasRole(bytes32,address)" | "renounceRole" | "renounceRole(bytes32,address)" | "revokeRole" | "revokeRole(bytes32,address)"): FunctionFragment;
14
- encodeFunctionData(functionFragment: "getRoleAdmin", values: [PromiseOrValue<BytesLike>]): string;
15
- encodeFunctionData(functionFragment: "getRoleAdmin(bytes32)", values: [PromiseOrValue<BytesLike>]): string;
16
- encodeFunctionData(functionFragment: "grantRole", values: [PromiseOrValue<BytesLike>, PromiseOrValue<string>]): string;
17
- encodeFunctionData(functionFragment: "grantRole(bytes32,address)", values: [PromiseOrValue<BytesLike>, PromiseOrValue<string>]): string;
18
- encodeFunctionData(functionFragment: "hasRole", values: [PromiseOrValue<BytesLike>, PromiseOrValue<string>]): string;
19
- encodeFunctionData(functionFragment: "hasRole(bytes32,address)", values: [PromiseOrValue<BytesLike>, PromiseOrValue<string>]): string;
20
- encodeFunctionData(functionFragment: "renounceRole", values: [PromiseOrValue<BytesLike>, PromiseOrValue<string>]): string;
21
- encodeFunctionData(functionFragment: "renounceRole(bytes32,address)", values: [PromiseOrValue<BytesLike>, PromiseOrValue<string>]): string;
22
- encodeFunctionData(functionFragment: "revokeRole", values: [PromiseOrValue<BytesLike>, PromiseOrValue<string>]): string;
23
- encodeFunctionData(functionFragment: "revokeRole(bytes32,address)", values: [PromiseOrValue<BytesLike>, PromiseOrValue<string>]): string;
14
+ encodeFunctionData(functionFragment: "getRoleAdmin", values: [BytesLike]): string;
15
+ encodeFunctionData(functionFragment: "getRoleAdmin(bytes32)", values: [BytesLike]): string;
16
+ encodeFunctionData(functionFragment: "grantRole", values: [BytesLike, string]): string;
17
+ encodeFunctionData(functionFragment: "grantRole(bytes32,address)", values: [BytesLike, string]): string;
18
+ encodeFunctionData(functionFragment: "hasRole", values: [BytesLike, string]): string;
19
+ encodeFunctionData(functionFragment: "hasRole(bytes32,address)", values: [BytesLike, string]): string;
20
+ encodeFunctionData(functionFragment: "renounceRole", values: [BytesLike, string]): string;
21
+ encodeFunctionData(functionFragment: "renounceRole(bytes32,address)", values: [BytesLike, string]): string;
22
+ encodeFunctionData(functionFragment: "revokeRole", values: [BytesLike, string]): string;
23
+ encodeFunctionData(functionFragment: "revokeRole(bytes32,address)", values: [BytesLike, string]): string;
24
24
  decodeFunctionResult(functionFragment: "getRoleAdmin", data: BytesLike): Result;
25
25
  decodeFunctionResult(functionFragment: "getRoleAdmin(bytes32)", data: BytesLike): Result;
26
26
  decodeFunctionResult(functionFragment: "grantRole", data: BytesLike): Result;
@@ -91,117 +91,117 @@ export interface IAccessControl extends BaseContract {
91
91
  once: OnEvent<this>;
92
92
  removeListener: OnEvent<this>;
93
93
  functions: {
94
- getRoleAdmin(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string]>;
95
- "getRoleAdmin(bytes32)"(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string]>;
96
- grantRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
97
- from?: PromiseOrValue<string>;
94
+ getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<[string]>;
95
+ "getRoleAdmin(bytes32)"(role: BytesLike, overrides?: CallOverrides): Promise<[string]>;
96
+ grantRole(role: BytesLike, account: string, overrides?: Overrides & {
97
+ from?: string | Promise<string>;
98
98
  }): Promise<ContractTransaction>;
99
- "grantRole(bytes32,address)"(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
100
- from?: PromiseOrValue<string>;
99
+ "grantRole(bytes32,address)"(role: BytesLike, account: string, overrides?: Overrides & {
100
+ from?: string | Promise<string>;
101
101
  }): Promise<ContractTransaction>;
102
- hasRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
103
- "hasRole(bytes32,address)"(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
104
- renounceRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
105
- from?: PromiseOrValue<string>;
102
+ hasRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise<[boolean]>;
103
+ "hasRole(bytes32,address)"(role: BytesLike, account: string, overrides?: CallOverrides): Promise<[boolean]>;
104
+ renounceRole(role: BytesLike, account: string, overrides?: Overrides & {
105
+ from?: string | Promise<string>;
106
106
  }): Promise<ContractTransaction>;
107
- "renounceRole(bytes32,address)"(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
108
- from?: PromiseOrValue<string>;
107
+ "renounceRole(bytes32,address)"(role: BytesLike, account: string, overrides?: Overrides & {
108
+ from?: string | Promise<string>;
109
109
  }): Promise<ContractTransaction>;
110
- revokeRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
111
- from?: PromiseOrValue<string>;
110
+ revokeRole(role: BytesLike, account: string, overrides?: Overrides & {
111
+ from?: string | Promise<string>;
112
112
  }): Promise<ContractTransaction>;
113
- "revokeRole(bytes32,address)"(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
114
- from?: PromiseOrValue<string>;
113
+ "revokeRole(bytes32,address)"(role: BytesLike, account: string, overrides?: Overrides & {
114
+ from?: string | Promise<string>;
115
115
  }): Promise<ContractTransaction>;
116
116
  };
117
- getRoleAdmin(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
118
- "getRoleAdmin(bytes32)"(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
119
- grantRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
120
- from?: PromiseOrValue<string>;
117
+ getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<string>;
118
+ "getRoleAdmin(bytes32)"(role: BytesLike, overrides?: CallOverrides): Promise<string>;
119
+ grantRole(role: BytesLike, account: string, overrides?: Overrides & {
120
+ from?: string | Promise<string>;
121
121
  }): Promise<ContractTransaction>;
122
- "grantRole(bytes32,address)"(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
123
- from?: PromiseOrValue<string>;
122
+ "grantRole(bytes32,address)"(role: BytesLike, account: string, overrides?: Overrides & {
123
+ from?: string | Promise<string>;
124
124
  }): Promise<ContractTransaction>;
125
- hasRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
126
- "hasRole(bytes32,address)"(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
127
- renounceRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
128
- from?: PromiseOrValue<string>;
125
+ hasRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise<boolean>;
126
+ "hasRole(bytes32,address)"(role: BytesLike, account: string, overrides?: CallOverrides): Promise<boolean>;
127
+ renounceRole(role: BytesLike, account: string, overrides?: Overrides & {
128
+ from?: string | Promise<string>;
129
129
  }): Promise<ContractTransaction>;
130
- "renounceRole(bytes32,address)"(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
131
- from?: PromiseOrValue<string>;
130
+ "renounceRole(bytes32,address)"(role: BytesLike, account: string, overrides?: Overrides & {
131
+ from?: string | Promise<string>;
132
132
  }): Promise<ContractTransaction>;
133
- revokeRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
134
- from?: PromiseOrValue<string>;
133
+ revokeRole(role: BytesLike, account: string, overrides?: Overrides & {
134
+ from?: string | Promise<string>;
135
135
  }): Promise<ContractTransaction>;
136
- "revokeRole(bytes32,address)"(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
137
- from?: PromiseOrValue<string>;
136
+ "revokeRole(bytes32,address)"(role: BytesLike, account: string, overrides?: Overrides & {
137
+ from?: string | Promise<string>;
138
138
  }): Promise<ContractTransaction>;
139
139
  callStatic: {
140
- getRoleAdmin(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
141
- "getRoleAdmin(bytes32)"(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
142
- grantRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
143
- "grantRole(bytes32,address)"(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
144
- hasRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
145
- "hasRole(bytes32,address)"(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
146
- renounceRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
147
- "renounceRole(bytes32,address)"(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
148
- revokeRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
149
- "revokeRole(bytes32,address)"(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
140
+ getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<string>;
141
+ "getRoleAdmin(bytes32)"(role: BytesLike, overrides?: CallOverrides): Promise<string>;
142
+ grantRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise<void>;
143
+ "grantRole(bytes32,address)"(role: BytesLike, account: string, overrides?: CallOverrides): Promise<void>;
144
+ hasRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise<boolean>;
145
+ "hasRole(bytes32,address)"(role: BytesLike, account: string, overrides?: CallOverrides): Promise<boolean>;
146
+ renounceRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise<void>;
147
+ "renounceRole(bytes32,address)"(role: BytesLike, account: string, overrides?: CallOverrides): Promise<void>;
148
+ revokeRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise<void>;
149
+ "revokeRole(bytes32,address)"(role: BytesLike, account: string, overrides?: CallOverrides): Promise<void>;
150
150
  };
151
151
  filters: {
152
- "RoleAdminChanged(bytes32,bytes32,bytes32)"(role?: PromiseOrValue<BytesLike> | null, previousAdminRole?: PromiseOrValue<BytesLike> | null, newAdminRole?: PromiseOrValue<BytesLike> | null): RoleAdminChangedEventFilter;
153
- RoleAdminChanged(role?: PromiseOrValue<BytesLike> | null, previousAdminRole?: PromiseOrValue<BytesLike> | null, newAdminRole?: PromiseOrValue<BytesLike> | null): RoleAdminChangedEventFilter;
154
- "RoleGranted(bytes32,address,address)"(role?: PromiseOrValue<BytesLike> | null, account?: PromiseOrValue<string> | null, sender?: PromiseOrValue<string> | null): RoleGrantedEventFilter;
155
- RoleGranted(role?: PromiseOrValue<BytesLike> | null, account?: PromiseOrValue<string> | null, sender?: PromiseOrValue<string> | null): RoleGrantedEventFilter;
156
- "RoleRevoked(bytes32,address,address)"(role?: PromiseOrValue<BytesLike> | null, account?: PromiseOrValue<string> | null, sender?: PromiseOrValue<string> | null): RoleRevokedEventFilter;
157
- RoleRevoked(role?: PromiseOrValue<BytesLike> | null, account?: PromiseOrValue<string> | null, sender?: PromiseOrValue<string> | null): RoleRevokedEventFilter;
152
+ "RoleAdminChanged(bytes32,bytes32,bytes32)"(role?: BytesLike | null, previousAdminRole?: BytesLike | null, newAdminRole?: BytesLike | null): RoleAdminChangedEventFilter;
153
+ RoleAdminChanged(role?: BytesLike | null, previousAdminRole?: BytesLike | null, newAdminRole?: BytesLike | null): RoleAdminChangedEventFilter;
154
+ "RoleGranted(bytes32,address,address)"(role?: BytesLike | null, account?: string | null, sender?: string | null): RoleGrantedEventFilter;
155
+ RoleGranted(role?: BytesLike | null, account?: string | null, sender?: string | null): RoleGrantedEventFilter;
156
+ "RoleRevoked(bytes32,address,address)"(role?: BytesLike | null, account?: string | null, sender?: string | null): RoleRevokedEventFilter;
157
+ RoleRevoked(role?: BytesLike | null, account?: string | null, sender?: string | null): RoleRevokedEventFilter;
158
158
  };
159
159
  estimateGas: {
160
- getRoleAdmin(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
161
- "getRoleAdmin(bytes32)"(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
162
- grantRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
163
- from?: PromiseOrValue<string>;
160
+ getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
161
+ "getRoleAdmin(bytes32)"(role: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
162
+ grantRole(role: BytesLike, account: string, overrides?: Overrides & {
163
+ from?: string | Promise<string>;
164
164
  }): Promise<BigNumber>;
165
- "grantRole(bytes32,address)"(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
166
- from?: PromiseOrValue<string>;
165
+ "grantRole(bytes32,address)"(role: BytesLike, account: string, overrides?: Overrides & {
166
+ from?: string | Promise<string>;
167
167
  }): Promise<BigNumber>;
168
- hasRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
169
- "hasRole(bytes32,address)"(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
170
- renounceRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
171
- from?: PromiseOrValue<string>;
168
+ hasRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise<BigNumber>;
169
+ "hasRole(bytes32,address)"(role: BytesLike, account: string, overrides?: CallOverrides): Promise<BigNumber>;
170
+ renounceRole(role: BytesLike, account: string, overrides?: Overrides & {
171
+ from?: string | Promise<string>;
172
172
  }): Promise<BigNumber>;
173
- "renounceRole(bytes32,address)"(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
174
- from?: PromiseOrValue<string>;
173
+ "renounceRole(bytes32,address)"(role: BytesLike, account: string, overrides?: Overrides & {
174
+ from?: string | Promise<string>;
175
175
  }): Promise<BigNumber>;
176
- revokeRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
177
- from?: PromiseOrValue<string>;
176
+ revokeRole(role: BytesLike, account: string, overrides?: Overrides & {
177
+ from?: string | Promise<string>;
178
178
  }): Promise<BigNumber>;
179
- "revokeRole(bytes32,address)"(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
180
- from?: PromiseOrValue<string>;
179
+ "revokeRole(bytes32,address)"(role: BytesLike, account: string, overrides?: Overrides & {
180
+ from?: string | Promise<string>;
181
181
  }): Promise<BigNumber>;
182
182
  };
183
183
  populateTransaction: {
184
- getRoleAdmin(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
185
- "getRoleAdmin(bytes32)"(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
186
- grantRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
187
- from?: PromiseOrValue<string>;
184
+ getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<PopulatedTransaction>;
185
+ "getRoleAdmin(bytes32)"(role: BytesLike, overrides?: CallOverrides): Promise<PopulatedTransaction>;
186
+ grantRole(role: BytesLike, account: string, overrides?: Overrides & {
187
+ from?: string | Promise<string>;
188
188
  }): Promise<PopulatedTransaction>;
189
- "grantRole(bytes32,address)"(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
190
- from?: PromiseOrValue<string>;
189
+ "grantRole(bytes32,address)"(role: BytesLike, account: string, overrides?: Overrides & {
190
+ from?: string | Promise<string>;
191
191
  }): Promise<PopulatedTransaction>;
192
- hasRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
193
- "hasRole(bytes32,address)"(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
194
- renounceRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
195
- from?: PromiseOrValue<string>;
192
+ hasRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
193
+ "hasRole(bytes32,address)"(role: BytesLike, account: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
194
+ renounceRole(role: BytesLike, account: string, overrides?: Overrides & {
195
+ from?: string | Promise<string>;
196
196
  }): Promise<PopulatedTransaction>;
197
- "renounceRole(bytes32,address)"(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
198
- from?: PromiseOrValue<string>;
197
+ "renounceRole(bytes32,address)"(role: BytesLike, account: string, overrides?: Overrides & {
198
+ from?: string | Promise<string>;
199
199
  }): Promise<PopulatedTransaction>;
200
- revokeRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
201
- from?: PromiseOrValue<string>;
200
+ revokeRole(role: BytesLike, account: string, overrides?: Overrides & {
201
+ from?: string | Promise<string>;
202
202
  }): Promise<PopulatedTransaction>;
203
- "revokeRole(bytes32,address)"(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
204
- from?: PromiseOrValue<string>;
203
+ "revokeRole(bytes32,address)"(role: BytesLike, account: string, overrides?: Overrides & {
204
+ from?: string | Promise<string>;
205
205
  }): Promise<PopulatedTransaction>;
206
206
  };
207
207
  }
@@ -1 +1 @@
1
- {"version":3,"file":"IAccessControl.d.ts","sourceRoot":"","sources":["../../../../types/@openzeppelin/contracts/access/IAccessControl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IAccessControl.d.ts","sourceRoot":"","sources":["../../../../types/@openzeppelin/contracts/access/IAccessControl.ts"],"names":[],"mappings":"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"}