@axelar-network/interchain-token-service
Version:
Interchain token service for EVM chains to faciliate interchain token transfers and contract calls
226 lines (225 loc) • 10.9 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "Operator",
"sourceName": "contracts/utils/Operator.sol",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "fromAccount",
"type": "address"
},
{
"internalType": "address",
"name": "toAccount",
"type": "address"
},
{
"internalType": "uint256",
"name": "accountRoles",
"type": "uint256"
}
],
"name": "InvalidProposedRoles",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "accountRoles",
"type": "uint256"
}
],
"name": "MissingAllRoles",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "accountRoles",
"type": "uint256"
}
],
"name": "MissingAnyOfRoles",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint8",
"name": "role",
"type": "uint8"
}
],
"name": "MissingRole",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "account",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "accountRoles",
"type": "uint256"
}
],
"name": "RolesAdded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "fromAccount",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "toAccount",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "accountRoles",
"type": "uint256"
}
],
"name": "RolesProposed",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "account",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "accountRoles",
"type": "uint256"
}
],
"name": "RolesRemoved",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "fromOperator",
"type": "address"
}
],
"name": "acceptOperatorship",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint8",
"name": "role",
"type": "uint8"
}
],
"name": "hasRole",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "addr",
"type": "address"
}
],
"name": "isOperator",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
}
],
"name": "proposeOperatorship",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
}
],
"name": "transferOperatorship",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x6080604052348015600f57600080fd5b506105f38061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80636f3eef62116100505780636f3eef62146100a857806395a8c58d146100bb578063da4886df146100ce57600080fd5b80634a6a42d81461006c5780636d70f7ae14610081575b600080fd5b61007f61007a366004610565565b6100e1565b005b61009461008f366004610565565b610139565b604051901515815260200160405180910390f35b61007f6100b6366004610565565b61014c565b6100946100c9366004610580565b61018e565b61007f6100dc366004610565565b6101b0565b60016100fc6100ef336101bf565b600160ff84161b16151590565b6101295760405163bb6c163960e01b815233600482015260ff821660248201526044015b60405180910390fd5b610135338360016101d3565b5050565b600061014682600161018e565b92915050565b600161015a6100ef336101bf565b6101825760405163bb6c163960e01b815233600482015260ff82166024820152604401610120565b610135338360016101e9565b60006101a961019c846101bf565b600160ff85161b16151590565b9392505050565b6101bc813360016101fa565b50565b6000806101cb8361020b565b549392505050565b6101e48383600160ff85161b610278565b505050565b6101e48383600160ff85161b6102ce565b6101e48383600160ff85161b610366565b60007fde9bdca322e1a848f72215bc15cf2c87fe7749145789a9ee281a2a6290af26ab8260405160200161025b92919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b604051602081830303815290604052805190602001209050919050565b61028b610284846101bf565b8216821490565b6102ba57604051631fe9beed60e21b81526001600160a01b038416600482015260248101829052604401610120565b6102c483826103d9565b6101e4828261043b565b6102da610284846101bf565b61030957604051631fe9beed60e21b81526001600160a01b038416600482015260248101829052604401610120565b61031483838361048f565b816001600160a01b0316836001600160a01b03167ff7158d1591c2cf17c0e6b9459d86365c47fe0969c79f40ef49e0c437d8f399148360405161035991815260200190565b60405180910390a3505050565b8061037184846104a4565b146103c2576040517f6004fe400000000000000000000000000000000000000000000000000000000081526001600160a01b0380851660048301528316602482015260448101829052606401610120565b6103ce8383600061048f565b6101e4838383610278565b600081196103e6846101bf565b1690506103f383826104ba565b826001600160a01b03167fccf920c8facee98a9c2a6c6124f2857b87b17e9f3a819bfcc6945196ee77366b8360405161042e91815260200190565b60405180910390a2505050565b600081610447846101bf565b17905061045483826104ba565b826001600160a01b03167f34e73c57659d4b6809b53db4feee9b007b892e978114eda420d2991aba1501438360405161042e91815260200190565b600061049b84846104cd565b91909155505050565b6000806104b184846104cd565b54949350505050565b60006104c58361020b565b919091555050565b60007ff96e07b2f4fbb81c31567d2b261589af429e98f0958d53f7e6ad5d63aea0ab7c838360405160200161052b93929190928352606091821b6bffffffffffffffffffffffff199081166020850152911b16603482015260480190565b60405160208183030381529060405280519060200120905092915050565b80356001600160a01b038116811461056057600080fd5b919050565b60006020828403121561057757600080fd5b6101a982610549565b6000806040838503121561059357600080fd5b61059c83610549565b9150602083013560ff811681146105b257600080fd5b80915050925092905056fea2646970667358221220ca97fd3ef2eea32aa34ea886e31b3540937e139e1ede91a87ce125137296844064736f6c634300081b0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100675760003560e01c80636f3eef62116100505780636f3eef62146100a857806395a8c58d146100bb578063da4886df146100ce57600080fd5b80634a6a42d81461006c5780636d70f7ae14610081575b600080fd5b61007f61007a366004610565565b6100e1565b005b61009461008f366004610565565b610139565b604051901515815260200160405180910390f35b61007f6100b6366004610565565b61014c565b6100946100c9366004610580565b61018e565b61007f6100dc366004610565565b6101b0565b60016100fc6100ef336101bf565b600160ff84161b16151590565b6101295760405163bb6c163960e01b815233600482015260ff821660248201526044015b60405180910390fd5b610135338360016101d3565b5050565b600061014682600161018e565b92915050565b600161015a6100ef336101bf565b6101825760405163bb6c163960e01b815233600482015260ff82166024820152604401610120565b610135338360016101e9565b60006101a961019c846101bf565b600160ff85161b16151590565b9392505050565b6101bc813360016101fa565b50565b6000806101cb8361020b565b549392505050565b6101e48383600160ff85161b610278565b505050565b6101e48383600160ff85161b6102ce565b6101e48383600160ff85161b610366565b60007fde9bdca322e1a848f72215bc15cf2c87fe7749145789a9ee281a2a6290af26ab8260405160200161025b92919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b604051602081830303815290604052805190602001209050919050565b61028b610284846101bf565b8216821490565b6102ba57604051631fe9beed60e21b81526001600160a01b038416600482015260248101829052604401610120565b6102c483826103d9565b6101e4828261043b565b6102da610284846101bf565b61030957604051631fe9beed60e21b81526001600160a01b038416600482015260248101829052604401610120565b61031483838361048f565b816001600160a01b0316836001600160a01b03167ff7158d1591c2cf17c0e6b9459d86365c47fe0969c79f40ef49e0c437d8f399148360405161035991815260200190565b60405180910390a3505050565b8061037184846104a4565b146103c2576040517f6004fe400000000000000000000000000000000000000000000000000000000081526001600160a01b0380851660048301528316602482015260448101829052606401610120565b6103ce8383600061048f565b6101e4838383610278565b600081196103e6846101bf565b1690506103f383826104ba565b826001600160a01b03167fccf920c8facee98a9c2a6c6124f2857b87b17e9f3a819bfcc6945196ee77366b8360405161042e91815260200190565b60405180910390a2505050565b600081610447846101bf565b17905061045483826104ba565b826001600160a01b03167f34e73c57659d4b6809b53db4feee9b007b892e978114eda420d2991aba1501438360405161042e91815260200190565b600061049b84846104cd565b91909155505050565b6000806104b184846104cd565b54949350505050565b60006104c58361020b565b919091555050565b60007ff96e07b2f4fbb81c31567d2b261589af429e98f0958d53f7e6ad5d63aea0ab7c838360405160200161052b93929190928352606091821b6bffffffffffffffffffffffff199081166020850152911b16603482015260480190565b60405160208183030381529060405280519060200120905092915050565b80356001600160a01b038116811461056057600080fd5b919050565b60006020828403121561057757600080fd5b6101a982610549565b6000806040838503121561059357600080fd5b61059c83610549565b9150602083013560ff811681146105b257600080fd5b80915050925092905056fea2646970667358221220ca97fd3ef2eea32aa34ea886e31b3540937e139e1ede91a87ce125137296844064736f6c634300081b0033",
"linkReferences": {},
"deployedLinkReferences": {}
}