@hyperlane-xyz/core 4.1.0 → 4.2.0-beta1

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 (34) hide show
  1. package/contracts/isms/hook/ArbL2ToL1Ism.sol +3 -5
  2. package/contracts/test/ERC20Test.sol +12 -0
  3. package/contracts/token/interfaces/IXERC20.sol +21 -0
  4. package/dist/buildArtifact.js +1 -1
  5. package/dist/buildArtifact.json +1 -1
  6. package/dist/contracts/test/ERC20Test.sol/XERC20Test.d.ts +31 -1
  7. package/dist/contracts/test/ERC20Test.sol/XERC20Test.d.ts.map +1 -1
  8. package/dist/contracts/token/interfaces/IXERC20.d.ts +39 -1
  9. package/dist/contracts/token/interfaces/IXERC20.d.ts.map +1 -1
  10. package/dist/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.d.ts +3 -7
  11. package/dist/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.d.ts.map +1 -1
  12. package/dist/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.js +5 -10
  13. package/dist/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.js.map +1 -1
  14. package/dist/factories/contracts/test/ERC20Test.sol/ERC20Test__factory.d.ts +1 -1
  15. package/dist/factories/contracts/test/ERC20Test.sol/ERC20Test__factory.js +1 -1
  16. package/dist/factories/contracts/test/ERC20Test.sol/FiatTokenTest__factory.d.ts +1 -1
  17. package/dist/factories/contracts/test/ERC20Test.sol/FiatTokenTest__factory.js +1 -1
  18. package/dist/factories/contracts/test/ERC20Test.sol/XERC20LockboxTest__factory.d.ts +1 -1
  19. package/dist/factories/contracts/test/ERC20Test.sol/XERC20LockboxTest__factory.d.ts.map +1 -1
  20. package/dist/factories/contracts/test/ERC20Test.sol/XERC20LockboxTest__factory.js +1 -1
  21. package/dist/factories/contracts/test/ERC20Test.sol/XERC20LockboxTest__factory.js.map +1 -1
  22. package/dist/factories/contracts/test/ERC20Test.sol/XERC20Test__factory.d.ts +29 -1
  23. package/dist/factories/contracts/test/ERC20Test.sol/XERC20Test__factory.d.ts.map +1 -1
  24. package/dist/factories/contracts/test/ERC20Test.sol/XERC20Test__factory.js +39 -1
  25. package/dist/factories/contracts/test/ERC20Test.sol/XERC20Test__factory.js.map +1 -1
  26. package/dist/factories/contracts/token/extensions/HypXERC20Lockbox__factory.d.ts +1 -1
  27. package/dist/factories/contracts/token/extensions/HypXERC20Lockbox__factory.js +1 -1
  28. package/dist/factories/contracts/token/extensions/HypXERC20__factory.d.ts +1 -1
  29. package/dist/factories/contracts/token/extensions/HypXERC20__factory.js +1 -1
  30. package/dist/factories/contracts/token/interfaces/IXERC20__factory.d.ts +28 -0
  31. package/dist/factories/contracts/token/interfaces/IXERC20__factory.d.ts.map +1 -1
  32. package/dist/factories/contracts/token/interfaces/IXERC20__factory.js +38 -0
  33. package/dist/factories/contracts/token/interfaces/IXERC20__factory.js.map +1 -1
  34. package/package.json +2 -2
@@ -22,6 +22,7 @@ import {AbstractMessageIdAuthorizedIsm} from "./AbstractMessageIdAuthorizedIsm.s
22
22
 
23
23
  // ============ External Imports ============
24
24
 
25
+ import {IBridge} from "@arbitrum/nitro-contracts/src/bridge/IBridge.sol";
25
26
  import {IOutbox} from "@arbitrum/nitro-contracts/src/bridge/IOutbox.sol";
26
27
  import {CrossChainEnabledArbitrumL1} from "@openzeppelin/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL1.sol";
27
28
  import {Address} from "@openzeppelin/contracts/utils/Address.sol";
@@ -45,15 +46,12 @@ contract ArbL2ToL1Ism is
45
46
 
46
47
  // ============ Constructor ============
47
48
 
48
- constructor(
49
- address _bridge,
50
- address _outbox
51
- ) CrossChainEnabledArbitrumL1(_bridge) {
49
+ constructor(address _bridge) CrossChainEnabledArbitrumL1(_bridge) {
52
50
  require(
53
51
  Address.isContract(_bridge),
54
52
  "ArbL2ToL1Ism: invalid Arbitrum Bridge"
55
53
  );
56
- arbOutbox = IOutbox(_outbox);
54
+ arbOutbox = IOutbox(IBridge(_bridge).activeOutbox());
57
55
  }
58
56
 
59
57
  // ============ External Functions ============
@@ -86,6 +86,18 @@ contract XERC20Test is ERC20Test, IXERC20 {
86
86
  ) external view returns (uint256) {
87
87
  return type(uint256).max;
88
88
  }
89
+
90
+ function mintingMaxLimitOf(
91
+ address _bridge
92
+ ) external view returns (uint256) {
93
+ return type(uint256).max;
94
+ }
95
+
96
+ function burningMaxLimitOf(
97
+ address _bridge
98
+ ) external view returns (uint256) {
99
+ return type(uint256).max;
100
+ }
89
101
  }
90
102
 
91
103
  contract XERC20LockboxTest is IXERC20Lockbox {
@@ -54,4 +54,25 @@ interface IXERC20 is IERC20 {
54
54
  function mintingCurrentLimitOf(
55
55
  address _bridge
56
56
  ) external view returns (uint256 _limit);
57
+
58
+ /**
59
+ * @notice Returns the max limit of a minter
60
+ *
61
+ * @param _minter The minter we are viewing the limits of
62
+ * @return _limit The limit the minter has
63
+ */
64
+ function mintingMaxLimitOf(
65
+ address _minter
66
+ ) external view returns (uint256 _limit);
67
+
68
+ /**
69
+ * @notice Returns the max limit of a bridge
70
+ *
71
+ * @param _bridge the bridge we are viewing the limits of
72
+ * @return _limit The limit the bridge has
73
+ */
74
+
75
+ function burningMaxLimitOf(
76
+ address _bridge
77
+ ) external view returns (uint256 _limit);
57
78
  }