@animoca/ethereum-contracts-assets
Version:
Base assets contracts
641 lines (640 loc) • 49.2 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "PolygonChildERC20",
"sourceName": "contracts/token/ERC20/polygon/child/PolygonChildERC20.sol",
"abi": [
{
"inputs": [
{
"internalType": "string",
"name": "name_",
"type": "string"
},
{
"internalType": "string",
"name": "symbol_",
"type": "string"
},
{
"internalType": "uint8",
"name": "decimals_",
"type": "uint8"
},
{
"internalType": "address",
"name": "childChainManager",
"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": 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"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "account",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Withdrawn",
"type": "event"
},
{
"inputs": [],
"name": "DOMAIN_SEPARATOR",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"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": "value",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "recipients",
"type": "address[]"
},
{
"internalType": "uint256[]",
"name": "values",
"type": "uint256[]"
}
],
"name": "batchTransfer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address[]",
"name": "recipients",
"type": "address[]"
},
{
"internalType": "uint256[]",
"name": "values",
"type": "uint256[]"
}
],
"name": "batchTransferFrom",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "childChainManager",
"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": "deploymentChainId",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "user",
"type": "address"
},
{
"internalType": "bytes",
"name": "depositData",
"type": "bytes"
}
],
"name": "deposit",
"outputs": [],
"stateMutability": "nonpayable",
"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": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "nonces",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
],
"name": "onERC20Received",
"outputs": [
{
"internalType": "bytes4",
"name": "",
"type": "bytes4"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
},
{
"internalType": "uint8",
"name": "v",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
}
],
"name": "permit",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "safeTransfer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "safeTransferFrom",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes4",
"name": "interfaceId",
"type": "bytes4"
}
],
"name": "supportsInterface",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "symbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "tokenURI",
"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": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "withdraw",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x60e06040523480156200001157600080fd5b506040516200250d3803806200250d833981810160405260808110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b5060409081526020828101519290910151865192945092508291869186918691620001c991600191860190620002d9565b508151620001df906002906020850190620002d9565b507fff0000000000000000000000000000000000000000000000000000000000000060f882901b1660c0524660808190526200021c81856200024f565b60a0525050600780546001600160a01b0319166001600160a01b0394909416939093179092555062000385945050505050565b8051602091820120604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81850152808201929092527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606083015260808201939093523060a0808301919091528351808303909101815260c0909101909252815191012090565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826200031157600085556200035c565b82601f106200032c57805160ff19168380011785556200035c565b828001600101855582156200035c579182015b828111156200035c5782518255916020019190600101906200033f565b506200036a9291506200036e565b5090565b5b808211156200036a57600081556001016200036f565b60805160a05160c05160f81c612153620003ba600039806109db525080610ac5525080610a02528061165052506121536000f3fe608060405234801561001057600080fd5b50600436106101a35760003560e01c806370a08231116100ee578063b88d4fde11610097578063cf2c52cb11610071578063cf2c52cb146106fe578063d505accf1461077e578063dd62ed3e146107cf578063eb795549146107fd576101a3565b8063b88d4fde14610642578063c8291d84146106d2578063cd0d0096146106f6576101a3565b806395d89b41116100c857806395d89b41146105e2578063a457c2d7146105ea578063a9059cbb14610616576101a3565b806370a08231146104d45780637ecebe00146104fa57806388d695b214610520576101a3565b8063313ce567116101505780633c130d901161012a5780633c130d901461034d5780634885b254146103555780634fc3585914610427576101a3565b8063313ce567146102fb5780633644e515146103195780633950935114610321576101a3565b806318160ddd1161018157806318160ddd1461028c57806323b872dd146102a65780632e1a7d4d146102dc576101a3565b806301ffc9a7146101a857806306fdde03146101e3578063095ea7b314610260575b600080fd5b6101cf600480360360208110156101be57600080fd5b50356001600160e01b031916610882565b604080519115158252519081900360200190f35b6101eb6108a2565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561022557818101518382015260200161020d565b50505050905090810190601f1680156102525780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101cf6004803603604081101561027657600080fd5b506001600160a01b038135169060200135610937565b610294610954565b60408051918252519081900360200190f35b6101cf600480360360608110156102bc57600080fd5b506001600160a01b0381358116916020810135909116906040013561095a565b6102f9600480360360208110156102f257600080fd5b5035610979565b005b6103036109d9565b6040805160ff9092168252519081900360200190f35b6102946109fd565b6101cf6004803603604081101561033757600080fd5b506001600160a01b038135169060200135610aeb565b6101eb610c59565b6101cf6004803603606081101561036b57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561039657600080fd5b8201836020820111156103a857600080fd5b803590602001918460208302840111640100000000831117156103ca57600080fd5b9193909290916020810190356401000000008111156103e857600080fd5b8201836020820111156103fa57600080fd5b8035906020019184602083028401116401000000008311171561041c57600080fd5b509092509050610cba565b6104b76004803603608081101561043d57600080fd5b6001600160a01b0382358116926020810135909116916040820135919081019060808101606082013564010000000081111561047857600080fd5b82018360208201111561048a57600080fd5b803590602001918460018302840111640100000000831117156104ac57600080fd5b509092509050610fee565b604080516001600160e01b03199092168252519081900360200190f35b610294600480360360208110156104ea57600080fd5b50356001600160a01b031661109a565b6102946004803603602081101561051057600080fd5b50356001600160a01b03166110b5565b6101cf6004803603604081101561053657600080fd5b81019060208101813564010000000081111561055157600080fd5b82018360208201111561056357600080fd5b8035906020019184602083028401116401000000008311171561058557600080fd5b9193909290916020810190356401000000008111156105a357600080fd5b8201836020820111156105b557600080fd5b803590602001918460208302840111640100000000831117156105d757600080fd5b5090925090506110c7565b6101eb6113d6565b6101cf6004803603604081101561060057600080fd5b506001600160a01b038135169060200135611434565b6101cf6004803603604081101561062c57600080fd5b506001600160a01b0381351690602001356114a3565b6101cf6004803603608081101561065857600080fd5b6001600160a01b0382358116926020810135909116916040820135919081019060808101606082013564010000000081111561069357600080fd5b8201836020820111156106a557600080fd5b803590602001918460018302840111640100000000831117156106c757600080fd5b5090925090506114b7565b6106da61163f565b604080516001600160a01b039092168252519081900360200190f35b61029461164e565b6102f96004803603604081101561071457600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561073f57600080fd5b82018360208201111561075157600080fd5b8035906020019184600183028401116401000000008311171561077357600080fd5b509092509050611672565b6102f9600480360360e081101561079457600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c001356116a9565b610294600480360360408110156107e557600080fd5b506001600160a01b0381358116916020013516611928565b6101cf6004803603606081101561081357600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561084357600080fd5b82018360208201111561085557600080fd5b8035906020019184600183028401116401000000008311171561087757600080fd5b509092509050611953565b600061088d82611ad9565b8061089c575061089c82611c76565b92915050565b60018054604080516020601f6002600019610100878916150201909516949094049384018190048102820181019092528281526060939092909183018282801561092d5780601f106109025761010080835404028352916020019161092d565b820191906000526020600020905b81548152906001019060200180831161091057829003601f168201915b5050505050905090565b600061094b610944611cc2565b8484611cc6565b50600192915050565b60065490565b600061096f610967611cc2565b858585611d83565b5060019392505050565b6000610983611cc2565b905061099181823085611d83565b604080516001600160a01b03831681526020810184905281517f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5929181900390910190a15050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000467f00000000000000000000000000000000000000000000000000000000000000008114610ac35760018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152610abe93859391929091830182828015610ab45780601f10610a8957610100808354040283529160200191610ab4565b820191906000526020600020905b815481529060010190602001808311610a9757829003601f168201915b5050505050611db2565b610ae5565b7f00000000000000000000000000000000000000000000000000000000000000005b91505090565b60006001600160a01b038316610b48576040805162461bcd60e51b815260206004820152601b60248201527f45524332303a207a65726f2061646472657373207370656e6465720000000000604482015290519081900360640190fd5b6000610b52611cc2565b6001600160a01b038082166000908152600560209081526040808320938916835292905220549091508315610c0357808401818111610bd8576040805162461bcd60e51b815260206004820152601960248201527f45524332303a20616c6c6f77616e6365206f766572666c6f7700000000000000604482015290519081900360640190fd5b6001600160a01b038084166000908152600560209081526040808320938a1683529290522081905590505b846001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3506001949350505050565b60038054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561092d5780601f106109025761010080835404028352916020019161092d565b600083828114610d11576040805162461bcd60e51b815260206004820152601a60248201527f45524332303a20696e636f6e73697374656e7420617272617973000000000000604482015290519081900360640190fd5b6001600160a01b0387166000908152600460205260408120549080805b848114610f235760008a8a83818110610d4357fe5b905060200201356001600160a01b0316905060006001600160a01b0316816001600160a01b03161415610dbd576040805162461bcd60e51b815260206004820152601660248201527f45524332303a20746f207a65726f206164647265737300000000000000000000604482015290519081900360640190fd5b6000898984818110610dcb57fe5b90506020020135905080600014610ece57848101858111610e33576040805162461bcd60e51b815260206004820152601660248201527f45524332303a2076616c756573206f766572666c6f7700000000000000000000604482015290519081900360640190fd5b809550826001600160a01b03168e6001600160a01b031614610e72576001600160a01b0383166000908152600460205260409020805483019055610ecc565b86821115610ec7576040805162461bcd60e51b815260206004820152601b60248201527f45524332303a20696e73756666696369656e742062616c616e63650000000000604482015290519081900360640190fd5b938101935b505b816001600160a01b03168d6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050600101610d2e565b508115801590610f335750808214155b15610fad57818303838110610f8f576040805162461bcd60e51b815260206004820152601b60248201527f45524332303a20696e73756666696369656e742062616c616e63650000000000604482015290519081900360640190fd5b6001600160a01b038b16600090815260046020526040902090820190555b6000610fb7611cc2565b9050806001600160a01b03168b6001600160a01b031614610fdd57610fdd8b8285611e3c565b5060019a9950505050505050505050565b6000333014611044576040805162461bcd60e51b815260206004820152601860248201527f4368696c6445524332303a2077726f6e672073656e6465720000000000000000604482015290519081900360640190fd5b604080516001600160a01b03871681526020810186905281517f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5929181900390910190a150634fc3585960e01b95945050505050565b6001600160a01b031660009081526004602052604090205490565b60006020819052908152604090205481565b60008382811461111e576040805162461bcd60e51b815260206004820152601a60248201527f45524332303a20696e636f6e73697374656e7420617272617973000000000000604482015290519081900360640190fd5b6000611128611cc2565b6001600160a01b03811660009081526004602052604081205491925080805b85811461133c5760008b8b8381811061115c57fe5b905060200201356001600160a01b0316905060006001600160a01b0316816001600160a01b031614156111d6576040805162461bcd60e51b815260206004820152601660248201527f45524332303a20746f207a65726f206164647265737300000000000000000000604482015290519081900360640190fd5b60008a8a848181106111e457fe5b905060200201359050806000146112e75784810185811161124c576040805162461bcd60e51b815260206004820152601660248201527f45524332303a2076616c756573206f766572666c6f7700000000000000000000604482015290519081900360640190fd5b809550826001600160a01b0316886001600160a01b03161461128b576001600160a01b03831660009081526004602052604090208054830190556112e5565b868211156112e0576040805162461bcd60e51b815260206004820152601b60248201527f45524332303a20696e73756666696369656e742062616c616e63650000000000604482015290519081900360640190fd5b938101935b505b816001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050600101611147565b50811580159061134c5750808214155b156113c6578183038381106113a8576040805162461bcd60e51b815260206004820152601b60248201527f45524332303a20696e73756666696369656e742062616c616e63650000000000604482015290519081900360640190fd5b6001600160a01b038516600090815260046020526040902090820190555b5060019998505050505050505050565b60028054604080516020601f600019610100600187161502019094168590049384018190048102820181019092528281526060939092909183018282801561092d5780601f106109025761010080835404028352916020019161092d565b60006001600160a01b038316611491576040805162461bcd60e51b815260206004820152601b60248201527f45524332303a207a65726f2061646472657373207370656e6465720000000000604482015290519081900360640190fd5b61094b61149c611cc2565b8484611e3c565b600061094b6114b0611cc2565b8484611f4b565b6000806114c2611cc2565b90506114d081888888611d83565b6114e2866001600160a01b03166120b2565b1561163257634fc3585960e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916866001600160a01b0316634fc35859838a8989896040518663ffffffff1660e01b815260040180866001600160a01b03168152602001856001600160a01b03168152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050602060405180830381600087803b1580156115aa57600080fd5b505af11580156115be573d6000803e3d6000fd5b505050506040513d60208110156115d457600080fd5b50516001600160e01b03191614611632576040805162461bcd60e51b815260206004820152601760248201527f45524332303a207472616e736665722072656675736564000000000000000000604482015290519081900360640190fd5b5060019695505050505050565b6007546001600160a01b031681565b7f000000000000000000000000000000000000000000000000000000000000000081565b61168261167d611cc2565b6120b8565b60008282602081101561169457600080fd5b503590506116a3308583611f4b565b50505050565b6001600160a01b038716611704576040805162461bcd60e51b815260206004820152601960248201527f45524332303a207a65726f2061646472657373206f776e657200000000000000604482015290519081900360640190fd5b83421115611759576040805162461bcd60e51b815260206004820152601560248201527f45524332303a2065787069726564207065726d69740000000000000000000000604482015290519081900360640190fd5b6001600160a01b0380881660008181526020818152604080832080546001810190915581517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98185015280830195909552948b166060850152608084018a905260a084019490945260c08084018990528451808503909101815260e090930190935281519190920120906117eb6109fd565b8260405160200180807f190100000000000000000000000000000000000000000000000000000000000081525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050600060018287878760405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa15801561189f573d6000803e3d6000fd5b505050602060405103519050896001600160a01b0316816001600160a01b031614611911576040805162461bcd60e51b815260206004820152601560248201527f45524332303a20696e76616c6964207065726d69740000000000000000000000604482015290519081900360640190fd5b61191c8a8a8a611cc6565b50505050505050505050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b60008061195e611cc2565b905061196b818787611f4b565b61197d866001600160a01b03166120b2565b15611acd57634fc3585960e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916866001600160a01b0316634fc3585983848989896040518663ffffffff1660e01b815260040180866001600160a01b03168152602001856001600160a01b03168152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050602060405180830381600087803b158015611a4557600080fd5b505af1158015611a59573d6000803e3d6000fd5b505050506040513d6020811015611a6f57600080fd5b50516001600160e01b03191614611acd576040805162461bcd60e51b815260206004820152601760248201527f45524332303a207472616e736665722072656675736564000000000000000000604482015290519081900360640190fd5b50600195945050505050565b60006001600160e01b031982167f01ffc9a7000000000000000000000000000000000000000000000000000000001480611b3c57506001600160e01b031982167f36372b0700000000000000000000000000000000000000000000000000000000145b80611b7057506001600160e01b031982167fa219a02500000000000000000000000000000000000000000000000000000000145b80611ba457506001600160e01b031982167f3c130d9000000000000000000000000000000000000000000000000000000000145b80611bd857506001600160e01b031982167f9d07518600000000000000000000000000000000000000000000000000000000145b80611c0c57506001600160e01b031982167fc05327e600000000000000000000000000000000000000000000000000000000145b80611c4057506001600160e01b031982167f53f41a9700000000000000000000000000000000000000000000000000000000145b8061089c5750506001600160e01b0319167f9d8ff7da000000000000000000000000000000000000000000000000000000001490565b60006001600160e01b031982167f01ffc9a700000000000000000000000000000000000000000000000000000000148061089c5750506001600160e01b031916634fc3585960e01b1490565b3390565b6001600160a01b038216611d21576040805162461bcd60e51b815260206004820152601b60248201527f45524332303a207a65726f2061646472657373207370656e6465720000000000604482015290519081900360640190fd5b6001600160a01b03808416600081815260056020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b611d8e838383611f4b565b836001600160a01b0316836001600160a01b0316146116a3576116a3838583611e3c565b8051602091820120604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81850152808201929092527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606083015260808201939093523060a0808301919091528351808303909101815260c0909101909252815191012090565b6001600160a01b038084166000908152600560209081526040808320938616835292905220546000198114801590611e7357508115155b15611efa57818103818110611ecf576040805162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015290519081900360640190fd5b6001600160a01b03808616600090815260056020908152604080832093881683529290522081905590505b826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a350505050565b6001600160a01b038216611fa6576040805162461bcd60e51b815260206004820152601660248201527f45524332303a20746f207a65726f206164647265737300000000000000000000604482015290519081900360640190fd5b8015612062576001600160a01b03831660009081526004602052604090205481810381811061201c576040805162461bcd60e51b815260206004820152601b60248201527f45524332303a20696e73756666696369656e742062616c616e63650000000000604482015290519081900360640190fd5b836001600160a01b0316856001600160a01b03161461205f576001600160a01b038086166000908152600460205260408082208490559186168152208054840190555b50505b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b3b151590565b6007546001600160a01b0382811691161461211a576040805162461bcd60e51b815260206004820152601a60248201527f4368696c6445524332303a206f6e6c79206465706f7369746f72000000000000604482015290519081900360640190fd5b5056fea26469706673582212201010570c21a7c14134e8d251bde0a5bfde5e8b5343299497cb649ee1ca2af24f64736f6c63430007060033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101a35760003560e01c806370a08231116100ee578063b88d4fde11610097578063cf2c52cb11610071578063cf2c52cb146106fe578063d505accf1461077e578063dd62ed3e146107cf578063eb795549146107fd576101a3565b8063b88d4fde14610642578063c8291d84146106d2578063cd0d0096146106f6576101a3565b806395d89b41116100c857806395d89b41146105e2578063a457c2d7146105ea578063a9059cbb14610616576101a3565b806370a08231146104d45780637ecebe00146104fa57806388d695b214610520576101a3565b8063313ce567116101505780633c130d901161012a5780633c130d901461034d5780634885b254146103555780634fc3585914610427576101a3565b8063313ce567146102fb5780633644e515146103195780633950935114610321576101a3565b806318160ddd1161018157806318160ddd1461028c57806323b872dd146102a65780632e1a7d4d146102dc576101a3565b806301ffc9a7146101a857806306fdde03146101e3578063095ea7b314610260575b600080fd5b6101cf600480360360208110156101be57600080fd5b50356001600160e01b031916610882565b604080519115158252519081900360200190f35b6101eb6108a2565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561022557818101518382015260200161020d565b50505050905090810190601f1680156102525780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101cf6004803603604081101561027657600080fd5b506001600160a01b038135169060200135610937565b610294610954565b60408051918252519081900360200190f35b6101cf600480360360608110156102bc57600080fd5b506001600160a01b0381358116916020810135909116906040013561095a565b6102f9600480360360208110156102f257600080fd5b5035610979565b005b6103036109d9565b6040805160ff9092168252519081900360200190f35b6102946109fd565b6101cf6004803603604081101561033757600080fd5b506001600160a01b038135169060200135610aeb565b6101eb610c59565b6101cf6004803603606081101561036b57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561039657600080fd5b8201836020820111156103a857600080fd5b803590602001918460208302840111640100000000831117156103ca57600080fd5b9193909290916020810190356401000000008111156103e857600080fd5b8201836020820111156103fa57600080fd5b8035906020019184602083028401116401000000008311171561041c57600080fd5b509092509050610cba565b6104b76004803603608081101561043d57600080fd5b6001600160a01b0382358116926020810135909116916040820135919081019060808101606082013564010000000081111561047857600080fd5b82018360208201111561048a57600080fd5b803590602001918460018302840111640100000000831117156104ac57600080fd5b509092509050610fee565b604080516001600160e01b03199092168252519081900360200190f35b610294600480360360208110156104ea57600080fd5b50356001600160a01b031661109a565b6102946004803603602081101561051057600080fd5b50356001600160a01b03166110b5565b6101cf6004803603604081101561053657600080fd5b81019060208101813564010000000081111561055157600080fd5b82018360208201111561056357600080fd5b8035906020019184602083028401116401000000008311171561058557600080fd5b9193909290916020810190356401000000008111156105a357600080fd5b8201836020820111156105b557600080fd5b803590602001918460208302840111640100000000831117156105d757600080fd5b5090925090506110c7565b6101eb6113d6565b6101cf6004803603604081101561060057600080fd5b506001600160a01b038135169060200135611434565b6101cf6004803603604081101561062c57600080fd5b506001600160a01b0381351690602001356114a3565b6101cf6004803603608081101561065857600080fd5b6001600160a01b0382358116926020810135909116916040820135919081019060808101606082013564010000000081111561069357600080fd5b8201836020820111156106a557600080fd5b803590602001918460018302840111640100000000831117156106c757600080fd5b5090925090506114b7565b6106da61163f565b604080516001600160a01b039092168252519081900360200190f35b61029461164e565b6102f96004803603604081101561071457600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561073f57600080fd5b82018360208201111561075157600080fd5b8035906020019184600183028401116401000000008311171561077357600080fd5b509092509050611672565b6102f9600480360360e081101561079457600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c001356116a9565b610294600480360360408110156107e557600080fd5b506001600160a01b0381358116916020013516611928565b6101cf6004803603606081101561081357600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561084357600080fd5b82018360208201111561085557600080fd5b8035906020019184600183028401116401000000008311171561087757600080fd5b509092509050611953565b600061088d82611ad9565b8061089c575061089c82611c76565b92915050565b60018054604080516020601f6002600019610100878916150201909516949094049384018190048102820181019092528281526060939092909183018282801561092d5780601f106109025761010080835404028352916020019161092d565b820191906000526020600020905b81548152906001019060200180831161091057829003601f168201915b5050505050905090565b600061094b610944611cc2565b8484611cc6565b50600192915050565b60065490565b600061096f610967611cc2565b858585611d83565b5060019392505050565b6000610983611cc2565b905061099181823085611d83565b604080516001600160a01b03831681526020810184905281517f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5929181900390910190a15050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000467f00000000000000000000000000000000000000000000000000000000000000008114610ac35760018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152610abe93859391929091830182828015610ab45780601f10610a8957610100808354040283529160200191610ab4565b820191906000526020600020905b815481529060010190602001808311610a9757829003601f168201915b5050505050611db2565b610ae5565b7f00000000000000000000000000000000000000000000000000000000000000005b91505090565b60006001600160a01b038316610b48576040805162461bcd60e51b815260206004820152601b60248201527f45524332303a207a65726f2061646472657373207370656e6465720000000000604482015290519081900360640190fd5b6000610b52611cc2565b6001600160a01b038082166000908152600560209081526040808320938916835292905220549091508315610c0357808401818111610bd8576040805162461bcd60e51b815260206004820152601960248201527f45524332303a20616c6c6f77616e6365206f766572666c6f7700000000000000604482015290519081900360640190fd5b6001600160a01b038084166000908152600560209081526040808320938a1683529290522081905590505b846001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3506001949350505050565b60038054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561092d5780601f106109025761010080835404028352916020019161092d565b600083828114610d11576040805162461bcd60e51b815260206004820152601a60248201527f45524332303a20696e636f6e73697374656e7420617272617973000000000000604482015290519081900360640190fd5b6001600160a01b0387166000908152600460205260408120549080805b848114610f235760008a8a83818110610d4357fe5b905060200201356001600160a01b0316905060006001600160a01b0316816001600160a01b03161415610dbd576040805162461bcd60e51b815260206004820152601660248201527f45524332303a20746f207a65726f206164647265737300000000000000000000604482015290519081900360640190fd5b6000898984818110610dcb57fe5b90506020020135905080600014610ece57848101858111610e33576040805162461bcd60e51b815260206004820152601660248201527f45524332303a2076616c756573206f766572666c6f7700000000000000000000604482015290519081900360640190fd5b809550826001600160a01b03168e6001600160a01b031614610e72576001600160a01b0383166000908152600460205260409020805483019055610ecc565b86821115610ec7576040805162461bcd60e51b815260206004820152601b60248201527f45524332303a20696e73756666696369656e742062616c616e63650000000000604482015290519081900360640190fd5b938101935b505b816001600160a01b03168d6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050600101610d2e565b508115801590610f335750808214155b15610fad57818303838110610f8f576040805162461bcd60e51b815260206004820152601b60248201527f45524332303a20696e73756666696369656e742062616c616e63650000000000604482015290519081900360640190fd5b6001600160a01b038b16600090815260046020526040902090820190555b6000610fb7611cc2565b9050806001600160a01b03168b6001600160a01b031614610fdd57610fdd8b8285611e3c565b5060019a9950505050505050505050565b6000333014611044576040805162461bcd60e51b815260206004820152601860248201527f4368696c6445524332303a2077726f6e672073656e6465720000000000000000604482015290519081900360640190fd5b604080516001600160a01b03871681526020810186905281517f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5929181900390910190a150634fc3585960e01b95945050505050565b6001600160a01b031660009081526004602052604090205490565b60006020819052908152604090205481565b60008382811461111e576040805162461bcd60e51b815260206004820152601a60248201527f45524332303a20696e636f6e73697374656e7420617272617973000000000000604482015290519081900360640190fd5b6000611128611cc2565b6001600160a01b03811660009081526004602052604081205491925080805b85811461133c5760008b8b8381811061115c57fe5b905060200201356001600160a01b0316905060006001600160a01b0316816001600160a01b031614156111d6576040805162461bcd60e51b815260206004820152601660248201527f45524332303a20746f207a65726f206164647265737300000000000000000000604482015290519081900360640190fd5b60008a8a848181106111e457fe5b905060200201359050806000146112e75784810185811161124c576040805162461bcd60e51b815260206004820152601660248201527f45524332303a2076616c756573206f766572666c6f7700000000000000000000604482015290519081900360640190fd5b809550826001600160a01b0316886001600160a01b03161461128b576001600160a01b03831660009081526004602052604090208054830190556112e5565b868211156112e0576040805162461bcd60e51b815260206004820152601b60248201527f45524332303a20696e73756666696369656e742062616c616e63650000000000604482015290519081900360640190fd5b938101935b505b816001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050600101611147565b50811580159061134c5750808214155b156113c6578183038381106113a8576040805162461bcd60e51b815260206004820152601b60248201527f45524332303a20696e73756666696369656e742062616c616e63650000000000604482015290519081900360640190fd5b6001600160a01b038516600090815260046020526040902090820190555b5060019998505050505050505050565b60028054604080516020601f600019610100600187161502019094168590049384018190048102820181019092528281526060939092909183018282801561092d5780601f106109025761010080835404028352916020019161092d565b60006001600160a01b038316611491576040805162461bcd60e51b815260206004820152601b60248201527f45524332303a207a65726f2061646472657373207370656e6465720000000000604482015290519081900360640190fd5b61094b61149c611cc2565b8484611e3c565b600061094b6114b0611cc2565b8484611f4b565b6000806114c2611cc2565b90506114d081888888611d83565b6114e2866001600160a01b03166120b2565b1561163257634fc3585960e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916866001600160a01b0316634fc35859838a8989896040518663ffffffff1660e01b815260040180866001600160a01b03168152602001856001600160a01b03168152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050602060405180830381600087803b1580156115aa57600080fd5b505af11580156115be573d6000803e3d6000fd5b505050506040513d60208110156115d457600080fd5b50516001600160e01b03191614611632576040805162461bcd60e51b815260206004820152601760248201527f45524332303a207472616e736665722072656675736564000000000000000000604482015290519081900360640190fd5b5060019695505050505050565b6007546001600160a01b031681565b7f000000000000000000000000000000000000000000000000000000000000000081565b61168261167d611cc2565b6120b8565b60008282602081101561169457600080fd5b503590506116a3308583611f4b565b50505050565b6001600160a01b038716611704576040805162461bcd60e51b815260206004820152601960248201527f45524332303a207a65726f2061646472657373206f776e657200000000000000604482015290519081900360640190fd5b83421115611759576040805162461bcd60e51b815260206004820152601560248201527f45524332303a2065787069726564207065726d69740000000000000000000000604482015290519081900360640190fd5b6001600160a01b0380881660008181526020818152604080832080546001810190915581517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98185015280830195909552948b166060850152608084018a905260a084019490945260c08084018990528451808503909101815260e090930190935281519190920120906117eb6109fd565b8260405160200180807f190100000000000000000000000000000000000000000000000000000000000081525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050600060018287878760405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa15801561189f573d6000803e3d6000fd5b505050602060405103519050896001600160a01b0316816001600160a01b031614611911576040805162461bcd60e51b815260206004820152601560248201527f45524332303a20696e76616c6964207065726d69740000000000000000000000604482015290519081900360640190fd5b61191c8a8a8a611cc6565b50505050505050505050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b60008061195e611cc2565b905061196b818787611f4b565b61197d866001600160a01b03166120b2565b15611acd57634fc3585960e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916866001600160a01b0316634fc3585983848989896040518663ffffffff1660e01b815260040180866001600160a01b03168152602001856001600160a01b03168152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050602060405180830381600087803b158015611a4557600080fd5b505af1158015611a59573d6000803e3d6000fd5b505050506040513d6020811015611a6f57600080fd5b50516001600160e01b03191614611acd576040805162461bcd60e51b815260206004820152601760248201527f45524332303a207472616e736665722072656675736564000000000000000000604482015290519081900360640190fd5b50600195945050505050565b60006001600160e01b031982167f01ffc9a7000000000000000000000000000000000000000000000000000000001480611b3c57506001600160e01b031982167f36372b0700000000000000000000000000000000000000000000000000000000145b80611b7057506001600160e01b031982167fa219a02500000000000000000000000000000000000000000000000000000000145b80611ba457506001600160e01b031982167f3c130d9000000000000000000000000000000000000000000000000000000000145b80611bd857506001600160e01b031982167f9d07518600000000000000000000000000000000000000000000000000000000145b80611c0c57506001600160e01b031982167fc05327e600000000000000000000000000000000000000000000000000000000145b80611c4057506001600160e01b031982167f53f41a9700000000000000000000000000000000000000000000000000000000145b8061089c5750506001600160e01b0319167f9d8ff7da000000000000000000000000000000000000000000000000000000001490565b60006001600160e01b031982167f01ffc9a700000000000000000000000000000000000000000000000000000000148061089c5750506001600160e01b031916634fc3585960e01b1490565b3390565b6001600160a01b038216611d21576040805162461bcd60e51b815260206004820152601b60248201527f45524332303a207a65726f2061646472657373207370656e6465720000000000604482015290519081900360640190fd5b6001600160a01b03808416600081815260056020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b611d8e838383611f4b565b836001600160a01b0316836001600160a01b0316146116a3576116a3838583611e3c565b8051602091820120604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81850152808201929092527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606083015260808201939093523060a0808301919091528351808303909101815260c0909101909252815191012090565b6001600160a01b038084166000908152600560209081526040808320938616835292905220546000198114801590611e7357508115155b15611efa57818103818110611ecf576040805162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015290519081900360640190fd5b6001600160a01b03808616600090815260056020908152604080832093881683529290522081905590505b826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a350505050565b6001600160a01b038216611fa6576040805162461bcd60e51b815260206004820152601660248201527f45524332303a20746f207a65726f206164647265737300000000000000000000604482015290519081900360640190fd5b8015612062576001600160a01b03831660009081526004602052604090205481810381811061201c576040805162461bcd60e51b815260206004820152601b60248201527f45524332303a20696e73756666696369656e742062616c616e63650000000000604482015290519081900360640190fd5b836001600160a01b0316856001600160a01b03161461205f576001600160a01b038086166000908152600460205260408082208490559186168152208054840190555b50505b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b3b151590565b6007546001600160a01b0382811691161461211a576040805162461bcd60e51b815260206004820152601a60248201527f4368696c6445524332303a206f6e6c79206465706f7369746f72000000000000604482015290519081900360640190fd5b5056fea26469706673582212201010570c21a7c14134e8d251bde0a5bfde5e8b5343299497cb649ee1ca2af24f64736f6c63430007060033",
"linkReferences": {},
"deployedLinkReferences": {}
}