@hyperlane-xyz/core 5.0.0 → 5.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 (600) hide show
  1. package/contracts/AttributeCheckpointFraud.sol +140 -0
  2. package/contracts/CheckpointFraudProofs.sol +143 -0
  3. package/contracts/client/Router.sol +4 -2
  4. package/contracts/hooks/OPL2ToL1Hook.sol +84 -0
  5. package/contracts/hooks/igp/InterchainGasPaymaster.sol +8 -8
  6. package/contracts/hooks/routing/DomainRoutingHook.sol +8 -7
  7. package/contracts/interfaces/IInterchainSecurityModule.sol +4 -1
  8. package/contracts/interfaces/hooks/IPostDispatchHook.sol +2 -1
  9. package/contracts/interfaces/isms/IWeightedMultisigIsm.sol +39 -0
  10. package/contracts/interfaces/optimism/ICrossDomainMessenger.sol +2 -0
  11. package/contracts/interfaces/optimism/IOptimismPortal.sol +28 -0
  12. package/contracts/isms/hook/OPL2ToL1Ism.sol +109 -0
  13. package/contracts/isms/libs/MerkleRootMultisigIsmMetadata.sol +16 -0
  14. package/contracts/isms/libs/MessageIdMultisigIsmMetadata.sol +16 -0
  15. package/contracts/isms/multisig/AbstractMerkleRootMultisigIsm.sol +14 -9
  16. package/contracts/isms/multisig/AbstractMessageIdMultisigIsm.sol +13 -8
  17. package/contracts/isms/multisig/AbstractMultisigIsm.sol +47 -20
  18. package/contracts/isms/multisig/AbstractWeightedMultisigIsm.sol +100 -0
  19. package/contracts/isms/multisig/StaticMultisigIsm.sol +10 -2
  20. package/contracts/isms/multisig/WeightedMultisigIsm.sol +67 -0
  21. package/contracts/isms/routing/DomainRoutingIsm.sol +4 -2
  22. package/contracts/libs/CheckpointLib.sol +41 -9
  23. package/contracts/libs/Merkle.sol +33 -3
  24. package/contracts/libs/OPL2ToL1Metadata.sol +62 -0
  25. package/contracts/libs/StaticWeightedValidatorSetFactory.sol +97 -0
  26. package/contracts/mock/MockArbBridge.sol +78 -0
  27. package/contracts/mock/MockERC4626YieldSharing.sol +80 -0
  28. package/contracts/mock/MockHyperlaneEnvironment.sol +2 -2
  29. package/contracts/mock/MockOptimism.sol +61 -0
  30. package/contracts/test/ERC20Test.sol +4 -0
  31. package/contracts/test/ERC4626/ERC4626Test.sol +1 -0
  32. package/contracts/token/extensions/HypERC4626.sol +102 -0
  33. package/contracts/token/extensions/HypERC4626Collateral.sol +111 -0
  34. package/contracts/token/extensions/{HypERC20CollateralVaultDeposit.sol → HypERC4626OwnerCollateral.sol} +3 -2
  35. package/dist/buildArtifact.js +1 -1
  36. package/dist/buildArtifact.json +1 -1
  37. package/dist/contracts/AttributeCheckpointFraud.d.ts +356 -0
  38. package/dist/contracts/AttributeCheckpointFraud.d.ts.map +1 -0
  39. package/dist/contracts/AttributeCheckpointFraud.js +2 -0
  40. package/dist/contracts/AttributeCheckpointFraud.js.map +1 -0
  41. package/dist/contracts/CheckpointFraudProofs.d.ts +200 -0
  42. package/dist/contracts/CheckpointFraudProofs.d.ts.map +1 -0
  43. package/dist/contracts/CheckpointFraudProofs.js +2 -0
  44. package/dist/contracts/CheckpointFraudProofs.js.map +1 -0
  45. package/dist/contracts/hooks/OPL2ToL1Hook.d.ts +396 -0
  46. package/dist/contracts/hooks/OPL2ToL1Hook.d.ts.map +1 -0
  47. package/dist/contracts/hooks/OPL2ToL1Hook.js +2 -0
  48. package/dist/contracts/hooks/OPL2ToL1Hook.js.map +1 -0
  49. package/dist/contracts/hooks/index.d.ts +1 -0
  50. package/dist/contracts/hooks/index.d.ts.map +1 -1
  51. package/dist/contracts/index.d.ts +2 -0
  52. package/dist/contracts/index.d.ts.map +1 -1
  53. package/dist/contracts/interfaces/isms/IWeightedMultisigIsm.sol/IStaticWeightedMultisigIsm.d.ts +142 -0
  54. package/dist/contracts/interfaces/isms/IWeightedMultisigIsm.sol/IStaticWeightedMultisigIsm.d.ts.map +1 -0
  55. package/dist/contracts/interfaces/isms/IWeightedMultisigIsm.sol/IStaticWeightedMultisigIsm.js +2 -0
  56. package/dist/contracts/interfaces/isms/IWeightedMultisigIsm.sol/IStaticWeightedMultisigIsm.js.map +1 -0
  57. package/dist/contracts/interfaces/isms/IWeightedMultisigIsm.sol/index.d.ts +2 -0
  58. package/dist/contracts/interfaces/isms/IWeightedMultisigIsm.sol/index.d.ts.map +1 -0
  59. package/dist/contracts/interfaces/isms/IWeightedMultisigIsm.sol/index.js +2 -0
  60. package/dist/contracts/interfaces/isms/IWeightedMultisigIsm.sol/index.js.map +1 -0
  61. package/dist/contracts/interfaces/isms/index.d.ts +2 -0
  62. package/dist/contracts/interfaces/isms/index.d.ts.map +1 -1
  63. package/dist/contracts/interfaces/optimism/ICrossDomainMessenger.sol/ICrossDomainMessenger.d.ts +16 -1
  64. package/dist/contracts/interfaces/optimism/ICrossDomainMessenger.sol/ICrossDomainMessenger.d.ts.map +1 -1
  65. package/dist/contracts/interfaces/optimism/ICrossDomainMessenger.sol/IL1CrossDomainMessenger.d.ts +16 -1
  66. package/dist/contracts/interfaces/optimism/ICrossDomainMessenger.sol/IL1CrossDomainMessenger.d.ts.map +1 -1
  67. package/dist/contracts/interfaces/optimism/ICrossDomainMessenger.sol/IL2CrossDomainMessenger.d.ts +16 -1
  68. package/dist/contracts/interfaces/optimism/ICrossDomainMessenger.sol/IL2CrossDomainMessenger.d.ts.map +1 -1
  69. package/dist/contracts/interfaces/optimism/IOptimismPortal.d.ts +91 -0
  70. package/dist/contracts/interfaces/optimism/IOptimismPortal.d.ts.map +1 -0
  71. package/dist/contracts/interfaces/optimism/IOptimismPortal.js +2 -0
  72. package/dist/contracts/interfaces/optimism/IOptimismPortal.js.map +1 -0
  73. package/dist/contracts/interfaces/optimism/index.d.ts +1 -0
  74. package/dist/contracts/interfaces/optimism/index.d.ts.map +1 -1
  75. package/dist/contracts/isms/hook/OPL2ToL1Ism.d.ts +273 -0
  76. package/dist/contracts/isms/hook/OPL2ToL1Ism.d.ts.map +1 -0
  77. package/dist/contracts/isms/hook/OPL2ToL1Ism.js +2 -0
  78. package/dist/contracts/isms/hook/OPL2ToL1Ism.js.map +1 -0
  79. package/dist/contracts/isms/hook/index.d.ts +1 -0
  80. package/dist/contracts/isms/hook/index.d.ts.map +1 -1
  81. package/dist/contracts/isms/multisig/AbstractMerkleRootMultisigIsm.d.ts +16 -46
  82. package/dist/contracts/isms/multisig/AbstractMerkleRootMultisigIsm.d.ts.map +1 -1
  83. package/dist/contracts/isms/multisig/AbstractMessageIdMultisigIsm.d.ts +16 -46
  84. package/dist/contracts/isms/multisig/AbstractMessageIdMultisigIsm.d.ts.map +1 -1
  85. package/dist/contracts/isms/multisig/AbstractMultisigIsm.sol/AbstractMultisig.d.ts +50 -0
  86. package/dist/contracts/isms/multisig/AbstractMultisigIsm.sol/AbstractMultisig.d.ts.map +1 -0
  87. package/dist/contracts/isms/multisig/AbstractMultisigIsm.sol/AbstractMultisig.js +2 -0
  88. package/dist/contracts/isms/multisig/AbstractMultisigIsm.sol/AbstractMultisig.js.map +1 -0
  89. package/dist/contracts/isms/multisig/{AbstractMultisigIsm.d.ts → AbstractMultisigIsm.sol/AbstractMultisigIsm.d.ts} +17 -17
  90. package/dist/contracts/isms/multisig/AbstractMultisigIsm.sol/AbstractMultisigIsm.d.ts.map +1 -0
  91. package/dist/contracts/isms/multisig/AbstractMultisigIsm.sol/AbstractMultisigIsm.js.map +1 -0
  92. package/dist/contracts/isms/multisig/AbstractMultisigIsm.sol/index.d.ts +3 -0
  93. package/dist/contracts/isms/multisig/AbstractMultisigIsm.sol/index.d.ts.map +1 -0
  94. package/dist/contracts/isms/multisig/AbstractMultisigIsm.sol/index.js +2 -0
  95. package/dist/contracts/isms/multisig/AbstractMultisigIsm.sol/index.js.map +1 -0
  96. package/dist/contracts/isms/multisig/AbstractWeightedMultisigIsm.sol/AbstractStaticWeightedMultisigIsm.d.ts +138 -0
  97. package/dist/contracts/isms/multisig/AbstractWeightedMultisigIsm.sol/AbstractStaticWeightedMultisigIsm.d.ts.map +1 -0
  98. package/dist/contracts/isms/multisig/AbstractWeightedMultisigIsm.sol/AbstractStaticWeightedMultisigIsm.js +2 -0
  99. package/dist/contracts/isms/multisig/AbstractWeightedMultisigIsm.sol/AbstractStaticWeightedMultisigIsm.js.map +1 -0
  100. package/dist/contracts/isms/multisig/AbstractWeightedMultisigIsm.sol/index.d.ts +2 -0
  101. package/dist/contracts/isms/multisig/AbstractWeightedMultisigIsm.sol/index.d.ts.map +1 -0
  102. package/dist/contracts/isms/multisig/AbstractWeightedMultisigIsm.sol/index.js +2 -0
  103. package/dist/contracts/isms/multisig/AbstractWeightedMultisigIsm.sol/index.js.map +1 -0
  104. package/dist/contracts/isms/multisig/StaticMultisigIsm.sol/AbstractMetaProxyMultisigIsm.d.ts +16 -16
  105. package/dist/contracts/isms/multisig/StaticMultisigIsm.sol/AbstractMetaProxyMultisigIsm.d.ts.map +1 -1
  106. package/dist/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm.d.ts +16 -1
  107. package/dist/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm.d.ts.map +1 -1
  108. package/dist/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm.d.ts +16 -1
  109. package/dist/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm.d.ts.map +1 -1
  110. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/AbstractMetaProxyWeightedMultisigIsm.d.ts +138 -0
  111. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/AbstractMetaProxyWeightedMultisigIsm.d.ts.map +1 -0
  112. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/AbstractMetaProxyWeightedMultisigIsm.js +2 -0
  113. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/AbstractMetaProxyWeightedMultisigIsm.js.map +1 -0
  114. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm.d.ts +138 -0
  115. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm.d.ts.map +1 -0
  116. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm.js +2 -0
  117. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm.js.map +1 -0
  118. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory.d.ts +106 -0
  119. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory.d.ts.map +1 -0
  120. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory.js +2 -0
  121. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory.js.map +1 -0
  122. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm.d.ts +138 -0
  123. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm.d.ts.map +1 -0
  124. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm.js +2 -0
  125. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm.js.map +1 -0
  126. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory.d.ts +106 -0
  127. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory.d.ts.map +1 -0
  128. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory.js +2 -0
  129. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory.js.map +1 -0
  130. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/index.d.ts +6 -0
  131. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/index.d.ts.map +1 -0
  132. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/index.js +2 -0
  133. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/index.js.map +1 -0
  134. package/dist/contracts/isms/multisig/index.d.ts +6 -1
  135. package/dist/contracts/isms/multisig/index.d.ts.map +1 -1
  136. package/dist/contracts/libs/StaticWeightedValidatorSetFactory.d.ts +106 -0
  137. package/dist/contracts/libs/StaticWeightedValidatorSetFactory.d.ts.map +1 -0
  138. package/dist/contracts/libs/StaticWeightedValidatorSetFactory.js +2 -0
  139. package/dist/contracts/libs/StaticWeightedValidatorSetFactory.js.map +1 -0
  140. package/dist/contracts/libs/index.d.ts +1 -0
  141. package/dist/contracts/libs/index.d.ts.map +1 -1
  142. package/dist/contracts/mock/MockArbBridge.sol/MockArbBridge.d.ts +162 -0
  143. package/dist/contracts/mock/MockArbBridge.sol/MockArbBridge.d.ts.map +1 -0
  144. package/dist/contracts/mock/MockArbBridge.sol/MockArbBridge.js +2 -0
  145. package/dist/contracts/mock/MockArbBridge.sol/MockArbBridge.js.map +1 -0
  146. package/dist/contracts/mock/MockArbBridge.sol/MockArbSys.d.ts +96 -0
  147. package/dist/contracts/mock/MockArbBridge.sol/MockArbSys.d.ts.map +1 -0
  148. package/dist/contracts/mock/MockArbBridge.sol/MockArbSys.js +2 -0
  149. package/dist/contracts/mock/MockArbBridge.sol/MockArbSys.js.map +1 -0
  150. package/dist/contracts/mock/MockArbBridge.sol/index.d.ts +3 -0
  151. package/dist/contracts/mock/MockArbBridge.sol/index.d.ts.map +1 -0
  152. package/dist/contracts/mock/MockArbBridge.sol/index.js +2 -0
  153. package/dist/contracts/mock/MockArbBridge.sol/index.js.map +1 -0
  154. package/dist/contracts/mock/MockERC4626YieldSharing.d.ts +853 -0
  155. package/dist/contracts/mock/MockERC4626YieldSharing.d.ts.map +1 -0
  156. package/dist/contracts/mock/MockERC4626YieldSharing.js +2 -0
  157. package/dist/contracts/mock/MockERC4626YieldSharing.js.map +1 -0
  158. package/dist/contracts/mock/MockHyperlaneEnvironment.d.ts +31 -1
  159. package/dist/contracts/mock/MockHyperlaneEnvironment.d.ts.map +1 -1
  160. package/dist/contracts/mock/MockOptimism.sol/MockOptimismMessenger.d.ts +218 -0
  161. package/dist/contracts/mock/MockOptimism.sol/MockOptimismMessenger.d.ts.map +1 -0
  162. package/dist/contracts/mock/MockOptimism.sol/MockOptimismMessenger.js +2 -0
  163. package/dist/contracts/mock/MockOptimism.sol/MockOptimismMessenger.js.map +1 -0
  164. package/dist/contracts/mock/MockOptimism.sol/MockOptimismPortal.d.ts +91 -0
  165. package/dist/contracts/mock/MockOptimism.sol/MockOptimismPortal.d.ts.map +1 -0
  166. package/dist/contracts/mock/MockOptimism.sol/MockOptimismPortal.js +2 -0
  167. package/dist/contracts/mock/MockOptimism.sol/MockOptimismPortal.js.map +1 -0
  168. package/dist/contracts/mock/MockOptimism.sol/index.d.ts +3 -0
  169. package/dist/contracts/mock/MockOptimism.sol/index.d.ts.map +1 -0
  170. package/dist/contracts/mock/MockOptimism.sol/index.js +2 -0
  171. package/dist/contracts/mock/MockOptimism.sol/index.js.map +1 -0
  172. package/dist/contracts/mock/index.d.ts +5 -0
  173. package/dist/contracts/mock/index.d.ts.map +1 -1
  174. package/dist/contracts/test/ERC20Test.sol/ERC20Test.d.ts +32 -1
  175. package/dist/contracts/test/ERC20Test.sol/ERC20Test.d.ts.map +1 -1
  176. package/dist/contracts/test/ERC20Test.sol/FiatTokenTest.d.ts +32 -1
  177. package/dist/contracts/test/ERC20Test.sol/FiatTokenTest.d.ts.map +1 -1
  178. package/dist/contracts/test/ERC20Test.sol/XERC20Test.d.ts +32 -1
  179. package/dist/contracts/test/ERC20Test.sol/XERC20Test.d.ts.map +1 -1
  180. package/dist/contracts/token/extensions/HypERC4626.d.ts +979 -0
  181. package/dist/contracts/token/extensions/HypERC4626.d.ts.map +1 -0
  182. package/dist/contracts/token/extensions/HypERC4626.js +2 -0
  183. package/dist/contracts/token/extensions/HypERC4626.js.map +1 -0
  184. package/dist/contracts/token/extensions/HypERC4626Collateral.d.ts +718 -0
  185. package/dist/contracts/token/extensions/HypERC4626Collateral.d.ts.map +1 -0
  186. package/dist/contracts/token/extensions/HypERC4626Collateral.js +2 -0
  187. package/dist/contracts/token/extensions/HypERC4626Collateral.js.map +1 -0
  188. package/dist/contracts/token/extensions/{HypERC20CollateralVaultDeposit.d.ts → HypERC4626OwnerCollateral.d.ts} +4 -4
  189. package/dist/contracts/token/extensions/HypERC4626OwnerCollateral.d.ts.map +1 -0
  190. package/dist/contracts/token/extensions/HypERC4626OwnerCollateral.js +2 -0
  191. package/dist/contracts/token/extensions/HypERC4626OwnerCollateral.js.map +1 -0
  192. package/dist/contracts/token/extensions/index.d.ts +3 -1
  193. package/dist/contracts/token/extensions/index.d.ts.map +1 -1
  194. package/dist/factories/contracts/AttributeCheckpointFraud__factory.d.ts +296 -0
  195. package/dist/factories/contracts/AttributeCheckpointFraud__factory.d.ts.map +1 -0
  196. package/dist/factories/contracts/AttributeCheckpointFraud__factory.js +394 -0
  197. package/dist/factories/contracts/AttributeCheckpointFraud__factory.js.map +1 -0
  198. package/dist/factories/contracts/CheckpointFraudProofs__factory.d.ts +239 -0
  199. package/dist/factories/contracts/CheckpointFraudProofs__factory.d.ts.map +1 -0
  200. package/dist/factories/contracts/CheckpointFraudProofs__factory.js +325 -0
  201. package/dist/factories/contracts/CheckpointFraudProofs__factory.js.map +1 -0
  202. package/dist/factories/contracts/Mailbox__factory.d.ts +1 -1
  203. package/dist/factories/contracts/Mailbox__factory.js +1 -1
  204. package/dist/factories/contracts/hooks/ArbL2ToL1Hook__factory.d.ts +1 -1
  205. package/dist/factories/contracts/hooks/ArbL2ToL1Hook__factory.js +1 -1
  206. package/dist/factories/contracts/hooks/MerkleTreeHook__factory.d.ts +1 -1
  207. package/dist/factories/contracts/hooks/MerkleTreeHook__factory.js +1 -1
  208. package/dist/factories/contracts/hooks/OPL2ToL1Hook__factory.d.ts +252 -0
  209. package/dist/factories/contracts/hooks/OPL2ToL1Hook__factory.d.ts.map +1 -0
  210. package/dist/factories/contracts/hooks/OPL2ToL1Hook__factory.js +339 -0
  211. package/dist/factories/contracts/hooks/OPL2ToL1Hook__factory.js.map +1 -0
  212. package/dist/factories/contracts/hooks/OPStackHook__factory.d.ts +1 -1
  213. package/dist/factories/contracts/hooks/OPStackHook__factory.js +1 -1
  214. package/dist/factories/contracts/hooks/PausableHook__factory.d.ts +1 -1
  215. package/dist/factories/contracts/hooks/PausableHook__factory.js +1 -1
  216. package/dist/factories/contracts/hooks/PolygonPosHook__factory.d.ts +1 -1
  217. package/dist/factories/contracts/hooks/PolygonPosHook__factory.js +1 -1
  218. package/dist/factories/contracts/hooks/ProtocolFee__factory.d.ts +1 -1
  219. package/dist/factories/contracts/hooks/ProtocolFee__factory.js +1 -1
  220. package/dist/factories/contracts/hooks/aggregation/ERC5164Hook__factory.d.ts +1 -1
  221. package/dist/factories/contracts/hooks/aggregation/ERC5164Hook__factory.js +1 -1
  222. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHookFactory__factory.d.ts +1 -1
  223. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHookFactory__factory.js +1 -1
  224. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHook__factory.d.ts +1 -1
  225. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHook__factory.js +1 -1
  226. package/dist/factories/contracts/hooks/igp/InterchainGasPaymaster__factory.d.ts +1 -1
  227. package/dist/factories/contracts/hooks/igp/InterchainGasPaymaster__factory.d.ts.map +1 -1
  228. package/dist/factories/contracts/hooks/igp/InterchainGasPaymaster__factory.js +1 -1
  229. package/dist/factories/contracts/hooks/igp/InterchainGasPaymaster__factory.js.map +1 -1
  230. package/dist/factories/contracts/hooks/index.d.ts +1 -0
  231. package/dist/factories/contracts/hooks/index.d.ts.map +1 -1
  232. package/dist/factories/contracts/hooks/index.js +1 -0
  233. package/dist/factories/contracts/hooks/index.js.map +1 -1
  234. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV1Hook__factory.d.ts +1 -1
  235. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV1Hook__factory.js +1 -1
  236. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV2Hook__factory.d.ts +1 -1
  237. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV2Hook__factory.js +1 -1
  238. package/dist/factories/contracts/hooks/routing/DestinationRecipientRoutingHook__factory.d.ts +1 -1
  239. package/dist/factories/contracts/hooks/routing/DestinationRecipientRoutingHook__factory.d.ts.map +1 -1
  240. package/dist/factories/contracts/hooks/routing/DestinationRecipientRoutingHook__factory.js +1 -1
  241. package/dist/factories/contracts/hooks/routing/DestinationRecipientRoutingHook__factory.js.map +1 -1
  242. package/dist/factories/contracts/hooks/routing/DomainRoutingHook__factory.d.ts +1 -1
  243. package/dist/factories/contracts/hooks/routing/DomainRoutingHook__factory.d.ts.map +1 -1
  244. package/dist/factories/contracts/hooks/routing/DomainRoutingHook__factory.js +1 -1
  245. package/dist/factories/contracts/hooks/routing/DomainRoutingHook__factory.js.map +1 -1
  246. package/dist/factories/contracts/hooks/routing/FallbackDomainRoutingHook__factory.d.ts +1 -1
  247. package/dist/factories/contracts/hooks/routing/FallbackDomainRoutingHook__factory.js +1 -1
  248. package/dist/factories/contracts/hooks/warp-route/RateLimitedHook__factory.d.ts +1 -1
  249. package/dist/factories/contracts/hooks/warp-route/RateLimitedHook__factory.js +1 -1
  250. package/dist/factories/contracts/index.d.ts +2 -0
  251. package/dist/factories/contracts/index.d.ts.map +1 -1
  252. package/dist/factories/contracts/index.js +2 -0
  253. package/dist/factories/contracts/index.js.map +1 -1
  254. package/dist/factories/contracts/interfaces/isms/IWeightedMultisigIsm.sol/IStaticWeightedMultisigIsm__factory.d.ts +64 -0
  255. package/dist/factories/contracts/interfaces/isms/IWeightedMultisigIsm.sol/IStaticWeightedMultisigIsm__factory.d.ts.map +1 -0
  256. package/dist/factories/contracts/interfaces/isms/IWeightedMultisigIsm.sol/IStaticWeightedMultisigIsm__factory.js +89 -0
  257. package/dist/factories/contracts/interfaces/isms/IWeightedMultisigIsm.sol/IStaticWeightedMultisigIsm__factory.js.map +1 -0
  258. package/dist/factories/contracts/interfaces/isms/IWeightedMultisigIsm.sol/index.d.ts +2 -0
  259. package/dist/factories/contracts/interfaces/isms/IWeightedMultisigIsm.sol/index.d.ts.map +1 -0
  260. package/dist/factories/contracts/interfaces/isms/IWeightedMultisigIsm.sol/index.js +5 -0
  261. package/dist/factories/contracts/interfaces/isms/IWeightedMultisigIsm.sol/index.js.map +1 -0
  262. package/dist/factories/contracts/interfaces/isms/index.d.ts +1 -0
  263. package/dist/factories/contracts/interfaces/isms/index.d.ts.map +1 -1
  264. package/dist/factories/contracts/interfaces/isms/index.js +1 -0
  265. package/dist/factories/contracts/interfaces/isms/index.js.map +1 -1
  266. package/dist/factories/contracts/interfaces/optimism/ICrossDomainMessenger.sol/ICrossDomainMessenger__factory.d.ts +10 -0
  267. package/dist/factories/contracts/interfaces/optimism/ICrossDomainMessenger.sol/ICrossDomainMessenger__factory.d.ts.map +1 -1
  268. package/dist/factories/contracts/interfaces/optimism/ICrossDomainMessenger.sol/ICrossDomainMessenger__factory.js +13 -0
  269. package/dist/factories/contracts/interfaces/optimism/ICrossDomainMessenger.sol/ICrossDomainMessenger__factory.js.map +1 -1
  270. package/dist/factories/contracts/interfaces/optimism/ICrossDomainMessenger.sol/IL1CrossDomainMessenger__factory.d.ts +10 -0
  271. package/dist/factories/contracts/interfaces/optimism/ICrossDomainMessenger.sol/IL1CrossDomainMessenger__factory.d.ts.map +1 -1
  272. package/dist/factories/contracts/interfaces/optimism/ICrossDomainMessenger.sol/IL1CrossDomainMessenger__factory.js +13 -0
  273. package/dist/factories/contracts/interfaces/optimism/ICrossDomainMessenger.sol/IL1CrossDomainMessenger__factory.js.map +1 -1
  274. package/dist/factories/contracts/interfaces/optimism/ICrossDomainMessenger.sol/IL2CrossDomainMessenger__factory.d.ts +10 -0
  275. package/dist/factories/contracts/interfaces/optimism/ICrossDomainMessenger.sol/IL2CrossDomainMessenger__factory.d.ts.map +1 -1
  276. package/dist/factories/contracts/interfaces/optimism/ICrossDomainMessenger.sol/IL2CrossDomainMessenger__factory.js +13 -0
  277. package/dist/factories/contracts/interfaces/optimism/ICrossDomainMessenger.sol/IL2CrossDomainMessenger__factory.js.map +1 -1
  278. package/dist/factories/contracts/interfaces/optimism/IOptimismPortal__factory.d.ts +44 -0
  279. package/dist/factories/contracts/interfaces/optimism/IOptimismPortal__factory.d.ts.map +1 -0
  280. package/dist/factories/contracts/interfaces/optimism/IOptimismPortal__factory.js +61 -0
  281. package/dist/factories/contracts/interfaces/optimism/IOptimismPortal__factory.js.map +1 -0
  282. package/dist/factories/contracts/interfaces/optimism/index.d.ts +1 -0
  283. package/dist/factories/contracts/interfaces/optimism/index.d.ts.map +1 -1
  284. package/dist/factories/contracts/interfaces/optimism/index.js +1 -0
  285. package/dist/factories/contracts/interfaces/optimism/index.js.map +1 -1
  286. package/dist/factories/contracts/isms/NoopIsm__factory.d.ts +1 -1
  287. package/dist/factories/contracts/isms/NoopIsm__factory.js +1 -1
  288. package/dist/factories/contracts/isms/PausableIsm__factory.d.ts +1 -1
  289. package/dist/factories/contracts/isms/PausableIsm__factory.js +1 -1
  290. package/dist/factories/contracts/isms/TrustedRelayerIsm__factory.d.ts +1 -1
  291. package/dist/factories/contracts/isms/TrustedRelayerIsm__factory.js +1 -1
  292. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.d.ts +1 -1
  293. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.js +1 -1
  294. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.d.ts +1 -1
  295. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.js +1 -1
  296. package/dist/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.d.ts +1 -1
  297. package/dist/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.js +1 -1
  298. package/dist/factories/contracts/isms/hook/ERC5164Ism__factory.d.ts +1 -1
  299. package/dist/factories/contracts/isms/hook/ERC5164Ism__factory.js +1 -1
  300. package/dist/factories/contracts/isms/hook/OPL2ToL1Ism__factory.d.ts +169 -0
  301. package/dist/factories/contracts/isms/hook/OPL2ToL1Ism__factory.d.ts.map +1 -0
  302. package/dist/factories/contracts/isms/hook/OPL2ToL1Ism__factory.js +234 -0
  303. package/dist/factories/contracts/isms/hook/OPL2ToL1Ism__factory.js.map +1 -0
  304. package/dist/factories/contracts/isms/hook/OPStackIsm__factory.d.ts +1 -1
  305. package/dist/factories/contracts/isms/hook/OPStackIsm__factory.js +1 -1
  306. package/dist/factories/contracts/isms/hook/PolygonPosIsm__factory.d.ts +1 -1
  307. package/dist/factories/contracts/isms/hook/PolygonPosIsm__factory.js +1 -1
  308. package/dist/factories/contracts/isms/hook/index.d.ts +1 -0
  309. package/dist/factories/contracts/isms/hook/index.d.ts.map +1 -1
  310. package/dist/factories/contracts/isms/hook/index.js +1 -0
  311. package/dist/factories/contracts/isms/hook/index.js.map +1 -1
  312. package/dist/factories/contracts/isms/hook/layer-zero/LayerZeroV2Ism__factory.d.ts +1 -1
  313. package/dist/factories/contracts/isms/hook/layer-zero/LayerZeroV2Ism__factory.js +1 -1
  314. package/dist/factories/contracts/isms/multisig/AbstractMerkleRootMultisigIsm__factory.d.ts +4 -36
  315. package/dist/factories/contracts/isms/multisig/AbstractMerkleRootMultisigIsm__factory.d.ts.map +1 -1
  316. package/dist/factories/contracts/isms/multisig/AbstractMerkleRootMultisigIsm__factory.js +4 -46
  317. package/dist/factories/contracts/isms/multisig/AbstractMerkleRootMultisigIsm__factory.js.map +1 -1
  318. package/dist/factories/contracts/isms/multisig/AbstractMessageIdMultisigIsm__factory.d.ts +4 -36
  319. package/dist/factories/contracts/isms/multisig/AbstractMessageIdMultisigIsm__factory.d.ts.map +1 -1
  320. package/dist/factories/contracts/isms/multisig/AbstractMessageIdMultisigIsm__factory.js +4 -46
  321. package/dist/factories/contracts/isms/multisig/AbstractMessageIdMultisigIsm__factory.js.map +1 -1
  322. package/dist/factories/contracts/isms/multisig/{AbstractMultisigIsm__factory.d.ts → AbstractMultisigIsm.sol/AbstractMultisigIsm__factory.d.ts} +10 -6
  323. package/dist/factories/contracts/isms/multisig/AbstractMultisigIsm.sol/AbstractMultisigIsm__factory.d.ts.map +1 -0
  324. package/dist/factories/contracts/isms/multisig/{AbstractMultisigIsm__factory.js → AbstractMultisigIsm.sol/AbstractMultisigIsm__factory.js} +11 -5
  325. package/dist/factories/contracts/isms/multisig/AbstractMultisigIsm.sol/AbstractMultisigIsm__factory.js.map +1 -0
  326. package/dist/factories/contracts/isms/multisig/AbstractMultisigIsm.sol/AbstractMultisig__factory.d.ts +23 -0
  327. package/dist/factories/contracts/isms/multisig/AbstractMultisigIsm.sol/AbstractMultisig__factory.d.ts.map +1 -0
  328. package/dist/factories/contracts/isms/multisig/AbstractMultisigIsm.sol/AbstractMultisig__factory.js +35 -0
  329. package/dist/factories/contracts/isms/multisig/AbstractMultisigIsm.sol/AbstractMultisig__factory.js.map +1 -0
  330. package/dist/factories/contracts/isms/multisig/AbstractMultisigIsm.sol/index.d.ts +3 -0
  331. package/dist/factories/contracts/isms/multisig/AbstractMultisigIsm.sol/index.d.ts.map +1 -0
  332. package/dist/factories/contracts/isms/multisig/AbstractMultisigIsm.sol/index.js +6 -0
  333. package/dist/factories/contracts/isms/multisig/AbstractMultisigIsm.sol/index.js.map +1 -0
  334. package/dist/factories/contracts/isms/multisig/AbstractWeightedMultisigIsm.sol/AbstractStaticWeightedMultisigIsm__factory.d.ts +88 -0
  335. package/dist/factories/contracts/isms/multisig/AbstractWeightedMultisigIsm.sol/AbstractStaticWeightedMultisigIsm__factory.d.ts.map +1 -0
  336. package/dist/factories/contracts/isms/multisig/AbstractWeightedMultisigIsm.sol/AbstractStaticWeightedMultisigIsm__factory.js +121 -0
  337. package/dist/factories/contracts/isms/multisig/AbstractWeightedMultisigIsm.sol/AbstractStaticWeightedMultisigIsm__factory.js.map +1 -0
  338. package/dist/factories/contracts/isms/multisig/AbstractWeightedMultisigIsm.sol/index.d.ts +2 -0
  339. package/dist/factories/contracts/isms/multisig/AbstractWeightedMultisigIsm.sol/index.d.ts.map +1 -0
  340. package/dist/factories/contracts/isms/multisig/AbstractWeightedMultisigIsm.sol/index.js +5 -0
  341. package/dist/factories/contracts/isms/multisig/AbstractWeightedMultisigIsm.sol/index.js.map +1 -0
  342. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/AbstractMetaProxyMultisigIsm__factory.d.ts +9 -5
  343. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/AbstractMetaProxyMultisigIsm__factory.d.ts.map +1 -1
  344. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/AbstractMetaProxyMultisigIsm__factory.js +11 -5
  345. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/AbstractMetaProxyMultisigIsm__factory.js.map +1 -1
  346. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.d.ts +1 -1
  347. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.d.ts.map +1 -1
  348. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.js +1 -1
  349. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.js.map +1 -1
  350. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.d.ts +15 -1
  351. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.d.ts.map +1 -1
  352. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.js +20 -1
  353. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.js.map +1 -1
  354. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.d.ts +1 -1
  355. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.d.ts.map +1 -1
  356. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.js +1 -1
  357. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.js.map +1 -1
  358. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.d.ts +15 -1
  359. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.d.ts.map +1 -1
  360. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.js +20 -1
  361. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.js.map +1 -1
  362. package/dist/factories/contracts/isms/multisig/ValidatorAnnounce__factory.d.ts +1 -1
  363. package/dist/factories/contracts/isms/multisig/ValidatorAnnounce__factory.js +1 -1
  364. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/AbstractMetaProxyWeightedMultisigIsm__factory.d.ts +88 -0
  365. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/AbstractMetaProxyWeightedMultisigIsm__factory.d.ts.map +1 -0
  366. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/AbstractMetaProxyWeightedMultisigIsm__factory.js +121 -0
  367. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/AbstractMetaProxyWeightedMultisigIsm__factory.js.map +1 -0
  368. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory__factory.d.ts +85 -0
  369. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory__factory.d.ts.map +1 -0
  370. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory__factory.js +124 -0
  371. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory__factory.js.map +1 -0
  372. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm__factory.d.ts +100 -0
  373. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm__factory.d.ts.map +1 -0
  374. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm__factory.js +144 -0
  375. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm__factory.js.map +1 -0
  376. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory__factory.d.ts +85 -0
  377. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory__factory.d.ts.map +1 -0
  378. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory__factory.js +124 -0
  379. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory__factory.js.map +1 -0
  380. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm__factory.d.ts +100 -0
  381. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm__factory.d.ts.map +1 -0
  382. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm__factory.js +144 -0
  383. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm__factory.js.map +1 -0
  384. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/index.d.ts +6 -0
  385. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/index.d.ts.map +1 -0
  386. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/index.js +9 -0
  387. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/index.js.map +1 -0
  388. package/dist/factories/contracts/isms/multisig/index.d.ts +3 -1
  389. package/dist/factories/contracts/isms/multisig/index.d.ts.map +1 -1
  390. package/dist/factories/contracts/isms/multisig/index.js +3 -1
  391. package/dist/factories/contracts/isms/multisig/index.js.map +1 -1
  392. package/dist/factories/contracts/isms/routing/DefaultFallbackRoutingIsm__factory.d.ts +1 -1
  393. package/dist/factories/contracts/isms/routing/DefaultFallbackRoutingIsm__factory.js +1 -1
  394. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.d.ts +1 -1
  395. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.d.ts.map +1 -1
  396. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.js +1 -1
  397. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.js.map +1 -1
  398. package/dist/factories/contracts/isms/routing/DomainRoutingIsm__factory.d.ts +1 -1
  399. package/dist/factories/contracts/isms/routing/DomainRoutingIsm__factory.d.ts.map +1 -1
  400. package/dist/factories/contracts/isms/routing/DomainRoutingIsm__factory.js +1 -1
  401. package/dist/factories/contracts/isms/routing/DomainRoutingIsm__factory.js.map +1 -1
  402. package/dist/factories/contracts/isms/routing/InterchainAccountIsm__factory.d.ts +1 -1
  403. package/dist/factories/contracts/isms/routing/InterchainAccountIsm__factory.js +1 -1
  404. package/dist/factories/contracts/isms/warp-route/RateLimitedIsm__factory.d.ts +1 -1
  405. package/dist/factories/contracts/isms/warp-route/RateLimitedIsm__factory.js +1 -1
  406. package/dist/factories/contracts/libs/StaticWeightedValidatorSetFactory__factory.d.ts +73 -0
  407. package/dist/factories/contracts/libs/StaticWeightedValidatorSetFactory__factory.d.ts.map +1 -0
  408. package/dist/factories/contracts/libs/StaticWeightedValidatorSetFactory__factory.js +101 -0
  409. package/dist/factories/contracts/libs/StaticWeightedValidatorSetFactory__factory.js.map +1 -0
  410. package/dist/factories/contracts/libs/index.d.ts +1 -0
  411. package/dist/factories/contracts/libs/index.d.ts.map +1 -1
  412. package/dist/factories/contracts/libs/index.js +1 -0
  413. package/dist/factories/contracts/libs/index.js.map +1 -1
  414. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts +1 -1
  415. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts.map +1 -1
  416. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js +1 -1
  417. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js.map +1 -1
  418. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.d.ts +1 -1
  419. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.d.ts.map +1 -1
  420. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.js +1 -1
  421. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.js.map +1 -1
  422. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.d.ts +1 -1
  423. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.d.ts.map +1 -1
  424. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.js +1 -1
  425. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.js.map +1 -1
  426. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.d.ts +1 -1
  427. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.d.ts.map +1 -1
  428. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.js +1 -1
  429. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.js.map +1 -1
  430. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.d.ts +1 -1
  431. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.d.ts.map +1 -1
  432. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.js +1 -1
  433. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.js.map +1 -1
  434. package/dist/factories/contracts/mock/MockArbBridge.sol/MockArbBridge__factory.d.ts +111 -0
  435. package/dist/factories/contracts/mock/MockArbBridge.sol/MockArbBridge__factory.d.ts.map +1 -0
  436. package/dist/factories/contracts/mock/MockArbBridge.sol/MockArbBridge__factory.js +154 -0
  437. package/dist/factories/contracts/mock/MockArbBridge.sol/MockArbBridge__factory.js.map +1 -0
  438. package/dist/factories/contracts/mock/MockArbBridge.sol/MockArbSys__factory.d.ts +89 -0
  439. package/dist/factories/contracts/mock/MockArbBridge.sol/MockArbSys__factory.d.ts.map +1 -0
  440. package/dist/factories/contracts/mock/MockArbBridge.sol/MockArbSys__factory.js +124 -0
  441. package/dist/factories/contracts/mock/MockArbBridge.sol/MockArbSys__factory.js.map +1 -0
  442. package/dist/factories/contracts/mock/MockArbBridge.sol/index.d.ts +3 -0
  443. package/dist/factories/contracts/mock/MockArbBridge.sol/index.d.ts.map +1 -0
  444. package/dist/factories/contracts/mock/MockArbBridge.sol/index.js +6 -0
  445. package/dist/factories/contracts/mock/MockArbBridge.sol/index.js.map +1 -0
  446. package/dist/factories/contracts/mock/MockERC4626YieldSharing__factory.d.ts +643 -0
  447. package/dist/factories/contracts/mock/MockERC4626YieldSharing__factory.d.ts.map +1 -0
  448. package/dist/factories/contracts/mock/MockERC4626YieldSharing__factory.js +855 -0
  449. package/dist/factories/contracts/mock/MockERC4626YieldSharing__factory.js.map +1 -0
  450. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts +21 -1
  451. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts.map +1 -1
  452. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.js +27 -1
  453. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.js.map +1 -1
  454. package/dist/factories/contracts/mock/MockMailbox__factory.d.ts +1 -1
  455. package/dist/factories/contracts/mock/MockMailbox__factory.js +1 -1
  456. package/dist/factories/contracts/mock/MockOptimism.sol/MockOptimismMessenger__factory.d.ts +119 -0
  457. package/dist/factories/contracts/mock/MockOptimism.sol/MockOptimismMessenger__factory.d.ts.map +1 -0
  458. package/dist/factories/contracts/mock/MockOptimism.sol/MockOptimismMessenger__factory.js +165 -0
  459. package/dist/factories/contracts/mock/MockOptimism.sol/MockOptimismMessenger__factory.js.map +1 -0
  460. package/dist/factories/contracts/mock/MockOptimism.sol/MockOptimismPortal__factory.d.ts +60 -0
  461. package/dist/factories/contracts/mock/MockOptimism.sol/MockOptimismPortal__factory.d.ts.map +1 -0
  462. package/dist/factories/contracts/mock/MockOptimism.sol/MockOptimismPortal__factory.js +89 -0
  463. package/dist/factories/contracts/mock/MockOptimism.sol/MockOptimismPortal__factory.js.map +1 -0
  464. package/dist/factories/contracts/mock/MockOptimism.sol/index.d.ts +3 -0
  465. package/dist/factories/contracts/mock/MockOptimism.sol/index.d.ts.map +1 -0
  466. package/dist/factories/contracts/mock/MockOptimism.sol/index.js +6 -0
  467. package/dist/factories/contracts/mock/MockOptimism.sol/index.js.map +1 -0
  468. package/dist/factories/contracts/mock/index.d.ts +3 -0
  469. package/dist/factories/contracts/mock/index.d.ts.map +1 -1
  470. package/dist/factories/contracts/mock/index.js +3 -0
  471. package/dist/factories/contracts/mock/index.js.map +1 -1
  472. package/dist/factories/contracts/test/ERC20Test.sol/ERC20Test__factory.d.ts +15 -1
  473. package/dist/factories/contracts/test/ERC20Test.sol/ERC20Test__factory.d.ts.map +1 -1
  474. package/dist/factories/contracts/test/ERC20Test.sol/ERC20Test__factory.js +19 -1
  475. package/dist/factories/contracts/test/ERC20Test.sol/ERC20Test__factory.js.map +1 -1
  476. package/dist/factories/contracts/test/ERC20Test.sol/FiatTokenTest__factory.d.ts +15 -1
  477. package/dist/factories/contracts/test/ERC20Test.sol/FiatTokenTest__factory.d.ts.map +1 -1
  478. package/dist/factories/contracts/test/ERC20Test.sol/FiatTokenTest__factory.js +19 -1
  479. package/dist/factories/contracts/test/ERC20Test.sol/FiatTokenTest__factory.js.map +1 -1
  480. package/dist/factories/contracts/test/ERC20Test.sol/XERC20LockboxTest__factory.d.ts +1 -1
  481. package/dist/factories/contracts/test/ERC20Test.sol/XERC20LockboxTest__factory.d.ts.map +1 -1
  482. package/dist/factories/contracts/test/ERC20Test.sol/XERC20LockboxTest__factory.js +1 -1
  483. package/dist/factories/contracts/test/ERC20Test.sol/XERC20LockboxTest__factory.js.map +1 -1
  484. package/dist/factories/contracts/test/ERC20Test.sol/XERC20Test__factory.d.ts +15 -1
  485. package/dist/factories/contracts/test/ERC20Test.sol/XERC20Test__factory.d.ts.map +1 -1
  486. package/dist/factories/contracts/test/ERC20Test.sol/XERC20Test__factory.js +19 -1
  487. package/dist/factories/contracts/test/ERC20Test.sol/XERC20Test__factory.js.map +1 -1
  488. package/dist/factories/contracts/test/ERC4626/ERC4626Test__factory.d.ts +1 -1
  489. package/dist/factories/contracts/test/ERC4626/ERC4626Test__factory.js +1 -1
  490. package/dist/factories/contracts/test/LightTestRecipient__factory.d.ts +1 -1
  491. package/dist/factories/contracts/test/LightTestRecipient__factory.js +1 -1
  492. package/dist/factories/contracts/test/TestGasRouter__factory.d.ts +1 -1
  493. package/dist/factories/contracts/test/TestGasRouter__factory.d.ts.map +1 -1
  494. package/dist/factories/contracts/test/TestGasRouter__factory.js +1 -1
  495. package/dist/factories/contracts/test/TestGasRouter__factory.js.map +1 -1
  496. package/dist/factories/contracts/test/TestInterchainGasPaymaster__factory.d.ts +1 -1
  497. package/dist/factories/contracts/test/TestInterchainGasPaymaster__factory.d.ts.map +1 -1
  498. package/dist/factories/contracts/test/TestInterchainGasPaymaster__factory.js +1 -1
  499. package/dist/factories/contracts/test/TestInterchainGasPaymaster__factory.js.map +1 -1
  500. package/dist/factories/contracts/test/TestIsm__factory.d.ts +1 -1
  501. package/dist/factories/contracts/test/TestIsm__factory.js +1 -1
  502. package/dist/factories/contracts/test/TestMailbox__factory.d.ts +1 -1
  503. package/dist/factories/contracts/test/TestMailbox__factory.js +1 -1
  504. package/dist/factories/contracts/test/TestMerkleTreeHook__factory.d.ts +1 -1
  505. package/dist/factories/contracts/test/TestMerkleTreeHook__factory.js +1 -1
  506. package/dist/factories/contracts/test/TestMerkle__factory.d.ts +1 -1
  507. package/dist/factories/contracts/test/TestMerkle__factory.js +1 -1
  508. package/dist/factories/contracts/test/TestPostDispatchHook__factory.d.ts +1 -1
  509. package/dist/factories/contracts/test/TestPostDispatchHook__factory.js +1 -1
  510. package/dist/factories/contracts/test/TestQuerySender__factory.d.ts +1 -1
  511. package/dist/factories/contracts/test/TestQuerySender__factory.js +1 -1
  512. package/dist/factories/contracts/test/TestQuery__factory.d.ts +1 -1
  513. package/dist/factories/contracts/test/TestQuery__factory.js +1 -1
  514. package/dist/factories/contracts/test/TestRecipient__factory.d.ts +1 -1
  515. package/dist/factories/contracts/test/TestRecipient__factory.js +1 -1
  516. package/dist/factories/contracts/test/TestRouter__factory.d.ts +1 -1
  517. package/dist/factories/contracts/test/TestRouter__factory.d.ts.map +1 -1
  518. package/dist/factories/contracts/test/TestRouter__factory.js +1 -1
  519. package/dist/factories/contracts/test/TestRouter__factory.js.map +1 -1
  520. package/dist/factories/contracts/test/TestSendReceiver__factory.d.ts +1 -1
  521. package/dist/factories/contracts/test/TestSendReceiver__factory.js +1 -1
  522. package/dist/factories/contracts/token/HypERC20Collateral__factory.d.ts +1 -1
  523. package/dist/factories/contracts/token/HypERC20Collateral__factory.d.ts.map +1 -1
  524. package/dist/factories/contracts/token/HypERC20Collateral__factory.js +1 -1
  525. package/dist/factories/contracts/token/HypERC20Collateral__factory.js.map +1 -1
  526. package/dist/factories/contracts/token/HypERC20__factory.d.ts +1 -1
  527. package/dist/factories/contracts/token/HypERC20__factory.d.ts.map +1 -1
  528. package/dist/factories/contracts/token/HypERC20__factory.js +1 -1
  529. package/dist/factories/contracts/token/HypERC20__factory.js.map +1 -1
  530. package/dist/factories/contracts/token/HypERC721Collateral__factory.d.ts +1 -1
  531. package/dist/factories/contracts/token/HypERC721Collateral__factory.d.ts.map +1 -1
  532. package/dist/factories/contracts/token/HypERC721Collateral__factory.js +1 -1
  533. package/dist/factories/contracts/token/HypERC721Collateral__factory.js.map +1 -1
  534. package/dist/factories/contracts/token/HypERC721__factory.d.ts +1 -1
  535. package/dist/factories/contracts/token/HypERC721__factory.js +1 -1
  536. package/dist/factories/contracts/token/HypNative__factory.d.ts +1 -1
  537. package/dist/factories/contracts/token/HypNative__factory.d.ts.map +1 -1
  538. package/dist/factories/contracts/token/HypNative__factory.js +1 -1
  539. package/dist/factories/contracts/token/HypNative__factory.js.map +1 -1
  540. package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.d.ts +1 -1
  541. package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.d.ts.map +1 -1
  542. package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.js +1 -1
  543. package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.js.map +1 -1
  544. package/dist/factories/contracts/token/extensions/FastHypERC20__factory.d.ts +1 -1
  545. package/dist/factories/contracts/token/extensions/FastHypERC20__factory.d.ts.map +1 -1
  546. package/dist/factories/contracts/token/extensions/FastHypERC20__factory.js +1 -1
  547. package/dist/factories/contracts/token/extensions/FastHypERC20__factory.js.map +1 -1
  548. package/dist/factories/contracts/token/extensions/HypERC4626Collateral__factory.d.ts +469 -0
  549. package/dist/factories/contracts/token/extensions/HypERC4626Collateral__factory.d.ts.map +1 -0
  550. package/dist/factories/contracts/token/extensions/HypERC4626Collateral__factory.js +621 -0
  551. package/dist/factories/contracts/token/extensions/HypERC4626Collateral__factory.js.map +1 -0
  552. package/dist/factories/contracts/token/extensions/{HypERC20CollateralVaultDeposit__factory.d.ts → HypERC4626OwnerCollateral__factory.d.ts} +11 -11
  553. package/dist/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.d.ts.map +1 -0
  554. package/dist/factories/contracts/token/extensions/{HypERC20CollateralVaultDeposit__factory.js → HypERC4626OwnerCollateral__factory.js} +3 -3
  555. package/dist/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.js.map +1 -0
  556. package/dist/factories/contracts/token/extensions/HypERC4626__factory.d.ts +699 -0
  557. package/dist/factories/contracts/token/extensions/HypERC4626__factory.d.ts.map +1 -0
  558. package/dist/factories/contracts/token/extensions/HypERC4626__factory.js +923 -0
  559. package/dist/factories/contracts/token/extensions/HypERC4626__factory.js.map +1 -0
  560. package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.d.ts +1 -1
  561. package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.d.ts.map +1 -1
  562. package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.js +1 -1
  563. package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.js.map +1 -1
  564. package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.d.ts +1 -1
  565. package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.js +1 -1
  566. package/dist/factories/contracts/token/extensions/HypFiatToken__factory.d.ts +1 -1
  567. package/dist/factories/contracts/token/extensions/HypFiatToken__factory.d.ts.map +1 -1
  568. package/dist/factories/contracts/token/extensions/HypFiatToken__factory.js +1 -1
  569. package/dist/factories/contracts/token/extensions/HypFiatToken__factory.js.map +1 -1
  570. package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.d.ts +1 -1
  571. package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.d.ts.map +1 -1
  572. package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.js +1 -1
  573. package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.js.map +1 -1
  574. package/dist/factories/contracts/token/extensions/HypXERC20Lockbox__factory.d.ts +1 -1
  575. package/dist/factories/contracts/token/extensions/HypXERC20Lockbox__factory.d.ts.map +1 -1
  576. package/dist/factories/contracts/token/extensions/HypXERC20Lockbox__factory.js +1 -1
  577. package/dist/factories/contracts/token/extensions/HypXERC20Lockbox__factory.js.map +1 -1
  578. package/dist/factories/contracts/token/extensions/HypXERC20__factory.d.ts +1 -1
  579. package/dist/factories/contracts/token/extensions/HypXERC20__factory.d.ts.map +1 -1
  580. package/dist/factories/contracts/token/extensions/HypXERC20__factory.js +1 -1
  581. package/dist/factories/contracts/token/extensions/HypXERC20__factory.js.map +1 -1
  582. package/dist/factories/contracts/token/extensions/index.d.ts +3 -1
  583. package/dist/factories/contracts/token/extensions/index.d.ts.map +1 -1
  584. package/dist/factories/contracts/token/extensions/index.js +3 -1
  585. package/dist/factories/contracts/token/extensions/index.js.map +1 -1
  586. package/dist/index.d.ts +46 -4
  587. package/dist/index.d.ts.map +1 -1
  588. package/dist/index.js +23 -2
  589. package/dist/index.js.map +1 -1
  590. package/package.json +5 -4
  591. package/dist/contracts/isms/multisig/AbstractMultisigIsm.d.ts.map +0 -1
  592. package/dist/contracts/isms/multisig/AbstractMultisigIsm.js.map +0 -1
  593. package/dist/contracts/token/extensions/HypERC20CollateralVaultDeposit.d.ts.map +0 -1
  594. package/dist/contracts/token/extensions/HypERC20CollateralVaultDeposit.js +0 -2
  595. package/dist/contracts/token/extensions/HypERC20CollateralVaultDeposit.js.map +0 -1
  596. package/dist/factories/contracts/isms/multisig/AbstractMultisigIsm__factory.d.ts.map +0 -1
  597. package/dist/factories/contracts/isms/multisig/AbstractMultisigIsm__factory.js.map +0 -1
  598. package/dist/factories/contracts/token/extensions/HypERC20CollateralVaultDeposit__factory.d.ts.map +0 -1
  599. package/dist/factories/contracts/token/extensions/HypERC20CollateralVaultDeposit__factory.js.map +0 -1
  600. /package/dist/contracts/isms/multisig/{AbstractMultisigIsm.js → AbstractMultisigIsm.sol/AbstractMultisigIsm.js} +0 -0
