-
Notifications
You must be signed in to change notification settings - Fork 0
/
combined.json
1 lines (1 loc) · 73.6 KB
/
combined.json
1
{"contracts":{"Curve.sol:Curve":{"abi":"[]","bin":"604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a72305820a36637e2757ad6b947648181c66e243328681572852ae2122dffac50939cad310029"},"ZKToken16.sol:ZKToken16":{"abi":"[{\"constant\":true,\"inputs\":[],\"name\":\"MaxWei\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"inputs\",\"type\":\"uint256[]\"},{\"name\":\"outputCommitmentIndexes\",\"type\":\"uint256[16][]\"},{\"name\":\"rG\",\"type\":\"uint256[2]\"},{\"name\":\"e\",\"type\":\"uint256\"},{\"name\":\"s\",\"type\":\"uint256\"}],\"name\":\"ct\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"BaseWei\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"indexes\",\"type\":\"uint256[16][]\"}],\"name\":\"composeFromBits\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"i\",\"type\":\"uint256\"}],\"name\":\"getCommitment\",\"outputs\":[{\"name\":\"p\",\"type\":\"uint256[2]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"H\",\"outputs\":[{\"name\":\"X\",\"type\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_bitCommitments\",\"type\":\"uint256[2][]\"},{\"name\":\"tees\",\"type\":\"uint256[2][]\"},{\"name\":\"e0\",\"type\":\"uint256\"}],\"name\":\"storeBits\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"inputs\",\"type\":\"uint256[]\"},{\"name\":\"outputIndexes\",\"type\":\"uint256[16]\"},{\"name\":\"claim\",\"type\":\"uint256\"},{\"name\":\"receiver\",\"type\":\"address\"},{\"name\":\"rG\",\"type\":\"uint256[2]\"},{\"name\":\"e\",\"type\":\"uint256\"},{\"name\":\"s\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"x\",\"type\":\"uint256\"}],\"name\":\"getNote\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"N\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"StepWei\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"i\",\"type\":\"uint256\"}],\"name\":\"getBitCommitment\",\"outputs\":[{\"name\":\"p\",\"type\":\"uint256[2]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"rG\",\"type\":\"uint256[2]\"},{\"name\":\"e\",\"type\":\"uint256\"},{\"name\":\"s\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"endIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"vectorLen\",\"type\":\"uint256\"}],\"name\":\"BitCommitmentStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"endIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"vectorLen\",\"type\":\"uint256\"}],\"name\":\"PreCommitmentStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"denominated\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"receiver\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"claimed\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"sent\",\"type\":\"uint256\"}],\"name\":\"Withdraw\",\"type\":\"event\"}]","bin":"6080604052600160025560016003553480156200001b57600080fd5b5060006200003c620000fc6401000000000262001cad176401000000009004565b6200005a620001246401000000000262001c89176401000000009004565b600001516200007c620001246401000000000262001c89176401000000009004565b6020015160405160200180838152602001828152602001925050506040516020818303038152906040528051906020012060019004811515620000bb57fe5b069050620000dd816200014a6401000000000262001d79176401000000009004565b60008082015181600001556020820151816001015590505050620004b7565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001905090565b6200012e62000457565b6040805190810160405280600181526020016002815250905090565b6200015462000457565b6000809050600080905060007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001858115156200018c57fe5b0690505b6001156200024757620001b28162000250640100000000026401000000009004565b80935081945050507f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47801515620001e557fe5b828309831415620002105760408051908101604052808281526020018381525093505050506200024b565b7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478015156200023b57fe5b60018208905062000190565b5050505b919050565b60008060007f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478015156200028057fe5b60037f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47801515620002ad57fe5b867f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47801515620002d957fe5b8889090908905060006200033e827f0c19139cb84c680a6e14116da060561765e05aa45a1c72a34f082305b61f3f527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd476200034d640100000000026401000000009004565b90508181935093505050915091565b6000806200035a62000471565b6200036462000494565b60208160006006811015156200037657fe5b60200201818152505060208160016006811015156200039157fe5b6020020181815250506020816002600681101515620003ac57fe5b60200201818152505086816003600681101515620003c657fe5b60200201818152505085816004600681101515620003e057fe5b60200201818152505084816005600681101515620003fa57fe5b60200201818152505060208260c08360056107d05a03fa92508260008114620004235762000428565b600080fd5b508215156200043657600080fd5b8160006001811015156200044657fe5b602002015193505050509392505050565b604080519081016040528060008152602001600081525090565b602060405190810160405280600190602082028038833980820191505090505090565b60c060405190810160405280600690602082028038833980820191505090505090565b6120bc80620004c76000396000f3fe6080604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630348c3e8146100ca5780630cd094d3146100f55780635668a6c8146102e157806362c12fff1461030c57806369bcdb7d1461040f57806370a5d86114610486578063732e3d47146104b85780639099190114610693578063a965a9411461081a578063c9e525df14610869578063cc8a2b2014610894578063e2134b28146108bf578063ff1bbc4e14610936575b600080fd5b3480156100d657600080fd5b506100df6109af565b6040518082815260200191505060405180910390f35b34801561010157600080fd5b506102df600480360360c081101561011857600080fd5b810190808035906020019064010000000081111561013557600080fd5b82018360208201111561014757600080fd5b8035906020019184602083028401116401000000008311171561016957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156101c957600080fd5b8201836020820111156101db57600080fd5b80359060200191846102008302840111640100000000831117156101fe57600080fd5b9190808060200260200160405190810160405280939291908181526020016000905b8282101561027857848483905061020002016010806020026040519081016040528092919082601060200280828437600081840152601f19601f82011690508083019250505050505081526020019060010190610220565b5050505050919291929080604001906002806020026040519081016040528092919082600260200280828437600081840152601f19601f820116905080830192505050505050919291929080359060200190929190803590602001909291905050506109c9565b005b3480156102ed57600080fd5b506102f6610cef565b6040518082815260200191505060405180910390f35b34801561031857600080fd5b5061040d6004803603602081101561032f57600080fd5b810190808035906020019064010000000081111561034c57600080fd5b82018360208201111561035e57600080fd5b803590602001918461020083028401116401000000008311171561038157600080fd5b9190808060200260200160405190810160405280939291908181526020016000905b828210156103fb57848483905061020002016010806020026040519081016040528092919082601060200280828437600081840152601f19601f820116905080830192505050505050815260200190600101906103a3565b50505050509192919290505050610cfa565b005b34801561041b57600080fd5b506104486004803603602081101561043257600080fd5b8101908080359060200190929190505050610e5e565b6040518082600260200280838360005b83811015610473578082015181840152602081019050610458565b5050505090500191505060405180910390f35b34801561049257600080fd5b5061049b610eae565b604051808381526020018281526020019250505060405180910390f35b3480156104c457600080fd5b50610691600480360360608110156104db57600080fd5b81019080803590602001906401000000008111156104f857600080fd5b82018360208201111561050a57600080fd5b8035906020019184604083028401116401000000008311171561052c57600080fd5b9190808060200260200160405190810160405280939291908181526020016000905b828210156105a5578484839050604002016002806020026040519081016040528092919082600260200280828437600081840152601f19601f8201169050808301925050505050508152602001906001019061054e565b50505050509192919290803590602001906401000000008111156105c857600080fd5b8201836020820111156105da57600080fd5b803590602001918460408302840111640100000000831117156105fc57600080fd5b9190808060200260200160405190810160405280939291908181526020016000905b82821015610675578484839050604002016002806020026040519081016040528092919082600260200280828437600081840152601f19601f8201169050808301925050505050508152602001906001019061061e565b5050505050919291929080359060200190929190505050610ec0565b005b34801561069f57600080fd5b5061081860048036036102e08110156106b757600080fd5b81019080803590602001906401000000008111156106d457600080fd5b8201836020820111156106e657600080fd5b8035906020019184602083028401116401000000008311171561070857600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908061020001906010806020026040519081016040528092919082601060200280828437600081840152601f19601f820116905080830192505050505050919291929080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080604001906002806020026040519081016040528092919082600260200280828437600081840152601f19601f820116905080830192505050505050919291929080359060200190929190803590602001909291905050506112da565b005b34801561082657600080fd5b506108536004803603602081101561083d57600080fd5b81019080803590602001909291905050506116d3565b6040518082815260200191505060405180910390f35b34801561087557600080fd5b5061087e6116f0565b6040518082815260200191505060405180910390f35b3480156108a057600080fd5b506108a96116f5565b6040518082815260200191505060405180910390f35b3480156108cb57600080fd5b506108f8600480360360208110156108e257600080fd5b8101908080359060200190929190505050611700565b6040518082600260200280838360005b83811015610923578082015181840152602081019050610908565b5050505090500191505060405180910390f35b6109ad6004803603608081101561094c57600080fd5b8101908080604001906002806020026040519081016040528092919082600260200280828437600081840152601f19601f82011690508083019250505050505091929192908035906020019092919080359060200190929190505050611750565b005b601060020a66038d7ea4c680000266038d7ea4c680000181565b6109d483838361191d565b5060008551111515610a4e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f62616420696e707574000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b610a56611cd5565b60008090505b8651811015610b8a576000600660008984815181101515610a7957fe5b9060200190602002015181526020019081526020016000205414151515610ae3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526000815260200160200191505060405180910390fd5b610b4b60408051908101604052808984815181101515610aff57fe5b906020019060200201518152602001600660008b86815181101515610b2057fe5b90602001906020020151815260200190815260200160002054815250836119e890919063ffffffff16565b91506000600660008984815181101515610b6157fe5b906020019060200201518152602001908152602001600020819055508080600101915050610a5c565b50610b93611cd5565b610b9b611cd5565b60008090505b8751811015610c0e57610bca8882815181101515610bbb57fe5b90602001906020020151611aa6565b91508160200151600660008460000151815260200190815260200160002081905550610bff82846119e890919063ffffffff16565b92508080600101915050610ba1565b50610c5c6040805190810160405280886000600281101515610c2c57fe5b60200201518152602001886001600281101515610c4557fe5b6020020151815250836119e890919063ffffffff16565b9150610c718284611b2890919063ffffffff16565b1515610ce5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f696e2f6f7574206571756174696f6e20646f6573206e6f7420686f6c6400000081525060200191505060405180910390fd5b5050505050505050565b66038d7ea4c6800081565b610d02611cd5565b6000600354905060008090505b8351811015610e0f576040805190810160405280600081526020016000815250925060008090505b6010811015610dce57610dbf600560008785815181101515610d5557fe5b9060200190602002015184601081101515610d6c57fe5b6020020151815260200190815260200160002060408051908101604052908160008201548152602001600182015481525050610db186876119e890919063ffffffff16565b6119e890919063ffffffff16565b93508080600101915050610d37565b508260046000848152602001908152602001600020600082015181600001556020820151816001015590505081806001019250508080600101915050610d0f565b50806003819055507fc5f5c783802b2b39be5694c4a16b9cb5ed55f7e2fed1d4ed8fb4f1dc1cd51d696003548451604051808381526020018281526020019250505060405180910390a1505050565b610e66611cef565b60408051908101604052806004600085815260200190815260200160002060000154815260200160046000858152602001908152602001600020600101548152509050919050565b60008060000154908060010154905082565b610ec8611cd5565b610ed0611cd5565b610ed8611cd5565b60608651604051908082528060200260200182016040528015610f1557816020015b610f02611d11565b815260200190600190039081610efa5790505b509050600080600254905060005b89518110156111825787925060408051908101604052808b83815181101515610f4857fe5b906020019060200201516000600281101515610f6057fe5b602002015181526020018b83815181101515610f7857fe5b906020019060200201516001600281101515610f9057fe5b60200201518152509650610fd5610fc6600060408051908101604052908160008201548152602001600182015481525050611b50565b886119e890919063ffffffff16565b9550611047610ff5610ff0858a611bec90919063ffffffff16565b611b50565b6110398b8481518110151561100657fe5b90602001906020020151600060028110151561101e57fe5b602002015161102b611c89565b611bec90919063ffffffff16565b6119e890919063ffffffff16565b9450611051611cad565b856000015186602001516040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206001900481151561109557fe5b0692506111086110b66110b18589611bec90919063ffffffff16565b611b50565b6110fa8b848151811015156110c757fe5b9060200190602002015160016002811015156110df57fe5b60200201516110ec611c89565b611bec90919063ffffffff16565b6119e890919063ffffffff16565b94506040805190810160405280866000015181526020018660200151815250848281518110151561113557fe5b906020019060200201819052508660056000848152602001908152602001600020600082015181600001556020820151816001015590505081806001019250508080600101915050610f23565b5080600281905550611192611cad565b83604051602001808280516000925b818410156111ec57828490602001906020020151600260200280838360005b838110156111db5780820151818401526020810190506111c0565b5050505090500192600101926111a1565b92505050915050604051602081830303815290604052805190602001206001900481151561121657fe5b068714151561128d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f696e76616c69642072696e67207369676e61747572650000000000000000000081525060200191505060405180910390fd5b7f341cdbff9f0745a2cb65a099e51959018a3232f7ad0bd8dc71fb1a3e2d6d47ff6002548a51604051808381526020018281526020019250505060405180910390a1505050505050505050565b6112e583838361191d565b506112ee611cd5565b60008090505b8851811015611447576000600660008b8481518110151561131157fe5b90602001906020020151815260200190815260200160002054141515156113a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f6e6f2073756368206f757470757420657869737473000000000000000000000081525060200191505060405180910390fd5b61140860408051908101604052808b848151811015156113bc57fe5b906020019060200201518152602001600660008d868151811015156113dd57fe5b90602001906020020151815260200190815260200160002054815250836119e890919063ffffffff16565b91506000600660008b8481518110151561141e57fe5b9060200190602002015181526020019081526020016000208190555080806001019150506112f4565b50611450611cd5565b61145988611aa6565b905060006006600083600001518152602001908152602001600020541415156114ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f6f757470757420616c726561647920657869737473000000000000000000000081525060200191505060405180910390fd5b80602001516006600083600001518152602001908152602001600020819055506115ad61155a604080519081016040528088600060028110151561152a57fe5b6020020151815260200188600160028110151561154357fe5b6020020151815250846119e890919063ffffffff16565b61159f836115918b600060408051908101604052908160008201548152602001600182015481525050611bec90919063ffffffff16565b6119e890919063ffffffff16565b611b2890919063ffffffff16565b1515611621576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f696e2f6f757420657120646f6573206e6f7420686f6c6400000000000000000081525060200191505060405180910390fd5b600066038d7ea4c68000600189030266038d7ea4c680000190508673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611681573d6000803e3d6000fd5b5080888873ffffffffffffffffffffffffffffffffffffffff167ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b56860405160405180910390a450505050505050505050565b600060066000838152602001908152602001600020549050919050565b601081565b66038d7ea4c6800081565b611708611cef565b60408051908101604052806005600085815260200190815260200160002060000154815260200160056000858152602001908152602001600020600101548152509050919050565b66038d7ea4c680003411801561177b5750601060020a66038d7ea4c680000266038d7ea4c680000134105b15156117ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f6261642076616c7565000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6117fa83838361191d565b50600066038d7ea4c6800080340381151561181157fe5b04600101905061181f611cd5565b61189e604080519081016040528087600060028110151561183c57fe5b6020020151815260200187600160028110151561185557fe5b602002015181525061189084600060408051908101604052908160008201548152602001600182015481525050611bec90919063ffffffff16565b6119e890919063ffffffff16565b905080602001516006600083600001518152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff167f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a153484604051808381526020018281526020019250505060405180910390a25050505050565b6000611927611cd5565b61199f61197785604080519081016040528089600060028110151561194857fe5b6020020151815260200189600160028110151561196157fe5b6020020151815250611bec90919063ffffffff16565b61199185611983611c89565b611bec90919063ffffffff16565b6119e890919063ffffffff16565b9050806000015181602001516040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206001900484149150509392505050565b6119f0611cd5565b6119f8611d33565b8360000151816000600481101515611a0c57fe5b6020020181815250508360200151816001600481101515611a2957fe5b6020020181815250508260000151816002600481101515611a4657fe5b6020020181815250508260200151816003600481101515611a6357fe5b602002018181525050600060608360c08460066107d05a03fa90508060008114611a8c57611a91565b600080fd5b50801515611a9e57600080fd5b505092915050565b611aae611cd5565b60008090505b6010811015611b2257611b13600460008584601081101515611ad257fe5b6020020151815260200190815260200160002060408051908101604052908160008201548152602001600182015481525050836119e890919063ffffffff16565b91508080600101915050611ab4565b50919050565b600081600001518360000151148015611b48575081602001518360200151145b905092915050565b611b58611cd5565b60007f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47905060008360000151148015611b95575060008360200151145b15611bb9576040805190810160405280600081526020016000815250915050611be7565b604080519081016040528084600001518152602001828560200151811515611bdd57fe5b0683038152509150505b919050565b611bf4611cd5565b611bfc611d56565b8360000151816000600381101515611c1057fe5b6020020181815250508360200151816001600381101515611c2d57fe5b60200201818152505082816002600381101515611c4657fe5b602002018181525050600060608360808460076107d05a03fa90508060008114611c6f57611c74565b600080fd5b50801515611c8157600080fd5b505092915050565b611c91611cd5565b6040805190810160405280600181526020016002815250905090565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001905090565b604080519081016040528060008152602001600081525090565b6040805190810160405280600290602082028038833980820191505090505090565b6040805190810160405280600290602082028038833980820191505090505090565b608060405190810160405280600490602082028038833980820191505090505090565b606060405190810160405280600390602082028038833980820191505090505090565b611d81611cd5565b6000809050600080905060007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000185811515611db857fe5b0690505b600115611e5c57611dcc81611e65565b80935081945050507f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47801515611dfe57fe5b828309831415611e27576040805190810160405280828152602001838152509350505050611e60565b7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47801515611e5157fe5b600182089050611dbc565b5050505b919050565b60008060007f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47801515611e9457fe5b60037f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47801515611ec057fe5b867f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47801515611eeb57fe5b888909090890506000611f3f827f0c19139cb84c680a6e14116da060561765e05aa45a1c72a34f082305b61f3f527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47611f4e565b90508181935093505050915091565b600080611f5961204a565b611f6161206d565b6020816000600681101515611f7257fe5b6020020181815250506020816001600681101515611f8c57fe5b6020020181815250506020816002600681101515611fa657fe5b60200201818152505086816003600681101515611fbf57fe5b60200201818152505085816004600681101515611fd857fe5b60200201818152505084816005600681101515611ff157fe5b60200201818152505060208260c08360056107d05a03fa925082600081146120185761201d565b600080fd5b5082151561202a57600080fd5b81600060018110151561203957fe5b602002015193505050509392505050565b602060405190810160405280600190602082028038833980820191505090505090565b60c06040519081016040528060069060208202803883398082019150509050509056fea165627a7a723058205f4b8415627a85db2b26354f8163cfdd70fe7041761f930df3cb5adfb09f20fa0029"},"ZKToken32.sol:ZKToken32":{"abi":"[{\"constant\":true,\"inputs\":[],\"name\":\"MaxWei\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"indexes\",\"type\":\"uint256[32][]\"}],\"name\":\"composeFromBits\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"BaseWei\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"i\",\"type\":\"uint256\"}],\"name\":\"getCommitment\",\"outputs\":[{\"name\":\"p\",\"type\":\"uint256[2]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"H\",\"outputs\":[{\"name\":\"X\",\"type\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_bitCommitments\",\"type\":\"uint256[2][]\"},{\"name\":\"tees\",\"type\":\"uint256[2][]\"},{\"name\":\"e0\",\"type\":\"uint256\"}],\"name\":\"storeBits\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"inputs\",\"type\":\"uint256[]\"},{\"name\":\"outputIndexes\",\"type\":\"uint256[32]\"},{\"name\":\"claim\",\"type\":\"uint256\"},{\"name\":\"receiver\",\"type\":\"address\"},{\"name\":\"rG\",\"type\":\"uint256[2]\"},{\"name\":\"e\",\"type\":\"uint256\"},{\"name\":\"s\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"x\",\"type\":\"uint256\"}],\"name\":\"getNote\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"N\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"StepWei\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"i\",\"type\":\"uint256\"}],\"name\":\"getBitCommitment\",\"outputs\":[{\"name\":\"p\",\"type\":\"uint256[2]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"inputs\",\"type\":\"uint256[]\"},{\"name\":\"outputCommitmentIndexes\",\"type\":\"uint256[32][]\"},{\"name\":\"rG\",\"type\":\"uint256[2]\"},{\"name\":\"e\",\"type\":\"uint256\"},{\"name\":\"s\",\"type\":\"uint256\"}],\"name\":\"ct\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"rG\",\"type\":\"uint256[2]\"},{\"name\":\"e\",\"type\":\"uint256\"},{\"name\":\"s\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"endIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"vectorLen\",\"type\":\"uint256\"}],\"name\":\"BitCommitmentStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"endIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"vectorLen\",\"type\":\"uint256\"}],\"name\":\"PreCommitmentStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"denominated\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"receiver\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"claimed\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"sent\",\"type\":\"uint256\"}],\"name\":\"Withdraw\",\"type\":\"event\"}]","bin":"6080604052600160025560016003553480156200001b57600080fd5b5060006200003c620000fc6401000000000262001b21176401000000009004565b6200005a620001246401000000000262001afd176401000000009004565b600001516200007c620001246401000000000262001afd176401000000009004565b6020015160405160200180838152602001828152602001925050506040516020818303038152906040528051906020012060019004811515620000bb57fe5b069050620000dd816200014a6401000000000262001d62176401000000009004565b60008082015181600001556020820151816001015590505050620004b7565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001905090565b6200012e62000457565b6040805190810160405280600181526020016002815250905090565b6200015462000457565b6000809050600080905060007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001858115156200018c57fe5b0690505b6001156200024757620001b28162000250640100000000026401000000009004565b80935081945050507f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47801515620001e557fe5b828309831415620002105760408051908101604052808281526020018381525093505050506200024b565b7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478015156200023b57fe5b60018208905062000190565b5050505b919050565b60008060007f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478015156200028057fe5b60037f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47801515620002ad57fe5b867f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47801515620002d957fe5b8889090908905060006200033e827f0c19139cb84c680a6e14116da060561765e05aa45a1c72a34f082305b61f3f527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd476200034d640100000000026401000000009004565b90508181935093505050915091565b6000806200035a62000471565b6200036462000494565b60208160006006811015156200037657fe5b60200201818152505060208160016006811015156200039157fe5b6020020181815250506020816002600681101515620003ac57fe5b60200201818152505086816003600681101515620003c657fe5b60200201818152505085816004600681101515620003e057fe5b60200201818152505084816005600681101515620003fa57fe5b60200201818152505060208260c08360056107d05a03fa92508260008114620004235762000428565b600080fd5b508215156200043657600080fd5b8160006001811015156200044657fe5b602002015193505050509392505050565b604080519081016040528060008152602001600081525090565b602060405190810160405280600190602082028038833980820191505090505090565b60c060405190810160405280600690602082028038833980820191505090505090565b6120a580620004c76000396000f3fe6080604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630348c3e8146100ca57806314294137146100f55780635668a6c8146101f757806369bcdb7d1461022257806370a5d86114610299578063732e3d47146102cb5780637c4e3014146104a6578063a965a9411461062c578063c9e525df1461067b578063cc8a2b20146106a6578063e2134b28146106d1578063f6f08f6a14610748578063ff1bbc4e14610933575b600080fd5b3480156100d657600080fd5b506100df6109ac565b6040518082815260200191505060405180910390f35b34801561010157600080fd5b506101f56004803603602081101561011857600080fd5b810190808035906020019064010000000081111561013557600080fd5b82018360208201111561014757600080fd5b803590602001918461040083028401116401000000008311171561016a57600080fd5b9190808060200260200160405190810160405280939291908181526020016000905b828210156101e3578484839050610400020160208060200260405190810160405280929190826020800280828437600081840152601f19601f8201169050808301925050505050508152602001906001019061018c565b505050505091929192905050506109c2565b005b34801561020357600080fd5b5061020c610b26565b6040518082815260200191505060405180910390f35b34801561022e57600080fd5b5061025b6004803603602081101561024557600080fd5b8101908080359060200190929190505050610b2f565b6040518082600260200280838360005b8381101561028657808201518184015260208101905061026b565b5050505090500191505060405180910390f35b3480156102a557600080fd5b506102ae610b7f565b604051808381526020018281526020019250505060405180910390f35b3480156102d757600080fd5b506104a4600480360360608110156102ee57600080fd5b810190808035906020019064010000000081111561030b57600080fd5b82018360208201111561031d57600080fd5b8035906020019184604083028401116401000000008311171561033f57600080fd5b9190808060200260200160405190810160405280939291908181526020016000905b828210156103b8578484839050604002016002806020026040519081016040528092919082600260200280828437600081840152601f19601f82011690508083019250505050505081526020019060010190610361565b50505050509192919290803590602001906401000000008111156103db57600080fd5b8201836020820111156103ed57600080fd5b8035906020019184604083028401116401000000008311171561040f57600080fd5b9190808060200260200160405190810160405280939291908181526020016000905b82821015610488578484839050604002016002806020026040519081016040528092919082600260200280828437600081840152601f19601f82011690508083019250505050505081526020019060010190610431565b5050505050919291929080359060200190929190505050610b91565b005b3480156104b257600080fd5b5061062a60048036036104e08110156104ca57600080fd5b81019080803590602001906401000000008111156104e757600080fd5b8201836020820111156104f957600080fd5b8035906020019184602083028401116401000000008311171561051b57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050919291929080610400019060208060200260405190810160405280929190826020800280828437600081840152601f19601f820116905080830192505050505050919291929080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080604001906002806020026040519081016040528092919082600260200280828437600081840152601f19601f82011690508083019250505050505091929192908035906020019092919080359060200190929190505050610fab565b005b34801561063857600080fd5b506106656004803603602081101561064f57600080fd5b81019080803590602001909291905050506113a0565b6040518082815260200191505060405180910390f35b34801561068757600080fd5b506106906113bd565b6040518082815260200191505060405180910390f35b3480156106b257600080fd5b506106bb6113c2565b6040518082815260200191505060405180910390f35b3480156106dd57600080fd5b5061070a600480360360208110156106f457600080fd5b81019080803590602001909291905050506113cb565b6040518082600260200280838360005b8381101561073557808201518184015260208101905061071a565b5050505090500191505060405180910390f35b34801561075457600080fd5b50610931600480360360c081101561076b57600080fd5b810190808035906020019064010000000081111561078857600080fd5b82018360208201111561079a57600080fd5b803590602001918460208302840111640100000000831117156107bc57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561081c57600080fd5b82018360208201111561082e57600080fd5b803590602001918461040083028401116401000000008311171561085157600080fd5b9190808060200260200160405190810160405280939291908181526020016000905b828210156108ca578484839050610400020160208060200260405190810160405280929190826020800280828437600081840152601f19601f82011690508083019250505050505081526020019060010190610873565b5050505050919291929080604001906002806020026040519081016040528092919082600260200280828437600081840152601f19601f8201169050808301925050505050509192919290803590602001909291908035906020019092919050505061141b565b005b6109aa6004803603608081101561094957600080fd5b8101908080604001906002806020026040519081016040528092919082600260200280828437600081840152601f19601f82011690508083019250505050505091929192908035906020019092919080359060200190929190505050611741565b005b602060020a64e8d4a510000264e8d4a510000181565b6109ca611cbe565b6000600354905060008090505b8351811015610ad7576040805190810160405280600081526020016000815250925060008090505b6020811015610a9657610a87600560008785815181101515610a1d57fe5b9060200190602002015184602081101515610a3457fe5b6020020151815260200190815260200160002060408051908101604052908160008201548152602001600182015481525050610a79868761190690919063ffffffff16565b61190690919063ffffffff16565b935080806001019150506109ff565b5082600460008481526020019081526020016000206000820151816000015560208201518160010155905050818060010192505080806001019150506109d7565b50806003819055507fc5f5c783802b2b39be5694c4a16b9cb5ed55f7e2fed1d4ed8fb4f1dc1cd51d696003548451604051808381526020018281526020019250505060405180910390a1505050565b64e8d4a5100081565b610b37611cd8565b60408051908101604052806004600085815260200190815260200160002060000154815260200160046000858152602001908152602001600020600101548152509050919050565b60008060000154908060010154905082565b610b99611cbe565b610ba1611cbe565b610ba9611cbe565b60608651604051908082528060200260200182016040528015610be657816020015b610bd3611cfa565b815260200190600190039081610bcb5790505b509050600080600254905060005b8951811015610e535787925060408051908101604052808b83815181101515610c1957fe5b906020019060200201516000600281101515610c3157fe5b602002015181526020018b83815181101515610c4957fe5b906020019060200201516001600281101515610c6157fe5b60200201518152509650610ca6610c976000604080519081016040529081600082015481526020016001820154815250506119c4565b8861190690919063ffffffff16565b9550610d18610cc6610cc1858a611a6090919063ffffffff16565b6119c4565b610d0a8b84815181101515610cd757fe5b906020019060200201516000600281101515610cef57fe5b6020020151610cfc611afd565b611a6090919063ffffffff16565b61190690919063ffffffff16565b9450610d22611b21565b8560000151866020015160405160200180838152602001828152602001925050506040516020818303038152906040528051906020012060019004811515610d6657fe5b069250610dd9610d87610d828589611a6090919063ffffffff16565b6119c4565b610dcb8b84815181101515610d9857fe5b906020019060200201516001600281101515610db057fe5b6020020151610dbd611afd565b611a6090919063ffffffff16565b61190690919063ffffffff16565b945060408051908101604052808660000151815260200186602001518152508482815181101515610e0657fe5b906020019060200201819052508660056000848152602001908152602001600020600082015181600001556020820151816001015590505081806001019250508080600101915050610bf4565b5080600281905550610e63611b21565b83604051602001808280516000925b81841015610ebd57828490602001906020020151600260200280838360005b83811015610eac578082015181840152602081019050610e91565b505050509050019260010192610e72565b925050509150506040516020818303038152906040528051906020012060019004811515610ee757fe5b0687141515610f5e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f696e76616c69642072696e67207369676e61747572650000000000000000000081525060200191505060405180910390fd5b7f341cdbff9f0745a2cb65a099e51959018a3232f7ad0bd8dc71fb1a3e2d6d47ff6002548a51604051808381526020018281526020019250505060405180910390a1505050505050505050565b610fb6838383611b49565b50610fbf611cbe565b60008090505b8851811015611118576000600660008b84815181101515610fe257fe5b9060200190602002015181526020019081526020016000205414151515611071576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f6e6f2073756368206f757470757420657869737473000000000000000000000081525060200191505060405180910390fd5b6110d960408051908101604052808b8481518110151561108d57fe5b906020019060200201518152602001600660008d868151811015156110ae57fe5b906020019060200201518152602001908152602001600020548152508361190690919063ffffffff16565b91506000600660008b848151811015156110ef57fe5b906020019060200201518152602001908152602001600020819055508080600101915050610fc5565b50611121611cbe565b61112a88611c14565b905060006006600083600001518152602001908152602001600020541415156111bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f6f757470757420616c726561647920657869737473000000000000000000000081525060200191505060405180910390fd5b806020015160066000836000015181526020019081526020016000208190555061127e61122b60408051908101604052808860006002811015156111fb57fe5b6020020151815260200188600160028110151561121457fe5b60200201518152508461190690919063ffffffff16565b611270836112628b600060408051908101604052908160008201548152602001600182015481525050611a6090919063ffffffff16565b61190690919063ffffffff16565b611c9690919063ffffffff16565b15156112f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f696e2f6f757420657120646f6573206e6f7420686f6c6400000000000000000081525060200191505060405180910390fd5b600064e8d4a51000600189030264e8d4a510000190508673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561134e573d6000803e3d6000fd5b5080888873ffffffffffffffffffffffffffffffffffffffff167ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b56860405160405180910390a450505050505050505050565b600060066000838152602001908152602001600020549050919050565b602081565b64e8d4a5100081565b6113d3611cd8565b60408051908101604052806005600085815260200190815260200160002060000154815260200160056000858152602001908152602001600020600101548152509050919050565b611426838383611b49565b50600085511115156114a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f62616420696e707574000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6114a8611cbe565b60008090505b86518110156115dc5760006006600089848151811015156114cb57fe5b9060200190602002015181526020019081526020016000205414151515611535576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526000815260200160200191505060405180910390fd5b61159d6040805190810160405280898481518110151561155157fe5b906020019060200201518152602001600660008b8681518110151561157257fe5b906020019060200201518152602001908152602001600020548152508361190690919063ffffffff16565b915060006006600089848151811015156115b357fe5b9060200190602002015181526020019081526020016000208190555080806001019150506114ae565b506115e5611cbe565b6115ed611cbe565b60008090505b87518110156116605761161c888281518110151561160d57fe5b90602001906020020151611c14565b91508160200151600660008460000151815260200190815260200160002081905550611651828461190690919063ffffffff16565b925080806001019150506115f3565b506116ae604080519081016040528088600060028110151561167e57fe5b6020020151815260200188600160028110151561169757fe5b60200201518152508361190690919063ffffffff16565b91506116c38284611c9690919063ffffffff16565b1515611737576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f696e2f6f7574206571756174696f6e20646f6573206e6f7420686f6c6400000081525060200191505060405180910390fd5b5050505050505050565b64e8d4a51000341180156117665750602060020a64e8d4a510000264e8d4a510000134105b15156117da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f6261642076616c7565000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6117e5838383611b49565b50600064e8d4a510008034038115156117fa57fe5b046001019050611808611cbe565b611887604080519081016040528087600060028110151561182557fe5b6020020151815260200187600160028110151561183e57fe5b602002015181525061187984600060408051908101604052908160008201548152602001600182015481525050611a6090919063ffffffff16565b61190690919063ffffffff16565b905080602001516006600083600001518152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff167f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a153484604051808381526020018281526020019250505060405180910390a25050505050565b61190e611cbe565b611916611d1c565b836000015181600060048110151561192a57fe5b602002018181525050836020015181600160048110151561194757fe5b602002018181525050826000015181600260048110151561196457fe5b602002018181525050826020015181600360048110151561198157fe5b602002018181525050600060608360c08460066107d05a03fa905080600081146119aa576119af565b600080fd5b508015156119bc57600080fd5b505092915050565b6119cc611cbe565b60007f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47905060008360000151148015611a09575060008360200151145b15611a2d576040805190810160405280600081526020016000815250915050611a5b565b604080519081016040528084600001518152602001828560200151811515611a5157fe5b0683038152509150505b919050565b611a68611cbe565b611a70611d3f565b8360000151816000600381101515611a8457fe5b6020020181815250508360200151816001600381101515611aa157fe5b60200201818152505082816002600381101515611aba57fe5b602002018181525050600060608360808460076107d05a03fa90508060008114611ae357611ae8565b600080fd5b50801515611af557600080fd5b505092915050565b611b05611cbe565b6040805190810160405280600181526020016002815250905090565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001905090565b6000611b53611cbe565b611bcb611ba3856040805190810160405280896000600281101515611b7457fe5b60200201518152602001896001600281101515611b8d57fe5b6020020151815250611a6090919063ffffffff16565b611bbd85611baf611afd565b611a6090919063ffffffff16565b61190690919063ffffffff16565b9050806000015181602001516040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206001900484149150509392505050565b611c1c611cbe565b60008090505b6020811015611c9057611c81600460008584602081101515611c4057fe5b60200201518152602001908152602001600020604080519081016040529081600082015481526020016001820154815250508361190690919063ffffffff16565b91508080600101915050611c22565b50919050565b600081600001518360000151148015611cb6575081602001518360200151145b905092915050565b604080519081016040528060008152602001600081525090565b6040805190810160405280600290602082028038833980820191505090505090565b6040805190810160405280600290602082028038833980820191505090505090565b608060405190810160405280600490602082028038833980820191505090505090565b606060405190810160405280600390602082028038833980820191505090505090565b611d6a611cbe565b6000809050600080905060007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000185811515611da157fe5b0690505b600115611e4557611db581611e4e565b80935081945050507f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47801515611de757fe5b828309831415611e10576040805190810160405280828152602001838152509350505050611e49565b7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47801515611e3a57fe5b600182089050611da5565b5050505b919050565b60008060007f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47801515611e7d57fe5b60037f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47801515611ea957fe5b867f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47801515611ed457fe5b888909090890506000611f28827f0c19139cb84c680a6e14116da060561765e05aa45a1c72a34f082305b61f3f527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47611f37565b90508181935093505050915091565b600080611f42612033565b611f4a612056565b6020816000600681101515611f5b57fe5b6020020181815250506020816001600681101515611f7557fe5b6020020181815250506020816002600681101515611f8f57fe5b60200201818152505086816003600681101515611fa857fe5b60200201818152505085816004600681101515611fc157fe5b60200201818152505084816005600681101515611fda57fe5b60200201818152505060208260c08360056107d05a03fa9250826000811461200157612006565b600080fd5b5082151561201357600080fd5b81600060018110151561202257fe5b602002015193505050509392505050565b602060405190810160405280600190602082028038833980820191505090505090565b60c06040519081016040528060069060208202803883398082019150509050509056fea165627a7a72305820e5627fae865c4835bf7820ed46838b10e094c4b1ad6c7ae8979cf0734c87b7f40029"},"ZKToken8.sol:ZKToken8":{"abi":"[{\"constant\":true,\"inputs\":[],\"name\":\"MaxWei\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"inputs\",\"type\":\"uint256[]\"},{\"name\":\"outputIndexes\",\"type\":\"uint256[8]\"},{\"name\":\"claim\",\"type\":\"uint256\"},{\"name\":\"receiver\",\"type\":\"address\"},{\"name\":\"rG\",\"type\":\"uint256[2]\"},{\"name\":\"e\",\"type\":\"uint256\"},{\"name\":\"s\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"BaseWei\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"i\",\"type\":\"uint256\"}],\"name\":\"getCommitment\",\"outputs\":[{\"name\":\"p\",\"type\":\"uint256[2]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"H\",\"outputs\":[{\"name\":\"X\",\"type\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_bitCommitments\",\"type\":\"uint256[2][]\"},{\"name\":\"tees\",\"type\":\"uint256[2][]\"},{\"name\":\"e0\",\"type\":\"uint256\"}],\"name\":\"storeBits\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"indexes\",\"type\":\"uint256[8][]\"}],\"name\":\"composeFromBits\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"x\",\"type\":\"uint256\"}],\"name\":\"getNote\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"N\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"StepWei\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"inputs\",\"type\":\"uint256[]\"},{\"name\":\"outputCommitmentIndexes\",\"type\":\"uint256[8][]\"},{\"name\":\"rG\",\"type\":\"uint256[2]\"},{\"name\":\"e\",\"type\":\"uint256\"},{\"name\":\"s\",\"type\":\"uint256\"}],\"name\":\"ct\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"i\",\"type\":\"uint256\"}],\"name\":\"getBitCommitment\",\"outputs\":[{\"name\":\"p\",\"type\":\"uint256[2]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"rG\",\"type\":\"uint256[2]\"},{\"name\":\"e\",\"type\":\"uint256\"},{\"name\":\"s\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"endIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"vectorLen\",\"type\":\"uint256\"}],\"name\":\"BitCommitmentStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"endIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"vectorLen\",\"type\":\"uint256\"}],\"name\":\"PreCommitmentStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"denominated\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"receiver\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"claimed\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"sent\",\"type\":\"uint256\"}],\"name\":\"Withdraw\",\"type\":\"event\"}]","bin":"6080604052600160025560016003553480156200001b57600080fd5b5060006200003c620000fc6401000000000262001cb7176401000000009004565b6200005a620001246401000000000262001c93176401000000009004565b600001516200007c620001246401000000000262001c93176401000000009004565b6020015160405160200180838152602001828152602001925050506040516020818303038152906040528051906020012060019004811515620000bb57fe5b069050620000dd816200014a6401000000000262001d83176401000000009004565b60008082015181600001556020820151816001015590505050620004b7565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001905090565b6200012e62000457565b6040805190810160405280600181526020016002815250905090565b6200015462000457565b6000809050600080905060007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001858115156200018c57fe5b0690505b6001156200024757620001b28162000250640100000000026401000000009004565b80935081945050507f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47801515620001e557fe5b828309831415620002105760408051908101604052808281526020018381525093505050506200024b565b7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478015156200023b57fe5b60018208905062000190565b5050505b919050565b60008060007f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478015156200028057fe5b60037f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47801515620002ad57fe5b867f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47801515620002d957fe5b8889090908905060006200033e827f0c19139cb84c680a6e14116da060561765e05aa45a1c72a34f082305b61f3f527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd476200034d640100000000026401000000009004565b90508181935093505050915091565b6000806200035a62000471565b6200036462000494565b60208160006006811015156200037657fe5b60200201818152505060208160016006811015156200039157fe5b6020020181815250506020816002600681101515620003ac57fe5b60200201818152505086816003600681101515620003c657fe5b60200201818152505085816004600681101515620003e057fe5b60200201818152505084816005600681101515620003fa57fe5b60200201818152505060208260c08360056107d05a03fa92508260008114620004235762000428565b600080fd5b508215156200043657600080fd5b8160006001811015156200044657fe5b602002015193505050509392505050565b604080519081016040528060008152602001600081525090565b602060405190810160405280600190602082028038833980820191505090505090565b60c060405190810160405280600690602082028038833980820191505090505090565b6120c680620004c76000396000f3fe6080604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630348c3e8146100ca57806352155e58146100f55780635668a6c81461027c57806369bcdb7d146102a757806370a5d8611461031e578063732e3d47146103505780639cfec4e71461052b578063a965a9411461062e578063c9e525df1461067d578063cc8a2b20146106a8578063d8637d2e146106d3578063e2134b28146108bf578063ff1bbc4e14610936575b600080fd5b3480156100d657600080fd5b506100df6109af565b6040518082815260200191505060405180910390f35b34801561010157600080fd5b5061027a60048036036101e081101561011957600080fd5b810190808035906020019064010000000081111561013657600080fd5b82018360208201111561014857600080fd5b8035906020019184602083028401116401000000008311171561016a57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908061010001906008806020026040519081016040528092919082600860200280828437600081840152601f19601f820116905080830192505050505050919291929080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080604001906002806020026040519081016040528092919082600260200280828437600081840152601f19601f820116905080830192505050505050919291929080359060200190929190803590602001909291905050506109cb565b005b34801561028857600080fd5b50610291610dc6565b6040518082815260200191505060405180910390f35b3480156102b357600080fd5b506102e0600480360360208110156102ca57600080fd5b8101908080359060200190929190505050610dd2565b6040518082600260200280838360005b8381101561030b5780820151818401526020810190506102f0565b5050505090500191505060405180910390f35b34801561032a57600080fd5b50610333610e22565b604051808381526020018281526020019250505060405180910390f35b34801561035c57600080fd5b506105296004803603606081101561037357600080fd5b810190808035906020019064010000000081111561039057600080fd5b8201836020820111156103a257600080fd5b803590602001918460408302840111640100000000831117156103c457600080fd5b9190808060200260200160405190810160405280939291908181526020016000905b8282101561043d578484839050604002016002806020026040519081016040528092919082600260200280828437600081840152601f19601f820116905080830192505050505050815260200190600101906103e6565b505050505091929192908035906020019064010000000081111561046057600080fd5b82018360208201111561047257600080fd5b8035906020019184604083028401116401000000008311171561049457600080fd5b9190808060200260200160405190810160405280939291908181526020016000905b8282101561050d578484839050604002016002806020026040519081016040528092919082600260200280828437600081840152601f19601f820116905080830192505050505050815260200190600101906104b6565b5050505050919291929080359060200190929190505050610e34565b005b34801561053757600080fd5b5061062c6004803603602081101561054e57600080fd5b810190808035906020019064010000000081111561056b57600080fd5b82018360208201111561057d57600080fd5b80359060200191846101008302840111640100000000831117156105a057600080fd5b9190808060200260200160405190810160405280939291908181526020016000905b8282101561061a57848483905061010002016008806020026040519081016040528092919082600860200280828437600081840152601f19601f820116905080830192505050505050815260200190600101906105c2565b5050505050919291929050505061124e565b005b34801561063a57600080fd5b506106676004803603602081101561065157600080fd5b81019080803590602001909291905050506113b2565b6040518082815260200191505060405180910390f35b34801561068957600080fd5b506106926113cf565b6040518082815260200191505060405180910390f35b3480156106b457600080fd5b506106bd6113d4565b6040518082815260200191505060405180910390f35b3480156106df57600080fd5b506108bd600480360360c08110156106f657600080fd5b810190808035906020019064010000000081111561071357600080fd5b82018360208201111561072557600080fd5b8035906020019184602083028401116401000000008311171561074757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156107a757600080fd5b8201836020820111156107b957600080fd5b80359060200191846101008302840111640100000000831117156107dc57600080fd5b9190808060200260200160405190810160405280939291908181526020016000905b8282101561085657848483905061010002016008806020026040519081016040528092919082600860200280828437600081840152601f19601f820116905080830192505050505050815260200190600101906107fe565b5050505050919291929080604001906002806020026040519081016040528092919082600260200280828437600081840152601f19601f820116905080830192505050505050919291929080359060200190929190803590602001909291905050506113e0565b005b3480156108cb57600080fd5b506108f8600480360360208110156108e257600080fd5b8101908080359060200190929190505050611706565b6040518082600260200280838360005b83811015610923578082015181840152602081019050610908565b5050505090500191505060405180910390f35b6109ad6004803603608081101561094c57600080fd5b8101908080604001906002806020026040519081016040528092919082600260200280828437600081840152601f19601f82011690508083019250505050505091929192908035906020019092919080359060200190929190505050611756565b005b600860020a670de0b6b3a764000002670de0b6b3a76400000181565b6109d6838383611927565b506109df611cdf565b60008090505b8851811015610b38576000600660008b84815181101515610a0257fe5b9060200190602002015181526020019081526020016000205414151515610a91576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f6e6f2073756368206f757470757420657869737473000000000000000000000081525060200191505060405180910390fd5b610af960408051908101604052808b84815181101515610aad57fe5b906020019060200201518152602001600660008d86815181101515610ace57fe5b90602001906020020151815260200190815260200160002054815250836119f290919063ffffffff16565b91506000600660008b84815181101515610b0f57fe5b9060200190602002015181526020019081526020016000208190555080806001019150506109e5565b50610b41611cdf565b610b4a88611ab0565b90506000600660008360000151815260200190815260200160002054141515610bdb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f6f757470757420616c726561647920657869737473000000000000000000000081525060200191505060405180910390fd5b8060200151600660008360000151815260200190815260200160002081905550610c9e610c4b6040805190810160405280886000600281101515610c1b57fe5b60200201518152602001886001600281101515610c3457fe5b6020020151815250846119f290919063ffffffff16565b610c9083610c828b600060408051908101604052908160008201548152602001600182015481525050611b3290919063ffffffff16565b6119f290919063ffffffff16565b611bcf90919063ffffffff16565b1515610d12576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f696e2f6f757420657120646f6573206e6f7420686f6c6400000000000000000081525060200191505060405180910390fd5b6000670de0b6b3a76400006001890302670de0b6b3a76400000190508673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610d74573d6000803e3d6000fd5b5080888873ffffffffffffffffffffffffffffffffffffffff167ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b56860405160405180910390a450505050505050505050565b670de0b6b3a764000081565b610dda611cf9565b60408051908101604052806004600085815260200190815260200160002060000154815260200160046000858152602001908152602001600020600101548152509050919050565b60008060000154908060010154905082565b610e3c611cdf565b610e44611cdf565b610e4c611cdf565b60608651604051908082528060200260200182016040528015610e8957816020015b610e76611d1b565b815260200190600190039081610e6e5790505b509050600080600254905060005b89518110156110f65787925060408051908101604052808b83815181101515610ebc57fe5b906020019060200201516000600281101515610ed457fe5b602002015181526020018b83815181101515610eec57fe5b906020019060200201516001600281101515610f0457fe5b60200201518152509650610f49610f3a600060408051908101604052908160008201548152602001600182015481525050611bf7565b886119f290919063ffffffff16565b9550610fbb610f69610f64858a611b3290919063ffffffff16565b611bf7565b610fad8b84815181101515610f7a57fe5b906020019060200201516000600281101515610f9257fe5b6020020151610f9f611c93565b611b3290919063ffffffff16565b6119f290919063ffffffff16565b9450610fc5611cb7565b856000015186602001516040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206001900481151561100957fe5b06925061107c61102a6110258589611b3290919063ffffffff16565b611bf7565b61106e8b8481518110151561103b57fe5b90602001906020020151600160028110151561105357fe5b6020020151611060611c93565b611b3290919063ffffffff16565b6119f290919063ffffffff16565b9450604080519081016040528086600001518152602001866020015181525084828151811015156110a957fe5b906020019060200201819052508660056000848152602001908152602001600020600082015181600001556020820151816001015590505081806001019250508080600101915050610e97565b5080600281905550611106611cb7565b83604051602001808280516000925b8184101561116057828490602001906020020151600260200280838360005b8381101561114f578082015181840152602081019050611134565b505050509050019260010192611115565b92505050915050604051602081830303815290604052805190602001206001900481151561118a57fe5b0687141515611201576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f696e76616c69642072696e67207369676e61747572650000000000000000000081525060200191505060405180910390fd5b7f341cdbff9f0745a2cb65a099e51959018a3232f7ad0bd8dc71fb1a3e2d6d47ff6002548a51604051808381526020018281526020019250505060405180910390a1505050505050505050565b611256611cdf565b6000600354905060008090505b8351811015611363576040805190810160405280600081526020016000815250925060008090505b6008811015611322576113136005600087858151811015156112a957fe5b90602001906020020151846008811015156112c057fe5b602002015181526020019081526020016000206040805190810160405290816000820154815260200160018201548152505061130586876119f290919063ffffffff16565b6119f290919063ffffffff16565b9350808060010191505061128b565b508260046000848152602001908152602001600020600082015181600001556020820151816001015590505081806001019250508080600101915050611263565b50806003819055507fc5f5c783802b2b39be5694c4a16b9cb5ed55f7e2fed1d4ed8fb4f1dc1cd51d696003548451604051808381526020018281526020019250505060405180910390a1505050565b600060066000838152602001908152602001600020549050919050565b600881565b670de0b6b3a764000081565b6113eb838383611927565b5060008551111515611465576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f62616420696e707574000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61146d611cdf565b60008090505b86518110156115a157600060066000898481518110151561149057fe5b90602001906020020151815260200190815260200160002054141515156114fa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526000815260200160200191505060405180910390fd5b6115626040805190810160405280898481518110151561151657fe5b906020019060200201518152602001600660008b8681518110151561153757fe5b90602001906020020151815260200190815260200160002054815250836119f290919063ffffffff16565b9150600060066000898481518110151561157857fe5b906020019060200201518152602001908152602001600020819055508080600101915050611473565b506115aa611cdf565b6115b2611cdf565b60008090505b8751811015611625576115e188828151811015156115d257fe5b90602001906020020151611ab0565b9150816020015160066000846000015181526020019081526020016000208190555061161682846119f290919063ffffffff16565b925080806001019150506115b8565b50611673604080519081016040528088600060028110151561164357fe5b6020020151815260200188600160028110151561165c57fe5b6020020151815250836119f290919063ffffffff16565b91506116888284611bcf90919063ffffffff16565b15156116fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f696e2f6f7574206571756174696f6e20646f6573206e6f7420686f6c6400000081525060200191505060405180910390fd5b5050505050505050565b61170e611cf9565b60408051908101604052806005600085815260200190815260200160002060000154815260200160056000858152602001908152602001600020600101548152509050919050565b670de0b6b3a7640000341180156117845750600860020a670de0b6b3a764000002670de0b6b3a76400000134105b15156117f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f6261642076616c7565000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b611803838383611927565b506000670de0b6b3a764000080340381151561181b57fe5b046001019050611829611cdf565b6118a8604080519081016040528087600060028110151561184657fe5b6020020151815260200187600160028110151561185f57fe5b602002015181525061189a84600060408051908101604052908160008201548152602001600182015481525050611b3290919063ffffffff16565b6119f290919063ffffffff16565b905080602001516006600083600001518152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff167f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a153484604051808381526020018281526020019250505060405180910390a25050505050565b6000611931611cdf565b6119a961198185604080519081016040528089600060028110151561195257fe5b6020020151815260200189600160028110151561196b57fe5b6020020151815250611b3290919063ffffffff16565b61199b8561198d611c93565b611b3290919063ffffffff16565b6119f290919063ffffffff16565b9050806000015181602001516040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206001900484149150509392505050565b6119fa611cdf565b611a02611d3d565b8360000151816000600481101515611a1657fe5b6020020181815250508360200151816001600481101515611a3357fe5b6020020181815250508260000151816002600481101515611a5057fe5b6020020181815250508260200151816003600481101515611a6d57fe5b602002018181525050600060608360c08460066107d05a03fa90508060008114611a9657611a9b565b600080fd5b50801515611aa857600080fd5b505092915050565b611ab8611cdf565b60008090505b6008811015611b2c57611b1d600460008584600881101515611adc57fe5b6020020151815260200190815260200160002060408051908101604052908160008201548152602001600182015481525050836119f290919063ffffffff16565b91508080600101915050611abe565b50919050565b611b3a611cdf565b611b42611d60565b8360000151816000600381101515611b5657fe5b6020020181815250508360200151816001600381101515611b7357fe5b60200201818152505082816002600381101515611b8c57fe5b602002018181525050600060608360808460076107d05a03fa90508060008114611bb557611bba565b600080fd5b50801515611bc757600080fd5b505092915050565b600081600001518360000151148015611bef575081602001518360200151145b905092915050565b611bff611cdf565b60007f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47905060008360000151148015611c3c575060008360200151145b15611c60576040805190810160405280600081526020016000815250915050611c8e565b604080519081016040528084600001518152602001828560200151811515611c8457fe5b0683038152509150505b919050565b611c9b611cdf565b6040805190810160405280600181526020016002815250905090565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001905090565b604080519081016040528060008152602001600081525090565b6040805190810160405280600290602082028038833980820191505090505090565b6040805190810160405280600290602082028038833980820191505090505090565b608060405190810160405280600490602082028038833980820191505090505090565b606060405190810160405280600390602082028038833980820191505090505090565b611d8b611cdf565b6000809050600080905060007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000185811515611dc257fe5b0690505b600115611e6657611dd681611e6f565b80935081945050507f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47801515611e0857fe5b828309831415611e31576040805190810160405280828152602001838152509350505050611e6a565b7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47801515611e5b57fe5b600182089050611dc6565b5050505b919050565b60008060007f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47801515611e9e57fe5b60037f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47801515611eca57fe5b867f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47801515611ef557fe5b888909090890506000611f49827f0c19139cb84c680a6e14116da060561765e05aa45a1c72a34f082305b61f3f527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47611f58565b90508181935093505050915091565b600080611f63612054565b611f6b612077565b6020816000600681101515611f7c57fe5b6020020181815250506020816001600681101515611f9657fe5b6020020181815250506020816002600681101515611fb057fe5b60200201818152505086816003600681101515611fc957fe5b60200201818152505085816004600681101515611fe257fe5b60200201818152505084816005600681101515611ffb57fe5b60200201818152505060208260c08360056107d05a03fa9250826000811461202257612027565b600080fd5b5082151561203457600080fd5b81600060018110151561204357fe5b602002015193505050509392505050565b602060405190810160405280600190602082028038833980820191505090505090565b60c06040519081016040528060069060208202803883398082019150509050509056fea165627a7a72305820a66b981620fff5080e008a293ab3a286ba72a571d046fe3e6eb5e1bef65801cf0029"},"ZKTokenUtil.sol:ZKTokenUtil":{"abi":"[{\"constant\":true,\"inputs\":[],\"name\":\"H\",\"outputs\":[{\"name\":\"X\",\"type\":\"uint256\"},{\"name\":\"Y\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}]","bin":"608060405234801561001057600080fd5b50600061002e6100e36401000000000261008a176401000000009004565b61004961010b640100000000026100b2176401000000009004565b6000015161006861010b640100000000026100b2176401000000009004565b60200151604051602001808381526020018281526020019250505060405160208183030381529060405280519060200120600190048115156100a657fe5b0690506100c58161012f640100000000026100d6176401000000009004565b6000808201518160000155602082015181600101559050505061047e565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001905090565b61011361041e565b6040805190810160405280600181526020016002815250905090565b61013761041e565b6000809050600080905060007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018581151561016e57fe5b0690505b600115610221576101918161022a640100000000026401000000009004565b80935081945050507f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478015156101c357fe5b8283098314156101ec576040805190810160405280828152602001838152509350505050610225565b7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4780151561021657fe5b600182089050610172565b5050505b919050565b60008060007f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4780151561025957fe5b60037f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4780151561028557fe5b867f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478015156102b057fe5b888909090890506000610313827f0c19139cb84c680a6e14116da060561765e05aa45a1c72a34f082305b61f3f527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47610322640100000000026401000000009004565b90508181935093505050915091565b60008061032d610438565b61033561045b565b602081600060068110151561034657fe5b602002018181525050602081600160068110151561036057fe5b602002018181525050602081600260068110151561037a57fe5b6020020181815250508681600360068110151561039357fe5b602002018181525050858160046006811015156103ac57fe5b602002018181525050848160056006811015156103c557fe5b60200201818152505060208260c08360056107d05a03fa925082600081146103ec576103f1565b600080fd5b508215156103fe57600080fd5b81600060018110151561040d57fe5b602002015193505050509392505050565b604080519081016040528060008152602001600081525090565b602060405190810160405280600190602082028038833980820191505090505090565b60c060405190810160405280600690602082028038833980820191505090505090565b6104338061048d6000396000f3fe608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806370a5d86114610046575b600080fd5b34801561005257600080fd5b5061005b610078565b604051808381526020018281526020019250505060405180910390f35b60008060000154908060010154905082565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001905090565b6100ba6103a7565b6040805190810160405280600181526020016002815250905090565b6100de6103a7565b6000809050600080905060007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018581151561011557fe5b0690505b6001156101b957610129816101c2565b80935081945050507f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4780151561015b57fe5b8283098314156101845760408051908101604052808281526020018381525093505050506101bd565b7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478015156101ae57fe5b600182089050610119565b5050505b919050565b60008060007f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478015156101f157fe5b60037f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4780151561021d57fe5b867f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4780151561024857fe5b88890909089050600061029c827f0c19139cb84c680a6e14116da060561765e05aa45a1c72a34f082305b61f3f527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd476102ab565b90508181935093505050915091565b6000806102b66103c1565b6102be6103e4565b60208160006006811015156102cf57fe5b60200201818152505060208160016006811015156102e957fe5b602002018181525050602081600260068110151561030357fe5b6020020181815250508681600360068110151561031c57fe5b6020020181815250508581600460068110151561033557fe5b6020020181815250508481600560068110151561034e57fe5b60200201818152505060208260c08360056107d05a03fa925082600081146103755761037a565b600080fd5b5082151561038757600080fd5b81600060018110151561039657fe5b602002015193505050509392505050565b604080519081016040528060008152602001600081525090565b602060405190810160405280600190602082028038833980820191505090505090565b60c06040519081016040528060069060208202803883398082019150509050509056fea165627a7a72305820d16f3fbcef86881cd5e455041b08e2d17eb261ff34f87314e64708e95c6d55930029"}},"version":"0.5.0+commit.1d4f565a.Darwin.appleclang"}