UNPKG

@josojo/tokenized-events

Version:
711 lines 871 kB
{ "contractName": "ScalarEventProxy", "abi": [ { "constant": true, "inputs": [], "name": "outcome", "outputs": [ { "name": "", "type": "bytes32" } ], "payable": false, "stateMutability": "view", "type": "function", "signature": "0x27793f87" }, { "constant": true, "inputs": [], "name": "content_hash", "outputs": [ { "name": "", "type": "bytes32" } ], "payable": false, "stateMutability": "view", "type": "function", "signature": "0x28047258" }, { "constant": true, "inputs": [], "name": "collateralBranch", "outputs": [ { "name": "", "type": "bytes32" } ], "payable": false, "stateMutability": "view", "type": "function", "signature": "0x413d24b9" }, { "constant": true, "inputs": [], "name": "minTimeout", "outputs": [ { "name": "", "type": "uint32" } ], "payable": false, "stateMutability": "view", "type": "function", "signature": "0x4cf71be4" }, { "constant": true, "inputs": [], "name": "LONG", "outputs": [ { "name": "", "type": "uint8" } ], "payable": false, "stateMutability": "view", "type": "function", "signature": "0x561cce0a" }, { "constant": true, "inputs": [], "name": "OUTCOME_RANGE", "outputs": [ { "name": "", "type": "uint24" } ], "payable": false, "stateMutability": "view", "type": "function", "signature": "0x6e5452fe" }, { "constant": true, "inputs": [], "name": "minBond", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", "signature": "0x831518b7" }, { "constant": true, "inputs": [ { "name": "", "type": "uint256" } ], "name": "outcomeTokens", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", "signature": "0x8abe59ea" }, { "constant": true, "inputs": [], "name": "forkonomicToken", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", "signature": "0x942032e3" }, { "constant": true, "inputs": [], "name": "lowerBound", "outputs": [ { "name": "", "type": "int256" } ], "payable": false, "stateMutability": "view", "type": "function", "signature": "0xa384d6ff" }, { "constant": true, "inputs": [], "name": "masterCopy", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", "signature": "0xa619486e" }, { "constant": true, "inputs": [], "name": "SHORT", "outputs": [ { "name": "", "type": "uint8" } ], "payable": false, "stateMutability": "view", "type": "function", "signature": "0xa871da91" }, { "constant": true, "inputs": [], "name": "questionId", "outputs": [ { "name": "", "type": "bytes32" } ], "payable": false, "stateMutability": "view", "type": "function", "signature": "0xb06a5c52" }, { "constant": true, "inputs": [], "name": "upperBound", "outputs": [ { "name": "", "type": "int256" } ], "payable": false, "stateMutability": "view", "type": "function", "signature": "0xb09ad8a0" }, { "constant": true, "inputs": [], "name": "openingTs", "outputs": [ { "name": "", "type": "uint32" } ], "payable": false, "stateMutability": "view", "type": "function", "signature": "0xc7049657" }, { "constant": true, "inputs": [], "name": "fSystem", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", "signature": "0xd440796e" }, { "inputs": [ { "name": "proxied", "type": "address" }, { "name": "_forkonomicToken", "type": "address" }, { "name": "_fSystem", "type": "address" }, { "name": "_realityCheck", "type": "address" }, { "name": "_collateralBranch", "type": "bytes32" }, { "name": "question_", "type": "string" }, { "name": "openingTs_", "type": "uint32" }, { "name": "minTimeout_", "type": "uint32" }, { "name": "templateId_", "type": "uint256" }, { "name": "arbitrator", "type": "address" }, { "name": "_lowerBound", "type": "int256" }, { "name": "_upperBound", "type": "int256" } ], "payable": false, "stateMutability": "nonpayable", "type": "constructor", "signature": "constructor" }, { "payable": true, "stateMutability": "payable", "type": "fallback" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "outcomeToken", "type": "address" }, { "indexed": false, "name": "index", "type": "uint8" } ], "name": "OutcomeTokenCreation", "type": "event", "signature": "0xad24776dc347085865b6988e249c191fc22d9b31cf54cb62233c3c16be1736ee" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "buyer", "type": "address" }, { "indexed": false, "name": "collateralTokenCount", "type": "uint256" } ], "name": "OutcomeTokenSetIssuance", "type": "event", "signature": "0xad2a02292986148558019ae4abf172732228e32e131a91d3fa7e0cada61932c0" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "seller", "type": "address" }, { "indexed": false, "name": "outcomeTokenCount", "type": "uint256" } ], "name": "OutcomeTokenSetRevocation", "type": "event", "signature": "0x7ac9271efd660c24459c447459e46f7366d2b4a692e572f108619d0d7273fcc5" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "receiver", "type": "address" }, { "indexed": false, "name": "winnings", "type": "uint256" }, { "indexed": false, "name": "branch", "type": "bytes32" } ], "name": "WinningsRedemption", "type": "event", "signature": "0x261bec1cfee965354caed07a05f2e1e81eba67edc1d11980ac6f68c838dc15dd" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "a", "type": "bytes32" } ], "name": "LogB", "type": "event", "signature": "0xd8cfd15a18acf055da86af88b707b6b949547c68600ee3545bf254a1261bc3c7" } ], "bytecode": "0x60806040526101f46007556008805463ffffffff19166201518017905534801561002857600080fd5b50604051611d2e380380611d2e83398101604090815281516020830151918301516060840151608085015160a086015160c087015160e08801516101008901516101208a01516101408b01516101608c0151999b989997989697959096019593949293919290919060008c600160a060020a03811615156100a857600080fd5b60008054600160a060020a031916600160a060020a039283161790558c16158015906100dc5750600160a060020a038a1615155b151561016f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f706c6561736520636865636b2074686520696e70757420666f7220746865206360448201527f6f6e7374727563746f7200000000000000000000000000000000000000000000606482015290519081900360840190fd5b88151561020357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f20706c6561736520636865636b2074686520636f6c6c61746572616c4272616e60448201527f6368000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60028054600160a060020a03808f16600160a060020a03199283161790925560038054928e169290911691909117905560048990556008805463ffffffff88811663ffffffff19918b16640100000000810267ffffffff00000000199094169390931791909116179091556040805160208082018981527c0100000000000000000000000000000000000000000000000000000000909402928201929092528a5188938b938d939192604490920191908401908083835b602083106102d95780518252601f1990920191602091820191016102ba565b6001836020036101000a03801982511681845116808217855250505050505090500193505050506040516020818303038152906040526040518082805190602001908083835b6020831061033e5780518252601f19909201916020918201910161031f565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060068160001916905550896008806101000a815481600160a060020a030219169083600160a060020a031602179055506008809054906101000a9004600160a060020a0316600160a060020a031663762c38fd868a87600860009054906101000a900463ffffffff168c60006040518763ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808781526020018060200186600160a060020a0316600160a060020a031681526020018563ffffffff1663ffffffff1681526020018463ffffffff1663ffffffff168152602001838152602001828103825287818151815260200191508051906020019080838360005b8381101561048757818101518382015260200161046f565b50505050905090810190601f1680156104b45780820380516001836020036101000a031916815260200191505b50975050505050505050602060405180830381600087803b1580156104d857600080fd5b505af11580156104ec573d6000803e3d6000fd5b505050506040513d602081101561050257600080fd5b50516005819055604080517f4c6f6e6720546f6b656e20666f72204576656e742000000000000000000000006020820152603580820193909352815180820390930183526055019052610553610874565b60408082526004908201527f4c4f4e4700000000000000000000000000000000000000000000000000000000606082015260806020808301828152845192840192909252835183929160a08401919086019080838360005b838110156105c35781810151838201526020016105ab565b50505050905090810190601f1680156105f05780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f080158015610612573d6000803e3d6000fd5b506001805480820182556000829052600080516020611d0e833981519152018054600160a060020a031916600160a060020a0384169081179091556040805191825260208201929092528151929350600080516020611cee833981519152929081900390910190a1600554604080517f53686f727420546f6b656e20666f72204576656e74200000000000000000000060208201526036808201939093528151808203909301835260560190526106c7610874565b60408082526004908201527f5348525400000000000000000000000000000000000000000000000000000000606082015260806020808301828152845192840192909252835183929160a08401919086019080838360005b8381101561073757818101518382015260200161071f565b50505050905090810190601f1680156107645780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f080158015610786573d6000803e3d6000fd5b50600180548082018255600091909152600080516020611d0e833981519152018054600160a060020a031916600160a060020a03831690811790915560408051918252600260208301528051929350600080516020611cee83398151915292918290030190a182821361085a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f20626f756e647320617265206e6f742073657420636f72726563746c79000000604482015290519081900360640190fd5b50600a91909155600b555061088498505050505050505050565b60405161105280610c9c83390190565b610409806108936000396000f3006080604052600436106100e55763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166327793f878114610124578063280472581461014b578063413d24b9146101605780634cf71be414610175578063561cce0a146101a35780636e5452fe146101ce578063831518b7146101fb5780638abe59ea14610210578063942032e314610251578063a384d6ff14610266578063a619486e1461027b578063a871da9114610290578063b06a5c52146102a5578063b09ad8a0146102ba578063c7049657146102cf578063d440796e146102e4575b6000805473ffffffffffffffffffffffffffffffffffffffff169036908037600080368184600019f43d6000803e80801561011f573d6000f35b3d6000fd5b34801561013057600080fd5b506101396102f9565b60408051918252519081900360200190f35b34801561015757600080fd5b506101396102ff565b34801561016c57600080fd5b50610139610305565b34801561018157600080fd5b5061018a61030b565b6040805163ffffffff9092168252519081900360200190f35b3480156101af57600080fd5b506101b8610317565b6040805160ff9092168252519081900360200190f35b3480156101da57600080fd5b506101e361031c565b6040805162ffffff9092168252519081900360200190f35b34801561020757600080fd5b50610139610323565b34801561021c57600080fd5b50610228600435610329565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561025d57600080fd5b5061022861035e565b34801561027257600080fd5b5061013961037a565b34801561028757600080fd5b50610228610380565b34801561029c57600080fd5b506101b861039c565b3480156102b157600080fd5b506101396103a1565b3480156102c657600080fd5b506101396103a7565b3480156102db57600080fd5b5061018a6103ad565b3480156102f057600080fd5b506102286103c1565b60095481565b60065481565b60045481565b60085463ffffffff1681565b600181565b620f424081565b60075481565b600180548290811061033757fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b600081565b60055481565b600b5481565b600854640100000000900463ffffffff1681565b60035473ffffffffffffffffffffffffffffffffffffffff16815600a165627a7a72305820969fb35e5636420c47ee1d705345764a09ed176a2124c8651e34661c20497f62002960c0604052600a60808190527f546f6b656e204e616d650000000000000000000000000000000000000000000060a090815262000040916000919062000100565b506040805180820190915260038082527f53594d00000000000000000000000000000000000000000000000000000000006020909201918252620000879160019162000100565b503480156200009557600080fd5b50604051620010523803806200105283398101604052805160208083015183018051929093019291620000cf916000919084019062000100565b508151620000e590600190602085019062000100565b505060058054600160a060020a0319163317905550620001a5565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200014357805160ff191683800117855562000173565b8280016001018555821562000173579182015b828111156200017357825182559160200191906001019062000156565b506200018192915062000185565b5090565b620001a291905b808211156200018157600081556001016200018c565b90565b610e9d80620001b56000396000f3006080604052600436106100da5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100df578063095ea7b31461016957806318160ddd146101a157806323b872dd146101c857806327e235e3146101f2578063313ce5671461021357806355b6ed5c1461023e57806370a08231146102655780637e1c0c0914610286578063867904b41461029b57806395d89b41146102c1578063a9059cbb146102d6578063dd62ed3e146102fa578063e274fd2414610321578063eac449d914610352575b600080fd5b3480156100eb57600080fd5b506100f4610376565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561012e578181015183820152602001610116565b50505050905090810190601f16801561015b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561017557600080fd5b5061018d600160a060020a0360043516602435610404565b604080519115158252519081900360200190f35b3480156101ad57600080fd5b506101b661046b565b60408051918252519081900360200190f35b3480156101d457600080fd5b5061018d600160a060020a0360043581169060243516604435610471565b3480156101fe57600080fd5b506101b6600160a060020a0360043516610743565b34801561021f57600080fd5b50610228610755565b6040805160ff9092168252519081900360200190f35b34801561024a57600080fd5b506101b6600160a060020a036004358116906024351661075a565b34801561027157600080fd5b506101b6600160a060020a0360043516610777565b34801561029257600080fd5b506101b6610792565b3480156102a757600080fd5b506102bf600160a060020a0360043516602435610798565b005b3480156102cd57600080fd5b506100f46109c7565b3480156102e257600080fd5b5061018d600160a060020a0360043516602435610a21565b34801561030657600080fd5b506101b6600160a060020a0360043581169060243516610c08565b34801561032d57600080fd5b50610336610c33565b60408051600160a060020a039092168252519081900360200190f35b34801561035e57600080fd5b506102bf600160a060020a0360043516602435610c42565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103fc5780601f106103d1576101008083540402835291602001916103fc565b820191906000526020600020905b8154815290600101906020018083116103df57829003601f168201915b505050505081565b336000818152600360209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60045490565b600160a060020a03831660009081526002602090815260408083205481517fe31c71c4000000000000000000000000000000000000000000000000000000008152600481019190915260248101859052905173__Math__________________________________9263e31c71c49260448082019391829003018186803b1580156104fa57600080fd5b505af415801561050e573d6000803e3d6000fd5b505050506040513d602081101561052457600080fd5b505115806105ee5750600160a060020a03841660009081526003602090815260408083203384528252918290205482517fe31c71c4000000000000000000000000000000000000000000000000000000008152600481019190915260248101859052915173__Math__________________________________9263e31c71c4926044808301939192829003018186803b1580156105c057600080fd5b505af41580156105d4573d6000803e3d6000fd5b505050506040513d60208110156105ea57600080fd5b5051155b806106ad5750600160a060020a0383166000908152600260209081526040918290205482517f4e30a66c000000000000000000000000000000000000000000000000000000008152600481019190915260248101859052915173__Math__________________________________92634e30a66c926044808301939192829003018186803b15801561067f57600080fd5b505af4158015610693573d6000803e3d6000fd5b505050506040513d60208110156106a957600080fd5b5051155b156106ba5750600061073c565b600160a060020a0380851660008181526002602081815260408084208054899003905560038252808420338552825280842080548990039055948816808452918152918490208054870190558351868152935190937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92908290030190a35060015b9392505050565b60026020526000908152604090205481565b601281565b600360209081526000928352604080842090915290825290205481565b600160a060020a031660009081526002602052604090205490565b60045481565b600554600160a060020a0316331461081157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f636f6e7472616374206e6f74206576656e7420436f6e74726163740000000000604482015290519081900360640190fd5b600160a060020a0382166000908152600260209081526040918290205482517f771602f7000000000000000000000000000000000000000000000000000000008152600481019190915260248101849052915173__Math__________________________________9263771602f7926044808301939192829003018186803b15801561089c57600080fd5b505af41580156108b0573d6000803e3d6000fd5b505050506040513d60208110156108c657600080fd5b5051600160a060020a038316600090815260026020908152604091829020929092556004805482517f771602f70000000000000000000000000000000000000000000000000000000081529182015260248101849052905173__Math__________________________________9263771602f79260448082019391829003018186803b15801561095557600080fd5b505af4158015610969573d6000803e3d6000fd5b505050506040513d602081101561097f57600080fd5b5051600455604080518281529051600160a060020a038416917f9cb9c14f7bc76e3a89b796b091850526236115352a198b1e472f00e91376bbcb919081900360200190a25050565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103fc5780601f106103d1576101008083540402835291602001916103fc565b3360009081526002602090815260408083205481517fe31c71c4000000000000000000000000000000000000000000000000000000008152600481019190915260248101859052905173__Math__________________________________9263e31c71c49260448082019391829003018186803b158015610aa157600080fd5b505af4158015610ab5573d6000803e3d6000fd5b505050506040513d6020811015610acb57600080fd5b50511580610b8d5750600160a060020a0383166000908152600260209081526040918290205482517f4e30a66c000000000000000000000000000000000000000000000000000000008152600481019190915260248101859052915173__Math__________________________________92634e30a66c926044808301939192829003018186803b158015610b5f57600080fd5b505af4158015610b73573d6000803e3d6000fd5b505050506040513d6020811015610b8957600080fd5b5051155b15610b9a57506000610465565b33600081815260026020908152604080832080548790039055600160a060020a03871680845292819020805487019055805186815290519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350600192915050565b600160a060020a03918216600090815260036020908152604080832093909416825291909152205490565b600554600160a060020a031681565b600554600160a060020a03163314610cbb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f636f6e7472616374206e6f74206576656e7420436f6e74726163740000000000604482015290519081900360640190fd5b600160a060020a0382166000908152600260209081526040918290205482517fb67d77c5000000000000000000000000000000000000000000000000000000008152600481019190915260248101849052915173__Math__________________________________9263b67d77c5926044808301939192829003018186803b158015610d4657600080fd5b505af4158015610d5a573d6000803e3d6000fd5b505050506040513d6020811015610d7057600080fd5b5051600160a060020a038316600090815260026020908152604091829020929092556004805482517fb67d77c50000000000000000000000000000000000000000000000000000000081529182015260248101849052905173__Math__________________________________9263b67d77c59260448082019391829003018186803b158015610dff57600080fd5b505af4158015610e13573d6000803e3d6000fd5b505050506040513d6020811015610e2957600080fd5b5051600455604080518281529051600160a060020a038416917ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e9919081900360200190a250505600a165627a7a7230582028a0618fa3cf45cd01d48d02359f1feea3e5cafe5c1aac30a17f232141fc4be40029ad24776dc347085865b6988e249c191fc22d9b31cf54cb62233c3c16be1736eeb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6", "deployedBytecode": "0x6080604052600436106100e55763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166327793f878114610124578063280472581461014b578063413d24b9146101605780634cf71be414610175578063561cce0a146101a35780636e5452fe146101ce578063831518b7146101fb5780638abe59ea14610210578063942032e314610251578063a384d6ff14610266578063a619486e1461027b578063a871da9114610290578063b06a5c52146102a5578063b09ad8a0146102ba578063c7049657146102cf578063d440796e146102e4575b6000805473ffffffffffffffffffffffffffffffffffffffff169036908037600080368184600019f43d6000803e80801561011f573d6000f35b3d6000fd5b34801561013057600080fd5b506101396102f9565b60408051918252519081900360200190f35b34801561015757600080fd5b506101396102ff565b34801561016c57600080fd5b50610139610305565b34801561018157600080fd5b5061018a61030b565b6040805163ffffffff9092168252519081900360200190f35b3480156101af57600080fd5b506101b8610317565b6040805160ff9092168252519081900360200190f35b3480156101da57600080fd5b506101e361031c565b6040805162ffffff9092168252519081900360200190f35b34801561020757600080fd5b50610139610323565b34801561021c57600080fd5b50610228600435610329565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561025d57600080fd5b5061022861035e565b34801561027257600080fd5b5061013961037a565b34801561028757600080fd5b50610228610380565b34801561029c57600080fd5b506101b861039c565b3480156102b157600080fd5b506101396103a1565b3480156102c657600080fd5b506101396103a7565b3480156102db57600080fd5b5061018a6103ad565b3480156102f057600080fd5b506102286103c1565b60095481565b60065481565b60045481565b60085463ffffffff1681565b600181565b620f424081565b60075481565b600180548290811061033757fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b600081565b60055481565b600b5481565b600854640100000000900463ffffffff1681565b60035473ffffffffffffffffffffffffffffffffffffffff16815600a165627a7a72305820969fb35e5636420c47ee1d705345764a09ed176a2124c8651e34661c20497f620029", "sourceMap": "766:2290:8:-;;;972:3:0;947:28;;981:35;;;-1:-1:-1;;981:35:0;1008:8;981:35;;;1188:1866:8;5:2:-1;;;;30:1;27;20:12;5:2;1188:1866:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2412:25;1188:1866;-1:-1:-1;;;;;613:16:7;;;;605:25;;;;;;640:10;:24;;-1:-1:-1;;;;;;640:24:7;-1:-1:-1;;;;;640:24:7;;;;;;1650:30:8;;;;;;:61;;-1:-1:-1;;;;;;1684:27:8;;;;1650:61;1642:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1776:31;;;1768:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1857:15;:34;;-1:-1:-1;;;;;1857:34:8;;;-1:-1:-1;;;;;;1857:34:8;;;;;;;1901:7;:18;;;;;;;;;;;;;;;1929:16;:36;;;2020:9;:22;;;2052:24;;;-1:-1:-1;;2020:22:8;;;;;;-1:-1:-1;;2020:22:8;;;;;;;2052:24;;;;;;;;2112:52;;;;;;;;;;;;;;;;;;;;;;;2129:11;;2032:10;;2154:9;;2112:52;;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;2112:52:8;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;2112:52:8;;;2102:63;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;2102:63:8;;;;;;;;;;;;;;;;2087:12;:78;;;;;;;2193:13;2178:12;;:28;;;;;-1:-1:-1;;;;;2178:28:8;;;;;-1:-1:-1;;;;;2178:28:8;;;;;;2229:12;;;;;;;;;-1:-1:-1;;;;;2229:12:8;-1:-1:-1;;;;;2229:24:8;;2254:11;2267:9;2278:10;2290;;;;;;;;;;;2302;2314:1;2229:87;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2229:87:8;-1:-1:-1;;;;;2229:87:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2229:87:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2229:87:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2229:87:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2229:87:8;2216:10;:100;;;2472:53;;;;2229:87;2472:53;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;2472:53:8;;;;2440:87;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2440:87:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;2537:13:8;27:10:-1;;23:18;;;45:23;;-1:-1;2537:32:8;;;-1:-1:-1;;;;;;;;;;;2537:32:8;;;-1:-1:-1;;;;;;2537:32:8;-1:-1:-1;;;;;2537:32:8;;;;;;;;2584:37;;;;;;2537:32;2584:37;;;;;;;;2537:32;;-1:-1:-1;;;;;;;;;;;;2584:37:8;;;;;;;;;;2750:10;;2707:54;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;2707:54:8;;;;2675:88;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2675:88:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;2773:13:8;27:10:-1;;23:18;;;45:23;;-1:-1;2773:32:8;;;;-1:-1:-1;;;;;;;;;;;2773:32:8;;;-1:-1:-1;;;;;;2773:32:8;-1:-1:-1;;;;;2773:32:8;;;;;;;;2820:37;;;;;;2855:1;2773:32;2820:37;;;;;2773:32;;-1:-1:-1;;;;;;;;;;;;2820:37:8;;;;;;;;2920:25;;;2912:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2989:10:8;:24;;;;3023:10;:24;-1:-1:-1;766:2290:8;;-1:-1:-1;;;;;;;;;766:2290:8;;;;;;;;;;;:::o;:::-;;;;;;;", "deployedSourceMap": "766:2290:8:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;831:19:7;853:10;;;;;915:14;;831:19;896:34;1014:1;;995:14;1014:1;979:11;-1:-1:-1;;958:58:7;1050:16;1047:1;1044;1029:38;1087:7;1107:38;;;;1178:16;1175:1;1168:27;1107:38;1126:16;1123:1;1116:27;1078:22:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1078:22:0;;;;;;;;;;;;;;;;;;;;914:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;914:27:0;;;;846:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;846:31:0;;;;981:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;981:35:0;;;;;;;;;;;;;;;;;;;;;;;384:30:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;384:30:8;;;;;;;;;;;;;;;;;;;;;;;420:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;420:46:8;;;;;;;;;;;;;;;;;;;;;;;947:28:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;947:28:0;;;;722:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;722:35:0;;;;;;;;;;;;;;;;;;;;;;;;765:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;765:38:0;;;;504:21:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;504:21:8;;;;197:25:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;197:25:7;;;;347:31:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;347:31:8;;;;883:25:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;883:25:0;;;;531:21:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;531:21:8;;;;1022:23:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1022:23:0;;;;809:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;809:31:0;;;;1078:22;;;;:::o;914:27::-;;;;:::o;846:31::-;;;;:::o;981:35::-;;;;;;:::o;384:30:8:-;413:1;384:30;:::o;420:46::-;459:7;420:46;:::o;947:28:0:-;;;;:::o;722:35::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;722:35:0;:::o;765:38::-;;;;;;:::o;504:21:8:-;;;;:::o;197:25:7:-;;;;;;:::o;347:31:8:-;377:1;347:31;:::o;883:25:0:-;;;;:::o;531:21:8:-;;;;:::o;1022:23:0:-;;;;;;;;;:::o;809:31::-;;;;;;:::o", "source": "pragma solidity ^0.4.24;\nimport \"./Event.sol\";\nimport \"./Proxy.sol\";\nimport \"@josojo/forkonomics-contracts/contracts/ForkonomicToken.sol\";\nimport \"@josojo/forkonomics-contracts/contracts/ForkonomicSystem.sol\";\nimport \"@realitio/realitio-contracts/truffle/contracts/Realitio.sol\";\n\n\ncontract ScalarEventData {\n\n /*\n * Constants\n */\n uint8 public constant SHORT = 0;\n uint8 public constant LONG = 1;\n uint24 public constant OUTCOME_RANGE = 1000000;\n\n /*\n * Storage\n */\n int public lowerBound;\n int public upperBound;\n\n // user => tokenCount of Short outcomeTokens\n mapping( address => uint) outcomeTokensCountShort;\n // user => tokenCount of Long outcomeTokens\n mapping( address => uint) outcomeTokensCountLong;\n\n}\n\n\ncontract ScalarEventProxy is Proxy, EventData, ScalarEventData {\n\n /// @dev Contract constructor validates and sets basic event properties\n\n /// @param _collateralBranch Tokens used as collateral in exchange for outcome tokens\n /// @param _realityCheck Oracle contract used to resolve the event\n /// @param _lowerBound Lower bound for event outcome\n /// @param _upperBound Lower bound for event outcome\n constructor(\n address proxied,\n ForkonomicToken _forkonomicToken,\n ForkonomicSystem _fSystem,\n Realitio _realityCheck,\n bytes32 _collateralBranch,\n string question_,\n uint32 openingTs_,\n uint32 minTimeout_,\n uint256 templateId_,\n address arbitrator,\n int _lowerBound,\n int _upperBound\n )\n Proxy(proxied)\n public\n {\n // Validate input\n require(address(_forkonomicToken) != 0 && address(_realityCheck) != 0, \"please check the input for the constructor\");\n require(_collateralBranch != bytes32(0), \" please check the collateralBranch\");\n\n forkonomicToken = _forkonomicToken;\n fSystem = _fSystem;\n collateralBranch = _collateralBranch;\n\n\n // create question in relaityCheck\n openingTs = openingTs_;\n minTimeout = minTimeout_; \n content_hash = keccak256(abi.encodePacked(templateId_, openingTs_, question_)); \n\n realityCheck = _realityCheck;\n questionId = realityCheck.askQuestion(templateId_, question_, arbitrator, minTimeout, openingTs_, 0);\n\n // Create an outcome token for each outcome\n // Create LongTokens \n OutcomeToken outcomeToken = new OutcomeToken(\"LONG\", string(abi.encodePacked(\"Long Token for Event \", questionId)));\n outcomeTokens.push(outcomeToken);\n emit OutcomeTokenCreation(outcomeToken, 1);\n //create ShortTokens\n outcomeToken = new OutcomeToken(\"SHRT\", string(abi.encodePacked(\"Short Token for Event \", questionId)));\n outcomeTokens.push(outcomeToken);\n emit OutcomeTokenCreation(outcomeToken, 2);\n \n \n // Validate bounds\n require(_upperBound > _lowerBound, \" bounds are not set correctly\");\n lowerBound = _lowerBound;\n upperBound = _upperBound;\n }\n}\n\n\n/// @title Scalar event contract - Scalar events resolve to a number within a range\n/// @author Stefan George - <stefan@gnosis.pm>\ncontract ScalarEvent is Proxied, EventData, ScalarEventData {\n using Math for *;\n\n /*\n * Public functions\n */\n\n bytes32 constant NULL_HASH = \"\";\n address constant NULL_ADDRESS = 0x0;\n\n\n function revokeOutcomeTokens()\n public\n {\n // only possible, if tokens were not yet revoked by this account\n // if this function has already been used, the tokens needs to be transfered to another account\n require(outcomeTokensCountShort[msg.sender] == 0 && outcomeTokensCountLong[msg.sender] == 0, \"tokens have already been revoked\");\n uint shortOutcomeTokenCount = outcomeTokens[SHORT].balanceOf(msg.sender);\n outcomeTokensCountShort[msg.sender] = shortOutcomeTokenCount;\n outcomeTokens[SHORT].revoke(msg.sender, shortOutcomeTokenCount);\n uint longOutcomeTokenCount = outcomeTokens[LONG].balanceOf(msg.sender);\n outcomeTokensCountLong[msg.sender] = longOutcomeTokenCount;\n outcomeTokens[LONG].revoke(msg.sender, longOutcomeTokenCount);\n } \n\n /// @dev Exchanges sender's winning outcome tokens for collateral tokens\n /// @return Sender's winnings\n function redeemWinnings(bytes32 branchForWithdraw, address arbitrator)\n public\n returns (uint winnings)\n {\n\n uint shortOutcomeTokenCount = outcomeTokensCountShort[msg.sender];\n uint longOutcomeTokenCount = outcomeTokensCountLong[msg.sender];\n\n // tokens need to be revoked before winnings can be redeemed\n require(shortOutcomeTokenCount > 0 || longOutcomeTokenCount > 0, \" first tokens must be revoked\");\n\n //calculate the winnings\n int outcome = getOutcome(branchForWithdraw, arbitrator);\n\n // Outcome is lower than defined lower bound\n uint24 convertedWinningOutcome;\n if (outcome < lowerBound)\n convertedWinningOutcome = 0;\n // Outcome is higher than defined upper bound\n else if (outcome > upperBound)\n convertedWinningOutcome = OUTCOME_RANGE;\n // Map outcome to outcome range\n else\n convertedWinningOutcome = uint24(OUTCOME_RANGE * (outcome - lowerBound) / (upperBound - lowerBound));\n uint factorShort = OUTCOME_RANGE - convertedWinningOutcome;\n uint factorLong = OUTCOME_RANGE - factorShort;\n winnings = (shortOutcomeTokenCount.mul(factorShort).add(longOutcomeTokenCount.mul(factorLong))) / OUTCOME_RANGE;\n\n // Payout winnings to sender\n require(!ForkonomicToken(forkonomicToken).hasBoxWithdrawal(msg.sender, NULL_HASH, branchForWithdraw, collateralBranch), \"there had already been a withdrawal (redeemWinnings)\"); \n require(ForkonomicToken(forkonomicToken).boxTransfer(msg.sender, winnings, branchForWithdraw, NULL_HASH, NULL_HASH), \"transfer went wrong (redeemWinnings)\");\n require(ForkonomicToken(forkonomicToken).recordBoxWithdrawal(msg.sender, NULL_HASH, winnings, branchForWithdraw), \"withdrawal could not be recorded\");\n \n emit WinningsRedemption(msg.sender, winnings, branchForWithdraw);\n }\n\n /// @dev Risky operation, deletes data and can safe gas in combination with other function calls\n /// @return free gas\n function clearData()\n public {\n delete outcomeTokensCountShort[msg.sender];\n delete outcomeTokensCountLong[msg.sender];\n } \n\n /// @dev Calculates and returns event hash\n /// @return Event hash\n function getEventHash()\n public\n view\n returns (bytes32)\n {\n return keccak256(abi.encodePacked(collateralBranch, questionId, lowerBound, upperBound));\n }\n\n\n /*\n * Public functions\n */\n /// @dev Buys equal number of tokens of all outcomes, exchanging collateral tokens and sets of outcome tokens 1:1\n /// @param collateralTokenCount Number of collateral tokens\n function buyAllOutcomes(uint collateralTokenCount)\n public\n {\n // Transfer collateral tokens to events contract\n require(forkonomicToken.transferFrom(msg.sender, this, collateralTokenCount, collateralBranch), \"transfer was not possible\");\n // Issue new outcome tokens to sender\n for (uint8 i = 0; i < outcomeTokens.length; i++)\n outcomeTokens[i].issue(msg.sender, collateralTokenCount);\n emit OutcomeTokenSetIssuance(msg.sender, collateralTokenCount);\n }\n\n /// @dev Sells equal number of tokens of all outcomes, exchanging collateral tokens and sets of outcome tokens 1:1\n /// @param outcomeTokenCount Number of outcome tokens\n function sellAllOutcomes(uint outcomeTokenCount)\n public\n { \n // Revoke sender's outcome tokens of all outcomes\n for (uint8 i = 0; i < outcomeTokens.length; i++)\n outcomeTokens[i].revoke(msg.sender, outcomeTokenCount);\n // Transfer collateral tokens to sender\n require(forkonomicToken.transfer(msg.sender, outcomeTokenCount, collateralBranch), \"transfer failed\");\n emit OutcomeTokenSetRevocation(msg.sender, outcomeTokenCount);\n }\n\n \n /// @dev gets winning event outcome\n /// @param branch is the branch on which a user wants to know the result\n function getOutcome(bytes32 branch, address arbitrator)\n public\n view\n returns (int outcome)\n {\n\n // check that original branch is a father of executionbranch:\n require(fSystem.isFatherOfBranch(collateralBranch, branch), \" not a fahter branch\");\n\n // ensure that arbitrator is white-listed\n require(fSystem.isArbitratorWhitelisted(arbitrator, branch), \"arbitrator not white-listed\");\n\n require(fSystem.isBranchCreatedAfterTS(realityCheck.getFinalizeTS(questionId), branch), \"branch is to old\");\n\n outcome = int(realityCheck.getFinalAnswerIfMatches(questionId, content_hash, arbitrator, minTimeout, minBond));\n }\n\n /// @dev Returns outcome count\n /// @return Outcome count\n function getOutcomeCount()\n public\n view\n returns (uint8)\n {\n return uint8(outcomeTokens.length);\n }\n\n /// @dev Returns outcome tokens array\n /// @return Outcome tokens\n function getOutcomeTokens()\n public\n view\n returns (OutcomeToken[])\n {\n return outcomeTokens;\n }\n\n /// @dev Returns the amount of outcome tokens held by owner\n /// @return Outcome token distribution\n function getOutcomeTokenDistribution(address owner)\n public\n view\n returns (uint[] outcomeTokenDistribution)\n {\n outcomeTokenDistribution = new uint[](outcomeTokens.length);\n for (uint8 i = 0; i < outcomeTokenDistribution.length; i++)\n outcomeTokenDistribution[i] = outcomeTokens[i].balanceOf(owner);\n }\n\n}\n\n ", "sourcePath": "/home/josojo/reality/tokenized-events/contracts/ScalarEvent.sol", "ast": { "absolutePath": "/home/josojo/reality/tokenized-events/contracts/ScalarEvent.sol", "exportedSymbols": { "ScalarEvent": [ 2415 ], "ScalarEventData": [ 1762 ], "ScalarEventProxy": [ 1936 ] }, "id": 2416, "nodeType": "SourceUnit", "nodes": [ { "id": 1735, "literals": [ "solidity", "^", "0.4", ".24" ], "nodeType": "PragmaDirective", "src": "0:24:8" }, { "absolutePath": "/home/josojo/reality/tokenized-events/contracts/Event.sol", "file": "./Event.sol", "id": 1736, "nodeType": "ImportDirective", "scope": 2416, "sourceUnit": 280, "src": "25:21:8", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/josojo/reality/tokenized-events/contracts/Proxy.sol", "file": "./Proxy.sol", "id": 1737, "nodeType": "ImportDirective", "scope": 2416, "sourceUnit": 1734, "src": "47:21:8", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "@josojo/forkonomics-contracts/contracts/ForkonomicToken.sol", "file": "@josojo/forkonomics-contracts/contracts/ForkonomicToken.sol", "id": 1738, "nodeType": "ImportDirective", "scope": 2416, "sourceUnit": 6227, "src": "69:69:8", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "@josojo/forkonomics-contracts/contracts/ForkonomicSystem.sol", "file": "@josojo/forkonomics-contracts/contracts/ForkonomicSystem.sol", "id": 1739, "nodeType": "ImportDirective", "scope": 2416, "sourceUnit": 5271, "src": "139:70:8", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "@realitio/realitio-contracts/truffle/contracts/Realitio.sol", "file": "@realitio/realitio-contracts/truffle/contracts/Realitio.sol", "id": 1740, "nodeType": "ImportDirective", "scope": 2416, "sourceUnit": 8290, "src": "210:69:8", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 1762, "linearizedBaseContracts": [ 1762 ], "name": "ScalarEventData", "nodeType": "ContractDefinition", "nodes": [ { "constant": true, "id": 1743, "name": "SHORT", "nodeType": "VariableDeclaration", "scope": 1762, "src": "347:31:8", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "typeName": { "id": 1741, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "347:5:8", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "value": { "argumentTypes": null, "hexValue": "30", "id": 1742, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "377:1:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "visibility": "public" }, { "constant": true, "id": 1746, "name": "LONG", "nodeType": "VariableDeclaration", "scope": 1762, "src": "384:30:8", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "typeName": { "id": 1744, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "384:5:8", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "value": { "argumentTypes": null, "hexValue": "31", "id": 1745, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "413:1:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "visibility": "public" }, { "constant": true, "id": 1749, "name": "OUTCOME_RANGE", "nodeType": "VariableDeclaration", "scope": 1762, "src": "420:46:8", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint24", "typeString": "uint24" }, "typeName": { "id": 1747, "name": "uint24", "nodeType": "ElementaryTypeName", "src": "420:6:8", "typeDescriptions": { "typeIdentifier": "t_uint24", "typeString": "uint24" } }, "value": { "argumentTypes": null, "hexValue": "31303030303030", "id": 1748, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "459:7:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1000000_by_1", "typeString": "int_const 1000000" }, "value": "1000000" }, "visibility": "public" }, { "constant": false, "id": 1751, "name": "lowerBound", "nodeType": "VariableDeclaration", "scope": 1762, "src": "504:21:8", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 1750, "name": "int", "nodeType": "ElementaryTypeName", "src": "504:3:8", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "value": null, "visibility": "public" }, { "constant": false, "id": 1753, "name": "upperBound", "nodeType": "VariableDeclaration", "scope": 1762, "src": "531:21:8", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 1752, "name": "int", "nodeType": "ElementaryTypeName", "src": "531:3:8", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "value": null, "visibility": "public" }, { "constant": false, "id": 1757, "name": "outcomeTokensCountShort", "nodeType": "VariableDeclaration", "scope": 1762, "src": "608:49:8", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "typeName": { "id": 1756, "keyType": { "id": 1754, "name": "address", "nodeType": "ElementaryTypeName", "src": "617:7:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", "src": "608:25:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_addre