declare const contract: {
    readonly id: 102;
    readonly address: "0x0cf8ff40a508bdbc39fbe1bb679dcba64e65c7df";
    readonly contract_name: "TransparentUpgradeableProxyV2";
    readonly display_name: "Ronin Gateway V3 Proxy";
    readonly is_deprecated: false;
    readonly is_proxy: true;
    readonly proxy_to: "0x6e5495b13bdbe56ad63962413daed02687de7f2d";
    readonly created_at: 1655882578;
    readonly abi: readonly [{
        readonly type: "constructor";
        readonly stateMutability: "payable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "_logic";
        }, {
            readonly type: "address";
            readonly name: "admin_";
        }, {
            readonly type: "bytes";
            readonly name: "_data";
        }];
    }, {
        readonly name: "AdminChanged";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "previousAdmin";
        }, {
            readonly type: "address";
            readonly name: "newAdmin";
        }];
    }, {
        readonly name: "BeaconUpgraded";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "beacon";
            readonly indexed: true;
        }];
    }, {
        readonly name: "Upgraded";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "implementation";
            readonly indexed: true;
        }];
    }, {
        readonly type: "fallback";
        readonly stateMutability: "payable";
    }, {
        readonly name: "admin";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "address";
            readonly name: "admin_";
        }];
    }, {
        readonly name: "changeAdmin";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "newAdmin";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "functionDelegateCall";
        readonly type: "function";
        readonly stateMutability: "payable";
        readonly inputs: readonly [{
            readonly type: "bytes";
            readonly name: "_data";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "implementation";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "address";
            readonly name: "implementation_";
        }];
    }, {
        readonly name: "upgradeTo";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "newImplementation";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "upgradeToAndCall";
        readonly type: "function";
        readonly stateMutability: "payable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "newImplementation";
        }, {
            readonly type: "bytes";
            readonly name: "data";
        }];
        readonly outputs: readonly [];
    }, {
        readonly type: "receive";
        readonly stateMutability: "payable";
    }];
    readonly proxy_abi: readonly [{
        readonly type: "constructor";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrAlreadyVoted";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "voter";
        }];
    }, {
        readonly name: "ErrContractTypeNotFound";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "uint8";
            readonly name: "contractType";
        }];
    }, {
        readonly name: "ErrERC1155MintingFailed";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrERC20MintingFailed";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrERC721MintingFailed";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrEmptyArray";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrInvalidChainId";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "bytes4";
            readonly name: "msgSig";
        }, {
            readonly type: "uint256";
            readonly name: "actual";
        }, {
            readonly type: "uint256";
            readonly name: "expected";
        }];
    }, {
        readonly name: "ErrInvalidInfo";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrInvalidReceipt";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrInvalidReceiptKind";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrInvalidRequest";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrInvalidThreshold";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "bytes4";
            readonly name: "msgSig";
        }];
    }, {
        readonly name: "ErrInvalidTokenStandard";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrInvalidTrustedThreshold";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrLengthMismatch";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "bytes4";
            readonly name: "msgSig";
        }];
    }, {
        readonly name: "ErrNotWhitelistedToken";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "token";
        }];
    }, {
        readonly name: "ErrNullMinVoteWeightProvided";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "bytes4";
            readonly name: "msgSig";
        }];
    }, {
        readonly name: "ErrQueryForTooSmallQuantity";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrRestricted";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "bytes4";
            readonly name: "fnSig";
        }, {
            readonly type: "uint8";
            readonly name: "standard";
        }];
    }, {
        readonly name: "ErrTokenCouldNotTransfer";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "tuple";
            readonly name: "tokenInfo";
            readonly components: readonly [{
                readonly type: "uint8";
                readonly name: "erc";
            }, {
                readonly type: "uint256";
                readonly name: "id";
            }, {
                readonly type: "uint256";
                readonly name: "quantity";
            }];
        }, {
            readonly type: "address";
            readonly name: "to";
        }, {
            readonly type: "address";
            readonly name: "token";
        }];
    }, {
        readonly name: "ErrTokenCouldNotTransferFrom";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "tuple";
            readonly name: "tokenInfo";
            readonly components: readonly [{
                readonly type: "uint8";
                readonly name: "erc";
            }, {
                readonly type: "uint256";
                readonly name: "id";
            }, {
                readonly type: "uint256";
                readonly name: "quantity";
            }];
        }, {
            readonly type: "address";
            readonly name: "from";
        }, {
            readonly type: "address";
            readonly name: "to";
        }, {
            readonly type: "address";
            readonly name: "token";
        }];
    }, {
        readonly name: "ErrUnauthorized";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "bytes4";
            readonly name: "msgSig";
        }, {
            readonly type: "uint8";
            readonly name: "expectedRole";
        }];
    }, {
        readonly name: "ErrUnsupportedStandard";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrUnsupportedToken";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrWhitelistWrappedTokenInstead";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrWithdrawalsMigrated";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrWithdrawnOnMainchainAlready";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrZeroCodeContract";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "addr";
        }];
    }, {
        readonly name: "ContractUpdated";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "uint8";
            readonly name: "contractType";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "addr";
            readonly indexed: true;
        }];
    }, {
        readonly name: "DepositVoted";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "bridgeOperator";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "id";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "chainId";
            readonly indexed: true;
        }, {
            readonly type: "bytes32";
            readonly name: "receiptHash";
        }];
    }, {
        readonly name: "Deposited";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "bytes32";
            readonly name: "receiptHash";
        }, {
            readonly type: "tuple";
            readonly name: "receipt";
            readonly components: readonly [{
                readonly type: "uint256";
                readonly name: "id";
            }, {
                readonly type: "uint8";
                readonly name: "kind";
            }, {
                readonly type: "tuple";
                readonly name: "mainchain";
                readonly components: readonly [{
                    readonly type: "address";
                    readonly name: "addr";
                }, {
                    readonly type: "address";
                    readonly name: "tokenAddr";
                }, {
                    readonly type: "uint256";
                    readonly name: "chainId";
                }];
            }, {
                readonly type: "tuple";
                readonly name: "ronin";
                readonly components: readonly [{
                    readonly type: "address";
                    readonly name: "addr";
                }, {
                    readonly type: "address";
                    readonly name: "tokenAddr";
                }, {
                    readonly type: "uint256";
                    readonly name: "chainId";
                }];
            }, {
                readonly type: "tuple";
                readonly name: "info";
                readonly components: readonly [{
                    readonly type: "uint8";
                    readonly name: "erc";
                }, {
                    readonly type: "uint256";
                    readonly name: "id";
                }, {
                    readonly type: "uint256";
                    readonly name: "quantity";
                }];
            }];
        }];
    }, {
        readonly name: "Initialized";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "uint8";
            readonly name: "version";
        }];
    }, {
        readonly name: "MainchainWithdrew";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "bytes32";
            readonly name: "receiptHash";
        }, {
            readonly type: "tuple";
            readonly name: "receipt";
            readonly components: readonly [{
                readonly type: "uint256";
                readonly name: "id";
            }, {
                readonly type: "uint8";
                readonly name: "kind";
            }, {
                readonly type: "tuple";
                readonly name: "mainchain";
                readonly components: readonly [{
                    readonly type: "address";
                    readonly name: "addr";
                }, {
                    readonly type: "address";
                    readonly name: "tokenAddr";
                }, {
                    readonly type: "uint256";
                    readonly name: "chainId";
                }];
            }, {
                readonly type: "tuple";
                readonly name: "ronin";
                readonly components: readonly [{
                    readonly type: "address";
                    readonly name: "addr";
                }, {
                    readonly type: "address";
                    readonly name: "tokenAddr";
                }, {
                    readonly type: "uint256";
                    readonly name: "chainId";
                }];
            }, {
                readonly type: "tuple";
                readonly name: "info";
                readonly components: readonly [{
                    readonly type: "uint8";
                    readonly name: "erc";
                }, {
                    readonly type: "uint256";
                    readonly name: "id";
                }, {
                    readonly type: "uint256";
                    readonly name: "quantity";
                }];
            }];
        }];
    }, {
        readonly name: "MinimumThresholdsUpdated";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address[]";
            readonly name: "tokens";
        }, {
            readonly type: "uint256[]";
            readonly name: "threshold";
        }];
    }, {
        readonly name: "Paused";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "account";
        }];
    }, {
        readonly name: "Restricted";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "by";
            readonly indexed: true;
        }, {
            readonly type: "bytes4";
            readonly name: "fnSig";
            readonly indexed: true;
        }, {
            readonly type: "uint8";
            readonly name: "enumBitmap";
        }];
    }, {
        readonly name: "RoleAdminChanged";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "bytes32";
            readonly name: "role";
            readonly indexed: true;
        }, {
            readonly type: "bytes32";
            readonly name: "previousAdminRole";
            readonly indexed: true;
        }, {
            readonly type: "bytes32";
            readonly name: "newAdminRole";
            readonly indexed: true;
        }];
    }, {
        readonly name: "RoleGranted";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "bytes32";
            readonly name: "role";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "account";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "sender";
            readonly indexed: true;
        }];
    }, {
        readonly name: "RoleRevoked";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "bytes32";
            readonly name: "role";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "account";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "sender";
            readonly indexed: true;
        }];
    }, {
        readonly name: "ThresholdUpdated";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "nonce";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "numerator";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "denominator";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "previousNumerator";
        }, {
            readonly type: "uint256";
            readonly name: "previousDenominator";
        }];
    }, {
        readonly name: "TokenMapped";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address[]";
            readonly name: "roninTokens";
        }, {
            readonly type: "address[]";
            readonly name: "mainchainTokens";
        }, {
            readonly type: "uint256[]";
            readonly name: "chainIds";
        }, {
            readonly type: "uint8[]";
            readonly name: "standards";
        }];
    }, {
        readonly name: "TokenUnmapped";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address[]";
            readonly name: "roninTokens";
        }, {
            readonly type: "uint256[]";
            readonly name: "chainIds";
        }];
    }, {
        readonly name: "TrustedThresholdUpdated";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "nonce";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "numerator";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "denominator";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "previousNumerator";
        }, {
            readonly type: "uint256";
            readonly name: "previousDenominator";
        }];
    }, {
        readonly name: "UnRestricted";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "by";
            readonly indexed: true;
        }, {
            readonly type: "bytes4";
            readonly name: "fnSig";
            readonly indexed: true;
        }];
    }, {
        readonly name: "Unpaused";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "account";
        }];
    }, {
        readonly name: "WhitelistUpdated";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "by";
            readonly indexed: true;
        }, {
            readonly type: "address[]";
            readonly name: "tokens";
        }, {
            readonly type: "address[]";
            readonly name: "recipients";
        }, {
            readonly type: "uint64[]";
            readonly name: "remoteChainSelectors";
        }];
    }, {
        readonly name: "WithdrawalRequested";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "bytes32";
            readonly name: "receiptHash";
        }, {
            readonly type: "tuple";
            readonly components: readonly [{
                readonly type: "uint256";
                readonly name: "id";
            }, {
                readonly type: "uint8";
                readonly name: "kind";
            }, {
                readonly type: "tuple";
                readonly name: "mainchain";
                readonly components: readonly [{
                    readonly type: "address";
                    readonly name: "addr";
                }, {
                    readonly type: "address";
                    readonly name: "tokenAddr";
                }, {
                    readonly type: "uint256";
                    readonly name: "chainId";
                }];
            }, {
                readonly type: "tuple";
                readonly name: "ronin";
                readonly components: readonly [{
                    readonly type: "address";
                    readonly name: "addr";
                }, {
                    readonly type: "address";
                    readonly name: "tokenAddr";
                }, {
                    readonly type: "uint256";
                    readonly name: "chainId";
                }];
            }, {
                readonly type: "tuple";
                readonly name: "info";
                readonly components: readonly [{
                    readonly type: "uint8";
                    readonly name: "erc";
                }, {
                    readonly type: "uint256";
                    readonly name: "id";
                }, {
                    readonly type: "uint256";
                    readonly name: "quantity";
                }];
            }];
        }];
    }, {
        readonly name: "WithdrawalSignaturesRequested";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "bytes32";
            readonly name: "receiptHash";
        }, {
            readonly type: "tuple";
            readonly components: readonly [{
                readonly type: "uint256";
                readonly name: "id";
            }, {
                readonly type: "uint8";
                readonly name: "kind";
            }, {
                readonly type: "tuple";
                readonly name: "mainchain";
                readonly components: readonly [{
                    readonly type: "address";
                    readonly name: "addr";
                }, {
                    readonly type: "address";
                    readonly name: "tokenAddr";
                }, {
                    readonly type: "uint256";
                    readonly name: "chainId";
                }];
            }, {
                readonly type: "tuple";
                readonly name: "ronin";
                readonly components: readonly [{
                    readonly type: "address";
                    readonly name: "addr";
                }, {
                    readonly type: "address";
                    readonly name: "tokenAddr";
                }, {
                    readonly type: "uint256";
                    readonly name: "chainId";
                }];
            }, {
                readonly type: "tuple";
                readonly name: "info";
                readonly components: readonly [{
                    readonly type: "uint8";
                    readonly name: "erc";
                }, {
                    readonly type: "uint256";
                    readonly name: "id";
                }, {
                    readonly type: "uint256";
                    readonly name: "quantity";
                }];
            }];
        }];
    }, {
        readonly name: "DEFAULT_ADMIN_ROLE";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "bytes32";
        }];
    }, {
        readonly name: "bulkRequestWithdrawalFor";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "tuple[]";
            readonly name: "requests";
            readonly components: readonly [{
                readonly type: "address";
                readonly name: "recipientAddr";
            }, {
                readonly type: "address";
                readonly name: "tokenAddr";
            }, {
                readonly type: "tuple";
                readonly name: "info";
                readonly components: readonly [{
                    readonly type: "uint8";
                    readonly name: "erc";
                }, {
                    readonly type: "uint256";
                    readonly name: "id";
                }, {
                    readonly type: "uint256";
                    readonly name: "quantity";
                }];
            }];
        }, {
            readonly type: "uint256";
            readonly name: "chainId";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "bulkSetApprovalForAll";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address[]";
            readonly name: "nfts";
        }, {
            readonly type: "address[]";
            readonly name: "operators";
        }, {
            readonly type: "bool[]";
            readonly name: "approveds";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "bulkSubmitWithdrawalSignatures";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "uint256[]";
            readonly name: "withdrawals";
        }, {
            readonly type: "bytes[]";
            readonly name: "signatures";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "checkThreshold";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "_voteWeight";
        }];
        readonly outputs: readonly [{
            readonly type: "bool";
        }];
    }, {
        readonly name: "depositFor";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "tuple";
            readonly name: "_receipt";
            readonly components: readonly [{
                readonly type: "uint256";
                readonly name: "id";
            }, {
                readonly type: "uint8";
                readonly name: "kind";
            }, {
                readonly type: "tuple";
                readonly name: "mainchain";
                readonly components: readonly [{
                    readonly type: "address";
                    readonly name: "addr";
                }, {
                    readonly type: "address";
                    readonly name: "tokenAddr";
                }, {
                    readonly type: "uint256";
                    readonly name: "chainId";
                }];
            }, {
                readonly type: "tuple";
                readonly name: "ronin";
                readonly components: readonly [{
                    readonly type: "address";
                    readonly name: "addr";
                }, {
                    readonly type: "address";
                    readonly name: "tokenAddr";
                }, {
                    readonly type: "uint256";
                    readonly name: "chainId";
                }];
            }, {
                readonly type: "tuple";
                readonly name: "info";
                readonly components: readonly [{
                    readonly type: "uint8";
                    readonly name: "erc";
                }, {
                    readonly type: "uint256";
                    readonly name: "id";
                }, {
                    readonly type: "uint256";
                    readonly name: "quantity";
                }];
            }];
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "depositVote";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "uint256";
        }, {
            readonly type: "uint256";
        }];
        readonly outputs: readonly [{
            readonly type: "uint8";
            readonly name: "status";
        }, {
            readonly type: "bytes32";
            readonly name: "finalHash";
        }, {
            readonly type: "uint256";
            readonly name: "expiredAt";
        }, {
            readonly type: "uint256";
            readonly name: "createdAt";
        }];
    }, {
        readonly name: "depositVoted";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "_chainId";
        }, {
            readonly type: "uint256";
            readonly name: "_depositId";
        }, {
            readonly type: "address";
            readonly name: "_voter";
        }];
        readonly outputs: readonly [{
            readonly type: "bool";
        }];
    }, {
        readonly name: "emergencyPauser";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "address";
        }];
    }, {
        readonly name: "getContract";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "uint8";
            readonly name: "contractType";
        }];
        readonly outputs: readonly [{
            readonly type: "address";
            readonly name: "contract_";
        }];
    }, {
        readonly name: "getMainchainToken";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "_roninToken";
        }, {
            readonly type: "uint256";
            readonly name: "_chainId";
        }];
        readonly outputs: readonly [{
            readonly type: "tuple";
            readonly name: "_token";
            readonly components: readonly [{
                readonly type: "uint8";
                readonly name: "erc";
            }, {
                readonly type: "address";
                readonly name: "tokenAddr";
            }];
        }];
    }, {
        readonly name: "getRoleAdmin";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "bytes32";
            readonly name: "role";
        }];
        readonly outputs: readonly [{
            readonly type: "bytes32";
        }];
    }, {
        readonly name: "getRoleMember";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "bytes32";
            readonly name: "role";
        }, {
            readonly type: "uint256";
            readonly name: "index";
        }];
        readonly outputs: readonly [{
            readonly type: "address";
        }];
    }, {
        readonly name: "getRoleMemberCount";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "bytes32";
            readonly name: "role";
        }];
        readonly outputs: readonly [{
            readonly type: "uint256";
        }];
    }, {
        readonly name: "getThreshold";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "uint256";
            readonly name: "num_";
        }, {
            readonly type: "uint256";
            readonly name: "denom_";
        }];
    }, {
        readonly name: "getTrustedThreshold";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "uint256";
            readonly name: "trustedNum_";
        }, {
            readonly type: "uint256";
            readonly name: "trustedDenom_";
        }];
    }, {
        readonly name: "getWhitelistedAddresses";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "address[]";
            readonly name: "tokens";
        }];
        readonly outputs: readonly [{
            readonly type: "address[]";
            readonly name: "whitelisteds";
        }, {
            readonly type: "uint64[]";
            readonly name: "remoteChainSelectors";
        }];
    }, {
        readonly name: "getWithdrawalSignatures";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "withdrawalId";
        }, {
            readonly type: "address[]";
            readonly name: "operators";
        }];
        readonly outputs: readonly [{
            readonly type: "bytes[]";
            readonly name: "_signatures";
        }];
    }, {
        readonly name: "grantRole";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "bytes32";
            readonly name: "role";
        }, {
            readonly type: "address";
            readonly name: "account";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "hasRole";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "bytes32";
            readonly name: "role";
        }, {
            readonly type: "address";
            readonly name: "account";
        }];
        readonly outputs: readonly [{
            readonly type: "bool";
        }];
    }, {
        readonly name: "initializeV4";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "migrator";
        }, {
            readonly type: "address";
            readonly name: "newEmergencyPauser";
        }, {
            readonly type: "address[]";
            readonly name: "tokens";
        }, {
            readonly type: "address[]";
            readonly name: "recipients";
        }, {
            readonly type: "uint64[]";
            readonly name: "remoteChainSelectors";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "initializeV5";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [];
        readonly outputs: readonly [];
    }, {
        readonly name: "mainchainWithdrew";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "_withdrawalId";
        }];
        readonly outputs: readonly [{
            readonly type: "bool";
        }];
    }, {
        readonly name: "mainchainWithdrewVote";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "uint256";
        }];
        readonly outputs: readonly [{
            readonly type: "uint8";
            readonly name: "status";
        }, {
            readonly type: "bytes32";
            readonly name: "finalHash";
        }, {
            readonly type: "uint256";
            readonly name: "expiredAt";
        }, {
            readonly type: "uint256";
            readonly name: "createdAt";
        }];
    }, {
        readonly name: "mainchainWithdrewVoted";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "_withdrawalId";
        }, {
            readonly type: "address";
            readonly name: "_voter";
        }];
        readonly outputs: readonly [{
            readonly type: "bool";
        }];
    }, {
        readonly name: "mapTokens";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address[]";
            readonly name: "_roninTokens";
        }, {
            readonly type: "address[]";
            readonly name: "_mainchainTokens";
        }, {
            readonly type: "uint256[]";
            readonly name: "_chainIds";
        }, {
            readonly type: "uint8[]";
            readonly name: "_standards";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "mapTokensWithMinThresholds";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address[]";
            readonly name: "roninTokens_";
        }, {
            readonly type: "address[]";
            readonly name: "mainchainTokens_";
        }, {
            readonly type: "uint256[]";
            readonly name: "chainIds_";
        }, {
            readonly type: "uint8[]";
            readonly name: "standards_";
        }, {
            readonly type: "uint256[]";
            readonly name: "minimumThresholds_";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "migrateERC20";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address[]";
            readonly name: "tokens";
        }, {
            readonly type: "uint256[]";
            readonly name: "amounts";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "minimumThreshold";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "mainchainToken";
        }];
        readonly outputs: readonly [{
            readonly type: "uint256";
        }];
    }, {
        readonly name: "minimumVoteWeight";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "uint256";
        }];
    }, {
        readonly name: "nonce";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "uint256";
        }];
    }, {
        readonly name: "onERC1155BatchReceived";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
        }, {
            readonly type: "address";
        }, {
            readonly type: "uint256[]";
        }, {
            readonly type: "uint256[]";
        }, {
            readonly type: "bytes";
        }];
        readonly outputs: readonly [{
            readonly type: "bytes4";
        }];
    }, {
        readonly name: "onERC1155Received";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
        }, {
            readonly type: "address";
        }, {
            readonly type: "uint256";
        }, {
            readonly type: "uint256";
        }, {
            readonly type: "bytes";
        }];
        readonly outputs: readonly [{
            readonly type: "bytes4";
        }];
    }, {
        readonly name: "pause";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [];
        readonly outputs: readonly [];
    }, {
        readonly name: "paused";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "bool";
        }];
    }, {
        readonly name: "renounceRole";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "bytes32";
            readonly name: "role";
        }, {
            readonly type: "address";
            readonly name: "account";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "requestWithdrawalFor";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "tuple";
            readonly name: "_request";
            readonly components: readonly [{
                readonly type: "address";
                readonly name: "recipientAddr";
            }, {
                readonly type: "address";
                readonly name: "tokenAddr";
            }, {
                readonly type: "tuple";
                readonly name: "info";
                readonly components: readonly [{
                    readonly type: "uint8";
                    readonly name: "erc";
                }, {
                    readonly type: "uint256";
                    readonly name: "id";
                }, {
                    readonly type: "uint256";
                    readonly name: "quantity";
                }];
            }];
        }, {
            readonly type: "uint256";
            readonly name: "_chainId";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "requestWithdrawalSignatures";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "_withdrawalId";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "restrict";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "bytes4";
            readonly name: "fnSig";
        }, {
            readonly type: "uint8";
            readonly name: "enumBitmap";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "restricted";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "bytes4";
            readonly name: "fnSig";
        }, {
            readonly type: "uint8";
            readonly name: "standard";
        }];
        readonly outputs: readonly [{
            readonly type: "bool";
            readonly name: "yes";
        }];
    }, {
        readonly name: "revokeRole";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "bytes32";
            readonly name: "role";
        }, {
            readonly type: "address";
            readonly name: "account";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "setContract";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "uint8";
            readonly name: "contractType";
        }, {
            readonly type: "address";
            readonly name: "addr";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "setEmergencyPauser";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "_addr";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "setMinimumThresholds";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address[]";
            readonly name: "mainchainTokens_";
        }, {
            readonly type: "uint256[]";
            readonly name: "thresholds_";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "setThreshold";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "_numerator";
        }, {
            readonly type: "uint256";
            readonly name: "_denominator";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "setTrustedThreshold";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "_trustedNumerator";
        }, {
            readonly type: "uint256";
            readonly name: "_trustedDenominator";
        }];
        readonly outputs: readonly [{
            readonly type: "uint256";
        }, {
            readonly type: "uint256";
        }];
    }, {
        readonly name: "supportsInterface";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "bytes4";
            readonly name: "interfaceId";
        }];
        readonly outputs: readonly [{
            readonly type: "bool";
        }];
    }, {
        readonly name: "tryBulkAcknowledgeMainchainWithdrew";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "uint256[]";
            readonly name: "_withdrawalIds";
        }];
        readonly outputs: readonly [{
            readonly type: "bool[]";
            readonly name: "_executedReceipts";
        }];
    }, {
        readonly name: "tryBulkDepositFor";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "tuple[]";
            readonly name: "receipts";
            readonly components: readonly [{
                readonly type: "uint256";
                readonly name: "id";
            }, {
                readonly type: "uint8";
                readonly name: "kind";
            }, {
                readonly type: "tuple";
                readonly name: "mainchain";
                readonly components: readonly [{
                    readonly type: "address";
                    readonly name: "addr";
                }, {
                    readonly type: "address";
                    readonly name: "tokenAddr";
                }, {
                    readonly type: "uint256";
                    readonly name: "chainId";
                }];
            }, {
                readonly type: "tuple";
                readonly name: "ronin";
                readonly components: readonly [{
                    readonly type: "address";
                    readonly name: "addr";
                }, {
                    readonly type: "address";
                    readonly name: "tokenAddr";
                }, {
                    readonly type: "uint256";
                    readonly name: "chainId";
                }];
            }, {
                readonly type: "tuple";
                readonly name: "info";
                readonly components: readonly [{
                    readonly type: "uint8";
                    readonly name: "erc";
                }, {
                    readonly type: "uint256";
                    readonly name: "id";
                }, {
                    readonly type: "uint256";
                    readonly name: "quantity";
                }];
            }];
        }];
        readonly outputs: readonly [{
            readonly type: "bool[]";
            readonly name: "_executedReceipts";
        }];
    }, {
        readonly name: "unmapTokens";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address[]";
            readonly name: "roninTokens_";
        }, {
            readonly type: "uint256[]";
            readonly name: "chainIds_";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "unpause";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [];
        readonly outputs: readonly [];
    }, {
        readonly name: "whitelist";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address[]";
            readonly name: "tokens";
        }, {
            readonly type: "address[]";
            readonly name: "recipients";
        }, {
            readonly type: "uint64[]";
            readonly name: "remoteChainSelectors";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "withdrawal";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "uint256";
        }];
        readonly outputs: readonly [{
            readonly type: "uint256";
            readonly name: "id";
        }, {
            readonly type: "uint8";
            readonly name: "kind";
        }, {
            readonly type: "tuple";
            readonly name: "mainchain";
            readonly components: readonly [{
                readonly type: "address";
                readonly name: "addr";
            }, {
                readonly type: "address";
                readonly name: "tokenAddr";
            }, {
                readonly type: "uint256";
                readonly name: "chainId";
            }];
        }, {
            readonly type: "tuple";
            readonly name: "ronin";
            readonly components: readonly [{
                readonly type: "address";
                readonly name: "addr";
            }, {
                readonly type: "address";
                readonly name: "tokenAddr";
            }, {
                readonly type: "uint256";
                readonly name: "chainId";
            }];
        }, {
            readonly type: "tuple";
            readonly name: "info";
            readonly components: readonly [{
                readonly type: "uint8";
                readonly name: "erc";
            }, {
                readonly type: "uint256";
                readonly name: "id";
            }, {
                readonly type: "uint256";
                readonly name: "quantity";
            }];
        }];
    }, {
        readonly name: "withdrawalCount";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "uint256";
        }];
    }, {
        readonly name: "withdrawalStatVote";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "uint256";
        }];
        readonly outputs: readonly [{
            readonly type: "uint8";
            readonly name: "status";
        }, {
            readonly type: "bytes32";
            readonly name: "finalHash";
        }, {
            readonly type: "uint256";
            readonly name: "expiredAt";
        }, {
            readonly type: "uint256";
            readonly name: "createdAt";
        }];
    }, {
        readonly name: "wrappedNativeToken";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "address";
        }];
    }, {
        readonly type: "receive";
        readonly stateMutability: "payable";
    }];
};

export { contract as default };