@@ -0,0 +1,97 @@
1
+ // SPDX-License-Identifier: MIT OR Apache-2.0
2
+ pragma solidity >=0.8.0;
3
+ // ============ External Imports ============
4
+
5
+ import {Address} from "@openzeppelin/contracts/utils/Address.sol";
6
+ import {Create2} from "@openzeppelin/contracts/utils/Create2.sol";
7
+ import {IStaticWeightedMultisigIsm} from "../interfaces/isms/IWeightedMultisigIsm.sol";
8
+
9
+ // ============ Internal Imports ============
10
+ import {MetaProxy} from "./MetaProxy.sol";
11
+
12
+ abstract contract StaticWeightedValidatorSetFactory {
13
+ // ============ Immutables ============
14
+ address public immutable implementation;
15
+
16
+ // ============ Constructor ============
17
+
18
+ constructor() {
19
+ implementation = _deployImplementation();
20
+ }
21
+
22
+ function _deployImplementation() internal virtual returns (address);
23
+
24
+ /**
25
+ * @notice Deploys a StaticWeightedValidatorSet contract address for the given
26
+ * values
27
+ * @dev Consider sorting addresses to ensure contract reuse
28
+ * @param _validators An array of addresses
29
+ * @param _thresholdWeight The threshold weight value to use
30
+ * @return set The contract address representing this StaticWeightedValidatorSet
31
+ */
32
+ function deploy(
33
+ IStaticWeightedMultisigIsm.ValidatorInfo[] calldata _validators,
34
+ uint96 _thresholdWeight
35
+ ) public returns (address) {
36
+ (bytes32 _salt, bytes memory _bytecode) = _saltAndBytecode(
37
+ _validators,
38
+ _thresholdWeight
39
+ );
40
+ address _set = _getAddress(_salt, _bytecode);
41
+ if (!Address.isContract(_set)) {
42
+ _set = Create2.deploy(0, _salt, _bytecode);
43
+ }
44
+ return _set;
45
+ }
46
+
47
+ /**
48
+ * @notice Returns the StaticWeightedValidatorSet contract address for the given
49
+ * values
50
+ * @dev Consider sorting addresses to ensure contract reuse
51
+ * @param _validators An array of addresses
52
+ * @param _thresholdWeight The threshold weight value to use
53
+ * @return set The contract address representing this StaticWeightedValidatorSet
54
+ */
55
+ function getAddress(
56
+ IStaticWeightedMultisigIsm.ValidatorInfo[] calldata _validators,
57
+ uint96 _thresholdWeight
58
+ ) external view returns (address) {
59
+ (bytes32 _salt, bytes memory _bytecode) = _saltAndBytecode(
60
+ _validators,
61
+ _thresholdWeight
62
+ );
63
+ return _getAddress(_salt, _bytecode);
64
+ }
65
+
66
+ /**
67
+ * @notice Returns the StaticWeightedValidatorSet contract address for the given
68
+ * values
69
+ * @param _salt The salt used in Create2
70
+ * @param _bytecode The metaproxy bytecode used in Create2
71
+ * @return set The contract address representing this StaticWeightedValidatorSet
72
+ */
73
+ function _getAddress(
74
+ bytes32 _salt,
75
+ bytes memory _bytecode
76
+ ) internal view returns (address) {
77
+ bytes32 _bytecodeHash = keccak256(_bytecode);
78
+ return Create2.computeAddress(_salt, _bytecodeHash);
79
+ }
80
+
81
+ /**
82
+ * @notice Returns the create2 salt and bytecode for the given values
83
+ * @param _validators An array of addresses
84
+ * @param _thresholdWeight The threshold weight value to use
85
+ * @return _salt The salt used in Create2
86
+ * @return _bytecode The metaproxy bytecode used in Create2
87
+ */
88
+ function _saltAndBytecode(
89
+ IStaticWeightedMultisigIsm.ValidatorInfo[] calldata _validators,
90
+ uint96 _thresholdWeight
91
+ ) internal view returns (bytes32, bytes memory) {
92
+ bytes memory _metadata = abi.encode(_validators, _thresholdWeight);
93
+ bytes memory _bytecode = MetaProxy.bytecode(implementation, _metadata);
94
+ bytes32 _salt = keccak256(_metadata);
95
+ return (_salt, _bytecode);
96
+ }
97
+ }
@@ -0,0 +1,78 @@
1
+ // SPDX-License-Identifier: MIT or Apache-2.0
2
+ pragma solidity ^0.8.13;
3
+
4
+ contract MockArbSys {
5
+ event L2ToL1Tx(
6
+ address caller,
7
+ address indexed destination,
8
+ uint256 indexed hash,
9
+ uint256 indexed position,
10
+ uint256 arbBlockNum,
11
+ uint256 ethBlockNum,
12
+ uint256 timestamp,
13
+ uint256 callvalue,
14
+ bytes data
15
+ );
16
+
17
+ function sendTxToL1(
18
+ address destination,
19
+ bytes calldata data
20
+ ) external payable returns (uint256) {
21
+ emit L2ToL1Tx(
22
+ msg.sender,
23
+ destination,
24
+ uint256(keccak256(data)),
25
+ 42,
26
+ block.number * 10,
27
+ block.number,
28
+ block.timestamp,
29
+ msg.value,
30
+ data
31
+ );
32
+ return 0;
33
+ }
34
+ }
35
+
36
+ contract MockArbBridge {
37
+ error BridgeCallFailed();
38
+
39
+ address public activeOutbox;
40
+ address public l2ToL1Sender;
41
+
42
+ constructor() {
43
+ activeOutbox = address(this);
44
+ }
45
+
46
+ function setL2ToL1Sender(address _sender) external {
47
+ l2ToL1Sender = _sender;
48
+ }
49
+
50
+ function bridge() external view returns (address) {
51
+ return address(this);
52
+ }
53
+
54
+ function executeTransaction(
55
+ bytes32[] calldata /*proof*/,
56
+ uint256 /*index*/,
57
+ address /*l2Sender*/,
58
+ address to,
59
+ uint256 /*l2Block*/,
60
+ uint256 /*l1Block*/,
61
+ uint256 /*timestamp*/,
62
+ uint256 value,
63
+ bytes calldata data
64
+ ) external payable {
65
+ (bool success, bytes memory returndata) = to.call{value: value}(data);
66
+ if (!success) {
67
+ if (returndata.length > 0) {
68
+ // solhint-disable-next-line no-inline-assembly
69
+ assembly {
70
+ let returndata_size := mload(returndata)
71
+ revert(add(32, returndata), returndata_size)
72
+ }
73
+ } else {
74
+ revert BridgeCallFailed();
75
+ }
76
+ }
77
+ }
78
+ }
@@ -0,0 +1,80 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity >=0.8.0;
3
+
4
+ import "@openzeppelin/contracts/token/ERC20/extensions/ERC4626.sol";
5
+ import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
6
+ import "@openzeppelin/contracts/interfaces/IERC20.sol";
7
+ import "@openzeppelin/contracts/access/Ownable.sol";
8
+
9
+ /**
10
+ * @title MockERC4626YieldSharing
11
+ * @dev Mock ERC4626 vault for testing yield sharing with the owner of the vault
12
+ * @dev This is a simplified version of the Aave v3 vault here
13
+ * https://github.com/aave/Aave-Vault/blob/main/src/ATokenVault.sol
14
+ */
15
+ contract MockERC4626YieldSharing is ERC4626, Ownable {
16
+ using Math for uint256;
17
+
18
+ uint256 public constant SCALE = 1e18;
19
+ uint256 public fee;
20
+ uint256 public accumulatedFees;
21
+ uint256 public lastVaultBalance;
22
+
23
+ constructor(
24
+ address _asset,
25
+ string memory _name,
26
+ string memory _symbol,
27
+ uint256 _initialFee
28
+ ) ERC4626(IERC20(_asset)) ERC20(_name, _symbol) {
29
+ fee = _initialFee;
30
+ }
31
+
32
+ function setFee(uint256 newFee) external onlyOwner {
33
+ require(newFee <= SCALE, "Fee too high");
34
+ fee = newFee;
35
+ }
36
+
37
+ function _accrueYield() internal {
38
+ uint256 newVaultBalance = IERC20(asset()).balanceOf(address(this));
39
+ if (newVaultBalance > lastVaultBalance) {
40
+ uint256 newYield = newVaultBalance - lastVaultBalance;
41
+ uint256 newFees = newYield.mulDiv(fee, SCALE, Math.Rounding.Down);
42
+ accumulatedFees += newFees;
43
+ lastVaultBalance = newVaultBalance;
44
+ }
45
+ }
46
+
47
+ function deposit(
48
+ uint256 assets,
49
+ address receiver
50
+ ) public override returns (uint256) {
51
+ lastVaultBalance += assets;
52
+ return super.deposit(assets, receiver);
53
+ }
54
+
55
+ function redeem(
56
+ uint256 shares,
57
+ address receiver,
58
+ address owner
59
+ ) public override returns (uint256) {
60
+ _accrueYield();
61
+ return super.redeem(shares, receiver, owner);
62
+ }
63
+
64
+ function getClaimableFees() public view returns (uint256) {
65
+ uint256 newVaultBalance = IERC20(asset()).balanceOf(address(this));
66
+
67
+ if (newVaultBalance <= lastVaultBalance) {
68
+ return accumulatedFees;
69
+ }
70
+
71
+ uint256 newYield = newVaultBalance - lastVaultBalance;
72
+ uint256 newFees = newYield.mulDiv(fee, SCALE, Math.Rounding.Down);
73
+
74
+ return accumulatedFees + newFees;
75
+ }
76
+
77
+ function totalAssets() public view override returns (uint256) {
78
+ return IERC20(asset()).balanceOf(address(this)) - getClaimableFees();
79
+ }
80
+ }
@@ -8,8 +8,8 @@ import "../test/TestIsm.sol";
8
8
  import {TypeCasts} from "../libs/TypeCasts.sol";
