@daostack/arc-experimental
Version:
A platform for building DAOs
492 lines (491 loc) • 39 kB
JSON
{
"contractName": "ReputationTokenTrade",
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_avatar",
"type": "address"
},
{
"indexed": true,
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "int256",
"name": "_decision",
"type": "int256"
}
],
"name": "ProposalExecuted",
"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": "_beneficiary",
"type": "address"
},
{
"indexed": false,
"internalType": "contract IERC20",
"name": "_sendToken",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_sendTokenAmount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_reputationAmount",
"type": "uint256"
}
],
"name": "TokenTradeProposalExecuted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_avatar",
"type": "address"
},
{
"indexed": true,
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "string",
"name": "_descriptionHash",
"type": "string"
},
{
"indexed": true,
"internalType": "address",
"name": "_beneficiary",
"type": "address"
},
{
"indexed": false,
"internalType": "contract IERC20",
"name": "_sendToken",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_sendTokenAmount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_reputationAmount",
"type": "uint256"
}
],
"name": "TokenTradeProposed",
"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"
}
],
"name": "execute",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
},
{
"internalType": "int256",
"name": "_decision",
"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": "proposals",
"outputs": [
{
"internalType": "address",
"name": "beneficiary",
"type": "address"
},
{
"internalType": "contract IERC20",
"name": "sendToken",
"type": "address"
},
{
"internalType": "uint256",
"name": "sendTokenAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "reputationAmount",
"type": "uint256"
},
{
"internalType": "bool",
"name": "passed",
"type": "bool"
},
{
"internalType": "bool",
"name": "decided",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "proposalsBlockNumber",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IERC20",
"name": "_sendToken",
"type": "address"
},
{
"internalType": "uint256",
"name": "_sendTokenAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_reputationAmount",
"type": "uint256"
},
{
"internalType": "string",
"name": "_descriptionHash",
"type": "string"
}
],
"name": "proposeTokenTrade",
"outputs": [
{
"internalType": "bytes32",
"name": "proposalId",
"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": "0x608060405234801561001057600080fd5b50611b7e806100206000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80639588378e11610097578063bea75f2811610066578063bea75f2814610373578063d29b5d2f146103af578063e751f271146103e1578063f81f8bf6146103fe576100f5565b80639588378e1461023157806396aee8ea1461025d5780639d4c162d1461031f578063b551c37314610356576100f5565b8063540fbeb3116100d3578063540fbeb3146101985780635aef7de6146101e05780636b8eb403146101e85780637a5cb92c14610214576100f5565b806332ed5b12146100fa5780633edf7ca11461015a5780634ea2c7ec1461017e575b600080fd5b6101176004803603602081101561011057600080fd5b5035610430565b604080516001600160a01b03978816815295909616602086015284860193909352606084019190915215156080830152151560a082015290519081900360c00190f35b610162610477565b604080516001600160a01b039092168252519081900360200190f35b610186610486565b60408051918252519081900360200190f35b6101de60048036036101e08110156101af57600080fd5b506001600160a01b038135811691602081013582169160408201916101a0810135909116906101c0013561048c565b005b6101626104ca565b610186600480360360408110156101fe57600080fd5b506001600160a01b0381351690602001356104d9565b6101866004803603602081101561022a57600080fd5b50356105b3565b6101866004803603604081101561024757600080fd5b506001600160a01b0381351690602001356105c5565b6101866004803603608081101561027357600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156102aa57600080fd5b8201836020820111156102bc57600080fd5b803590602001918460018302840111640100000000831117156102de57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506106f6945050505050565b6103426004803603604081101561033557600080fd5b50803590602001356109cb565b604080519115158252519081900360200190f35b6101866004803603602081101561036c57600080fd5b5035610ab6565b6103426004803603608081101561038957600080fd5b506001600160a01b03813581169160208101359091169060408101359060600135610d52565b610342600480360360608110156103c557600080fd5b508035906001600160a01b036020820135169060400135610eb6565b6101de600480360360208110156103f757600080fd5b5035611011565b6103426004803603606081101561041457600080fd5b508035906001600160a01b036020820135169060400135611330565b603760205260009081526040902080546001820154600283015460038401546004909401546001600160a01b03938416949390921692909160ff8082169161010090041686565b6034546001600160a01b031681565b60355481565b6104c385858386600b806020026040519081016040528092919082600b602002808284376000920191909152508891506114569050565b5050505050565b6033546001600160a01b031681565b60345460009082906001600160a01b03163314610532576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603354604080516370a0823160e01b81526001600160a01b0392831660048201529051918616916370a0823191602480820192602092909190829003018186803b15801561057f57600080fd5b505afa158015610593573d6000803e3d6000fd5b505050506040513d60208110156105a957600080fd5b5051949350505050565b60366020526000908152604090205481565b60345460009082906001600160a01b0316331461061e576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b03166389ae1c906040518163ffffffff1660e01b815260040160206040518083038186803b15801561066c57600080fd5b505afa158015610680573d6000803e3d6000fd5b505050506040513d602081101561069657600080fd5b505160008481526036602090815260409182902054825163277166bf60e11b81526001600160a01b03898116600483015260248201929092529251931692634ee2cd7e926044808201939291829003018186803b15801561057f57600080fd5b60006001600160a01b038516610753576040805162461bcd60e51b815260206004820152601e60248201527f546f6b656e2061646472657373206d757374206e6f74206265206e756c6c0000604482015290519081900360640190fd5b6000841180156107635750600083115b61079e5760405162461bcd60e51b8152600401808060200182810382526032815260200180611abf6032913960400191505060405180910390fd5b6107b36001600160a01b0386163330876116bf565b60345460355460335460408051634439bdaf60e11b81526002600482015260248101939093523360448401526001600160a01b039182166064840152519216916388737b5e916084808201926020929091908290030181600087803b15801561081b57600080fd5b505af115801561082f573d6000803e3d6000fd5b505050506040513d602081101561084557600080fd5b50516040805160c081018252338082526001600160a01b0389811660208481018281528587018c815260608088018d815260006080808b0182815260a0808d018481528f855260378a528e85209d518e54908d166001600160a01b0319918216178f55985160018f018054918e1691909a1617909855955160028d0155925160038c015591516004909a018054955115156101000261ff00199b151560ff19909716969096179a909a1694909417909855603684528883204390556033548951808601969096529885018e905284018c90528684528a5196840196909652895197985093968896909316947f1c6bd286568d62058ab20f22bf4c73c316548e32fa0663b4377c6c4b314d19a0948a948e948e948e94919384939284019291890191908190849084905b8381101561098657818101518382015260200161096e565b50505050905090810190601f1680156109b35780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a4949350505050565b60345460009083906001600160a01b03163314610a24576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b8260011415610a4a576000848152603760205260409020600401805460ff191660011790555b600084815260376020908152604091829020600401805461ff0019166101001790556033548251868152925187936001600160a01b03909216927fd2632e80f5364f02aded1c64e8a04637b7c8bb9c2db2bedf4b6ac47c013acbc0928290030190a35060019392505050565b60345460009082906001600160a01b03163314610b0f576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b5d57600080fd5b505afa158015610b71573d6000803e3d6000fd5b505050506040513d6020811015610b8757600080fd5b505160408051632074193160e21b815230600482015290516001600160a01b03909216916381d064c491602480820192602092909190829003018186803b158015610bd157600080fd5b505afa158015610be5573d6000803e3d6000fd5b505050506040513d6020811015610bfb57600080fd5b5051610c4e576040805162461bcd60e51b815260206004820152601860248201527f736368656d65206973206e6f7420726567697374657265640000000000000000604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b03166389ae1c906040518163ffffffff1660e01b815260040160206040518083038186803b158015610c9c57600080fd5b505afa158015610cb0573d6000803e3d6000fd5b505050506040513d6020811015610cc657600080fd5b5051600084815260366020908152604091829020548251630981b24d60e41b8152600481019190915291516001600160a01b039093169263981b24d0926024808201939291829003018186803b158015610d1f57600080fd5b505afa158015610d33573d6000803e3d6000fd5b505050506040513d6020811015610d4957600080fd5b50519392505050565b60345460009082906001600160a01b03163314610dab576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610df957600080fd5b505afa158015610e0d573d6000803e3d6000fd5b505050506040513d6020811015610e2357600080fd5b50516040805163dab0efff60e01b81526001600160a01b0389811660048301528881166024830152604482018890529151919092169163dab0efff9160648083019260209291908290030181600087803b158015610e8057600080fd5b505af1158015610e94573d6000803e3d6000fd5b505050506040513d6020811015610eaa57600080fd5b50519695505050505050565b60345460009082906001600160a01b03163314610f0f576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f5d57600080fd5b505afa158015610f71573d6000803e3d6000fd5b505050506040513d6020811015610f8757600080fd5b50516040805163dea9e24d60e01b8152600481018890526001600160a01b0387811660248301529151919092169163dea9e24d9160448083019260209291908290030181600087803b158015610fdc57600080fd5b505af1158015610ff0573d6000803e3d6000fd5b505050506040513d602081101561100657600080fd5b505195945050505050565b611019611a89565b50600081815260376020908152604091829020825160c08101845281546001600160a01b039081168252600183015416928101929092526002810154928201929092526003820154606082015260049091015460ff8082161515608084015261010090910416151560a082018190526110d9576040805162461bcd60e51b815260206004820152601a60248201527f6d757374206265206120646563696465642070726f706f73616c000000000000604482015290519081900360640190fd5b8060800151156112c85760335460408201516020830151611108926001600160a01b039182169291169061171f565b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561115657600080fd5b505afa15801561116a573d6000803e3d6000fd5b505050506040513d602081101561118057600080fd5b5051606082015182516040805163dea9e24d60e01b815260048101939093526001600160a01b0391821660248401525192169163dea9e24d916044808201926020929091908290030181600087803b1580156111db57600080fd5b505af11580156111ef573d6000803e3d6000fd5b505050506040513d602081101561120557600080fd5b5051611258576040805162461bcd60e51b815260206004820152601e60248201527f6d696e742072657075746174696f6e2073686f756c6420737563636565640000604482015290519081900360640190fd5b805160335460208084015160408086015160608088015183516001600160a01b03958616815295860192909252848301919091529051948216948794909216927fa9d8ae828ff6f14e3e1a57423bf74c56d938f7e5099f8c13b92416ae3cd78f33929081900390910190a46112e9565b8051604082015160208301516112e9926001600160a01b039091169161171f565b50600090815260376020526040812080546001600160a01b031990811682556001820180549091169055600281018290556003810191909155600401805461ffff19169055565b60345460009082906001600160a01b03163314611389576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156113d757600080fd5b505afa1580156113eb573d6000803e3d6000fd5b505050506040513d602081101561140157600080fd5b50516040805163ddbfcc6b60e01b8152600481018890526001600160a01b0387811660248301529151919092169163ddbfcc6b9160448083019260209291908290030181600087803b158015610fdc57600080fd5b6001600160a01b0384166114b1576040805162461bcd60e51b815260206004820152601c60248201527f766f74696e674d616368696e652063616e6e6f74206265207a65726f00000000604482015290519081900360640190fd5b6114ba85611776565b603480546001600160a01b0319166001600160a01b038616179055826116b6576040516307b4e1e360e01b815284906001600160a01b038216906307b4e1e39085908590600401808361016080838360005b8381101561152457818101518382015260200161150c565b50505050905001826001600160a01b031681526020019250505060206040518083038186803b15801561155657600080fd5b505afa15801561156a573d6000803e3d6000fd5b505050506040513d602081101561158057600080fd5b505160358190556040805162941a0160e21b81526004810192909252516000916001600160a01b038416916302506804916024808201926101a092909190829003018186803b1580156115d257600080fd5b505afa1580156115e6573d6000803e3d6000fd5b505050506040513d6101a08110156115fd57600080fd5b50519050806116af57604051638894c41b60e01b81526001600160a01b03831690638894c41b9086908690600401808361016080838360005b8381101561164e578181015183820152602001611636565b50505050905001826001600160a01b0316815260200192505050602060405180830381600087803b15801561168257600080fd5b505af1158015611696573d6000803e3d6000fd5b505050506040513d60208110156116ac57600080fd5b50505b50506104c3565b50506035555050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261171990859061188f565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261177190849061188f565b505050565b600054610100900460ff168061178f575061178f611a47565b8061179d575060005460ff16155b6117d85760405162461bcd60e51b815260040180806020018281038252602e815260200180611af1602e913960400191505060405180910390fd5b600054610100900460ff16158015611803576000805460ff1961ff0019909116610100171660011790555b6001600160a01b03821661185e576040805162461bcd60e51b815260206004820152601760248201527f536368656d65206d757374206861766520617661746172000000000000000000604482015290519081900360640190fd5b603380546001600160a01b0319166001600160a01b038416179055801561188b576000805461ff00191690555b5050565b6118a1826001600160a01b0316611a4d565b6118f2576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106119305780518252601f199092019160209182019101611911565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611992576040519150601f19603f3d011682016040523d82523d6000602084013e611997565b606091505b5091509150816119ee576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b80511561171957808060200190516020811015611a0a57600080fd5b50516117195760405162461bcd60e51b815260040180806020018281038252602a815260200180611b1f602a913960400191505060405180910390fd5b303b1590565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590611a8157508115155b949350505050565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a08101919091529056fe546f6b656e20616e642072657075746174696f6e20616d6f756e74206d7573742062652067726561746572207468616e2030436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a65645361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220dd611d57ad2663e477e980eb995ec21a5ce0ac4ecdd69f7342d0d8a7231b54ca64736f6c634300060c0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c80639588378e11610097578063bea75f2811610066578063bea75f2814610373578063d29b5d2f146103af578063e751f271146103e1578063f81f8bf6146103fe576100f5565b80639588378e1461023157806396aee8ea1461025d5780639d4c162d1461031f578063b551c37314610356576100f5565b8063540fbeb3116100d3578063540fbeb3146101985780635aef7de6146101e05780636b8eb403146101e85780637a5cb92c14610214576100f5565b806332ed5b12146100fa5780633edf7ca11461015a5780634ea2c7ec1461017e575b600080fd5b6101176004803603602081101561011057600080fd5b5035610430565b604080516001600160a01b03978816815295909616602086015284860193909352606084019190915215156080830152151560a082015290519081900360c00190f35b610162610477565b604080516001600160a01b039092168252519081900360200190f35b610186610486565b60408051918252519081900360200190f35b6101de60048036036101e08110156101af57600080fd5b506001600160a01b038135811691602081013582169160408201916101a0810135909116906101c0013561048c565b005b6101626104ca565b610186600480360360408110156101fe57600080fd5b506001600160a01b0381351690602001356104d9565b6101866004803603602081101561022a57600080fd5b50356105b3565b6101866004803603604081101561024757600080fd5b506001600160a01b0381351690602001356105c5565b6101866004803603608081101561027357600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156102aa57600080fd5b8201836020820111156102bc57600080fd5b803590602001918460018302840111640100000000831117156102de57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506106f6945050505050565b6103426004803603604081101561033557600080fd5b50803590602001356109cb565b604080519115158252519081900360200190f35b6101866004803603602081101561036c57600080fd5b5035610ab6565b6103426004803603608081101561038957600080fd5b506001600160a01b03813581169160208101359091169060408101359060600135610d52565b610342600480360360608110156103c557600080fd5b508035906001600160a01b036020820135169060400135610eb6565b6101de600480360360208110156103f757600080fd5b5035611011565b6103426004803603606081101561041457600080fd5b508035906001600160a01b036020820135169060400135611330565b603760205260009081526040902080546001820154600283015460038401546004909401546001600160a01b03938416949390921692909160ff8082169161010090041686565b6034546001600160a01b031681565b60355481565b6104c385858386600b806020026040519081016040528092919082600b602002808284376000920191909152508891506114569050565b5050505050565b6033546001600160a01b031681565b60345460009082906001600160a01b03163314610532576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603354604080516370a0823160e01b81526001600160a01b0392831660048201529051918616916370a0823191602480820192602092909190829003018186803b15801561057f57600080fd5b505afa158015610593573d6000803e3d6000fd5b505050506040513d60208110156105a957600080fd5b5051949350505050565b60366020526000908152604090205481565b60345460009082906001600160a01b0316331461061e576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b03166389ae1c906040518163ffffffff1660e01b815260040160206040518083038186803b15801561066c57600080fd5b505afa158015610680573d6000803e3d6000fd5b505050506040513d602081101561069657600080fd5b505160008481526036602090815260409182902054825163277166bf60e11b81526001600160a01b03898116600483015260248201929092529251931692634ee2cd7e926044808201939291829003018186803b15801561057f57600080fd5b60006001600160a01b038516610753576040805162461bcd60e51b815260206004820152601e60248201527f546f6b656e2061646472657373206d757374206e6f74206265206e756c6c0000604482015290519081900360640190fd5b6000841180156107635750600083115b61079e5760405162461bcd60e51b8152600401808060200182810382526032815260200180611abf6032913960400191505060405180910390fd5b6107b36001600160a01b0386163330876116bf565b60345460355460335460408051634439bdaf60e11b81526002600482015260248101939093523360448401526001600160a01b039182166064840152519216916388737b5e916084808201926020929091908290030181600087803b15801561081b57600080fd5b505af115801561082f573d6000803e3d6000fd5b505050506040513d602081101561084557600080fd5b50516040805160c081018252338082526001600160a01b0389811660208481018281528587018c815260608088018d815260006080808b0182815260a0808d018481528f855260378a528e85209d518e54908d166001600160a01b0319918216178f55985160018f018054918e1691909a1617909855955160028d0155925160038c015591516004909a018054955115156101000261ff00199b151560ff19909716969096179a909a1694909417909855603684528883204390556033548951808601969096529885018e905284018c90528684528a5196840196909652895197985093968896909316947f1c6bd286568d62058ab20f22bf4c73c316548e32fa0663b4377c6c4b314d19a0948a948e948e948e94919384939284019291890191908190849084905b8381101561098657818101518382015260200161096e565b50505050905090810190601f1680156109b35780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a4949350505050565b60345460009083906001600160a01b03163314610a24576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b8260011415610a4a576000848152603760205260409020600401805460ff191660011790555b600084815260376020908152604091829020600401805461ff0019166101001790556033548251868152925187936001600160a01b03909216927fd2632e80f5364f02aded1c64e8a04637b7c8bb9c2db2bedf4b6ac47c013acbc0928290030190a35060019392505050565b60345460009082906001600160a01b03163314610b0f576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b5d57600080fd5b505afa158015610b71573d6000803e3d6000fd5b505050506040513d6020811015610b8757600080fd5b505160408051632074193160e21b815230600482015290516001600160a01b03909216916381d064c491602480820192602092909190829003018186803b158015610bd157600080fd5b505afa158015610be5573d6000803e3d6000fd5b505050506040513d6020811015610bfb57600080fd5b5051610c4e576040805162461bcd60e51b815260206004820152601860248201527f736368656d65206973206e6f7420726567697374657265640000000000000000604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b03166389ae1c906040518163ffffffff1660e01b815260040160206040518083038186803b158015610c9c57600080fd5b505afa158015610cb0573d6000803e3d6000fd5b505050506040513d6020811015610cc657600080fd5b5051600084815260366020908152604091829020548251630981b24d60e41b8152600481019190915291516001600160a01b039093169263981b24d0926024808201939291829003018186803b158015610d1f57600080fd5b505afa158015610d33573d6000803e3d6000fd5b505050506040513d6020811015610d4957600080fd5b50519392505050565b60345460009082906001600160a01b03163314610dab576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610df957600080fd5b505afa158015610e0d573d6000803e3d6000fd5b505050506040513d6020811015610e2357600080fd5b50516040805163dab0efff60e01b81526001600160a01b0389811660048301528881166024830152604482018890529151919092169163dab0efff9160648083019260209291908290030181600087803b158015610e8057600080fd5b505af1158015610e94573d6000803e3d6000fd5b505050506040513d6020811015610eaa57600080fd5b50519695505050505050565b60345460009082906001600160a01b03163314610f0f576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f5d57600080fd5b505afa158015610f71573d6000803e3d6000fd5b505050506040513d6020811015610f8757600080fd5b50516040805163dea9e24d60e01b8152600481018890526001600160a01b0387811660248301529151919092169163dea9e24d9160448083019260209291908290030181600087803b158015610fdc57600080fd5b505af1158015610ff0573d6000803e3d6000fd5b505050506040513d602081101561100657600080fd5b505195945050505050565b611019611a89565b50600081815260376020908152604091829020825160c08101845281546001600160a01b039081168252600183015416928101929092526002810154928201929092526003820154606082015260049091015460ff8082161515608084015261010090910416151560a082018190526110d9576040805162461bcd60e51b815260206004820152601a60248201527f6d757374206265206120646563696465642070726f706f73616c000000000000604482015290519081900360640190fd5b8060800151156112c85760335460408201516020830151611108926001600160a01b039182169291169061171f565b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561115657600080fd5b505afa15801561116a573d6000803e3d6000fd5b505050506040513d602081101561118057600080fd5b5051606082015182516040805163dea9e24d60e01b815260048101939093526001600160a01b0391821660248401525192169163dea9e24d916044808201926020929091908290030181600087803b1580156111db57600080fd5b505af11580156111ef573d6000803e3d6000fd5b505050506040513d602081101561120557600080fd5b5051611258576040805162461bcd60e51b815260206004820152601e60248201527f6d696e742072657075746174696f6e2073686f756c6420737563636565640000604482015290519081900360640190fd5b805160335460208084015160408086015160608088015183516001600160a01b03958616815295860192909252848301919091529051948216948794909216927fa9d8ae828ff6f14e3e1a57423bf74c56d938f7e5099f8c13b92416ae3cd78f33929081900390910190a46112e9565b8051604082015160208301516112e9926001600160a01b039091169161171f565b50600090815260376020526040812080546001600160a01b031990811682556001820180549091169055600281018290556003810191909155600401805461ffff19169055565b60345460009082906001600160a01b03163314611389576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156113d757600080fd5b505afa1580156113eb573d6000803e3d6000fd5b505050506040513d602081101561140157600080fd5b50516040805163ddbfcc6b60e01b8152600481018890526001600160a01b0387811660248301529151919092169163ddbfcc6b9160448083019260209291908290030181600087803b158015610fdc57600080fd5b6001600160a01b0384166114b1576040805162461bcd60e51b815260206004820152601c60248201527f766f74696e674d616368696e652063616e6e6f74206265207a65726f00000000604482015290519081900360640190fd5b6114ba85611776565b603480546001600160a01b0319166001600160a01b038616179055826116b6576040516307b4e1e360e01b815284906001600160a01b038216906307b4e1e39085908590600401808361016080838360005b8381101561152457818101518382015260200161150c565b50505050905001826001600160a01b031681526020019250505060206040518083038186803b15801561155657600080fd5b505afa15801561156a573d6000803e3d6000fd5b505050506040513d602081101561158057600080fd5b505160358190556040805162941a0160e21b81526004810192909252516000916001600160a01b038416916302506804916024808201926101a092909190829003018186803b1580156115d257600080fd5b505afa1580156115e6573d6000803e3d6000fd5b505050506040513d6101a08110156115fd57600080fd5b50519050806116af57604051638894c41b60e01b81526001600160a01b03831690638894c41b9086908690600401808361016080838360005b8381101561164e578181015183820152602001611636565b50505050905001826001600160a01b0316815260200192505050602060405180830381600087803b15801561168257600080fd5b505af1158015611696573d6000803e3d6000fd5b505050506040513d60208110156116ac57600080fd5b50505b50506104c3565b50506035555050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261171990859061188f565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261177190849061188f565b505050565b600054610100900460ff168061178f575061178f611a47565b8061179d575060005460ff16155b6117d85760405162461bcd60e51b815260040180806020018281038252602e815260200180611af1602e913960400191505060405180910390fd5b600054610100900460ff16158015611803576000805460ff1961ff0019909116610100171660011790555b6001600160a01b03821661185e576040805162461bcd60e51b815260206004820152601760248201527f536368656d65206d757374206861766520617661746172000000000000000000604482015290519081900360640190fd5b603380546001600160a01b0319166001600160a01b038416179055801561188b576000805461ff00191690555b5050565b6118a1826001600160a01b0316611a4d565b6118f2576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106119305780518252601f199092019160209182019101611911565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611992576040519150601f19603f3d011682016040523d82523d6000602084013e611997565b606091505b5091509150816119ee576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b80511561171957808060200190516020811015611a0a57600080fd5b50516117195760405162461bcd60e51b815260040180806020018281038252602a815260200180611b1f602a913960400191505060405180910390fd5b303b1590565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590611a8157508115155b949350505050565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a08101919091529056fe546f6b656e20616e642072657075746174696f6e20616d6f756e74206d7573742062652067726561746572207468616e2030436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a65645361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220dd611d57ad2663e477e980eb995ec21a5ce0ac4ecdd69f7342d0d8a7231b54ca64736f6c634300060c0033",
"linkReferences": {},
"deployedLinkReferences": {}
}