diff --git a/client/src/App.jsx b/client/src/App.jsx
index 3690617..370c73f 100644
--- a/client/src/App.jsx
+++ b/client/src/App.jsx
@@ -58,7 +58,7 @@ function App() {
// In this effect, we initialize everything and add contract event listeners.
useEffect(() => {
- if (!provider || !chainId || !account || balance === undefined) return;
+ if (!provider || !chainId || !account || balance === undefined) return () => {};
const DAOAddress = getContractAddressByChainId(chainId, 'DAO');
const Work1Address = getContractAddressByChainId(chainId, 'Work1');
const OnboardingAddress = getContractAddressByChainId(chainId, 'Onboarding');
@@ -145,8 +145,6 @@ function App() {
/* --------------------------- BEGIN EVENT HANDLERS ------------------------------- */
/* -------------------------------------------------------------------------------- */
- // TODO: Unsubscribe from events when effect is to be rerun
-
DAOContract.events.PostAdded({ fromBlock: 'latest' }).on('data', (event) => {
console.log('event: post added');
fetchPost(event.returnValues.postIndex);
@@ -170,6 +168,14 @@ function App() {
OnboardingContract.events.AvailabilityStaked({ fromBlock: 'latest' }).on('data', () => {
fetchReputation();
});
+
+ return () => {
+ DAOContract.events.PostAdded().off();
+ DAOContract.events.ValidationPoolInitiated().off();
+ DAOContract.events.ValidationPoolResolved().off();
+ Work1Contract.events.AvailabilityStaked().off();
+ OnboardingContract.events.AvailabilityStaked().off();
+ };
}, [provider, account, chainId, balance, dispatchValidationPool, dispatchPost]);
/* -------------------------------------------------------------------------------- */
diff --git a/client/src/assets/Proposals.json b/client/src/assets/Proposals.json
index aa82020..3c34f4e 100644
--- a/client/src/assets/Proposals.json
+++ b/client/src/assets/Proposals.json
@@ -181,6 +181,11 @@
"name": "fee",
"type": "uint256"
},
+ {
+ "internalType": "uint256",
+ "name": "remainingFee",
+ "type": "uint256"
+ },
{
"internalType": "uint256",
"name": "postIndex",
@@ -240,8 +245,8 @@
"type": "function"
}
],
- "bytecode": "0x60a06040526040518060600160405280600060ff168152602001600160ff168152602001606460ff1681525060029060036200003d929190620001ef565b5060405180606001604052806000151515158152602001600015151515815260200160011515151581525060059060036200007a92919062000239565b5060405180606001604052806040518060400160405280600160ff168152602001600a60ff1681525081526020016040518060400160405280600160ff168152602001600260ff1681525081526020016040518060400160405280600160ff168152602001600360ff168152508152506006906003620000fc929190620002d9565b5060405180606001604052806040518060400160405280600260ff168152602001600360ff1681525081526020016040518060400160405280600260ff168152602001600360ff1681525081526020016040518060400160405280600260ff168152602001600360ff16815250815250600c9060036200017e929190620002d9565b503480156200018c57600080fd5b506040516200229f3803806200229f8339818101604052810190620001b291906200044e565b808073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050505062000480565b826003810192821562000226579160200282015b8281111562000225578251829060ff1690559160200191906001019062000203565b5b50905062000235919062000331565b5090565b826003601f01602090048101928215620002c65791602002820160005b838211156200029557835183826101000a81548160ff021916908315150217905550926020019260010160208160000104928301926001030262000256565b8015620002c45782816101000a81549060ff021916905560010160208160000104928301926001030262000295565b505b509050620002d5919062000331565b5090565b82600360020281019282156200031e579160200282015b828111156200031d578251829060026200030c92919062000350565b5091602001919060020190620002f0565b5b5090506200032d91906200039a565b5090565b5b808211156200034c57600081600090555060010162000332565b5090565b826002810192821562000387579160200282015b8281111562000386578251829060ff1690559160200191906001019062000364565b5b50905062000396919062000331565b5090565b5b80821115620003be5760008181620003b49190620003c2565b506002016200039b565b5090565b506000815560010160009055565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200040282620003d5565b9050919050565b60006200041682620003f5565b9050919050565b620004288162000409565b81146200043457600080fd5b50565b60008151905062000448816200041d565b92915050565b600060208284031215620004675762000466620003d0565b5b6000620004778482850162000437565b91505092915050565b608051611de0620004bf600039600081816101f401528181610440015281816105f3015281816107c801528181610d480152610f320152611de06000f3fe6080604052600436106100555760003560e01c8063013cf08b1461005a5780635d4d20471461009c578063a3bb24cc146100cc578063b4e6a1d5146100f5578063da35c6641461011e578063ea923e6314610149575b600080fd5b34801561006657600080fd5b50610081600480360381019061007c9190611135565b610186565b60405161009396959493929190611229565b60405180910390f35b6100b660048036038101906100b191906112ef565b6101ef565b6040516100c39190611377565b60405180910390f35b3480156100d857600080fd5b506100f360048036038101906100ee9190611392565b61043d565b005b34801561010157600080fd5b5061011c60048036038101906101179190611460565b6105f1565b005b34801561012a57600080fd5b50610133610caf565b6040516101409190611377565b60405180910390f35b34801561015557600080fd5b50610170600480360381019061016b9190611135565b610cb5565b60405161017d9190611509565b60405180910390f35b60006020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154908060030154908060040160009054906101000a900460ff16908060060154905086565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ff8692403389896040518463ffffffff1660e01b815260040161024f93929190611582565b6020604051808303816000875af115801561026e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061029291906115c9565b9050600160008154809291906102a790611625565b9190505591506000806000848152602001908152602001600020905081816002018190555042816003018190555085816007016000600381106102ed576102ec61166d565b5b600602016000018190555084816007016001600381106103105761030f61166d565b5b600602016000018190555083816007016002600381106103335761033261166d565b5b60060201600001819055503481600101819055506003816001015461035891906116cb565b8160070160006003811061036f5761036e61166d565b5b60060201600101819055506003816001015461038b91906116cb565b816007016001600381106103a2576103a161166d565b5b60060201600101819055506003600282600101546103c091906116fc565b6103ca91906116cb565b81600101546103d9919061173e565b816007016002600381106103f0576103ef61166d565b5b60060201600101819055507f9a863892f20a6b9c6cec64d611b5864be6373191ce2cacc3b05a299bce3bf80e8360405161042a9190611377565b60405180910390a1505095945050505050565b807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b81526004016104979190611772565b602060405180830381865afa1580156104b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d891906115c9565b1015610519576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610510906117ff565b60405180910390fd5b600080600084815260200190815260200160002090508060050160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054816006016000828254610584919061173e565b92505081905550818160050160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550818160060160008282546105e5919061181f565b92505081905550505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461067f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610676906118c5565b60405180910390fd5b60008083838101906106919190611392565b91509150600080600084815260200190815260200160002090508761071c5760048160040160006101000a81548160ff021916908360058111156106d8576106d76111b2565b5b02179055507f2a15f4605f8e68cbaccd2234253a8189163d500a6f60c1751405443ca1562beb8360405161070c9190611931565b60405180910390a1505050610ca7565b60008160070183600381106107345761073361166d565b5b60060201905060008160020160018360020180549050610754919061173e565b815481106107655761076461166d565b5b906000526020600020906003020190508881600101819055508781600201819055506001600581111561079b5761079a6111b2565b5b8360040160009054906101000a900460ff1660058111156107bf576107be6111b2565b5b036109735760007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610831573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085591906115c9565b898b610861919061181f565b600261086d91906116fc565b101590508b801561087b5750805b156108b25760028460040160006101000a81548160ff021916908360058111156108a8576108a76111b2565b5b021790555061096d565b6003836003016000600381106108cb576108ca61166d565b5b01541061093b5760048460040160006101000a81548160ff021916908360058111156108fa576108f96111b2565b5b02179055507f2a15f4605f8e68cbaccd2234253a8189163d500a6f60c1751405443ca1562beb8660405161092e91906119ab565b60405180910390a161096c565b6001836003016000600381106109545761095361166d565b5b016000828254610964919061181f565b925050819055505b5b50610bbc565b60026005811115610987576109866111b2565b5b8360040160009054906101000a900460ff1660058111156109ab576109aa6111b2565b5b03610aa8578a156109e85760038360040160006101000a81548160ff021916908360058111156109de576109dd6111b2565b5b0217905550610aa3565b600382600301600160038110610a0157610a0061166d565b5b015410610a715760048360040160006101000a81548160ff02191690836005811115610a3057610a2f6111b2565b5b02179055507f2a15f4605f8e68cbaccd2234253a8189163d500a6f60c1751405443ca1562beb85604051610a6491906119ab565b60405180910390a1610aa2565b600182600301600160038110610a8a57610a8961166d565b5b016000828254610a9a919061181f565b925050819055505b5b610bbb565b60036005811115610abc57610abb6111b2565b5b8360040160009054906101000a900460ff166005811115610ae057610adf6111b2565b5b03610bba578a15610b545760058360040160006101000a81548160ff02191690836005811115610b1357610b126111b2565b5b02179055507fd24c2047577899547bacebb29e319fc7d73f6712b5adb401d45556f34bb2aa3b85604051610b479190611377565b60405180910390a1610bb9565b60048360040160006101000a81548160ff02191690836005811115610b7c57610b7b6111b2565b5b02179055507f2a15f4605f8e68cbaccd2234253a8189163d500a6f60c1751405443ca1562beb85604051610bb09190611a25565b60405180910390a15b5b5b5b60016005811115610bd057610bcf6111b2565b5b8360040160009054906101000a900460ff166005811115610bf457610bf36111b2565b5b03610c0957610c04856000610ed0565b610ca1565b60026005811115610c1d57610c1c6111b2565b5b8360040160009054906101000a900460ff166005811115610c4157610c406111b2565b5b03610c5657610c51856001610ed0565b610ca0565b60036005811115610c6a57610c696111b2565b5b8360040160009054906101000a900460ff166005811115610c8e57610c8d6111b2565b5b03610c9f57610c9e856002610ed0565b5b5b5b50505050505b505050505050565b60015481565b600080600080848152602001908152602001600020905060006005811115610ce057610cdf6111b2565b5b8160040160009054906101000a900460ff166005811115610d0457610d036111b2565b5b14610d44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3b90611ac5565b60405180910390fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610db1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd591906115c9565b8260060154600a610de691906116fc565b1015905060006301e133808360030154610e00919061181f565b4211905081610e8b578015610e7f5760048360040160006101000a81548160ff02191690836005811115610e3757610e366111b2565b5b02179055507f2a15f4605f8e68cbaccd2234253a8189163d500a6f60c1751405443ca1562beb85604051610e6b9190611b57565b60405180910390a160009350505050610ecb565b60009350505050610ecb565b60018360040160006101000a81548160ff02191690836005811115610eb357610eb26111b2565b5b0217905550610ec3856000610ed0565b600193505050505b919050565b600060028260038110610ee657610ee561166d565b5b01549050600060058360038110610f0057610eff61166d565b5b602091828204019190069054906101000a900460ff1690506000806000868152602001908152602001600020905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637fcf6759836007018760038110610f8257610f8161166d565b5b60060201600101548460020154856007018960038110610fa557610fa461166d565b5b600602016000015460068a60038110610fc157610fc061166d565b5b60020201600c8b60038110610fd957610fd861166d565b5b600202018a8a60018f8f604051602001610ff4929190611b85565b6040516020818303038152906040526040518a63ffffffff1660e01b8152600401611026989796959493929190611d23565b60206040518083038185885af1158015611044573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061106991906115c9565b905060008260070186600381106110835761108261166d565b5b6006020160020160018160018154018082558091505003906000526020600020906003020190508181600001819055507f4c14e16a98683e5b8bd70d51192048d0499fb3999b27ff1e9dce7e4a2c67347987836040516110e4929190611b85565b60405180910390a150505050505050565b600080fd5b600080fd5b6000819050919050565b611112816110ff565b811461111d57600080fd5b50565b60008135905061112f81611109565b92915050565b60006020828403121561114b5761114a6110f5565b5b600061115984828501611120565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061118d82611162565b9050919050565b61119d81611182565b82525050565b6111ac816110ff565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600681106111f2576111f16111b2565b5b50565b6000819050611203826111e1565b919050565b6000611213826111f5565b9050919050565b61122381611208565b82525050565b600060c08201905061123e6000830189611194565b61124b60208301886111a3565b61125860408301876111a3565b61126560608301866111a3565b611272608083018561121a565b61127f60a08301846111a3565b979650505050505050565b600080fd5b600080fd5b600080fd5b60008083601f8401126112af576112ae61128a565b5b8235905067ffffffffffffffff8111156112cc576112cb61128f565b5b6020830191508360018202830111156112e8576112e7611294565b5b9250929050565b60008060008060006080868803121561130b5761130a6110f5565b5b600086013567ffffffffffffffff811115611329576113286110fa565b5b61133588828901611299565b9550955050602061134888828901611120565b935050604061135988828901611120565b925050606061136a88828901611120565b9150509295509295909350565b600060208201905061138c60008301846111a3565b92915050565b600080604083850312156113a9576113a86110f5565b5b60006113b785828601611120565b92505060206113c885828601611120565b9150509250929050565b60008115159050919050565b6113e7816113d2565b81146113f257600080fd5b50565b600081359050611404816113de565b92915050565b60008083601f8401126114205761141f61128a565b5b8235905067ffffffffffffffff81111561143d5761143c61128f565b5b60208301915083600182028301111561145957611458611294565b5b9250929050565b60008060008060008060a0878903121561147d5761147c6110f5565b5b600061148b89828a016113f5565b965050602061149c89828a016113f5565b95505060406114ad89828a01611120565b94505060606114be89828a01611120565b935050608087013567ffffffffffffffff8111156114df576114de6110fa565b5b6114eb89828a0161140a565b92509250509295509295509295565b611503816113d2565b82525050565b600060208201905061151e60008301846114fa565b92915050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b60006115618385611524565b935061156e838584611535565b61157783611544565b840190509392505050565b60006040820190506115976000830186611194565b81810360208301526115aa818486611555565b9050949350505050565b6000815190506115c381611109565b92915050565b6000602082840312156115df576115de6110f5565b5b60006115ed848285016115b4565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611630826110ff565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611662576116616115f6565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006116d6826110ff565b91506116e1836110ff565b9250826116f1576116f061169c565b5b828204905092915050565b6000611707826110ff565b9150611712836110ff565b9250828202611720816110ff565b91508282048414831517611737576117366115f6565b5b5092915050565b6000611749826110ff565b9150611754836110ff565b925082820390508181111561176c5761176b6115f6565b5b92915050565b60006020820190506117876000830184611194565b92915050565b7f53656e6465722068617320696e73756666696369656e74205245502062616c6160008201527f6e63650000000000000000000000000000000000000000000000000000000000602082015250565b60006117e9602383611524565b91506117f48261178d565b604082019050919050565b60006020820190508181036000830152611818816117dc565b9050919050565b600061182a826110ff565b9150611835836110ff565b925082820190508082111561184d5761184c6115f6565b5b92915050565b7f6f6e56616c6964617465206d6179206f6e6c792062652063616c6c656420627960008201527f207468652044414f20636f6e7472616374000000000000000000000000000000602082015250565b60006118af603183611524565b91506118ba82611853565b604082019050919050565b600060208201905081810360008301526118de816118a2565b9050919050565b7f51756f72756d206e6f74206d6574000000000000000000000000000000000000600082015250565b600061191b600e83611524565b9150611926826118e5565b602082019050919050565b600060408201905061194660008301846111a3565b81810360208301526119578161190e565b905092915050565b7f526574727920636f756e74206578636565646564000000000000000000000000600082015250565b6000611995601483611524565b91506119a08261195f565b602082019050919050565b60006040820190506119c060008301846111a3565b81810360208301526119d181611988565b905092915050565b7f42696e64696e6720706f6f6c207761732072656a656374656400000000000000600082015250565b6000611a0f601983611524565b9150611a1a826119d9565b602082019050919050565b6000604082019050611a3a60008301846111a3565b8181036020830152611a4b81611a02565b905092915050565b7f4174746573746174696f6e206f6e6c79207065727461696e7320746f2050726f60008201527f706f73616c207374616765000000000000000000000000000000000000000000602082015250565b6000611aaf602b83611524565b9150611aba82611a53565b604082019050919050565b60006020820190508181036000830152611ade81611aa2565b9050919050565b7f4578706972656420776974686f7574206d656574696e6720617474657374617460008201527f696f6e207468726573686f6c6400000000000000000000000000000000000000602082015250565b6000611b41602d83611524565b9150611b4c82611ae5565b604082019050919050565b6000604082019050611b6c60008301846111a3565b8181036020830152611b7d81611b34565b905092915050565b6000604082019050611b9a60008301856111a3565b611ba760208301846111a3565b9392505050565b600060029050919050565b600081905092915050565b6000819050919050565b611bd7816110ff565b82525050565b6000611be98383611bce565b60208301905092915050565b60008160001c9050919050565b6000819050919050565b6000611c1f611c1a83611bf5565b611c02565b9050919050565b6000611c328254611c0c565b9050919050565b6000600182019050919050565b611c4f81611bae565b611c598184611bb9565b9250611c6482611bc4565b8060005b83811015611c9c57611c7982611c26565b611c838782611bdd565b9650611c8e83611c39565b925050600181019050611c68565b505050505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611cde578082015181840152602081019050611cc3565b60008484015250505050565b6000611cf582611ca4565b611cff8185611caf565b9350611d0f818560208601611cc0565b611d1881611544565b840191505092915050565b600061014082019050611d39600083018b6111a3565b611d46602083018a6111a3565b611d536040830189611c46565b611d606080830188611c46565b611d6d60c08301876111a3565b611d7a60e08301866114fa565b611d886101008301856114fa565b818103610120830152611d9b8184611cea565b9050999850505050505050505056fea26469706673582212209e3a506480134af492b50add2e441fdea8ba815914ff1b258de0836754dbcc9f64736f6c63430008180033",
- "deployedBytecode": "0x6080604052600436106100555760003560e01c8063013cf08b1461005a5780635d4d20471461009c578063a3bb24cc146100cc578063b4e6a1d5146100f5578063da35c6641461011e578063ea923e6314610149575b600080fd5b34801561006657600080fd5b50610081600480360381019061007c9190611135565b610186565b60405161009396959493929190611229565b60405180910390f35b6100b660048036038101906100b191906112ef565b6101ef565b6040516100c39190611377565b60405180910390f35b3480156100d857600080fd5b506100f360048036038101906100ee9190611392565b61043d565b005b34801561010157600080fd5b5061011c60048036038101906101179190611460565b6105f1565b005b34801561012a57600080fd5b50610133610caf565b6040516101409190611377565b60405180910390f35b34801561015557600080fd5b50610170600480360381019061016b9190611135565b610cb5565b60405161017d9190611509565b60405180910390f35b60006020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154908060030154908060040160009054906101000a900460ff16908060060154905086565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ff8692403389896040518463ffffffff1660e01b815260040161024f93929190611582565b6020604051808303816000875af115801561026e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061029291906115c9565b9050600160008154809291906102a790611625565b9190505591506000806000848152602001908152602001600020905081816002018190555042816003018190555085816007016000600381106102ed576102ec61166d565b5b600602016000018190555084816007016001600381106103105761030f61166d565b5b600602016000018190555083816007016002600381106103335761033261166d565b5b60060201600001819055503481600101819055506003816001015461035891906116cb565b8160070160006003811061036f5761036e61166d565b5b60060201600101819055506003816001015461038b91906116cb565b816007016001600381106103a2576103a161166d565b5b60060201600101819055506003600282600101546103c091906116fc565b6103ca91906116cb565b81600101546103d9919061173e565b816007016002600381106103f0576103ef61166d565b5b60060201600101819055507f9a863892f20a6b9c6cec64d611b5864be6373191ce2cacc3b05a299bce3bf80e8360405161042a9190611377565b60405180910390a1505095945050505050565b807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b81526004016104979190611772565b602060405180830381865afa1580156104b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d891906115c9565b1015610519576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610510906117ff565b60405180910390fd5b600080600084815260200190815260200160002090508060050160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054816006016000828254610584919061173e565b92505081905550818160050160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550818160060160008282546105e5919061181f565b92505081905550505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461067f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610676906118c5565b60405180910390fd5b60008083838101906106919190611392565b91509150600080600084815260200190815260200160002090508761071c5760048160040160006101000a81548160ff021916908360058111156106d8576106d76111b2565b5b02179055507f2a15f4605f8e68cbaccd2234253a8189163d500a6f60c1751405443ca1562beb8360405161070c9190611931565b60405180910390a1505050610ca7565b60008160070183600381106107345761073361166d565b5b60060201905060008160020160018360020180549050610754919061173e565b815481106107655761076461166d565b5b906000526020600020906003020190508881600101819055508781600201819055506001600581111561079b5761079a6111b2565b5b8360040160009054906101000a900460ff1660058111156107bf576107be6111b2565b5b036109735760007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610831573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085591906115c9565b898b610861919061181f565b600261086d91906116fc565b101590508b801561087b5750805b156108b25760028460040160006101000a81548160ff021916908360058111156108a8576108a76111b2565b5b021790555061096d565b6003836003016000600381106108cb576108ca61166d565b5b01541061093b5760048460040160006101000a81548160ff021916908360058111156108fa576108f96111b2565b5b02179055507f2a15f4605f8e68cbaccd2234253a8189163d500a6f60c1751405443ca1562beb8660405161092e91906119ab565b60405180910390a161096c565b6001836003016000600381106109545761095361166d565b5b016000828254610964919061181f565b925050819055505b5b50610bbc565b60026005811115610987576109866111b2565b5b8360040160009054906101000a900460ff1660058111156109ab576109aa6111b2565b5b03610aa8578a156109e85760038360040160006101000a81548160ff021916908360058111156109de576109dd6111b2565b5b0217905550610aa3565b600382600301600160038110610a0157610a0061166d565b5b015410610a715760048360040160006101000a81548160ff02191690836005811115610a3057610a2f6111b2565b5b02179055507f2a15f4605f8e68cbaccd2234253a8189163d500a6f60c1751405443ca1562beb85604051610a6491906119ab565b60405180910390a1610aa2565b600182600301600160038110610a8a57610a8961166d565b5b016000828254610a9a919061181f565b925050819055505b5b610bbb565b60036005811115610abc57610abb6111b2565b5b8360040160009054906101000a900460ff166005811115610ae057610adf6111b2565b5b03610bba578a15610b545760058360040160006101000a81548160ff02191690836005811115610b1357610b126111b2565b5b02179055507fd24c2047577899547bacebb29e319fc7d73f6712b5adb401d45556f34bb2aa3b85604051610b479190611377565b60405180910390a1610bb9565b60048360040160006101000a81548160ff02191690836005811115610b7c57610b7b6111b2565b5b02179055507f2a15f4605f8e68cbaccd2234253a8189163d500a6f60c1751405443ca1562beb85604051610bb09190611a25565b60405180910390a15b5b5b5b60016005811115610bd057610bcf6111b2565b5b8360040160009054906101000a900460ff166005811115610bf457610bf36111b2565b5b03610c0957610c04856000610ed0565b610ca1565b60026005811115610c1d57610c1c6111b2565b5b8360040160009054906101000a900460ff166005811115610c4157610c406111b2565b5b03610c5657610c51856001610ed0565b610ca0565b60036005811115610c6a57610c696111b2565b5b8360040160009054906101000a900460ff166005811115610c8e57610c8d6111b2565b5b03610c9f57610c9e856002610ed0565b5b5b5b50505050505b505050505050565b60015481565b600080600080848152602001908152602001600020905060006005811115610ce057610cdf6111b2565b5b8160040160009054906101000a900460ff166005811115610d0457610d036111b2565b5b14610d44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3b90611ac5565b60405180910390fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610db1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd591906115c9565b8260060154600a610de691906116fc565b1015905060006301e133808360030154610e00919061181f565b4211905081610e8b578015610e7f5760048360040160006101000a81548160ff02191690836005811115610e3757610e366111b2565b5b02179055507f2a15f4605f8e68cbaccd2234253a8189163d500a6f60c1751405443ca1562beb85604051610e6b9190611b57565b60405180910390a160009350505050610ecb565b60009350505050610ecb565b60018360040160006101000a81548160ff02191690836005811115610eb357610eb26111b2565b5b0217905550610ec3856000610ed0565b600193505050505b919050565b600060028260038110610ee657610ee561166d565b5b01549050600060058360038110610f0057610eff61166d565b5b602091828204019190069054906101000a900460ff1690506000806000868152602001908152602001600020905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637fcf6759836007018760038110610f8257610f8161166d565b5b60060201600101548460020154856007018960038110610fa557610fa461166d565b5b600602016000015460068a60038110610fc157610fc061166d565b5b60020201600c8b60038110610fd957610fd861166d565b5b600202018a8a60018f8f604051602001610ff4929190611b85565b6040516020818303038152906040526040518a63ffffffff1660e01b8152600401611026989796959493929190611d23565b60206040518083038185885af1158015611044573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061106991906115c9565b905060008260070186600381106110835761108261166d565b5b6006020160020160018160018154018082558091505003906000526020600020906003020190508181600001819055507f4c14e16a98683e5b8bd70d51192048d0499fb3999b27ff1e9dce7e4a2c67347987836040516110e4929190611b85565b60405180910390a150505050505050565b600080fd5b600080fd5b6000819050919050565b611112816110ff565b811461111d57600080fd5b50565b60008135905061112f81611109565b92915050565b60006020828403121561114b5761114a6110f5565b5b600061115984828501611120565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061118d82611162565b9050919050565b61119d81611182565b82525050565b6111ac816110ff565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600681106111f2576111f16111b2565b5b50565b6000819050611203826111e1565b919050565b6000611213826111f5565b9050919050565b61122381611208565b82525050565b600060c08201905061123e6000830189611194565b61124b60208301886111a3565b61125860408301876111a3565b61126560608301866111a3565b611272608083018561121a565b61127f60a08301846111a3565b979650505050505050565b600080fd5b600080fd5b600080fd5b60008083601f8401126112af576112ae61128a565b5b8235905067ffffffffffffffff8111156112cc576112cb61128f565b5b6020830191508360018202830111156112e8576112e7611294565b5b9250929050565b60008060008060006080868803121561130b5761130a6110f5565b5b600086013567ffffffffffffffff811115611329576113286110fa565b5b61133588828901611299565b9550955050602061134888828901611120565b935050604061135988828901611120565b925050606061136a88828901611120565b9150509295509295909350565b600060208201905061138c60008301846111a3565b92915050565b600080604083850312156113a9576113a86110f5565b5b60006113b785828601611120565b92505060206113c885828601611120565b9150509250929050565b60008115159050919050565b6113e7816113d2565b81146113f257600080fd5b50565b600081359050611404816113de565b92915050565b60008083601f8401126114205761141f61128a565b5b8235905067ffffffffffffffff81111561143d5761143c61128f565b5b60208301915083600182028301111561145957611458611294565b5b9250929050565b60008060008060008060a0878903121561147d5761147c6110f5565b5b600061148b89828a016113f5565b965050602061149c89828a016113f5565b95505060406114ad89828a01611120565b94505060606114be89828a01611120565b935050608087013567ffffffffffffffff8111156114df576114de6110fa565b5b6114eb89828a0161140a565b92509250509295509295509295565b611503816113d2565b82525050565b600060208201905061151e60008301846114fa565b92915050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b60006115618385611524565b935061156e838584611535565b61157783611544565b840190509392505050565b60006040820190506115976000830186611194565b81810360208301526115aa818486611555565b9050949350505050565b6000815190506115c381611109565b92915050565b6000602082840312156115df576115de6110f5565b5b60006115ed848285016115b4565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611630826110ff565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611662576116616115f6565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006116d6826110ff565b91506116e1836110ff565b9250826116f1576116f061169c565b5b828204905092915050565b6000611707826110ff565b9150611712836110ff565b9250828202611720816110ff565b91508282048414831517611737576117366115f6565b5b5092915050565b6000611749826110ff565b9150611754836110ff565b925082820390508181111561176c5761176b6115f6565b5b92915050565b60006020820190506117876000830184611194565b92915050565b7f53656e6465722068617320696e73756666696369656e74205245502062616c6160008201527f6e63650000000000000000000000000000000000000000000000000000000000602082015250565b60006117e9602383611524565b91506117f48261178d565b604082019050919050565b60006020820190508181036000830152611818816117dc565b9050919050565b600061182a826110ff565b9150611835836110ff565b925082820190508082111561184d5761184c6115f6565b5b92915050565b7f6f6e56616c6964617465206d6179206f6e6c792062652063616c6c656420627960008201527f207468652044414f20636f6e7472616374000000000000000000000000000000602082015250565b60006118af603183611524565b91506118ba82611853565b604082019050919050565b600060208201905081810360008301526118de816118a2565b9050919050565b7f51756f72756d206e6f74206d6574000000000000000000000000000000000000600082015250565b600061191b600e83611524565b9150611926826118e5565b602082019050919050565b600060408201905061194660008301846111a3565b81810360208301526119578161190e565b905092915050565b7f526574727920636f756e74206578636565646564000000000000000000000000600082015250565b6000611995601483611524565b91506119a08261195f565b602082019050919050565b60006040820190506119c060008301846111a3565b81810360208301526119d181611988565b905092915050565b7f42696e64696e6720706f6f6c207761732072656a656374656400000000000000600082015250565b6000611a0f601983611524565b9150611a1a826119d9565b602082019050919050565b6000604082019050611a3a60008301846111a3565b8181036020830152611a4b81611a02565b905092915050565b7f4174746573746174696f6e206f6e6c79207065727461696e7320746f2050726f60008201527f706f73616c207374616765000000000000000000000000000000000000000000602082015250565b6000611aaf602b83611524565b9150611aba82611a53565b604082019050919050565b60006020820190508181036000830152611ade81611aa2565b9050919050565b7f4578706972656420776974686f7574206d656574696e6720617474657374617460008201527f696f6e207468726573686f6c6400000000000000000000000000000000000000602082015250565b6000611b41602d83611524565b9150611b4c82611ae5565b604082019050919050565b6000604082019050611b6c60008301846111a3565b8181036020830152611b7d81611b34565b905092915050565b6000604082019050611b9a60008301856111a3565b611ba760208301846111a3565b9392505050565b600060029050919050565b600081905092915050565b6000819050919050565b611bd7816110ff565b82525050565b6000611be98383611bce565b60208301905092915050565b60008160001c9050919050565b6000819050919050565b6000611c1f611c1a83611bf5565b611c02565b9050919050565b6000611c328254611c0c565b9050919050565b6000600182019050919050565b611c4f81611bae565b611c598184611bb9565b9250611c6482611bc4565b8060005b83811015611c9c57611c7982611c26565b611c838782611bdd565b9650611c8e83611c39565b925050600181019050611c68565b505050505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611cde578082015181840152602081019050611cc3565b60008484015250505050565b6000611cf582611ca4565b611cff8185611caf565b9350611d0f818560208601611cc0565b611d1881611544565b840191505092915050565b600061014082019050611d39600083018b6111a3565b611d46602083018a6111a3565b611d536040830189611c46565b611d606080830188611c46565b611d6d60c08301876111a3565b611d7a60e08301866114fa565b611d886101008301856114fa565b818103610120830152611d9b8184611cea565b9050999850505050505050505056fea26469706673582212209e3a506480134af492b50add2e441fdea8ba815914ff1b258de0836754dbcc9f64736f6c63430008180033",
+ "bytecode": "0x60a06040526040518060600160405280600060ff168152602001600160ff168152602001606460ff1681525060029060036200003d929190620001ef565b5060405180606001604052806000151515158152602001600015151515815260200160011515151581525060059060036200007a92919062000239565b5060405180606001604052806040518060400160405280600160ff168152602001600a60ff1681525081526020016040518060400160405280600160ff168152602001600a60ff1681525081526020016040518060400160405280600160ff168152602001600a60ff168152508152506006906003620000fc929190620002d9565b5060405180606001604052806040518060400160405280600260ff168152602001600360ff1681525081526020016040518060400160405280600260ff168152602001600360ff1681525081526020016040518060400160405280600260ff168152602001600360ff16815250815250600c9060036200017e929190620002d9565b503480156200018c57600080fd5b5060405162002474380380620024748339818101604052810190620001b291906200044e565b808073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050505062000480565b826003810192821562000226579160200282015b8281111562000225578251829060ff1690559160200191906001019062000203565b5b50905062000235919062000331565b5090565b826003601f01602090048101928215620002c65791602002820160005b838211156200029557835183826101000a81548160ff021916908315150217905550926020019260010160208160000104928301926001030262000256565b8015620002c45782816101000a81549060ff021916905560010160208160000104928301926001030262000295565b505b509050620002d5919062000331565b5090565b82600360020281019282156200031e579160200282015b828111156200031d578251829060026200030c92919062000350565b5091602001919060020190620002f0565b5b5090506200032d91906200039a565b5090565b5b808211156200034c57600081600090555060010162000332565b5090565b826002810192821562000387579160200282015b8281111562000386578251829060ff1690559160200191906001019062000364565b5b50905062000396919062000331565b5090565b5b80821115620003be5760008181620003b49190620003c2565b506002016200039b565b5090565b506000815560010160009055565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200040282620003d5565b9050919050565b60006200041682620003f5565b9050919050565b620004288162000409565b81146200043457600080fd5b50565b60008151905062000448816200041d565b92915050565b600060208284031215620004675762000466620003d0565b5b6000620004778482850162000437565b91505092915050565b608051611fb5620004bf600039600081816101fb015281816103a0015281816105530152818161070b01528181610db50152610f830152611fb56000f3fe6080604052600436106100555760003560e01c8063013cf08b1461005a5780635d4d20471461009d578063a3bb24cc146100cd578063b4e6a1d5146100f6578063da35c6641461011f578063ea923e631461014a575b600080fd5b34801561006657600080fd5b50610081600480360381019061007c91906111a8565b610187565b604051610094979695949392919061129c565b60405180910390f35b6100b760048036038101906100b29190611370565b6101f6565b6040516100c491906113f8565b60405180910390f35b3480156100d957600080fd5b506100f460048036038101906100ef9190611413565b61039d565b005b34801561010257600080fd5b5061011d600480360381019061011891906114e1565b610551565b005b34801561012b57600080fd5b50610134610d1c565b60405161014191906113f8565b60405180910390f35b34801561015657600080fd5b50610171600480360381019061016c91906111a8565b610d22565b60405161017e919061158a565b60405180910390f35b60006020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154908060030154908060040154908060050160009054906101000a900460ff16908060070154905087565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ff8692403389896040518463ffffffff1660e01b815260040161025693929190611603565b6020604051808303816000875af1158015610275573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610299919061164a565b9050600160008154809291906102ae906116a6565b9190505591506000806000848152602001908152602001600020905081816003018190555042816004018190555085816008016000600381106102f4576102f36116ee565b5b60030201600001819055508481600801600160038110610317576103166116ee565b5b6003020160000181905550838160080160026003811061033a576103396116ee565b5b6003020160000181905550348160010181905550806001015481600201819055507f9a863892f20a6b9c6cec64d611b5864be6373191ce2cacc3b05a299bce3bf80e8360405161038a91906113f8565b60405180910390a1505095945050505050565b807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b81526004016103f7919061171d565b602060405180830381865afa158015610414573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610438919061164a565b1015610479576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610470906117aa565b60405180910390fd5b600080600084815260200190815260200160002090508060060160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548160070160008282546104e491906117ca565b92505081905550818160060160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508181600701600082825461054591906117fe565b92505081905550505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d6906118a4565b60405180910390fd5b600080600084848101906105f391906118c4565b925092509250600080600085815260200190815260200160002090508861069c5760048160050160006101000a81548160ff0219169083600581111561063c5761063b611225565b5b02179055507f2a15f4605f8e68cbaccd2234253a8189163d500a6f60c1751405443ca1562beb846040516106709190611963565b60405180910390a18181600201600082825461068c91906117fe565b9250508190555050505050610d14565b60008160080184600381106106b4576106b36116ee565b5b600302019050600081600101600183600101805490506106d491906117ca565b815481106106e5576106e46116ee565b5b9060005260206000209060030201905089816001018190555088816002018190555060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610774573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610798919061164a565b8a8c6107a491906117fe565b60026107b09190611991565b10159050600160058111156107c8576107c7611225565b5b8460050160009054906101000a900460ff1660058111156107ec576107eb611225565b5b0361090d5760008614610834576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082b90611a1f565b60405180910390fd5b8c801561083e5750805b156108755760028460050160006101000a81548160ff0219169083600581111561086b5761086a611225565b5b0217905550610908565b60028360020154106108ea5760048460050160006101000a81548160ff021916908360058111156108a9576108a8611225565b5b02179055507f2a15f4605f8e68cbaccd2234253a8189163d500a6f60c1751405443ca1562beb876040516108dd9190611a8b565b60405180910390a1610907565b60018360020160008282546108ff91906117fe565b925050819055505b5b610bf4565b6002600581111561092157610920611225565b5b8460050160009054906101000a900460ff16600581111561094557610944611225565b5b03610a66576001861461098d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098490611b05565b60405180910390fd5b8c80156109975750805b156109ce5760038460050160006101000a81548160ff021916908360058111156109c4576109c3611225565b5b0217905550610a61565b6002836002015410610a435760048460050160006101000a81548160ff02191690836005811115610a0257610a01611225565b5b02179055507f2a15f4605f8e68cbaccd2234253a8189163d500a6f60c1751405443ca1562beb87604051610a369190611a8b565b60405180910390a1610a60565b6001836002016000828254610a5891906117fe565b925050819055505b5b610bf3565b60036005811115610a7a57610a79611225565b5b8460050160009054906101000a900460ff166005811115610a9e57610a9d611225565b5b03610bf25760028614610ae6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610add90611b71565b60405180910390fd5b8c8015610af05750805b15610b5e5760058460050160006101000a81548160ff02191690836005811115610b1d57610b1c611225565b5b02179055507fd24c2047577899547bacebb29e319fc7d73f6712b5adb401d45556f34bb2aa3b87604051610b5191906113f8565b60405180910390a1610bf1565b6002836002015410610bd35760048460050160006101000a81548160ff02191690836005811115610b9257610b91611225565b5b02179055507f2a15f4605f8e68cbaccd2234253a8189163d500a6f60c1751405443ca1562beb87604051610bc69190611a8b565b60405180910390a1610bf0565b6001836002016000828254610be891906117fe565b925050819055505b5b5b5b5b60016005811115610c0857610c07611225565b5b8460050160009054906101000a900460ff166005811115610c2c57610c2b611225565b5b03610c5257610c4d876000600a8760010154610c489190611bc0565b610f4e565b610d0c565b60026005811115610c6657610c65611225565b5b8460050160009054906101000a900460ff166005811115610c8a57610c89611225565b5b03610cb057610cab876001600a8760010154610ca69190611bc0565b610f4e565b610d0b565b60036005811115610cc457610cc3611225565b5b8460050160009054906101000a900460ff166005811115610ce857610ce7611225565b5b03610d0a57610d09876002600a8760010154610d049190611bc0565b610f4e565b5b5b5b505050505050505b505050505050565b60015481565b600080600080848152602001908152602001600020905060006005811115610d4d57610d4c611225565b5b8160050160009054906101000a900460ff166005811115610d7157610d70611225565b5b14610db1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da890611c63565b60405180910390fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e42919061164a565b8260070154600a610e539190611991565b1015905060006301e133808360040154610e6d91906117fe565b4211905081610ef8578015610eec5760048360050160006101000a81548160ff02191690836005811115610ea457610ea3611225565b5b02179055507f2a15f4605f8e68cbaccd2234253a8189163d500a6f60c1751405443ca1562beb85604051610ed89190611cf5565b60405180910390a160009350505050610f49565b60009350505050610f49565b60018360050160006101000a81548160ff02191690836005811115610f2057610f1f611225565b5b0217905550610f41856000600a8660010154610f3c9190611bc0565b610f4e565b600193505050505b919050565b6000806000858152602001908152602001600020905081816002016000828254610f7891906117ca565b9250508190555060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637fcf6759848460030154856008018860038110610fd957610fd86116ee565b5b600302016000015460068960038110610ff557610ff46116ee565b5b60020201600c8a6003811061100d5761100c6116ee565b5b6002020160028b60038110611025576110246116ee565b5b015460058c6003811061103b5761103a6116ee565b5b602091828204019190069054906101000a900460ff1660018e8e8e60405160200161106893929190611d23565b6040516020818303038152906040526040518a63ffffffff1660e01b815260040161109a989796959493929190611ecf565b60206040518083038185885af11580156110b8573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110dd919061164a565b905060008260080185600381106110f7576110f66116ee565b5b6003020160010160018160018154018082558091505003906000526020600020906003020190508181600001819055507f4c14e16a98683e5b8bd70d51192048d0499fb3999b27ff1e9dce7e4a2c6734798683604051611158929190611f56565b60405180910390a1505050505050565b600080fd5b600080fd5b6000819050919050565b61118581611172565b811461119057600080fd5b50565b6000813590506111a28161117c565b92915050565b6000602082840312156111be576111bd611168565b5b60006111cc84828501611193565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611200826111d5565b9050919050565b611210816111f5565b82525050565b61121f81611172565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6006811061126557611264611225565b5b50565b600081905061127682611254565b919050565b600061128682611268565b9050919050565b6112968161127b565b82525050565b600060e0820190506112b1600083018a611207565b6112be6020830189611216565b6112cb6040830188611216565b6112d86060830187611216565b6112e56080830186611216565b6112f260a083018561128d565b6112ff60c0830184611216565b98975050505050505050565b600080fd5b600080fd5b600080fd5b60008083601f8401126113305761132f61130b565b5b8235905067ffffffffffffffff81111561134d5761134c611310565b5b60208301915083600182028301111561136957611368611315565b5b9250929050565b60008060008060006080868803121561138c5761138b611168565b5b600086013567ffffffffffffffff8111156113aa576113a961116d565b5b6113b68882890161131a565b955095505060206113c988828901611193565b93505060406113da88828901611193565b92505060606113eb88828901611193565b9150509295509295909350565b600060208201905061140d6000830184611216565b92915050565b6000806040838503121561142a57611429611168565b5b600061143885828601611193565b925050602061144985828601611193565b9150509250929050565b60008115159050919050565b61146881611453565b811461147357600080fd5b50565b6000813590506114858161145f565b92915050565b60008083601f8401126114a1576114a061130b565b5b8235905067ffffffffffffffff8111156114be576114bd611310565b5b6020830191508360018202830111156114da576114d9611315565b5b9250929050565b60008060008060008060a087890312156114fe576114fd611168565b5b600061150c89828a01611476565b965050602061151d89828a01611476565b955050604061152e89828a01611193565b945050606061153f89828a01611193565b935050608087013567ffffffffffffffff8111156115605761155f61116d565b5b61156c89828a0161148b565b92509250509295509295509295565b61158481611453565b82525050565b600060208201905061159f600083018461157b565b92915050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b60006115e283856115a5565b93506115ef8385846115b6565b6115f8836115c5565b840190509392505050565b60006040820190506116186000830186611207565b818103602083015261162b8184866115d6565b9050949350505050565b6000815190506116448161117c565b92915050565b6000602082840312156116605761165f611168565b5b600061166e84828501611635565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006116b182611172565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036116e3576116e2611677565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020820190506117326000830184611207565b92915050565b7f53656e6465722068617320696e73756666696369656e74205245502062616c6160008201527f6e63650000000000000000000000000000000000000000000000000000000000602082015250565b60006117946023836115a5565b915061179f82611738565b604082019050919050565b600060208201905081810360008301526117c381611787565b9050919050565b60006117d582611172565b91506117e083611172565b92508282039050818111156117f8576117f7611677565b5b92915050565b600061180982611172565b915061181483611172565b925082820190508082111561182c5761182b611677565b5b92915050565b7f6f6e56616c6964617465206d6179206f6e6c792062652063616c6c656420627960008201527f207468652044414f20636f6e7472616374000000000000000000000000000000602082015250565b600061188e6031836115a5565b915061189982611832565b604082019050919050565b600060208201905081810360008301526118bd81611881565b9050919050565b6000806000606084860312156118dd576118dc611168565b5b60006118eb86828701611193565b93505060206118fc86828701611193565b925050604061190d86828701611193565b9150509250925092565b7f51756f72756d206e6f74206d6574000000000000000000000000000000000000600082015250565b600061194d600e836115a5565b915061195882611917565b602082019050919050565b60006040820190506119786000830184611216565b818103602083015261198981611940565b905092915050565b600061199c82611172565b91506119a783611172565b92508282026119b581611172565b915082820484148315176119cc576119cb611677565b5b5092915050565b7f5374616765203020696e646578206d69736d6174636800000000000000000000600082015250565b6000611a096016836115a5565b9150611a14826119d3565b602082019050919050565b60006020820190508181036000830152611a38816119fc565b9050919050565b7f526574727920636f756e74206578636565646564000000000000000000000000600082015250565b6000611a756014836115a5565b9150611a8082611a3f565b602082019050919050565b6000604082019050611aa06000830184611216565b8181036020830152611ab181611a68565b905092915050565b7f5374616765203120696e646578206d69736d6174636800000000000000000000600082015250565b6000611aef6016836115a5565b9150611afa82611ab9565b602082019050919050565b60006020820190508181036000830152611b1e81611ae2565b9050919050565b7f5374616765203220696e646578206d69736d6174636800000000000000000000600082015250565b6000611b5b6016836115a5565b9150611b6682611b25565b602082019050919050565b60006020820190508181036000830152611b8a81611b4e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611bcb82611172565b9150611bd683611172565b925082611be657611be5611b91565b5b828204905092915050565b7f4174746573746174696f6e206f6e6c79207065727461696e7320746f2050726f60008201527f706f73616c207374616765000000000000000000000000000000000000000000602082015250565b6000611c4d602b836115a5565b9150611c5882611bf1565b604082019050919050565b60006020820190508181036000830152611c7c81611c40565b9050919050565b7f4578706972656420776974686f7574206d656574696e6720617474657374617460008201527f696f6e207468726573686f6c6400000000000000000000000000000000000000602082015250565b6000611cdf602d836115a5565b9150611cea82611c83565b604082019050919050565b6000604082019050611d0a6000830184611216565b8181036020830152611d1b81611cd2565b905092915050565b6000606082019050611d386000830186611216565b611d456020830185611216565b611d526040830184611216565b949350505050565b600060029050919050565b600081905092915050565b6000819050919050565b611d8381611172565b82525050565b6000611d958383611d7a565b60208301905092915050565b60008160001c9050919050565b6000819050919050565b6000611dcb611dc683611da1565b611dae565b9050919050565b6000611dde8254611db8565b9050919050565b6000600182019050919050565b611dfb81611d5a565b611e058184611d65565b9250611e1082611d70565b8060005b83811015611e4857611e2582611dd2565b611e2f8782611d89565b9650611e3a83611de5565b925050600181019050611e14565b505050505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e8a578082015181840152602081019050611e6f565b60008484015250505050565b6000611ea182611e50565b611eab8185611e5b565b9350611ebb818560208601611e6c565b611ec4816115c5565b840191505092915050565b600061014082019050611ee5600083018b611216565b611ef2602083018a611216565b611eff6040830189611df2565b611f0c6080830188611df2565b611f1960c0830187611216565b611f2660e083018661157b565b611f3461010083018561157b565b818103610120830152611f478184611e96565b90509998505050505050505050565b6000604082019050611f6b6000830185611216565b611f786020830184611216565b939250505056fea26469706673582212204637e347131d9089dc4337e619fb499a3849918f37903c2d95690294ee5f9f6c64736f6c63430008180033",
+ "deployedBytecode": "0x6080604052600436106100555760003560e01c8063013cf08b1461005a5780635d4d20471461009d578063a3bb24cc146100cd578063b4e6a1d5146100f6578063da35c6641461011f578063ea923e631461014a575b600080fd5b34801561006657600080fd5b50610081600480360381019061007c91906111a8565b610187565b604051610094979695949392919061129c565b60405180910390f35b6100b760048036038101906100b29190611370565b6101f6565b6040516100c491906113f8565b60405180910390f35b3480156100d957600080fd5b506100f460048036038101906100ef9190611413565b61039d565b005b34801561010257600080fd5b5061011d600480360381019061011891906114e1565b610551565b005b34801561012b57600080fd5b50610134610d1c565b60405161014191906113f8565b60405180910390f35b34801561015657600080fd5b50610171600480360381019061016c91906111a8565b610d22565b60405161017e919061158a565b60405180910390f35b60006020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154908060030154908060040154908060050160009054906101000a900460ff16908060070154905087565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ff8692403389896040518463ffffffff1660e01b815260040161025693929190611603565b6020604051808303816000875af1158015610275573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610299919061164a565b9050600160008154809291906102ae906116a6565b9190505591506000806000848152602001908152602001600020905081816003018190555042816004018190555085816008016000600381106102f4576102f36116ee565b5b60030201600001819055508481600801600160038110610317576103166116ee565b5b6003020160000181905550838160080160026003811061033a576103396116ee565b5b6003020160000181905550348160010181905550806001015481600201819055507f9a863892f20a6b9c6cec64d611b5864be6373191ce2cacc3b05a299bce3bf80e8360405161038a91906113f8565b60405180910390a1505095945050505050565b807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b81526004016103f7919061171d565b602060405180830381865afa158015610414573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610438919061164a565b1015610479576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610470906117aa565b60405180910390fd5b600080600084815260200190815260200160002090508060060160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548160070160008282546104e491906117ca565b92505081905550818160060160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508181600701600082825461054591906117fe565b92505081905550505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d6906118a4565b60405180910390fd5b600080600084848101906105f391906118c4565b925092509250600080600085815260200190815260200160002090508861069c5760048160050160006101000a81548160ff0219169083600581111561063c5761063b611225565b5b02179055507f2a15f4605f8e68cbaccd2234253a8189163d500a6f60c1751405443ca1562beb846040516106709190611963565b60405180910390a18181600201600082825461068c91906117fe565b9250508190555050505050610d14565b60008160080184600381106106b4576106b36116ee565b5b600302019050600081600101600183600101805490506106d491906117ca565b815481106106e5576106e46116ee565b5b9060005260206000209060030201905089816001018190555088816002018190555060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610774573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610798919061164a565b8a8c6107a491906117fe565b60026107b09190611991565b10159050600160058111156107c8576107c7611225565b5b8460050160009054906101000a900460ff1660058111156107ec576107eb611225565b5b0361090d5760008614610834576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082b90611a1f565b60405180910390fd5b8c801561083e5750805b156108755760028460050160006101000a81548160ff0219169083600581111561086b5761086a611225565b5b0217905550610908565b60028360020154106108ea5760048460050160006101000a81548160ff021916908360058111156108a9576108a8611225565b5b02179055507f2a15f4605f8e68cbaccd2234253a8189163d500a6f60c1751405443ca1562beb876040516108dd9190611a8b565b60405180910390a1610907565b60018360020160008282546108ff91906117fe565b925050819055505b5b610bf4565b6002600581111561092157610920611225565b5b8460050160009054906101000a900460ff16600581111561094557610944611225565b5b03610a66576001861461098d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098490611b05565b60405180910390fd5b8c80156109975750805b156109ce5760038460050160006101000a81548160ff021916908360058111156109c4576109c3611225565b5b0217905550610a61565b6002836002015410610a435760048460050160006101000a81548160ff02191690836005811115610a0257610a01611225565b5b02179055507f2a15f4605f8e68cbaccd2234253a8189163d500a6f60c1751405443ca1562beb87604051610a369190611a8b565b60405180910390a1610a60565b6001836002016000828254610a5891906117fe565b925050819055505b5b610bf3565b60036005811115610a7a57610a79611225565b5b8460050160009054906101000a900460ff166005811115610a9e57610a9d611225565b5b03610bf25760028614610ae6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610add90611b71565b60405180910390fd5b8c8015610af05750805b15610b5e5760058460050160006101000a81548160ff02191690836005811115610b1d57610b1c611225565b5b02179055507fd24c2047577899547bacebb29e319fc7d73f6712b5adb401d45556f34bb2aa3b87604051610b5191906113f8565b60405180910390a1610bf1565b6002836002015410610bd35760048460050160006101000a81548160ff02191690836005811115610b9257610b91611225565b5b02179055507f2a15f4605f8e68cbaccd2234253a8189163d500a6f60c1751405443ca1562beb87604051610bc69190611a8b565b60405180910390a1610bf0565b6001836002016000828254610be891906117fe565b925050819055505b5b5b5b5b60016005811115610c0857610c07611225565b5b8460050160009054906101000a900460ff166005811115610c2c57610c2b611225565b5b03610c5257610c4d876000600a8760010154610c489190611bc0565b610f4e565b610d0c565b60026005811115610c6657610c65611225565b5b8460050160009054906101000a900460ff166005811115610c8a57610c89611225565b5b03610cb057610cab876001600a8760010154610ca69190611bc0565b610f4e565b610d0b565b60036005811115610cc457610cc3611225565b5b8460050160009054906101000a900460ff166005811115610ce857610ce7611225565b5b03610d0a57610d09876002600a8760010154610d049190611bc0565b610f4e565b5b5b5b505050505050505b505050505050565b60015481565b600080600080848152602001908152602001600020905060006005811115610d4d57610d4c611225565b5b8160050160009054906101000a900460ff166005811115610d7157610d70611225565b5b14610db1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da890611c63565b60405180910390fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e42919061164a565b8260070154600a610e539190611991565b1015905060006301e133808360040154610e6d91906117fe565b4211905081610ef8578015610eec5760048360050160006101000a81548160ff02191690836005811115610ea457610ea3611225565b5b02179055507f2a15f4605f8e68cbaccd2234253a8189163d500a6f60c1751405443ca1562beb85604051610ed89190611cf5565b60405180910390a160009350505050610f49565b60009350505050610f49565b60018360050160006101000a81548160ff02191690836005811115610f2057610f1f611225565b5b0217905550610f41856000600a8660010154610f3c9190611bc0565b610f4e565b600193505050505b919050565b6000806000858152602001908152602001600020905081816002016000828254610f7891906117ca565b9250508190555060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637fcf6759848460030154856008018860038110610fd957610fd86116ee565b5b600302016000015460068960038110610ff557610ff46116ee565b5b60020201600c8a6003811061100d5761100c6116ee565b5b6002020160028b60038110611025576110246116ee565b5b015460058c6003811061103b5761103a6116ee565b5b602091828204019190069054906101000a900460ff1660018e8e8e60405160200161106893929190611d23565b6040516020818303038152906040526040518a63ffffffff1660e01b815260040161109a989796959493929190611ecf565b60206040518083038185885af11580156110b8573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110dd919061164a565b905060008260080185600381106110f7576110f66116ee565b5b6003020160010160018160018154018082558091505003906000526020600020906003020190508181600001819055507f4c14e16a98683e5b8bd70d51192048d0499fb3999b27ff1e9dce7e4a2c6734798683604051611158929190611f56565b60405180910390a1505050505050565b600080fd5b600080fd5b6000819050919050565b61118581611172565b811461119057600080fd5b50565b6000813590506111a28161117c565b92915050565b6000602082840312156111be576111bd611168565b5b60006111cc84828501611193565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611200826111d5565b9050919050565b611210816111f5565b82525050565b61121f81611172565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6006811061126557611264611225565b5b50565b600081905061127682611254565b919050565b600061128682611268565b9050919050565b6112968161127b565b82525050565b600060e0820190506112b1600083018a611207565b6112be6020830189611216565b6112cb6040830188611216565b6112d86060830187611216565b6112e56080830186611216565b6112f260a083018561128d565b6112ff60c0830184611216565b98975050505050505050565b600080fd5b600080fd5b600080fd5b60008083601f8401126113305761132f61130b565b5b8235905067ffffffffffffffff81111561134d5761134c611310565b5b60208301915083600182028301111561136957611368611315565b5b9250929050565b60008060008060006080868803121561138c5761138b611168565b5b600086013567ffffffffffffffff8111156113aa576113a961116d565b5b6113b68882890161131a565b955095505060206113c988828901611193565b93505060406113da88828901611193565b92505060606113eb88828901611193565b9150509295509295909350565b600060208201905061140d6000830184611216565b92915050565b6000806040838503121561142a57611429611168565b5b600061143885828601611193565b925050602061144985828601611193565b9150509250929050565b60008115159050919050565b61146881611453565b811461147357600080fd5b50565b6000813590506114858161145f565b92915050565b60008083601f8401126114a1576114a061130b565b5b8235905067ffffffffffffffff8111156114be576114bd611310565b5b6020830191508360018202830111156114da576114d9611315565b5b9250929050565b60008060008060008060a087890312156114fe576114fd611168565b5b600061150c89828a01611476565b965050602061151d89828a01611476565b955050604061152e89828a01611193565b945050606061153f89828a01611193565b935050608087013567ffffffffffffffff8111156115605761155f61116d565b5b61156c89828a0161148b565b92509250509295509295509295565b61158481611453565b82525050565b600060208201905061159f600083018461157b565b92915050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b60006115e283856115a5565b93506115ef8385846115b6565b6115f8836115c5565b840190509392505050565b60006040820190506116186000830186611207565b818103602083015261162b8184866115d6565b9050949350505050565b6000815190506116448161117c565b92915050565b6000602082840312156116605761165f611168565b5b600061166e84828501611635565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006116b182611172565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036116e3576116e2611677565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020820190506117326000830184611207565b92915050565b7f53656e6465722068617320696e73756666696369656e74205245502062616c6160008201527f6e63650000000000000000000000000000000000000000000000000000000000602082015250565b60006117946023836115a5565b915061179f82611738565b604082019050919050565b600060208201905081810360008301526117c381611787565b9050919050565b60006117d582611172565b91506117e083611172565b92508282039050818111156117f8576117f7611677565b5b92915050565b600061180982611172565b915061181483611172565b925082820190508082111561182c5761182b611677565b5b92915050565b7f6f6e56616c6964617465206d6179206f6e6c792062652063616c6c656420627960008201527f207468652044414f20636f6e7472616374000000000000000000000000000000602082015250565b600061188e6031836115a5565b915061189982611832565b604082019050919050565b600060208201905081810360008301526118bd81611881565b9050919050565b6000806000606084860312156118dd576118dc611168565b5b60006118eb86828701611193565b93505060206118fc86828701611193565b925050604061190d86828701611193565b9150509250925092565b7f51756f72756d206e6f74206d6574000000000000000000000000000000000000600082015250565b600061194d600e836115a5565b915061195882611917565b602082019050919050565b60006040820190506119786000830184611216565b818103602083015261198981611940565b905092915050565b600061199c82611172565b91506119a783611172565b92508282026119b581611172565b915082820484148315176119cc576119cb611677565b5b5092915050565b7f5374616765203020696e646578206d69736d6174636800000000000000000000600082015250565b6000611a096016836115a5565b9150611a14826119d3565b602082019050919050565b60006020820190508181036000830152611a38816119fc565b9050919050565b7f526574727920636f756e74206578636565646564000000000000000000000000600082015250565b6000611a756014836115a5565b9150611a8082611a3f565b602082019050919050565b6000604082019050611aa06000830184611216565b8181036020830152611ab181611a68565b905092915050565b7f5374616765203120696e646578206d69736d6174636800000000000000000000600082015250565b6000611aef6016836115a5565b9150611afa82611ab9565b602082019050919050565b60006020820190508181036000830152611b1e81611ae2565b9050919050565b7f5374616765203220696e646578206d69736d6174636800000000000000000000600082015250565b6000611b5b6016836115a5565b9150611b6682611b25565b602082019050919050565b60006020820190508181036000830152611b8a81611b4e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611bcb82611172565b9150611bd683611172565b925082611be657611be5611b91565b5b828204905092915050565b7f4174746573746174696f6e206f6e6c79207065727461696e7320746f2050726f60008201527f706f73616c207374616765000000000000000000000000000000000000000000602082015250565b6000611c4d602b836115a5565b9150611c5882611bf1565b604082019050919050565b60006020820190508181036000830152611c7c81611c40565b9050919050565b7f4578706972656420776974686f7574206d656574696e6720617474657374617460008201527f696f6e207468726573686f6c6400000000000000000000000000000000000000602082015250565b6000611cdf602d836115a5565b9150611cea82611c83565b604082019050919050565b6000604082019050611d0a6000830184611216565b8181036020830152611d1b81611cd2565b905092915050565b6000606082019050611d386000830186611216565b611d456020830185611216565b611d526040830184611216565b949350505050565b600060029050919050565b600081905092915050565b6000819050919050565b611d8381611172565b82525050565b6000611d958383611d7a565b60208301905092915050565b60008160001c9050919050565b6000819050919050565b6000611dcb611dc683611da1565b611dae565b9050919050565b6000611dde8254611db8565b9050919050565b6000600182019050919050565b611dfb81611d5a565b611e058184611d65565b9250611e1082611d70565b8060005b83811015611e4857611e2582611dd2565b611e2f8782611d89565b9650611e3a83611de5565b925050600181019050611e14565b505050505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e8a578082015181840152602081019050611e6f565b60008484015250505050565b6000611ea182611e50565b611eab8185611e5b565b9350611ebb818560208601611e6c565b611ec4816115c5565b840191505092915050565b600061014082019050611ee5600083018b611216565b611ef2602083018a611216565b611eff6040830189611df2565b611f0c6080830188611df2565b611f1960c0830187611216565b611f2660e083018661157b565b611f3461010083018561157b565b818103610120830152611f478184611e96565b90509998505050505050505050565b6000604082019050611f6b6000830185611216565b611f786020830184611216565b939250505056fea26469706673582212204637e347131d9089dc4337e619fb499a3849918f37903c2d95690294ee5f9f6c64736f6c63430008180033",
"linkReferences": {},
"deployedLinkReferences": {}
}
diff --git a/client/src/components/Proposals.jsx b/client/src/components/Proposals.jsx
index ad718cd..e63f831 100644
--- a/client/src/components/Proposals.jsx
+++ b/client/src/components/Proposals.jsx
@@ -75,6 +75,13 @@ function Proposals() {
});
}, [proposalsContract, account, reputation]);
+ const handleEvaluateAttestation = useCallback(async (proposalIndex) => {
+ await proposalsContract.current.methods.evaluateAttestation(proposalIndex).send({
+ from: account,
+ gas: 1000000,
+ });
+ }, [proposalsContract, account]);
+
return (
<>