@hyperlane-xyz/core 3.8.2 → 3.10.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.
- package/buildArtifact.json +1 -1
- package/contracts/isms/ccip-read/AbstractCcipReadIsm.sol +1 -1
- package/contracts/isms/hook/AbstractMessageIdAuthorizedIsm.sol +1 -1
- package/contracts/isms/hook/layer-zero/LayerZeroV2Ism.sol +2 -2
- package/contracts/middleware/InterchainAccountRouter.sol +40 -0
- package/contracts/token/HypERC20.sol +5 -1
- package/contracts/token/HypERC20Collateral.sol +8 -0
- package/contracts/token/HypERC20CollateralVaultDeposit.sol +8 -0
- package/contracts/token/HypERC721.sol +9 -5
- package/contracts/token/HypERC721Collateral.sol +14 -0
- package/contracts/token/HypNative.sol +14 -0
- package/contracts/token/extensions/HypNativeScaled.sol +1 -1
- package/contracts/token/libs/FastTokenRouter.sol +3 -3
- package/dist/contracts/middleware/InterchainAccountRouter.d.ts +58 -1
- package/dist/contracts/middleware/InterchainAccountRouter.d.ts.map +1 -1
- package/dist/contracts/token/HypERC20.d.ts +20 -14
- package/dist/contracts/token/HypERC20.d.ts.map +1 -1
- package/dist/contracts/token/HypERC20Collateral.d.ts +40 -1
- package/dist/contracts/token/HypERC20Collateral.d.ts.map +1 -1
- package/dist/contracts/token/HypERC20CollateralVaultDeposit.d.ts +40 -1
- package/dist/contracts/token/HypERC20CollateralVaultDeposit.d.ts.map +1 -1
- package/dist/contracts/token/HypERC721.d.ts +20 -14
- package/dist/contracts/token/HypERC721.d.ts.map +1 -1
- package/dist/contracts/token/HypERC721Collateral.d.ts +40 -1
- package/dist/contracts/token/HypERC721Collateral.d.ts.map +1 -1
- package/dist/contracts/token/HypNative.d.ts +40 -1
- package/dist/contracts/token/HypNative.d.ts.map +1 -1
- package/dist/contracts/token/extensions/FastHypERC20.d.ts +20 -14
- package/dist/contracts/token/extensions/FastHypERC20.d.ts.map +1 -1
- package/dist/contracts/token/extensions/FastHypERC20Collateral.d.ts +40 -1
- package/dist/contracts/token/extensions/FastHypERC20Collateral.d.ts.map +1 -1
- package/dist/contracts/token/extensions/HypERC721URICollateral.d.ts +40 -1
- package/dist/contracts/token/extensions/HypERC721URICollateral.d.ts.map +1 -1
- package/dist/contracts/token/extensions/HypERC721URIStorage.d.ts +20 -14
- package/dist/contracts/token/extensions/HypERC721URIStorage.d.ts.map +1 -1
- package/dist/contracts/token/extensions/HypNativeScaled.d.ts +40 -1
- package/dist/contracts/token/extensions/HypNativeScaled.d.ts.map +1 -1
- package/dist/factories/contracts/hooks/OPStackHook__factory.d.ts +1 -1
- package/dist/factories/contracts/hooks/OPStackHook__factory.js +1 -1
- package/dist/factories/contracts/hooks/aggregation/ERC5164Hook__factory.d.ts +1 -1
- package/dist/factories/contracts/hooks/aggregation/ERC5164Hook__factory.js +1 -1
- package/dist/factories/contracts/hooks/layer-zero/LayerZeroV2Hook__factory.d.ts +1 -1
- package/dist/factories/contracts/hooks/layer-zero/LayerZeroV2Hook__factory.js +1 -1
- package/dist/factories/contracts/isms/hook/ERC5164Ism__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/hook/ERC5164Ism__factory.js +1 -1
- package/dist/factories/contracts/isms/hook/OPStackIsm__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/hook/OPStackIsm__factory.js +1 -1
- package/dist/factories/contracts/isms/hook/layer-zero/LayerZeroV2Ism__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/hook/layer-zero/LayerZeroV2Ism__factory.js +1 -1
- package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts +55 -1
- package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts.map +1 -1
- package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js +73 -1
- package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js.map +1 -1
- package/dist/factories/contracts/token/HypERC20CollateralVaultDeposit__factory.d.ts +19 -1
- package/dist/factories/contracts/token/HypERC20CollateralVaultDeposit__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/HypERC20CollateralVaultDeposit__factory.js +24 -1
- package/dist/factories/contracts/token/HypERC20CollateralVaultDeposit__factory.js.map +1 -1
- package/dist/factories/contracts/token/HypERC20Collateral__factory.d.ts +19 -1
- package/dist/factories/contracts/token/HypERC20Collateral__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/HypERC20Collateral__factory.js +24 -1
- package/dist/factories/contracts/token/HypERC20Collateral__factory.js.map +1 -1
- package/dist/factories/contracts/token/HypERC20__factory.d.ts +13 -1
- package/dist/factories/contracts/token/HypERC20__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/HypERC20__factory.js +16 -1
- package/dist/factories/contracts/token/HypERC20__factory.js.map +1 -1
- package/dist/factories/contracts/token/HypERC721Collateral__factory.d.ts +19 -1
- package/dist/factories/contracts/token/HypERC721Collateral__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/HypERC721Collateral__factory.js +24 -1
- package/dist/factories/contracts/token/HypERC721Collateral__factory.js.map +1 -1
- package/dist/factories/contracts/token/HypERC721__factory.d.ts +13 -1
- package/dist/factories/contracts/token/HypERC721__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/HypERC721__factory.js +16 -1
- package/dist/factories/contracts/token/HypERC721__factory.js.map +1 -1
- package/dist/factories/contracts/token/HypNative__factory.d.ts +19 -1
- package/dist/factories/contracts/token/HypNative__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/HypNative__factory.js +24 -1
- package/dist/factories/contracts/token/HypNative__factory.js.map +1 -1
- package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.d.ts +19 -1
- package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.js +24 -1
- package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.js.map +1 -1
- package/dist/factories/contracts/token/extensions/FastHypERC20__factory.d.ts +13 -1
- package/dist/factories/contracts/token/extensions/FastHypERC20__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/extensions/FastHypERC20__factory.js +16 -1
- package/dist/factories/contracts/token/extensions/FastHypERC20__factory.js.map +1 -1
- package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.d.ts +19 -1
- package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.js +24 -1
- package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.js.map +1 -1
- package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.d.ts +13 -1
- package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.js +16 -1
- package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.js.map +1 -1
- package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.d.ts +19 -1
- package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.js +24 -1
- package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.js.map +1 -1
- package/package.json +2 -2
|
@@ -12,7 +12,7 @@ import {AbstractMultisigIsm} from "../multisig/AbstractMultisigIsm.sol";
|
|
|
12
12
|
* @title AbstractCcipReadIsm
|
|
13
13
|
* @notice An ISM that allows arbitrary payloads to be submitted and verified on chain
|
|
14
14
|
* @dev https://eips.ethereum.org/EIPS/eip-3668
|
|
15
|
-
* @dev The AbstractCcipReadIsm provided by Hyperlane is left
|
|
15
|
+
* @dev The AbstractCcipReadIsm provided by Hyperlane is left intentionally minimalist as
|
|
16
16
|
* the range of applications that could be supported by a CcipReadIsm are so broad. However
|
|
17
17
|
* there are few things to note when building a custom CcipReadIsm.
|
|
18
18
|
*
|
|
@@ -27,7 +27,7 @@ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Ini
|
|
|
27
27
|
|
|
28
28
|
/**
|
|
29
29
|
* @title AbstractMessageIdAuthorizedIsm
|
|
30
|
-
* @notice Uses external
|
|
30
|
+
* @notice Uses external verification options to verify interchain messages which need a authorized caller
|
|
31
31
|
*/
|
|
32
32
|
abstract contract AbstractMessageIdAuthorizedIsm is
|
|
33
33
|
IInterchainSecurityModule,
|
|
@@ -57,7 +57,7 @@ contract LayerZeroV2Ism is AbstractMessageIdAuthorizedIsm {
|
|
|
57
57
|
/**
|
|
58
58
|
* @notice Entry point for receiving msg/packet from the LayerZero endpoint.
|
|
59
59
|
* @param _lzMessage The payload of the received message.
|
|
60
|
-
* @dev Authorization
|
|
60
|
+
* @dev Authorization verification is done within verifyMessageId() -> _isAuthorized()
|
|
61
61
|
*/
|
|
62
62
|
function lzReceive(
|
|
63
63
|
Origin calldata,
|
|
@@ -83,7 +83,7 @@ contract LayerZeroV2Ism is AbstractMessageIdAuthorizedIsm {
|
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
/**
|
|
86
|
-
* @notice Validates
|
|
86
|
+
* @notice Validates criteria to verify a message
|
|
87
87
|
* @dev this is called by AbstractMessageIdAuthorizedIsm.verifyMessageId
|
|
88
88
|
* @dev parses msg.value to get parameters from lzReceive()
|
|
89
89
|
*/
|
|
@@ -38,6 +38,11 @@ contract InterchainAccountRouter is Router {
|
|
|
38
38
|
using TypeCasts for address;
|
|
39
39
|
using TypeCasts for bytes32;
|
|
40
40
|
|
|
41
|
+
struct AccountOwner {
|
|
42
|
+
uint32 origin;
|
|
43
|
+
bytes32 owner; // remote owner
|
|
44
|
+
}
|
|
45
|
+
|
|
41
46
|
// ============ Constants ============
|
|
42
47
|
|
|
43
48
|
address internal implementation;
|
|
@@ -45,6 +50,8 @@ contract InterchainAccountRouter is Router {
|
|
|
45
50
|
|
|
46
51
|
// ============ Public Storage ============
|
|
47
52
|
mapping(uint32 => bytes32) public isms;
|
|
53
|
+
// reverse lookup from the ICA account to the remote owner
|
|
54
|
+
mapping(address => AccountOwner) public accountOwners;
|
|
48
55
|
|
|
49
56
|
// ============ Upgrade Gap ============
|
|
50
57
|
|
|
@@ -394,6 +401,7 @@ contract InterchainAccountRouter is Router {
|
|
|
394
401
|
if (!Address.isContract(_account)) {
|
|
395
402
|
bytes memory _bytecode = MinimalProxy.bytecode(implementation);
|
|
396
403
|
_account = payable(Create2.deploy(0, _salt, _bytecode));
|
|
404
|
+
accountOwners[_account] = AccountOwner(_origin, _owner);
|
|
397
405
|
emit InterchainAccountCreated(_origin, _owner, _ism, _account);
|
|
398
406
|
}
|
|
399
407
|
return OwnableMulticall(_account);
|
|
@@ -648,4 +656,36 @@ contract InterchainAccountRouter is Router {
|
|
|
648
656
|
) private view returns (address payable) {
|
|
649
657
|
return payable(Create2.computeAddress(_salt, bytecodeHash));
|
|
650
658
|
}
|
|
659
|
+
|
|
660
|
+
/**
|
|
661
|
+
* @notice Returns the gas payment required to dispatch a message to the given domain's router.
|
|
662
|
+
* @param _destination The domain of the destination router.
|
|
663
|
+
* @return _gasPayment Payment computed by the registered hooks via MailboxClient.
|
|
664
|
+
*/
|
|
665
|
+
function quoteGasPayment(
|
|
666
|
+
uint32 _destination
|
|
667
|
+
) external view returns (uint256 _gasPayment) {
|
|
668
|
+
return _quoteDispatch(_destination, "");
|
|
669
|
+
}
|
|
670
|
+
|
|
671
|
+
/**
|
|
672
|
+
* @notice Returns the gas payment required to dispatch a given messageBody to the given domain's router with gas limit override.
|
|
673
|
+
* @param _destination The domain of the destination router.
|
|
674
|
+
* @param _messageBody The message body to be dispatched.
|
|
675
|
+
* @param gasLimit The gas limit to override with.
|
|
676
|
+
*/
|
|
677
|
+
function quoteGasPayment(
|
|
678
|
+
uint32 _destination,
|
|
679
|
+
bytes calldata _messageBody,
|
|
680
|
+
uint256 gasLimit
|
|
681
|
+
) external view returns (uint256 _gasPayment) {
|
|
682
|
+
bytes32 _router = _mustHaveRemoteRouter(_destination);
|
|
683
|
+
return
|
|
684
|
+
mailbox.quoteDispatch(
|
|
685
|
+
_destination,
|
|
686
|
+
_router,
|
|
687
|
+
_messageBody,
|
|
688
|
+
StandardHookMetadata.overrideGasLimit(gasLimit)
|
|
689
|
+
);
|
|
690
|
+
}
|
|
651
691
|
}
|
|
@@ -26,11 +26,15 @@ contract HypERC20 is ERC20Upgradeable, TokenRouter {
|
|
|
26
26
|
function initialize(
|
|
27
27
|
uint256 _totalSupply,
|
|
28
28
|
string memory _name,
|
|
29
|
-
string memory _symbol
|
|
29
|
+
string memory _symbol,
|
|
30
|
+
address _hook,
|
|
31
|
+
address _interchainSecurityModule,
|
|
32
|
+
address _owner
|
|
30
33
|
) external initializer {
|
|
31
34
|
// Initialize ERC20 metadata
|
|
32
35
|
__ERC20_init(_name, _symbol);
|
|
33
36
|
_mint(msg.sender, _totalSupply);
|
|
37
|
+
_MailboxClient_initialize(_hook, _interchainSecurityModule, _owner);
|
|
34
38
|
}
|
|
35
39
|
|
|
36
40
|
function decimals() public view override returns (uint8) {
|
|
@@ -25,6 +25,14 @@ contract HypERC20Collateral is TokenRouter {
|
|
|
25
25
|
wrappedToken = IERC20(erc20);
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
+
function initialize(
|
|
29
|
+
address _hook,
|
|
30
|
+
address _interchainSecurityModule,
|
|
31
|
+
address _owner
|
|
32
|
+
) public virtual initializer {
|
|
33
|
+
_MailboxClient_initialize(_hook, _interchainSecurityModule, _owner);
|
|
34
|
+
}
|
|
35
|
+
|
|
28
36
|
function balanceOf(
|
|
29
37
|
address _account
|
|
30
38
|
) external view override returns (uint256) {
|
|
@@ -21,7 +21,15 @@ contract HypERC20CollateralVaultDeposit is HypERC20Collateral {
|
|
|
21
21
|
address _mailbox
|
|
22
22
|
) HypERC20Collateral(_vault.asset(), _mailbox) {
|
|
23
23
|
vault = _vault;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function initialize(
|
|
27
|
+
address _hook,
|
|
28
|
+
address _interchainSecurityModule,
|
|
29
|
+
address _owner
|
|
30
|
+
) public override initializer {
|
|
24
31
|
wrappedToken.approve(address(vault), type(uint256).max);
|
|
32
|
+
_MailboxClient_initialize(_hook, _interchainSecurityModule, _owner);
|
|
25
33
|
}
|
|
26
34
|
|
|
27
35
|
/**
|
|
@@ -19,18 +19,22 @@ contract HypERC721 is ERC721EnumerableUpgradeable, TokenRouter {
|
|
|
19
19
|
* @param _mintAmount The amount of NFTs to mint to `msg.sender`.
|
|
20
20
|
* @param _name The name of the token.
|
|
21
21
|
* @param _symbol The symbol of the token.
|
|
22
|
+
* @param _hook The post-dispatch hook contract.
|
|
23
|
+
@param _interchainSecurityModule The interchain security module contract.
|
|
24
|
+
@param _owner The this contract.
|
|
22
25
|
*/
|
|
23
26
|
function initialize(
|
|
24
27
|
uint256 _mintAmount,
|
|
25
28
|
string memory _name,
|
|
26
|
-
string memory _symbol
|
|
29
|
+
string memory _symbol,
|
|
30
|
+
address _hook,
|
|
31
|
+
address _interchainSecurityModule,
|
|
32
|
+
address _owner
|
|
27
33
|
) external initializer {
|
|
28
|
-
|
|
29
|
-
_transferOwnership(owner);
|
|
30
|
-
|
|
34
|
+
_MailboxClient_initialize(_hook, _interchainSecurityModule, _owner);
|
|
31
35
|
__ERC721_init(_name, _symbol);
|
|
32
36
|
for (uint256 i = 0; i < _mintAmount; i++) {
|
|
33
|
-
_safeMint(
|
|
37
|
+
_safeMint(msg.sender, i);
|
|
34
38
|
}
|
|
35
39
|
}
|
|
36
40
|
|
|
@@ -21,6 +21,20 @@ contract HypERC721Collateral is TokenRouter {
|
|
|
21
21
|
wrappedToken = IERC721(erc721);
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
+
/**
|
|
25
|
+
* @notice Initializes the Hyperlane router
|
|
26
|
+
* @param _hook The post-dispatch hook contract.
|
|
27
|
+
@param _interchainSecurityModule The interchain security module contract.
|
|
28
|
+
@param _owner The this contract.
|
|
29
|
+
*/
|
|
30
|
+
function initialize(
|
|
31
|
+
address _hook,
|
|
32
|
+
address _interchainSecurityModule,
|
|
33
|
+
address _owner
|
|
34
|
+
) public virtual initializer {
|
|
35
|
+
_MailboxClient_initialize(_hook, _interchainSecurityModule, _owner);
|
|
36
|
+
}
|
|
37
|
+
|
|
24
38
|
function ownerOf(uint256 _tokenId) external view returns (address) {
|
|
25
39
|
return IERC721(wrappedToken).ownerOf(_tokenId);
|
|
26
40
|
}
|
|
@@ -20,6 +20,20 @@ contract HypNative is TokenRouter {
|
|
|
20
20
|
|
|
21
21
|
constructor(address _mailbox) TokenRouter(_mailbox) {}
|
|
22
22
|
|
|
23
|
+
/**
|
|
24
|
+
* @notice Initializes the Hyperlane router
|
|
25
|
+
* @param _hook The post-dispatch hook contract.
|
|
26
|
+
@param _interchainSecurityModule The interchain security module contract.
|
|
27
|
+
@param _owner The this contract.
|
|
28
|
+
*/
|
|
29
|
+
function initialize(
|
|
30
|
+
address _hook,
|
|
31
|
+
address _interchainSecurityModule,
|
|
32
|
+
address _owner
|
|
33
|
+
) public initializer {
|
|
34
|
+
_MailboxClient_initialize(_hook, _interchainSecurityModule, _owner);
|
|
35
|
+
}
|
|
36
|
+
|
|
23
37
|
/**
|
|
24
38
|
* @inheritdoc TokenRouter
|
|
25
39
|
* @dev uses (`msg.value` - `_amount`) as interchain gas payment and `msg.sender` as refund address.
|
|
@@ -34,7 +34,7 @@ contract HypNativeScaled is HypNative {
|
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
/**
|
|
37
|
-
* @dev Sends scaled `_amount` (
|
|
37
|
+
* @dev Sends scaled `_amount` (multiplied by `scale`) to `_recipient`.
|
|
38
38
|
* @inheritdoc TokenRouter
|
|
39
39
|
*/
|
|
40
40
|
function _transferTo(
|
|
@@ -56,7 +56,7 @@ abstract contract FastTokenRouter is TokenRouter {
|
|
|
56
56
|
|
|
57
57
|
/**
|
|
58
58
|
* @dev allows an external user to full an unfilled fast transfer order.
|
|
59
|
-
* @param _recipient The
|
|
59
|
+
* @param _recipient The recipient of the wrapped token on base chain.
|
|
60
60
|
* @param _amount The amount of wrapped tokens that is being bridged.
|
|
61
61
|
* @param _fastFee The fee the bridging entity will pay.
|
|
62
62
|
* @param _fastTransferId Id assigned on the remote chain to uniquely identify the transfer.
|
|
@@ -131,8 +131,8 @@ abstract contract FastTokenRouter is TokenRouter {
|
|
|
131
131
|
}
|
|
132
132
|
|
|
133
133
|
/**
|
|
134
|
-
* @dev returns an address that indicates who should
|
|
135
|
-
* @dev if _fastFees was
|
|
134
|
+
* @dev returns an address that indicates who should receive the bridged tokens.
|
|
135
|
+
* @dev if _fastFees was included and someone filled the order before the mailbox made the contract call, the filler gets the funds.
|
|
136
136
|
*/
|
|
137
137
|
function _getTokenRecipient(
|
|
138
138
|
address _recipient,
|
|
@@ -16,6 +16,7 @@ export declare namespace CallLib {
|
|
|
16
16
|
}
|
|
17
17
|
export interface InterchainAccountRouterInterface extends utils.Interface {
|
|
18
18
|
functions: {
|
|
19
|
+
"accountOwners(address)": FunctionFragment;
|
|
19
20
|
"callRemote(uint32,address,uint256,bytes)": FunctionFragment;
|
|
20
21
|
"callRemote(uint32,(bytes32,uint256,bytes)[],bytes)": FunctionFragment;
|
|
21
22
|
"callRemote(uint32,(bytes32,uint256,bytes)[])": FunctionFragment;
|
|
@@ -41,6 +42,8 @@ export interface InterchainAccountRouterInterface extends utils.Interface {
|
|
|
41
42
|
"localDomain()": FunctionFragment;
|
|
42
43
|
"mailbox()": FunctionFragment;
|
|
43
44
|
"owner()": FunctionFragment;
|
|
45
|
+
"quoteGasPayment(uint32,bytes,uint256)": FunctionFragment;
|
|
46
|
+
"quoteGasPayment(uint32)": FunctionFragment;
|
|
44
47
|
"renounceOwnership()": FunctionFragment;
|
|
45
48
|
"routers(uint32)": FunctionFragment;
|
|
46
49
|
"setHook(address)": FunctionFragment;
|
|
@@ -49,7 +52,9 @@ export interface InterchainAccountRouterInterface extends utils.Interface {
|
|
|
49
52
|
"unenrollRemoteRouter(uint32)": FunctionFragment;
|
|
50
53
|
"unenrollRemoteRouters(uint32[])": FunctionFragment;
|
|
51
54
|
};
|
|
52
|
-
getFunction(nameOrSignatureOrTopic: "callRemote(uint32,address,uint256,bytes)" | "callRemote(uint32,(bytes32,uint256,bytes)[],bytes)" | "callRemote(uint32,(bytes32,uint256,bytes)[])" | "callRemote(uint32,address,uint256,bytes,bytes)" | "callRemoteWithOverrides(uint32,bytes32,bytes32,(bytes32,uint256,bytes)[])" | "callRemoteWithOverrides(uint32,bytes32,bytes32,(bytes32,uint256,bytes)[],bytes)" | "domains" | "domains()" | "enrollRemoteRouter" | "enrollRemoteRouter(uint32,bytes32)" | "enrollRemoteRouterAndIsm" | "enrollRemoteRouterAndIsm(uint32,bytes32,bytes32)" | "enrollRemoteRouterAndIsms" | "enrollRemoteRouterAndIsms(uint32[],bytes32[],bytes32[])" | "enrollRemoteRouters" | "enrollRemoteRouters(uint32[],bytes32[])" | "getDeployedInterchainAccount(uint32,address,address,address)" | "getDeployedInterchainAccount(uint32,bytes32,bytes32,address)" | "getLocalInterchainAccount(uint32,address,address,address)" | "getLocalInterchainAccount(uint32,bytes32,bytes32,address)" | "getRemoteInterchainAccount(uint32,address)" | "getRemoteInterchainAccount(address,address,address)" | "handle" | "handle(uint32,bytes32,bytes)" | "hook" | "hook()" | "initialize" | "initialize(address,address,address)" | "interchainSecurityModule" | "interchainSecurityModule()" | "isms" | "isms(uint32)" | "localDomain" | "localDomain()" | "mailbox" | "mailbox()" | "owner" | "owner()" | "renounceOwnership" | "renounceOwnership()" | "routers" | "routers(uint32)" | "setHook" | "setHook(address)" | "setInterchainSecurityModule" | "setInterchainSecurityModule(address)" | "transferOwnership" | "transferOwnership(address)" | "unenrollRemoteRouter" | "unenrollRemoteRouter(uint32)" | "unenrollRemoteRouters" | "unenrollRemoteRouters(uint32[])"): FunctionFragment;
|
|
55
|
+
getFunction(nameOrSignatureOrTopic: "accountOwners" | "accountOwners(address)" | "callRemote(uint32,address,uint256,bytes)" | "callRemote(uint32,(bytes32,uint256,bytes)[],bytes)" | "callRemote(uint32,(bytes32,uint256,bytes)[])" | "callRemote(uint32,address,uint256,bytes,bytes)" | "callRemoteWithOverrides(uint32,bytes32,bytes32,(bytes32,uint256,bytes)[])" | "callRemoteWithOverrides(uint32,bytes32,bytes32,(bytes32,uint256,bytes)[],bytes)" | "domains" | "domains()" | "enrollRemoteRouter" | "enrollRemoteRouter(uint32,bytes32)" | "enrollRemoteRouterAndIsm" | "enrollRemoteRouterAndIsm(uint32,bytes32,bytes32)" | "enrollRemoteRouterAndIsms" | "enrollRemoteRouterAndIsms(uint32[],bytes32[],bytes32[])" | "enrollRemoteRouters" | "enrollRemoteRouters(uint32[],bytes32[])" | "getDeployedInterchainAccount(uint32,address,address,address)" | "getDeployedInterchainAccount(uint32,bytes32,bytes32,address)" | "getLocalInterchainAccount(uint32,address,address,address)" | "getLocalInterchainAccount(uint32,bytes32,bytes32,address)" | "getRemoteInterchainAccount(uint32,address)" | "getRemoteInterchainAccount(address,address,address)" | "handle" | "handle(uint32,bytes32,bytes)" | "hook" | "hook()" | "initialize" | "initialize(address,address,address)" | "interchainSecurityModule" | "interchainSecurityModule()" | "isms" | "isms(uint32)" | "localDomain" | "localDomain()" | "mailbox" | "mailbox()" | "owner" | "owner()" | "quoteGasPayment(uint32,bytes,uint256)" | "quoteGasPayment(uint32)" | "renounceOwnership" | "renounceOwnership()" | "routers" | "routers(uint32)" | "setHook" | "setHook(address)" | "setInterchainSecurityModule" | "setInterchainSecurityModule(address)" | "transferOwnership" | "transferOwnership(address)" | "unenrollRemoteRouter" | "unenrollRemoteRouter(uint32)" | "unenrollRemoteRouters" | "unenrollRemoteRouters(uint32[])"): FunctionFragment;
|
|
56
|
+
encodeFunctionData(functionFragment: "accountOwners", values: [PromiseOrValue<string>]): string;
|
|
57
|
+
encodeFunctionData(functionFragment: "accountOwners(address)", values: [PromiseOrValue<string>]): string;
|
|
53
58
|
encodeFunctionData(functionFragment: "callRemote(uint32,address,uint256,bytes)", values: [
|
|
54
59
|
PromiseOrValue<BigNumberish>,
|
|
55
60
|
PromiseOrValue<string>,
|
|
@@ -170,6 +175,12 @@ export interface InterchainAccountRouterInterface extends utils.Interface {
|
|
|
170
175
|
encodeFunctionData(functionFragment: "mailbox()", values?: undefined): string;
|
|
171
176
|
encodeFunctionData(functionFragment: "owner", values?: undefined): string;
|
|
172
177
|
encodeFunctionData(functionFragment: "owner()", values?: undefined): string;
|
|
178
|
+
encodeFunctionData(functionFragment: "quoteGasPayment(uint32,bytes,uint256)", values: [
|
|
179
|
+
PromiseOrValue<BigNumberish>,
|
|
180
|
+
PromiseOrValue<BytesLike>,
|
|
181
|
+
PromiseOrValue<BigNumberish>
|
|
182
|
+
]): string;
|
|
183
|
+
encodeFunctionData(functionFragment: "quoteGasPayment(uint32)", values: [PromiseOrValue<BigNumberish>]): string;
|
|
173
184
|
encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string;
|
|
174
185
|
encodeFunctionData(functionFragment: "renounceOwnership()", values?: undefined): string;
|
|
175
186
|
encodeFunctionData(functionFragment: "routers", values: [PromiseOrValue<BigNumberish>]): string;
|
|
@@ -184,6 +195,8 @@ export interface InterchainAccountRouterInterface extends utils.Interface {
|
|
|
184
195
|
encodeFunctionData(functionFragment: "unenrollRemoteRouter(uint32)", values: [PromiseOrValue<BigNumberish>]): string;
|
|
185
196
|
encodeFunctionData(functionFragment: "unenrollRemoteRouters", values: [PromiseOrValue<BigNumberish>[]]): string;
|
|
186
197
|
encodeFunctionData(functionFragment: "unenrollRemoteRouters(uint32[])", values: [PromiseOrValue<BigNumberish>[]]): string;
|
|
198
|
+
decodeFunctionResult(functionFragment: "accountOwners", data: BytesLike): Result;
|
|
199
|
+
decodeFunctionResult(functionFragment: "accountOwners(address)", data: BytesLike): Result;
|
|
187
200
|
decodeFunctionResult(functionFragment: "callRemote(uint32,address,uint256,bytes)", data: BytesLike): Result;
|
|
188
201
|
decodeFunctionResult(functionFragment: "callRemote(uint32,(bytes32,uint256,bytes)[],bytes)", data: BytesLike): Result;
|
|
189
202
|
decodeFunctionResult(functionFragment: "callRemote(uint32,(bytes32,uint256,bytes)[])", data: BytesLike): Result;
|
|
@@ -222,6 +235,8 @@ export interface InterchainAccountRouterInterface extends utils.Interface {
|
|
|
222
235
|
decodeFunctionResult(functionFragment: "mailbox()", data: BytesLike): Result;
|
|
223
236
|
decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
|
|
224
237
|
decodeFunctionResult(functionFragment: "owner()", data: BytesLike): Result;
|
|
238
|
+
decodeFunctionResult(functionFragment: "quoteGasPayment(uint32,bytes,uint256)", data: BytesLike): Result;
|
|
239
|
+
decodeFunctionResult(functionFragment: "quoteGasPayment(uint32)", data: BytesLike): Result;
|
|
225
240
|
decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result;
|
|
226
241
|
decodeFunctionResult(functionFragment: "renounceOwnership()", data: BytesLike): Result;
|
|
227
242
|
decodeFunctionResult(functionFragment: "routers", data: BytesLike): Result;
|
|
@@ -318,6 +333,14 @@ export interface InterchainAccountRouter extends BaseContract {
|
|
|
318
333
|
once: OnEvent<this>;
|
|
319
334
|
removeListener: OnEvent<this>;
|
|
320
335
|
functions: {
|
|
336
|
+
accountOwners(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[number, string] & {
|
|
337
|
+
origin: number;
|
|
338
|
+
owner: string;
|
|
339
|
+
}>;
|
|
340
|
+
"accountOwners(address)"(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[number, string] & {
|
|
341
|
+
origin: number;
|
|
342
|
+
owner: string;
|
|
343
|
+
}>;
|
|
321
344
|
"callRemote(uint32,address,uint256,bytes)"(_destination: PromiseOrValue<BigNumberish>, _to: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: PayableOverrides & {
|
|
322
345
|
from?: PromiseOrValue<string>;
|
|
323
346
|
}): Promise<ContractTransaction>;
|
|
@@ -396,6 +419,12 @@ export interface InterchainAccountRouter extends BaseContract {
|
|
|
396
419
|
"mailbox()"(overrides?: CallOverrides): Promise<[string]>;
|
|
397
420
|
owner(overrides?: CallOverrides): Promise<[string]>;
|
|
398
421
|
"owner()"(overrides?: CallOverrides): Promise<[string]>;
|
|
422
|
+
"quoteGasPayment(uint32,bytes,uint256)"(_destination: PromiseOrValue<BigNumberish>, _messageBody: PromiseOrValue<BytesLike>, gasLimit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber] & {
|
|
423
|
+
_gasPayment: BigNumber;
|
|
424
|
+
}>;
|
|
425
|
+
"quoteGasPayment(uint32)"(_destination: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber] & {
|
|
426
|
+
_gasPayment: BigNumber;
|
|
427
|
+
}>;
|
|
399
428
|
renounceOwnership(overrides?: Overrides & {
|
|
400
429
|
from?: PromiseOrValue<string>;
|
|
401
430
|
}): Promise<ContractTransaction>;
|
|
@@ -435,6 +464,14 @@ export interface InterchainAccountRouter extends BaseContract {
|
|
|
435
464
|
from?: PromiseOrValue<string>;
|
|
436
465
|
}): Promise<ContractTransaction>;
|
|
437
466
|
};
|
|
467
|
+
accountOwners(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[number, string] & {
|
|
468
|
+
origin: number;
|
|
469
|
+
owner: string;
|
|
470
|
+
}>;
|
|
471
|
+
"accountOwners(address)"(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[number, string] & {
|
|
472
|
+
origin: number;
|
|
473
|
+
owner: string;
|
|
474
|
+
}>;
|
|
438
475
|
"callRemote(uint32,address,uint256,bytes)"(_destination: PromiseOrValue<BigNumberish>, _to: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: PayableOverrides & {
|
|
439
476
|
from?: PromiseOrValue<string>;
|
|
440
477
|
}): Promise<ContractTransaction>;
|
|
@@ -513,6 +550,8 @@ export interface InterchainAccountRouter extends BaseContract {
|
|
|
513
550
|
"mailbox()"(overrides?: CallOverrides): Promise<string>;
|
|
514
551
|
owner(overrides?: CallOverrides): Promise<string>;
|
|
515
552
|
"owner()"(overrides?: CallOverrides): Promise<string>;
|
|
553
|
+
"quoteGasPayment(uint32,bytes,uint256)"(_destination: PromiseOrValue<BigNumberish>, _messageBody: PromiseOrValue<BytesLike>, gasLimit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
|
|
554
|
+
"quoteGasPayment(uint32)"(_destination: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
|
|
516
555
|
renounceOwnership(overrides?: Overrides & {
|
|
517
556
|
from?: PromiseOrValue<string>;
|
|
518
557
|
}): Promise<ContractTransaction>;
|
|
@@ -552,6 +591,14 @@ export interface InterchainAccountRouter extends BaseContract {
|
|
|
552
591
|
from?: PromiseOrValue<string>;
|
|
553
592
|
}): Promise<ContractTransaction>;
|
|
554
593
|
callStatic: {
|
|
594
|
+
accountOwners(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[number, string] & {
|
|
595
|
+
origin: number;
|
|
596
|
+
owner: string;
|
|
597
|
+
}>;
|
|
598
|
+
"accountOwners(address)"(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[number, string] & {
|
|
599
|
+
origin: number;
|
|
600
|
+
owner: string;
|
|
601
|
+
}>;
|
|
555
602
|
"callRemote(uint32,address,uint256,bytes)"(_destination: PromiseOrValue<BigNumberish>, _to: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
|
|
556
603
|
"callRemote(uint32,(bytes32,uint256,bytes)[],bytes)"(_destination: PromiseOrValue<BigNumberish>, _calls: CallLib.CallStruct[], _hookMetadata: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
|
|
557
604
|
"callRemote(uint32,(bytes32,uint256,bytes)[])"(_destination: PromiseOrValue<BigNumberish>, _calls: CallLib.CallStruct[], overrides?: CallOverrides): Promise<string>;
|
|
@@ -590,6 +637,8 @@ export interface InterchainAccountRouter extends BaseContract {
|
|
|
590
637
|
"mailbox()"(overrides?: CallOverrides): Promise<string>;
|
|
591
638
|
owner(overrides?: CallOverrides): Promise<string>;
|
|
592
639
|
"owner()"(overrides?: CallOverrides): Promise<string>;
|
|
640
|
+
"quoteGasPayment(uint32,bytes,uint256)"(_destination: PromiseOrValue<BigNumberish>, _messageBody: PromiseOrValue<BytesLike>, gasLimit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
|
|
641
|
+
"quoteGasPayment(uint32)"(_destination: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
|
|
593
642
|
renounceOwnership(overrides?: CallOverrides): Promise<void>;
|
|
594
643
|
"renounceOwnership()"(overrides?: CallOverrides): Promise<void>;
|
|
595
644
|
routers(_domain: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
|
|
@@ -618,6 +667,8 @@ export interface InterchainAccountRouter extends BaseContract {
|
|
|
618
667
|
RemoteIsmEnrolled(domain?: PromiseOrValue<BigNumberish> | null, ism?: null): RemoteIsmEnrolledEventFilter;
|
|
619
668
|
};
|
|
620
669
|
estimateGas: {
|
|
670
|
+
accountOwners(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
|
|
671
|
+
"accountOwners(address)"(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
|
|
621
672
|
"callRemote(uint32,address,uint256,bytes)"(_destination: PromiseOrValue<BigNumberish>, _to: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: PayableOverrides & {
|
|
622
673
|
from?: PromiseOrValue<string>;
|
|
623
674
|
}): Promise<BigNumber>;
|
|
@@ -696,6 +747,8 @@ export interface InterchainAccountRouter extends BaseContract {
|
|
|
696
747
|
"mailbox()"(overrides?: CallOverrides): Promise<BigNumber>;
|
|
697
748
|
owner(overrides?: CallOverrides): Promise<BigNumber>;
|
|
698
749
|
"owner()"(overrides?: CallOverrides): Promise<BigNumber>;
|
|
750
|
+
"quoteGasPayment(uint32,bytes,uint256)"(_destination: PromiseOrValue<BigNumberish>, _messageBody: PromiseOrValue<BytesLike>, gasLimit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
|
|
751
|
+
"quoteGasPayment(uint32)"(_destination: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
|
|
699
752
|
renounceOwnership(overrides?: Overrides & {
|
|
700
753
|
from?: PromiseOrValue<string>;
|
|
701
754
|
}): Promise<BigNumber>;
|
|
@@ -736,6 +789,8 @@ export interface InterchainAccountRouter extends BaseContract {
|
|
|
736
789
|
}): Promise<BigNumber>;
|
|
737
790
|
};
|
|
738
791
|
populateTransaction: {
|
|
792
|
+
accountOwners(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
793
|
+
"accountOwners(address)"(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
739
794
|
"callRemote(uint32,address,uint256,bytes)"(_destination: PromiseOrValue<BigNumberish>, _to: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: PayableOverrides & {
|
|
740
795
|
from?: PromiseOrValue<string>;
|
|
741
796
|
}): Promise<PopulatedTransaction>;
|
|
@@ -814,6 +869,8 @@ export interface InterchainAccountRouter extends BaseContract {
|
|
|
814
869
|
"mailbox()"(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
815
870
|
owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
816
871
|
"owner()"(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
872
|
+
"quoteGasPayment(uint32,bytes,uint256)"(_destination: PromiseOrValue<BigNumberish>, _messageBody: PromiseOrValue<BytesLike>, gasLimit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
873
|
+
"quoteGasPayment(uint32)"(_destination: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
817
874
|
renounceOwnership(overrides?: Overrides & {
|
|
818
875
|
from?: PromiseOrValue<string>;
|
|
819
876
|
}): Promise<PopulatedTransaction>;
|