UNPKG

@kaiachain/kss-bridges-celer

Version:
486 lines (485 loc) 35.8 kB
{ "_format": "hh-sol-artifact-1", "contractName": "MaiBridgeToken", "sourceName": "contracts/pegged/tokens/customized/MaiBridgeToken.sol", "abi": [ { "inputs": [ { "internalType": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" }, { "internalType": "address", "name": "bridge_", "type": "address" }, { "internalType": "address", "name": "maihub_", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "bridge", "type": "address" } ], "name": "BridgeUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "asset", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "bridge", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_from", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "burn", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "maihub", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "mint", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_bridge", "type": "address" } ], "name": "updateBridge", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x60c06040523480156200001157600080fd5b5060405162001b6f38038062001b6f833981016040819052620000349162000316565b8351849084906200004d90600390602085019062000186565b5080516200006390600490602084019062000186565b505050620000806200007a6200013060201b60201c565b62000134565b600680546001600160a01b0319166001600160a01b038481169190911790915581166080819052604080516338d52e0f60e01b815290516338d52e0f91600480820192602092909190829003018186803b158015620000de57600080fd5b505afa158015620000f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001199190620003a5565b6001600160a01b031660a052506200040792505050565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b8280546200019490620003ca565b90600052602060002090601f016020900481019282620001b8576000855562000203565b82601f10620001d357805160ff191683800117855562000203565b8280016001018555821562000203579182015b8281111562000203578251825591602001919060010190620001e6565b506200021192915062000215565b5090565b5b8082111562000211576000815560010162000216565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200025457600080fd5b81516001600160401b03808211156200027157620002716200022c565b604051601f8301601f19908116603f011681019082821181831017156200029c576200029c6200022c565b81604052838152602092508683858801011115620002b957600080fd5b600091505b83821015620002dd5785820183015181830184015290820190620002be565b83821115620002ef5760008385830101525b9695505050505050565b80516001600160a01b03811681146200031157600080fd5b919050565b600080600080608085870312156200032d57600080fd5b84516001600160401b03808211156200034557600080fd5b620003538883890162000242565b955060208701519150808211156200036a57600080fd5b50620003798782880162000242565b9350506200038a60408601620002f9565b91506200039a60608601620002f9565b905092959194509250565b600060208284031215620003b857600080fd5b620003c382620002f9565b9392505050565b600181811c90821680620003df57607f821691505b602082108114156200040157634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05161170a6200046560003960008181610201015281816104f9015281816106e8015281816108bf015261092d0152600081816103060152818161063601528181610677015281816108fe01526109c6015261170a6000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c8063715018a6116100d8578063a457c2d71161008c578063dd62ed3e11610066578063dd62ed3e14610328578063e78cea9214610361578063f2fde38b1461037457600080fd5b8063a457c2d7146102db578063a9059cbb146102ee578063b80781bd1461030157600080fd5b80638da5cb5b116100bd5780638da5cb5b146102af57806395d89b41146102c05780639dc29fac146102c857600080fd5b8063715018a61461029f578063893d20e8146102a757600080fd5b806338d52e0f1161012f57806340c10f191161011457806340c10f191461024e5780636eb382121461026157806370a082311461027657600080fd5b806338d52e0f146101fc578063395093511461023b57600080fd5b806318160ddd1161016057806318160ddd146101bd57806323b872dd146101cf578063313ce567146101e257600080fd5b806306fdde031461017c578063095ea7b31461019a575b600080fd5b610184610387565b60405161019191906114f0565b60405180910390f35b6101ad6101a836600461153f565b610419565b6040519015158152602001610191565b6002545b604051908152602001610191565b6101ad6101dd366004611569565b61042f565b6101ea6104f5565b60405160ff9091168152602001610191565b6102237f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610191565b6101ad61024936600461153f565b61058d565b6101ad61025c36600461153f565b6105c9565b61027461026f3660046115a5565b610711565b005b6101c16102843660046115a5565b6001600160a01b031660009081526020819052604090205490565b6102746107cc565b610223610832565b6005546001600160a01b0316610223565b610184610846565b6101ad6102d636600461153f565b610855565b6101ad6102e936600461153f565b610a34565b6101ad6102fc36600461153f565b610ae5565b6102237f000000000000000000000000000000000000000000000000000000000000000081565b6101c16103363660046115c0565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600654610223906001600160a01b031681565b6102746103823660046115a5565b610af2565b606060038054610396906115f3565b80601f01602080910402602001604051908101604052809291908181526020018280546103c2906115f3565b801561040f5780601f106103e45761010080835404028352916020019161040f565b820191906000526020600020905b8154815290600101906020018083116103f257829003601f168201915b5050505050905090565b6000610426338484610bd4565b50600192915050565b600061043c848484610cf8565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156104db5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160448201527f6c6c6f77616e636500000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6104e88533858403610bd4565b60019150505b9392505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561055057600080fd5b505afa158015610564573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610588919061162e565b905090565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104269185906105c4908690611667565b610bd4565b6006546000906001600160a01b031633146106265760405162461bcd60e51b815260206004820152601460248201527f63616c6c6572206973206e6f742062726964676500000000000000000000000060448201526064016104d2565b6106303083610ef7565b61065b307f000000000000000000000000000000000000000000000000000000000000000084610bd4565b6040516315b9c5c360e21b8152306004820152602481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906356e7170c90604401600060405180830381600087803b1580156106c357600080fd5b505af11580156106d7573d6000803e3d6000fd5b506104269250506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690508484610fd6565b6005546001600160a01b0316331461076b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104d2565b6006805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fe1694c0b21fdceff6411daed547c7463c2341b9695387bc82595b5b9b1851d4a9060200160405180910390a150565b6005546001600160a01b031633146108265760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104d2565b610830600061106b565b565b60006105886005546001600160a01b031690565b606060048054610396906115f3565b6006546000906001600160a01b031633146108b25760405162461bcd60e51b815260206004820152601460248201527f63616c6c6572206973206e6f742062726964676500000000000000000000000060448201526064016104d2565b6108e76001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168430856110ca565b60405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b390604401602060405180830381600087803b15801561097157600080fd5b505af1158015610985573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a9919061167f565b5060405163086cba5760e11b8152306004820152602481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906310d974ae90604401600060405180830381600087803b158015610a1257600080fd5b505af1158015610a26573d6000803e3d6000fd5b505050506104263083611102565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610ace5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016104d2565b610adb3385858403610bd4565b5060019392505050565b6000610426338484610cf8565b6005546001600160a01b03163314610b4c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104d2565b6001600160a01b038116610bc85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016104d2565b610bd18161106b565b50565b6001600160a01b038316610c365760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104d2565b6001600160a01b038216610c975760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104d2565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d745760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016104d2565b6001600160a01b038216610dd65760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104d2565b6001600160a01b03831660009081526020819052604090205481811015610e655760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016104d2565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290610e9c908490611667565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ee891815260200190565b60405180910390a35b50505050565b6001600160a01b038216610f4d5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016104d2565b8060026000828254610f5f9190611667565b90915550506001600160a01b03821660009081526020819052604081208054839290610f8c908490611667565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6040516001600160a01b03831660248201526044810182905261106690849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152611250565b505050565b600580546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6040516001600160a01b0380851660248301528316604482015260648101829052610ef19085906323b872dd60e01b90608401611002565b6001600160a01b0382166111625760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016104d2565b6001600160a01b038216600090815260208190526040902054818110156111d65760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016104d2565b6001600160a01b03831660009081526020819052604081208383039055600280548492906112059084906116a1565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b60006112a5826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113359092919063ffffffff16565b80519091501561106657808060200190518101906112c3919061167f565b6110665760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016104d2565b6060611344848460008561134c565b949350505050565b6060824710156113c45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016104d2565b843b6114125760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104d2565b600080866001600160a01b0316858760405161142e91906116b8565b60006040518083038185875af1925050503d806000811461146b576040519150601f19603f3d011682016040523d82523d6000602084013e611470565b606091505b509150915061148082828661148b565b979650505050505050565b6060831561149a5750816104ee565b8251156114aa5782518084602001fd5b8160405162461bcd60e51b81526004016104d291906114f0565b60005b838110156114df5781810151838201526020016114c7565b83811115610ef15750506000910152565b602081526000825180602084015261150f8160408501602087016114c4565b601f01601f19169190910160400192915050565b80356001600160a01b038116811461153a57600080fd5b919050565b6000806040838503121561155257600080fd5b61155b83611523565b946020939093013593505050565b60008060006060848603121561157e57600080fd5b61158784611523565b925061159560208501611523565b9150604084013590509250925092565b6000602082840312156115b757600080fd5b6104ee82611523565b600080604083850312156115d357600080fd5b6115dc83611523565b91506115ea60208401611523565b90509250929050565b600181811c9082168061160757607f821691505b6020821081141561162857634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561164057600080fd5b815160ff811681146104ee57600080fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561167a5761167a611651565b500190565b60006020828403121561169157600080fd5b815180151581146104ee57600080fd5b6000828210156116b3576116b3611651565b500390565b600082516116ca8184602087016114c4565b919091019291505056fea26469706673582212205bb6dcbf69fa5eeb534ab18fdbf831d6155262d356db43891c647da25832989464736f6c63430008090033", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101775760003560e01c8063715018a6116100d8578063a457c2d71161008c578063dd62ed3e11610066578063dd62ed3e14610328578063e78cea9214610361578063f2fde38b1461037457600080fd5b8063a457c2d7146102db578063a9059cbb146102ee578063b80781bd1461030157600080fd5b80638da5cb5b116100bd5780638da5cb5b146102af57806395d89b41146102c05780639dc29fac146102c857600080fd5b8063715018a61461029f578063893d20e8146102a757600080fd5b806338d52e0f1161012f57806340c10f191161011457806340c10f191461024e5780636eb382121461026157806370a082311461027657600080fd5b806338d52e0f146101fc578063395093511461023b57600080fd5b806318160ddd1161016057806318160ddd146101bd57806323b872dd146101cf578063313ce567146101e257600080fd5b806306fdde031461017c578063095ea7b31461019a575b600080fd5b610184610387565b60405161019191906114f0565b60405180910390f35b6101ad6101a836600461153f565b610419565b6040519015158152602001610191565b6002545b604051908152602001610191565b6101ad6101dd366004611569565b61042f565b6101ea6104f5565b60405160ff9091168152602001610191565b6102237f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610191565b6101ad61024936600461153f565b61058d565b6101ad61025c36600461153f565b6105c9565b61027461026f3660046115a5565b610711565b005b6101c16102843660046115a5565b6001600160a01b031660009081526020819052604090205490565b6102746107cc565b610223610832565b6005546001600160a01b0316610223565b610184610846565b6101ad6102d636600461153f565b610855565b6101ad6102e936600461153f565b610a34565b6101ad6102fc36600461153f565b610ae5565b6102237f000000000000000000000000000000000000000000000000000000000000000081565b6101c16103363660046115c0565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600654610223906001600160a01b031681565b6102746103823660046115a5565b610af2565b606060038054610396906115f3565b80601f01602080910402602001604051908101604052809291908181526020018280546103c2906115f3565b801561040f5780601f106103e45761010080835404028352916020019161040f565b820191906000526020600020905b8154815290600101906020018083116103f257829003601f168201915b5050505050905090565b6000610426338484610bd4565b50600192915050565b600061043c848484610cf8565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156104db5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160448201527f6c6c6f77616e636500000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6104e88533858403610bd4565b60019150505b9392505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561055057600080fd5b505afa158015610564573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610588919061162e565b905090565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104269185906105c4908690611667565b610bd4565b6006546000906001600160a01b031633146106265760405162461bcd60e51b815260206004820152601460248201527f63616c6c6572206973206e6f742062726964676500000000000000000000000060448201526064016104d2565b6106303083610ef7565b61065b307f000000000000000000000000000000000000000000000000000000000000000084610bd4565b6040516315b9c5c360e21b8152306004820152602481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906356e7170c90604401600060405180830381600087803b1580156106c357600080fd5b505af11580156106d7573d6000803e3d6000fd5b506104269250506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690508484610fd6565b6005546001600160a01b0316331461076b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104d2565b6006805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fe1694c0b21fdceff6411daed547c7463c2341b9695387bc82595b5b9b1851d4a9060200160405180910390a150565b6005546001600160a01b031633146108265760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104d2565b610830600061106b565b565b60006105886005546001600160a01b031690565b606060048054610396906115f3565b6006546000906001600160a01b031633146108b25760405162461bcd60e51b815260206004820152601460248201527f63616c6c6572206973206e6f742062726964676500000000000000000000000060448201526064016104d2565b6108e76001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168430856110ca565b60405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b390604401602060405180830381600087803b15801561097157600080fd5b505af1158015610985573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a9919061167f565b5060405163086cba5760e11b8152306004820152602481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906310d974ae90604401600060405180830381600087803b158015610a1257600080fd5b505af1158015610a26573d6000803e3d6000fd5b505050506104263083611102565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610ace5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016104d2565b610adb3385858403610bd4565b5060019392505050565b6000610426338484610cf8565b6005546001600160a01b03163314610b4c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104d2565b6001600160a01b038116610bc85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016104d2565b610bd18161106b565b50565b6001600160a01b038316610c365760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104d2565b6001600160a01b038216610c975760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104d2565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d745760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016104d2565b6001600160a01b038216610dd65760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104d2565b6001600160a01b03831660009081526020819052604090205481811015610e655760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016104d2565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290610e9c908490611667565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ee891815260200190565b60405180910390a35b50505050565b6001600160a01b038216610f4d5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016104d2565b8060026000828254610f5f9190611667565b90915550506001600160a01b03821660009081526020819052604081208054839290610f8c908490611667565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6040516001600160a01b03831660248201526044810182905261106690849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152611250565b505050565b600580546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6040516001600160a01b0380851660248301528316604482015260648101829052610ef19085906323b872dd60e01b90608401611002565b6001600160a01b0382166111625760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016104d2565b6001600160a01b038216600090815260208190526040902054818110156111d65760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016104d2565b6001600160a01b03831660009081526020819052604081208383039055600280548492906112059084906116a1565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b60006112a5826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113359092919063ffffffff16565b80519091501561106657808060200190518101906112c3919061167f565b6110665760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016104d2565b6060611344848460008561134c565b949350505050565b6060824710156113c45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016104d2565b843b6114125760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104d2565b600080866001600160a01b0316858760405161142e91906116b8565b60006040518083038185875af1925050503d806000811461146b576040519150601f19603f3d011682016040523d82523d6000602084013e611470565b606091505b509150915061148082828661148b565b979650505050505050565b6060831561149a5750816104ee565b8251156114aa5782518084602001fd5b8160405162461bcd60e51b81526004016104d291906114f0565b60005b838110156114df5781810151838201526020016114c7565b83811115610ef15750506000910152565b602081526000825180602084015261150f8160408501602087016114c4565b601f01601f19169190910160400192915050565b80356001600160a01b038116811461153a57600080fd5b919050565b6000806040838503121561155257600080fd5b61155b83611523565b946020939093013593505050565b60008060006060848603121561157e57600080fd5b61158784611523565b925061159560208501611523565b9150604084013590509250925092565b6000602082840312156115b757600080fd5b6104ee82611523565b600080604083850312156115d357600080fd5b6115dc83611523565b91506115ea60208401611523565b90509250929050565b600181811c9082168061160757607f821691505b6020821081141561162857634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561164057600080fd5b815160ff811681146104ee57600080fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561167a5761167a611651565b500190565b60006020828403121561169157600080fd5b815180151581146104ee57600080fd5b6000828210156116b3576116b3611651565b500390565b600082516116ca8184602087016114c4565b919091019291505056fea26469706673582212205bb6dcbf69fa5eeb534ab18fdbf831d6155262d356db43891c647da25832989464736f6c63430008090033", "linkReferences": {}, "deployedLinkReferences": {} }