@daostack/arc-experimental
Version:
A platform for building DAOs
474 lines (473 loc) • 38.3 kB
JSON
{
"contractName": "ControllerUpgradeScheme",
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_avatar",
"type": "address"
},
{
"indexed": true,
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "_intVoteInterface",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "_newControllerUpgradeScheme",
"type": "address"
},
{
"indexed": false,
"internalType": "string",
"name": "_descriptionHash",
"type": "string"
}
],
"name": "ChangeControllerUpgradeSchemeProposal",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_avatar",
"type": "address"
},
{
"indexed": true,
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "_intVoteInterface",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "_newController",
"type": "address"
},
{
"indexed": false,
"internalType": "string",
"name": "_descriptionHash",
"type": "string"
}
],
"name": "NewControllerUpgradeProposal",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_avatar",
"type": "address"
},
{
"indexed": true,
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
}
],
"name": "ProposalDeleted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_avatar",
"type": "address"
},
{
"indexed": true,
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "int256",
"name": "_param",
"type": "int256"
}
],
"name": "ProposalExecuted",
"type": "event"
},
{
"inputs": [],
"name": "avatar",
"outputs": [
{
"internalType": "contract Avatar",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IERC20",
"name": "_stakingToken",
"type": "address"
},
{
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
}
],
"name": "balanceOfStakingToken",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
},
{
"internalType": "address",
"name": "_beneficiary",
"type": "address"
},
{
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
}
],
"name": "burnReputation",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
},
{
"internalType": "int256",
"name": "_param",
"type": "int256"
}
],
"name": "executeProposal",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
}
],
"name": "getTotalReputationSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract Avatar",
"name": "_avatar",
"type": "address"
},
{
"internalType": "contract IntVoteInterface",
"name": "_votingMachine",
"type": "address"
},
{
"internalType": "uint256[11]",
"name": "_votingParams",
"type": "uint256[11]"
},
{
"internalType": "address",
"name": "_voteOnBehalf",
"type": "address"
},
{
"internalType": "bytes32",
"name": "_voteParamsHash",
"type": "bytes32"
}
],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
},
{
"internalType": "address",
"name": "_beneficiary",
"type": "address"
},
{
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
}
],
"name": "mintReputation",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "organizationProposals",
"outputs": [
{
"internalType": "address",
"name": "upgradeContract",
"type": "address"
},
{
"internalType": "uint256",
"name": "proposalType",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "proposalsBlockNumber",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_scheme",
"type": "address"
},
{
"internalType": "string",
"name": "_descriptionHash",
"type": "string"
}
],
"name": "proposeChangeControllerUpgradingScheme",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_newController",
"type": "address"
},
{
"internalType": "string",
"name": "_descriptionHash",
"type": "string"
}
],
"name": "proposeUpgrade",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_owner",
"type": "address"
},
{
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
}
],
"name": "reputationOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IERC20",
"name": "_stakingToken",
"type": "address"
},
{
"internalType": "address",
"name": "_beneficiary",
"type": "address"
},
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
}
],
"name": "stakingTokenTransfer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "voteParamsHash",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "votingMachine",
"outputs": [
{
"internalType": "contract IntVoteInterface",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x608060405234801561001057600080fd5b50611b52806100206000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80637a5cb92c11610097578063bea75f2811610066578063bea75f28146103bd578063d29b5d2f146103f9578063d8145e2d1461042b578063f81f8bf61461046b576100f5565b80637a5cb92c146103205780639588378e1461033d5780639d4c162d14610369578063b551c373146103a0576100f5565b80634ea2c7ec116100d35780634ea2c7ec1461029c578063540fbeb3146102a45780635aef7de6146102ec5780636b8eb403146102f4576100f5565b806325edd5ce146100fa5780633edf7ca1146101c2578063406cb9ec146101e6575b600080fd5b6101b06004803603604081101561011057600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561013b57600080fd5b82018360208201111561014d57600080fd5b8035906020019184600183028401116401000000008311171561016f57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061049d945050505050565b60408051918252519081900360200190f35b6101ca610785565b604080516001600160a01b039092168252519081900360200190f35b6101b0600480360360408110156101fc57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561022757600080fd5b82018360208201111561023957600080fd5b8035906020019184600183028401116401000000008311171561025b57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610794945050505050565b6101b0610a46565b6102ea60048036036101e08110156102bb57600080fd5b506001600160a01b038135811691602081013582169160408201916101a0810135909116906101c00135610a4c565b005b6101ca610a8a565b6101b06004803603604081101561030a57600080fd5b506001600160a01b038135169060200135610a99565b6101b06004803603602081101561033657600080fd5b5035610b73565b6101b06004803603604081101561035357600080fd5b506001600160a01b038135169060200135610b85565b61038c6004803603604081101561037f57600080fd5b5080359060200135610cb6565b604080519115158252519081900360200190f35b6101b0600480360360208110156103b657600080fd5b50356110ae565b61038c600480360360808110156103d357600080fd5b506001600160a01b03813581169160208101359091169060408101359060600135611345565b61038c6004803603606081101561040f57600080fd5b508035906001600160a01b0360208201351690604001356114a9565b6104486004803603602081101561044157600080fd5b5035611604565b604080516001600160a01b03909316835260208301919091528051918290030190f35b61038c6004803603606081101561048157600080fd5b508035906001600160a01b036020820135169060400135611629565b60335460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b1580156104e257600080fd5b505afa1580156104f6573d6000803e3d6000fd5b505050506040513d602081101561050c57600080fd5b505160408051632074193160e21b815230600482015290516001600160a01b03909216916381d064c491602480820192602092909190829003018186803b15801561055657600080fd5b505afa15801561056a573d6000803e3d6000fd5b505050506040513d602081101561058057600080fd5b50516105ce576040805162461bcd60e51b81526020600482015260186024820152771cd8da195b59481a5cc81b9bdd081c9959da5cdd195c995960421b604482015290519081900360640190fd5b60345460355460335460408051634439bdaf60e11b81526002600482015260248101939093523360448401526001600160a01b0391821660648401525160009391909116916388737b5e91608480830192602092919082900301818787803b15801561063957600080fd5b505af115801561064d573d6000803e3d6000fd5b505050506040513d602081101561066357600080fd5b5051905061066f611ad7565b506040805180820182526001600160a01b0386811680835260016020808501828152600088815260378352878120875181546001600160a01b0319169088161781559151919093015560345460335487519485528483018881528b51988601989098528a51969791861696899691909116947fd50e60806a38edf7d7787387e0fbb10a1fd59ea820ee07d99182da8b8ccd26f5948d948d9492936060850192918601918190849084905b83811015610731578181015183820152602001610719565b50505050905090810190601f16801561075e5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a45060008181526036602052604090204390559392505050565b6034546001600160a01b031681565b60335460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b1580156107d957600080fd5b505afa1580156107ed573d6000803e3d6000fd5b505050506040513d602081101561080357600080fd5b505160408051632074193160e21b815230600482015290516001600160a01b03909216916381d064c491602480820192602092909190829003018186803b15801561084d57600080fd5b505afa158015610861573d6000803e3d6000fd5b505050506040513d602081101561087757600080fd5b50516108c5576040805162461bcd60e51b81526020600482015260186024820152771cd8da195b59481a5cc81b9bdd081c9959da5cdd195c995960421b604482015290519081900360640190fd5b60345460355460335460408051634439bdaf60e11b81526002600482015260248101939093523360448401526001600160a01b0391821660648401525160009391909116916388737b5e91608480830192602092919082900301818787803b15801561093057600080fd5b505af1158015610944573d6000803e3d6000fd5b505050506040513d602081101561095a57600080fd5b50516000818152603760205260409020600101549091501561097b57600080fd5b610983611ad7565b506040805180820182526001600160a01b0386811680835260026020808501918252600087815260378252868120865181546001600160a01b031916908716178155925160019093019290925560345460335487519485528483018881528b51988601989098528a51969791861696899691909116947fe871423df7e53d312542e06fc83f49bfceb218742acf148e61b31cc8a62ee91c948d948d9492936060850192918601918190849084908315610731578181015183820152602001610719565b60355481565b610a8385858386600b806020026040519081016040528092919082600b6020028082843760009201919091525088915061174f9050565b5050505050565b6033546001600160a01b031681565b60345460009082906001600160a01b03163314610af2576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603354604080516370a0823160e01b81526001600160a01b0392831660048201529051918616916370a0823191602480820192602092909190829003018186803b158015610b3f57600080fd5b505afa158015610b53573d6000803e3d6000fd5b505050506040513d6020811015610b6957600080fd5b5051949350505050565b60366020526000908152604090205481565b60345460009082906001600160a01b03163314610bde576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b03166389ae1c906040518163ffffffff1660e01b815260040160206040518083038186803b158015610c2c57600080fd5b505afa158015610c40573d6000803e3d6000fd5b505050506040513d6020811015610c5657600080fd5b505160008481526036602090815260409182902054825163277166bf60e11b81526001600160a01b03898116600483015260248201929092529251931692634ee2cd7e926044808201939291829003018186803b158015610b3f57600080fd5b60345460009083906001600160a01b03163314610d0f576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b610d17611ad7565b50600084815260376020908152604091829020825180840190935280546001600160a01b0316835260010154908201819052610d5257600080fd5b60008581526037602052604080822080546001600160a01b0319168155600101829055603354905187926001600160a01b03909216917f6bc0cb9e9967b59a69ace442598e1df4368d38661bd5c0800fbcbc9fe855fbbe91a383600114156110605760335460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b158015610df957600080fd5b505afa158015610e0d573d6000803e3d6000fd5b505050506040513d6020811015610e2357600080fd5b5051602083015190915060011415610ebd57806001600160a01b031663b9c2ee8283600001516040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050602060405180830381600087803b158015610e8857600080fd5b505af1158015610e9c573d6000803e3d6000fd5b505050506040513d6020811015610eb257600080fd5b5051610ebd57600080fd5b81602001516002141561105e576000816001600160a01b03166384da77f5306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610f1957600080fd5b505afa158015610f2d573d6000803e3d6000fd5b505050506040513d6020811015610f4357600080fd5b5051835160408051635d1da8cb60e01b81526001600160a01b0392831660048201526001600160e01b031984166024820152905192935090841691635d1da8cb916044808201926020929091908290030181600087803b158015610fa657600080fd5b505af1158015610fba573d6000803e3d6000fd5b505050506040513d6020811015610fd057600080fd5b5051610fdb57600080fd5b82516001600160a01b0316301461105c57816001600160a01b0316636bafaa596040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561102757600080fd5b505af115801561103b573d6000803e3d6000fd5b505050506040513d602081101561105157600080fd5b505161105c57600080fd5b505b505b60335460408051868152905187926001600160a01b0316917fd2632e80f5364f02aded1c64e8a04637b7c8bb9c2db2bedf4b6ac47c013acbc0919081900360200190a3506001949350505050565b60345460009082906001600160a01b03163314611107576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561115557600080fd5b505afa158015611169573d6000803e3d6000fd5b505050506040513d602081101561117f57600080fd5b505160408051632074193160e21b815230600482015290516001600160a01b03909216916381d064c491602480820192602092909190829003018186803b1580156111c957600080fd5b505afa1580156111dd573d6000803e3d6000fd5b505050506040513d60208110156111f357600080fd5b5051611241576040805162461bcd60e51b81526020600482015260186024820152771cd8da195b59481a5cc81b9bdd081c9959da5cdd195c995960421b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b03166389ae1c906040518163ffffffff1660e01b815260040160206040518083038186803b15801561128f57600080fd5b505afa1580156112a3573d6000803e3d6000fd5b505050506040513d60208110156112b957600080fd5b5051600084815260366020908152604091829020548251630981b24d60e41b8152600481019190915291516001600160a01b039093169263981b24d0926024808201939291829003018186803b15801561131257600080fd5b505afa158015611326573d6000803e3d6000fd5b505050506040513d602081101561133c57600080fd5b50519392505050565b60345460009082906001600160a01b0316331461139e576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156113ec57600080fd5b505afa158015611400573d6000803e3d6000fd5b505050506040513d602081101561141657600080fd5b50516040805163dab0efff60e01b81526001600160a01b0389811660048301528881166024830152604482018890529151919092169163dab0efff9160648083019260209291908290030181600087803b15801561147357600080fd5b505af1158015611487573d6000803e3d6000fd5b505050506040513d602081101561149d57600080fd5b50519695505050505050565b60345460009082906001600160a01b03163314611502576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561155057600080fd5b505afa158015611564573d6000803e3d6000fd5b505050506040513d602081101561157a57600080fd5b50516040805163dea9e24d60e01b8152600481018890526001600160a01b0387811660248301529151919092169163dea9e24d9160448083019260209291908290030181600087803b1580156115cf57600080fd5b505af11580156115e3573d6000803e3d6000fd5b505050506040513d60208110156115f957600080fd5b505195945050505050565b603760205260009081526040902080546001909101546001600160a01b039091169082565b60345460009082906001600160a01b03163314611682576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156116d057600080fd5b505afa1580156116e4573d6000803e3d6000fd5b505050506040513d60208110156116fa57600080fd5b50516040805163ddbfcc6b60e01b8152600481018890526001600160a01b0387811660248301529151919092169163ddbfcc6b9160448083019260209291908290030181600087803b1580156115cf57600080fd5b6001600160a01b0384166117aa576040805162461bcd60e51b815260206004820152601c60248201527f766f74696e674d616368696e652063616e6e6f74206265207a65726f00000000604482015290519081900360640190fd5b6117b3856119b8565b603480546001600160a01b0319166001600160a01b038616179055826119af576040516307b4e1e360e01b815284906001600160a01b038216906307b4e1e39085908590600401808361016080838360005b8381101561181d578181015183820152602001611805565b50505050905001826001600160a01b031681526020019250505060206040518083038186803b15801561184f57600080fd5b505afa158015611863573d6000803e3d6000fd5b505050506040513d602081101561187957600080fd5b505160358190556040805162941a0160e21b81526004810192909252516000916001600160a01b038416916302506804916024808201926101a092909190829003018186803b1580156118cb57600080fd5b505afa1580156118df573d6000803e3d6000fd5b505050506040513d6101a08110156118f657600080fd5b50519050806119a857604051638894c41b60e01b81526001600160a01b03831690638894c41b9086908690600401808361016080838360005b8381101561194757818101518382015260200161192f565b50505050905001826001600160a01b0316815260200192505050602060405180830381600087803b15801561197b57600080fd5b505af115801561198f573d6000803e3d6000fd5b505050506040513d60208110156119a557600080fd5b50505b5050610a83565b50506035555050565b600054610100900460ff16806119d157506119d1611ad1565b806119df575060005460ff16155b611a1a5760405162461bcd60e51b815260040180806020018281038252602e815260200180611aef602e913960400191505060405180910390fd5b600054610100900460ff16158015611a45576000805460ff1961ff0019909116610100171660011790555b6001600160a01b038216611aa0576040805162461bcd60e51b815260206004820152601760248201527f536368656d65206d757374206861766520617661746172000000000000000000604482015290519081900360640190fd5b603380546001600160a01b0319166001600160a01b0384161790558015611acd576000805461ff00191690555b5050565b303b1590565b60408051808201909152600080825260208201529056fe436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a26469706673582212203bfae93ebaafed2f0936d409bc8801197c2587417764158a268356dc39842bf764736f6c634300060c0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c80637a5cb92c11610097578063bea75f2811610066578063bea75f28146103bd578063d29b5d2f146103f9578063d8145e2d1461042b578063f81f8bf61461046b576100f5565b80637a5cb92c146103205780639588378e1461033d5780639d4c162d14610369578063b551c373146103a0576100f5565b80634ea2c7ec116100d35780634ea2c7ec1461029c578063540fbeb3146102a45780635aef7de6146102ec5780636b8eb403146102f4576100f5565b806325edd5ce146100fa5780633edf7ca1146101c2578063406cb9ec146101e6575b600080fd5b6101b06004803603604081101561011057600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561013b57600080fd5b82018360208201111561014d57600080fd5b8035906020019184600183028401116401000000008311171561016f57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061049d945050505050565b60408051918252519081900360200190f35b6101ca610785565b604080516001600160a01b039092168252519081900360200190f35b6101b0600480360360408110156101fc57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561022757600080fd5b82018360208201111561023957600080fd5b8035906020019184600183028401116401000000008311171561025b57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610794945050505050565b6101b0610a46565b6102ea60048036036101e08110156102bb57600080fd5b506001600160a01b038135811691602081013582169160408201916101a0810135909116906101c00135610a4c565b005b6101ca610a8a565b6101b06004803603604081101561030a57600080fd5b506001600160a01b038135169060200135610a99565b6101b06004803603602081101561033657600080fd5b5035610b73565b6101b06004803603604081101561035357600080fd5b506001600160a01b038135169060200135610b85565b61038c6004803603604081101561037f57600080fd5b5080359060200135610cb6565b604080519115158252519081900360200190f35b6101b0600480360360208110156103b657600080fd5b50356110ae565b61038c600480360360808110156103d357600080fd5b506001600160a01b03813581169160208101359091169060408101359060600135611345565b61038c6004803603606081101561040f57600080fd5b508035906001600160a01b0360208201351690604001356114a9565b6104486004803603602081101561044157600080fd5b5035611604565b604080516001600160a01b03909316835260208301919091528051918290030190f35b61038c6004803603606081101561048157600080fd5b508035906001600160a01b036020820135169060400135611629565b60335460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b1580156104e257600080fd5b505afa1580156104f6573d6000803e3d6000fd5b505050506040513d602081101561050c57600080fd5b505160408051632074193160e21b815230600482015290516001600160a01b03909216916381d064c491602480820192602092909190829003018186803b15801561055657600080fd5b505afa15801561056a573d6000803e3d6000fd5b505050506040513d602081101561058057600080fd5b50516105ce576040805162461bcd60e51b81526020600482015260186024820152771cd8da195b59481a5cc81b9bdd081c9959da5cdd195c995960421b604482015290519081900360640190fd5b60345460355460335460408051634439bdaf60e11b81526002600482015260248101939093523360448401526001600160a01b0391821660648401525160009391909116916388737b5e91608480830192602092919082900301818787803b15801561063957600080fd5b505af115801561064d573d6000803e3d6000fd5b505050506040513d602081101561066357600080fd5b5051905061066f611ad7565b506040805180820182526001600160a01b0386811680835260016020808501828152600088815260378352878120875181546001600160a01b0319169088161781559151919093015560345460335487519485528483018881528b51988601989098528a51969791861696899691909116947fd50e60806a38edf7d7787387e0fbb10a1fd59ea820ee07d99182da8b8ccd26f5948d948d9492936060850192918601918190849084905b83811015610731578181015183820152602001610719565b50505050905090810190601f16801561075e5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a45060008181526036602052604090204390559392505050565b6034546001600160a01b031681565b60335460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b1580156107d957600080fd5b505afa1580156107ed573d6000803e3d6000fd5b505050506040513d602081101561080357600080fd5b505160408051632074193160e21b815230600482015290516001600160a01b03909216916381d064c491602480820192602092909190829003018186803b15801561084d57600080fd5b505afa158015610861573d6000803e3d6000fd5b505050506040513d602081101561087757600080fd5b50516108c5576040805162461bcd60e51b81526020600482015260186024820152771cd8da195b59481a5cc81b9bdd081c9959da5cdd195c995960421b604482015290519081900360640190fd5b60345460355460335460408051634439bdaf60e11b81526002600482015260248101939093523360448401526001600160a01b0391821660648401525160009391909116916388737b5e91608480830192602092919082900301818787803b15801561093057600080fd5b505af1158015610944573d6000803e3d6000fd5b505050506040513d602081101561095a57600080fd5b50516000818152603760205260409020600101549091501561097b57600080fd5b610983611ad7565b506040805180820182526001600160a01b0386811680835260026020808501918252600087815260378252868120865181546001600160a01b031916908716178155925160019093019290925560345460335487519485528483018881528b51988601989098528a51969791861696899691909116947fe871423df7e53d312542e06fc83f49bfceb218742acf148e61b31cc8a62ee91c948d948d9492936060850192918601918190849084908315610731578181015183820152602001610719565b60355481565b610a8385858386600b806020026040519081016040528092919082600b6020028082843760009201919091525088915061174f9050565b5050505050565b6033546001600160a01b031681565b60345460009082906001600160a01b03163314610af2576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603354604080516370a0823160e01b81526001600160a01b0392831660048201529051918616916370a0823191602480820192602092909190829003018186803b158015610b3f57600080fd5b505afa158015610b53573d6000803e3d6000fd5b505050506040513d6020811015610b6957600080fd5b5051949350505050565b60366020526000908152604090205481565b60345460009082906001600160a01b03163314610bde576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b03166389ae1c906040518163ffffffff1660e01b815260040160206040518083038186803b158015610c2c57600080fd5b505afa158015610c40573d6000803e3d6000fd5b505050506040513d6020811015610c5657600080fd5b505160008481526036602090815260409182902054825163277166bf60e11b81526001600160a01b03898116600483015260248201929092529251931692634ee2cd7e926044808201939291829003018186803b158015610b3f57600080fd5b60345460009083906001600160a01b03163314610d0f576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b610d17611ad7565b50600084815260376020908152604091829020825180840190935280546001600160a01b0316835260010154908201819052610d5257600080fd5b60008581526037602052604080822080546001600160a01b0319168155600101829055603354905187926001600160a01b03909216917f6bc0cb9e9967b59a69ace442598e1df4368d38661bd5c0800fbcbc9fe855fbbe91a383600114156110605760335460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b158015610df957600080fd5b505afa158015610e0d573d6000803e3d6000fd5b505050506040513d6020811015610e2357600080fd5b5051602083015190915060011415610ebd57806001600160a01b031663b9c2ee8283600001516040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050602060405180830381600087803b158015610e8857600080fd5b505af1158015610e9c573d6000803e3d6000fd5b505050506040513d6020811015610eb257600080fd5b5051610ebd57600080fd5b81602001516002141561105e576000816001600160a01b03166384da77f5306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610f1957600080fd5b505afa158015610f2d573d6000803e3d6000fd5b505050506040513d6020811015610f4357600080fd5b5051835160408051635d1da8cb60e01b81526001600160a01b0392831660048201526001600160e01b031984166024820152905192935090841691635d1da8cb916044808201926020929091908290030181600087803b158015610fa657600080fd5b505af1158015610fba573d6000803e3d6000fd5b505050506040513d6020811015610fd057600080fd5b5051610fdb57600080fd5b82516001600160a01b0316301461105c57816001600160a01b0316636bafaa596040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561102757600080fd5b505af115801561103b573d6000803e3d6000fd5b505050506040513d602081101561105157600080fd5b505161105c57600080fd5b505b505b60335460408051868152905187926001600160a01b0316917fd2632e80f5364f02aded1c64e8a04637b7c8bb9c2db2bedf4b6ac47c013acbc0919081900360200190a3506001949350505050565b60345460009082906001600160a01b03163314611107576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561115557600080fd5b505afa158015611169573d6000803e3d6000fd5b505050506040513d602081101561117f57600080fd5b505160408051632074193160e21b815230600482015290516001600160a01b03909216916381d064c491602480820192602092909190829003018186803b1580156111c957600080fd5b505afa1580156111dd573d6000803e3d6000fd5b505050506040513d60208110156111f357600080fd5b5051611241576040805162461bcd60e51b81526020600482015260186024820152771cd8da195b59481a5cc81b9bdd081c9959da5cdd195c995960421b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b03166389ae1c906040518163ffffffff1660e01b815260040160206040518083038186803b15801561128f57600080fd5b505afa1580156112a3573d6000803e3d6000fd5b505050506040513d60208110156112b957600080fd5b5051600084815260366020908152604091829020548251630981b24d60e41b8152600481019190915291516001600160a01b039093169263981b24d0926024808201939291829003018186803b15801561131257600080fd5b505afa158015611326573d6000803e3d6000fd5b505050506040513d602081101561133c57600080fd5b50519392505050565b60345460009082906001600160a01b0316331461139e576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156113ec57600080fd5b505afa158015611400573d6000803e3d6000fd5b505050506040513d602081101561141657600080fd5b50516040805163dab0efff60e01b81526001600160a01b0389811660048301528881166024830152604482018890529151919092169163dab0efff9160648083019260209291908290030181600087803b15801561147357600080fd5b505af1158015611487573d6000803e3d6000fd5b505050506040513d602081101561149d57600080fd5b50519695505050505050565b60345460009082906001600160a01b03163314611502576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561155057600080fd5b505afa158015611564573d6000803e3d6000fd5b505050506040513d602081101561157a57600080fd5b50516040805163dea9e24d60e01b8152600481018890526001600160a01b0387811660248301529151919092169163dea9e24d9160448083019260209291908290030181600087803b1580156115cf57600080fd5b505af11580156115e3573d6000803e3d6000fd5b505050506040513d60208110156115f957600080fd5b505195945050505050565b603760205260009081526040902080546001909101546001600160a01b039091169082565b60345460009082906001600160a01b03163314611682576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156116d057600080fd5b505afa1580156116e4573d6000803e3d6000fd5b505050506040513d60208110156116fa57600080fd5b50516040805163ddbfcc6b60e01b8152600481018890526001600160a01b0387811660248301529151919092169163ddbfcc6b9160448083019260209291908290030181600087803b1580156115cf57600080fd5b6001600160a01b0384166117aa576040805162461bcd60e51b815260206004820152601c60248201527f766f74696e674d616368696e652063616e6e6f74206265207a65726f00000000604482015290519081900360640190fd5b6117b3856119b8565b603480546001600160a01b0319166001600160a01b038616179055826119af576040516307b4e1e360e01b815284906001600160a01b038216906307b4e1e39085908590600401808361016080838360005b8381101561181d578181015183820152602001611805565b50505050905001826001600160a01b031681526020019250505060206040518083038186803b15801561184f57600080fd5b505afa158015611863573d6000803e3d6000fd5b505050506040513d602081101561187957600080fd5b505160358190556040805162941a0160e21b81526004810192909252516000916001600160a01b038416916302506804916024808201926101a092909190829003018186803b1580156118cb57600080fd5b505afa1580156118df573d6000803e3d6000fd5b505050506040513d6101a08110156118f657600080fd5b50519050806119a857604051638894c41b60e01b81526001600160a01b03831690638894c41b9086908690600401808361016080838360005b8381101561194757818101518382015260200161192f565b50505050905001826001600160a01b0316815260200192505050602060405180830381600087803b15801561197b57600080fd5b505af115801561198f573d6000803e3d6000fd5b505050506040513d60208110156119a557600080fd5b50505b5050610a83565b50506035555050565b600054610100900460ff16806119d157506119d1611ad1565b806119df575060005460ff16155b611a1a5760405162461bcd60e51b815260040180806020018281038252602e815260200180611aef602e913960400191505060405180910390fd5b600054610100900460ff16158015611a45576000805460ff1961ff0019909116610100171660011790555b6001600160a01b038216611aa0576040805162461bcd60e51b815260206004820152601760248201527f536368656d65206d757374206861766520617661746172000000000000000000604482015290519081900360640190fd5b603380546001600160a01b0319166001600160a01b0384161790558015611acd576000805461ff00191690555b5050565b303b1590565b60408051808201909152600080825260208201529056fe436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a26469706673582212203bfae93ebaafed2f0936d409bc8801197c2587417764158a268356dc39842bf764736f6c634300060c0033",
"linkReferences": {},
"deployedLinkReferences": {}
}