UNPKG

@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
{ "_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": {} }