@aztec/contract-artifacts
Version:
Smart contract compilation artifacts for the latest version of AZTEC.
456 lines • 33.8 kB
JSON
{
"abi": [
{
"inputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"constant": true,
"inputs": [],
"name": "BURN_PROOF",
"outputs": [
{
"internalType": "uint24",
"name": "",
"type": "uint24"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "DIVIDEND_PROOF",
"outputs": [
{
"internalType": "uint24",
"name": "",
"type": "uint24"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "JOIN_SPLIT_PROOF",
"outputs": [
{
"internalType": "uint24",
"name": "",
"type": "uint24"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "MINT_PROOF",
"outputs": [
{
"internalType": "uint24",
"name": "",
"type": "uint24"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "PRIVATE_RANGE_PROOF",
"outputs": [
{
"internalType": "uint24",
"name": "",
"type": "uint24"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "PUBLIC_RANGE_PROOF",
"outputs": [
{
"internalType": "uint24",
"name": "",
"type": "uint24"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "ZERO_VALUE_NOTE_HASH",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "dataLocation",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "bytes32",
"name": "_noteHash",
"type": "bytes32"
}
],
"name": "getNote",
"outputs": [
{
"internalType": "uint8",
"name": "status",
"type": "uint8"
},
{
"internalType": "uint40",
"name": "createdOn",
"type": "uint40"
},
{
"internalType": "uint40",
"name": "destroyedOn",
"type": "uint40"
},
{
"internalType": "address",
"name": "noteOwner",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "getRegistry",
"outputs": [
{
"internalType": "uint256",
"name": "scalingFactor",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "confidentialTotalMinted",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "confidentialTotalBurned",
"type": "bytes32"
},
{
"internalType": "bool",
"name": "canConvert",
"type": "bool"
},
{
"internalType": "bool",
"name": "canAdjustSupply",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "_newOwner",
"type": "address"
},
{
"internalType": "uint256",
"name": "_scalingFactor",
"type": "uint256"
},
{
"internalType": "bool",
"name": "_canAdjustSupply",
"type": "bool"
},
{
"internalType": "bool",
"name": "_canConvert",
"type": "bool"
}
],
"name": "initialise",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "initialised",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "isActiveBehaviour",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "isOwner",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [],
"name": "makeAvailable",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "registry",
"outputs": [
{
"internalType": "bool",
"name": "active",
"type": "bool"
},
{
"internalType": "uint256",
"name": "scalingFactor",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "confidentialTotalMinted",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "confidentialTotalBurned",
"type": "bytes32"
},
{
"internalType": "bool",
"name": "canConvert",
"type": "bool"
},
{
"internalType": "bool",
"name": "canAdjustSupply",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "uint24",
"name": "_proof",
"type": "uint24"
},
{
"internalType": "bytes",
"name": "_proofOutput",
"type": "bytes"
}
],
"name": "updateNoteRegistry",
"outputs": [
{
"internalType": "address",
"name": "publicOwner",
"type": "address"
},
{
"internalType": "uint256",
"name": "transferValue",
"type": "uint256"
},
{
"internalType": "int256",
"name": "publicValue",
"type": "int256"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "bytes",
"name": "_proofOutputs",
"type": "bytes"
}
],
"name": "burn",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "bytes",
"name": "_proofOutputs",
"type": "bytes"
}
],
"name": "mint",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x608060405234801561001057600080fd5b5060006100246001600160e01b0361009716565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506000805460ff60a01b19167401000000000000000000000000000000000000000017905561009b565b3390565b6113fb806100aa6000396000f3fe608060405234801561001057600080fd5b50600436106101415760003560e01c80637ba0e2e7116100b85780638f32d59b1161007c5780638f32d59b1461049857806398df3d00146104a0578063ad32f925146104f9578063ce88434314610501578063df9246251461053d578063f2fde38b1461054557610141565b80637ba0e2e7146103d25780638500e1f81461047857806385c418f3146104805780638da5cb5b146104885780638e526d9b1461049057610141565b80632a07b6c71161010a5780632a07b6c7146101c8578063386612381461027057806349518b281461034a5780635ab1bd5314610352578063715018a6146103895780637b1039991461039157610141565b80625bf7321461014657806303e012e31461016657806307003bb41461018a57806307616051146101a657806308ae900a146101c0575b600080fd5b61014e61056b565b6040805162ffffff9092168252519081900360200190f35b61016e610572565b604080516001600160a01b039092168252519081900360200190f35b610192610581565b604080519115158252519081900360200190f35b6101ae610591565b60408051918252519081900360200190f35b61014e6105b5565b61026e600480360360208110156101de57600080fd5b8101906020810181356401000000008111156101f957600080fd5b82018360208201111561020b57600080fd5b8035906020019184600183028401116401000000008311171561022d57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506105bc945050505050565b005b6103226004803603604081101561028657600080fd5b62ffffff82351691908101906040810160208201356401000000008111156102ad57600080fd5b8201836020820111156102bf57600080fd5b803590602001918460018302840111640100000000831117156102e157600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061073d945050505050565b604080516001600160a01b039094168452602084019290925282820152519081900360600190f35b61014e61088b565b61035a610892565b604080519586526020860194909452848401929092521515606084015215156080830152519081900360a00190f35b61026e610921565b6103996109b2565b604080519615158752602087019590955285850193909352606085019190915215156080840152151560a0830152519081900360c00190f35b61026e600480360360208110156103e857600080fd5b81019060208101813564010000000081111561040357600080fd5b82018360208201111561041557600080fd5b8035906020019184600183028401116401000000008311171561043757600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506109d4945050505050565b61014e610b42565b610192610b49565b61016e610b59565b61014e610b68565b610192610b6f565b6104bd600480360360208110156104b657600080fd5b5035610b93565b6040805160ff909516855264ffffffffff938416602086015291909216838201526001600160a01b039091166060830152519081900360800190f35b61026e610c37565b61026e6004803603608081101561051757600080fd5b506001600160a01b03813516906020810135906040810135151590606001351515610c39565b61014e610d61565b61026e6004803603602081101561055b57600080fd5b50356001600160a01b0316610d68565b6201010181565b6001546001600160a01b031681565b600054600160a81b900460ff1681565b7f26d21f105b054b61e8d9680855c3af0633bd7c140b87de95f0ac218046fc71db81565b6201040381565b6105c4610b6f565b610603576040805162461bcd60e51b81526020600482018190526024820152600080516020611385833981519152604482015290519081900360640190fd5b60065460ff610100909104161515600114610665576040805162461bcd60e51b815260206004820152601a60248201527f74686973206173736574206973206e6f74206275726e61626c65000000000000604482015290519081900360640190fd5b60608061068161067c84600063ffffffff610dbb16565b610e12565b5091935091506060905061069f61067c85600163ffffffff610dbb16565b505091505060006106c26106bd600086610dbb90919063ffffffff16565b610e3c565b5091505060026003015481146107095760405162461bcd60e51b815260040180806020018281038252602981526020018061128c6029913960400191505060405180910390fd5b600061071e6106bd858363ffffffff610dbb16565b5091505061072b81610e5a565b5061073583610eac565b505050505050565b600080600061074a610b6f565b610789576040805162461bcd60e51b81526020600482018190526024820152600080516020611385833981519152604482015290519081900360640190fd5b60025460ff1615156001146107cf5760405162461bcd60e51b815260040180806020018281038252603281526020018061130a6032913960400191505060405180910390fd5b6060806107db86610e12565b909750945090925090506107ee82610eac565b6107f781610ef8565b82156108825760065460ff1615156001146108435760405162461bcd60e51b815260040180806020018281038252602c8152602001806112de602c913960400191505060405180910390fd5b600083121561086b576003546108649060008590039063ffffffff610f8516565b9350610882565b60035461087f90849063ffffffff610f8516565b93505b50509250925092565b6201040281565b600254600090819081908190819060ff1615156001146108f9576040805162461bcd60e51b815260206004820152601f60248201527f657870656374656420726567697374727920746f206265206372656174656400604482015290519081900360640190fd5b50506003546004546005546006549296919550935060ff808316935061010090920490911690565b610929610b6f565b610968576040805162461bcd60e51b81526020600482018190526024820152600080516020611385833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60025460035460045460055460065460ff948516948181169161010090041686565b6109dc610b6f565b610a1b576040805162461bcd60e51b81526020600482018190526024820152600080516020611385833981519152604482015290519081900360640190fd5b60065460ff610100909104161515600114610a7d576040805162461bcd60e51b815260206004820152601a60248201527f74686973206173736574206973206e6f74206d696e7461626c65000000000000604482015290519081900360640190fd5b606080610a9461067c84600063ffffffff610dbb16565b50919350915060609050610ab261067c85600163ffffffff610dbb16565b50509150506000610ad06106bd600086610dbb90919063ffffffff16565b5091505060028001548114610b165760405162461bcd60e51b81526004018080602001828103825260298152602001806112b56029913960400191505060405180910390fd5b6000610b2b6106bd858363ffffffff610dbb16565b50915050610b3881610fe7565b5061073583610ef8565b6201040181565b600054600160a01b900460ff1681565b6000546001600160a01b031690565b6201020181565b600080546001600160a01b0316610b84611039565b6001600160a01b031614905090565b60008181526007602052604081205481908190819060ff16610bf5576040805162461bcd60e51b8152602060048201526016602482015275195e1c1958dd1959081b9bdd19481d1bc8195e1a5cdd60521b604482015290519081900360640190fd5b5050506000918252506007602052604090205460ff811691600882901c64ffffffffff90811692603081901c9091169160589190911c6001600160a01b031690565b565b600054600160a81b900460ff16151560011415610c9d576040805162461bcd60e51b815260206004820152601c60248201527f726567697374727920616c726561647920696e697469616c6973656400000000604482015290519081900360640190fd5b610ca68461103d565b60018054336001600160a01b03199091161781556040805160c081018252828152602081018690527f26d21f105b054b61e8d9680855c3af0633bd7c140b87de95f0ac218046fc71db918101829052606081018290529215156080840181905293151560a09093018390526002805460ff19908116909317905560039490945560048490556005939093556006805490931690911761ff0019166101009091021790555060008054600160a81b60ff60a81b19909116179055565b6201030181565b610d70610b6f565b610daf576040805162461bcd60e51b81526020600482018190526024820152600080516020611385833981519152604482015290519081900360640190fd5b610db88161103d565b50565b602082810151908202830160400151830190821080610e0b5760405162461bcd60e51b81526004018080602001828103825260228152602001806113a56022913960400191505060405180910390fd5b5092915050565b60208101516040820151606083015160808401519284019491909301926001600160a01b03169190565b604081015160608201516001600160a01b0390911692909160800190565b6000610e64610b6f565b610ea3576040805162461bcd60e51b81526020600482018190526024820152600080516020611385833981519152604482015290519081900360640190fd5b50600581905590565b6000610eb7826110dd565b905060005b81811015610ef357600080610eda6106bd868563ffffffff610dbb16565b5091509150610ee981836110e4565b5050600101610ebc565b505050565b6000610f03826110dd565b905060005b81811015610ef357600080610f266106bd868563ffffffff610dbb16565b5090925090506001600160a01b038216610f715760405162461bcd60e51b815260040180806020018281038252602881526020018061135d6028913960400191505060405180910390fd5b610f7b81836111ea565b5050600101610f08565b600082610f9457506000610fe1565b82820282848281610fa157fe5b0414610fde5760405162461bcd60e51b815260040180806020018281038252602181526020018061133c6021913960400191505060405180910390fd5b90505b92915050565b6000610ff1610b6f565b611030576040805162461bcd60e51b81526020600482018190526024820152600080516020611385833981519152604482015290519081900360640190fd5b50600481905590565b3390565b6001600160a01b0381166110825760405162461bcd60e51b81526004018080602001828103825260268152602001806112666026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6020015190565b600082815260076020526040902080546affffffffff0000000000ff1981166affffffffff0000000000004260301b1617600290811783559160ff82169160581c6001600160a01b03169060018314611184576040805162461bcd60e51b815260206004820181905260248201527f696e707574206e6f746520737461747573206973206e6f7420554e5350454e54604482015290519081900360640190fd5b846001600160a01b0316826001600160a01b031614610735576040805162461bcd60e51b815260206004820152601f60248201527f696e707574206e6f7465206f776e657220646f6573206e6f74206d6174636800604482015290519081900360640190fd5b600082815260076020526040902080546001919060ff1615611248576040805162461bcd60e51b81526020600482015260126024820152716f7574707574206e6f74652065786973747360701b604482015290519081900360640190fd5b8260581b64ffffffffff421660081b60ff8416171781555050505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737370726f766964656420746f74616c206275726e6564206e6f746520646f6573206e6f74206d6174636870726f766964656420746f74616c206d696e746564206e6f746520646f6573206e6f74206d6174636861737365742063616e6e6f7420626520636f6e76657274656420696e746f207075626c696320746f6b656e736e6f746520726567697374727920646f6573206e6f7420657869737420666f722074686520676976656e2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f776f7574707574206e6f7465206f776e65722063616e6e6f74206265206164647265737328307830294f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572415a54454320617272617920696e646578206973206f7574206f6620626f756e6473a265627a7a7231582096813ce44fa08cc930543d97274f1e01b660559795bc54779027033f8ded6f2964736f6c63430005110032",
"compiler": {
"name": "solc",
"version": "0.5.17+commit.d19bba13.Emscripten.clang"
},
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101415760003560e01c80637ba0e2e7116100b85780638f32d59b1161007c5780638f32d59b1461049857806398df3d00146104a0578063ad32f925146104f9578063ce88434314610501578063df9246251461053d578063f2fde38b1461054557610141565b80637ba0e2e7146103d25780638500e1f81461047857806385c418f3146104805780638da5cb5b146104885780638e526d9b1461049057610141565b80632a07b6c71161010a5780632a07b6c7146101c8578063386612381461027057806349518b281461034a5780635ab1bd5314610352578063715018a6146103895780637b1039991461039157610141565b80625bf7321461014657806303e012e31461016657806307003bb41461018a57806307616051146101a657806308ae900a146101c0575b600080fd5b61014e61056b565b6040805162ffffff9092168252519081900360200190f35b61016e610572565b604080516001600160a01b039092168252519081900360200190f35b610192610581565b604080519115158252519081900360200190f35b6101ae610591565b60408051918252519081900360200190f35b61014e6105b5565b61026e600480360360208110156101de57600080fd5b8101906020810181356401000000008111156101f957600080fd5b82018360208201111561020b57600080fd5b8035906020019184600183028401116401000000008311171561022d57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506105bc945050505050565b005b6103226004803603604081101561028657600080fd5b62ffffff82351691908101906040810160208201356401000000008111156102ad57600080fd5b8201836020820111156102bf57600080fd5b803590602001918460018302840111640100000000831117156102e157600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061073d945050505050565b604080516001600160a01b039094168452602084019290925282820152519081900360600190f35b61014e61088b565b61035a610892565b604080519586526020860194909452848401929092521515606084015215156080830152519081900360a00190f35b61026e610921565b6103996109b2565b604080519615158752602087019590955285850193909352606085019190915215156080840152151560a0830152519081900360c00190f35b61026e600480360360208110156103e857600080fd5b81019060208101813564010000000081111561040357600080fd5b82018360208201111561041557600080fd5b8035906020019184600183028401116401000000008311171561043757600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506109d4945050505050565b61014e610b42565b610192610b49565b61016e610b59565b61014e610b68565b610192610b6f565b6104bd600480360360208110156104b657600080fd5b5035610b93565b6040805160ff909516855264ffffffffff938416602086015291909216838201526001600160a01b039091166060830152519081900360800190f35b61026e610c37565b61026e6004803603608081101561051757600080fd5b506001600160a01b03813516906020810135906040810135151590606001351515610c39565b61014e610d61565b61026e6004803603602081101561055b57600080fd5b50356001600160a01b0316610d68565b6201010181565b6001546001600160a01b031681565b600054600160a81b900460ff1681565b7f26d21f105b054b61e8d9680855c3af0633bd7c140b87de95f0ac218046fc71db81565b6201040381565b6105c4610b6f565b610603576040805162461bcd60e51b81526020600482018190526024820152600080516020611385833981519152604482015290519081900360640190fd5b60065460ff610100909104161515600114610665576040805162461bcd60e51b815260206004820152601a60248201527f74686973206173736574206973206e6f74206275726e61626c65000000000000604482015290519081900360640190fd5b60608061068161067c84600063ffffffff610dbb16565b610e12565b5091935091506060905061069f61067c85600163ffffffff610dbb16565b505091505060006106c26106bd600086610dbb90919063ffffffff16565b610e3c565b5091505060026003015481146107095760405162461bcd60e51b815260040180806020018281038252602981526020018061128c6029913960400191505060405180910390fd5b600061071e6106bd858363ffffffff610dbb16565b5091505061072b81610e5a565b5061073583610eac565b505050505050565b600080600061074a610b6f565b610789576040805162461bcd60e51b81526020600482018190526024820152600080516020611385833981519152604482015290519081900360640190fd5b60025460ff1615156001146107cf5760405162461bcd60e51b815260040180806020018281038252603281526020018061130a6032913960400191505060405180910390fd5b6060806107db86610e12565b909750945090925090506107ee82610eac565b6107f781610ef8565b82156108825760065460ff1615156001146108435760405162461bcd60e51b815260040180806020018281038252602c8152602001806112de602c913960400191505060405180910390fd5b600083121561086b576003546108649060008590039063ffffffff610f8516565b9350610882565b60035461087f90849063ffffffff610f8516565b93505b50509250925092565b6201040281565b600254600090819081908190819060ff1615156001146108f9576040805162461bcd60e51b815260206004820152601f60248201527f657870656374656420726567697374727920746f206265206372656174656400604482015290519081900360640190fd5b50506003546004546005546006549296919550935060ff808316935061010090920490911690565b610929610b6f565b610968576040805162461bcd60e51b81526020600482018190526024820152600080516020611385833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60025460035460045460055460065460ff948516948181169161010090041686565b6109dc610b6f565b610a1b576040805162461bcd60e51b81526020600482018190526024820152600080516020611385833981519152604482015290519081900360640190fd5b60065460ff610100909104161515600114610a7d576040805162461bcd60e51b815260206004820152601a60248201527f74686973206173736574206973206e6f74206d696e7461626c65000000000000604482015290519081900360640190fd5b606080610a9461067c84600063ffffffff610dbb16565b50919350915060609050610ab261067c85600163ffffffff610dbb16565b50509150506000610ad06106bd600086610dbb90919063ffffffff16565b5091505060028001548114610b165760405162461bcd60e51b81526004018080602001828103825260298152602001806112b56029913960400191505060405180910390fd5b6000610b2b6106bd858363ffffffff610dbb16565b50915050610b3881610fe7565b5061073583610ef8565b6201040181565b600054600160a01b900460ff1681565b6000546001600160a01b031690565b6201020181565b600080546001600160a01b0316610b84611039565b6001600160a01b031614905090565b60008181526007602052604081205481908190819060ff16610bf5576040805162461bcd60e51b8152602060048201526016602482015275195e1c1958dd1959081b9bdd19481d1bc8195e1a5cdd60521b604482015290519081900360640190fd5b5050506000918252506007602052604090205460ff811691600882901c64ffffffffff90811692603081901c9091169160589190911c6001600160a01b031690565b565b600054600160a81b900460ff16151560011415610c9d576040805162461bcd60e51b815260206004820152601c60248201527f726567697374727920616c726561647920696e697469616c6973656400000000604482015290519081900360640190fd5b610ca68461103d565b60018054336001600160a01b03199091161781556040805160c081018252828152602081018690527f26d21f105b054b61e8d9680855c3af0633bd7c140b87de95f0ac218046fc71db918101829052606081018290529215156080840181905293151560a09093018390526002805460ff19908116909317905560039490945560048490556005939093556006805490931690911761ff0019166101009091021790555060008054600160a81b60ff60a81b19909116179055565b6201030181565b610d70610b6f565b610daf576040805162461bcd60e51b81526020600482018190526024820152600080516020611385833981519152604482015290519081900360640190fd5b610db88161103d565b50565b602082810151908202830160400151830190821080610e0b5760405162461bcd60e51b81526004018080602001828103825260228152602001806113a56022913960400191505060405180910390fd5b5092915050565b60208101516040820151606083015160808401519284019491909301926001600160a01b03169190565b604081015160608201516001600160a01b0390911692909160800190565b6000610e64610b6f565b610ea3576040805162461bcd60e51b81526020600482018190526024820152600080516020611385833981519152604482015290519081900360640190fd5b50600581905590565b6000610eb7826110dd565b905060005b81811015610ef357600080610eda6106bd868563ffffffff610dbb16565b5091509150610ee981836110e4565b5050600101610ebc565b505050565b6000610f03826110dd565b905060005b81811015610ef357600080610f266106bd868563ffffffff610dbb16565b5090925090506001600160a01b038216610f715760405162461bcd60e51b815260040180806020018281038252602881526020018061135d6028913960400191505060405180910390fd5b610f7b81836111ea565b5050600101610f08565b600082610f9457506000610fe1565b82820282848281610fa157fe5b0414610fde5760405162461bcd60e51b815260040180806020018281038252602181526020018061133c6021913960400191505060405180910390fd5b90505b92915050565b6000610ff1610b6f565b611030576040805162461bcd60e51b81526020600482018190526024820152600080516020611385833981519152604482015290519081900360640190fd5b50600481905590565b3390565b6001600160a01b0381166110825760405162461bcd60e51b81526004018080602001828103825260268152602001806112666026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6020015190565b600082815260076020526040902080546affffffffff0000000000ff1981166affffffffff0000000000004260301b1617600290811783559160ff82169160581c6001600160a01b03169060018314611184576040805162461bcd60e51b815260206004820181905260248201527f696e707574206e6f746520737461747573206973206e6f7420554e5350454e54604482015290519081900360640190fd5b846001600160a01b0316826001600160a01b031614610735576040805162461bcd60e51b815260206004820152601f60248201527f696e707574206e6f7465206f776e657220646f6573206e6f74206d6174636800604482015290519081900360640190fd5b600082815260076020526040902080546001919060ff1615611248576040805162461bcd60e51b81526020600482015260126024820152716f7574707574206e6f74652065786973747360701b604482015290519081900360640190fd5b8260581b64ffffffffff421660081b60ff8416171781555050505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737370726f766964656420746f74616c206275726e6564206e6f746520646f6573206e6f74206d6174636870726f766964656420746f74616c206d696e746564206e6f746520646f6573206e6f74206d6174636861737365742063616e6e6f7420626520636f6e76657274656420696e746f207075626c696320746f6b656e736e6f746520726567697374727920646f6573206e6f7420657869737420666f722074686520676976656e2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f776f7574707574206e6f7465206f776e65722063616e6e6f74206265206164647265737328307830294f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572415a54454320617272617920696e646578206973206f7574206f6620626f756e6473a265627a7a7231582096813ce44fa08cc930543d97274f1e01b660559795bc54779027033f8ded6f2964736f6c63430005110032",
"schemaVersion": "3.0.19"
}