@witnet/wrapped-wit
Version:
Wrapped/WIT Solidity contracts and CLI tools
645 lines (644 loc) • 32.7 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "WrappedWITSuperchain",
"sourceName": "contracts/WrappedWITSuperchain.sol",
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "ECDSAInvalidSignature",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "length",
"type": "uint256"
}
],
"name": "ECDSAInvalidSignatureLength",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
}
],
"name": "ECDSAInvalidSignatureS",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "allowance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "needed",
"type": "uint256"
}
],
"name": "ERC20InsufficientAllowance",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "needed",
"type": "uint256"
}
],
"name": "ERC20InsufficientBalance",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "approver",
"type": "address"
}
],
"name": "ERC20InvalidApprover",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"name": "ERC20InvalidReceiver",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "ERC20InvalidSender",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"name": "ERC20InvalidSpender",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
}
],
"name": "ERC2612ExpiredSignature",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "signer",
"type": "address"
},
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "ERC2612InvalidSigner",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "currentNonce",
"type": "uint256"
}
],
"name": "InvalidAccountNonce",
"type": "error"
},
{
"inputs": [],
"name": "InvalidShortString",
"type": "error"
},
{
"inputs": [
{
"internalType": "string",
"name": "str",
"type": "string"
}
],
"name": "StringTooLong",
"type": "error"
},
{
"inputs": [],
"name": "Unauthorized",
"type": "error"
},
{
"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": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "CrosschainBurn",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "CrosschainMint",
"type": "event"
},
{
"anonymous": false,
"inputs": [],
"name": "EIP712DomainChanged",
"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": [],
"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": "from",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "crosschainBurn",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "crosschainMint",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "decimals",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "eip712Domain",
"outputs": [
{
"internalType": "bytes1",
"name": "fields",
"type": "bytes1"
},
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "version",
"type": "string"
},
{
"internalType": "uint256",
"name": "chainId",
"type": "uint256"
},
{
"internalType": "address",
"name": "verifyingContract",
"type": "address"
},
{
"internalType": "bytes32",
"name": "salt",
"type": "bytes32"
},
{
"internalType": "uint256[]",
"name": "extensions",
"type": "uint256[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "nonces",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"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": "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": "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"
}
],
"bytecode": "0x61016060405234801561001157600080fd5b506040518060400160405280600b81526020016a15dc985c1c19590bd5d25560aa1b81525080604051806040016040528060018152602001603160f81b8152506040518060400160405280600b81526020016a15dc985c1c19590815d25560aa1b8152506040518060400160405280600381526020016215d25560ea1b81525081600390816100a09190610281565b5060046100ad8282610281565b506100bd91508390506005610168565b610120526100cc816006610168565b61014052815160208084019190912060e052815190820120610100524660a05261015960e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506103b1565b60006020835110156101845761017d8361019b565b9050610195565b8161018f8482610281565b5060ff90505b92915050565b600080829050601f815111156101cf578260405163305a27a960e01b81526004016101c6919061033f565b60405180910390fd5b80516101da8261038d565b179392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168061020c57607f821691505b60208210810361022c57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561027c57806000526020600020601f840160051c810160208510156102595750805b601f840160051c820191505b818110156102795760008155600101610265565b50505b505050565b81516001600160401b0381111561029a5761029a6101e2565b6102ae816102a884546101f8565b84610232565b6020601f8211600181146102e257600083156102ca5750848201515b600019600385901b1c1916600184901b178455610279565b600084815260208120601f198516915b8281101561031257878501518255602094850194600190920191016102f2565b50848210156103305786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b602081526000825180602084015260005b8181101561036d5760208186018101516040868401015201610350565b506000604082850101526040601f19601f83011684010191505092915050565b8051602080830151919081101561022c5760001960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161110b61040b60003960006108e4015260006108b70152600061085f0152600061083701526000610792015260006107bc015260006107e6015261110b6000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80633644e5151161009757806395d89b411161006657806395d89b4114610210578063a9059cbb14610218578063d505accf1461022b578063dd62ed3e1461023e57600080fd5b80633644e515146101b157806370a08231146101b95780637ecebe00146101e257806384b0196e146101f557600080fd5b806318bf5077116100d357806318bf50771461016757806323b872dd1461017c5780632b8c49e31461018f578063313ce567146101a257600080fd5b806301ffc9a71461010557806306fdde031461012d578063095ea7b31461014257806318160ddd14610155575b600080fd5b610118610113366004610dfe565b610277565b60405190151581526020015b60405180910390f35b6101356102ae565b6040516101249190610e75565b610118610150366004610ea4565b610340565b6002545b604051908152602001610124565b61017a610175366004610ea4565b610358565b005b61011861018a366004610ece565b6103b0565b61017a61019d366004610ea4565b6103d4565b60405160098152602001610124565b610159610424565b6101596101c7366004610f0b565b6001600160a01b031660009081526020819052604090205490565b6101596101f0366004610f0b565b610433565b6101fd610451565b6040516101249796959493929190610f26565b610135610497565b610118610226366004610ea4565b6104a6565b61017a610239366004610fbe565b6104b4565b61015961024c366004611031565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60006001600160e01b03198216630cccc66560e21b14806102a857506301ffc9a760e01b6001600160e01b03198316145b92915050565b6060600380546102bd90611064565b80601f01602080910402602001604051908101604052809291908181526020018280546102e990611064565b80156103365780601f1061030b57610100808354040283529160200191610336565b820191906000526020600020905b81548152906001019060200180831161031957829003601f168201915b5050505050905090565b60003361034e8185856105f3565b5060019392505050565b61036133610605565b61036b8282610637565b60405181815233906001600160a01b038416907fde22baff038e3a3e08407cbdf617deed74e869a7ba517df611e33131c6e6ea04906020015b60405180910390a35050565b6000336103be858285610671565b6103c98585856106f0565b506001949350505050565b6103dd33610605565b6103e7828261074f565b60405181815233906001600160a01b038416907fb90795a66650155983e242cac3e1ac1a4dc26f8ed2987f3ce416a34e00111fd4906020016103a4565b600061042e610785565b905090565b6001600160a01b0381166000908152600760205260408120546102a8565b6000606080600080600060606104656108b0565b61046d6108dd565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6060600480546102bd90611064565b60003361034e8185856106f0565b834211156104dd5760405163313c898160e11b8152600481018590526024015b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c988888861052a8c6001600160a01b0316600090815260076020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006105858261090a565b9050600061059582878787610937565b9050896001600160a01b0316816001600160a01b0316146105dc576040516325c0072360e11b81526001600160a01b0380831660048301528b1660248201526044016104d4565b6105e78a8a8a6105f3565b50505050505050505050565b6106008383836001610965565b505050565b6001600160a01b0381166028602160991b0114610634576040516282b42960e81b815260040160405180910390fd5b50565b6001600160a01b0382166106615760405163ec442f0560e01b8152600060048201526024016104d4565b61066d60008383610a3a565b5050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220546000198110156106ea57818110156106db57604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016104d4565b6106ea84848484036000610965565b50505050565b6001600160a01b03831661071a57604051634b637e8f60e11b8152600060048201526024016104d4565b6001600160a01b0382166107445760405163ec442f0560e01b8152600060048201526024016104d4565b610600838383610a3a565b6001600160a01b03821661077957604051634b637e8f60e11b8152600060048201526024016104d4565b61066d82600083610a3a565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156107de57507f000000000000000000000000000000000000000000000000000000000000000046145b1561080857507f000000000000000000000000000000000000000000000000000000000000000090565b61042e604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b606061042e7f00000000000000000000000000000000000000000000000000000000000000006005610b64565b606061042e7f00000000000000000000000000000000000000000000000000000000000000006006610b64565b60006102a8610917610785565b8360405161190160f01b8152600281019290925260228201526042902090565b60008060008061094988888888610c0f565b9250925092506109598282610cde565b50909695505050505050565b6001600160a01b03841661098f5760405163e602df0560e01b8152600060048201526024016104d4565b6001600160a01b0383166109b957604051634a1406b160e11b8152600060048201526024016104d4565b6001600160a01b03808516600090815260016020908152604080832093871683529290522082905580156106ea57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610a2c91815260200190565b60405180910390a350505050565b6001600160a01b038316610a65578060026000828254610a5a919061109e565b90915550610ad79050565b6001600160a01b03831660009081526020819052604090205481811015610ab85760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016104d4565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216610af357600280548290039055610b12565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610b5791815260200190565b60405180910390a3505050565b606060ff8314610b7e57610b7783610d97565b90506102a8565b818054610b8a90611064565b80601f0160208091040260200160405190810160405280929190818152602001828054610bb690611064565b8015610c035780601f10610bd857610100808354040283529160200191610c03565b820191906000526020600020905b815481529060010190602001808311610be657829003601f168201915b505050505090506102a8565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115610c4a5750600091506003905082610cd4565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015610c9e573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610cca57506000925060019150829050610cd4565b9250600091508190505b9450945094915050565b6000826003811115610cf257610cf26110bf565b03610cfb575050565b6001826003811115610d0f57610d0f6110bf565b03610d2d5760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115610d4157610d416110bf565b03610d625760405163fce698f760e01b8152600481018290526024016104d4565b6003826003811115610d7657610d766110bf565b0361066d576040516335e2f38360e21b8152600481018290526024016104d4565b60606000610da483610dd6565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b600060ff8216601f8111156102a857604051632cd44ac360e21b815260040160405180910390fd5b600060208284031215610e1057600080fd5b81356001600160e01b031981168114610e2857600080fd5b9392505050565b6000815180845260005b81811015610e5557602081850181015186830182015201610e39565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610e286020830184610e2f565b80356001600160a01b0381168114610e9f57600080fd5b919050565b60008060408385031215610eb757600080fd5b610ec083610e88565b946020939093013593505050565b600080600060608486031215610ee357600080fd5b610eec84610e88565b9250610efa60208501610e88565b929592945050506040919091013590565b600060208284031215610f1d57600080fd5b610e2882610e88565b60ff60f81b8816815260e060208201526000610f4560e0830189610e2f565b8281036040840152610f578189610e2f565b606084018890526001600160a01b038716608085015260a0840186905283810360c08501528451808252602080870193509091019060005b81811015610fad578351835260209384019390920191600101610f8f565b50909b9a5050505050505050505050565b600080600080600080600060e0888a031215610fd957600080fd5b610fe288610e88565b9650610ff060208901610e88565b95506040880135945060608801359350608088013560ff8116811461101457600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561104457600080fd5b61104d83610e88565b915061105b60208401610e88565b90509250929050565b600181811c9082168061107857607f821691505b60208210810361109857634e487b7160e01b600052602260045260246000fd5b50919050565b808201808211156102a857634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052602160045260246000fdfea26469706673582212204025291af35330df43c9096757c1e2057f99b65f742e03c53b93652afa8d267564736f6c634300081c0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101005760003560e01c80633644e5151161009757806395d89b411161006657806395d89b4114610210578063a9059cbb14610218578063d505accf1461022b578063dd62ed3e1461023e57600080fd5b80633644e515146101b157806370a08231146101b95780637ecebe00146101e257806384b0196e146101f557600080fd5b806318bf5077116100d357806318bf50771461016757806323b872dd1461017c5780632b8c49e31461018f578063313ce567146101a257600080fd5b806301ffc9a71461010557806306fdde031461012d578063095ea7b31461014257806318160ddd14610155575b600080fd5b610118610113366004610dfe565b610277565b60405190151581526020015b60405180910390f35b6101356102ae565b6040516101249190610e75565b610118610150366004610ea4565b610340565b6002545b604051908152602001610124565b61017a610175366004610ea4565b610358565b005b61011861018a366004610ece565b6103b0565b61017a61019d366004610ea4565b6103d4565b60405160098152602001610124565b610159610424565b6101596101c7366004610f0b565b6001600160a01b031660009081526020819052604090205490565b6101596101f0366004610f0b565b610433565b6101fd610451565b6040516101249796959493929190610f26565b610135610497565b610118610226366004610ea4565b6104a6565b61017a610239366004610fbe565b6104b4565b61015961024c366004611031565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60006001600160e01b03198216630cccc66560e21b14806102a857506301ffc9a760e01b6001600160e01b03198316145b92915050565b6060600380546102bd90611064565b80601f01602080910402602001604051908101604052809291908181526020018280546102e990611064565b80156103365780601f1061030b57610100808354040283529160200191610336565b820191906000526020600020905b81548152906001019060200180831161031957829003601f168201915b5050505050905090565b60003361034e8185856105f3565b5060019392505050565b61036133610605565b61036b8282610637565b60405181815233906001600160a01b038416907fde22baff038e3a3e08407cbdf617deed74e869a7ba517df611e33131c6e6ea04906020015b60405180910390a35050565b6000336103be858285610671565b6103c98585856106f0565b506001949350505050565b6103dd33610605565b6103e7828261074f565b60405181815233906001600160a01b038416907fb90795a66650155983e242cac3e1ac1a4dc26f8ed2987f3ce416a34e00111fd4906020016103a4565b600061042e610785565b905090565b6001600160a01b0381166000908152600760205260408120546102a8565b6000606080600080600060606104656108b0565b61046d6108dd565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6060600480546102bd90611064565b60003361034e8185856106f0565b834211156104dd5760405163313c898160e11b8152600481018590526024015b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c988888861052a8c6001600160a01b0316600090815260076020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006105858261090a565b9050600061059582878787610937565b9050896001600160a01b0316816001600160a01b0316146105dc576040516325c0072360e11b81526001600160a01b0380831660048301528b1660248201526044016104d4565b6105e78a8a8a6105f3565b50505050505050505050565b6106008383836001610965565b505050565b6001600160a01b0381166028602160991b0114610634576040516282b42960e81b815260040160405180910390fd5b50565b6001600160a01b0382166106615760405163ec442f0560e01b8152600060048201526024016104d4565b61066d60008383610a3a565b5050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220546000198110156106ea57818110156106db57604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016104d4565b6106ea84848484036000610965565b50505050565b6001600160a01b03831661071a57604051634b637e8f60e11b8152600060048201526024016104d4565b6001600160a01b0382166107445760405163ec442f0560e01b8152600060048201526024016104d4565b610600838383610a3a565b6001600160a01b03821661077957604051634b637e8f60e11b8152600060048201526024016104d4565b61066d82600083610a3a565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156107de57507f000000000000000000000000000000000000000000000000000000000000000046145b1561080857507f000000000000000000000000000000000000000000000000000000000000000090565b61042e604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b606061042e7f00000000000000000000000000000000000000000000000000000000000000006005610b64565b606061042e7f00000000000000000000000000000000000000000000000000000000000000006006610b64565b60006102a8610917610785565b8360405161190160f01b8152600281019290925260228201526042902090565b60008060008061094988888888610c0f565b9250925092506109598282610cde565b50909695505050505050565b6001600160a01b03841661098f5760405163e602df0560e01b8152600060048201526024016104d4565b6001600160a01b0383166109b957604051634a1406b160e11b8152600060048201526024016104d4565b6001600160a01b03808516600090815260016020908152604080832093871683529290522082905580156106ea57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610a2c91815260200190565b60405180910390a350505050565b6001600160a01b038316610a65578060026000828254610a5a919061109e565b90915550610ad79050565b6001600160a01b03831660009081526020819052604090205481811015610ab85760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016104d4565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216610af357600280548290039055610b12565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610b5791815260200190565b60405180910390a3505050565b606060ff8314610b7e57610b7783610d97565b90506102a8565b818054610b8a90611064565b80601f0160208091040260200160405190810160405280929190818152602001828054610bb690611064565b8015610c035780601f10610bd857610100808354040283529160200191610c03565b820191906000526020600020905b815481529060010190602001808311610be657829003601f168201915b505050505090506102a8565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115610c4a5750600091506003905082610cd4565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015610c9e573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610cca57506000925060019150829050610cd4565b9250600091508190505b9450945094915050565b6000826003811115610cf257610cf26110bf565b03610cfb575050565b6001826003811115610d0f57610d0f6110bf565b03610d2d5760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115610d4157610d416110bf565b03610d625760405163fce698f760e01b8152600481018290526024016104d4565b6003826003811115610d7657610d766110bf565b0361066d576040516335e2f38360e21b8152600481018290526024016104d4565b60606000610da483610dd6565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b600060ff8216601f8111156102a857604051632cd44ac360e21b815260040160405180910390fd5b600060208284031215610e1057600080fd5b81356001600160e01b031981168114610e2857600080fd5b9392505050565b6000815180845260005b81811015610e5557602081850181015186830182015201610e39565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610e286020830184610e2f565b80356001600160a01b0381168114610e9f57600080fd5b919050565b60008060408385031215610eb757600080fd5b610ec083610e88565b946020939093013593505050565b600080600060608486031215610ee357600080fd5b610eec84610e88565b9250610efa60208501610e88565b929592945050506040919091013590565b600060208284031215610f1d57600080fd5b610e2882610e88565b60ff60f81b8816815260e060208201526000610f4560e0830189610e2f565b8281036040840152610f578189610e2f565b606084018890526001600160a01b038716608085015260a0840186905283810360c08501528451808252602080870193509091019060005b81811015610fad578351835260209384019390920191600101610f8f565b50909b9a5050505050505050505050565b600080600080600080600060e0888a031215610fd957600080fd5b610fe288610e88565b9650610ff060208901610e88565b95506040880135945060608801359350608088013560ff8116811461101457600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561104457600080fd5b61104d83610e88565b915061105b60208401610e88565b90509250929050565b600181811c9082168061107857607f821691505b60208210810361109857634e487b7160e01b600052602260045260246000fd5b50919050565b808201808211156102a857634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052602160045260246000fdfea26469706673582212204025291af35330df43c9096757c1e2057f99b65f742e03c53b93652afa8d267564736f6c634300081c0033",
"linkReferences": {},
"deployedLinkReferences": {}
}