UNPKG

@kaiachain/kss-bridges-celer

Version:
487 lines (486 loc) 35.9 kB
{ "_format": "hh-sol-artifact-1", "contractName": "SwapBridgeToken", "sourceName": "contracts/pegged/tokens/SwapBridgeToken.sol", "abi": [ { "inputs": [ { "internalType": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" }, { "internalType": "address", "name": "bridge_", "type": "address" }, { "internalType": "address", "name": "canonical_", "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": "approveCanonical", "outputs": [], "stateMutability": "nonpayable", "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": "canonical", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "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": [ { "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": "revokeCanonical", "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": "0x60a06040523480156200001157600080fd5b5060405162001b2638038062001b2683398101604081905262000034916200028f565b8351849084906200004d906003906020850190620000ff565b50805162000063906004906020840190620000ff565b505050620000806200007a620000a960201b60201c565b620000ad565b600680546001600160a01b0319166001600160a01b0393841617905516608052506200035b9050565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b8280546200010d906200031e565b90600052602060002090601f0160209004810192826200013157600085556200017c565b82601f106200014c57805160ff19168380011785556200017c565b828001600101855582156200017c579182015b828111156200017c5782518255916020019190600101906200015f565b506200018a9291506200018e565b5090565b5b808211156200018a57600081556001016200018f565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620001cd57600080fd5b81516001600160401b0380821115620001ea57620001ea620001a5565b604051601f8301601f19908116603f01168101908282118183101715620002155762000215620001a5565b816040528381526020925086838588010111156200023257600080fd5b600091505b8382101562000256578582018301518183018401529082019062000237565b83821115620002685760008385830101525b9695505050505050565b80516001600160a01b03811681146200028a57600080fd5b919050565b60008060008060808587031215620002a657600080fd5b84516001600160401b0380821115620002be57600080fd5b620002cc88838901620001bb565b95506020870151915080821115620002e357600080fd5b50620002f287828801620001bb565b935050620003036040860162000272565b9150620003136060860162000272565b905092959194509250565b600181811c908216806200033357607f821691505b602082108114156200035557634e487b7160e01b600052602260045260246000fd5b50919050565b60805161177e620003a8600039600081816101f2015281816104ed01528181610643015281816106d6015281816108b5015281816108fc01528181610aa00152610b27015261177e6000f3fe608060405234801561001057600080fd5b50600436106101825760003560e01c8063893d20e8116100d8578063a9059cbb1161008c578063e8d2ee0411610066578063e8d2ee0414610358578063ef0f7d2114610360578063f2fde38b1461036857600080fd5b8063a9059cbb146102f9578063dd62ed3e1461030c578063e78cea921461034557600080fd5b806395d89b41116100bd57806395d89b41146102cb5780639dc29fac146102d3578063a457c2d7146102e657600080fd5b8063893d20e8146102b25780638da5cb5b146102ba57600080fd5b8063313ce5671161013a5780636eb38212116101145780636eb382121461026c57806370a0823114610281578063715018a6146102aa57600080fd5b8063313ce5671461022c578063395093511461024657806340c10f191461025957600080fd5b806318160ddd1161016b57806318160ddd146101c857806323b872dd146101da57806326afaadd146101ed57600080fd5b806306fdde0314610187578063095ea7b3146101a5575b600080fd5b61018f61037b565b60405161019c919061154b565b60405180910390f35b6101b86101b336600461159a565b61040d565b604051901515815260200161019c565b6002545b60405190815260200161019c565b6101b86101e83660046115c4565b610423565b6102147f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161019c565b6102346104e9565b60405160ff909116815260200161019c565b6101b861025436600461159a565b610581565b6101b861026736600461159a565b6105bd565b61027f61027a366004611600565b610707565b005b6101cc61028f366004611600565b6001600160a01b031660009081526020819052604090205490565b61027f6107c2565b610214610828565b6005546001600160a01b0316610214565b61018f61083c565b6101b86102e136600461159a565b61084b565b6101b86102f436600461159a565b61098c565b6101b861030736600461159a565b610a33565b6101cc61031a36600461161b565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600654610214906001600160a01b031681565b61027f610a40565b61027f610ac7565b61027f610376366004611600565b610b4d565b60606003805461038a9061164e565b80601f01602080910402602001604051908101604052809291908181526020018280546103b69061164e565b80156104035780601f106103d857610100808354040283529160200191610403565b820191906000526020600020905b8154815290600101906020018083116103e657829003601f168201915b5050505050905090565b600061041a338484610c2f565b50600192915050565b6000610430848484610d53565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156104cf5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160448201527f6c6c6f77616e636500000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6104dc8533858403610c2f565b60019150505b9392505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561054457600080fd5b505afa158015610558573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057c9190611689565b905090565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161041a9185906105b89086906116c2565b610c2f565b6006546000906001600160a01b0316331461061a5760405162461bcd60e51b815260206004820152601460248201527f63616c6c6572206973206e6f742062726964676500000000000000000000000060448201526064016104c6565b6106243083610f52565b604051637b8b499760e11b8152306004820152602481018390526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f716932e90604401602060405180830381600087803b15801561068f57600080fd5b505af11580156106a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c791906116da565b90506106fd6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168583611031565b5060019392505050565b6005546001600160a01b031633146107615760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104c6565b6006805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fe1694c0b21fdceff6411daed547c7463c2341b9695387bc82595b5b9b1851d4a9060200160405180910390a150565b6005546001600160a01b0316331461081c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104c6565b61082660006110c6565b565b600061057c6005546001600160a01b031690565b60606004805461038a9061164e565b6006546000906001600160a01b031633146108a85760405162461bcd60e51b815260206004820152601460248201527f63616c6c6572206973206e6f742062726964676500000000000000000000000060448201526064016104c6565b6108dd6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016843085611125565b6040516304fc692960e21b8152306004820152602481018390526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906313f1a4a490604401602060405180830381600087803b15801561094857600080fd5b505af115801561095c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098091906116da565b90506106fd308261115d565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610a265760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016104c6565b6106fd3385858403610c2f565b600061041a338484610d53565b6005546001600160a01b03163314610a9a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104c6565b610826307f0000000000000000000000000000000000000000000000000000000000000000600019610c2f565b6005546001600160a01b03163314610b215760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104c6565b610826307f00000000000000000000000000000000000000000000000000000000000000006000610c2f565b6005546001600160a01b03163314610ba75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104c6565b6001600160a01b038116610c235760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016104c6565b610c2c816110c6565b50565b6001600160a01b038316610c915760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104c6565b6001600160a01b038216610cf25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104c6565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610dcf5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016104c6565b6001600160a01b038216610e315760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104c6565b6001600160a01b03831660009081526020819052604090205481811015610ec05760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016104c6565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290610ef79084906116c2565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f4391815260200190565b60405180910390a35b50505050565b6001600160a01b038216610fa85760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016104c6565b8060026000828254610fba91906116c2565b90915550506001600160a01b03821660009081526020819052604081208054839290610fe79084906116c2565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6040516001600160a01b0383166024820152604481018290526110c190849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526112ab565b505050565b600580546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6040516001600160a01b0380851660248301528316604482015260648101829052610f4c9085906323b872dd60e01b9060840161105d565b6001600160a01b0382166111bd5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016104c6565b6001600160a01b038216600090815260208190526040902054818110156112315760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016104c6565b6001600160a01b03831660009081526020819052604081208383039055600280548492906112609084906116f3565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b6000611300826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113909092919063ffffffff16565b8051909150156110c1578080602001905181019061131e919061170a565b6110c15760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016104c6565b606061139f84846000856113a7565b949350505050565b60608247101561141f5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016104c6565b843b61146d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104c6565b600080866001600160a01b03168587604051611489919061172c565b60006040518083038185875af1925050503d80600081146114c6576040519150601f19603f3d011682016040523d82523d6000602084013e6114cb565b606091505b50915091506114db8282866114e6565b979650505050505050565b606083156114f55750816104e2565b8251156115055782518084602001fd5b8160405162461bcd60e51b81526004016104c6919061154b565b60005b8381101561153a578181015183820152602001611522565b83811115610f4c5750506000910152565b602081526000825180602084015261156a81604085016020870161151f565b601f01601f19169190910160400192915050565b80356001600160a01b038116811461159557600080fd5b919050565b600080604083850312156115ad57600080fd5b6115b68361157e565b946020939093013593505050565b6000806000606084860312156115d957600080fd5b6115e28461157e565b92506115f06020850161157e565b9150604084013590509250925092565b60006020828403121561161257600080fd5b6104e28261157e565b6000806040838503121561162e57600080fd5b6116378361157e565b91506116456020840161157e565b90509250929050565b600181811c9082168061166257607f821691505b6020821081141561168357634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561169b57600080fd5b815160ff811681146104e257600080fd5b634e487b7160e01b600052601160045260246000fd5b600082198211156116d5576116d56116ac565b500190565b6000602082840312156116ec57600080fd5b5051919050565b600082821015611705576117056116ac565b500390565b60006020828403121561171c57600080fd5b815180151581146104e257600080fd5b6000825161173e81846020870161151f565b919091019291505056fea26469706673582212205641a96448b1abeea2dd54b5e6e3e44d661634e0d5bccd934f7d9a573b23650b64736f6c63430008090033", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101825760003560e01c8063893d20e8116100d8578063a9059cbb1161008c578063e8d2ee0411610066578063e8d2ee0414610358578063ef0f7d2114610360578063f2fde38b1461036857600080fd5b8063a9059cbb146102f9578063dd62ed3e1461030c578063e78cea921461034557600080fd5b806395d89b41116100bd57806395d89b41146102cb5780639dc29fac146102d3578063a457c2d7146102e657600080fd5b8063893d20e8146102b25780638da5cb5b146102ba57600080fd5b8063313ce5671161013a5780636eb38212116101145780636eb382121461026c57806370a0823114610281578063715018a6146102aa57600080fd5b8063313ce5671461022c578063395093511461024657806340c10f191461025957600080fd5b806318160ddd1161016b57806318160ddd146101c857806323b872dd146101da57806326afaadd146101ed57600080fd5b806306fdde0314610187578063095ea7b3146101a5575b600080fd5b61018f61037b565b60405161019c919061154b565b60405180910390f35b6101b86101b336600461159a565b61040d565b604051901515815260200161019c565b6002545b60405190815260200161019c565b6101b86101e83660046115c4565b610423565b6102147f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161019c565b6102346104e9565b60405160ff909116815260200161019c565b6101b861025436600461159a565b610581565b6101b861026736600461159a565b6105bd565b61027f61027a366004611600565b610707565b005b6101cc61028f366004611600565b6001600160a01b031660009081526020819052604090205490565b61027f6107c2565b610214610828565b6005546001600160a01b0316610214565b61018f61083c565b6101b86102e136600461159a565b61084b565b6101b86102f436600461159a565b61098c565b6101b861030736600461159a565b610a33565b6101cc61031a36600461161b565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600654610214906001600160a01b031681565b61027f610a40565b61027f610ac7565b61027f610376366004611600565b610b4d565b60606003805461038a9061164e565b80601f01602080910402602001604051908101604052809291908181526020018280546103b69061164e565b80156104035780601f106103d857610100808354040283529160200191610403565b820191906000526020600020905b8154815290600101906020018083116103e657829003601f168201915b5050505050905090565b600061041a338484610c2f565b50600192915050565b6000610430848484610d53565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156104cf5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160448201527f6c6c6f77616e636500000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6104dc8533858403610c2f565b60019150505b9392505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561054457600080fd5b505afa158015610558573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057c9190611689565b905090565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161041a9185906105b89086906116c2565b610c2f565b6006546000906001600160a01b0316331461061a5760405162461bcd60e51b815260206004820152601460248201527f63616c6c6572206973206e6f742062726964676500000000000000000000000060448201526064016104c6565b6106243083610f52565b604051637b8b499760e11b8152306004820152602481018390526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f716932e90604401602060405180830381600087803b15801561068f57600080fd5b505af11580156106a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c791906116da565b90506106fd6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168583611031565b5060019392505050565b6005546001600160a01b031633146107615760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104c6565b6006805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fe1694c0b21fdceff6411daed547c7463c2341b9695387bc82595b5b9b1851d4a9060200160405180910390a150565b6005546001600160a01b0316331461081c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104c6565b61082660006110c6565b565b600061057c6005546001600160a01b031690565b60606004805461038a9061164e565b6006546000906001600160a01b031633146108a85760405162461bcd60e51b815260206004820152601460248201527f63616c6c6572206973206e6f742062726964676500000000000000000000000060448201526064016104c6565b6108dd6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016843085611125565b6040516304fc692960e21b8152306004820152602481018390526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906313f1a4a490604401602060405180830381600087803b15801561094857600080fd5b505af115801561095c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098091906116da565b90506106fd308261115d565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610a265760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016104c6565b6106fd3385858403610c2f565b600061041a338484610d53565b6005546001600160a01b03163314610a9a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104c6565b610826307f0000000000000000000000000000000000000000000000000000000000000000600019610c2f565b6005546001600160a01b03163314610b215760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104c6565b610826307f00000000000000000000000000000000000000000000000000000000000000006000610c2f565b6005546001600160a01b03163314610ba75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104c6565b6001600160a01b038116610c235760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016104c6565b610c2c816110c6565b50565b6001600160a01b038316610c915760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104c6565b6001600160a01b038216610cf25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104c6565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610dcf5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016104c6565b6001600160a01b038216610e315760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104c6565b6001600160a01b03831660009081526020819052604090205481811015610ec05760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016104c6565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290610ef79084906116c2565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f4391815260200190565b60405180910390a35b50505050565b6001600160a01b038216610fa85760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016104c6565b8060026000828254610fba91906116c2565b90915550506001600160a01b03821660009081526020819052604081208054839290610fe79084906116c2565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6040516001600160a01b0383166024820152604481018290526110c190849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526112ab565b505050565b600580546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6040516001600160a01b0380851660248301528316604482015260648101829052610f4c9085906323b872dd60e01b9060840161105d565b6001600160a01b0382166111bd5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016104c6565b6001600160a01b038216600090815260208190526040902054818110156112315760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016104c6565b6001600160a01b03831660009081526020819052604081208383039055600280548492906112609084906116f3565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b6000611300826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113909092919063ffffffff16565b8051909150156110c1578080602001905181019061131e919061170a565b6110c15760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016104c6565b606061139f84846000856113a7565b949350505050565b60608247101561141f5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016104c6565b843b61146d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104c6565b600080866001600160a01b03168587604051611489919061172c565b60006040518083038185875af1925050503d80600081146114c6576040519150601f19603f3d011682016040523d82523d6000602084013e6114cb565b606091505b50915091506114db8282866114e6565b979650505050505050565b606083156114f55750816104e2565b8251156115055782518084602001fd5b8160405162461bcd60e51b81526004016104c6919061154b565b60005b8381101561153a578181015183820152602001611522565b83811115610f4c5750506000910152565b602081526000825180602084015261156a81604085016020870161151f565b601f01601f19169190910160400192915050565b80356001600160a01b038116811461159557600080fd5b919050565b600080604083850312156115ad57600080fd5b6115b68361157e565b946020939093013593505050565b6000806000606084860312156115d957600080fd5b6115e28461157e565b92506115f06020850161157e565b9150604084013590509250925092565b60006020828403121561161257600080fd5b6104e28261157e565b6000806040838503121561162e57600080fd5b6116378361157e565b91506116456020840161157e565b90509250929050565b600181811c9082168061166257607f821691505b6020821081141561168357634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561169b57600080fd5b815160ff811681146104e257600080fd5b634e487b7160e01b600052601160045260246000fd5b600082198211156116d5576116d56116ac565b500190565b6000602082840312156116ec57600080fd5b5051919050565b600082821015611705576117056116ac565b500390565b60006020828403121561171c57600080fd5b815180151581146104e257600080fd5b6000825161173e81846020870161151f565b919091019291505056fea26469706673582212205641a96448b1abeea2dd54b5e6e3e44d661634e0d5bccd934f7d9a573b23650b64736f6c63430008090033", "linkReferences": {}, "deployedLinkReferences": {} }