9
9
 
10
10
  contract MockHyperlaneEnvironment {
11
- uint32 originDomain;
12
- uint32 destinationDomain;
11
+ uint32 public originDomain;
12
+ uint32 public destinationDomain;
13
13
 
14
14
  mapping(uint32 => MockMailbox) public mailboxes;
15
15
  mapping(uint32 => TestInterchainGasPaymaster) public igps;
@@ -0,0 +1,61 @@
1
+ // SPDX-License-Identifier: MIT
2
+ pragma solidity ^0.8.0;
3
+
4
+ import {CallLib} from "../middleware/libs/Call.sol";
5
+ import {TypeCasts} from "../libs/TypeCasts.sol";
6
+ import {ICrossDomainMessenger} from "../interfaces/optimism/ICrossDomainMessenger.sol";
7
+ import {IOptimismPortal} from "../interfaces/optimism/IOptimismPortal.sol";
8
+
9
+ // for both L1 and L2
10
+ contract MockOptimismMessenger is ICrossDomainMessenger {
11
+ address public xDomainMessageSender;
12
+ address public PORTAL;
13
+
14
+ function sendMessage(
15
+ address _target,
16
+ bytes calldata _message,
17
+ uint32 _gasLimit
18
+ ) external payable {}
19
+
20
+ function relayMessage(
21
+ uint256 /*_nonce*/,
22
+ address /*_sender*/,
23
+ address _target,
24
+ uint256 _value,
25
+ uint256 /*_minGasLimit*/,
26
+ bytes calldata _message
27
+ ) external payable {
28
+ CallLib.Call memory call = CallLib.Call(
29
+ TypeCasts.addressToBytes32(_target),
30
+ _value,
31
+ _message
32
+ );
33
+ CallLib.call(call);
34
+ }
35
+
36
+ function OTHER_MESSENGER() external view returns (address) {}
37
+
38
+ function setXDomainMessageSender(address _sender) external {
39
+ xDomainMessageSender = _sender;
40
+ }
41
+
42
+ function setPORTAL(address _portal) external {
43
+ PORTAL = _portal;
44
+ }
45
+ }
46
+
47
+ // mock deployment on L1
48
+ contract MockOptimismPortal is IOptimismPortal {
49
+ error WithdrawalTransactionFailed();
50
+
51
+ function finalizeWithdrawalTransaction(
52
+ WithdrawalTransaction memory _tx
53
+ ) external {
54
+ CallLib.Call memory call = CallLib.Call(
55
+ TypeCasts.addressToBytes32(_tx.target),
56
+ _tx.value,
57
+ _tx.data
58
+ );
59
+ CallLib.call(call);
60
+ }
61
+ }
@@ -31,6 +31,10 @@ contract ERC20Test is ERC20 {
31
31
  function mintTo(address account, uint256 amount) public {
32
32
  _mint(account, amount);
33
33
  }
34
+
35
+ function burnFrom(address account, uint256 amount) public {
36
+ _burn(account, amount);
37
+ }
34
38
  }
35
39
 
36
40
  contract FiatTokenTest is ERC20Test, IFiatToken {
@@ -1,5 +1,6 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity >=0.8.0;
3
+
3
4
  import "@openzeppelin/contracts/token/ERC20/extensions/ERC4626.sol";
4
5
  import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
5
6
  import "@openzeppelin/contracts/interfaces/IERC20.sol";
@@ -0,0 +1,102 @@
1
+ // SPDX-License-Identifier: MIT OR Apache-2.0
2
+ pragma solidity >=0.8.0;
3
+
4
+ import {IXERC20} from "../interfaces/IXERC20.sol";
5
+ import {HypERC20} from "../HypERC20.sol";
6
+ import {Math} from "@openzeppelin/contracts/utils/math/Math.sol";
7
+ import {Message} from "../../libs/Message.sol";
8
+ import {TokenMessage} from "../libs/TokenMessage.sol";
9
+ import {TokenRouter} from "../libs/TokenRouter.sol";
10
+
11
+ /**
12
+ * @title Hyperlane ERC20 Rebasing Token
13
+ * @author Abacus Works
14
+ */
15
+ contract HypERC4626 is HypERC20 {
16
+ using Math for uint256;
17
+ using Message for bytes;
18
+ using TokenMessage for bytes;
19
+
20
+ uint256 public constant PRECISION = 1e10;
21
+ uint32 public immutable collateralDomain;
22
+ uint256 public exchangeRate; // 1e10
23
+
24
+ constructor(
25
+ uint8 _decimals,
26
+ address _mailbox,
27
+ uint32 _collateralDomain
28
+ ) HypERC20(_decimals, _mailbox) {
29
+ collateralDomain = _collateralDomain;
30
+ exchangeRate = 1e10;
31
+ _disableInitializers();
32
+ }
33
+
34
+ /// Override to send shares instead of assets from synthetic
35
+ /// @inheritdoc TokenRouter
36
+ function _transferRemote(
37
+ uint32 _destination,
38
+ bytes32 _recipient,
39
+ uint256 _amountOrId,
40
+ uint256 _value,
41
+ bytes memory _hookMetadata,
42
+ address _hook
43
+ ) internal virtual override returns (bytes32 messageId) {
44
+ uint256 _shares = assetsToShares(_amountOrId);
45
+ _transferFromSender(_shares);
46
+ bytes memory _tokenMessage = TokenMessage.format(
47
+ _recipient,
48
+ _shares,
49
+ bytes("")
50
+ );
51
+
52
+ messageId = _Router_dispatch(
53
+ _destination,
54
+ _value,
55
+ _tokenMessage,
56
+ _hookMetadata,
57
+ _hook
58
+ );
59
+
60
+ emit SentTransferRemote(_destination, _recipient, _amountOrId);
61
+ }
62
+
63
+ function _handle(
64
+ uint32 _origin,
65
+ bytes32 _sender,
66
+ bytes calldata _message
67
+ ) internal virtual override {
68
+ if (_origin == collateralDomain) {
69
+ exchangeRate = abi.decode(_message.metadata(), (uint256));
70
+ }
71
+ super._handle(_origin, _sender, _message);
72
+ }
73
+
74
+ // Override to send shares locally instead of assets
75
+ function transfer(
76
+ address to,
77
+ uint256 amount
78
+ ) public virtual override returns (bool) {
79
+ address owner = _msgSender();
80
+ _transfer(owner, to, assetsToShares(amount));
81
+ return true;
82
+ }
83
+
84
+ function shareBalanceOf(address account) public view returns (uint256) {
85
+ return super.balanceOf(account);
86
+ }
87
+
88
+ function balanceOf(
89
+ address account
90
+ ) public view virtual override returns (uint256) {
91
+ uint256 _balance = super.balanceOf(account);
92
+ return sharesToAssets(_balance);
93
+ }
94
+
95
+ function assetsToShares(uint256 _amount) public view returns (uint256) {
96
+ return _amount.mulDiv(PRECISION, exchangeRate);
97
+ }
98
+
99
+ function sharesToAssets(uint256 _shares) public view returns (uint256) {
100
+ return _shares.mulDiv(exchangeRate, PRECISION);
101
+ }
102
+ }
@@ -0,0 +1,111 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity >=0.8.0;
3
+
4
+ import "@openzeppelin/contracts/token/ERC20/extensions/ERC4626.sol";
5
+ import {TokenMessage} from "../libs/TokenMessage.sol";
6
+ import {HypERC20Collateral} from "../HypERC20Collateral.sol";
7
+ import {TypeCasts} from "../../libs/TypeCasts.sol";
8
+
9
+ /**
10
+ * @title Hyperlane ERC4626 Token Collateral with deposits collateral to a vault
11
+ * @author Abacus Works
12
+ */
13
+ contract HypERC4626Collateral is HypERC20Collateral {
14
+ using TypeCasts for address;
15
+ using TokenMessage for bytes;
16
+ using Math for uint256;
17
+
18
+ // Address of the ERC4626 compatible vault
19
+ ERC4626 public immutable vault;
20
+ uint256 public constant PRECISION = 1e10;
21
+ bytes32 public constant NULL_RECIPIENT =
22
+ 0x0000000000000000000000000000000000000000000000000000000000000001;
23
+
24
+ constructor(
25
+ ERC4626 _vault,
26
+ address _mailbox
27
+ ) HypERC20Collateral(_vault.asset(), _mailbox) {
28
+ vault = _vault;
29
+ }
30
+
31
+ function initialize(
32
+ address _hook,
33
+ address _interchainSecurityModule,
34
+ address _owner
35
+ ) public override initializer {
36
+ _MailboxClient_initialize(_hook, _interchainSecurityModule, _owner);
37
+ }
38
+
39
+ function _transferRemote(
40
+ uint32 _destination,
41
+ bytes32 _recipient,
42
+ uint256 _amount,
43
+ uint256 _value,
44
+ bytes memory _hookMetadata,
45
+ address _hook
46
+ ) internal virtual override returns (bytes32 messageId) {
47
+ // Can't override _transferFromSender only because we need to pass shares in the token message
48
+ _transferFromSender(_amount);
49
+ uint256 _shares = _depositIntoVault(_amount);
50
+ uint256 _exchangeRate = PRECISION.mulDiv(
51
+ vault.totalAssets(),
52
+ vault.totalSupply(),
53
+ Math.Rounding.Down
54
+ );
55
+ bytes memory _tokenMetadata = abi.encode(_exchangeRate);
56
+
57
+ bytes memory _tokenMessage = TokenMessage.format(
58
+ _recipient,
59
+ _shares,
60
+ _tokenMetadata
61
+ );
62
+
63
+ messageId = _Router_dispatch(
64
+ _destination,
65
+ _value,
66
+ _tokenMessage,
67
+ _hookMetadata,
68
+ _hook
69
+ );
70
+
71
+ emit SentTransferRemote(_destination, _recipient, _shares);
72
+ }
73
+
74
+ /**
75
+ * @dev Deposits into the vault and increment assetDeposited
76
+ * @param _amount amount to deposit into vault
77
+ */
78
+ function _depositIntoVault(uint256 _amount) internal returns (uint256) {
79
+ wrappedToken.approve(address(vault), _amount);
80
+ return vault.deposit(_amount, address(this));
81
+ }
82
+
83
+ /**
84
+ * @dev Transfers `_amount` of `wrappedToken` from this contract to `_recipient`, and withdraws from vault
85
+ * @inheritdoc HypERC20Collateral
86
+ */
87
+ function _transferTo(
88
+ address _recipient,
89
+ uint256 _amount,
90
+ bytes calldata
91
+ ) internal virtual override {
92
+ // withdraw with the specified amount of shares
93
+ vault.redeem(_amount, _recipient, address(this));
94
+ }
95
+
96
+ /**
97
+ * @dev Update the exchange rate on the synthetic token by accounting for additional yield accrued to the underlying vault
98
+ * @param _destinationDomain domain of the vault
99
+ */
100
+ function rebase(uint32 _destinationDomain) public payable {
101
+ // force a rebase with an empty transfer to 0x1
102
+ _transferRemote(
103
+ _destinationDomain,
104
+ NULL_RECIPIENT,
105
+ 0,
106
+ msg.value,
107
+ bytes(""),
108
+ address(0)
109
+ );
110
+ }
111
+ }
@@ -1,13 +1,14 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity >=0.8.0;
3
+
3
4
  import "@openzeppelin/contracts/token/ERC20/extensions/ERC4626.sol";
4
5
  import {HypERC20Collateral} from "../HypERC20Collateral.sol";
5
6
 
6
7
  /**
7
- * @title Hyperlane ERC20 Token Collateral with deposits collateral to a vault
8
+ * @title Hyperlane ERC20 Token Collateral with deposits collateral to a vault, the yield goes to the owner
8
9
  * @author ltyu
9
10
  */
10
- contract HypERC20CollateralVaultDeposit is HypERC20Collateral {
11
+ contract HypERC4626OwnerCollateral is HypERC20Collateral {
11
12
  // Address of the ERC4626 compatible vault
12
13
  ERC4626 public immutable vault;
13
14